ccgo_linux_arm64.go 785 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547
  1. // Code generated for linux/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 --libc modernc.org/libc --package-name=libz -o libz.a.go libz.a', DO NOT EDIT.
  2. //go:build linux && arm64
  3. package libz
  4. import (
  5. "reflect"
  6. "unsafe"
  7. "modernc.org/libc"
  8. )
  9. var _ reflect.Type
  10. var _ unsafe.Pointer
  11. const m_ARG_MAX = 131072
  12. const m_BASE = 65521
  13. const m_BC_BASE_MAX = 99
  14. const m_BC_DIM_MAX = 2048
  15. const m_BC_SCALE_MAX = 99
  16. const m_BC_STRING_MAX = 1000
  17. const m_BIG_ENDIAN = "__BIG_ENDIAN"
  18. const m_BYTE_ORDER = "__BYTE_ORDER"
  19. const m_CHARCLASS_NAME_MAX = 14
  20. const m_CHAR_BIT = 8
  21. const m_CHAR_MAX = 255
  22. const m_CHAR_MIN = 0
  23. const m_COLL_WEIGHTS_MAX = 2
  24. const m_DEF_MEM_LEVEL = 8
  25. const m_DEF_WBITS = "MAX_WBITS"
  26. const m_DELAYTIMER_MAX = 0x7fffffff
  27. const m_DYN_TREES = 2
  28. const m_EXIT_FAILURE = 1
  29. const m_EXIT_SUCCESS = 0
  30. const m_EXPR_NEST_MAX = 32
  31. const m_FD_SETSIZE = 1024
  32. const m_FILESIZEBITS = 64
  33. const m_F_LOCK = 1
  34. const m_F_OK = 0
  35. const m_F_TEST = 3
  36. const m_F_TLOCK = 2
  37. const m_F_ULOCK = 0
  38. const m_HAVE_HIDDEN = 1
  39. const m_HOST_NAME_MAX = 255
  40. const m_INT_MAX = 0x7fffffff
  41. const m_IOV_MAX = 1024
  42. const m_LINE_MAX = 4096
  43. const m_LITTLE_ENDIAN = "__LITTLE_ENDIAN"
  44. const m_LLONG_MAX = 0x7fffffffffffffff
  45. const m_LOGIN_NAME_MAX = 256
  46. const m_LONG_BIT = 64
  47. const m_LONG_MAX = "__LONG_MAX"
  48. const m_L_INCR = 1
  49. const m_L_SET = 0
  50. const m_L_XTND = 2
  51. const m_MAX_MATCH = 258
  52. const m_MAX_MEM_LEVEL = 9
  53. const m_MAX_WBITS = 15
  54. const m_MB_LEN_MAX = 4
  55. const m_MIN_MATCH = 3
  56. const m_MQ_PRIO_MAX = 32768
  57. const m_NAME_MAX = 255
  58. const m_NDEBUG = 1
  59. const m_NGROUPS_MAX = 32
  60. const m_NL_ARGMAX = 9
  61. const m_NL_LANGMAX = 32
  62. const m_NL_MSGMAX = 32767
  63. const m_NL_NMAX = 16
  64. const m_NL_SETMAX = 255
  65. const m_NL_TEXTMAX = 2048
  66. const m_NMAX = 5552
  67. const m_NZERO = 20
  68. const m_OS_CODE = 3
  69. const m_PATH_MAX = 4096
  70. const m_PDP_ENDIAN = "__PDP_ENDIAN"
  71. const m_PIPE_BUF = 4096
  72. const m_POSIX_CLOSE_RESTART = 0
  73. const m_PRESET_DICT = 0x20
  74. const m_PTHREAD_DESTRUCTOR_ITERATIONS = 4
  75. const m_PTHREAD_KEYS_MAX = 128
  76. const m_PTHREAD_STACK_MIN = 2048
  77. const m_RAND_MAX = 0x7fffffff
  78. const m_RE_DUP_MAX = 255
  79. const m_R_OK = 4
  80. const m_SCHAR_MAX = 127
  81. const m_SEEK_CUR = 1
  82. const m_SEEK_DATA = 3
  83. const m_SEEK_END = 2
  84. const m_SEEK_HOLE = 4
  85. const m_SEEK_SET = 0
  86. const m_SEM_NSEMS_MAX = 256
  87. const m_SEM_VALUE_MAX = 0x7fffffff
  88. const m_SHRT_MAX = 0x7fff
  89. const m_SSIZE_MAX = "LONG_MAX"
  90. const m_STATIC_TREES = 1
  91. const m_STDERR_FILENO = 2
  92. const m_STDIN_FILENO = 0
  93. const m_STDOUT_FILENO = 1
  94. const m_STORED_BLOCK = 0
  95. const m_SYMLOOP_MAX = 40
  96. const m_TTY_NAME_MAX = 32
  97. const m_TZNAME_MAX = 6
  98. const m_UCHAR_MAX = 255
  99. const m_UINT_MAX = 0xffffffff
  100. const m_USHRT_MAX = 0xffff
  101. const m_WNOHANG = 1
  102. const m_WORD_BIT = 32
  103. const m_WUNTRACED = 2
  104. const m_W_OK = 2
  105. const m_X_OK = 1
  106. const m_ZEXTERN = "extern"
  107. const m_ZLIB_VERNUM = 0x1310
  108. const m_ZLIB_VERSION = "1.3.1"
  109. const m_ZLIB_VER_MAJOR = 1
  110. const m_ZLIB_VER_MINOR = 3
  111. const m_ZLIB_VER_REVISION = 1
  112. const m_ZLIB_VER_SUBREVISION = 0
  113. const m_Z_ASCII = "Z_TEXT"
  114. const m_Z_BEST_COMPRESSION = 9
  115. const m_Z_BEST_SPEED = 1
  116. const m_Z_BINARY = 0
  117. const m_Z_BLOCK = 5
  118. const m_Z_DEFAULT_STRATEGY = 0
  119. const m_Z_DEFLATED = 8
  120. const m_Z_FILTERED = 1
  121. const m_Z_FINISH = 4
  122. const m_Z_FIXED = 4
  123. const m_Z_FULL_FLUSH = 3
  124. const m_Z_HUFFMAN_ONLY = 2
  125. const m_Z_NEED_DICT = 2
  126. const m_Z_NO_COMPRESSION = 0
  127. const m_Z_NO_FLUSH = 0
  128. const m_Z_NULL = 0
  129. const m_Z_OK = 0
  130. const m_Z_PARTIAL_FLUSH = 1
  131. const m_Z_RLE = 3
  132. const m_Z_STREAM_END = 1
  133. const m_Z_SYNC_FLUSH = 2
  134. const m_Z_TEXT = 1
  135. const m_Z_TREES = 6
  136. const m_Z_U4 = "unsigned"
  137. const m_Z_UNKNOWN = 2
  138. const m__CS_GNU_LIBC_VERSION = 2
  139. const m__CS_GNU_LIBPTHREAD_VERSION = 3
  140. const m__CS_PATH = 0
  141. const m__CS_POSIX_V5_WIDTH_RESTRICTED_ENVS = 4
  142. const m__CS_POSIX_V6_ILP32_OFF32_CFLAGS = 1116
  143. const m__CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 1117
  144. const m__CS_POSIX_V6_ILP32_OFF32_LIBS = 1118
  145. const m__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = 1119
  146. const m__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 1120
  147. const m__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 1121
  148. const m__CS_POSIX_V6_ILP32_OFFBIG_LIBS = 1122
  149. const m__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 1123
  150. const m__CS_POSIX_V6_LP64_OFF64_CFLAGS = 1124
  151. const m__CS_POSIX_V6_LP64_OFF64_LDFLAGS = 1125
  152. const m__CS_POSIX_V6_LP64_OFF64_LIBS = 1126
  153. const m__CS_POSIX_V6_LP64_OFF64_LINTFLAGS = 1127
  154. const m__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 1128
  155. const m__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 1129
  156. const m__CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 1130
  157. const m__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 1131
  158. const m__CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 1
  159. const m__CS_POSIX_V7_ILP32_OFF32_CFLAGS = 1132
  160. const m__CS_POSIX_V7_ILP32_OFF32_LDFLAGS = 1133
  161. const m__CS_POSIX_V7_ILP32_OFF32_LIBS = 1134
  162. const m__CS_POSIX_V7_ILP32_OFF32_LINTFLAGS = 1135
  163. const m__CS_POSIX_V7_ILP32_OFFBIG_CFLAGS = 1136
  164. const m__CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS = 1137
  165. const m__CS_POSIX_V7_ILP32_OFFBIG_LIBS = 1138
  166. const m__CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = 1139
  167. const m__CS_POSIX_V7_LP64_OFF64_CFLAGS = 1140
  168. const m__CS_POSIX_V7_LP64_OFF64_LDFLAGS = 1141
  169. const m__CS_POSIX_V7_LP64_OFF64_LIBS = 1142
  170. const m__CS_POSIX_V7_LP64_OFF64_LINTFLAGS = 1143
  171. const m__CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS = 1144
  172. const m__CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS = 1145
  173. const m__CS_POSIX_V7_LPBIG_OFFBIG_LIBS = 1146
  174. const m__CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = 1147
  175. const m__CS_POSIX_V7_THREADS_CFLAGS = 1150
  176. const m__CS_POSIX_V7_THREADS_LDFLAGS = 1151
  177. const m__CS_POSIX_V7_WIDTH_RESTRICTED_ENVS = 5
  178. const m__CS_V6_ENV = 1148
  179. const m__CS_V7_ENV = 1149
  180. const m__GNU_SOURCE = 1
  181. const m__LARGEFILE64_SOURCE = 1
  182. const m__LP64 = 1
  183. const m__PC_2_SYMLINKS = 20
  184. const m__PC_ALLOC_SIZE_MIN = 18
  185. const m__PC_ASYNC_IO = 10
  186. const m__PC_CHOWN_RESTRICTED = 6
  187. const m__PC_FILESIZEBITS = 13
  188. const m__PC_LINK_MAX = 0
  189. const m__PC_MAX_CANON = 1
  190. const m__PC_MAX_INPUT = 2
  191. const m__PC_NAME_MAX = 3
  192. const m__PC_NO_TRUNC = 7
  193. const m__PC_PATH_MAX = 4
  194. const m__PC_PIPE_BUF = 5
  195. const m__PC_PRIO_IO = 11
  196. const m__PC_REC_INCR_XFER_SIZE = 14
  197. const m__PC_REC_MAX_XFER_SIZE = 15
  198. const m__PC_REC_MIN_XFER_SIZE = 16
  199. const m__PC_REC_XFER_ALIGN = 17
  200. const m__PC_SOCK_MAXBUF = 12
  201. const m__PC_SYMLINK_MAX = 19
  202. const m__PC_SYNC_IO = 9
  203. const m__PC_VDISABLE = 8
  204. const m__POSIX2_BC_BASE_MAX = 99
  205. const m__POSIX2_BC_DIM_MAX = 2048
  206. const m__POSIX2_BC_SCALE_MAX = 99
  207. const m__POSIX2_BC_STRING_MAX = 1000
  208. const m__POSIX2_CHARCLASS_NAME_MAX = 14
  209. const m__POSIX2_COLL_WEIGHTS_MAX = 2
  210. const m__POSIX2_C_BIND = "_POSIX_VERSION"
  211. const m__POSIX2_EXPR_NEST_MAX = 32
  212. const m__POSIX2_LINE_MAX = 2048
  213. const m__POSIX2_RE_DUP_MAX = 255
  214. const m__POSIX2_VERSION = "_POSIX_VERSION"
  215. const m__POSIX_ADVISORY_INFO = "_POSIX_VERSION"
  216. const m__POSIX_AIO_LISTIO_MAX = 2
  217. const m__POSIX_AIO_MAX = 1
  218. const m__POSIX_ARG_MAX = 4096
  219. const m__POSIX_ASYNCHRONOUS_IO = "_POSIX_VERSION"
  220. const m__POSIX_BARRIERS = "_POSIX_VERSION"
  221. const m__POSIX_CHILD_MAX = 25
  222. const m__POSIX_CHOWN_RESTRICTED = 1
  223. const m__POSIX_CLOCKRES_MIN = 20000000
  224. const m__POSIX_CLOCK_SELECTION = "_POSIX_VERSION"
  225. const m__POSIX_CPUTIME = "_POSIX_VERSION"
  226. const m__POSIX_DELAYTIMER_MAX = 32
  227. const m__POSIX_FSYNC = "_POSIX_VERSION"
  228. const m__POSIX_HOST_NAME_MAX = 255
  229. const m__POSIX_IPV6 = "_POSIX_VERSION"
  230. const m__POSIX_JOB_CONTROL = 1
  231. const m__POSIX_LINK_MAX = 8
  232. const m__POSIX_LOGIN_NAME_MAX = 9
  233. const m__POSIX_MAPPED_FILES = "_POSIX_VERSION"
  234. const m__POSIX_MAX_CANON = 255
  235. const m__POSIX_MAX_INPUT = 255
  236. const m__POSIX_MEMLOCK = "_POSIX_VERSION"
  237. const m__POSIX_MEMLOCK_RANGE = "_POSIX_VERSION"
  238. const m__POSIX_MEMORY_PROTECTION = "_POSIX_VERSION"
  239. const m__POSIX_MESSAGE_PASSING = "_POSIX_VERSION"
  240. const m__POSIX_MONOTONIC_CLOCK = "_POSIX_VERSION"
  241. const m__POSIX_MQ_OPEN_MAX = 8
  242. const m__POSIX_MQ_PRIO_MAX = 32
  243. const m__POSIX_NAME_MAX = 14
  244. const m__POSIX_NGROUPS_MAX = 8
  245. const m__POSIX_NO_TRUNC = 1
  246. const m__POSIX_OPEN_MAX = 20
  247. const m__POSIX_PATH_MAX = 256
  248. const m__POSIX_PIPE_BUF = 512
  249. const m__POSIX_RAW_SOCKETS = "_POSIX_VERSION"
  250. const m__POSIX_READER_WRITER_LOCKS = "_POSIX_VERSION"
  251. const m__POSIX_REALTIME_SIGNALS = "_POSIX_VERSION"
  252. const m__POSIX_REGEXP = 1
  253. const m__POSIX_RE_DUP_MAX = 255
  254. const m__POSIX_RTSIG_MAX = 8
  255. const m__POSIX_SAVED_IDS = 1
  256. const m__POSIX_SEMAPHORES = "_POSIX_VERSION"
  257. const m__POSIX_SEM_NSEMS_MAX = 256
  258. const m__POSIX_SEM_VALUE_MAX = 32767
  259. const m__POSIX_SHARED_MEMORY_OBJECTS = "_POSIX_VERSION"
  260. const m__POSIX_SHELL = 1
  261. const m__POSIX_SIGQUEUE_MAX = 32
  262. const m__POSIX_SPAWN = "_POSIX_VERSION"
  263. const m__POSIX_SPIN_LOCKS = "_POSIX_VERSION"
  264. const m__POSIX_SSIZE_MAX = 32767
  265. const m__POSIX_SS_REPL_MAX = 4
  266. const m__POSIX_STREAM_MAX = 8
  267. const m__POSIX_SYMLINK_MAX = 255
  268. const m__POSIX_SYMLOOP_MAX = 8
  269. const m__POSIX_THREADS = "_POSIX_VERSION"
  270. const m__POSIX_THREAD_ATTR_STACKADDR = "_POSIX_VERSION"
  271. const m__POSIX_THREAD_ATTR_STACKSIZE = "_POSIX_VERSION"
  272. const m__POSIX_THREAD_CPUTIME = "_POSIX_VERSION"
  273. const m__POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4
  274. const m__POSIX_THREAD_KEYS_MAX = 128
  275. const m__POSIX_THREAD_PRIORITY_SCHEDULING = "_POSIX_VERSION"
  276. const m__POSIX_THREAD_PROCESS_SHARED = "_POSIX_VERSION"
  277. const m__POSIX_THREAD_SAFE_FUNCTIONS = "_POSIX_VERSION"
  278. const m__POSIX_THREAD_THREADS_MAX = 64
  279. const m__POSIX_TIMEOUTS = "_POSIX_VERSION"
  280. const m__POSIX_TIMERS = "_POSIX_VERSION"
  281. const m__POSIX_TIMER_MAX = 32
  282. const m__POSIX_TRACE_EVENT_NAME_MAX = 30
  283. const m__POSIX_TRACE_NAME_MAX = 8
  284. const m__POSIX_TRACE_SYS_MAX = 8
  285. const m__POSIX_TRACE_USER_EVENT_MAX = 32
  286. const m__POSIX_TTY_NAME_MAX = 9
  287. const m__POSIX_TZNAME_MAX = 6
  288. const m__POSIX_V6_LP64_OFF64 = 1
  289. const m__POSIX_V7_LP64_OFF64 = 1
  290. const m__POSIX_VDISABLE = 0
  291. const m__POSIX_VERSION = 200809
  292. const m__SC_2_CHAR_TERM = 95
  293. const m__SC_2_C_BIND = 47
  294. const m__SC_2_C_DEV = 48
  295. const m__SC_2_FORT_DEV = 49
  296. const m__SC_2_FORT_RUN = 50
  297. const m__SC_2_LOCALEDEF = 52
  298. const m__SC_2_PBS = 168
  299. const m__SC_2_PBS_ACCOUNTING = 169
  300. const m__SC_2_PBS_CHECKPOINT = 175
  301. const m__SC_2_PBS_LOCATE = 170
  302. const m__SC_2_PBS_MESSAGE = 171
  303. const m__SC_2_PBS_TRACK = 172
  304. const m__SC_2_SW_DEV = 51
  305. const m__SC_2_UPE = 97
  306. const m__SC_2_VERSION = 46
  307. const m__SC_ADVISORY_INFO = 132
  308. const m__SC_AIO_LISTIO_MAX = 23
  309. const m__SC_AIO_MAX = 24
  310. const m__SC_AIO_PRIO_DELTA_MAX = 25
  311. const m__SC_ARG_MAX = 0
  312. const m__SC_ASYNCHRONOUS_IO = 12
  313. const m__SC_ATEXIT_MAX = 87
  314. const m__SC_AVPHYS_PAGES = 86
  315. const m__SC_BARRIERS = 133
  316. const m__SC_BC_BASE_MAX = 36
  317. const m__SC_BC_DIM_MAX = 37
  318. const m__SC_BC_SCALE_MAX = 38
  319. const m__SC_BC_STRING_MAX = 39
  320. const m__SC_CHILD_MAX = 1
  321. const m__SC_CLK_TCK = 2
  322. const m__SC_CLOCK_SELECTION = 137
  323. const m__SC_COLL_WEIGHTS_MAX = 40
  324. const m__SC_CPUTIME = 138
  325. const m__SC_DELAYTIMER_MAX = 26
  326. const m__SC_EXPR_NEST_MAX = 42
  327. const m__SC_FSYNC = 15
  328. const m__SC_GETGR_R_SIZE_MAX = 69
  329. const m__SC_GETPW_R_SIZE_MAX = 70
  330. const m__SC_HOST_NAME_MAX = 180
  331. const m__SC_IOV_MAX = 60
  332. const m__SC_IPV6 = 235
  333. const m__SC_JOB_CONTROL = 7
  334. const m__SC_LINE_MAX = 43
  335. const m__SC_LOGIN_NAME_MAX = 71
  336. const m__SC_MAPPED_FILES = 16
  337. const m__SC_MEMLOCK = 17
  338. const m__SC_MEMLOCK_RANGE = 18
  339. const m__SC_MEMORY_PROTECTION = 19
  340. const m__SC_MESSAGE_PASSING = 20
  341. const m__SC_MINSIGSTKSZ = 249
  342. const m__SC_MONOTONIC_CLOCK = 149
  343. const m__SC_MQ_OPEN_MAX = 27
  344. const m__SC_MQ_PRIO_MAX = 28
  345. const m__SC_NGROUPS_MAX = 3
  346. const m__SC_NPROCESSORS_CONF = 83
  347. const m__SC_NPROCESSORS_ONLN = 84
  348. const m__SC_NZERO = 109
  349. const m__SC_OPEN_MAX = 4
  350. const m__SC_PAGESIZE = 30
  351. const m__SC_PAGE_SIZE = 30
  352. const m__SC_PASS_MAX = 88
  353. const m__SC_PHYS_PAGES = 85
  354. const m__SC_PRIORITIZED_IO = 13
  355. const m__SC_PRIORITY_SCHEDULING = 10
  356. const m__SC_RAW_SOCKETS = 236
  357. const m__SC_READER_WRITER_LOCKS = 153
  358. const m__SC_REALTIME_SIGNALS = 9
  359. const m__SC_REGEXP = 155
  360. const m__SC_RE_DUP_MAX = 44
  361. const m__SC_RTSIG_MAX = 31
  362. const m__SC_SAVED_IDS = 8
  363. const m__SC_SEMAPHORES = 21
  364. const m__SC_SEM_NSEMS_MAX = 32
  365. const m__SC_SEM_VALUE_MAX = 33
  366. const m__SC_SHARED_MEMORY_OBJECTS = 22
  367. const m__SC_SHELL = 157
  368. const m__SC_SIGQUEUE_MAX = 34
  369. const m__SC_SIGSTKSZ = 250
  370. const m__SC_SPAWN = 159
  371. const m__SC_SPIN_LOCKS = 154
  372. const m__SC_SPORADIC_SERVER = 160
  373. const m__SC_SS_REPL_MAX = 241
  374. const m__SC_STREAMS = 174
  375. const m__SC_STREAM_MAX = 5
  376. const m__SC_SYMLOOP_MAX = 173
  377. const m__SC_SYNCHRONIZED_IO = 14
  378. const m__SC_THREADS = 67
  379. const m__SC_THREAD_ATTR_STACKADDR = 77
  380. const m__SC_THREAD_ATTR_STACKSIZE = 78
  381. const m__SC_THREAD_CPUTIME = 139
  382. const m__SC_THREAD_DESTRUCTOR_ITERATIONS = 73
  383. const m__SC_THREAD_KEYS_MAX = 74
  384. const m__SC_THREAD_PRIORITY_SCHEDULING = 79
  385. const m__SC_THREAD_PRIO_INHERIT = 80
  386. const m__SC_THREAD_PRIO_PROTECT = 81
  387. const m__SC_THREAD_PROCESS_SHARED = 82
  388. const m__SC_THREAD_ROBUST_PRIO_INHERIT = 247
  389. const m__SC_THREAD_ROBUST_PRIO_PROTECT = 248
  390. const m__SC_THREAD_SAFE_FUNCTIONS = 68
  391. const m__SC_THREAD_SPORADIC_SERVER = 161
  392. const m__SC_THREAD_STACK_MIN = 75
  393. const m__SC_THREAD_THREADS_MAX = 76
  394. const m__SC_TIMEOUTS = 164
  395. const m__SC_TIMERS = 11
  396. const m__SC_TIMER_MAX = 35
  397. const m__SC_TRACE = 181
  398. const m__SC_TRACE_EVENT_FILTER = 182
  399. const m__SC_TRACE_EVENT_NAME_MAX = 242
  400. const m__SC_TRACE_INHERIT = 183
  401. const m__SC_TRACE_LOG = 184
  402. const m__SC_TRACE_NAME_MAX = 243
  403. const m__SC_TRACE_SYS_MAX = 244
  404. const m__SC_TRACE_USER_EVENT_MAX = 245
  405. const m__SC_TTY_NAME_MAX = 72
  406. const m__SC_TYPED_MEMORY_OBJECTS = 165
  407. const m__SC_TZNAME_MAX = 6
  408. const m__SC_UIO_MAXIOV = 60
  409. const m__SC_V6_ILP32_OFF32 = 176
  410. const m__SC_V6_ILP32_OFFBIG = 177
  411. const m__SC_V6_LP64_OFF64 = 178
  412. const m__SC_V6_LPBIG_OFFBIG = 179
  413. const m__SC_V7_ILP32_OFF32 = 237
  414. const m__SC_V7_ILP32_OFFBIG = 238
  415. const m__SC_V7_LP64_OFF64 = 239
  416. const m__SC_V7_LPBIG_OFFBIG = 240
  417. const m__SC_VERSION = 29
  418. const m__SC_XBS5_ILP32_OFF32 = 125
  419. const m__SC_XBS5_ILP32_OFFBIG = 126
  420. const m__SC_XBS5_LP64_OFF64 = 127
  421. const m__SC_XBS5_LPBIG_OFFBIG = 128
  422. const m__SC_XOPEN_CRYPT = 92
  423. const m__SC_XOPEN_ENH_I18N = 93
  424. const m__SC_XOPEN_LEGACY = 129
  425. const m__SC_XOPEN_REALTIME = 130
  426. const m__SC_XOPEN_REALTIME_THREADS = 131
  427. const m__SC_XOPEN_SHM = 94
  428. const m__SC_XOPEN_STREAMS = 246
  429. const m__SC_XOPEN_UNIX = 91
  430. const m__SC_XOPEN_VERSION = 89
  431. const m__SC_XOPEN_XCU_VERSION = 90
  432. const m__SC_XOPEN_XPG2 = 98
  433. const m__SC_XOPEN_XPG3 = 99
  434. const m__SC_XOPEN_XPG4 = 100
  435. const m__STDC_PREDEF_H = 1
  436. const m__XOPEN_ENH_I18N = 1
  437. const m__XOPEN_IOV_MAX = 16
  438. const m__XOPEN_NAME_MAX = 255
  439. const m__XOPEN_PATH_MAX = 1024
  440. const m__XOPEN_UNIX = 1
  441. const m__XOPEN_VERSION = 700
  442. const m___AARCH64EL__ = 1
  443. const m___AARCH64_CMODEL_SMALL__ = 1
  444. const m___ARM_64BIT_STATE = 1
  445. const m___ARM_ALIGN_MAX_PWR = 28
  446. const m___ARM_ALIGN_MAX_STACK_PWR = 16
  447. const m___ARM_ARCH = 8
  448. const m___ARM_ARCH_8A = 1
  449. const m___ARM_ARCH_ISA_A64 = 1
  450. const m___ARM_ARCH_PROFILE = 65
  451. const m___ARM_FEATURE_CLZ = 1
  452. const m___ARM_FEATURE_FMA = 1
  453. const m___ARM_FEATURE_IDIV = 1
  454. const m___ARM_FEATURE_NUMERIC_MAXMIN = 1
  455. const m___ARM_FEATURE_UNALIGNED = 1
  456. const m___ARM_FP = 14
  457. const m___ARM_FP16_ARGS = 1
  458. const m___ARM_FP16_FORMAT_IEEE = 1
  459. const m___ARM_NEON = 1
  460. const m___ARM_PCS_AAPCS64 = 1
  461. const m___ARM_SIZEOF_MINIMAL_ENUM = 4
  462. const m___ARM_SIZEOF_WCHAR_T = 4
  463. const m___ATOMIC_ACQUIRE = 2
  464. const m___ATOMIC_ACQ_REL = 4
  465. const m___ATOMIC_CONSUME = 1
  466. const m___ATOMIC_RELAXED = 0
  467. const m___ATOMIC_RELEASE = 3
  468. const m___ATOMIC_SEQ_CST = 5
  469. const m___BIGGEST_ALIGNMENT__ = 16
  470. const m___BIG_ENDIAN = 4321
  471. const m___BYTE_ORDER = 1234
  472. const m___BYTE_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  473. const m___CCGO__ = 1
  474. const m___CHAR_BIT__ = 8
  475. const m___CHAR_UNSIGNED__ = 1
  476. const m___DBL_DECIMAL_DIG__ = 17
  477. const m___DBL_DIG__ = 15
  478. const m___DBL_HAS_DENORM__ = 1
  479. const m___DBL_HAS_INFINITY__ = 1
  480. const m___DBL_HAS_QUIET_NAN__ = 1
  481. const m___DBL_IS_IEC_60559__ = 2
  482. const m___DBL_MANT_DIG__ = 53
  483. const m___DBL_MAX_10_EXP__ = 308
  484. const m___DBL_MAX_EXP__ = 1024
  485. const m___DECIMAL_DIG__ = 36
  486. const m___DEC_EVAL_METHOD__ = 2
  487. const m___ELF__ = 1
  488. const m___FINITE_MATH_ONLY__ = 0
  489. const m___FLOAT_WORD_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  490. const m___FLT128_DECIMAL_DIG__ = 36
  491. const m___FLT128_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
  492. const m___FLT128_DIG__ = 33
  493. const m___FLT128_EPSILON__ = 1.92592994438723585305597794258492732e-34
  494. const m___FLT128_HAS_DENORM__ = 1
  495. const m___FLT128_HAS_INFINITY__ = 1
  496. const m___FLT128_HAS_QUIET_NAN__ = 1
  497. const m___FLT128_IS_IEC_60559__ = 2
  498. const m___FLT128_MANT_DIG__ = 113
  499. const m___FLT128_MAX_10_EXP__ = 4932
  500. const m___FLT128_MAX_EXP__ = 16384
  501. const m___FLT128_MAX__ = "1.18973149535723176508575932662800702e+4932"
  502. const m___FLT128_MIN__ = 3.36210314311209350626267781732175260e-4932
  503. const m___FLT128_NORM_MAX__ = "1.18973149535723176508575932662800702e+4932"
  504. const m___FLT16_DECIMAL_DIG__ = 5
  505. const m___FLT16_DENORM_MIN__ = 5.96046447753906250000000000000000000e-8
  506. const m___FLT16_DIG__ = 3
  507. const m___FLT16_EPSILON__ = 9.76562500000000000000000000000000000e-4
  508. const m___FLT16_HAS_DENORM__ = 1
  509. const m___FLT16_HAS_INFINITY__ = 1
  510. const m___FLT16_HAS_QUIET_NAN__ = 1
  511. const m___FLT16_IS_IEC_60559__ = 2
  512. const m___FLT16_MANT_DIG__ = 11
  513. const m___FLT16_MAX_10_EXP__ = 4
  514. const m___FLT16_MAX_EXP__ = 16
  515. const m___FLT16_MAX__ = 6.55040000000000000000000000000000000e+4
  516. const m___FLT16_MIN__ = 6.10351562500000000000000000000000000e-5
  517. const m___FLT16_NORM_MAX__ = 6.55040000000000000000000000000000000e+4
  518. const m___FLT32X_DECIMAL_DIG__ = 17
  519. const m___FLT32X_DENORM_MIN__ = 4.94065645841246544176568792868221372e-324
  520. const m___FLT32X_DIG__ = 15
  521. const m___FLT32X_EPSILON__ = 2.22044604925031308084726333618164062e-16
  522. const m___FLT32X_HAS_DENORM__ = 1
  523. const m___FLT32X_HAS_INFINITY__ = 1
  524. const m___FLT32X_HAS_QUIET_NAN__ = 1
  525. const m___FLT32X_IS_IEC_60559__ = 2
  526. const m___FLT32X_MANT_DIG__ = 53
  527. const m___FLT32X_MAX_10_EXP__ = 308
  528. const m___FLT32X_MAX_EXP__ = 1024
  529. const m___FLT32X_MAX__ = 1.79769313486231570814527423731704357e+308
  530. const m___FLT32X_MIN__ = 2.22507385850720138309023271733240406e-308
  531. const m___FLT32X_NORM_MAX__ = 1.79769313486231570814527423731704357e+308
  532. const m___FLT32_DECIMAL_DIG__ = 9
  533. const m___FLT32_DENORM_MIN__ = 1.40129846432481707092372958328991613e-45
  534. const m___FLT32_DIG__ = 6
  535. const m___FLT32_EPSILON__ = 1.19209289550781250000000000000000000e-7
  536. const m___FLT32_HAS_DENORM__ = 1
  537. const m___FLT32_HAS_INFINITY__ = 1
  538. const m___FLT32_HAS_QUIET_NAN__ = 1
  539. const m___FLT32_IS_IEC_60559__ = 2
  540. const m___FLT32_MANT_DIG__ = 24
  541. const m___FLT32_MAX_10_EXP__ = 38
  542. const m___FLT32_MAX_EXP__ = 128
  543. const m___FLT32_MAX__ = 3.40282346638528859811704183484516925e+38
  544. const m___FLT32_MIN__ = 1.17549435082228750796873653722224568e-38
  545. const m___FLT32_NORM_MAX__ = 3.40282346638528859811704183484516925e+38
  546. const m___FLT64X_DECIMAL_DIG__ = 36
  547. const m___FLT64X_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
  548. const m___FLT64X_DIG__ = 33
  549. const m___FLT64X_EPSILON__ = 1.92592994438723585305597794258492732e-34
  550. const m___FLT64X_HAS_DENORM__ = 1
  551. const m___FLT64X_HAS_INFINITY__ = 1
  552. const m___FLT64X_HAS_QUIET_NAN__ = 1
  553. const m___FLT64X_IS_IEC_60559__ = 2
  554. const m___FLT64X_MANT_DIG__ = 113
  555. const m___FLT64X_MAX_10_EXP__ = 4932
  556. const m___FLT64X_MAX_EXP__ = 16384
  557. const m___FLT64X_MAX__ = "1.18973149535723176508575932662800702e+4932"
  558. const m___FLT64X_MIN__ = 3.36210314311209350626267781732175260e-4932
  559. const m___FLT64X_NORM_MAX__ = "1.18973149535723176508575932662800702e+4932"
  560. const m___FLT64_DECIMAL_DIG__ = 17
  561. const m___FLT64_DENORM_MIN__ = 4.94065645841246544176568792868221372e-324
  562. const m___FLT64_DIG__ = 15
  563. const m___FLT64_EPSILON__ = 2.22044604925031308084726333618164062e-16
  564. const m___FLT64_HAS_DENORM__ = 1
  565. const m___FLT64_HAS_INFINITY__ = 1
  566. const m___FLT64_HAS_QUIET_NAN__ = 1
  567. const m___FLT64_IS_IEC_60559__ = 2
  568. const m___FLT64_MANT_DIG__ = 53
  569. const m___FLT64_MAX_10_EXP__ = 308
  570. const m___FLT64_MAX_EXP__ = 1024
  571. const m___FLT64_MAX__ = 1.79769313486231570814527423731704357e+308
  572. const m___FLT64_MIN__ = 2.22507385850720138309023271733240406e-308
  573. const m___FLT64_NORM_MAX__ = 1.79769313486231570814527423731704357e+308
  574. const m___FLT_DECIMAL_DIG__ = 9
  575. const m___FLT_DENORM_MIN__ = 1.40129846432481707092372958328991613e-45
  576. const m___FLT_DIG__ = 6
  577. const m___FLT_EPSILON__ = 1.19209289550781250000000000000000000e-7
  578. const m___FLT_EVAL_METHOD_C99__ = 0
  579. const m___FLT_EVAL_METHOD_TS_18661_3__ = 0
  580. const m___FLT_EVAL_METHOD__ = 0
  581. const m___FLT_HAS_DENORM__ = 1
  582. const m___FLT_HAS_INFINITY__ = 1
  583. const m___FLT_HAS_QUIET_NAN__ = 1
  584. const m___FLT_IS_IEC_60559__ = 2
  585. const m___FLT_MANT_DIG__ = 24
  586. const m___FLT_MAX_10_EXP__ = 38
  587. const m___FLT_MAX_EXP__ = 128
  588. const m___FLT_MAX__ = 3.40282346638528859811704183484516925e+38
  589. const m___FLT_MIN__ = 1.17549435082228750796873653722224568e-38
  590. const m___FLT_NORM_MAX__ = 3.40282346638528859811704183484516925e+38
  591. const m___FLT_RADIX__ = 2
  592. const m___FP_FAST_FMA = 1
  593. const m___FP_FAST_FMAF = 1
  594. const m___FP_FAST_FMAF32 = 1
  595. const m___FP_FAST_FMAF32x = 1
  596. const m___FP_FAST_FMAF64 = 1
  597. const m___FUNCTION__ = "__func__"
  598. const m___GCC_ASM_FLAG_OUTPUTS__ = 1
  599. const m___GCC_ATOMIC_BOOL_LOCK_FREE = 2
  600. const m___GCC_ATOMIC_CHAR16_T_LOCK_FREE = 2
  601. const m___GCC_ATOMIC_CHAR32_T_LOCK_FREE = 2
  602. const m___GCC_ATOMIC_CHAR_LOCK_FREE = 2
  603. const m___GCC_ATOMIC_INT_LOCK_FREE = 2
  604. const m___GCC_ATOMIC_LLONG_LOCK_FREE = 2
  605. const m___GCC_ATOMIC_LONG_LOCK_FREE = 2
  606. const m___GCC_ATOMIC_POINTER_LOCK_FREE = 2
  607. const m___GCC_ATOMIC_SHORT_LOCK_FREE = 2
  608. const m___GCC_ATOMIC_TEST_AND_SET_TRUEVAL = 1
  609. const m___GCC_ATOMIC_WCHAR_T_LOCK_FREE = 2
  610. const m___GCC_CONSTRUCTIVE_SIZE = 64
  611. const m___GCC_DESTRUCTIVE_SIZE = 256
  612. const m___GCC_HAVE_DWARF2_CFI_ASM = 1
  613. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 = 1
  614. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 = 1
  615. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 = 1
  616. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1
  617. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = 1
  618. const m___GCC_IEC_559 = 2
  619. const m___GCC_IEC_559_COMPLEX = 2
  620. const m___GNUC_EXECUTION_CHARSET_NAME = "UTF-8"
  621. const m___GNUC_MINOR__ = 2
  622. const m___GNUC_PATCHLEVEL__ = 0
  623. const m___GNUC_STDC_INLINE__ = 1
  624. const m___GNUC_WIDE_EXECUTION_CHARSET_NAME = "UTF-32LE"
  625. const m___GNUC__ = 12
  626. const m___GXX_ABI_VERSION = 1017
  627. const m___HAVE_SPECULATION_SAFE_VALUE = 1
  628. const m___INT16_MAX__ = 0x7fff
  629. const m___INT32_MAX__ = 0x7fffffff
  630. const m___INT32_TYPE__ = "int"
  631. const m___INT64_MAX__ = 0x7fffffffffffffff
  632. const m___INT8_MAX__ = 0x7f
  633. const m___INTMAX_MAX__ = 0x7fffffffffffffff
  634. const m___INTMAX_WIDTH__ = 64
  635. const m___INTPTR_MAX__ = 0x7fffffffffffffff
  636. const m___INTPTR_WIDTH__ = 64
  637. const m___INT_FAST16_MAX__ = 0x7fffffffffffffff
  638. const m___INT_FAST16_WIDTH__ = 64
  639. const m___INT_FAST32_MAX__ = 0x7fffffffffffffff
  640. const m___INT_FAST32_WIDTH__ = 64
  641. const m___INT_FAST64_MAX__ = 0x7fffffffffffffff
  642. const m___INT_FAST64_WIDTH__ = 64
  643. const m___INT_FAST8_MAX__ = 0x7f
  644. const m___INT_FAST8_WIDTH__ = 8
  645. const m___INT_LEAST16_MAX__ = 0x7fff
  646. const m___INT_LEAST16_WIDTH__ = 16
  647. const m___INT_LEAST32_MAX__ = 0x7fffffff
  648. const m___INT_LEAST32_TYPE__ = "int"
  649. const m___INT_LEAST32_WIDTH__ = 32
  650. const m___INT_LEAST64_MAX__ = 0x7fffffffffffffff
  651. const m___INT_LEAST64_WIDTH__ = 64
  652. const m___INT_LEAST8_MAX__ = 0x7f
  653. const m___INT_LEAST8_WIDTH__ = 8
  654. const m___INT_MAX__ = 0x7fffffff
  655. const m___INT_WIDTH__ = 32
  656. const m___LDBL_DECIMAL_DIG__ = 36
  657. const m___LDBL_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
  658. const m___LDBL_DIG__ = 33
  659. const m___LDBL_EPSILON__ = 1.92592994438723585305597794258492732e-34
  660. const m___LDBL_HAS_DENORM__ = 1
  661. const m___LDBL_HAS_INFINITY__ = 1
  662. const m___LDBL_HAS_QUIET_NAN__ = 1
  663. const m___LDBL_IS_IEC_60559__ = 2
  664. const m___LDBL_MANT_DIG__ = 113
  665. const m___LDBL_MAX_10_EXP__ = 4932
  666. const m___LDBL_MAX_EXP__ = 16384
  667. const m___LDBL_MAX__ = "1.18973149535723176508575932662800702e+4932"
  668. const m___LDBL_MIN__ = 3.36210314311209350626267781732175260e-4932
  669. const m___LDBL_NORM_MAX__ = "1.18973149535723176508575932662800702e+4932"
  670. const m___LITTLE_ENDIAN = 1234
  671. const m___LONG_LONG_MAX__ = 0x7fffffffffffffff
  672. const m___LONG_LONG_WIDTH__ = 64
  673. const m___LONG_MAX = 0x7fffffffffffffff
  674. const m___LONG_MAX__ = 0x7fffffffffffffff
  675. const m___LONG_WIDTH__ = 64
  676. const m___LP64__ = 1
  677. const m___NO_INLINE__ = 1
  678. const m___ORDER_BIG_ENDIAN__ = 4321
  679. const m___ORDER_LITTLE_ENDIAN__ = 1234
  680. const m___ORDER_PDP_ENDIAN__ = 3412
  681. const m___PDP_ENDIAN = 3412
  682. const m___PIC__ = 2
  683. const m___PIE__ = 2
  684. const m___PRAGMA_REDEFINE_EXTNAME = 1
  685. const m___PRETTY_FUNCTION__ = "__func__"
  686. const m___PTRDIFF_MAX__ = 0x7fffffffffffffff
  687. const m___PTRDIFF_WIDTH__ = 64
  688. const m___SCHAR_MAX__ = 0x7f
  689. const m___SCHAR_WIDTH__ = 8
  690. const m___SHRT_MAX__ = 0x7fff
  691. const m___SHRT_WIDTH__ = 16
  692. const m___SIG_ATOMIC_MAX__ = 0x7fffffff
  693. const m___SIG_ATOMIC_TYPE__ = "int"
  694. const m___SIG_ATOMIC_WIDTH__ = 32
  695. const m___SIZEOF_DOUBLE__ = 8
  696. const m___SIZEOF_FLOAT__ = 4
  697. const m___SIZEOF_INT128__ = 16
  698. const m___SIZEOF_INT__ = 4
  699. const m___SIZEOF_LONG_DOUBLE__ = 8
  700. const m___SIZEOF_LONG_LONG__ = 8
  701. const m___SIZEOF_LONG__ = 8
  702. const m___SIZEOF_POINTER__ = 8
  703. const m___SIZEOF_PTRDIFF_T__ = 8
  704. const m___SIZEOF_SHORT__ = 2
  705. const m___SIZEOF_SIZE_T__ = 8
  706. const m___SIZEOF_WCHAR_T__ = 4
  707. const m___SIZEOF_WINT_T__ = 4
  708. const m___SIZE_MAX__ = 0xffffffffffffffff
  709. const m___SIZE_WIDTH__ = 64
  710. const m___STDC_HOSTED__ = 1
  711. const m___STDC_IEC_559_COMPLEX__ = 1
  712. const m___STDC_IEC_559__ = 1
  713. const m___STDC_IEC_60559_BFP__ = 201404
  714. const m___STDC_IEC_60559_COMPLEX__ = 201404
  715. const m___STDC_ISO_10646__ = 201706
  716. const m___STDC_UTF_16__ = 1
  717. const m___STDC_UTF_32__ = 1
  718. const m___STDC_VERSION__ = 201710
  719. const m___STDC__ = 1
  720. const m___UINT16_MAX__ = 0xffff
  721. const m___UINT32_MAX__ = 0xffffffff
  722. const m___UINT64_MAX__ = 0xffffffffffffffff
  723. const m___UINT8_MAX__ = 0xff
  724. const m___UINTMAX_MAX__ = 0xffffffffffffffff
  725. const m___UINTPTR_MAX__ = 0xffffffffffffffff
  726. const m___UINT_FAST16_MAX__ = 0xffffffffffffffff
  727. const m___UINT_FAST32_MAX__ = 0xffffffffffffffff
  728. const m___UINT_FAST64_MAX__ = 0xffffffffffffffff
  729. const m___UINT_FAST8_MAX__ = 0xff
  730. const m___UINT_LEAST16_MAX__ = 0xffff
  731. const m___UINT_LEAST32_MAX__ = 0xffffffff
  732. const m___UINT_LEAST64_MAX__ = 0xffffffffffffffff
  733. const m___UINT_LEAST8_MAX__ = 0xff
  734. const m___USE_TIME_BITS64 = 1
  735. const m___VERSION__ = "12.2.0"
  736. const m___WCHAR_MAX__ = 0xffffffff
  737. const m___WCHAR_MIN__ = 0
  738. const m___WCHAR_WIDTH__ = 32
  739. const m___WINT_MAX__ = 0xffffffff
  740. const m___WINT_MIN__ = 0
  741. const m___WINT_WIDTH__ = 32
  742. const m___aarch64__ = 1
  743. const m___gnu_linux__ = 1
  744. const m___inline = "inline"
  745. const m___linux = 1
  746. const m___linux__ = 1
  747. const m___pic__ = 2
  748. const m___pie__ = 2
  749. const m___restrict = "restrict"
  750. const m___restrict_arr = "restrict"
  751. const m___unix = 1
  752. const m___unix__ = 1
  753. const m_alloca = "__builtin_alloca"
  754. const m_blkcnt64_t = "blkcnt_t"
  755. const m_fsblkcnt64_t = "fsblkcnt_t"
  756. const m_fsfilcnt64_t = "fsfilcnt_t"
  757. const m_ftruncate64 = "ftruncate"
  758. const m_ino64_t = "ino_t"
  759. const m_linux = 1
  760. const m_local = "static"
  761. const m_lockf64 = "lockf"
  762. const m_lseek64 = "lseek"
  763. const m_mkostemp64 = "mkostemp"
  764. const m_mkostemps64 = "mkostemps"
  765. const m_mkstemp64 = "mkstemp"
  766. const m_mkstemps64 = "mkstemps"
  767. const m_off64_t = "off_t"
  768. const m_pread64 = "pread"
  769. const m_pwrite64 = "pwrite"
  770. const m_truncate64 = "truncate"
  771. const m_unix = 1
  772. const m_z_off64_t = "z_off_t"
  773. const m_z_off_t = "off_t"
  774. const m_zmemcmp = "memcmp"
  775. const m_zmemcpy = "memcpy"
  776. type t__builtin_va_list = uintptr
  777. type t__predefined_size_t = uint64
  778. type t__predefined_wchar_t = uint32
  779. type t__predefined_ptrdiff_t = int64
  780. type Twchar_t = uint32
  781. type Tmax_align_t = struct {
  782. F__ll int64
  783. F__ld float64
  784. }
  785. type Tsize_t = uint64
  786. type Tptrdiff_t = int64
  787. type Tz_size_t = uint64
  788. type TByte = uint8
  789. type TuInt = uint32
  790. type TuLong = uint64
  791. type TBytef = uint8
  792. type Tcharf = uint8
  793. type Tintf = int32
  794. type TuIntf = uint32
  795. type TuLongf = uint64
  796. type Tvoidpc = uintptr
  797. type Tvoidpf = uintptr
  798. type Tvoidp = uintptr
  799. type Tz_crc_t = uint32
  800. type Tblksize_t = int32
  801. type Tnlink_t = uint32
  802. type Tssize_t = int64
  803. type Tregister_t = int64
  804. type Ttime_t = int64
  805. type Tsuseconds_t = int64
  806. type Tint8_t = int8
  807. type Tint16_t = int16
  808. type Tint32_t = int32
  809. type Tint64_t = int64
  810. type Tu_int64_t = uint64
  811. type Tmode_t = uint32
  812. type Toff_t = int64
  813. type Tino_t = uint64
  814. type Tdev_t = uint64
  815. type Tblkcnt_t = int64
  816. type Tfsblkcnt_t = uint64
  817. type Tfsfilcnt_t = uint64
  818. type Ttimer_t = uintptr
  819. type Tclockid_t = int32
  820. type Tclock_t = int64
  821. type Tpid_t = int32
  822. type Tid_t = uint32
  823. type Tuid_t = uint32
  824. type Tgid_t = uint32
  825. type Tkey_t = int32
  826. type Tuseconds_t = uint32
  827. type Tpthread_t = uintptr
  828. type Tpthread_once_t = int32
  829. type Tpthread_key_t = uint32
  830. type Tpthread_spinlock_t = int32
  831. type Tpthread_mutexattr_t = struct {
  832. F__attr uint32
  833. }
  834. type Tpthread_condattr_t = struct {
  835. F__attr uint32
  836. }
  837. type Tpthread_barrierattr_t = struct {
  838. F__attr uint32
  839. }
  840. type Tpthread_rwlockattr_t = struct {
  841. F__attr [2]uint32
  842. }
  843. type Tpthread_attr_t = struct {
  844. F__u struct {
  845. F__vi [0][14]int32
  846. F__s [0][7]uint64
  847. F__i [14]int32
  848. }
  849. }
  850. type Tpthread_mutex_t = struct {
  851. F__u struct {
  852. F__vi [0][10]int32
  853. F__p [0][5]uintptr
  854. F__i [10]int32
  855. }
  856. }
  857. type Tpthread_cond_t = struct {
  858. F__u struct {
  859. F__vi [0][12]int32
  860. F__p [0][6]uintptr
  861. F__i [12]int32
  862. }
  863. }
  864. type Tpthread_rwlock_t = struct {
  865. F__u struct {
  866. F__vi [0][14]int32
  867. F__p [0][7]uintptr
  868. F__i [14]int32
  869. }
  870. }
  871. type Tpthread_barrier_t = struct {
  872. F__u struct {
  873. F__vi [0][8]int32
  874. F__p [0][4]uintptr
  875. F__i [8]int32
  876. }
  877. }
  878. type Tu_int8_t = uint8
  879. type Tu_int16_t = uint16
  880. type Tu_int32_t = uint32
  881. type Tcaddr_t = uintptr
  882. type Tu_char = uint8
  883. type Tu_short = uint16
  884. type Tushort = uint16
  885. type Tu_int = uint32
  886. type Tuint = uint32
  887. type Tu_long = uint64
  888. type Tulong = uint64
  889. type Tquad_t = int64
  890. type Tu_quad_t = uint64
  891. type Tuint16_t = uint16
  892. type Tuint32_t = uint32
  893. type Tuint64_t = uint64
  894. type Ttimeval = struct {
  895. Ftv_sec Ttime_t
  896. Ftv_usec Tsuseconds_t
  897. }
  898. type Ttimespec = struct {
  899. Ftv_sec Ttime_t
  900. Ftv_nsec int64
  901. }
  902. type Tsigset_t = struct {
  903. F__bits [16]uint64
  904. }
  905. type t__sigset_t = Tsigset_t
  906. type Tfd_mask = uint64
  907. type Tfd_set = struct {
  908. Ffds_bits [16]uint64
  909. }
  910. type Tva_list = uintptr
  911. type Tintptr_t = int64
  912. type Talloc_func = uintptr
  913. type Tfree_func = uintptr
  914. type Tz_stream = struct {
  915. Fnext_in uintptr
  916. Favail_in TuInt
  917. Ftotal_in TuLong
  918. Fnext_out uintptr
  919. Favail_out TuInt
  920. Ftotal_out TuLong
  921. Fmsg uintptr
  922. Fstate uintptr
  923. Fzalloc Talloc_func
  924. Fzfree Tfree_func
  925. Fopaque Tvoidpf
  926. Fdata_type int32
  927. Fadler TuLong
  928. Freserved TuLong
  929. }
  930. type Tz_stream_s = Tz_stream
  931. type Tz_streamp = uintptr
  932. type Tgz_header = struct {
  933. Ftext int32
  934. Ftime TuLong
  935. Fxflags int32
  936. Fos int32
  937. Fextra uintptr
  938. Fextra_len TuInt
  939. Fextra_max TuInt
  940. Fname uintptr
  941. Fname_max TuInt
  942. Fcomment uintptr
  943. Fcomm_max TuInt
  944. Fhcrc int32
  945. Fdone int32
  946. }
  947. type Tgz_header_s = Tgz_header
  948. type Tgz_headerp = uintptr
  949. type Tin_func = uintptr
  950. type Tout_func = uintptr
  951. type TgzFile = uintptr
  952. type TgzFile_s = struct {
  953. Fhave uint32
  954. Fnext uintptr
  955. Fpos Toff_t
  956. }
  957. type Tlocale_t = uintptr
  958. type Tdiv_t = struct {
  959. Fquot int32
  960. Frem int32
  961. }
  962. type Tldiv_t = struct {
  963. Fquot int64
  964. Frem int64
  965. }
  966. type Tlldiv_t = struct {
  967. Fquot int64
  968. Frem int64
  969. }
  970. type Tuch = uint8
  971. type Tuchf = uint8
  972. type Tush = uint16
  973. type Tushf = uint16
  974. type Tulg = uint64
  975. /* Reverse the bytes in a 32-bit value */
  976. /* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
  977. /* use NO_DIVIDE if your processor does not do division in hardware --
  978. try it both ways to see which is faster */
  979. // C documentation
  980. //
  981. // /* ========================================================================= */
  982. func Xadler32_z(tls *libc.TLS, adler TuLong, buf uintptr, len1 Tz_size_t) (r TuLong) {
  983. var n, v3 uint32
  984. var sum2 uint64
  985. var v1, v5 Tz_size_t
  986. var v2, v6 uintptr
  987. _, _, _, _, _, _, _ = n, sum2, v1, v2, v3, v5, v6
  988. /* split Adler-32 into component sums */
  989. sum2 = adler >> libc.Int32FromInt32(16) & uint64(0xffff)
  990. adler &= uint64(0xffff)
  991. /* in case user likes doing a byte at a time, keep it fast */
  992. if len1 == uint64(1) {
  993. adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
  994. if adler >= uint64(65521) {
  995. adler -= uint64(65521)
  996. }
  997. sum2 += adler
  998. if sum2 >= uint64(65521) {
  999. sum2 -= uint64(65521)
  1000. }
  1001. return adler | sum2<<int32(16)
  1002. }
  1003. /* initial Adler-32 value (deferred check for len == 1 speed) */
  1004. if buf == uintptr(m_Z_NULL) {
  1005. return uint64(1)
  1006. }
  1007. /* in case short lengths are provided, keep it somewhat fast */
  1008. if len1 < uint64(16) {
  1009. for {
  1010. v1 = len1
  1011. len1--
  1012. if !(v1 != 0) {
  1013. break
  1014. }
  1015. v2 = buf
  1016. buf++
  1017. adler += uint64(*(*TBytef)(unsafe.Pointer(v2)))
  1018. sum2 += adler
  1019. }
  1020. if adler >= uint64(65521) {
  1021. adler -= uint64(65521)
  1022. }
  1023. sum2 %= uint64(65521) /* only added so many BASE's */
  1024. return adler | sum2<<int32(16)
  1025. }
  1026. /* do length NMAX blocks -- requires just one modulo operation */
  1027. for len1 >= uint64(m_NMAX) {
  1028. len1 -= uint64(m_NMAX)
  1029. n = libc.Uint32FromInt32(libc.Int32FromInt32(m_NMAX) / libc.Int32FromInt32(16)) /* NMAX is divisible by 16 */
  1030. for {
  1031. adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
  1032. sum2 += adler
  1033. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(1)))))
  1034. sum2 += adler
  1035. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)))))
  1036. sum2 += adler
  1037. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1038. sum2 += adler
  1039. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)))))
  1040. sum2 += adler
  1041. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  1042. sum2 += adler
  1043. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  1044. sum2 += adler
  1045. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1046. sum2 += adler
  1047. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + 8)))
  1048. sum2 += adler
  1049. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(1)))))
  1050. sum2 += adler
  1051. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)))))
  1052. sum2 += adler
  1053. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1054. sum2 += adler
  1055. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)))))
  1056. sum2 += adler
  1057. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  1058. sum2 += adler
  1059. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  1060. sum2 += adler
  1061. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1062. sum2 += adler /* 16 sums unrolled */
  1063. buf += uintptr(16)
  1064. goto _4
  1065. _4:
  1066. ;
  1067. n--
  1068. v3 = n
  1069. if !(v3 != 0) {
  1070. break
  1071. }
  1072. }
  1073. adler %= uint64(65521)
  1074. sum2 %= uint64(65521)
  1075. }
  1076. /* do remaining bytes (less than NMAX, still just one modulo) */
  1077. if len1 != 0 { /* avoid modulos if none remaining */
  1078. for len1 >= uint64(16) {
  1079. len1 -= uint64(16)
  1080. adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
  1081. sum2 += adler
  1082. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(1)))))
  1083. sum2 += adler
  1084. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)))))
  1085. sum2 += adler
  1086. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1087. sum2 += adler
  1088. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)))))
  1089. sum2 += adler
  1090. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  1091. sum2 += adler
  1092. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  1093. sum2 += adler
  1094. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1095. sum2 += adler
  1096. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + 8)))
  1097. sum2 += adler
  1098. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(1)))))
  1099. sum2 += adler
  1100. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)))))
  1101. sum2 += adler
  1102. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1103. sum2 += adler
  1104. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)))))
  1105. sum2 += adler
  1106. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  1107. sum2 += adler
  1108. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  1109. sum2 += adler
  1110. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1111. sum2 += adler
  1112. buf += uintptr(16)
  1113. }
  1114. for {
  1115. v5 = len1
  1116. len1--
  1117. if !(v5 != 0) {
  1118. break
  1119. }
  1120. v6 = buf
  1121. buf++
  1122. adler += uint64(*(*TBytef)(unsafe.Pointer(v6)))
  1123. sum2 += adler
  1124. }
  1125. adler %= uint64(65521)
  1126. sum2 %= uint64(65521)
  1127. }
  1128. /* return recombined sums */
  1129. return adler | sum2<<int32(16)
  1130. }
  1131. // C documentation
  1132. //
  1133. // /* ========================================================================= */
  1134. func Xadler32(tls *libc.TLS, adler TuLong, buf uintptr, len1 TuInt) (r TuLong) {
  1135. return Xadler32_z(tls, adler, buf, uint64(len1))
  1136. }
  1137. // C documentation
  1138. //
  1139. // /* ========================================================================= */
  1140. func _adler32_combine_(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
  1141. var rem uint32
  1142. var sum1, sum2 uint64
  1143. _, _, _ = rem, sum1, sum2
  1144. /* for negative len, return invalid adler32 as a clue for debugging */
  1145. if len2 < 0 {
  1146. return uint64(0xffffffff)
  1147. }
  1148. /* the derivation of this formula is left as an exercise for the reader */
  1149. len2 %= libc.Int64FromUint32(65521) /* assumes len2 >= 0 */
  1150. rem = libc.Uint32FromInt64(len2)
  1151. sum1 = adler1 & uint64(0xffff)
  1152. sum2 = uint64(rem) * sum1
  1153. sum2 %= uint64(65521)
  1154. sum1 += adler2&uint64(0xffff) + uint64(65521) - uint64(1)
  1155. sum2 += adler1>>libc.Int32FromInt32(16)&uint64(0xffff) + adler2>>libc.Int32FromInt32(16)&uint64(0xffff) + uint64(65521) - uint64(rem)
  1156. if sum1 >= uint64(65521) {
  1157. sum1 -= uint64(65521)
  1158. }
  1159. if sum1 >= uint64(65521) {
  1160. sum1 -= uint64(65521)
  1161. }
  1162. if sum2 >= libc.Uint64FromUint32(65521)<<libc.Int32FromInt32(1) {
  1163. sum2 -= libc.Uint64FromUint32(65521) << libc.Int32FromInt32(1)
  1164. }
  1165. if sum2 >= uint64(65521) {
  1166. sum2 -= uint64(65521)
  1167. }
  1168. return sum1 | sum2<<int32(16)
  1169. }
  1170. // C documentation
  1171. //
  1172. // /* ========================================================================= */
  1173. func Xadler32_combine(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
  1174. return _adler32_combine_(tls, adler1, adler2, len2)
  1175. }
  1176. func Xadler32_combine64(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
  1177. return _adler32_combine_(tls, adler1, adler2, len2)
  1178. }
  1179. const m_N = 5
  1180. const m_POLY = 3988292384
  1181. const m_W = 8
  1182. /* Reverse the bytes in a 32-bit value */
  1183. /*
  1184. A CRC of a message is computed on N braids of words in the message, where
  1185. each word consists of W bytes (4 or 8). If N is 3, for example, then three
  1186. running sparse CRCs are calculated respectively on each braid, at these
  1187. indices in the array of words: 0, 3, 6, ..., 1, 4, 7, ..., and 2, 5, 8, ...
  1188. This is done starting at a word boundary, and continues until as many blocks
  1189. of N * W bytes as are available have been processed. The results are combined
  1190. into a single CRC at the end. For this code, N must be in the range 1..6 and
  1191. W must be 4 or 8. The upper limit on N can be increased if desired by adding
  1192. more #if blocks, extending the patterns apparent in the code. In addition,
  1193. crc32.h would need to be regenerated, if the maximum N value is increased.
  1194. N and W are chosen empirically by benchmarking the execution time on a given
  1195. processor. The choices for N and W below were based on testing on Intel Kaby
  1196. Lake i7, AMD Ryzen 7, ARM Cortex-A57, Sparc64-VII, PowerPC POWER9, and MIPS64
  1197. Octeon II processors. The Intel, AMD, and ARM processors were all fastest
  1198. with N=5, W=8. The Sparc, PowerPC, and MIPS64 were all fastest at N=5, W=4.
  1199. They were all tested with either gcc or clang, all using the -O3 optimization
  1200. level. Your mileage may vary.
  1201. */
  1202. /* Define N */
  1203. /*
  1204. z_crc_t must be at least 32 bits. z_word_t must be at least as long as
  1205. z_crc_t. It is assumed here that z_word_t is either 32 bits or 64 bits, and
  1206. that bytes are eight bits.
  1207. */
  1208. // C documentation
  1209. //
  1210. // /*
  1211. // Define W and the associated z_word_t type. If W is not defined, then a
  1212. // braided calculation is not used, and the associated tables and code are not
  1213. // compiled.
  1214. // */
  1215. type Tz_word_t = uint64
  1216. /* If available, use the ARM processor CRC32 instruction. */
  1217. // C documentation
  1218. //
  1219. // /*
  1220. // Swap the bytes in a z_word_t to convert between little and big endian. Any
  1221. // self-respecting compiler will optimize this to a single machine byte-swap
  1222. // instruction, if one is available. This assumes that word_t is either 32 bits
  1223. // or 64 bits.
  1224. // */
  1225. func _byte_swap(tls *libc.TLS, word Tz_word_t) (r Tz_word_t) {
  1226. return word&uint64(0xff00000000000000)>>int32(56) | word&uint64(0xff000000000000)>>int32(40) | word&uint64(0xff0000000000)>>int32(24) | word&uint64(0xff00000000)>>int32(8) | word&uint64(0xff000000)<<int32(8) | word&uint64(0xff0000)<<int32(24) | word&uint64(0xff00)<<int32(40) | word&uint64(0xff)<<int32(56)
  1227. }
  1228. var _crc_table = [256]Tz_crc_t{
  1229. 1: uint32(0x77073096),
  1230. 2: uint32(0xee0e612c),
  1231. 3: uint32(0x990951ba),
  1232. 4: uint32(0x076dc419),
  1233. 5: uint32(0x706af48f),
  1234. 6: uint32(0xe963a535),
  1235. 7: uint32(0x9e6495a3),
  1236. 8: uint32(0x0edb8832),
  1237. 9: uint32(0x79dcb8a4),
  1238. 10: uint32(0xe0d5e91e),
  1239. 11: uint32(0x97d2d988),
  1240. 12: uint32(0x09b64c2b),
  1241. 13: uint32(0x7eb17cbd),
  1242. 14: uint32(0xe7b82d07),
  1243. 15: uint32(0x90bf1d91),
  1244. 16: uint32(0x1db71064),
  1245. 17: uint32(0x6ab020f2),
  1246. 18: uint32(0xf3b97148),
  1247. 19: uint32(0x84be41de),
  1248. 20: uint32(0x1adad47d),
  1249. 21: uint32(0x6ddde4eb),
  1250. 22: uint32(0xf4d4b551),
  1251. 23: uint32(0x83d385c7),
  1252. 24: uint32(0x136c9856),
  1253. 25: uint32(0x646ba8c0),
  1254. 26: uint32(0xfd62f97a),
  1255. 27: uint32(0x8a65c9ec),
  1256. 28: uint32(0x14015c4f),
  1257. 29: uint32(0x63066cd9),
  1258. 30: uint32(0xfa0f3d63),
  1259. 31: uint32(0x8d080df5),
  1260. 32: uint32(0x3b6e20c8),
  1261. 33: uint32(0x4c69105e),
  1262. 34: uint32(0xd56041e4),
  1263. 35: uint32(0xa2677172),
  1264. 36: uint32(0x3c03e4d1),
  1265. 37: uint32(0x4b04d447),
  1266. 38: uint32(0xd20d85fd),
  1267. 39: uint32(0xa50ab56b),
  1268. 40: uint32(0x35b5a8fa),
  1269. 41: uint32(0x42b2986c),
  1270. 42: uint32(0xdbbbc9d6),
  1271. 43: uint32(0xacbcf940),
  1272. 44: uint32(0x32d86ce3),
  1273. 45: uint32(0x45df5c75),
  1274. 46: uint32(0xdcd60dcf),
  1275. 47: uint32(0xabd13d59),
  1276. 48: uint32(0x26d930ac),
  1277. 49: uint32(0x51de003a),
  1278. 50: uint32(0xc8d75180),
  1279. 51: uint32(0xbfd06116),
  1280. 52: uint32(0x21b4f4b5),
  1281. 53: uint32(0x56b3c423),
  1282. 54: uint32(0xcfba9599),
  1283. 55: uint32(0xb8bda50f),
  1284. 56: uint32(0x2802b89e),
  1285. 57: uint32(0x5f058808),
  1286. 58: uint32(0xc60cd9b2),
  1287. 59: uint32(0xb10be924),
  1288. 60: uint32(0x2f6f7c87),
  1289. 61: uint32(0x58684c11),
  1290. 62: uint32(0xc1611dab),
  1291. 63: uint32(0xb6662d3d),
  1292. 64: uint32(0x76dc4190),
  1293. 65: uint32(0x01db7106),
  1294. 66: uint32(0x98d220bc),
  1295. 67: uint32(0xefd5102a),
  1296. 68: uint32(0x71b18589),
  1297. 69: uint32(0x06b6b51f),
  1298. 70: uint32(0x9fbfe4a5),
  1299. 71: uint32(0xe8b8d433),
  1300. 72: uint32(0x7807c9a2),
  1301. 73: uint32(0x0f00f934),
  1302. 74: uint32(0x9609a88e),
  1303. 75: uint32(0xe10e9818),
  1304. 76: uint32(0x7f6a0dbb),
  1305. 77: uint32(0x086d3d2d),
  1306. 78: uint32(0x91646c97),
  1307. 79: uint32(0xe6635c01),
  1308. 80: uint32(0x6b6b51f4),
  1309. 81: uint32(0x1c6c6162),
  1310. 82: uint32(0x856530d8),
  1311. 83: uint32(0xf262004e),
  1312. 84: uint32(0x6c0695ed),
  1313. 85: uint32(0x1b01a57b),
  1314. 86: uint32(0x8208f4c1),
  1315. 87: uint32(0xf50fc457),
  1316. 88: uint32(0x65b0d9c6),
  1317. 89: uint32(0x12b7e950),
  1318. 90: uint32(0x8bbeb8ea),
  1319. 91: uint32(0xfcb9887c),
  1320. 92: uint32(0x62dd1ddf),
  1321. 93: uint32(0x15da2d49),
  1322. 94: uint32(0x8cd37cf3),
  1323. 95: uint32(0xfbd44c65),
  1324. 96: uint32(0x4db26158),
  1325. 97: uint32(0x3ab551ce),
  1326. 98: uint32(0xa3bc0074),
  1327. 99: uint32(0xd4bb30e2),
  1328. 100: uint32(0x4adfa541),
  1329. 101: uint32(0x3dd895d7),
  1330. 102: uint32(0xa4d1c46d),
  1331. 103: uint32(0xd3d6f4fb),
  1332. 104: uint32(0x4369e96a),
  1333. 105: uint32(0x346ed9fc),
  1334. 106: uint32(0xad678846),
  1335. 107: uint32(0xda60b8d0),
  1336. 108: uint32(0x44042d73),
  1337. 109: uint32(0x33031de5),
  1338. 110: uint32(0xaa0a4c5f),
  1339. 111: uint32(0xdd0d7cc9),
  1340. 112: uint32(0x5005713c),
  1341. 113: uint32(0x270241aa),
  1342. 114: uint32(0xbe0b1010),
  1343. 115: uint32(0xc90c2086),
  1344. 116: uint32(0x5768b525),
  1345. 117: uint32(0x206f85b3),
  1346. 118: uint32(0xb966d409),
  1347. 119: uint32(0xce61e49f),
  1348. 120: uint32(0x5edef90e),
  1349. 121: uint32(0x29d9c998),
  1350. 122: uint32(0xb0d09822),
  1351. 123: uint32(0xc7d7a8b4),
  1352. 124: uint32(0x59b33d17),
  1353. 125: uint32(0x2eb40d81),
  1354. 126: uint32(0xb7bd5c3b),
  1355. 127: uint32(0xc0ba6cad),
  1356. 128: uint32(0xedb88320),
  1357. 129: uint32(0x9abfb3b6),
  1358. 130: uint32(0x03b6e20c),
  1359. 131: uint32(0x74b1d29a),
  1360. 132: uint32(0xead54739),
  1361. 133: uint32(0x9dd277af),
  1362. 134: uint32(0x04db2615),
  1363. 135: uint32(0x73dc1683),
  1364. 136: uint32(0xe3630b12),
  1365. 137: uint32(0x94643b84),
  1366. 138: uint32(0x0d6d6a3e),
  1367. 139: uint32(0x7a6a5aa8),
  1368. 140: uint32(0xe40ecf0b),
  1369. 141: uint32(0x9309ff9d),
  1370. 142: uint32(0x0a00ae27),
  1371. 143: uint32(0x7d079eb1),
  1372. 144: uint32(0xf00f9344),
  1373. 145: uint32(0x8708a3d2),
  1374. 146: uint32(0x1e01f268),
  1375. 147: uint32(0x6906c2fe),
  1376. 148: uint32(0xf762575d),
  1377. 149: uint32(0x806567cb),
  1378. 150: uint32(0x196c3671),
  1379. 151: uint32(0x6e6b06e7),
  1380. 152: uint32(0xfed41b76),
  1381. 153: uint32(0x89d32be0),
  1382. 154: uint32(0x10da7a5a),
  1383. 155: uint32(0x67dd4acc),
  1384. 156: uint32(0xf9b9df6f),
  1385. 157: uint32(0x8ebeeff9),
  1386. 158: uint32(0x17b7be43),
  1387. 159: uint32(0x60b08ed5),
  1388. 160: uint32(0xd6d6a3e8),
  1389. 161: uint32(0xa1d1937e),
  1390. 162: uint32(0x38d8c2c4),
  1391. 163: uint32(0x4fdff252),
  1392. 164: uint32(0xd1bb67f1),
  1393. 165: uint32(0xa6bc5767),
  1394. 166: uint32(0x3fb506dd),
  1395. 167: uint32(0x48b2364b),
  1396. 168: uint32(0xd80d2bda),
  1397. 169: uint32(0xaf0a1b4c),
  1398. 170: uint32(0x36034af6),
  1399. 171: uint32(0x41047a60),
  1400. 172: uint32(0xdf60efc3),
  1401. 173: uint32(0xa867df55),
  1402. 174: uint32(0x316e8eef),
  1403. 175: uint32(0x4669be79),
  1404. 176: uint32(0xcb61b38c),
  1405. 177: uint32(0xbc66831a),
  1406. 178: uint32(0x256fd2a0),
  1407. 179: uint32(0x5268e236),
  1408. 180: uint32(0xcc0c7795),
  1409. 181: uint32(0xbb0b4703),
  1410. 182: uint32(0x220216b9),
  1411. 183: uint32(0x5505262f),
  1412. 184: uint32(0xc5ba3bbe),
  1413. 185: uint32(0xb2bd0b28),
  1414. 186: uint32(0x2bb45a92),
  1415. 187: uint32(0x5cb36a04),
  1416. 188: uint32(0xc2d7ffa7),
  1417. 189: uint32(0xb5d0cf31),
  1418. 190: uint32(0x2cd99e8b),
  1419. 191: uint32(0x5bdeae1d),
  1420. 192: uint32(0x9b64c2b0),
  1421. 193: uint32(0xec63f226),
  1422. 194: uint32(0x756aa39c),
  1423. 195: uint32(0x026d930a),
  1424. 196: uint32(0x9c0906a9),
  1425. 197: uint32(0xeb0e363f),
  1426. 198: uint32(0x72076785),
  1427. 199: uint32(0x05005713),
  1428. 200: uint32(0x95bf4a82),
  1429. 201: uint32(0xe2b87a14),
  1430. 202: uint32(0x7bb12bae),
  1431. 203: uint32(0x0cb61b38),
  1432. 204: uint32(0x92d28e9b),
  1433. 205: uint32(0xe5d5be0d),
  1434. 206: uint32(0x7cdcefb7),
  1435. 207: uint32(0x0bdbdf21),
  1436. 208: uint32(0x86d3d2d4),
  1437. 209: uint32(0xf1d4e242),
  1438. 210: uint32(0x68ddb3f8),
  1439. 211: uint32(0x1fda836e),
  1440. 212: uint32(0x81be16cd),
  1441. 213: uint32(0xf6b9265b),
  1442. 214: uint32(0x6fb077e1),
  1443. 215: uint32(0x18b74777),
  1444. 216: uint32(0x88085ae6),
  1445. 217: uint32(0xff0f6a70),
  1446. 218: uint32(0x66063bca),
  1447. 219: uint32(0x11010b5c),
  1448. 220: uint32(0x8f659eff),
  1449. 221: uint32(0xf862ae69),
  1450. 222: uint32(0x616bffd3),
  1451. 223: uint32(0x166ccf45),
  1452. 224: uint32(0xa00ae278),
  1453. 225: uint32(0xd70dd2ee),
  1454. 226: uint32(0x4e048354),
  1455. 227: uint32(0x3903b3c2),
  1456. 228: uint32(0xa7672661),
  1457. 229: uint32(0xd06016f7),
  1458. 230: uint32(0x4969474d),
  1459. 231: uint32(0x3e6e77db),
  1460. 232: uint32(0xaed16a4a),
  1461. 233: uint32(0xd9d65adc),
  1462. 234: uint32(0x40df0b66),
  1463. 235: uint32(0x37d83bf0),
  1464. 236: uint32(0xa9bcae53),
  1465. 237: uint32(0xdebb9ec5),
  1466. 238: uint32(0x47b2cf7f),
  1467. 239: uint32(0x30b5ffe9),
  1468. 240: uint32(0xbdbdf21c),
  1469. 241: uint32(0xcabac28a),
  1470. 242: uint32(0x53b39330),
  1471. 243: uint32(0x24b4a3a6),
  1472. 244: uint32(0xbad03605),
  1473. 245: uint32(0xcdd70693),
  1474. 246: uint32(0x54de5729),
  1475. 247: uint32(0x23d967bf),
  1476. 248: uint32(0xb3667a2e),
  1477. 249: uint32(0xc4614ab8),
  1478. 250: uint32(0x5d681b02),
  1479. 251: uint32(0x2a6f2b94),
  1480. 252: uint32(0xb40bbe37),
  1481. 253: uint32(0xc30c8ea1),
  1482. 254: uint32(0x5a05df1b),
  1483. 255: uint32(0x2d02ef8d),
  1484. }
  1485. var _crc_big_table = [256]Tz_word_t{
  1486. 1: uint64(0x9630077700000000),
  1487. 2: uint64(0x2c610eee00000000),
  1488. 3: uint64(0xba51099900000000),
  1489. 4: uint64(0x19c46d0700000000),
  1490. 5: uint64(0x8ff46a7000000000),
  1491. 6: uint64(0x35a563e900000000),
  1492. 7: uint64(0xa395649e00000000),
  1493. 8: uint64(0x3288db0e00000000),
  1494. 9: uint64(0xa4b8dc7900000000),
  1495. 10: uint64(0x1ee9d5e000000000),
  1496. 11: uint64(0x88d9d29700000000),
  1497. 12: uint64(0x2b4cb60900000000),
  1498. 13: uint64(0xbd7cb17e00000000),
  1499. 14: uint64(0x072db8e700000000),
  1500. 15: uint64(0x911dbf9000000000),
  1501. 16: uint64(0x6410b71d00000000),
  1502. 17: uint64(0xf220b06a00000000),
  1503. 18: uint64(0x4871b9f300000000),
  1504. 19: uint64(0xde41be8400000000),
  1505. 20: uint64(0x7dd4da1a00000000),
  1506. 21: uint64(0xebe4dd6d00000000),
  1507. 22: uint64(0x51b5d4f400000000),
  1508. 23: uint64(0xc785d38300000000),
  1509. 24: uint64(0x56986c1300000000),
  1510. 25: uint64(0xc0a86b6400000000),
  1511. 26: uint64(0x7af962fd00000000),
  1512. 27: uint64(0xecc9658a00000000),
  1513. 28: uint64(0x4f5c011400000000),
  1514. 29: uint64(0xd96c066300000000),
  1515. 30: uint64(0x633d0ffa00000000),
  1516. 31: uint64(0xf50d088d00000000),
  1517. 32: uint64(0xc8206e3b00000000),
  1518. 33: uint64(0x5e10694c00000000),
  1519. 34: uint64(0xe44160d500000000),
  1520. 35: uint64(0x727167a200000000),
  1521. 36: uint64(0xd1e4033c00000000),
  1522. 37: uint64(0x47d4044b00000000),
  1523. 38: uint64(0xfd850dd200000000),
  1524. 39: uint64(0x6bb50aa500000000),
  1525. 40: uint64(0xfaa8b53500000000),
  1526. 41: uint64(0x6c98b24200000000),
  1527. 42: uint64(0xd6c9bbdb00000000),
  1528. 43: uint64(0x40f9bcac00000000),
  1529. 44: uint64(0xe36cd83200000000),
  1530. 45: uint64(0x755cdf4500000000),
  1531. 46: uint64(0xcf0dd6dc00000000),
  1532. 47: uint64(0x593dd1ab00000000),
  1533. 48: uint64(0xac30d92600000000),
  1534. 49: uint64(0x3a00de5100000000),
  1535. 50: uint64(0x8051d7c800000000),
  1536. 51: uint64(0x1661d0bf00000000),
  1537. 52: uint64(0xb5f4b42100000000),
  1538. 53: uint64(0x23c4b35600000000),
  1539. 54: uint64(0x9995bacf00000000),
  1540. 55: uint64(0x0fa5bdb800000000),
  1541. 56: uint64(0x9eb8022800000000),
  1542. 57: uint64(0x0888055f00000000),
  1543. 58: uint64(0xb2d90cc600000000),
  1544. 59: uint64(0x24e90bb100000000),
  1545. 60: uint64(0x877c6f2f00000000),
  1546. 61: uint64(0x114c685800000000),
  1547. 62: uint64(0xab1d61c100000000),
  1548. 63: uint64(0x3d2d66b600000000),
  1549. 64: uint64(0x9041dc7600000000),
  1550. 65: uint64(0x0671db0100000000),
  1551. 66: uint64(0xbc20d29800000000),
  1552. 67: uint64(0x2a10d5ef00000000),
  1553. 68: uint64(0x8985b17100000000),
  1554. 69: uint64(0x1fb5b60600000000),
  1555. 70: uint64(0xa5e4bf9f00000000),
  1556. 71: uint64(0x33d4b8e800000000),
  1557. 72: uint64(0xa2c9077800000000),
  1558. 73: uint64(0x34f9000f00000000),
  1559. 74: uint64(0x8ea8099600000000),
  1560. 75: uint64(0x18980ee100000000),
  1561. 76: uint64(0xbb0d6a7f00000000),
  1562. 77: uint64(0x2d3d6d0800000000),
  1563. 78: uint64(0x976c649100000000),
  1564. 79: uint64(0x015c63e600000000),
  1565. 80: uint64(0xf4516b6b00000000),
  1566. 81: uint64(0x62616c1c00000000),
  1567. 82: uint64(0xd830658500000000),
  1568. 83: uint64(0x4e0062f200000000),
  1569. 84: uint64(0xed95066c00000000),
  1570. 85: uint64(0x7ba5011b00000000),
  1571. 86: uint64(0xc1f4088200000000),
  1572. 87: uint64(0x57c40ff500000000),
  1573. 88: uint64(0xc6d9b06500000000),
  1574. 89: uint64(0x50e9b71200000000),
  1575. 90: uint64(0xeab8be8b00000000),
  1576. 91: uint64(0x7c88b9fc00000000),
  1577. 92: uint64(0xdf1ddd6200000000),
  1578. 93: uint64(0x492dda1500000000),
  1579. 94: uint64(0xf37cd38c00000000),
  1580. 95: uint64(0x654cd4fb00000000),
  1581. 96: uint64(0x5861b24d00000000),
  1582. 97: uint64(0xce51b53a00000000),
  1583. 98: uint64(0x7400bca300000000),
  1584. 99: uint64(0xe230bbd400000000),
  1585. 100: uint64(0x41a5df4a00000000),
  1586. 101: uint64(0xd795d83d00000000),
  1587. 102: uint64(0x6dc4d1a400000000),
  1588. 103: uint64(0xfbf4d6d300000000),
  1589. 104: uint64(0x6ae9694300000000),
  1590. 105: uint64(0xfcd96e3400000000),
  1591. 106: uint64(0x468867ad00000000),
  1592. 107: uint64(0xd0b860da00000000),
  1593. 108: uint64(0x732d044400000000),
  1594. 109: uint64(0xe51d033300000000),
  1595. 110: uint64(0x5f4c0aaa00000000),
  1596. 111: uint64(0xc97c0ddd00000000),
  1597. 112: uint64(0x3c71055000000000),
  1598. 113: uint64(0xaa41022700000000),
  1599. 114: uint64(0x10100bbe00000000),
  1600. 115: uint64(0x86200cc900000000),
  1601. 116: uint64(0x25b5685700000000),
  1602. 117: uint64(0xb3856f2000000000),
  1603. 118: uint64(0x09d466b900000000),
  1604. 119: uint64(0x9fe461ce00000000),
  1605. 120: uint64(0x0ef9de5e00000000),
  1606. 121: uint64(0x98c9d92900000000),
  1607. 122: uint64(0x2298d0b000000000),
  1608. 123: uint64(0xb4a8d7c700000000),
  1609. 124: uint64(0x173db35900000000),
  1610. 125: uint64(0x810db42e00000000),
  1611. 126: uint64(0x3b5cbdb700000000),
  1612. 127: uint64(0xad6cbac000000000),
  1613. 128: uint64(0x2083b8ed00000000),
  1614. 129: uint64(0xb6b3bf9a00000000),
  1615. 130: uint64(0x0ce2b60300000000),
  1616. 131: uint64(0x9ad2b17400000000),
  1617. 132: uint64(0x3947d5ea00000000),
  1618. 133: uint64(0xaf77d29d00000000),
  1619. 134: uint64(0x1526db0400000000),
  1620. 135: uint64(0x8316dc7300000000),
  1621. 136: uint64(0x120b63e300000000),
  1622. 137: uint64(0x843b649400000000),
  1623. 138: uint64(0x3e6a6d0d00000000),
  1624. 139: uint64(0xa85a6a7a00000000),
  1625. 140: uint64(0x0bcf0ee400000000),
  1626. 141: uint64(0x9dff099300000000),
  1627. 142: uint64(0x27ae000a00000000),
  1628. 143: uint64(0xb19e077d00000000),
  1629. 144: uint64(0x44930ff000000000),
  1630. 145: uint64(0xd2a3088700000000),
  1631. 146: uint64(0x68f2011e00000000),
  1632. 147: uint64(0xfec2066900000000),
  1633. 148: uint64(0x5d5762f700000000),
  1634. 149: uint64(0xcb67658000000000),
  1635. 150: uint64(0x71366c1900000000),
  1636. 151: uint64(0xe7066b6e00000000),
  1637. 152: uint64(0x761bd4fe00000000),
  1638. 153: uint64(0xe02bd38900000000),
  1639. 154: uint64(0x5a7ada1000000000),
  1640. 155: uint64(0xcc4add6700000000),
  1641. 156: uint64(0x6fdfb9f900000000),
  1642. 157: uint64(0xf9efbe8e00000000),
  1643. 158: uint64(0x43beb71700000000),
  1644. 159: uint64(0xd58eb06000000000),
  1645. 160: uint64(0xe8a3d6d600000000),
  1646. 161: uint64(0x7e93d1a100000000),
  1647. 162: uint64(0xc4c2d83800000000),
  1648. 163: uint64(0x52f2df4f00000000),
  1649. 164: uint64(0xf167bbd100000000),
  1650. 165: uint64(0x6757bca600000000),
  1651. 166: uint64(0xdd06b53f00000000),
  1652. 167: uint64(0x4b36b24800000000),
  1653. 168: uint64(0xda2b0dd800000000),
  1654. 169: uint64(0x4c1b0aaf00000000),
  1655. 170: uint64(0xf64a033600000000),
  1656. 171: uint64(0x607a044100000000),
  1657. 172: uint64(0xc3ef60df00000000),
  1658. 173: uint64(0x55df67a800000000),
  1659. 174: uint64(0xef8e6e3100000000),
  1660. 175: uint64(0x79be694600000000),
  1661. 176: uint64(0x8cb361cb00000000),
  1662. 177: uint64(0x1a8366bc00000000),
  1663. 178: uint64(0xa0d26f2500000000),
  1664. 179: uint64(0x36e2685200000000),
  1665. 180: uint64(0x95770ccc00000000),
  1666. 181: uint64(0x03470bbb00000000),
  1667. 182: uint64(0xb916022200000000),
  1668. 183: uint64(0x2f26055500000000),
  1669. 184: uint64(0xbe3bbac500000000),
  1670. 185: uint64(0x280bbdb200000000),
  1671. 186: uint64(0x925ab42b00000000),
  1672. 187: uint64(0x046ab35c00000000),
  1673. 188: uint64(0xa7ffd7c200000000),
  1674. 189: uint64(0x31cfd0b500000000),
  1675. 190: uint64(0x8b9ed92c00000000),
  1676. 191: uint64(0x1daede5b00000000),
  1677. 192: uint64(0xb0c2649b00000000),
  1678. 193: uint64(0x26f263ec00000000),
  1679. 194: uint64(0x9ca36a7500000000),
  1680. 195: uint64(0x0a936d0200000000),
  1681. 196: uint64(0xa906099c00000000),
  1682. 197: uint64(0x3f360eeb00000000),
  1683. 198: uint64(0x8567077200000000),
  1684. 199: uint64(0x1357000500000000),
  1685. 200: uint64(0x824abf9500000000),
  1686. 201: uint64(0x147ab8e200000000),
  1687. 202: uint64(0xae2bb17b00000000),
  1688. 203: uint64(0x381bb60c00000000),
  1689. 204: uint64(0x9b8ed29200000000),
  1690. 205: uint64(0x0dbed5e500000000),
  1691. 206: uint64(0xb7efdc7c00000000),
  1692. 207: uint64(0x21dfdb0b00000000),
  1693. 208: uint64(0xd4d2d38600000000),
  1694. 209: uint64(0x42e2d4f100000000),
  1695. 210: uint64(0xf8b3dd6800000000),
  1696. 211: uint64(0x6e83da1f00000000),
  1697. 212: uint64(0xcd16be8100000000),
  1698. 213: uint64(0x5b26b9f600000000),
  1699. 214: uint64(0xe177b06f00000000),
  1700. 215: uint64(0x7747b71800000000),
  1701. 216: uint64(0xe65a088800000000),
  1702. 217: uint64(0x706a0fff00000000),
  1703. 218: uint64(0xca3b066600000000),
  1704. 219: uint64(0x5c0b011100000000),
  1705. 220: uint64(0xff9e658f00000000),
  1706. 221: uint64(0x69ae62f800000000),
  1707. 222: uint64(0xd3ff6b6100000000),
  1708. 223: uint64(0x45cf6c1600000000),
  1709. 224: uint64(0x78e20aa000000000),
  1710. 225: uint64(0xeed20dd700000000),
  1711. 226: uint64(0x5483044e00000000),
  1712. 227: uint64(0xc2b3033900000000),
  1713. 228: uint64(0x612667a700000000),
  1714. 229: uint64(0xf71660d000000000),
  1715. 230: uint64(0x4d47694900000000),
  1716. 231: uint64(0xdb776e3e00000000),
  1717. 232: uint64(0x4a6ad1ae00000000),
  1718. 233: uint64(0xdc5ad6d900000000),
  1719. 234: uint64(0x660bdf4000000000),
  1720. 235: uint64(0xf03bd83700000000),
  1721. 236: uint64(0x53aebca900000000),
  1722. 237: uint64(0xc59ebbde00000000),
  1723. 238: uint64(0x7fcfb24700000000),
  1724. 239: uint64(0xe9ffb53000000000),
  1725. 240: uint64(0x1cf2bdbd00000000),
  1726. 241: uint64(0x8ac2baca00000000),
  1727. 242: uint64(0x3093b35300000000),
  1728. 243: uint64(0xa6a3b42400000000),
  1729. 244: uint64(0x0536d0ba00000000),
  1730. 245: uint64(0x9306d7cd00000000),
  1731. 246: uint64(0x2957de5400000000),
  1732. 247: uint64(0xbf67d92300000000),
  1733. 248: uint64(0x2e7a66b300000000),
  1734. 249: uint64(0xb84a61c400000000),
  1735. 250: uint64(0x021b685d00000000),
  1736. 251: uint64(0x942b6f2a00000000),
  1737. 252: uint64(0x37be0bb400000000),
  1738. 253: uint64(0xa18e0cc300000000),
  1739. 254: uint64(0x1bdf055a00000000),
  1740. 255: uint64(0x8def022d00000000),
  1741. }
  1742. var _crc_braid_table = [8][256]Tz_crc_t{
  1743. 0: {
  1744. 1: uint32(0xaf449247),
  1745. 2: uint32(0x85f822cf),
  1746. 3: uint32(0x2abcb088),
  1747. 4: uint32(0xd08143df),
  1748. 5: uint32(0x7fc5d198),
  1749. 6: uint32(0x55796110),
  1750. 7: uint32(0xfa3df357),
  1751. 8: uint32(0x7a7381ff),
  1752. 9: uint32(0xd53713b8),
  1753. 10: uint32(0xff8ba330),
  1754. 11: uint32(0x50cf3177),
  1755. 12: uint32(0xaaf2c220),
  1756. 13: uint32(0x05b65067),
  1757. 14: uint32(0x2f0ae0ef),
  1758. 15: uint32(0x804e72a8),
  1759. 16: uint32(0xf4e703fe),
  1760. 17: uint32(0x5ba391b9),
  1761. 18: uint32(0x711f2131),
  1762. 19: uint32(0xde5bb376),
  1763. 20: uint32(0x24664021),
  1764. 21: uint32(0x8b22d266),
  1765. 22: uint32(0xa19e62ee),
  1766. 23: uint32(0x0edaf0a9),
  1767. 24: uint32(0x8e948201),
  1768. 25: uint32(0x21d01046),
  1769. 26: uint32(0x0b6ca0ce),
  1770. 27: uint32(0xa4283289),
  1771. 28: uint32(0x5e15c1de),
  1772. 29: uint32(0xf1515399),
  1773. 30: uint32(0xdbede311),
  1774. 31: uint32(0x74a97156),
  1775. 32: uint32(0x32bf01bd),
  1776. 33: uint32(0x9dfb93fa),
  1777. 34: uint32(0xb7472372),
  1778. 35: uint32(0x1803b135),
  1779. 36: uint32(0xe23e4262),
  1780. 37: uint32(0x4d7ad025),
  1781. 38: uint32(0x67c660ad),
  1782. 39: uint32(0xc882f2ea),
  1783. 40: uint32(0x48cc8042),
  1784. 41: uint32(0xe7881205),
  1785. 42: uint32(0xcd34a28d),
  1786. 43: uint32(0x627030ca),
  1787. 44: uint32(0x984dc39d),
  1788. 45: uint32(0x370951da),
  1789. 46: uint32(0x1db5e152),
  1790. 47: uint32(0xb2f17315),
  1791. 48: uint32(0xc6580243),
  1792. 49: uint32(0x691c9004),
  1793. 50: uint32(0x43a0208c),
  1794. 51: uint32(0xece4b2cb),
  1795. 52: uint32(0x16d9419c),
  1796. 53: uint32(0xb99dd3db),
  1797. 54: uint32(0x93216353),
  1798. 55: uint32(0x3c65f114),
  1799. 56: uint32(0xbc2b83bc),
  1800. 57: uint32(0x136f11fb),
  1801. 58: uint32(0x39d3a173),
  1802. 59: uint32(0x96973334),
  1803. 60: uint32(0x6caac063),
  1804. 61: uint32(0xc3ee5224),
  1805. 62: uint32(0xe952e2ac),
  1806. 63: uint32(0x461670eb),
  1807. 64: uint32(0x657e037a),
  1808. 65: uint32(0xca3a913d),
  1809. 66: uint32(0xe08621b5),
  1810. 67: uint32(0x4fc2b3f2),
  1811. 68: uint32(0xb5ff40a5),
  1812. 69: uint32(0x1abbd2e2),
  1813. 70: uint32(0x3007626a),
  1814. 71: uint32(0x9f43f02d),
  1815. 72: uint32(0x1f0d8285),
  1816. 73: uint32(0xb04910c2),
  1817. 74: uint32(0x9af5a04a),
  1818. 75: uint32(0x35b1320d),
  1819. 76: uint32(0xcf8cc15a),
  1820. 77: uint32(0x60c8531d),
  1821. 78: uint32(0x4a74e395),
  1822. 79: uint32(0xe53071d2),
  1823. 80: uint32(0x91990084),
  1824. 81: uint32(0x3edd92c3),
  1825. 82: uint32(0x1461224b),
  1826. 83: uint32(0xbb25b00c),
  1827. 84: uint32(0x4118435b),
  1828. 85: uint32(0xee5cd11c),
  1829. 86: uint32(0xc4e06194),
  1830. 87: uint32(0x6ba4f3d3),
  1831. 88: uint32(0xebea817b),
  1832. 89: uint32(0x44ae133c),
  1833. 90: uint32(0x6e12a3b4),
  1834. 91: uint32(0xc15631f3),
  1835. 92: uint32(0x3b6bc2a4),
  1836. 93: uint32(0x942f50e3),
  1837. 94: uint32(0xbe93e06b),
  1838. 95: uint32(0x11d7722c),
  1839. 96: uint32(0x57c102c7),
  1840. 97: uint32(0xf8859080),
  1841. 98: uint32(0xd2392008),
  1842. 99: uint32(0x7d7db24f),
  1843. 100: uint32(0x87404118),
  1844. 101: uint32(0x2804d35f),
  1845. 102: uint32(0x02b863d7),
  1846. 103: uint32(0xadfcf190),
  1847. 104: uint32(0x2db28338),
  1848. 105: uint32(0x82f6117f),
  1849. 106: uint32(0xa84aa1f7),
  1850. 107: uint32(0x070e33b0),
  1851. 108: uint32(0xfd33c0e7),
  1852. 109: uint32(0x527752a0),
  1853. 110: uint32(0x78cbe228),
  1854. 111: uint32(0xd78f706f),
  1855. 112: uint32(0xa3260139),
  1856. 113: uint32(0x0c62937e),
  1857. 114: uint32(0x26de23f6),
  1858. 115: uint32(0x899ab1b1),
  1859. 116: uint32(0x73a742e6),
  1860. 117: uint32(0xdce3d0a1),
  1861. 118: uint32(0xf65f6029),
  1862. 119: uint32(0x591bf26e),
  1863. 120: uint32(0xd95580c6),
  1864. 121: uint32(0x76111281),
  1865. 122: uint32(0x5cada209),
  1866. 123: uint32(0xf3e9304e),
  1867. 124: uint32(0x09d4c319),
  1868. 125: uint32(0xa690515e),
  1869. 126: uint32(0x8c2ce1d6),
  1870. 127: uint32(0x23687391),
  1871. 128: uint32(0xcafc06f4),
  1872. 129: uint32(0x65b894b3),
  1873. 130: uint32(0x4f04243b),
  1874. 131: uint32(0xe040b67c),
  1875. 132: uint32(0x1a7d452b),
  1876. 133: uint32(0xb539d76c),
  1877. 134: uint32(0x9f8567e4),
  1878. 135: uint32(0x30c1f5a3),
  1879. 136: uint32(0xb08f870b),
  1880. 137: uint32(0x1fcb154c),
  1881. 138: uint32(0x3577a5c4),
  1882. 139: uint32(0x9a333783),
  1883. 140: uint32(0x600ec4d4),
  1884. 141: uint32(0xcf4a5693),
  1885. 142: uint32(0xe5f6e61b),
  1886. 143: uint32(0x4ab2745c),
  1887. 144: uint32(0x3e1b050a),
  1888. 145: uint32(0x915f974d),
  1889. 146: uint32(0xbbe327c5),
  1890. 147: uint32(0x14a7b582),
  1891. 148: uint32(0xee9a46d5),
  1892. 149: uint32(0x41ded492),
  1893. 150: uint32(0x6b62641a),
  1894. 151: uint32(0xc426f65d),
  1895. 152: uint32(0x446884f5),
  1896. 153: uint32(0xeb2c16b2),
  1897. 154: uint32(0xc190a63a),
  1898. 155: uint32(0x6ed4347d),
  1899. 156: uint32(0x94e9c72a),
  1900. 157: uint32(0x3bad556d),
  1901. 158: uint32(0x1111e5e5),
  1902. 159: uint32(0xbe5577a2),
  1903. 160: uint32(0xf8430749),
  1904. 161: uint32(0x5707950e),
  1905. 162: uint32(0x7dbb2586),
  1906. 163: uint32(0xd2ffb7c1),
  1907. 164: uint32(0x28c24496),
  1908. 165: uint32(0x8786d6d1),
  1909. 166: uint32(0xad3a6659),
  1910. 167: uint32(0x027ef41e),
  1911. 168: uint32(0x823086b6),
  1912. 169: uint32(0x2d7414f1),
  1913. 170: uint32(0x07c8a479),
  1914. 171: uint32(0xa88c363e),
  1915. 172: uint32(0x52b1c569),
  1916. 173: uint32(0xfdf5572e),
  1917. 174: uint32(0xd749e7a6),
  1918. 175: uint32(0x780d75e1),
  1919. 176: uint32(0x0ca404b7),
  1920. 177: uint32(0xa3e096f0),
  1921. 178: uint32(0x895c2678),
  1922. 179: uint32(0x2618b43f),
  1923. 180: uint32(0xdc254768),
  1924. 181: uint32(0x7361d52f),
  1925. 182: uint32(0x59dd65a7),
  1926. 183: uint32(0xf699f7e0),
  1927. 184: uint32(0x76d78548),
  1928. 185: uint32(0xd993170f),
  1929. 186: uint32(0xf32fa787),
  1930. 187: uint32(0x5c6b35c0),
  1931. 188: uint32(0xa656c697),
  1932. 189: uint32(0x091254d0),
  1933. 190: uint32(0x23aee458),
  1934. 191: uint32(0x8cea761f),
  1935. 192: uint32(0xaf82058e),
  1936. 193: uint32(0x00c697c9),
  1937. 194: uint32(0x2a7a2741),
  1938. 195: uint32(0x853eb506),
  1939. 196: uint32(0x7f034651),
  1940. 197: uint32(0xd047d416),
  1941. 198: uint32(0xfafb649e),
  1942. 199: uint32(0x55bff6d9),
  1943. 200: uint32(0xd5f18471),
  1944. 201: uint32(0x7ab51636),
  1945. 202: uint32(0x5009a6be),
  1946. 203: uint32(0xff4d34f9),
  1947. 204: uint32(0x0570c7ae),
  1948. 205: uint32(0xaa3455e9),
  1949. 206: uint32(0x8088e561),
  1950. 207: uint32(0x2fcc7726),
  1951. 208: uint32(0x5b650670),
  1952. 209: uint32(0xf4219437),
  1953. 210: uint32(0xde9d24bf),
  1954. 211: uint32(0x71d9b6f8),
  1955. 212: uint32(0x8be445af),
  1956. 213: uint32(0x24a0d7e8),
  1957. 214: uint32(0x0e1c6760),
  1958. 215: uint32(0xa158f527),
  1959. 216: uint32(0x2116878f),
  1960. 217: uint32(0x8e5215c8),
  1961. 218: uint32(0xa4eea540),
  1962. 219: uint32(0x0baa3707),
  1963. 220: uint32(0xf197c450),
  1964. 221: uint32(0x5ed35617),
  1965. 222: uint32(0x746fe69f),
  1966. 223: uint32(0xdb2b74d8),
  1967. 224: uint32(0x9d3d0433),
  1968. 225: uint32(0x32799674),
  1969. 226: uint32(0x18c526fc),
  1970. 227: uint32(0xb781b4bb),
  1971. 228: uint32(0x4dbc47ec),
  1972. 229: uint32(0xe2f8d5ab),
  1973. 230: uint32(0xc8446523),
  1974. 231: uint32(0x6700f764),
  1975. 232: uint32(0xe74e85cc),
  1976. 233: uint32(0x480a178b),
  1977. 234: uint32(0x62b6a703),
  1978. 235: uint32(0xcdf23544),
  1979. 236: uint32(0x37cfc613),
  1980. 237: uint32(0x988b5454),
  1981. 238: uint32(0xb237e4dc),
  1982. 239: uint32(0x1d73769b),
  1983. 240: uint32(0x69da07cd),
  1984. 241: uint32(0xc69e958a),
  1985. 242: uint32(0xec222502),
  1986. 243: uint32(0x4366b745),
  1987. 244: uint32(0xb95b4412),
  1988. 245: uint32(0x161fd655),
  1989. 246: uint32(0x3ca366dd),
  1990. 247: uint32(0x93e7f49a),
  1991. 248: uint32(0x13a98632),
  1992. 249: uint32(0xbced1475),
  1993. 250: uint32(0x9651a4fd),
  1994. 251: uint32(0x391536ba),
  1995. 252: uint32(0xc328c5ed),
  1996. 253: uint32(0x6c6c57aa),
  1997. 254: uint32(0x46d0e722),
  1998. 255: uint32(0xe9947565),
  1999. },
  2000. 1: {
  2001. 1: uint32(0x4e890ba9),
  2002. 2: uint32(0x9d121752),
  2003. 3: uint32(0xd39b1cfb),
  2004. 4: uint32(0xe15528e5),
  2005. 5: uint32(0xafdc234c),
  2006. 6: uint32(0x7c473fb7),
  2007. 7: uint32(0x32ce341e),
  2008. 8: uint32(0x19db578b),
  2009. 9: uint32(0x57525c22),
  2010. 10: uint32(0x84c940d9),
  2011. 11: uint32(0xca404b70),
  2012. 12: uint32(0xf88e7f6e),
  2013. 13: uint32(0xb60774c7),
  2014. 14: uint32(0x659c683c),
  2015. 15: uint32(0x2b156395),
  2016. 16: uint32(0x33b6af16),
  2017. 17: uint32(0x7d3fa4bf),
  2018. 18: uint32(0xaea4b844),
  2019. 19: uint32(0xe02db3ed),
  2020. 20: uint32(0xd2e387f3),
  2021. 21: uint32(0x9c6a8c5a),
  2022. 22: uint32(0x4ff190a1),
  2023. 23: uint32(0x01789b08),
  2024. 24: uint32(0x2a6df89d),
  2025. 25: uint32(0x64e4f334),
  2026. 26: uint32(0xb77fefcf),
  2027. 27: uint32(0xf9f6e466),
  2028. 28: uint32(0xcb38d078),
  2029. 29: uint32(0x85b1dbd1),
  2030. 30: uint32(0x562ac72a),
  2031. 31: uint32(0x18a3cc83),
  2032. 32: uint32(0x676d5e2c),
  2033. 33: uint32(0x29e45585),
  2034. 34: uint32(0xfa7f497e),
  2035. 35: uint32(0xb4f642d7),
  2036. 36: uint32(0x863876c9),
  2037. 37: uint32(0xc8b17d60),
  2038. 38: uint32(0x1b2a619b),
  2039. 39: uint32(0x55a36a32),
  2040. 40: uint32(0x7eb609a7),
  2041. 41: uint32(0x303f020e),
  2042. 42: uint32(0xe3a41ef5),
  2043. 43: uint32(0xad2d155c),
  2044. 44: uint32(0x9fe32142),
  2045. 45: uint32(0xd16a2aeb),
  2046. 46: uint32(0x02f13610),
  2047. 47: uint32(0x4c783db9),
  2048. 48: uint32(0x54dbf13a),
  2049. 49: uint32(0x1a52fa93),
  2050. 50: uint32(0xc9c9e668),
  2051. 51: uint32(0x8740edc1),
  2052. 52: uint32(0xb58ed9df),
  2053. 53: uint32(0xfb07d276),
  2054. 54: uint32(0x289cce8d),
  2055. 55: uint32(0x6615c524),
  2056. 56: uint32(0x4d00a6b1),
  2057. 57: uint32(0x0389ad18),
  2058. 58: uint32(0xd012b1e3),
  2059. 59: uint32(0x9e9bba4a),
  2060. 60: uint32(0xac558e54),
  2061. 61: uint32(0xe2dc85fd),
  2062. 62: uint32(0x31479906),
  2063. 63: uint32(0x7fce92af),
  2064. 64: uint32(0xcedabc58),
  2065. 65: uint32(0x8053b7f1),
  2066. 66: uint32(0x53c8ab0a),
  2067. 67: uint32(0x1d41a0a3),
  2068. 68: uint32(0x2f8f94bd),
  2069. 69: uint32(0x61069f14),
  2070. 70: uint32(0xb29d83ef),
  2071. 71: uint32(0xfc148846),
  2072. 72: uint32(0xd701ebd3),
  2073. 73: uint32(0x9988e07a),
  2074. 74: uint32(0x4a13fc81),
  2075. 75: uint32(0x049af728),
  2076. 76: uint32(0x3654c336),
  2077. 77: uint32(0x78ddc89f),
  2078. 78: uint32(0xab46d464),
  2079. 79: uint32(0xe5cfdfcd),
  2080. 80: uint32(0xfd6c134e),
  2081. 81: uint32(0xb3e518e7),
  2082. 82: uint32(0x607e041c),
  2083. 83: uint32(0x2ef70fb5),
  2084. 84: uint32(0x1c393bab),
  2085. 85: uint32(0x52b03002),
  2086. 86: uint32(0x812b2cf9),
  2087. 87: uint32(0xcfa22750),
  2088. 88: uint32(0xe4b744c5),
  2089. 89: uint32(0xaa3e4f6c),
  2090. 90: uint32(0x79a55397),
  2091. 91: uint32(0x372c583e),
  2092. 92: uint32(0x05e26c20),
  2093. 93: uint32(0x4b6b6789),
  2094. 94: uint32(0x98f07b72),
  2095. 95: uint32(0xd67970db),
  2096. 96: uint32(0xa9b7e274),
  2097. 97: uint32(0xe73ee9dd),
  2098. 98: uint32(0x34a5f526),
  2099. 99: uint32(0x7a2cfe8f),
  2100. 100: uint32(0x48e2ca91),
  2101. 101: uint32(0x066bc138),
  2102. 102: uint32(0xd5f0ddc3),
  2103. 103: uint32(0x9b79d66a),
  2104. 104: uint32(0xb06cb5ff),
  2105. 105: uint32(0xfee5be56),
  2106. 106: uint32(0x2d7ea2ad),
  2107. 107: uint32(0x63f7a904),
  2108. 108: uint32(0x51399d1a),
  2109. 109: uint32(0x1fb096b3),
  2110. 110: uint32(0xcc2b8a48),
  2111. 111: uint32(0x82a281e1),
  2112. 112: uint32(0x9a014d62),
  2113. 113: uint32(0xd48846cb),
  2114. 114: uint32(0x07135a30),
  2115. 115: uint32(0x499a5199),
  2116. 116: uint32(0x7b546587),
  2117. 117: uint32(0x35dd6e2e),
  2118. 118: uint32(0xe64672d5),
  2119. 119: uint32(0xa8cf797c),
  2120. 120: uint32(0x83da1ae9),
  2121. 121: uint32(0xcd531140),
  2122. 122: uint32(0x1ec80dbb),
  2123. 123: uint32(0x50410612),
  2124. 124: uint32(0x628f320c),
  2125. 125: uint32(0x2c0639a5),
  2126. 126: uint32(0xff9d255e),
  2127. 127: uint32(0xb1142ef7),
  2128. 128: uint32(0x46c47ef1),
  2129. 129: uint32(0x084d7558),
  2130. 130: uint32(0xdbd669a3),
  2131. 131: uint32(0x955f620a),
  2132. 132: uint32(0xa7915614),
  2133. 133: uint32(0xe9185dbd),
  2134. 134: uint32(0x3a834146),
  2135. 135: uint32(0x740a4aef),
  2136. 136: uint32(0x5f1f297a),
  2137. 137: uint32(0x119622d3),
  2138. 138: uint32(0xc20d3e28),
  2139. 139: uint32(0x8c843581),
  2140. 140: uint32(0xbe4a019f),
  2141. 141: uint32(0xf0c30a36),
  2142. 142: uint32(0x235816cd),
  2143. 143: uint32(0x6dd11d64),
  2144. 144: uint32(0x7572d1e7),
  2145. 145: uint32(0x3bfbda4e),
  2146. 146: uint32(0xe860c6b5),
  2147. 147: uint32(0xa6e9cd1c),
  2148. 148: uint32(0x9427f902),
  2149. 149: uint32(0xdaaef2ab),
  2150. 150: uint32(0x0935ee50),
  2151. 151: uint32(0x47bce5f9),
  2152. 152: uint32(0x6ca9866c),
  2153. 153: uint32(0x22208dc5),
  2154. 154: uint32(0xf1bb913e),
  2155. 155: uint32(0xbf329a97),
  2156. 156: uint32(0x8dfcae89),
  2157. 157: uint32(0xc375a520),
  2158. 158: uint32(0x10eeb9db),
  2159. 159: uint32(0x5e67b272),
  2160. 160: uint32(0x21a920dd),
  2161. 161: uint32(0x6f202b74),
  2162. 162: uint32(0xbcbb378f),
  2163. 163: uint32(0xf2323c26),
  2164. 164: uint32(0xc0fc0838),
  2165. 165: uint32(0x8e750391),
  2166. 166: uint32(0x5dee1f6a),
  2167. 167: uint32(0x136714c3),
  2168. 168: uint32(0x38727756),
  2169. 169: uint32(0x76fb7cff),
  2170. 170: uint32(0xa5606004),
  2171. 171: uint32(0xebe96bad),
  2172. 172: uint32(0xd9275fb3),
  2173. 173: uint32(0x97ae541a),
  2174. 174: uint32(0x443548e1),
  2175. 175: uint32(0x0abc4348),
  2176. 176: uint32(0x121f8fcb),
  2177. 177: uint32(0x5c968462),
  2178. 178: uint32(0x8f0d9899),
  2179. 179: uint32(0xc1849330),
  2180. 180: uint32(0xf34aa72e),
  2181. 181: uint32(0xbdc3ac87),
  2182. 182: uint32(0x6e58b07c),
  2183. 183: uint32(0x20d1bbd5),
  2184. 184: uint32(0x0bc4d840),
  2185. 185: uint32(0x454dd3e9),
  2186. 186: uint32(0x96d6cf12),
  2187. 187: uint32(0xd85fc4bb),
  2188. 188: uint32(0xea91f0a5),
  2189. 189: uint32(0xa418fb0c),
  2190. 190: uint32(0x7783e7f7),
  2191. 191: uint32(0x390aec5e),
  2192. 192: uint32(0x881ec2a9),
  2193. 193: uint32(0xc697c900),
  2194. 194: uint32(0x150cd5fb),
  2195. 195: uint32(0x5b85de52),
  2196. 196: uint32(0x694bea4c),
  2197. 197: uint32(0x27c2e1e5),
  2198. 198: uint32(0xf459fd1e),
  2199. 199: uint32(0xbad0f6b7),
  2200. 200: uint32(0x91c59522),
  2201. 201: uint32(0xdf4c9e8b),
  2202. 202: uint32(0x0cd78270),
  2203. 203: uint32(0x425e89d9),
  2204. 204: uint32(0x7090bdc7),
  2205. 205: uint32(0x3e19b66e),
  2206. 206: uint32(0xed82aa95),
  2207. 207: uint32(0xa30ba13c),
  2208. 208: uint32(0xbba86dbf),
  2209. 209: uint32(0xf5216616),
  2210. 210: uint32(0x26ba7aed),
  2211. 211: uint32(0x68337144),
  2212. 212: uint32(0x5afd455a),
  2213. 213: uint32(0x14744ef3),
  2214. 214: uint32(0xc7ef5208),
  2215. 215: uint32(0x896659a1),
  2216. 216: uint32(0xa2733a34),
  2217. 217: uint32(0xecfa319d),
  2218. 218: uint32(0x3f612d66),
  2219. 219: uint32(0x71e826cf),
  2220. 220: uint32(0x432612d1),
  2221. 221: uint32(0x0daf1978),
  2222. 222: uint32(0xde340583),
  2223. 223: uint32(0x90bd0e2a),
  2224. 224: uint32(0xef739c85),
  2225. 225: uint32(0xa1fa972c),
  2226. 226: uint32(0x72618bd7),
  2227. 227: uint32(0x3ce8807e),
  2228. 228: uint32(0x0e26b460),
  2229. 229: uint32(0x40afbfc9),
  2230. 230: uint32(0x9334a332),
  2231. 231: uint32(0xddbda89b),
  2232. 232: uint32(0xf6a8cb0e),
  2233. 233: uint32(0xb821c0a7),
  2234. 234: uint32(0x6bbadc5c),
  2235. 235: uint32(0x2533d7f5),
  2236. 236: uint32(0x17fde3eb),
  2237. 237: uint32(0x5974e842),
  2238. 238: uint32(0x8aeff4b9),
  2239. 239: uint32(0xc466ff10),
  2240. 240: uint32(0xdcc53393),
  2241. 241: uint32(0x924c383a),
  2242. 242: uint32(0x41d724c1),
  2243. 243: uint32(0x0f5e2f68),
  2244. 244: uint32(0x3d901b76),
  2245. 245: uint32(0x731910df),
  2246. 246: uint32(0xa0820c24),
  2247. 247: uint32(0xee0b078d),
  2248. 248: uint32(0xc51e6418),
  2249. 249: uint32(0x8b976fb1),
  2250. 250: uint32(0x580c734a),
  2251. 251: uint32(0x168578e3),
  2252. 252: uint32(0x244b4cfd),
  2253. 253: uint32(0x6ac24754),
  2254. 254: uint32(0xb9595baf),
  2255. 255: uint32(0xf7d05006),
  2256. },
  2257. 2: {
  2258. 1: uint32(0x8d88fde2),
  2259. 2: uint32(0xc060fd85),
  2260. 3: uint32(0x4de80067),
  2261. 4: uint32(0x5bb0fd4b),
  2262. 5: uint32(0xd63800a9),
  2263. 6: uint32(0x9bd000ce),
  2264. 7: uint32(0x1658fd2c),
  2265. 8: uint32(0xb761fa96),
  2266. 9: uint32(0x3ae90774),
  2267. 10: uint32(0x77010713),
  2268. 11: uint32(0xfa89faf1),
  2269. 12: uint32(0xecd107dd),
  2270. 13: uint32(0x6159fa3f),
  2271. 14: uint32(0x2cb1fa58),
  2272. 15: uint32(0xa13907ba),
  2273. 16: uint32(0xb5b2f36d),
  2274. 17: uint32(0x383a0e8f),
  2275. 18: uint32(0x75d20ee8),
  2276. 19: uint32(0xf85af30a),
  2277. 20: uint32(0xee020e26),
  2278. 21: uint32(0x638af3c4),
  2279. 22: uint32(0x2e62f3a3),
  2280. 23: uint32(0xa3ea0e41),
  2281. 24: uint32(0x02d309fb),
  2282. 25: uint32(0x8f5bf419),
  2283. 26: uint32(0xc2b3f47e),
  2284. 27: uint32(0x4f3b099c),
  2285. 28: uint32(0x5963f4b0),
  2286. 29: uint32(0xd4eb0952),
  2287. 30: uint32(0x99030935),
  2288. 31: uint32(0x148bf4d7),
  2289. 32: uint32(0xb014e09b),
  2290. 33: uint32(0x3d9c1d79),
  2291. 34: uint32(0x70741d1e),
  2292. 35: uint32(0xfdfce0fc),
  2293. 36: uint32(0xeba41dd0),
  2294. 37: uint32(0x662ce032),
  2295. 38: uint32(0x2bc4e055),
  2296. 39: uint32(0xa64c1db7),
  2297. 40: uint32(0x07751a0d),
  2298. 41: uint32(0x8afde7ef),
  2299. 42: uint32(0xc715e788),
  2300. 43: uint32(0x4a9d1a6a),
  2301. 44: uint32(0x5cc5e746),
  2302. 45: uint32(0xd14d1aa4),
  2303. 46: uint32(0x9ca51ac3),
  2304. 47: uint32(0x112de721),
  2305. 48: uint32(0x05a613f6),
  2306. 49: uint32(0x882eee14),
  2307. 50: uint32(0xc5c6ee73),
  2308. 51: uint32(0x484e1391),
  2309. 52: uint32(0x5e16eebd),
  2310. 53: uint32(0xd39e135f),
  2311. 54: uint32(0x9e761338),
  2312. 55: uint32(0x13feeeda),
  2313. 56: uint32(0xb2c7e960),
  2314. 57: uint32(0x3f4f1482),
  2315. 58: uint32(0x72a714e5),
  2316. 59: uint32(0xff2fe907),
  2317. 60: uint32(0xe977142b),
  2318. 61: uint32(0x64ffe9c9),
  2319. 62: uint32(0x2917e9ae),
  2320. 63: uint32(0xa49f144c),
  2321. 64: uint32(0xbb58c777),
  2322. 65: uint32(0x36d03a95),
  2323. 66: uint32(0x7b383af2),
  2324. 67: uint32(0xf6b0c710),
  2325. 68: uint32(0xe0e83a3c),
  2326. 69: uint32(0x6d60c7de),
  2327. 70: uint32(0x2088c7b9),
  2328. 71: uint32(0xad003a5b),
  2329. 72: uint32(0x0c393de1),
  2330. 73: uint32(0x81b1c003),
  2331. 74: uint32(0xcc59c064),
  2332. 75: uint32(0x41d13d86),
  2333. 76: uint32(0x5789c0aa),
  2334. 77: uint32(0xda013d48),
  2335. 78: uint32(0x97e93d2f),
  2336. 79: uint32(0x1a61c0cd),
  2337. 80: uint32(0x0eea341a),
  2338. 81: uint32(0x8362c9f8),
  2339. 82: uint32(0xce8ac99f),
  2340. 83: uint32(0x4302347d),
  2341. 84: uint32(0x555ac951),
  2342. 85: uint32(0xd8d234b3),
  2343. 86: uint32(0x953a34d4),
  2344. 87: uint32(0x18b2c936),
  2345. 88: uint32(0xb98bce8c),
  2346. 89: uint32(0x3403336e),
  2347. 90: uint32(0x79eb3309),
  2348. 91: uint32(0xf463ceeb),
  2349. 92: uint32(0xe23b33c7),
  2350. 93: uint32(0x6fb3ce25),
  2351. 94: uint32(0x225bce42),
  2352. 95: uint32(0xafd333a0),
  2353. 96: uint32(0x0b4c27ec),
  2354. 97: uint32(0x86c4da0e),
  2355. 98: uint32(0xcb2cda69),
  2356. 99: uint32(0x46a4278b),
  2357. 100: uint32(0x50fcdaa7),
  2358. 101: uint32(0xdd742745),
  2359. 102: uint32(0x909c2722),
  2360. 103: uint32(0x1d14dac0),
  2361. 104: uint32(0xbc2ddd7a),
  2362. 105: uint32(0x31a52098),
  2363. 106: uint32(0x7c4d20ff),
  2364. 107: uint32(0xf1c5dd1d),
  2365. 108: uint32(0xe79d2031),
  2366. 109: uint32(0x6a15ddd3),
  2367. 110: uint32(0x27fdddb4),
  2368. 111: uint32(0xaa752056),
  2369. 112: uint32(0xbefed481),
  2370. 113: uint32(0x33762963),
  2371. 114: uint32(0x7e9e2904),
  2372. 115: uint32(0xf316d4e6),
  2373. 116: uint32(0xe54e29ca),
  2374. 117: uint32(0x68c6d428),
  2375. 118: uint32(0x252ed44f),
  2376. 119: uint32(0xa8a629ad),
  2377. 120: uint32(0x099f2e17),
  2378. 121: uint32(0x8417d3f5),
  2379. 122: uint32(0xc9ffd392),
  2380. 123: uint32(0x44772e70),
  2381. 124: uint32(0x522fd35c),
  2382. 125: uint32(0xdfa72ebe),
  2383. 126: uint32(0x924f2ed9),
  2384. 127: uint32(0x1fc7d33b),
  2385. 128: uint32(0xadc088af),
  2386. 129: uint32(0x2048754d),
  2387. 130: uint32(0x6da0752a),
  2388. 131: uint32(0xe02888c8),
  2389. 132: uint32(0xf67075e4),
  2390. 133: uint32(0x7bf88806),
  2391. 134: uint32(0x36108861),
  2392. 135: uint32(0xbb987583),
  2393. 136: uint32(0x1aa17239),
  2394. 137: uint32(0x97298fdb),
  2395. 138: uint32(0xdac18fbc),
  2396. 139: uint32(0x5749725e),
  2397. 140: uint32(0x41118f72),
  2398. 141: uint32(0xcc997290),
  2399. 142: uint32(0x817172f7),
  2400. 143: uint32(0x0cf98f15),
  2401. 144: uint32(0x18727bc2),
  2402. 145: uint32(0x95fa8620),
  2403. 146: uint32(0xd8128647),
  2404. 147: uint32(0x559a7ba5),
  2405. 148: uint32(0x43c28689),
  2406. 149: uint32(0xce4a7b6b),
  2407. 150: uint32(0x83a27b0c),
  2408. 151: uint32(0x0e2a86ee),
  2409. 152: uint32(0xaf138154),
  2410. 153: uint32(0x229b7cb6),
  2411. 154: uint32(0x6f737cd1),
  2412. 155: uint32(0xe2fb8133),
  2413. 156: uint32(0xf4a37c1f),
  2414. 157: uint32(0x792b81fd),
  2415. 158: uint32(0x34c3819a),
  2416. 159: uint32(0xb94b7c78),
  2417. 160: uint32(0x1dd46834),
  2418. 161: uint32(0x905c95d6),
  2419. 162: uint32(0xddb495b1),
  2420. 163: uint32(0x503c6853),
  2421. 164: uint32(0x4664957f),
  2422. 165: uint32(0xcbec689d),
  2423. 166: uint32(0x860468fa),
  2424. 167: uint32(0x0b8c9518),
  2425. 168: uint32(0xaab592a2),
  2426. 169: uint32(0x273d6f40),
  2427. 170: uint32(0x6ad56f27),
  2428. 171: uint32(0xe75d92c5),
  2429. 172: uint32(0xf1056fe9),
  2430. 173: uint32(0x7c8d920b),
  2431. 174: uint32(0x3165926c),
  2432. 175: uint32(0xbced6f8e),
  2433. 176: uint32(0xa8669b59),
  2434. 177: uint32(0x25ee66bb),
  2435. 178: uint32(0x680666dc),
  2436. 179: uint32(0xe58e9b3e),
  2437. 180: uint32(0xf3d66612),
  2438. 181: uint32(0x7e5e9bf0),
  2439. 182: uint32(0x33b69b97),
  2440. 183: uint32(0xbe3e6675),
  2441. 184: uint32(0x1f0761cf),
  2442. 185: uint32(0x928f9c2d),
  2443. 186: uint32(0xdf679c4a),
  2444. 187: uint32(0x52ef61a8),
  2445. 188: uint32(0x44b79c84),
  2446. 189: uint32(0xc93f6166),
  2447. 190: uint32(0x84d76101),
  2448. 191: uint32(0x095f9ce3),
  2449. 192: uint32(0x16984fd8),
  2450. 193: uint32(0x9b10b23a),
  2451. 194: uint32(0xd6f8b25d),
  2452. 195: uint32(0x5b704fbf),
  2453. 196: uint32(0x4d28b293),
  2454. 197: uint32(0xc0a04f71),
  2455. 198: uint32(0x8d484f16),
  2456. 199: uint32(0x00c0b2f4),
  2457. 200: uint32(0xa1f9b54e),
  2458. 201: uint32(0x2c7148ac),
  2459. 202: uint32(0x619948cb),
  2460. 203: uint32(0xec11b529),
  2461. 204: uint32(0xfa494805),
  2462. 205: uint32(0x77c1b5e7),
  2463. 206: uint32(0x3a29b580),
  2464. 207: uint32(0xb7a14862),
  2465. 208: uint32(0xa32abcb5),
  2466. 209: uint32(0x2ea24157),
  2467. 210: uint32(0x634a4130),
  2468. 211: uint32(0xeec2bcd2),
  2469. 212: uint32(0xf89a41fe),
  2470. 213: uint32(0x7512bc1c),
  2471. 214: uint32(0x38fabc7b),
  2472. 215: uint32(0xb5724199),
  2473. 216: uint32(0x144b4623),
  2474. 217: uint32(0x99c3bbc1),
  2475. 218: uint32(0xd42bbba6),
  2476. 219: uint32(0x59a34644),
  2477. 220: uint32(0x4ffbbb68),
  2478. 221: uint32(0xc273468a),
  2479. 222: uint32(0x8f9b46ed),
  2480. 223: uint32(0x0213bb0f),
  2481. 224: uint32(0xa68caf43),
  2482. 225: uint32(0x2b0452a1),
  2483. 226: uint32(0x66ec52c6),
  2484. 227: uint32(0xeb64af24),
  2485. 228: uint32(0xfd3c5208),
  2486. 229: uint32(0x70b4afea),
  2487. 230: uint32(0x3d5caf8d),
  2488. 231: uint32(0xb0d4526f),
  2489. 232: uint32(0x11ed55d5),
  2490. 233: uint32(0x9c65a837),
  2491. 234: uint32(0xd18da850),
  2492. 235: uint32(0x5c0555b2),
  2493. 236: uint32(0x4a5da89e),
  2494. 237: uint32(0xc7d5557c),
  2495. 238: uint32(0x8a3d551b),
  2496. 239: uint32(0x07b5a8f9),
  2497. 240: uint32(0x133e5c2e),
  2498. 241: uint32(0x9eb6a1cc),
  2499. 242: uint32(0xd35ea1ab),
  2500. 243: uint32(0x5ed65c49),
  2501. 244: uint32(0x488ea165),
  2502. 245: uint32(0xc5065c87),
  2503. 246: uint32(0x88ee5ce0),
  2504. 247: uint32(0x0566a102),
  2505. 248: uint32(0xa45fa6b8),
  2506. 249: uint32(0x29d75b5a),
  2507. 250: uint32(0x643f5b3d),
  2508. 251: uint32(0xe9b7a6df),
  2509. 252: uint32(0xffef5bf3),
  2510. 253: uint32(0x7267a611),
  2511. 254: uint32(0x3f8fa676),
  2512. 255: uint32(0xb2075b94),
  2513. },
  2514. 3: {
  2515. 1: uint32(0x80f0171f),
  2516. 2: uint32(0xda91287f),
  2517. 3: uint32(0x5a613f60),
  2518. 4: uint32(0x6e5356bf),
  2519. 5: uint32(0xeea341a0),
  2520. 6: uint32(0xb4c27ec0),
  2521. 7: uint32(0x343269df),
  2522. 8: uint32(0xdca6ad7e),
  2523. 9: uint32(0x5c56ba61),
  2524. 10: uint32(0x06378501),
  2525. 11: uint32(0x86c7921e),
  2526. 12: uint32(0xb2f5fbc1),
  2527. 13: uint32(0x3205ecde),
  2528. 14: uint32(0x6864d3be),
  2529. 15: uint32(0xe894c4a1),
  2530. 16: uint32(0x623c5cbd),
  2531. 17: uint32(0xe2cc4ba2),
  2532. 18: uint32(0xb8ad74c2),
  2533. 19: uint32(0x385d63dd),
  2534. 20: uint32(0x0c6f0a02),
  2535. 21: uint32(0x8c9f1d1d),
  2536. 22: uint32(0xd6fe227d),
  2537. 23: uint32(0x560e3562),
  2538. 24: uint32(0xbe9af1c3),
  2539. 25: uint32(0x3e6ae6dc),
  2540. 26: uint32(0x640bd9bc),
  2541. 27: uint32(0xe4fbcea3),
  2542. 28: uint32(0xd0c9a77c),
  2543. 29: uint32(0x5039b063),
  2544. 30: uint32(0x0a588f03),
  2545. 31: uint32(0x8aa8981c),
  2546. 32: uint32(0xc478b97a),
  2547. 33: uint32(0x4488ae65),
  2548. 34: uint32(0x1ee99105),
  2549. 35: uint32(0x9e19861a),
  2550. 36: uint32(0xaa2befc5),
  2551. 37: uint32(0x2adbf8da),
  2552. 38: uint32(0x70bac7ba),
  2553. 39: uint32(0xf04ad0a5),
  2554. 40: uint32(0x18de1404),
  2555. 41: uint32(0x982e031b),
  2556. 42: uint32(0xc24f3c7b),
  2557. 43: uint32(0x42bf2b64),
  2558. 44: uint32(0x768d42bb),
  2559. 45: uint32(0xf67d55a4),
  2560. 46: uint32(0xac1c6ac4),
  2561. 47: uint32(0x2cec7ddb),
  2562. 48: uint32(0xa644e5c7),
  2563. 49: uint32(0x26b4f2d8),
  2564. 50: uint32(0x7cd5cdb8),
  2565. 51: uint32(0xfc25daa7),
  2566. 52: uint32(0xc817b378),
  2567. 53: uint32(0x48e7a467),
  2568. 54: uint32(0x12869b07),
  2569. 55: uint32(0x92768c18),
  2570. 56: uint32(0x7ae248b9),
  2571. 57: uint32(0xfa125fa6),
  2572. 58: uint32(0xa07360c6),
  2573. 59: uint32(0x208377d9),
  2574. 60: uint32(0x14b11e06),
  2575. 61: uint32(0x94410919),
  2576. 62: uint32(0xce203679),
  2577. 63: uint32(0x4ed02166),
  2578. 64: uint32(0x538074b5),
  2579. 65: uint32(0xd37063aa),
  2580. 66: uint32(0x89115cca),
  2581. 67: uint32(0x09e14bd5),
  2582. 68: uint32(0x3dd3220a),
  2583. 69: uint32(0xbd233515),
  2584. 70: uint32(0xe7420a75),
  2585. 71: uint32(0x67b21d6a),
  2586. 72: uint32(0x8f26d9cb),
  2587. 73: uint32(0x0fd6ced4),
  2588. 74: uint32(0x55b7f1b4),
  2589. 75: uint32(0xd547e6ab),
  2590. 76: uint32(0xe1758f74),
  2591. 77: uint32(0x6185986b),
  2592. 78: uint32(0x3be4a70b),
  2593. 79: uint32(0xbb14b014),
  2594. 80: uint32(0x31bc2808),
  2595. 81: uint32(0xb14c3f17),
  2596. 82: uint32(0xeb2d0077),
  2597. 83: uint32(0x6bdd1768),
  2598. 84: uint32(0x5fef7eb7),
  2599. 85: uint32(0xdf1f69a8),
  2600. 86: uint32(0x857e56c8),
  2601. 87: uint32(0x058e41d7),
  2602. 88: uint32(0xed1a8576),
  2603. 89: uint32(0x6dea9269),
  2604. 90: uint32(0x378bad09),
  2605. 91: uint32(0xb77bba16),
  2606. 92: uint32(0x8349d3c9),
  2607. 93: uint32(0x03b9c4d6),
  2608. 94: uint32(0x59d8fbb6),
  2609. 95: uint32(0xd928eca9),
  2610. 96: uint32(0x97f8cdcf),
  2611. 97: uint32(0x1708dad0),
  2612. 98: uint32(0x4d69e5b0),
  2613. 99: uint32(0xcd99f2af),
  2614. 100: uint32(0xf9ab9b70),
  2615. 101: uint32(0x795b8c6f),
  2616. 102: uint32(0x233ab30f),
  2617. 103: uint32(0xa3caa410),
  2618. 104: uint32(0x4b5e60b1),
  2619. 105: uint32(0xcbae77ae),
  2620. 106: uint32(0x91cf48ce),
  2621. 107: uint32(0x113f5fd1),
  2622. 108: uint32(0x250d360e),
  2623. 109: uint32(0xa5fd2111),
  2624. 110: uint32(0xff9c1e71),
  2625. 111: uint32(0x7f6c096e),
  2626. 112: uint32(0xf5c49172),
  2627. 113: uint32(0x7534866d),
  2628. 114: uint32(0x2f55b90d),
  2629. 115: uint32(0xafa5ae12),
  2630. 116: uint32(0x9b97c7cd),
  2631. 117: uint32(0x1b67d0d2),
  2632. 118: uint32(0x4106efb2),
  2633. 119: uint32(0xc1f6f8ad),
  2634. 120: uint32(0x29623c0c),
  2635. 121: uint32(0xa9922b13),
  2636. 122: uint32(0xf3f31473),
  2637. 123: uint32(0x7303036c),
  2638. 124: uint32(0x47316ab3),
  2639. 125: uint32(0xc7c17dac),
  2640. 126: uint32(0x9da042cc),
  2641. 127: uint32(0x1d5055d3),
  2642. 128: uint32(0xa700e96a),
  2643. 129: uint32(0x27f0fe75),
  2644. 130: uint32(0x7d91c115),
  2645. 131: uint32(0xfd61d60a),
  2646. 132: uint32(0xc953bfd5),
  2647. 133: uint32(0x49a3a8ca),
  2648. 134: uint32(0x13c297aa),
  2649. 135: uint32(0x933280b5),
  2650. 136: uint32(0x7ba64414),
  2651. 137: uint32(0xfb56530b),
  2652. 138: uint32(0xa1376c6b),
  2653. 139: uint32(0x21c77b74),
  2654. 140: uint32(0x15f512ab),
  2655. 141: uint32(0x950505b4),
  2656. 142: uint32(0xcf643ad4),
  2657. 143: uint32(0x4f942dcb),
  2658. 144: uint32(0xc53cb5d7),
  2659. 145: uint32(0x45cca2c8),
  2660. 146: uint32(0x1fad9da8),
  2661. 147: uint32(0x9f5d8ab7),
  2662. 148: uint32(0xab6fe368),
  2663. 149: uint32(0x2b9ff477),
  2664. 150: uint32(0x71fecb17),
  2665. 151: uint32(0xf10edc08),
  2666. 152: uint32(0x199a18a9),
  2667. 153: uint32(0x996a0fb6),
  2668. 154: uint32(0xc30b30d6),
  2669. 155: uint32(0x43fb27c9),
  2670. 156: uint32(0x77c94e16),
  2671. 157: uint32(0xf7395909),
  2672. 158: uint32(0xad586669),
  2673. 159: uint32(0x2da87176),
  2674. 160: uint32(0x63785010),
  2675. 161: uint32(0xe388470f),
  2676. 162: uint32(0xb9e9786f),
  2677. 163: uint32(0x39196f70),
  2678. 164: uint32(0x0d2b06af),
  2679. 165: uint32(0x8ddb11b0),
  2680. 166: uint32(0xd7ba2ed0),
  2681. 167: uint32(0x574a39cf),
  2682. 168: uint32(0xbfdefd6e),
  2683. 169: uint32(0x3f2eea71),
  2684. 170: uint32(0x654fd511),
  2685. 171: uint32(0xe5bfc20e),
  2686. 172: uint32(0xd18dabd1),
  2687. 173: uint32(0x517dbcce),
  2688. 174: uint32(0x0b1c83ae),
  2689. 175: uint32(0x8bec94b1),
  2690. 176: uint32(0x01440cad),
  2691. 177: uint32(0x81b41bb2),
  2692. 178: uint32(0xdbd524d2),
  2693. 179: uint32(0x5b2533cd),
  2694. 180: uint32(0x6f175a12),
  2695. 181: uint32(0xefe74d0d),
  2696. 182: uint32(0xb586726d),
  2697. 183: uint32(0x35766572),
  2698. 184: uint32(0xdde2a1d3),
  2699. 185: uint32(0x5d12b6cc),
  2700. 186: uint32(0x077389ac),
  2701. 187: uint32(0x87839eb3),
  2702. 188: uint32(0xb3b1f76c),
  2703. 189: uint32(0x3341e073),
  2704. 190: uint32(0x6920df13),
  2705. 191: uint32(0xe9d0c80c),
  2706. 192: uint32(0xf4809ddf),
  2707. 193: uint32(0x74708ac0),
  2708. 194: uint32(0x2e11b5a0),
  2709. 195: uint32(0xaee1a2bf),
  2710. 196: uint32(0x9ad3cb60),
  2711. 197: uint32(0x1a23dc7f),
  2712. 198: uint32(0x4042e31f),
  2713. 199: uint32(0xc0b2f400),
  2714. 200: uint32(0x282630a1),
  2715. 201: uint32(0xa8d627be),
  2716. 202: uint32(0xf2b718de),
  2717. 203: uint32(0x72470fc1),
  2718. 204: uint32(0x4675661e),
  2719. 205: uint32(0xc6857101),
  2720. 206: uint32(0x9ce44e61),
  2721. 207: uint32(0x1c14597e),
  2722. 208: uint32(0x96bcc162),
  2723. 209: uint32(0x164cd67d),
  2724. 210: uint32(0x4c2de91d),
  2725. 211: uint32(0xccddfe02),
  2726. 212: uint32(0xf8ef97dd),
  2727. 213: uint32(0x781f80c2),
  2728. 214: uint32(0x227ebfa2),
  2729. 215: uint32(0xa28ea8bd),
  2730. 216: uint32(0x4a1a6c1c),
  2731. 217: uint32(0xcaea7b03),
  2732. 218: uint32(0x908b4463),
  2733. 219: uint32(0x107b537c),
  2734. 220: uint32(0x24493aa3),
  2735. 221: uint32(0xa4b92dbc),
  2736. 222: uint32(0xfed812dc),
  2737. 223: uint32(0x7e2805c3),
  2738. 224: uint32(0x30f824a5),
  2739. 225: uint32(0xb00833ba),
  2740. 226: uint32(0xea690cda),
  2741. 227: uint32(0x6a991bc5),
  2742. 228: uint32(0x5eab721a),
  2743. 229: uint32(0xde5b6505),
  2744. 230: uint32(0x843a5a65),
  2745. 231: uint32(0x04ca4d7a),
  2746. 232: uint32(0xec5e89db),
  2747. 233: uint32(0x6cae9ec4),
  2748. 234: uint32(0x36cfa1a4),
  2749. 235: uint32(0xb63fb6bb),
  2750. 236: uint32(0x820ddf64),
  2751. 237: uint32(0x02fdc87b),
  2752. 238: uint32(0x589cf71b),
  2753. 239: uint32(0xd86ce004),
  2754. 240: uint32(0x52c47818),
  2755. 241: uint32(0xd2346f07),
  2756. 242: uint32(0x88555067),
  2757. 243: uint32(0x08a54778),
  2758. 244: uint32(0x3c972ea7),
  2759. 245: uint32(0xbc6739b8),
  2760. 246: uint32(0xe60606d8),
  2761. 247: uint32(0x66f611c7),
  2762. 248: uint32(0x8e62d566),
  2763. 249: uint32(0x0e92c279),
  2764. 250: uint32(0x54f3fd19),
  2765. 251: uint32(0xd403ea06),
  2766. 252: uint32(0xe03183d9),
  2767. 253: uint32(0x60c194c6),
  2768. 254: uint32(0x3aa0aba6),
  2769. 255: uint32(0xba50bcb9),
  2770. },
  2771. 4: {
  2772. 1: uint32(0x9570d495),
  2773. 2: uint32(0xf190af6b),
  2774. 3: uint32(0x64e07bfe),
  2775. 4: uint32(0x38505897),
  2776. 5: uint32(0xad208c02),
  2777. 6: uint32(0xc9c0f7fc),
  2778. 7: uint32(0x5cb02369),
  2779. 8: uint32(0x70a0b12e),
  2780. 9: uint32(0xe5d065bb),
  2781. 10: uint32(0x81301e45),
  2782. 11: uint32(0x1440cad0),
  2783. 12: uint32(0x48f0e9b9),
  2784. 13: uint32(0xdd803d2c),
  2785. 14: uint32(0xb96046d2),
  2786. 15: uint32(0x2c109247),
  2787. 16: uint32(0xe141625c),
  2788. 17: uint32(0x7431b6c9),
  2789. 18: uint32(0x10d1cd37),
  2790. 19: uint32(0x85a119a2),
  2791. 20: uint32(0xd9113acb),
  2792. 21: uint32(0x4c61ee5e),
  2793. 22: uint32(0x288195a0),
  2794. 23: uint32(0xbdf14135),
  2795. 24: uint32(0x91e1d372),
  2796. 25: uint32(0x049107e7),
  2797. 26: uint32(0x60717c19),
  2798. 27: uint32(0xf501a88c),
  2799. 28: uint32(0xa9b18be5),
  2800. 29: uint32(0x3cc15f70),
  2801. 30: uint32(0x5821248e),
  2802. 31: uint32(0xcd51f01b),
  2803. 32: uint32(0x19f3c2f9),
  2804. 33: uint32(0x8c83166c),
  2805. 34: uint32(0xe8636d92),
  2806. 35: uint32(0x7d13b907),
  2807. 36: uint32(0x21a39a6e),
  2808. 37: uint32(0xb4d34efb),
  2809. 38: uint32(0xd0333505),
  2810. 39: uint32(0x4543e190),
  2811. 40: uint32(0x695373d7),
  2812. 41: uint32(0xfc23a742),
  2813. 42: uint32(0x98c3dcbc),
  2814. 43: uint32(0x0db30829),
  2815. 44: uint32(0x51032b40),
  2816. 45: uint32(0xc473ffd5),
  2817. 46: uint32(0xa093842b),
  2818. 47: uint32(0x35e350be),
  2819. 48: uint32(0xf8b2a0a5),
  2820. 49: uint32(0x6dc27430),
  2821. 50: uint32(0x09220fce),
  2822. 51: uint32(0x9c52db5b),
  2823. 52: uint32(0xc0e2f832),
  2824. 53: uint32(0x55922ca7),
  2825. 54: uint32(0x31725759),
  2826. 55: uint32(0xa40283cc),
  2827. 56: uint32(0x8812118b),
  2828. 57: uint32(0x1d62c51e),
  2829. 58: uint32(0x7982bee0),
  2830. 59: uint32(0xecf26a75),
  2831. 60: uint32(0xb042491c),
  2832. 61: uint32(0x25329d89),
  2833. 62: uint32(0x41d2e677),
  2834. 63: uint32(0xd4a232e2),
  2835. 64: uint32(0x33e785f2),
  2836. 65: uint32(0xa6975167),
  2837. 66: uint32(0xc2772a99),
  2838. 67: uint32(0x5707fe0c),
  2839. 68: uint32(0x0bb7dd65),
  2840. 69: uint32(0x9ec709f0),
  2841. 70: uint32(0xfa27720e),
  2842. 71: uint32(0x6f57a69b),
  2843. 72: uint32(0x434734dc),
  2844. 73: uint32(0xd637e049),
  2845. 74: uint32(0xb2d79bb7),
  2846. 75: uint32(0x27a74f22),
  2847. 76: uint32(0x7b176c4b),
  2848. 77: uint32(0xee67b8de),
  2849. 78: uint32(0x8a87c320),
  2850. 79: uint32(0x1ff717b5),
  2851. 80: uint32(0xd2a6e7ae),
  2852. 81: uint32(0x47d6333b),
  2853. 82: uint32(0x233648c5),
  2854. 83: uint32(0xb6469c50),
  2855. 84: uint32(0xeaf6bf39),
  2856. 85: uint32(0x7f866bac),
  2857. 86: uint32(0x1b661052),
  2858. 87: uint32(0x8e16c4c7),
  2859. 88: uint32(0xa2065680),
  2860. 89: uint32(0x37768215),
  2861. 90: uint32(0x5396f9eb),
  2862. 91: uint32(0xc6e62d7e),
  2863. 92: uint32(0x9a560e17),
  2864. 93: uint32(0x0f26da82),
  2865. 94: uint32(0x6bc6a17c),
  2866. 95: uint32(0xfeb675e9),
  2867. 96: uint32(0x2a14470b),
  2868. 97: uint32(0xbf64939e),
  2869. 98: uint32(0xdb84e860),
  2870. 99: uint32(0x4ef43cf5),
  2871. 100: uint32(0x12441f9c),
  2872. 101: uint32(0x8734cb09),
  2873. 102: uint32(0xe3d4b0f7),
  2874. 103: uint32(0x76a46462),
  2875. 104: uint32(0x5ab4f625),
  2876. 105: uint32(0xcfc422b0),
  2877. 106: uint32(0xab24594e),
  2878. 107: uint32(0x3e548ddb),
  2879. 108: uint32(0x62e4aeb2),
  2880. 109: uint32(0xf7947a27),
  2881. 110: uint32(0x937401d9),
  2882. 111: uint32(0x0604d54c),
  2883. 112: uint32(0xcb552557),
  2884. 113: uint32(0x5e25f1c2),
  2885. 114: uint32(0x3ac58a3c),
  2886. 115: uint32(0xafb55ea9),
  2887. 116: uint32(0xf3057dc0),
  2888. 117: uint32(0x6675a955),
  2889. 118: uint32(0x0295d2ab),
  2890. 119: uint32(0x97e5063e),
  2891. 120: uint32(0xbbf59479),
  2892. 121: uint32(0x2e8540ec),
  2893. 122: uint32(0x4a653b12),
  2894. 123: uint32(0xdf15ef87),
  2895. 124: uint32(0x83a5ccee),
  2896. 125: uint32(0x16d5187b),
  2897. 126: uint32(0x72356385),
  2898. 127: uint32(0xe745b710),
  2899. 128: uint32(0x67cf0be4),
  2900. 129: uint32(0xf2bfdf71),
  2901. 130: uint32(0x965fa48f),
  2902. 131: uint32(0x032f701a),
  2903. 132: uint32(0x5f9f5373),
  2904. 133: uint32(0xcaef87e6),
  2905. 134: uint32(0xae0ffc18),
  2906. 135: uint32(0x3b7f288d),
  2907. 136: uint32(0x176fbaca),
  2908. 137: uint32(0x821f6e5f),
  2909. 138: uint32(0xe6ff15a1),
  2910. 139: uint32(0x738fc134),
  2911. 140: uint32(0x2f3fe25d),
  2912. 141: uint32(0xba4f36c8),
  2913. 142: uint32(0xdeaf4d36),
  2914. 143: uint32(0x4bdf99a3),
  2915. 144: uint32(0x868e69b8),
  2916. 145: uint32(0x13febd2d),
  2917. 146: uint32(0x771ec6d3),
  2918. 147: uint32(0xe26e1246),
  2919. 148: uint32(0xbede312f),
  2920. 149: uint32(0x2baee5ba),
  2921. 150: uint32(0x4f4e9e44),
  2922. 151: uint32(0xda3e4ad1),
  2923. 152: uint32(0xf62ed896),
  2924. 153: uint32(0x635e0c03),
  2925. 154: uint32(0x07be77fd),
  2926. 155: uint32(0x92cea368),
  2927. 156: uint32(0xce7e8001),
  2928. 157: uint32(0x5b0e5494),
  2929. 158: uint32(0x3fee2f6a),
  2930. 159: uint32(0xaa9efbff),
  2931. 160: uint32(0x7e3cc91d),
  2932. 161: uint32(0xeb4c1d88),
  2933. 162: uint32(0x8fac6676),
  2934. 163: uint32(0x1adcb2e3),
  2935. 164: uint32(0x466c918a),
  2936. 165: uint32(0xd31c451f),
  2937. 166: uint32(0xb7fc3ee1),
  2938. 167: uint32(0x228cea74),
  2939. 168: uint32(0x0e9c7833),
  2940. 169: uint32(0x9becaca6),
  2941. 170: uint32(0xff0cd758),
  2942. 171: uint32(0x6a7c03cd),
  2943. 172: uint32(0x36cc20a4),
  2944. 173: uint32(0xa3bcf431),
  2945. 174: uint32(0xc75c8fcf),
  2946. 175: uint32(0x522c5b5a),
  2947. 176: uint32(0x9f7dab41),
  2948. 177: uint32(0x0a0d7fd4),
  2949. 178: uint32(0x6eed042a),
  2950. 179: uint32(0xfb9dd0bf),
  2951. 180: uint32(0xa72df3d6),
  2952. 181: uint32(0x325d2743),
  2953. 182: uint32(0x56bd5cbd),
  2954. 183: uint32(0xc3cd8828),
  2955. 184: uint32(0xefdd1a6f),
  2956. 185: uint32(0x7aadcefa),
  2957. 186: uint32(0x1e4db504),
  2958. 187: uint32(0x8b3d6191),
  2959. 188: uint32(0xd78d42f8),
  2960. 189: uint32(0x42fd966d),
  2961. 190: uint32(0x261ded93),
  2962. 191: uint32(0xb36d3906),
  2963. 192: uint32(0x54288e16),
  2964. 193: uint32(0xc1585a83),
  2965. 194: uint32(0xa5b8217d),
  2966. 195: uint32(0x30c8f5e8),
  2967. 196: uint32(0x6c78d681),
  2968. 197: uint32(0xf9080214),
  2969. 198: uint32(0x9de879ea),
  2970. 199: uint32(0x0898ad7f),
  2971. 200: uint32(0x24883f38),
  2972. 201: uint32(0xb1f8ebad),
  2973. 202: uint32(0xd5189053),
  2974. 203: uint32(0x406844c6),
  2975. 204: uint32(0x1cd867af),
  2976. 205: uint32(0x89a8b33a),
  2977. 206: uint32(0xed48c8c4),
  2978. 207: uint32(0x78381c51),
  2979. 208: uint32(0xb569ec4a),
  2980. 209: uint32(0x201938df),
  2981. 210: uint32(0x44f94321),
  2982. 211: uint32(0xd18997b4),
  2983. 212: uint32(0x8d39b4dd),
  2984. 213: uint32(0x18496048),
  2985. 214: uint32(0x7ca91bb6),
  2986. 215: uint32(0xe9d9cf23),
  2987. 216: uint32(0xc5c95d64),
  2988. 217: uint32(0x50b989f1),
  2989. 218: uint32(0x3459f20f),
  2990. 219: uint32(0xa129269a),
  2991. 220: uint32(0xfd9905f3),
  2992. 221: uint32(0x68e9d166),
  2993. 222: uint32(0x0c09aa98),
  2994. 223: uint32(0x99797e0d),
  2995. 224: uint32(0x4ddb4cef),
  2996. 225: uint32(0xd8ab987a),
  2997. 226: uint32(0xbc4be384),
  2998. 227: uint32(0x293b3711),
  2999. 228: uint32(0x758b1478),
  3000. 229: uint32(0xe0fbc0ed),
  3001. 230: uint32(0x841bbb13),
  3002. 231: uint32(0x116b6f86),
  3003. 232: uint32(0x3d7bfdc1),
  3004. 233: uint32(0xa80b2954),
  3005. 234: uint32(0xcceb52aa),
  3006. 235: uint32(0x599b863f),
  3007. 236: uint32(0x052ba556),
  3008. 237: uint32(0x905b71c3),
  3009. 238: uint32(0xf4bb0a3d),
  3010. 239: uint32(0x61cbdea8),
  3011. 240: uint32(0xac9a2eb3),
  3012. 241: uint32(0x39eafa26),
  3013. 242: uint32(0x5d0a81d8),
  3014. 243: uint32(0xc87a554d),
  3015. 244: uint32(0x94ca7624),
  3016. 245: uint32(0x01baa2b1),
  3017. 246: uint32(0x655ad94f),
  3018. 247: uint32(0xf02a0dda),
  3019. 248: uint32(0xdc3a9f9d),
  3020. 249: uint32(0x494a4b08),
  3021. 250: uint32(0x2daa30f6),
  3022. 251: uint32(0xb8dae463),
  3023. 252: uint32(0xe46ac70a),
  3024. 253: uint32(0x711a139f),
  3025. 254: uint32(0x15fa6861),
  3026. 255: uint32(0x808abcf4),
  3027. },
  3028. 5: {
  3029. 1: uint32(0xcf9e17c8),
  3030. 2: uint32(0x444d29d1),
  3031. 3: uint32(0x8bd33e19),
  3032. 4: uint32(0x889a53a2),
  3033. 5: uint32(0x4704446a),
  3034. 6: uint32(0xccd77a73),
  3035. 7: uint32(0x03496dbb),
  3036. 8: uint32(0xca45a105),
  3037. 9: uint32(0x05dbb6cd),
  3038. 10: uint32(0x8e0888d4),
  3039. 11: uint32(0x41969f1c),
  3040. 12: uint32(0x42dff2a7),
  3041. 13: uint32(0x8d41e56f),
  3042. 14: uint32(0x0692db76),
  3043. 15: uint32(0xc90cccbe),
  3044. 16: uint32(0x4ffa444b),
  3045. 17: uint32(0x80645383),
  3046. 18: uint32(0x0bb76d9a),
  3047. 19: uint32(0xc4297a52),
  3048. 20: uint32(0xc76017e9),
  3049. 21: uint32(0x08fe0021),
  3050. 22: uint32(0x832d3e38),
  3051. 23: uint32(0x4cb329f0),
  3052. 24: uint32(0x85bfe54e),
  3053. 25: uint32(0x4a21f286),
  3054. 26: uint32(0xc1f2cc9f),
  3055. 27: uint32(0x0e6cdb57),
  3056. 28: uint32(0x0d25b6ec),
  3057. 29: uint32(0xc2bba124),
  3058. 30: uint32(0x49689f3d),
  3059. 31: uint32(0x86f688f5),
  3060. 32: uint32(0x9ff48896),
  3061. 33: uint32(0x506a9f5e),
  3062. 34: uint32(0xdbb9a147),
  3063. 35: uint32(0x1427b68f),
  3064. 36: uint32(0x176edb34),
  3065. 37: uint32(0xd8f0ccfc),
  3066. 38: uint32(0x5323f2e5),
  3067. 39: uint32(0x9cbde52d),
  3068. 40: uint32(0x55b12993),
  3069. 41: uint32(0x9a2f3e5b),
  3070. 42: uint32(0x11fc0042),
  3071. 43: uint32(0xde62178a),
  3072. 44: uint32(0xdd2b7a31),
  3073. 45: uint32(0x12b56df9),
  3074. 46: uint32(0x996653e0),
  3075. 47: uint32(0x56f84428),
  3076. 48: uint32(0xd00eccdd),
  3077. 49: uint32(0x1f90db15),
  3078. 50: uint32(0x9443e50c),
  3079. 51: uint32(0x5bddf2c4),
  3080. 52: uint32(0x58949f7f),
  3081. 53: uint32(0x970a88b7),
  3082. 54: uint32(0x1cd9b6ae),
  3083. 55: uint32(0xd347a166),
  3084. 56: uint32(0x1a4b6dd8),
  3085. 57: uint32(0xd5d57a10),
  3086. 58: uint32(0x5e064409),
  3087. 59: uint32(0x919853c1),
  3088. 60: uint32(0x92d13e7a),
  3089. 61: uint32(0x5d4f29b2),
  3090. 62: uint32(0xd69c17ab),
  3091. 63: uint32(0x19020063),
  3092. 64: uint32(0xe498176d),
  3093. 65: uint32(0x2b0600a5),
  3094. 66: uint32(0xa0d53ebc),
  3095. 67: uint32(0x6f4b2974),
  3096. 68: uint32(0x6c0244cf),
  3097. 69: uint32(0xa39c5307),
  3098. 70: uint32(0x284f6d1e),
  3099. 71: uint32(0xe7d17ad6),
  3100. 72: uint32(0x2eddb668),
  3101. 73: uint32(0xe143a1a0),
  3102. 74: uint32(0x6a909fb9),
  3103. 75: uint32(0xa50e8871),
  3104. 76: uint32(0xa647e5ca),
  3105. 77: uint32(0x69d9f202),
  3106. 78: uint32(0xe20acc1b),
  3107. 79: uint32(0x2d94dbd3),
  3108. 80: uint32(0xab625326),
  3109. 81: uint32(0x64fc44ee),
  3110. 82: uint32(0xef2f7af7),
  3111. 83: uint32(0x20b16d3f),
  3112. 84: uint32(0x23f80084),
  3113. 85: uint32(0xec66174c),
  3114. 86: uint32(0x67b52955),
  3115. 87: uint32(0xa82b3e9d),
  3116. 88: uint32(0x6127f223),
  3117. 89: uint32(0xaeb9e5eb),
  3118. 90: uint32(0x256adbf2),
  3119. 91: uint32(0xeaf4cc3a),
  3120. 92: uint32(0xe9bda181),
  3121. 93: uint32(0x2623b649),
  3122. 94: uint32(0xadf08850),
  3123. 95: uint32(0x626e9f98),
  3124. 96: uint32(0x7b6c9ffb),
  3125. 97: uint32(0xb4f28833),
  3126. 98: uint32(0x3f21b62a),
  3127. 99: uint32(0xf0bfa1e2),
  3128. 100: uint32(0xf3f6cc59),
  3129. 101: uint32(0x3c68db91),
  3130. 102: uint32(0xb7bbe588),
  3131. 103: uint32(0x7825f240),
  3132. 104: uint32(0xb1293efe),
  3133. 105: uint32(0x7eb72936),
  3134. 106: uint32(0xf564172f),
  3135. 107: uint32(0x3afa00e7),
  3136. 108: uint32(0x39b36d5c),
  3137. 109: uint32(0xf62d7a94),
  3138. 110: uint32(0x7dfe448d),
  3139. 111: uint32(0xb2605345),
  3140. 112: uint32(0x3496dbb0),
  3141. 113: uint32(0xfb08cc78),
  3142. 114: uint32(0x70dbf261),
  3143. 115: uint32(0xbf45e5a9),
  3144. 116: uint32(0xbc0c8812),
  3145. 117: uint32(0x73929fda),
  3146. 118: uint32(0xf841a1c3),
  3147. 119: uint32(0x37dfb60b),
  3148. 120: uint32(0xfed37ab5),
  3149. 121: uint32(0x314d6d7d),
  3150. 122: uint32(0xba9e5364),
  3151. 123: uint32(0x750044ac),
  3152. 124: uint32(0x76492917),
  3153. 125: uint32(0xb9d73edf),
  3154. 126: uint32(0x320400c6),
  3155. 127: uint32(0xfd9a170e),
  3156. 128: uint32(0x1241289b),
  3157. 129: uint32(0xdddf3f53),
  3158. 130: uint32(0x560c014a),
  3159. 131: uint32(0x99921682),
  3160. 132: uint32(0x9adb7b39),
  3161. 133: uint32(0x55456cf1),
  3162. 134: uint32(0xde9652e8),
  3163. 135: uint32(0x11084520),
  3164. 136: uint32(0xd804899e),
  3165. 137: uint32(0x179a9e56),
  3166. 138: uint32(0x9c49a04f),
  3167. 139: uint32(0x53d7b787),
  3168. 140: uint32(0x509eda3c),
  3169. 141: uint32(0x9f00cdf4),
  3170. 142: uint32(0x14d3f3ed),
  3171. 143: uint32(0xdb4de425),
  3172. 144: uint32(0x5dbb6cd0),
  3173. 145: uint32(0x92257b18),
  3174. 146: uint32(0x19f64501),
  3175. 147: uint32(0xd66852c9),
  3176. 148: uint32(0xd5213f72),
  3177. 149: uint32(0x1abf28ba),
  3178. 150: uint32(0x916c16a3),
  3179. 151: uint32(0x5ef2016b),
  3180. 152: uint32(0x97fecdd5),
  3181. 153: uint32(0x5860da1d),
  3182. 154: uint32(0xd3b3e404),
  3183. 155: uint32(0x1c2df3cc),
  3184. 156: uint32(0x1f649e77),
  3185. 157: uint32(0xd0fa89bf),
  3186. 158: uint32(0x5b29b7a6),
  3187. 159: uint32(0x94b7a06e),
  3188. 160: uint32(0x8db5a00d),
  3189. 161: uint32(0x422bb7c5),
  3190. 162: uint32(0xc9f889dc),
  3191. 163: uint32(0x06669e14),
  3192. 164: uint32(0x052ff3af),
  3193. 165: uint32(0xcab1e467),
  3194. 166: uint32(0x4162da7e),
  3195. 167: uint32(0x8efccdb6),
  3196. 168: uint32(0x47f00108),
  3197. 169: uint32(0x886e16c0),
  3198. 170: uint32(0x03bd28d9),
  3199. 171: uint32(0xcc233f11),
  3200. 172: uint32(0xcf6a52aa),
  3201. 173: uint32(0x00f44562),
  3202. 174: uint32(0x8b277b7b),
  3203. 175: uint32(0x44b96cb3),
  3204. 176: uint32(0xc24fe446),
  3205. 177: uint32(0x0dd1f38e),
  3206. 178: uint32(0x8602cd97),
  3207. 179: uint32(0x499cda5f),
  3208. 180: uint32(0x4ad5b7e4),
  3209. 181: uint32(0x854ba02c),
  3210. 182: uint32(0x0e989e35),
  3211. 183: uint32(0xc10689fd),
  3212. 184: uint32(0x080a4543),
  3213. 185: uint32(0xc794528b),
  3214. 186: uint32(0x4c476c92),
  3215. 187: uint32(0x83d97b5a),
  3216. 188: uint32(0x809016e1),
  3217. 189: uint32(0x4f0e0129),
  3218. 190: uint32(0xc4dd3f30),
  3219. 191: uint32(0x0b4328f8),
  3220. 192: uint32(0xf6d93ff6),
  3221. 193: uint32(0x3947283e),
  3222. 194: uint32(0xb2941627),
  3223. 195: uint32(0x7d0a01ef),
  3224. 196: uint32(0x7e436c54),
  3225. 197: uint32(0xb1dd7b9c),
  3226. 198: uint32(0x3a0e4585),
  3227. 199: uint32(0xf590524d),
  3228. 200: uint32(0x3c9c9ef3),
  3229. 201: uint32(0xf302893b),
  3230. 202: uint32(0x78d1b722),
  3231. 203: uint32(0xb74fa0ea),
  3232. 204: uint32(0xb406cd51),
  3233. 205: uint32(0x7b98da99),
  3234. 206: uint32(0xf04be480),
  3235. 207: uint32(0x3fd5f348),
  3236. 208: uint32(0xb9237bbd),
  3237. 209: uint32(0x76bd6c75),
  3238. 210: uint32(0xfd6e526c),
  3239. 211: uint32(0x32f045a4),
  3240. 212: uint32(0x31b9281f),
  3241. 213: uint32(0xfe273fd7),
  3242. 214: uint32(0x75f401ce),
  3243. 215: uint32(0xba6a1606),
  3244. 216: uint32(0x7366dab8),
  3245. 217: uint32(0xbcf8cd70),
  3246. 218: uint32(0x372bf369),
  3247. 219: uint32(0xf8b5e4a1),
  3248. 220: uint32(0xfbfc891a),
  3249. 221: uint32(0x34629ed2),
  3250. 222: uint32(0xbfb1a0cb),
  3251. 223: uint32(0x702fb703),
  3252. 224: uint32(0x692db760),
  3253. 225: uint32(0xa6b3a0a8),
  3254. 226: uint32(0x2d609eb1),
  3255. 227: uint32(0xe2fe8979),
  3256. 228: uint32(0xe1b7e4c2),
  3257. 229: uint32(0x2e29f30a),
  3258. 230: uint32(0xa5facd13),
  3259. 231: uint32(0x6a64dadb),
  3260. 232: uint32(0xa3681665),
  3261. 233: uint32(0x6cf601ad),
  3262. 234: uint32(0xe7253fb4),
  3263. 235: uint32(0x28bb287c),
  3264. 236: uint32(0x2bf245c7),
  3265. 237: uint32(0xe46c520f),
  3266. 238: uint32(0x6fbf6c16),
  3267. 239: uint32(0xa0217bde),
  3268. 240: uint32(0x26d7f32b),
  3269. 241: uint32(0xe949e4e3),
  3270. 242: uint32(0x629adafa),
  3271. 243: uint32(0xad04cd32),
  3272. 244: uint32(0xae4da089),
  3273. 245: uint32(0x61d3b741),
  3274. 246: uint32(0xea008958),
  3275. 247: uint32(0x259e9e90),
  3276. 248: uint32(0xec92522e),
  3277. 249: uint32(0x230c45e6),
  3278. 250: uint32(0xa8df7bff),
  3279. 251: uint32(0x67416c37),
  3280. 252: uint32(0x6408018c),
  3281. 253: uint32(0xab961644),
  3282. 254: uint32(0x2045285d),
  3283. 255: uint32(0xefdb3f95),
  3284. },
  3285. 6: {
  3286. 1: uint32(0x24825136),
  3287. 2: uint32(0x4904a26c),
  3288. 3: uint32(0x6d86f35a),
  3289. 4: uint32(0x920944d8),
  3290. 5: uint32(0xb68b15ee),
  3291. 6: uint32(0xdb0de6b4),
  3292. 7: uint32(0xff8fb782),
  3293. 8: uint32(0xff638ff1),
  3294. 9: uint32(0xdbe1dec7),
  3295. 10: uint32(0xb6672d9d),
  3296. 11: uint32(0x92e57cab),
  3297. 12: uint32(0x6d6acb29),
  3298. 13: uint32(0x49e89a1f),
  3299. 14: uint32(0x246e6945),
  3300. 15: uint32(0x00ec3873),
  3301. 16: uint32(0x25b619a3),
  3302. 17: uint32(0x01344895),
  3303. 18: uint32(0x6cb2bbcf),
  3304. 19: uint32(0x4830eaf9),
  3305. 20: uint32(0xb7bf5d7b),
  3306. 21: uint32(0x933d0c4d),
  3307. 22: uint32(0xfebbff17),
  3308. 23: uint32(0xda39ae21),
  3309. 24: uint32(0xdad59652),
  3310. 25: uint32(0xfe57c764),
  3311. 26: uint32(0x93d1343e),
  3312. 27: uint32(0xb7536508),
  3313. 28: uint32(0x48dcd28a),
  3314. 29: uint32(0x6c5e83bc),
  3315. 30: uint32(0x01d870e6),
  3316. 31: uint32(0x255a21d0),
  3317. 32: uint32(0x4b6c3346),
  3318. 33: uint32(0x6fee6270),
  3319. 34: uint32(0x0268912a),
  3320. 35: uint32(0x26eac01c),
  3321. 36: uint32(0xd965779e),
  3322. 37: uint32(0xfde726a8),
  3323. 38: uint32(0x9061d5f2),
  3324. 39: uint32(0xb4e384c4),
  3325. 40: uint32(0xb40fbcb7),
  3326. 41: uint32(0x908ded81),
  3327. 42: uint32(0xfd0b1edb),
  3328. 43: uint32(0xd9894fed),
  3329. 44: uint32(0x2606f86f),
  3330. 45: uint32(0x0284a959),
  3331. 46: uint32(0x6f025a03),
  3332. 47: uint32(0x4b800b35),
  3333. 48: uint32(0x6eda2ae5),
  3334. 49: uint32(0x4a587bd3),
  3335. 50: uint32(0x27de8889),
  3336. 51: uint32(0x035cd9bf),
  3337. 52: uint32(0xfcd36e3d),
  3338. 53: uint32(0xd8513f0b),
  3339. 54: uint32(0xb5d7cc51),
  3340. 55: uint32(0x91559d67),
  3341. 56: uint32(0x91b9a514),
  3342. 57: uint32(0xb53bf422),
  3343. 58: uint32(0xd8bd0778),
  3344. 59: uint32(0xfc3f564e),
  3345. 60: uint32(0x03b0e1cc),
  3346. 61: uint32(0x2732b0fa),
  3347. 62: uint32(0x4ab443a0),
  3348. 63: uint32(0x6e361296),
  3349. 64: uint32(0x96d8668c),
  3350. 65: uint32(0xb25a37ba),
  3351. 66: uint32(0xdfdcc4e0),
  3352. 67: uint32(0xfb5e95d6),
  3353. 68: uint32(0x04d12254),
  3354. 69: uint32(0x20537362),
  3355. 70: uint32(0x4dd58038),
  3356. 71: uint32(0x6957d10e),
  3357. 72: uint32(0x69bbe97d),
  3358. 73: uint32(0x4d39b84b),
  3359. 74: uint32(0x20bf4b11),
  3360. 75: uint32(0x043d1a27),
  3361. 76: uint32(0xfbb2ada5),
  3362. 77: uint32(0xdf30fc93),
  3363. 78: uint32(0xb2b60fc9),
  3364. 79: uint32(0x96345eff),
  3365. 80: uint32(0xb36e7f2f),
  3366. 81: uint32(0x97ec2e19),
  3367. 82: uint32(0xfa6add43),
  3368. 83: uint32(0xdee88c75),
  3369. 84: uint32(0x21673bf7),
  3370. 85: uint32(0x05e56ac1),
  3371. 86: uint32(0x6863999b),
  3372. 87: uint32(0x4ce1c8ad),
  3373. 88: uint32(0x4c0df0de),
  3374. 89: uint32(0x688fa1e8),
  3375. 90: uint32(0x050952b2),
  3376. 91: uint32(0x218b0384),
  3377. 92: uint32(0xde04b406),
  3378. 93: uint32(0xfa86e530),
  3379. 94: uint32(0x9700166a),
  3380. 95: uint32(0xb382475c),
  3381. 96: uint32(0xddb455ca),
  3382. 97: uint32(0xf93604fc),
  3383. 98: uint32(0x94b0f7a6),
  3384. 99: uint32(0xb032a690),
  3385. 100: uint32(0x4fbd1112),
  3386. 101: uint32(0x6b3f4024),
  3387. 102: uint32(0x06b9b37e),
  3388. 103: uint32(0x223be248),
  3389. 104: uint32(0x22d7da3b),
  3390. 105: uint32(0x06558b0d),
  3391. 106: uint32(0x6bd37857),
  3392. 107: uint32(0x4f512961),
  3393. 108: uint32(0xb0de9ee3),
  3394. 109: uint32(0x945ccfd5),
  3395. 110: uint32(0xf9da3c8f),
  3396. 111: uint32(0xdd586db9),
  3397. 112: uint32(0xf8024c69),
  3398. 113: uint32(0xdc801d5f),
  3399. 114: uint32(0xb106ee05),
  3400. 115: uint32(0x9584bf33),
  3401. 116: uint32(0x6a0b08b1),
  3402. 117: uint32(0x4e895987),
  3403. 118: uint32(0x230faadd),
  3404. 119: uint32(0x078dfbeb),
  3405. 120: uint32(0x0761c398),
  3406. 121: uint32(0x23e392ae),
  3407. 122: uint32(0x4e6561f4),
  3408. 123: uint32(0x6ae730c2),
  3409. 124: uint32(0x95688740),
  3410. 125: uint32(0xb1ead676),
  3411. 126: uint32(0xdc6c252c),
  3412. 127: uint32(0xf8ee741a),
  3413. 128: uint32(0xf6c1cb59),
  3414. 129: uint32(0xd2439a6f),
  3415. 130: uint32(0xbfc56935),
  3416. 131: uint32(0x9b473803),
  3417. 132: uint32(0x64c88f81),
  3418. 133: uint32(0x404adeb7),
  3419. 134: uint32(0x2dcc2ded),
  3420. 135: uint32(0x094e7cdb),
  3421. 136: uint32(0x09a244a8),
  3422. 137: uint32(0x2d20159e),
  3423. 138: uint32(0x40a6e6c4),
  3424. 139: uint32(0x6424b7f2),
  3425. 140: uint32(0x9bab0070),
  3426. 141: uint32(0xbf295146),
  3427. 142: uint32(0xd2afa21c),
  3428. 143: uint32(0xf62df32a),
  3429. 144: uint32(0xd377d2fa),
  3430. 145: uint32(0xf7f583cc),
  3431. 146: uint32(0x9a737096),
  3432. 147: uint32(0xbef121a0),
  3433. 148: uint32(0x417e9622),
  3434. 149: uint32(0x65fcc714),
  3435. 150: uint32(0x087a344e),
  3436. 151: uint32(0x2cf86578),
  3437. 152: uint32(0x2c145d0b),
  3438. 153: uint32(0x08960c3d),
  3439. 154: uint32(0x6510ff67),
  3440. 155: uint32(0x4192ae51),
  3441. 156: uint32(0xbe1d19d3),
  3442. 157: uint32(0x9a9f48e5),
  3443. 158: uint32(0xf719bbbf),
  3444. 159: uint32(0xd39bea89),
  3445. 160: uint32(0xbdadf81f),
  3446. 161: uint32(0x992fa929),
  3447. 162: uint32(0xf4a95a73),
  3448. 163: uint32(0xd02b0b45),
  3449. 164: uint32(0x2fa4bcc7),
  3450. 165: uint32(0x0b26edf1),
  3451. 166: uint32(0x66a01eab),
  3452. 167: uint32(0x42224f9d),
  3453. 168: uint32(0x42ce77ee),
  3454. 169: uint32(0x664c26d8),
  3455. 170: uint32(0x0bcad582),
  3456. 171: uint32(0x2f4884b4),
  3457. 172: uint32(0xd0c73336),
  3458. 173: uint32(0xf4456200),
  3459. 174: uint32(0x99c3915a),
  3460. 175: uint32(0xbd41c06c),
  3461. 176: uint32(0x981be1bc),
  3462. 177: uint32(0xbc99b08a),
  3463. 178: uint32(0xd11f43d0),
  3464. 179: uint32(0xf59d12e6),
  3465. 180: uint32(0x0a12a564),
  3466. 181: uint32(0x2e90f452),
  3467. 182: uint32(0x43160708),
  3468. 183: uint32(0x6794563e),
  3469. 184: uint32(0x67786e4d),
  3470. 185: uint32(0x43fa3f7b),
  3471. 186: uint32(0x2e7ccc21),
  3472. 187: uint32(0x0afe9d17),
  3473. 188: uint32(0xf5712a95),
  3474. 189: uint32(0xd1f37ba3),
  3475. 190: uint32(0xbc7588f9),
  3476. 191: uint32(0x98f7d9cf),
  3477. 192: uint32(0x6019add5),
  3478. 193: uint32(0x449bfce3),
  3479. 194: uint32(0x291d0fb9),
  3480. 195: uint32(0x0d9f5e8f),
  3481. 196: uint32(0xf210e90d),
  3482. 197: uint32(0xd692b83b),
  3483. 198: uint32(0xbb144b61),
  3484. 199: uint32(0x9f961a57),
  3485. 200: uint32(0x9f7a2224),
  3486. 201: uint32(0xbbf87312),
  3487. 202: uint32(0xd67e8048),
  3488. 203: uint32(0xf2fcd17e),
  3489. 204: uint32(0x0d7366fc),
  3490. 205: uint32(0x29f137ca),
  3491. 206: uint32(0x4477c490),
  3492. 207: uint32(0x60f595a6),
  3493. 208: uint32(0x45afb476),
  3494. 209: uint32(0x612de540),
  3495. 210: uint32(0x0cab161a),
  3496. 211: uint32(0x2829472c),
  3497. 212: uint32(0xd7a6f0ae),
  3498. 213: uint32(0xf324a198),
  3499. 214: uint32(0x9ea252c2),
  3500. 215: uint32(0xba2003f4),
  3501. 216: uint32(0xbacc3b87),
  3502. 217: uint32(0x9e4e6ab1),
  3503. 218: uint32(0xf3c899eb),
  3504. 219: uint32(0xd74ac8dd),
  3505. 220: uint32(0x28c57f5f),
  3506. 221: uint32(0x0c472e69),
  3507. 222: uint32(0x61c1dd33),
  3508. 223: uint32(0x45438c05),
  3509. 224: uint32(0x2b759e93),
  3510. 225: uint32(0x0ff7cfa5),
  3511. 226: uint32(0x62713cff),
  3512. 227: uint32(0x46f36dc9),
  3513. 228: uint32(0xb97cda4b),
  3514. 229: uint32(0x9dfe8b7d),
  3515. 230: uint32(0xf0787827),
  3516. 231: uint32(0xd4fa2911),
  3517. 232: uint32(0xd4161162),
  3518. 233: uint32(0xf0944054),
  3519. 234: uint32(0x9d12b30e),
  3520. 235: uint32(0xb990e238),
  3521. 236: uint32(0x461f55ba),
  3522. 237: uint32(0x629d048c),
  3523. 238: uint32(0x0f1bf7d6),
  3524. 239: uint32(0x2b99a6e0),
  3525. 240: uint32(0x0ec38730),
  3526. 241: uint32(0x2a41d606),
  3527. 242: uint32(0x47c7255c),
  3528. 243: uint32(0x6345746a),
  3529. 244: uint32(0x9ccac3e8),
  3530. 245: uint32(0xb84892de),
  3531. 246: uint32(0xd5ce6184),
  3532. 247: uint32(0xf14c30b2),
  3533. 248: uint32(0xf1a008c1),
  3534. 249: uint32(0xd52259f7),
  3535. 250: uint32(0xb8a4aaad),
  3536. 251: uint32(0x9c26fb9b),
  3537. 252: uint32(0x63a94c19),
  3538. 253: uint32(0x472b1d2f),
  3539. 254: uint32(0x2aadee75),
  3540. 255: uint32(0x0e2fbf43),
  3541. },
  3542. 7: {
  3543. 1: uint32(0x36f290f3),
  3544. 2: uint32(0x6de521e6),
  3545. 3: uint32(0x5b17b115),
  3546. 4: uint32(0xdbca43cc),
  3547. 5: uint32(0xed38d33f),
  3548. 6: uint32(0xb62f622a),
  3549. 7: uint32(0x80ddf2d9),
  3550. 8: uint32(0x6ce581d9),
  3551. 9: uint32(0x5a17112a),
  3552. 10: uint32(0x0100a03f),
  3553. 11: uint32(0x37f230cc),
  3554. 12: uint32(0xb72fc215),
  3555. 13: uint32(0x81dd52e6),
  3556. 14: uint32(0xdacae3f3),
  3557. 15: uint32(0xec387300),
  3558. 16: uint32(0xd9cb03b2),
  3559. 17: uint32(0xef399341),
  3560. 18: uint32(0xb42e2254),
  3561. 19: uint32(0x82dcb2a7),
  3562. 20: uint32(0x0201407e),
  3563. 21: uint32(0x34f3d08d),
  3564. 22: uint32(0x6fe46198),
  3565. 23: uint32(0x5916f16b),
  3566. 24: uint32(0xb52e826b),
  3567. 25: uint32(0x83dc1298),
  3568. 26: uint32(0xd8cba38d),
  3569. 27: uint32(0xee39337e),
  3570. 28: uint32(0x6ee4c1a7),
  3571. 29: uint32(0x58165154),
  3572. 30: uint32(0x0301e041),
  3573. 31: uint32(0x35f370b2),
  3574. 32: uint32(0x68e70125),
  3575. 33: uint32(0x5e1591d6),
  3576. 34: uint32(0x050220c3),
  3577. 35: uint32(0x33f0b030),
  3578. 36: uint32(0xb32d42e9),
  3579. 37: uint32(0x85dfd21a),
  3580. 38: uint32(0xdec8630f),
  3581. 39: uint32(0xe83af3fc),
  3582. 40: uint32(0x040280fc),
  3583. 41: uint32(0x32f0100f),
  3584. 42: uint32(0x69e7a11a),
  3585. 43: uint32(0x5f1531e9),
  3586. 44: uint32(0xdfc8c330),
  3587. 45: uint32(0xe93a53c3),
  3588. 46: uint32(0xb22de2d6),
  3589. 47: uint32(0x84df7225),
  3590. 48: uint32(0xb12c0297),
  3591. 49: uint32(0x87de9264),
  3592. 50: uint32(0xdcc92371),
  3593. 51: uint32(0xea3bb382),
  3594. 52: uint32(0x6ae6415b),
  3595. 53: uint32(0x5c14d1a8),
  3596. 54: uint32(0x070360bd),
  3597. 55: uint32(0x31f1f04e),
  3598. 56: uint32(0xddc9834e),
  3599. 57: uint32(0xeb3b13bd),
  3600. 58: uint32(0xb02ca2a8),
  3601. 59: uint32(0x86de325b),
  3602. 60: uint32(0x0603c082),
  3603. 61: uint32(0x30f15071),
  3604. 62: uint32(0x6be6e164),
  3605. 63: uint32(0x5d147197),
  3606. 64: uint32(0xd1ce024a),
  3607. 65: uint32(0xe73c92b9),
  3608. 66: uint32(0xbc2b23ac),
  3609. 67: uint32(0x8ad9b35f),
  3610. 68: uint32(0x0a044186),
  3611. 69: uint32(0x3cf6d175),
  3612. 70: uint32(0x67e16060),
  3613. 71: uint32(0x5113f093),
  3614. 72: uint32(0xbd2b8393),
  3615. 73: uint32(0x8bd91360),
  3616. 74: uint32(0xd0cea275),
  3617. 75: uint32(0xe63c3286),
  3618. 76: uint32(0x66e1c05f),
  3619. 77: uint32(0x501350ac),
  3620. 78: uint32(0x0b04e1b9),
  3621. 79: uint32(0x3df6714a),
  3622. 80: uint32(0x080501f8),
  3623. 81: uint32(0x3ef7910b),
  3624. 82: uint32(0x65e0201e),
  3625. 83: uint32(0x5312b0ed),
  3626. 84: uint32(0xd3cf4234),
  3627. 85: uint32(0xe53dd2c7),
  3628. 86: uint32(0xbe2a63d2),
  3629. 87: uint32(0x88d8f321),
  3630. 88: uint32(0x64e08021),
  3631. 89: uint32(0x521210d2),
  3632. 90: uint32(0x0905a1c7),
  3633. 91: uint32(0x3ff73134),
  3634. 92: uint32(0xbf2ac3ed),
  3635. 93: uint32(0x89d8531e),
  3636. 94: uint32(0xd2cfe20b),
  3637. 95: uint32(0xe43d72f8),
  3638. 96: uint32(0xb929036f),
  3639. 97: uint32(0x8fdb939c),
  3640. 98: uint32(0xd4cc2289),
  3641. 99: uint32(0xe23eb27a),
  3642. 100: uint32(0x62e340a3),
  3643. 101: uint32(0x5411d050),
  3644. 102: uint32(0x0f066145),
  3645. 103: uint32(0x39f4f1b6),
  3646. 104: uint32(0xd5cc82b6),
  3647. 105: uint32(0xe33e1245),
  3648. 106: uint32(0xb829a350),
  3649. 107: uint32(0x8edb33a3),
  3650. 108: uint32(0x0e06c17a),
  3651. 109: uint32(0x38f45189),
  3652. 110: uint32(0x63e3e09c),
  3653. 111: uint32(0x5511706f),
  3654. 112: uint32(0x60e200dd),
  3655. 113: uint32(0x5610902e),
  3656. 114: uint32(0x0d07213b),
  3657. 115: uint32(0x3bf5b1c8),
  3658. 116: uint32(0xbb284311),
  3659. 117: uint32(0x8ddad3e2),
  3660. 118: uint32(0xd6cd62f7),
  3661. 119: uint32(0xe03ff204),
  3662. 120: uint32(0x0c078104),
  3663. 121: uint32(0x3af511f7),
  3664. 122: uint32(0x61e2a0e2),
  3665. 123: uint32(0x57103011),
  3666. 124: uint32(0xd7cdc2c8),
  3667. 125: uint32(0xe13f523b),
  3668. 126: uint32(0xba28e32e),
  3669. 127: uint32(0x8cda73dd),
  3670. 128: uint32(0x78ed02d5),
  3671. 129: uint32(0x4e1f9226),
  3672. 130: uint32(0x15082333),
  3673. 131: uint32(0x23fab3c0),
  3674. 132: uint32(0xa3274119),
  3675. 133: uint32(0x95d5d1ea),
  3676. 134: uint32(0xcec260ff),
  3677. 135: uint32(0xf830f00c),
  3678. 136: uint32(0x1408830c),
  3679. 137: uint32(0x22fa13ff),
  3680. 138: uint32(0x79eda2ea),
  3681. 139: uint32(0x4f1f3219),
  3682. 140: uint32(0xcfc2c0c0),
  3683. 141: uint32(0xf9305033),
  3684. 142: uint32(0xa227e126),
  3685. 143: uint32(0x94d571d5),
  3686. 144: uint32(0xa1260167),
  3687. 145: uint32(0x97d49194),
  3688. 146: uint32(0xccc32081),
  3689. 147: uint32(0xfa31b072),
  3690. 148: uint32(0x7aec42ab),
  3691. 149: uint32(0x4c1ed258),
  3692. 150: uint32(0x1709634d),
  3693. 151: uint32(0x21fbf3be),
  3694. 152: uint32(0xcdc380be),
  3695. 153: uint32(0xfb31104d),
  3696. 154: uint32(0xa026a158),
  3697. 155: uint32(0x96d431ab),
  3698. 156: uint32(0x1609c372),
  3699. 157: uint32(0x20fb5381),
  3700. 158: uint32(0x7bece294),
  3701. 159: uint32(0x4d1e7267),
  3702. 160: uint32(0x100a03f0),
  3703. 161: uint32(0x26f89303),
  3704. 162: uint32(0x7def2216),
  3705. 163: uint32(0x4b1db2e5),
  3706. 164: uint32(0xcbc0403c),
  3707. 165: uint32(0xfd32d0cf),
  3708. 166: uint32(0xa62561da),
  3709. 167: uint32(0x90d7f129),
  3710. 168: uint32(0x7cef8229),
  3711. 169: uint32(0x4a1d12da),
  3712. 170: uint32(0x110aa3cf),
  3713. 171: uint32(0x27f8333c),
  3714. 172: uint32(0xa725c1e5),
  3715. 173: uint32(0x91d75116),
  3716. 174: uint32(0xcac0e003),
  3717. 175: uint32(0xfc3270f0),
  3718. 176: uint32(0xc9c10042),
  3719. 177: uint32(0xff3390b1),
  3720. 178: uint32(0xa42421a4),
  3721. 179: uint32(0x92d6b157),
  3722. 180: uint32(0x120b438e),
  3723. 181: uint32(0x24f9d37d),
  3724. 182: uint32(0x7fee6268),
  3725. 183: uint32(0x491cf29b),
  3726. 184: uint32(0xa524819b),
  3727. 185: uint32(0x93d61168),
  3728. 186: uint32(0xc8c1a07d),
  3729. 187: uint32(0xfe33308e),
  3730. 188: uint32(0x7eeec257),
  3731. 189: uint32(0x481c52a4),
  3732. 190: uint32(0x130be3b1),
  3733. 191: uint32(0x25f97342),
  3734. 192: uint32(0xa923009f),
  3735. 193: uint32(0x9fd1906c),
  3736. 194: uint32(0xc4c62179),
  3737. 195: uint32(0xf234b18a),
  3738. 196: uint32(0x72e94353),
  3739. 197: uint32(0x441bd3a0),
  3740. 198: uint32(0x1f0c62b5),
  3741. 199: uint32(0x29fef246),
  3742. 200: uint32(0xc5c68146),
  3743. 201: uint32(0xf33411b5),
  3744. 202: uint32(0xa823a0a0),
  3745. 203: uint32(0x9ed13053),
  3746. 204: uint32(0x1e0cc28a),
  3747. 205: uint32(0x28fe5279),
  3748. 206: uint32(0x73e9e36c),
  3749. 207: uint32(0x451b739f),
  3750. 208: uint32(0x70e8032d),
  3751. 209: uint32(0x461a93de),
  3752. 210: uint32(0x1d0d22cb),
  3753. 211: uint32(0x2bffb238),
  3754. 212: uint32(0xab2240e1),
  3755. 213: uint32(0x9dd0d012),
  3756. 214: uint32(0xc6c76107),
  3757. 215: uint32(0xf035f1f4),
  3758. 216: uint32(0x1c0d82f4),
  3759. 217: uint32(0x2aff1207),
  3760. 218: uint32(0x71e8a312),
  3761. 219: uint32(0x471a33e1),
  3762. 220: uint32(0xc7c7c138),
  3763. 221: uint32(0xf13551cb),
  3764. 222: uint32(0xaa22e0de),
  3765. 223: uint32(0x9cd0702d),
  3766. 224: uint32(0xc1c401ba),
  3767. 225: uint32(0xf7369149),
  3768. 226: uint32(0xac21205c),
  3769. 227: uint32(0x9ad3b0af),
  3770. 228: uint32(0x1a0e4276),
  3771. 229: uint32(0x2cfcd285),
  3772. 230: uint32(0x77eb6390),
  3773. 231: uint32(0x4119f363),
  3774. 232: uint32(0xad218063),
  3775. 233: uint32(0x9bd31090),
  3776. 234: uint32(0xc0c4a185),
  3777. 235: uint32(0xf6363176),
  3778. 236: uint32(0x76ebc3af),
  3779. 237: uint32(0x4019535c),
  3780. 238: uint32(0x1b0ee249),
  3781. 239: uint32(0x2dfc72ba),
  3782. 240: uint32(0x180f0208),
  3783. 241: uint32(0x2efd92fb),
  3784. 242: uint32(0x75ea23ee),
  3785. 243: uint32(0x4318b31d),
  3786. 244: uint32(0xc3c541c4),
  3787. 245: uint32(0xf537d137),
  3788. 246: uint32(0xae206022),
  3789. 247: uint32(0x98d2f0d1),
  3790. 248: uint32(0x74ea83d1),
  3791. 249: uint32(0x42181322),
  3792. 250: uint32(0x190fa237),
  3793. 251: uint32(0x2ffd32c4),
  3794. 252: uint32(0xaf20c01d),
  3795. 253: uint32(0x99d250ee),
  3796. 254: uint32(0xc2c5e1fb),
  3797. 255: uint32(0xf4377108),
  3798. },
  3799. }
  3800. var _crc_braid_big_table = [8][256]Tz_word_t{
  3801. 0: {
  3802. 1: uint64(0xf390f23600000000),
  3803. 2: uint64(0xe621e56d00000000),
  3804. 3: uint64(0x15b1175b00000000),
  3805. 4: uint64(0xcc43cadb00000000),
  3806. 5: uint64(0x3fd338ed00000000),
  3807. 6: uint64(0x2a622fb600000000),
  3808. 7: uint64(0xd9f2dd8000000000),
  3809. 8: uint64(0xd981e56c00000000),
  3810. 9: uint64(0x2a11175a00000000),
  3811. 10: uint64(0x3fa0000100000000),
  3812. 11: uint64(0xcc30f23700000000),
  3813. 12: uint64(0x15c22fb700000000),
  3814. 13: uint64(0xe652dd8100000000),
  3815. 14: uint64(0xf3e3cada00000000),
  3816. 15: uint64(0x007338ec00000000),
  3817. 16: uint64(0xb203cbd900000000),
  3818. 17: uint64(0x419339ef00000000),
  3819. 18: uint64(0x54222eb400000000),
  3820. 19: uint64(0xa7b2dc8200000000),
  3821. 20: uint64(0x7e40010200000000),
  3822. 21: uint64(0x8dd0f33400000000),
  3823. 22: uint64(0x9861e46f00000000),
  3824. 23: uint64(0x6bf1165900000000),
  3825. 24: uint64(0x6b822eb500000000),
  3826. 25: uint64(0x9812dc8300000000),
  3827. 26: uint64(0x8da3cbd800000000),
  3828. 27: uint64(0x7e3339ee00000000),
  3829. 28: uint64(0xa7c1e46e00000000),
  3830. 29: uint64(0x5451165800000000),
  3831. 30: uint64(0x41e0010300000000),
  3832. 31: uint64(0xb270f33500000000),
  3833. 32: uint64(0x2501e76800000000),
  3834. 33: uint64(0xd691155e00000000),
  3835. 34: uint64(0xc320020500000000),
  3836. 35: uint64(0x30b0f03300000000),
  3837. 36: uint64(0xe9422db300000000),
  3838. 37: uint64(0x1ad2df8500000000),
  3839. 38: uint64(0x0f63c8de00000000),
  3840. 39: uint64(0xfcf33ae800000000),
  3841. 40: uint64(0xfc80020400000000),
  3842. 41: uint64(0x0f10f03200000000),
  3843. 42: uint64(0x1aa1e76900000000),
  3844. 43: uint64(0xe931155f00000000),
  3845. 44: uint64(0x30c3c8df00000000),
  3846. 45: uint64(0xc3533ae900000000),
  3847. 46: uint64(0xd6e22db200000000),
  3848. 47: uint64(0x2572df8400000000),
  3849. 48: uint64(0x97022cb100000000),
  3850. 49: uint64(0x6492de8700000000),
  3851. 50: uint64(0x7123c9dc00000000),
  3852. 51: uint64(0x82b33bea00000000),
  3853. 52: uint64(0x5b41e66a00000000),
  3854. 53: uint64(0xa8d1145c00000000),
  3855. 54: uint64(0xbd60030700000000),
  3856. 55: uint64(0x4ef0f13100000000),
  3857. 56: uint64(0x4e83c9dd00000000),
  3858. 57: uint64(0xbd133beb00000000),
  3859. 58: uint64(0xa8a22cb000000000),
  3860. 59: uint64(0x5b32de8600000000),
  3861. 60: uint64(0x82c0030600000000),
  3862. 61: uint64(0x7150f13000000000),
  3863. 62: uint64(0x64e1e66b00000000),
  3864. 63: uint64(0x9771145d00000000),
  3865. 64: uint64(0x4a02ced100000000),
  3866. 65: uint64(0xb9923ce700000000),
  3867. 66: uint64(0xac232bbc00000000),
  3868. 67: uint64(0x5fb3d98a00000000),
  3869. 68: uint64(0x8641040a00000000),
  3870. 69: uint64(0x75d1f63c00000000),
  3871. 70: uint64(0x6060e16700000000),
  3872. 71: uint64(0x93f0135100000000),
  3873. 72: uint64(0x93832bbd00000000),
  3874. 73: uint64(0x6013d98b00000000),
  3875. 74: uint64(0x75a2ced000000000),
  3876. 75: uint64(0x86323ce600000000),
  3877. 76: uint64(0x5fc0e16600000000),
  3878. 77: uint64(0xac50135000000000),
  3879. 78: uint64(0xb9e1040b00000000),
  3880. 79: uint64(0x4a71f63d00000000),
  3881. 80: uint64(0xf801050800000000),
  3882. 81: uint64(0x0b91f73e00000000),
  3883. 82: uint64(0x1e20e06500000000),
  3884. 83: uint64(0xedb0125300000000),
  3885. 84: uint64(0x3442cfd300000000),
  3886. 85: uint64(0xc7d23de500000000),
  3887. 86: uint64(0xd2632abe00000000),
  3888. 87: uint64(0x21f3d88800000000),
  3889. 88: uint64(0x2180e06400000000),
  3890. 89: uint64(0xd210125200000000),
  3891. 90: uint64(0xc7a1050900000000),
  3892. 91: uint64(0x3431f73f00000000),
  3893. 92: uint64(0xedc32abf00000000),
  3894. 93: uint64(0x1e53d88900000000),
  3895. 94: uint64(0x0be2cfd200000000),
  3896. 95: uint64(0xf8723de400000000),
  3897. 96: uint64(0x6f0329b900000000),
  3898. 97: uint64(0x9c93db8f00000000),
  3899. 98: uint64(0x8922ccd400000000),
  3900. 99: uint64(0x7ab23ee200000000),
  3901. 100: uint64(0xa340e36200000000),
  3902. 101: uint64(0x50d0115400000000),
  3903. 102: uint64(0x4561060f00000000),
  3904. 103: uint64(0xb6f1f43900000000),
  3905. 104: uint64(0xb682ccd500000000),
  3906. 105: uint64(0x45123ee300000000),
  3907. 106: uint64(0x50a329b800000000),
  3908. 107: uint64(0xa333db8e00000000),
  3909. 108: uint64(0x7ac1060e00000000),
  3910. 109: uint64(0x8951f43800000000),
  3911. 110: uint64(0x9ce0e36300000000),
  3912. 111: uint64(0x6f70115500000000),
  3913. 112: uint64(0xdd00e26000000000),
  3914. 113: uint64(0x2e90105600000000),
  3915. 114: uint64(0x3b21070d00000000),
  3916. 115: uint64(0xc8b1f53b00000000),
  3917. 116: uint64(0x114328bb00000000),
  3918. 117: uint64(0xe2d3da8d00000000),
  3919. 118: uint64(0xf762cdd600000000),
  3920. 119: uint64(0x04f23fe000000000),
  3921. 120: uint64(0x0481070c00000000),
  3922. 121: uint64(0xf711f53a00000000),
  3923. 122: uint64(0xe2a0e26100000000),
  3924. 123: uint64(0x1130105700000000),
  3925. 124: uint64(0xc8c2cdd700000000),
  3926. 125: uint64(0x3b523fe100000000),
  3927. 126: uint64(0x2ee328ba00000000),
  3928. 127: uint64(0xdd73da8c00000000),
  3929. 128: uint64(0xd502ed7800000000),
  3930. 129: uint64(0x26921f4e00000000),
  3931. 130: uint64(0x3323081500000000),
  3932. 131: uint64(0xc0b3fa2300000000),
  3933. 132: uint64(0x194127a300000000),
  3934. 133: uint64(0xead1d59500000000),
  3935. 134: uint64(0xff60c2ce00000000),
  3936. 135: uint64(0x0cf030f800000000),
  3937. 136: uint64(0x0c83081400000000),
  3938. 137: uint64(0xff13fa2200000000),
  3939. 138: uint64(0xeaa2ed7900000000),
  3940. 139: uint64(0x19321f4f00000000),
  3941. 140: uint64(0xc0c0c2cf00000000),
  3942. 141: uint64(0x335030f900000000),
  3943. 142: uint64(0x26e127a200000000),
  3944. 143: uint64(0xd571d59400000000),
  3945. 144: uint64(0x670126a100000000),
  3946. 145: uint64(0x9491d49700000000),
  3947. 146: uint64(0x8120c3cc00000000),
  3948. 147: uint64(0x72b031fa00000000),
  3949. 148: uint64(0xab42ec7a00000000),
  3950. 149: uint64(0x58d21e4c00000000),
  3951. 150: uint64(0x4d63091700000000),
  3952. 151: uint64(0xbef3fb2100000000),
  3953. 152: uint64(0xbe80c3cd00000000),
  3954. 153: uint64(0x4d1031fb00000000),
  3955. 154: uint64(0x58a126a000000000),
  3956. 155: uint64(0xab31d49600000000),
  3957. 156: uint64(0x72c3091600000000),
  3958. 157: uint64(0x8153fb2000000000),
  3959. 158: uint64(0x94e2ec7b00000000),
  3960. 159: uint64(0x67721e4d00000000),
  3961. 160: uint64(0xf0030a1000000000),
  3962. 161: uint64(0x0393f82600000000),
  3963. 162: uint64(0x1622ef7d00000000),
  3964. 163: uint64(0xe5b21d4b00000000),
  3965. 164: uint64(0x3c40c0cb00000000),
  3966. 165: uint64(0xcfd032fd00000000),
  3967. 166: uint64(0xda6125a600000000),
  3968. 167: uint64(0x29f1d79000000000),
  3969. 168: uint64(0x2982ef7c00000000),
  3970. 169: uint64(0xda121d4a00000000),
  3971. 170: uint64(0xcfa30a1100000000),
  3972. 171: uint64(0x3c33f82700000000),
  3973. 172: uint64(0xe5c125a700000000),
  3974. 173: uint64(0x1651d79100000000),
  3975. 174: uint64(0x03e0c0ca00000000),
  3976. 175: uint64(0xf07032fc00000000),
  3977. 176: uint64(0x4200c1c900000000),
  3978. 177: uint64(0xb19033ff00000000),
  3979. 178: uint64(0xa42124a400000000),
  3980. 179: uint64(0x57b1d69200000000),
  3981. 180: uint64(0x8e430b1200000000),
  3982. 181: uint64(0x7dd3f92400000000),
  3983. 182: uint64(0x6862ee7f00000000),
  3984. 183: uint64(0x9bf21c4900000000),
  3985. 184: uint64(0x9b8124a500000000),
  3986. 185: uint64(0x6811d69300000000),
  3987. 186: uint64(0x7da0c1c800000000),
  3988. 187: uint64(0x8e3033fe00000000),
  3989. 188: uint64(0x57c2ee7e00000000),
  3990. 189: uint64(0xa4521c4800000000),
  3991. 190: uint64(0xb1e30b1300000000),
  3992. 191: uint64(0x4273f92500000000),
  3993. 192: uint64(0x9f0023a900000000),
  3994. 193: uint64(0x6c90d19f00000000),
  3995. 194: uint64(0x7921c6c400000000),
  3996. 195: uint64(0x8ab134f200000000),
  3997. 196: uint64(0x5343e97200000000),
  3998. 197: uint64(0xa0d31b4400000000),
  3999. 198: uint64(0xb5620c1f00000000),
  4000. 199: uint64(0x46f2fe2900000000),
  4001. 200: uint64(0x4681c6c500000000),
  4002. 201: uint64(0xb51134f300000000),
  4003. 202: uint64(0xa0a023a800000000),
  4004. 203: uint64(0x5330d19e00000000),
  4005. 204: uint64(0x8ac20c1e00000000),
  4006. 205: uint64(0x7952fe2800000000),
  4007. 206: uint64(0x6ce3e97300000000),
  4008. 207: uint64(0x9f731b4500000000),
  4009. 208: uint64(0x2d03e87000000000),
  4010. 209: uint64(0xde931a4600000000),
  4011. 210: uint64(0xcb220d1d00000000),
  4012. 211: uint64(0x38b2ff2b00000000),
  4013. 212: uint64(0xe14022ab00000000),
  4014. 213: uint64(0x12d0d09d00000000),
  4015. 214: uint64(0x0761c7c600000000),
  4016. 215: uint64(0xf4f135f000000000),
  4017. 216: uint64(0xf4820d1c00000000),
  4018. 217: uint64(0x0712ff2a00000000),
  4019. 218: uint64(0x12a3e87100000000),
  4020. 219: uint64(0xe1331a4700000000),
  4021. 220: uint64(0x38c1c7c700000000),
  4022. 221: uint64(0xcb5135f100000000),
  4023. 222: uint64(0xdee022aa00000000),
  4024. 223: uint64(0x2d70d09c00000000),
  4025. 224: uint64(0xba01c4c100000000),
  4026. 225: uint64(0x499136f700000000),
  4027. 226: uint64(0x5c2021ac00000000),
  4028. 227: uint64(0xafb0d39a00000000),
  4029. 228: uint64(0x76420e1a00000000),
  4030. 229: uint64(0x85d2fc2c00000000),
  4031. 230: uint64(0x9063eb7700000000),
  4032. 231: uint64(0x63f3194100000000),
  4033. 232: uint64(0x638021ad00000000),
  4034. 233: uint64(0x9010d39b00000000),
  4035. 234: uint64(0x85a1c4c000000000),
  4036. 235: uint64(0x763136f600000000),
  4037. 236: uint64(0xafc3eb7600000000),
  4038. 237: uint64(0x5c53194000000000),
  4039. 238: uint64(0x49e20e1b00000000),
  4040. 239: uint64(0xba72fc2d00000000),
  4041. 240: uint64(0x08020f1800000000),
  4042. 241: uint64(0xfb92fd2e00000000),
  4043. 242: uint64(0xee23ea7500000000),
  4044. 243: uint64(0x1db3184300000000),
  4045. 244: uint64(0xc441c5c300000000),
  4046. 245: uint64(0x37d137f500000000),
  4047. 246: uint64(0x226020ae00000000),
  4048. 247: uint64(0xd1f0d29800000000),
  4049. 248: uint64(0xd183ea7400000000),
  4050. 249: uint64(0x2213184200000000),
  4051. 250: uint64(0x37a20f1900000000),
  4052. 251: uint64(0xc432fd2f00000000),
  4053. 252: uint64(0x1dc020af00000000),
  4054. 253: uint64(0xee50d29900000000),
  4055. 254: uint64(0xfbe1c5c200000000),
  4056. 255: uint64(0x087137f400000000),
  4057. },
  4058. 1: {
  4059. 1: uint64(0x3651822400000000),
  4060. 2: uint64(0x6ca2044900000000),
  4061. 3: uint64(0x5af3866d00000000),
  4062. 4: uint64(0xd844099200000000),
  4063. 5: uint64(0xee158bb600000000),
  4064. 6: uint64(0xb4e60ddb00000000),
  4065. 7: uint64(0x82b78fff00000000),
  4066. 8: uint64(0xf18f63ff00000000),
  4067. 9: uint64(0xc7dee1db00000000),
  4068. 10: uint64(0x9d2d67b600000000),
  4069. 11: uint64(0xab7ce59200000000),
  4070. 12: uint64(0x29cb6a6d00000000),
  4071. 13: uint64(0x1f9ae84900000000),
  4072. 14: uint64(0x45696e2400000000),
  4073. 15: uint64(0x7338ec0000000000),
  4074. 16: uint64(0xa319b62500000000),
  4075. 17: uint64(0x9548340100000000),
  4076. 18: uint64(0xcfbbb26c00000000),
  4077. 19: uint64(0xf9ea304800000000),
  4078. 20: uint64(0x7b5dbfb700000000),
  4079. 21: uint64(0x4d0c3d9300000000),
  4080. 22: uint64(0x17ffbbfe00000000),
  4081. 23: uint64(0x21ae39da00000000),
  4082. 24: uint64(0x5296d5da00000000),
  4083. 25: uint64(0x64c757fe00000000),
  4084. 26: uint64(0x3e34d19300000000),
  4085. 27: uint64(0x086553b700000000),
  4086. 28: uint64(0x8ad2dc4800000000),
  4087. 29: uint64(0xbc835e6c00000000),
  4088. 30: uint64(0xe670d80100000000),
  4089. 31: uint64(0xd0215a2500000000),
  4090. 32: uint64(0x46336c4b00000000),
  4091. 33: uint64(0x7062ee6f00000000),
  4092. 34: uint64(0x2a91680200000000),
  4093. 35: uint64(0x1cc0ea2600000000),
  4094. 36: uint64(0x9e7765d900000000),
  4095. 37: uint64(0xa826e7fd00000000),
  4096. 38: uint64(0xf2d5619000000000),
  4097. 39: uint64(0xc484e3b400000000),
  4098. 40: uint64(0xb7bc0fb400000000),
  4099. 41: uint64(0x81ed8d9000000000),
  4100. 42: uint64(0xdb1e0bfd00000000),
  4101. 43: uint64(0xed4f89d900000000),
  4102. 44: uint64(0x6ff8062600000000),
  4103. 45: uint64(0x59a9840200000000),
  4104. 46: uint64(0x035a026f00000000),
  4105. 47: uint64(0x350b804b00000000),
  4106. 48: uint64(0xe52ada6e00000000),
  4107. 49: uint64(0xd37b584a00000000),
  4108. 50: uint64(0x8988de2700000000),
  4109. 51: uint64(0xbfd95c0300000000),
  4110. 52: uint64(0x3d6ed3fc00000000),
  4111. 53: uint64(0x0b3f51d800000000),
  4112. 54: uint64(0x51ccd7b500000000),
  4113. 55: uint64(0x679d559100000000),
  4114. 56: uint64(0x14a5b99100000000),
  4115. 57: uint64(0x22f43bb500000000),
  4116. 58: uint64(0x7807bdd800000000),
  4117. 59: uint64(0x4e563ffc00000000),
  4118. 60: uint64(0xcce1b00300000000),
  4119. 61: uint64(0xfab0322700000000),
  4120. 62: uint64(0xa043b44a00000000),
  4121. 63: uint64(0x9612366e00000000),
  4122. 64: uint64(0x8c66d89600000000),
  4123. 65: uint64(0xba375ab200000000),
  4124. 66: uint64(0xe0c4dcdf00000000),
  4125. 67: uint64(0xd6955efb00000000),
  4126. 68: uint64(0x5422d10400000000),
  4127. 69: uint64(0x6273532000000000),
  4128. 70: uint64(0x3880d54d00000000),
  4129. 71: uint64(0x0ed1576900000000),
  4130. 72: uint64(0x7de9bb6900000000),
  4131. 73: uint64(0x4bb8394d00000000),
  4132. 74: uint64(0x114bbf2000000000),
  4133. 75: uint64(0x271a3d0400000000),
  4134. 76: uint64(0xa5adb2fb00000000),
  4135. 77: uint64(0x93fc30df00000000),
  4136. 78: uint64(0xc90fb6b200000000),
  4137. 79: uint64(0xff5e349600000000),
  4138. 80: uint64(0x2f7f6eb300000000),
  4139. 81: uint64(0x192eec9700000000),
  4140. 82: uint64(0x43dd6afa00000000),
  4141. 83: uint64(0x758ce8de00000000),
  4142. 84: uint64(0xf73b672100000000),
  4143. 85: uint64(0xc16ae50500000000),
  4144. 86: uint64(0x9b99636800000000),
  4145. 87: uint64(0xadc8e14c00000000),
  4146. 88: uint64(0xdef00d4c00000000),
  4147. 89: uint64(0xe8a18f6800000000),
  4148. 90: uint64(0xb252090500000000),
  4149. 91: uint64(0x84038b2100000000),
  4150. 92: uint64(0x06b404de00000000),
  4151. 93: uint64(0x30e586fa00000000),
  4152. 94: uint64(0x6a16009700000000),
  4153. 95: uint64(0x5c4782b300000000),
  4154. 96: uint64(0xca55b4dd00000000),
  4155. 97: uint64(0xfc0436f900000000),
  4156. 98: uint64(0xa6f7b09400000000),
  4157. 99: uint64(0x90a632b000000000),
  4158. 100: uint64(0x1211bd4f00000000),
  4159. 101: uint64(0x24403f6b00000000),
  4160. 102: uint64(0x7eb3b90600000000),
  4161. 103: uint64(0x48e23b2200000000),
  4162. 104: uint64(0x3bdad72200000000),
  4163. 105: uint64(0x0d8b550600000000),
  4164. 106: uint64(0x5778d36b00000000),
  4165. 107: uint64(0x6129514f00000000),
  4166. 108: uint64(0xe39edeb000000000),
  4167. 109: uint64(0xd5cf5c9400000000),
  4168. 110: uint64(0x8f3cdaf900000000),
  4169. 111: uint64(0xb96d58dd00000000),
  4170. 112: uint64(0x694c02f800000000),
  4171. 113: uint64(0x5f1d80dc00000000),
  4172. 114: uint64(0x05ee06b100000000),
  4173. 115: uint64(0x33bf849500000000),
  4174. 116: uint64(0xb1080b6a00000000),
  4175. 117: uint64(0x8759894e00000000),
  4176. 118: uint64(0xddaa0f2300000000),
  4177. 119: uint64(0xebfb8d0700000000),
  4178. 120: uint64(0x98c3610700000000),
  4179. 121: uint64(0xae92e32300000000),
  4180. 122: uint64(0xf461654e00000000),
  4181. 123: uint64(0xc230e76a00000000),
  4182. 124: uint64(0x4087689500000000),
  4183. 125: uint64(0x76d6eab100000000),
  4184. 126: uint64(0x2c256cdc00000000),
  4185. 127: uint64(0x1a74eef800000000),
  4186. 128: uint64(0x59cbc1f600000000),
  4187. 129: uint64(0x6f9a43d200000000),
  4188. 130: uint64(0x3569c5bf00000000),
  4189. 131: uint64(0x0338479b00000000),
  4190. 132: uint64(0x818fc86400000000),
  4191. 133: uint64(0xb7de4a4000000000),
  4192. 134: uint64(0xed2dcc2d00000000),
  4193. 135: uint64(0xdb7c4e0900000000),
  4194. 136: uint64(0xa844a20900000000),
  4195. 137: uint64(0x9e15202d00000000),
  4196. 138: uint64(0xc4e6a64000000000),
  4197. 139: uint64(0xf2b7246400000000),
  4198. 140: uint64(0x7000ab9b00000000),
  4199. 141: uint64(0x465129bf00000000),
  4200. 142: uint64(0x1ca2afd200000000),
  4201. 143: uint64(0x2af32df600000000),
  4202. 144: uint64(0xfad277d300000000),
  4203. 145: uint64(0xcc83f5f700000000),
  4204. 146: uint64(0x9670739a00000000),
  4205. 147: uint64(0xa021f1be00000000),
  4206. 148: uint64(0x22967e4100000000),
  4207. 149: uint64(0x14c7fc6500000000),
  4208. 150: uint64(0x4e347a0800000000),
  4209. 151: uint64(0x7865f82c00000000),
  4210. 152: uint64(0x0b5d142c00000000),
  4211. 153: uint64(0x3d0c960800000000),
  4212. 154: uint64(0x67ff106500000000),
  4213. 155: uint64(0x51ae924100000000),
  4214. 156: uint64(0xd3191dbe00000000),
  4215. 157: uint64(0xe5489f9a00000000),
  4216. 158: uint64(0xbfbb19f700000000),
  4217. 159: uint64(0x89ea9bd300000000),
  4218. 160: uint64(0x1ff8adbd00000000),
  4219. 161: uint64(0x29a92f9900000000),
  4220. 162: uint64(0x735aa9f400000000),
  4221. 163: uint64(0x450b2bd000000000),
  4222. 164: uint64(0xc7bca42f00000000),
  4223. 165: uint64(0xf1ed260b00000000),
  4224. 166: uint64(0xab1ea06600000000),
  4225. 167: uint64(0x9d4f224200000000),
  4226. 168: uint64(0xee77ce4200000000),
  4227. 169: uint64(0xd8264c6600000000),
  4228. 170: uint64(0x82d5ca0b00000000),
  4229. 171: uint64(0xb484482f00000000),
  4230. 172: uint64(0x3633c7d000000000),
  4231. 173: uint64(0x006245f400000000),
  4232. 174: uint64(0x5a91c39900000000),
  4233. 175: uint64(0x6cc041bd00000000),
  4234. 176: uint64(0xbce11b9800000000),
  4235. 177: uint64(0x8ab099bc00000000),
  4236. 178: uint64(0xd0431fd100000000),
  4237. 179: uint64(0xe6129df500000000),
  4238. 180: uint64(0x64a5120a00000000),
  4239. 181: uint64(0x52f4902e00000000),
  4240. 182: uint64(0x0807164300000000),
  4241. 183: uint64(0x3e56946700000000),
  4242. 184: uint64(0x4d6e786700000000),
  4243. 185: uint64(0x7b3ffa4300000000),
  4244. 186: uint64(0x21cc7c2e00000000),
  4245. 187: uint64(0x179dfe0a00000000),
  4246. 188: uint64(0x952a71f500000000),
  4247. 189: uint64(0xa37bf3d100000000),
  4248. 190: uint64(0xf98875bc00000000),
  4249. 191: uint64(0xcfd9f79800000000),
  4250. 192: uint64(0xd5ad196000000000),
  4251. 193: uint64(0xe3fc9b4400000000),
  4252. 194: uint64(0xb90f1d2900000000),
  4253. 195: uint64(0x8f5e9f0d00000000),
  4254. 196: uint64(0x0de910f200000000),
  4255. 197: uint64(0x3bb892d600000000),
  4256. 198: uint64(0x614b14bb00000000),
  4257. 199: uint64(0x571a969f00000000),
  4258. 200: uint64(0x24227a9f00000000),
  4259. 201: uint64(0x1273f8bb00000000),
  4260. 202: uint64(0x48807ed600000000),
  4261. 203: uint64(0x7ed1fcf200000000),
  4262. 204: uint64(0xfc66730d00000000),
  4263. 205: uint64(0xca37f12900000000),
  4264. 206: uint64(0x90c4774400000000),
  4265. 207: uint64(0xa695f56000000000),
  4266. 208: uint64(0x76b4af4500000000),
  4267. 209: uint64(0x40e52d6100000000),
  4268. 210: uint64(0x1a16ab0c00000000),
  4269. 211: uint64(0x2c47292800000000),
  4270. 212: uint64(0xaef0a6d700000000),
  4271. 213: uint64(0x98a124f300000000),
  4272. 214: uint64(0xc252a29e00000000),
  4273. 215: uint64(0xf40320ba00000000),
  4274. 216: uint64(0x873bccba00000000),
  4275. 217: uint64(0xb16a4e9e00000000),
  4276. 218: uint64(0xeb99c8f300000000),
  4277. 219: uint64(0xddc84ad700000000),
  4278. 220: uint64(0x5f7fc52800000000),
  4279. 221: uint64(0x692e470c00000000),
  4280. 222: uint64(0x33ddc16100000000),
  4281. 223: uint64(0x058c434500000000),
  4282. 224: uint64(0x939e752b00000000),
  4283. 225: uint64(0xa5cff70f00000000),
  4284. 226: uint64(0xff3c716200000000),
  4285. 227: uint64(0xc96df34600000000),
  4286. 228: uint64(0x4bda7cb900000000),
  4287. 229: uint64(0x7d8bfe9d00000000),
  4288. 230: uint64(0x277878f000000000),
  4289. 231: uint64(0x1129fad400000000),
  4290. 232: uint64(0x621116d400000000),
  4291. 233: uint64(0x544094f000000000),
  4292. 234: uint64(0x0eb3129d00000000),
  4293. 235: uint64(0x38e290b900000000),
  4294. 236: uint64(0xba551f4600000000),
  4295. 237: uint64(0x8c049d6200000000),
  4296. 238: uint64(0xd6f71b0f00000000),
  4297. 239: uint64(0xe0a6992b00000000),
  4298. 240: uint64(0x3087c30e00000000),
  4299. 241: uint64(0x06d6412a00000000),
  4300. 242: uint64(0x5c25c74700000000),
  4301. 243: uint64(0x6a74456300000000),
  4302. 244: uint64(0xe8c3ca9c00000000),
  4303. 245: uint64(0xde9248b800000000),
  4304. 246: uint64(0x8461ced500000000),
  4305. 247: uint64(0xb2304cf100000000),
  4306. 248: uint64(0xc108a0f100000000),
  4307. 249: uint64(0xf75922d500000000),
  4308. 250: uint64(0xadaaa4b800000000),
  4309. 251: uint64(0x9bfb269c00000000),
  4310. 252: uint64(0x194ca96300000000),
  4311. 253: uint64(0x2f1d2b4700000000),
  4312. 254: uint64(0x75eead2a00000000),
  4313. 255: uint64(0x43bf2f0e00000000),
  4314. },
  4315. 2: {
  4316. 1: uint64(0xc8179ecf00000000),
  4317. 2: uint64(0xd1294d4400000000),
  4318. 3: uint64(0x193ed38b00000000),
  4319. 4: uint64(0xa2539a8800000000),
  4320. 5: uint64(0x6a44044700000000),
  4321. 6: uint64(0x737ad7cc00000000),
  4322. 7: uint64(0xbb6d490300000000),
  4323. 8: uint64(0x05a145ca00000000),
  4324. 9: uint64(0xcdb6db0500000000),
  4325. 10: uint64(0xd488088e00000000),
  4326. 11: uint64(0x1c9f964100000000),
  4327. 12: uint64(0xa7f2df4200000000),
  4328. 13: uint64(0x6fe5418d00000000),
  4329. 14: uint64(0x76db920600000000),
  4330. 15: uint64(0xbecc0cc900000000),
  4331. 16: uint64(0x4b44fa4f00000000),
  4332. 17: uint64(0x8353648000000000),
  4333. 18: uint64(0x9a6db70b00000000),
  4334. 19: uint64(0x527a29c400000000),
  4335. 20: uint64(0xe91760c700000000),
  4336. 21: uint64(0x2100fe0800000000),
  4337. 22: uint64(0x383e2d8300000000),
  4338. 23: uint64(0xf029b34c00000000),
  4339. 24: uint64(0x4ee5bf8500000000),
  4340. 25: uint64(0x86f2214a00000000),
  4341. 26: uint64(0x9fccf2c100000000),
  4342. 27: uint64(0x57db6c0e00000000),
  4343. 28: uint64(0xecb6250d00000000),
  4344. 29: uint64(0x24a1bbc200000000),
  4345. 30: uint64(0x3d9f684900000000),
  4346. 31: uint64(0xf588f68600000000),
  4347. 32: uint64(0x9688f49f00000000),
  4348. 33: uint64(0x5e9f6a5000000000),
  4349. 34: uint64(0x47a1b9db00000000),
  4350. 35: uint64(0x8fb6271400000000),
  4351. 36: uint64(0x34db6e1700000000),
  4352. 37: uint64(0xfcccf0d800000000),
  4353. 38: uint64(0xe5f2235300000000),
  4354. 39: uint64(0x2de5bd9c00000000),
  4355. 40: uint64(0x9329b15500000000),
  4356. 41: uint64(0x5b3e2f9a00000000),
  4357. 42: uint64(0x4200fc1100000000),
  4358. 43: uint64(0x8a1762de00000000),
  4359. 44: uint64(0x317a2bdd00000000),
  4360. 45: uint64(0xf96db51200000000),
  4361. 46: uint64(0xe053669900000000),
  4362. 47: uint64(0x2844f85600000000),
  4363. 48: uint64(0xddcc0ed000000000),
  4364. 49: uint64(0x15db901f00000000),
  4365. 50: uint64(0x0ce5439400000000),
  4366. 51: uint64(0xc4f2dd5b00000000),
  4367. 52: uint64(0x7f9f945800000000),
  4368. 53: uint64(0xb7880a9700000000),
  4369. 54: uint64(0xaeb6d91c00000000),
  4370. 55: uint64(0x66a147d300000000),
  4371. 56: uint64(0xd86d4b1a00000000),
  4372. 57: uint64(0x107ad5d500000000),
  4373. 58: uint64(0x0944065e00000000),
  4374. 59: uint64(0xc153989100000000),
  4375. 60: uint64(0x7a3ed19200000000),
  4376. 61: uint64(0xb2294f5d00000000),
  4377. 62: uint64(0xab179cd600000000),
  4378. 63: uint64(0x6300021900000000),
  4379. 64: uint64(0x6d1798e400000000),
  4380. 65: uint64(0xa500062b00000000),
  4381. 66: uint64(0xbc3ed5a000000000),
  4382. 67: uint64(0x74294b6f00000000),
  4383. 68: uint64(0xcf44026c00000000),
  4384. 69: uint64(0x07539ca300000000),
  4385. 70: uint64(0x1e6d4f2800000000),
  4386. 71: uint64(0xd67ad1e700000000),
  4387. 72: uint64(0x68b6dd2e00000000),
  4388. 73: uint64(0xa0a143e100000000),
  4389. 74: uint64(0xb99f906a00000000),
  4390. 75: uint64(0x71880ea500000000),
  4391. 76: uint64(0xcae547a600000000),
  4392. 77: uint64(0x02f2d96900000000),
  4393. 78: uint64(0x1bcc0ae200000000),
  4394. 79: uint64(0xd3db942d00000000),
  4395. 80: uint64(0x265362ab00000000),
  4396. 81: uint64(0xee44fc6400000000),
  4397. 82: uint64(0xf77a2fef00000000),
  4398. 83: uint64(0x3f6db12000000000),
  4399. 84: uint64(0x8400f82300000000),
  4400. 85: uint64(0x4c1766ec00000000),
  4401. 86: uint64(0x5529b56700000000),
  4402. 87: uint64(0x9d3e2ba800000000),
  4403. 88: uint64(0x23f2276100000000),
  4404. 89: uint64(0xebe5b9ae00000000),
  4405. 90: uint64(0xf2db6a2500000000),
  4406. 91: uint64(0x3accf4ea00000000),
  4407. 92: uint64(0x81a1bde900000000),
  4408. 93: uint64(0x49b6232600000000),
  4409. 94: uint64(0x5088f0ad00000000),
  4410. 95: uint64(0x989f6e6200000000),
  4411. 96: uint64(0xfb9f6c7b00000000),
  4412. 97: uint64(0x3388f2b400000000),
  4413. 98: uint64(0x2ab6213f00000000),
  4414. 99: uint64(0xe2a1bff000000000),
  4415. 100: uint64(0x59ccf6f300000000),
  4416. 101: uint64(0x91db683c00000000),
  4417. 102: uint64(0x88e5bbb700000000),
  4418. 103: uint64(0x40f2257800000000),
  4419. 104: uint64(0xfe3e29b100000000),
  4420. 105: uint64(0x3629b77e00000000),
  4421. 106: uint64(0x2f1764f500000000),
  4422. 107: uint64(0xe700fa3a00000000),
  4423. 108: uint64(0x5c6db33900000000),
  4424. 109: uint64(0x947a2df600000000),
  4425. 110: uint64(0x8d44fe7d00000000),
  4426. 111: uint64(0x455360b200000000),
  4427. 112: uint64(0xb0db963400000000),
  4428. 113: uint64(0x78cc08fb00000000),
  4429. 114: uint64(0x61f2db7000000000),
  4430. 115: uint64(0xa9e545bf00000000),
  4431. 116: uint64(0x12880cbc00000000),
  4432. 117: uint64(0xda9f927300000000),
  4433. 118: uint64(0xc3a141f800000000),
  4434. 119: uint64(0x0bb6df3700000000),
  4435. 120: uint64(0xb57ad3fe00000000),
  4436. 121: uint64(0x7d6d4d3100000000),
  4437. 122: uint64(0x64539eba00000000),
  4438. 123: uint64(0xac44007500000000),
  4439. 124: uint64(0x1729497600000000),
  4440. 125: uint64(0xdf3ed7b900000000),
  4441. 126: uint64(0xc600043200000000),
  4442. 127: uint64(0x0e179afd00000000),
  4443. 128: uint64(0x9b28411200000000),
  4444. 129: uint64(0x533fdfdd00000000),
  4445. 130: uint64(0x4a010c5600000000),
  4446. 131: uint64(0x8216929900000000),
  4447. 132: uint64(0x397bdb9a00000000),
  4448. 133: uint64(0xf16c455500000000),
  4449. 134: uint64(0xe85296de00000000),
  4450. 135: uint64(0x2045081100000000),
  4451. 136: uint64(0x9e8904d800000000),
  4452. 137: uint64(0x569e9a1700000000),
  4453. 138: uint64(0x4fa0499c00000000),
  4454. 139: uint64(0x87b7d75300000000),
  4455. 140: uint64(0x3cda9e5000000000),
  4456. 141: uint64(0xf4cd009f00000000),
  4457. 142: uint64(0xedf3d31400000000),
  4458. 143: uint64(0x25e44ddb00000000),
  4459. 144: uint64(0xd06cbb5d00000000),
  4460. 145: uint64(0x187b259200000000),
  4461. 146: uint64(0x0145f61900000000),
  4462. 147: uint64(0xc95268d600000000),
  4463. 148: uint64(0x723f21d500000000),
  4464. 149: uint64(0xba28bf1a00000000),
  4465. 150: uint64(0xa3166c9100000000),
  4466. 151: uint64(0x6b01f25e00000000),
  4467. 152: uint64(0xd5cdfe9700000000),
  4468. 153: uint64(0x1dda605800000000),
  4469. 154: uint64(0x04e4b3d300000000),
  4470. 155: uint64(0xccf32d1c00000000),
  4471. 156: uint64(0x779e641f00000000),
  4472. 157: uint64(0xbf89fad000000000),
  4473. 158: uint64(0xa6b7295b00000000),
  4474. 159: uint64(0x6ea0b79400000000),
  4475. 160: uint64(0x0da0b58d00000000),
  4476. 161: uint64(0xc5b72b4200000000),
  4477. 162: uint64(0xdc89f8c900000000),
  4478. 163: uint64(0x149e660600000000),
  4479. 164: uint64(0xaff32f0500000000),
  4480. 165: uint64(0x67e4b1ca00000000),
  4481. 166: uint64(0x7eda624100000000),
  4482. 167: uint64(0xb6cdfc8e00000000),
  4483. 168: uint64(0x0801f04700000000),
  4484. 169: uint64(0xc0166e8800000000),
  4485. 170: uint64(0xd928bd0300000000),
  4486. 171: uint64(0x113f23cc00000000),
  4487. 172: uint64(0xaa526acf00000000),
  4488. 173: uint64(0x6245f40000000000),
  4489. 174: uint64(0x7b7b278b00000000),
  4490. 175: uint64(0xb36cb94400000000),
  4491. 176: uint64(0x46e44fc200000000),
  4492. 177: uint64(0x8ef3d10d00000000),
  4493. 178: uint64(0x97cd028600000000),
  4494. 179: uint64(0x5fda9c4900000000),
  4495. 180: uint64(0xe4b7d54a00000000),
  4496. 181: uint64(0x2ca04b8500000000),
  4497. 182: uint64(0x359e980e00000000),
  4498. 183: uint64(0xfd8906c100000000),
  4499. 184: uint64(0x43450a0800000000),
  4500. 185: uint64(0x8b5294c700000000),
  4501. 186: uint64(0x926c474c00000000),
  4502. 187: uint64(0x5a7bd98300000000),
  4503. 188: uint64(0xe116908000000000),
  4504. 189: uint64(0x29010e4f00000000),
  4505. 190: uint64(0x303fddc400000000),
  4506. 191: uint64(0xf828430b00000000),
  4507. 192: uint64(0xf63fd9f600000000),
  4508. 193: uint64(0x3e28473900000000),
  4509. 194: uint64(0x271694b200000000),
  4510. 195: uint64(0xef010a7d00000000),
  4511. 196: uint64(0x546c437e00000000),
  4512. 197: uint64(0x9c7bddb100000000),
  4513. 198: uint64(0x85450e3a00000000),
  4514. 199: uint64(0x4d5290f500000000),
  4515. 200: uint64(0xf39e9c3c00000000),
  4516. 201: uint64(0x3b8902f300000000),
  4517. 202: uint64(0x22b7d17800000000),
  4518. 203: uint64(0xeaa04fb700000000),
  4519. 204: uint64(0x51cd06b400000000),
  4520. 205: uint64(0x99da987b00000000),
  4521. 206: uint64(0x80e44bf000000000),
  4522. 207: uint64(0x48f3d53f00000000),
  4523. 208: uint64(0xbd7b23b900000000),
  4524. 209: uint64(0x756cbd7600000000),
  4525. 210: uint64(0x6c526efd00000000),
  4526. 211: uint64(0xa445f03200000000),
  4527. 212: uint64(0x1f28b93100000000),
  4528. 213: uint64(0xd73f27fe00000000),
  4529. 214: uint64(0xce01f47500000000),
  4530. 215: uint64(0x06166aba00000000),
  4531. 216: uint64(0xb8da667300000000),
  4532. 217: uint64(0x70cdf8bc00000000),
  4533. 218: uint64(0x69f32b3700000000),
  4534. 219: uint64(0xa1e4b5f800000000),
  4535. 220: uint64(0x1a89fcfb00000000),
  4536. 221: uint64(0xd29e623400000000),
  4537. 222: uint64(0xcba0b1bf00000000),
  4538. 223: uint64(0x03b72f7000000000),
  4539. 224: uint64(0x60b72d6900000000),
  4540. 225: uint64(0xa8a0b3a600000000),
  4541. 226: uint64(0xb19e602d00000000),
  4542. 227: uint64(0x7989fee200000000),
  4543. 228: uint64(0xc2e4b7e100000000),
  4544. 229: uint64(0x0af3292e00000000),
  4545. 230: uint64(0x13cdfaa500000000),
  4546. 231: uint64(0xdbda646a00000000),
  4547. 232: uint64(0x651668a300000000),
  4548. 233: uint64(0xad01f66c00000000),
  4549. 234: uint64(0xb43f25e700000000),
  4550. 235: uint64(0x7c28bb2800000000),
  4551. 236: uint64(0xc745f22b00000000),
  4552. 237: uint64(0x0f526ce400000000),
  4553. 238: uint64(0x166cbf6f00000000),
  4554. 239: uint64(0xde7b21a000000000),
  4555. 240: uint64(0x2bf3d72600000000),
  4556. 241: uint64(0xe3e449e900000000),
  4557. 242: uint64(0xfada9a6200000000),
  4558. 243: uint64(0x32cd04ad00000000),
  4559. 244: uint64(0x89a04dae00000000),
  4560. 245: uint64(0x41b7d36100000000),
  4561. 246: uint64(0x588900ea00000000),
  4562. 247: uint64(0x909e9e2500000000),
  4563. 248: uint64(0x2e5292ec00000000),
  4564. 249: uint64(0xe6450c2300000000),
  4565. 250: uint64(0xff7bdfa800000000),
  4566. 251: uint64(0x376c416700000000),
  4567. 252: uint64(0x8c01086400000000),
  4568. 253: uint64(0x441696ab00000000),
  4569. 254: uint64(0x5d28452000000000),
  4570. 255: uint64(0x953fdbef00000000),
  4571. },
  4572. 3: {
  4573. 1: uint64(0x95d4709500000000),
  4574. 2: uint64(0x6baf90f100000000),
  4575. 3: uint64(0xfe7be06400000000),
  4576. 4: uint64(0x9758503800000000),
  4577. 5: uint64(0x028c20ad00000000),
  4578. 6: uint64(0xfcf7c0c900000000),
  4579. 7: uint64(0x6923b05c00000000),
  4580. 8: uint64(0x2eb1a07000000000),
  4581. 9: uint64(0xbb65d0e500000000),
  4582. 10: uint64(0x451e308100000000),
  4583. 11: uint64(0xd0ca401400000000),
  4584. 12: uint64(0xb9e9f04800000000),
  4585. 13: uint64(0x2c3d80dd00000000),
  4586. 14: uint64(0xd24660b900000000),
  4587. 15: uint64(0x4792102c00000000),
  4588. 16: uint64(0x5c6241e100000000),
  4589. 17: uint64(0xc9b6317400000000),
  4590. 18: uint64(0x37cdd11000000000),
  4591. 19: uint64(0xa219a18500000000),
  4592. 20: uint64(0xcb3a11d900000000),
  4593. 21: uint64(0x5eee614c00000000),
  4594. 22: uint64(0xa095812800000000),
  4595. 23: uint64(0x3541f1bd00000000),
  4596. 24: uint64(0x72d3e19100000000),
  4597. 25: uint64(0xe707910400000000),
  4598. 26: uint64(0x197c716000000000),
  4599. 27: uint64(0x8ca801f500000000),
  4600. 28: uint64(0xe58bb1a900000000),
  4601. 29: uint64(0x705fc13c00000000),
  4602. 30: uint64(0x8e24215800000000),
  4603. 31: uint64(0x1bf051cd00000000),
  4604. 32: uint64(0xf9c2f31900000000),
  4605. 33: uint64(0x6c16838c00000000),
  4606. 34: uint64(0x926d63e800000000),
  4607. 35: uint64(0x07b9137d00000000),
  4608. 36: uint64(0x6e9aa32100000000),
  4609. 37: uint64(0xfb4ed3b400000000),
  4610. 38: uint64(0x053533d000000000),
  4611. 39: uint64(0x90e1434500000000),
  4612. 40: uint64(0xd773536900000000),
  4613. 41: uint64(0x42a723fc00000000),
  4614. 42: uint64(0xbcdcc39800000000),
  4615. 43: uint64(0x2908b30d00000000),
  4616. 44: uint64(0x402b035100000000),
  4617. 45: uint64(0xd5ff73c400000000),
  4618. 46: uint64(0x2b8493a000000000),
  4619. 47: uint64(0xbe50e33500000000),
  4620. 48: uint64(0xa5a0b2f800000000),
  4621. 49: uint64(0x3074c26d00000000),
  4622. 50: uint64(0xce0f220900000000),
  4623. 51: uint64(0x5bdb529c00000000),
  4624. 52: uint64(0x32f8e2c000000000),
  4625. 53: uint64(0xa72c925500000000),
  4626. 54: uint64(0x5957723100000000),
  4627. 55: uint64(0xcc8302a400000000),
  4628. 56: uint64(0x8b11128800000000),
  4629. 57: uint64(0x1ec5621d00000000),
  4630. 58: uint64(0xe0be827900000000),
  4631. 59: uint64(0x756af2ec00000000),
  4632. 60: uint64(0x1c4942b000000000),
  4633. 61: uint64(0x899d322500000000),
  4634. 62: uint64(0x77e6d24100000000),
  4635. 63: uint64(0xe232a2d400000000),
  4636. 64: uint64(0xf285e73300000000),
  4637. 65: uint64(0x675197a600000000),
  4638. 66: uint64(0x992a77c200000000),
  4639. 67: uint64(0x0cfe075700000000),
  4640. 68: uint64(0x65ddb70b00000000),
  4641. 69: uint64(0xf009c79e00000000),
  4642. 70: uint64(0x0e7227fa00000000),
  4643. 71: uint64(0x9ba6576f00000000),
  4644. 72: uint64(0xdc34474300000000),
  4645. 73: uint64(0x49e037d600000000),
  4646. 74: uint64(0xb79bd7b200000000),
  4647. 75: uint64(0x224fa72700000000),
  4648. 76: uint64(0x4b6c177b00000000),
  4649. 77: uint64(0xdeb867ee00000000),
  4650. 78: uint64(0x20c3878a00000000),
  4651. 79: uint64(0xb517f71f00000000),
  4652. 80: uint64(0xaee7a6d200000000),
  4653. 81: uint64(0x3b33d64700000000),
  4654. 82: uint64(0xc548362300000000),
  4655. 83: uint64(0x509c46b600000000),
  4656. 84: uint64(0x39bff6ea00000000),
  4657. 85: uint64(0xac6b867f00000000),
  4658. 86: uint64(0x5210661b00000000),
  4659. 87: uint64(0xc7c4168e00000000),
  4660. 88: uint64(0x805606a200000000),
  4661. 89: uint64(0x1582763700000000),
  4662. 90: uint64(0xebf9965300000000),
  4663. 91: uint64(0x7e2de6c600000000),
  4664. 92: uint64(0x170e569a00000000),
  4665. 93: uint64(0x82da260f00000000),
  4666. 94: uint64(0x7ca1c66b00000000),
  4667. 95: uint64(0xe975b6fe00000000),
  4668. 96: uint64(0x0b47142a00000000),
  4669. 97: uint64(0x9e9364bf00000000),
  4670. 98: uint64(0x60e884db00000000),
  4671. 99: uint64(0xf53cf44e00000000),
  4672. 100: uint64(0x9c1f441200000000),
  4673. 101: uint64(0x09cb348700000000),
  4674. 102: uint64(0xf7b0d4e300000000),
  4675. 103: uint64(0x6264a47600000000),
  4676. 104: uint64(0x25f6b45a00000000),
  4677. 105: uint64(0xb022c4cf00000000),
  4678. 106: uint64(0x4e5924ab00000000),
  4679. 107: uint64(0xdb8d543e00000000),
  4680. 108: uint64(0xb2aee46200000000),
  4681. 109: uint64(0x277a94f700000000),
  4682. 110: uint64(0xd901749300000000),
  4683. 111: uint64(0x4cd5040600000000),
  4684. 112: uint64(0x572555cb00000000),
  4685. 113: uint64(0xc2f1255e00000000),
  4686. 114: uint64(0x3c8ac53a00000000),
  4687. 115: uint64(0xa95eb5af00000000),
  4688. 116: uint64(0xc07d05f300000000),
  4689. 117: uint64(0x55a9756600000000),
  4690. 118: uint64(0xabd2950200000000),
  4691. 119: uint64(0x3e06e59700000000),
  4692. 120: uint64(0x7994f5bb00000000),
  4693. 121: uint64(0xec40852e00000000),
  4694. 122: uint64(0x123b654a00000000),
  4695. 123: uint64(0x87ef15df00000000),
  4696. 124: uint64(0xeecca58300000000),
  4697. 125: uint64(0x7b18d51600000000),
  4698. 126: uint64(0x8563357200000000),
  4699. 127: uint64(0x10b745e700000000),
  4700. 128: uint64(0xe40bcf6700000000),
  4701. 129: uint64(0x71dfbff200000000),
  4702. 130: uint64(0x8fa45f9600000000),
  4703. 131: uint64(0x1a702f0300000000),
  4704. 132: uint64(0x73539f5f00000000),
  4705. 133: uint64(0xe687efca00000000),
  4706. 134: uint64(0x18fc0fae00000000),
  4707. 135: uint64(0x8d287f3b00000000),
  4708. 136: uint64(0xcaba6f1700000000),
  4709. 137: uint64(0x5f6e1f8200000000),
  4710. 138: uint64(0xa115ffe600000000),
  4711. 139: uint64(0x34c18f7300000000),
  4712. 140: uint64(0x5de23f2f00000000),
  4713. 141: uint64(0xc8364fba00000000),
  4714. 142: uint64(0x364dafde00000000),
  4715. 143: uint64(0xa399df4b00000000),
  4716. 144: uint64(0xb8698e8600000000),
  4717. 145: uint64(0x2dbdfe1300000000),
  4718. 146: uint64(0xd3c61e7700000000),
  4719. 147: uint64(0x46126ee200000000),
  4720. 148: uint64(0x2f31debe00000000),
  4721. 149: uint64(0xbae5ae2b00000000),
  4722. 150: uint64(0x449e4e4f00000000),
  4723. 151: uint64(0xd14a3eda00000000),
  4724. 152: uint64(0x96d82ef600000000),
  4725. 153: uint64(0x030c5e6300000000),
  4726. 154: uint64(0xfd77be0700000000),
  4727. 155: uint64(0x68a3ce9200000000),
  4728. 156: uint64(0x01807ece00000000),
  4729. 157: uint64(0x94540e5b00000000),
  4730. 158: uint64(0x6a2fee3f00000000),
  4731. 159: uint64(0xfffb9eaa00000000),
  4732. 160: uint64(0x1dc93c7e00000000),
  4733. 161: uint64(0x881d4ceb00000000),
  4734. 162: uint64(0x7666ac8f00000000),
  4735. 163: uint64(0xe3b2dc1a00000000),
  4736. 164: uint64(0x8a916c4600000000),
  4737. 165: uint64(0x1f451cd300000000),
  4738. 166: uint64(0xe13efcb700000000),
  4739. 167: uint64(0x74ea8c2200000000),
  4740. 168: uint64(0x33789c0e00000000),
  4741. 169: uint64(0xa6acec9b00000000),
  4742. 170: uint64(0x58d70cff00000000),
  4743. 171: uint64(0xcd037c6a00000000),
  4744. 172: uint64(0xa420cc3600000000),
  4745. 173: uint64(0x31f4bca300000000),
  4746. 174: uint64(0xcf8f5cc700000000),
  4747. 175: uint64(0x5a5b2c5200000000),
  4748. 176: uint64(0x41ab7d9f00000000),
  4749. 177: uint64(0xd47f0d0a00000000),
  4750. 178: uint64(0x2a04ed6e00000000),
  4751. 179: uint64(0xbfd09dfb00000000),
  4752. 180: uint64(0xd6f32da700000000),
  4753. 181: uint64(0x43275d3200000000),
  4754. 182: uint64(0xbd5cbd5600000000),
  4755. 183: uint64(0x2888cdc300000000),
  4756. 184: uint64(0x6f1addef00000000),
  4757. 185: uint64(0xfacead7a00000000),
  4758. 186: uint64(0x04b54d1e00000000),
  4759. 187: uint64(0x91613d8b00000000),
  4760. 188: uint64(0xf8428dd700000000),
  4761. 189: uint64(0x6d96fd4200000000),
  4762. 190: uint64(0x93ed1d2600000000),
  4763. 191: uint64(0x06396db300000000),
  4764. 192: uint64(0x168e285400000000),
  4765. 193: uint64(0x835a58c100000000),
  4766. 194: uint64(0x7d21b8a500000000),
  4767. 195: uint64(0xe8f5c83000000000),
  4768. 196: uint64(0x81d6786c00000000),
  4769. 197: uint64(0x140208f900000000),
  4770. 198: uint64(0xea79e89d00000000),
  4771. 199: uint64(0x7fad980800000000),
  4772. 200: uint64(0x383f882400000000),
  4773. 201: uint64(0xadebf8b100000000),
  4774. 202: uint64(0x539018d500000000),
  4775. 203: uint64(0xc644684000000000),
  4776. 204: uint64(0xaf67d81c00000000),
  4777. 205: uint64(0x3ab3a88900000000),
  4778. 206: uint64(0xc4c848ed00000000),
  4779. 207: uint64(0x511c387800000000),
  4780. 208: uint64(0x4aec69b500000000),
  4781. 209: uint64(0xdf38192000000000),
  4782. 210: uint64(0x2143f94400000000),
  4783. 211: uint64(0xb49789d100000000),
  4784. 212: uint64(0xddb4398d00000000),
  4785. 213: uint64(0x4860491800000000),
  4786. 214: uint64(0xb61ba97c00000000),
  4787. 215: uint64(0x23cfd9e900000000),
  4788. 216: uint64(0x645dc9c500000000),
  4789. 217: uint64(0xf189b95000000000),
  4790. 218: uint64(0x0ff2593400000000),
  4791. 219: uint64(0x9a2629a100000000),
  4792. 220: uint64(0xf30599fd00000000),
  4793. 221: uint64(0x66d1e96800000000),
  4794. 222: uint64(0x98aa090c00000000),
  4795. 223: uint64(0x0d7e799900000000),
  4796. 224: uint64(0xef4cdb4d00000000),
  4797. 225: uint64(0x7a98abd800000000),
  4798. 226: uint64(0x84e34bbc00000000),
  4799. 227: uint64(0x11373b2900000000),
  4800. 228: uint64(0x78148b7500000000),
  4801. 229: uint64(0xedc0fbe000000000),
  4802. 230: uint64(0x13bb1b8400000000),
  4803. 231: uint64(0x866f6b1100000000),
  4804. 232: uint64(0xc1fd7b3d00000000),
  4805. 233: uint64(0x54290ba800000000),
  4806. 234: uint64(0xaa52ebcc00000000),
  4807. 235: uint64(0x3f869b5900000000),
  4808. 236: uint64(0x56a52b0500000000),
  4809. 237: uint64(0xc3715b9000000000),
  4810. 238: uint64(0x3d0abbf400000000),
  4811. 239: uint64(0xa8decb6100000000),
  4812. 240: uint64(0xb32e9aac00000000),
  4813. 241: uint64(0x26faea3900000000),
  4814. 242: uint64(0xd8810a5d00000000),
  4815. 243: uint64(0x4d557ac800000000),
  4816. 244: uint64(0x2476ca9400000000),
  4817. 245: uint64(0xb1a2ba0100000000),
  4818. 246: uint64(0x4fd95a6500000000),
  4819. 247: uint64(0xda0d2af000000000),
  4820. 248: uint64(0x9d9f3adc00000000),
  4821. 249: uint64(0x084b4a4900000000),
  4822. 250: uint64(0xf630aa2d00000000),
  4823. 251: uint64(0x63e4dab800000000),
  4824. 252: uint64(0x0ac76ae400000000),
  4825. 253: uint64(0x9f131a7100000000),
  4826. 254: uint64(0x6168fa1500000000),
  4827. 255: uint64(0xf4bc8a8000000000),
  4828. },
  4829. 4: {
  4830. 1: uint64(0x1f17f08000000000),
  4831. 2: uint64(0x7f2891da00000000),
  4832. 3: uint64(0x603f615a00000000),
  4833. 4: uint64(0xbf56536e00000000),
  4834. 5: uint64(0xa041a3ee00000000),
  4835. 6: uint64(0xc07ec2b400000000),
  4836. 7: uint64(0xdf69323400000000),
  4837. 8: uint64(0x7eada6dc00000000),
  4838. 9: uint64(0x61ba565c00000000),
  4839. 10: uint64(0x0185370600000000),
  4840. 11: uint64(0x1e92c78600000000),
  4841. 12: uint64(0xc1fbf5b200000000),
  4842. 13: uint64(0xdeec053200000000),
  4843. 14: uint64(0xbed3646800000000),
  4844. 15: uint64(0xa1c494e800000000),
  4845. 16: uint64(0xbd5c3c6200000000),
  4846. 17: uint64(0xa24bcce200000000),
  4847. 18: uint64(0xc274adb800000000),
  4848. 19: uint64(0xdd635d3800000000),
  4849. 20: uint64(0x020a6f0c00000000),
  4850. 21: uint64(0x1d1d9f8c00000000),
  4851. 22: uint64(0x7d22fed600000000),
  4852. 23: uint64(0x62350e5600000000),
  4853. 24: uint64(0xc3f19abe00000000),
  4854. 25: uint64(0xdce66a3e00000000),
  4855. 26: uint64(0xbcd90b6400000000),
  4856. 27: uint64(0xa3cefbe400000000),
  4857. 28: uint64(0x7ca7c9d000000000),
  4858. 29: uint64(0x63b0395000000000),
  4859. 30: uint64(0x038f580a00000000),
  4860. 31: uint64(0x1c98a88a00000000),
  4861. 32: uint64(0x7ab978c400000000),
  4862. 33: uint64(0x65ae884400000000),
  4863. 34: uint64(0x0591e91e00000000),
  4864. 35: uint64(0x1a86199e00000000),
  4865. 36: uint64(0xc5ef2baa00000000),
  4866. 37: uint64(0xdaf8db2a00000000),
  4867. 38: uint64(0xbac7ba7000000000),
  4868. 39: uint64(0xa5d04af000000000),
  4869. 40: uint64(0x0414de1800000000),
  4870. 41: uint64(0x1b032e9800000000),
  4871. 42: uint64(0x7b3c4fc200000000),
  4872. 43: uint64(0x642bbf4200000000),
  4873. 44: uint64(0xbb428d7600000000),
  4874. 45: uint64(0xa4557df600000000),
  4875. 46: uint64(0xc46a1cac00000000),
  4876. 47: uint64(0xdb7dec2c00000000),
  4877. 48: uint64(0xc7e544a600000000),
  4878. 49: uint64(0xd8f2b42600000000),
  4879. 50: uint64(0xb8cdd57c00000000),
  4880. 51: uint64(0xa7da25fc00000000),
  4881. 52: uint64(0x78b317c800000000),
  4882. 53: uint64(0x67a4e74800000000),
  4883. 54: uint64(0x079b861200000000),
  4884. 55: uint64(0x188c769200000000),
  4885. 56: uint64(0xb948e27a00000000),
  4886. 57: uint64(0xa65f12fa00000000),
  4887. 58: uint64(0xc66073a000000000),
  4888. 59: uint64(0xd977832000000000),
  4889. 60: uint64(0x061eb11400000000),
  4890. 61: uint64(0x1909419400000000),
  4891. 62: uint64(0x793620ce00000000),
  4892. 63: uint64(0x6621d04e00000000),
  4893. 64: uint64(0xb574805300000000),
  4894. 65: uint64(0xaa6370d300000000),
  4895. 66: uint64(0xca5c118900000000),
  4896. 67: uint64(0xd54be10900000000),
  4897. 68: uint64(0x0a22d33d00000000),
  4898. 69: uint64(0x153523bd00000000),
  4899. 70: uint64(0x750a42e700000000),
  4900. 71: uint64(0x6a1db26700000000),
  4901. 72: uint64(0xcbd9268f00000000),
  4902. 73: uint64(0xd4ced60f00000000),
  4903. 74: uint64(0xb4f1b75500000000),
  4904. 75: uint64(0xabe647d500000000),
  4905. 76: uint64(0x748f75e100000000),
  4906. 77: uint64(0x6b98856100000000),
  4907. 78: uint64(0x0ba7e43b00000000),
  4908. 79: uint64(0x14b014bb00000000),
  4909. 80: uint64(0x0828bc3100000000),
  4910. 81: uint64(0x173f4cb100000000),
  4911. 82: uint64(0x77002deb00000000),
  4912. 83: uint64(0x6817dd6b00000000),
  4913. 84: uint64(0xb77eef5f00000000),
  4914. 85: uint64(0xa8691fdf00000000),
  4915. 86: uint64(0xc8567e8500000000),
  4916. 87: uint64(0xd7418e0500000000),
  4917. 88: uint64(0x76851aed00000000),
  4918. 89: uint64(0x6992ea6d00000000),
  4919. 90: uint64(0x09ad8b3700000000),
  4920. 91: uint64(0x16ba7bb700000000),
  4921. 92: uint64(0xc9d3498300000000),
  4922. 93: uint64(0xd6c4b90300000000),
  4923. 94: uint64(0xb6fbd85900000000),
  4924. 95: uint64(0xa9ec28d900000000),
  4925. 96: uint64(0xcfcdf89700000000),
  4926. 97: uint64(0xd0da081700000000),
  4927. 98: uint64(0xb0e5694d00000000),
  4928. 99: uint64(0xaff299cd00000000),
  4929. 100: uint64(0x709babf900000000),
  4930. 101: uint64(0x6f8c5b7900000000),
  4931. 102: uint64(0x0fb33a2300000000),
  4932. 103: uint64(0x10a4caa300000000),
  4933. 104: uint64(0xb1605e4b00000000),
  4934. 105: uint64(0xae77aecb00000000),
  4935. 106: uint64(0xce48cf9100000000),
  4936. 107: uint64(0xd15f3f1100000000),
  4937. 108: uint64(0x0e360d2500000000),
  4938. 109: uint64(0x1121fda500000000),
  4939. 110: uint64(0x711e9cff00000000),
  4940. 111: uint64(0x6e096c7f00000000),
  4941. 112: uint64(0x7291c4f500000000),
  4942. 113: uint64(0x6d86347500000000),
  4943. 114: uint64(0x0db9552f00000000),
  4944. 115: uint64(0x12aea5af00000000),
  4945. 116: uint64(0xcdc7979b00000000),
  4946. 117: uint64(0xd2d0671b00000000),
  4947. 118: uint64(0xb2ef064100000000),
  4948. 119: uint64(0xadf8f6c100000000),
  4949. 120: uint64(0x0c3c622900000000),
  4950. 121: uint64(0x132b92a900000000),
  4951. 122: uint64(0x7314f3f300000000),
  4952. 123: uint64(0x6c03037300000000),
  4953. 124: uint64(0xb36a314700000000),
  4954. 125: uint64(0xac7dc1c700000000),
  4955. 126: uint64(0xcc42a09d00000000),
  4956. 127: uint64(0xd355501d00000000),
  4957. 128: uint64(0x6ae900a700000000),
  4958. 129: uint64(0x75fef02700000000),
  4959. 130: uint64(0x15c1917d00000000),
  4960. 131: uint64(0x0ad661fd00000000),
  4961. 132: uint64(0xd5bf53c900000000),
  4962. 133: uint64(0xcaa8a34900000000),
  4963. 134: uint64(0xaa97c21300000000),
  4964. 135: uint64(0xb580329300000000),
  4965. 136: uint64(0x1444a67b00000000),
  4966. 137: uint64(0x0b5356fb00000000),
  4967. 138: uint64(0x6b6c37a100000000),
  4968. 139: uint64(0x747bc72100000000),
  4969. 140: uint64(0xab12f51500000000),
  4970. 141: uint64(0xb405059500000000),
  4971. 142: uint64(0xd43a64cf00000000),
  4972. 143: uint64(0xcb2d944f00000000),
  4973. 144: uint64(0xd7b53cc500000000),
  4974. 145: uint64(0xc8a2cc4500000000),
  4975. 146: uint64(0xa89dad1f00000000),
  4976. 147: uint64(0xb78a5d9f00000000),
  4977. 148: uint64(0x68e36fab00000000),
  4978. 149: uint64(0x77f49f2b00000000),
  4979. 150: uint64(0x17cbfe7100000000),
  4980. 151: uint64(0x08dc0ef100000000),
  4981. 152: uint64(0xa9189a1900000000),
  4982. 153: uint64(0xb60f6a9900000000),
  4983. 154: uint64(0xd6300bc300000000),
  4984. 155: uint64(0xc927fb4300000000),
  4985. 156: uint64(0x164ec97700000000),
  4986. 157: uint64(0x095939f700000000),
  4987. 158: uint64(0x696658ad00000000),
  4988. 159: uint64(0x7671a82d00000000),
  4989. 160: uint64(0x1050786300000000),
  4990. 161: uint64(0x0f4788e300000000),
  4991. 162: uint64(0x6f78e9b900000000),
  4992. 163: uint64(0x706f193900000000),
  4993. 164: uint64(0xaf062b0d00000000),
  4994. 165: uint64(0xb011db8d00000000),
  4995. 166: uint64(0xd02ebad700000000),
  4996. 167: uint64(0xcf394a5700000000),
  4997. 168: uint64(0x6efddebf00000000),
  4998. 169: uint64(0x71ea2e3f00000000),
  4999. 170: uint64(0x11d54f6500000000),
  5000. 171: uint64(0x0ec2bfe500000000),
  5001. 172: uint64(0xd1ab8dd100000000),
  5002. 173: uint64(0xcebc7d5100000000),
  5003. 174: uint64(0xae831c0b00000000),
  5004. 175: uint64(0xb194ec8b00000000),
  5005. 176: uint64(0xad0c440100000000),
  5006. 177: uint64(0xb21bb48100000000),
  5007. 178: uint64(0xd224d5db00000000),
  5008. 179: uint64(0xcd33255b00000000),
  5009. 180: uint64(0x125a176f00000000),
  5010. 181: uint64(0x0d4de7ef00000000),
  5011. 182: uint64(0x6d7286b500000000),
  5012. 183: uint64(0x7265763500000000),
  5013. 184: uint64(0xd3a1e2dd00000000),
  5014. 185: uint64(0xccb6125d00000000),
  5015. 186: uint64(0xac89730700000000),
  5016. 187: uint64(0xb39e838700000000),
  5017. 188: uint64(0x6cf7b1b300000000),
  5018. 189: uint64(0x73e0413300000000),
  5019. 190: uint64(0x13df206900000000),
  5020. 191: uint64(0x0cc8d0e900000000),
  5021. 192: uint64(0xdf9d80f400000000),
  5022. 193: uint64(0xc08a707400000000),
  5023. 194: uint64(0xa0b5112e00000000),
  5024. 195: uint64(0xbfa2e1ae00000000),
  5025. 196: uint64(0x60cbd39a00000000),
  5026. 197: uint64(0x7fdc231a00000000),
  5027. 198: uint64(0x1fe3424000000000),
  5028. 199: uint64(0x00f4b2c000000000),
  5029. 200: uint64(0xa130262800000000),
  5030. 201: uint64(0xbe27d6a800000000),
  5031. 202: uint64(0xde18b7f200000000),
  5032. 203: uint64(0xc10f477200000000),
  5033. 204: uint64(0x1e66754600000000),
  5034. 205: uint64(0x017185c600000000),
  5035. 206: uint64(0x614ee49c00000000),
  5036. 207: uint64(0x7e59141c00000000),
  5037. 208: uint64(0x62c1bc9600000000),
  5038. 209: uint64(0x7dd64c1600000000),
  5039. 210: uint64(0x1de92d4c00000000),
  5040. 211: uint64(0x02feddcc00000000),
  5041. 212: uint64(0xdd97eff800000000),
  5042. 213: uint64(0xc2801f7800000000),
  5043. 214: uint64(0xa2bf7e2200000000),
  5044. 215: uint64(0xbda88ea200000000),
  5045. 216: uint64(0x1c6c1a4a00000000),
  5046. 217: uint64(0x037beaca00000000),
  5047. 218: uint64(0x63448b9000000000),
  5048. 219: uint64(0x7c537b1000000000),
  5049. 220: uint64(0xa33a492400000000),
  5050. 221: uint64(0xbc2db9a400000000),
  5051. 222: uint64(0xdc12d8fe00000000),
  5052. 223: uint64(0xc305287e00000000),
  5053. 224: uint64(0xa524f83000000000),
  5054. 225: uint64(0xba3308b000000000),
  5055. 226: uint64(0xda0c69ea00000000),
  5056. 227: uint64(0xc51b996a00000000),
  5057. 228: uint64(0x1a72ab5e00000000),
  5058. 229: uint64(0x05655bde00000000),
  5059. 230: uint64(0x655a3a8400000000),
  5060. 231: uint64(0x7a4dca0400000000),
  5061. 232: uint64(0xdb895eec00000000),
  5062. 233: uint64(0xc49eae6c00000000),
  5063. 234: uint64(0xa4a1cf3600000000),
  5064. 235: uint64(0xbbb63fb600000000),
  5065. 236: uint64(0x64df0d8200000000),
  5066. 237: uint64(0x7bc8fd0200000000),
  5067. 238: uint64(0x1bf79c5800000000),
  5068. 239: uint64(0x04e06cd800000000),
  5069. 240: uint64(0x1878c45200000000),
  5070. 241: uint64(0x076f34d200000000),
  5071. 242: uint64(0x6750558800000000),
  5072. 243: uint64(0x7847a50800000000),
  5073. 244: uint64(0xa72e973c00000000),
  5074. 245: uint64(0xb83967bc00000000),
  5075. 246: uint64(0xd80606e600000000),
  5076. 247: uint64(0xc711f66600000000),
  5077. 248: uint64(0x66d5628e00000000),
  5078. 249: uint64(0x79c2920e00000000),
  5079. 250: uint64(0x19fdf35400000000),
  5080. 251: uint64(0x06ea03d400000000),
  5081. 252: uint64(0xd98331e000000000),
  5082. 253: uint64(0xc694c16000000000),
  5083. 254: uint64(0xa6aba03a00000000),
  5084. 255: uint64(0xb9bc50ba00000000),
  5085. },
  5086. 5: {
  5087. 1: uint64(0xe2fd888d00000000),
  5088. 2: uint64(0x85fd60c000000000),
  5089. 3: uint64(0x6700e84d00000000),
  5090. 4: uint64(0x4bfdb05b00000000),
  5091. 5: uint64(0xa90038d600000000),
  5092. 6: uint64(0xce00d09b00000000),
  5093. 7: uint64(0x2cfd581600000000),
  5094. 8: uint64(0x96fa61b700000000),
  5095. 9: uint64(0x7407e93a00000000),
  5096. 10: uint64(0x1307017700000000),
  5097. 11: uint64(0xf1fa89fa00000000),
  5098. 12: uint64(0xdd07d1ec00000000),
  5099. 13: uint64(0x3ffa596100000000),
  5100. 14: uint64(0x58fab12c00000000),
  5101. 15: uint64(0xba0739a100000000),
  5102. 16: uint64(0x6df3b2b500000000),
  5103. 17: uint64(0x8f0e3a3800000000),
  5104. 18: uint64(0xe80ed27500000000),
  5105. 19: uint64(0x0af35af800000000),
  5106. 20: uint64(0x260e02ee00000000),
  5107. 21: uint64(0xc4f38a6300000000),
  5108. 22: uint64(0xa3f3622e00000000),
  5109. 23: uint64(0x410eeaa300000000),
  5110. 24: uint64(0xfb09d30200000000),
  5111. 25: uint64(0x19f45b8f00000000),
  5112. 26: uint64(0x7ef4b3c200000000),
  5113. 27: uint64(0x9c093b4f00000000),
  5114. 28: uint64(0xb0f4635900000000),
  5115. 29: uint64(0x5209ebd400000000),
  5116. 30: uint64(0x3509039900000000),
  5117. 31: uint64(0xd7f48b1400000000),
  5118. 32: uint64(0x9be014b000000000),
  5119. 33: uint64(0x791d9c3d00000000),
  5120. 34: uint64(0x1e1d747000000000),
  5121. 35: uint64(0xfce0fcfd00000000),
  5122. 36: uint64(0xd01da4eb00000000),
  5123. 37: uint64(0x32e02c6600000000),
  5124. 38: uint64(0x55e0c42b00000000),
  5125. 39: uint64(0xb71d4ca600000000),
  5126. 40: uint64(0x0d1a750700000000),
  5127. 41: uint64(0xefe7fd8a00000000),
  5128. 42: uint64(0x88e715c700000000),
  5129. 43: uint64(0x6a1a9d4a00000000),
  5130. 44: uint64(0x46e7c55c00000000),
  5131. 45: uint64(0xa41a4dd100000000),
  5132. 46: uint64(0xc31aa59c00000000),
  5133. 47: uint64(0x21e72d1100000000),
  5134. 48: uint64(0xf613a60500000000),
  5135. 49: uint64(0x14ee2e8800000000),
  5136. 50: uint64(0x73eec6c500000000),
  5137. 51: uint64(0x91134e4800000000),
  5138. 52: uint64(0xbdee165e00000000),
  5139. 53: uint64(0x5f139ed300000000),
  5140. 54: uint64(0x3813769e00000000),
  5141. 55: uint64(0xdaeefe1300000000),
  5142. 56: uint64(0x60e9c7b200000000),
  5143. 57: uint64(0x82144f3f00000000),
  5144. 58: uint64(0xe514a77200000000),
  5145. 59: uint64(0x07e92fff00000000),
  5146. 60: uint64(0x2b1477e900000000),
  5147. 61: uint64(0xc9e9ff6400000000),
  5148. 62: uint64(0xaee9172900000000),
  5149. 63: uint64(0x4c149fa400000000),
  5150. 64: uint64(0x77c758bb00000000),
  5151. 65: uint64(0x953ad03600000000),
  5152. 66: uint64(0xf23a387b00000000),
  5153. 67: uint64(0x10c7b0f600000000),
  5154. 68: uint64(0x3c3ae8e000000000),
  5155. 69: uint64(0xdec7606d00000000),
  5156. 70: uint64(0xb9c7882000000000),
  5157. 71: uint64(0x5b3a00ad00000000),
  5158. 72: uint64(0xe13d390c00000000),
  5159. 73: uint64(0x03c0b18100000000),
  5160. 74: uint64(0x64c059cc00000000),
  5161. 75: uint64(0x863dd14100000000),
  5162. 76: uint64(0xaac0895700000000),
  5163. 77: uint64(0x483d01da00000000),
  5164. 78: uint64(0x2f3de99700000000),
  5165. 79: uint64(0xcdc0611a00000000),
  5166. 80: uint64(0x1a34ea0e00000000),
  5167. 81: uint64(0xf8c9628300000000),
  5168. 82: uint64(0x9fc98ace00000000),
  5169. 83: uint64(0x7d34024300000000),
  5170. 84: uint64(0x51c95a5500000000),
  5171. 85: uint64(0xb334d2d800000000),
  5172. 86: uint64(0xd4343a9500000000),
  5173. 87: uint64(0x36c9b21800000000),
  5174. 88: uint64(0x8cce8bb900000000),
  5175. 89: uint64(0x6e33033400000000),
  5176. 90: uint64(0x0933eb7900000000),
  5177. 91: uint64(0xebce63f400000000),
  5178. 92: uint64(0xc7333be200000000),
  5179. 93: uint64(0x25ceb36f00000000),
  5180. 94: uint64(0x42ce5b2200000000),
  5181. 95: uint64(0xa033d3af00000000),
  5182. 96: uint64(0xec274c0b00000000),
  5183. 97: uint64(0x0edac48600000000),
  5184. 98: uint64(0x69da2ccb00000000),
  5185. 99: uint64(0x8b27a44600000000),
  5186. 100: uint64(0xa7dafc5000000000),
  5187. 101: uint64(0x452774dd00000000),
  5188. 102: uint64(0x22279c9000000000),
  5189. 103: uint64(0xc0da141d00000000),
  5190. 104: uint64(0x7add2dbc00000000),
  5191. 105: uint64(0x9820a53100000000),
  5192. 106: uint64(0xff204d7c00000000),
  5193. 107: uint64(0x1dddc5f100000000),
  5194. 108: uint64(0x31209de700000000),
  5195. 109: uint64(0xd3dd156a00000000),
  5196. 110: uint64(0xb4ddfd2700000000),
  5197. 111: uint64(0x562075aa00000000),
  5198. 112: uint64(0x81d4febe00000000),
  5199. 113: uint64(0x6329763300000000),
  5200. 114: uint64(0x04299e7e00000000),
  5201. 115: uint64(0xe6d416f300000000),
  5202. 116: uint64(0xca294ee500000000),
  5203. 117: uint64(0x28d4c66800000000),
  5204. 118: uint64(0x4fd42e2500000000),
  5205. 119: uint64(0xad29a6a800000000),
  5206. 120: uint64(0x172e9f0900000000),
  5207. 121: uint64(0xf5d3178400000000),
  5208. 122: uint64(0x92d3ffc900000000),
  5209. 123: uint64(0x702e774400000000),
  5210. 124: uint64(0x5cd32f5200000000),
  5211. 125: uint64(0xbe2ea7df00000000),
  5212. 126: uint64(0xd92e4f9200000000),
  5213. 127: uint64(0x3bd3c71f00000000),
  5214. 128: uint64(0xaf88c0ad00000000),
  5215. 129: uint64(0x4d75482000000000),
  5216. 130: uint64(0x2a75a06d00000000),
  5217. 131: uint64(0xc88828e000000000),
  5218. 132: uint64(0xe47570f600000000),
  5219. 133: uint64(0x0688f87b00000000),
  5220. 134: uint64(0x6188103600000000),
  5221. 135: uint64(0x837598bb00000000),
  5222. 136: uint64(0x3972a11a00000000),
  5223. 137: uint64(0xdb8f299700000000),
  5224. 138: uint64(0xbc8fc1da00000000),
  5225. 139: uint64(0x5e72495700000000),
  5226. 140: uint64(0x728f114100000000),
  5227. 141: uint64(0x907299cc00000000),
  5228. 142: uint64(0xf772718100000000),
  5229. 143: uint64(0x158ff90c00000000),
  5230. 144: uint64(0xc27b721800000000),
  5231. 145: uint64(0x2086fa9500000000),
  5232. 146: uint64(0x478612d800000000),
  5233. 147: uint64(0xa57b9a5500000000),
  5234. 148: uint64(0x8986c24300000000),
  5235. 149: uint64(0x6b7b4ace00000000),
  5236. 150: uint64(0x0c7ba28300000000),
  5237. 151: uint64(0xee862a0e00000000),
  5238. 152: uint64(0x548113af00000000),
  5239. 153: uint64(0xb67c9b2200000000),
  5240. 154: uint64(0xd17c736f00000000),
  5241. 155: uint64(0x3381fbe200000000),
  5242. 156: uint64(0x1f7ca3f400000000),
  5243. 157: uint64(0xfd812b7900000000),
  5244. 158: uint64(0x9a81c33400000000),
  5245. 159: uint64(0x787c4bb900000000),
  5246. 160: uint64(0x3468d41d00000000),
  5247. 161: uint64(0xd6955c9000000000),
  5248. 162: uint64(0xb195b4dd00000000),
  5249. 163: uint64(0x53683c5000000000),
  5250. 164: uint64(0x7f95644600000000),
  5251. 165: uint64(0x9d68eccb00000000),
  5252. 166: uint64(0xfa68048600000000),
  5253. 167: uint64(0x18958c0b00000000),
  5254. 168: uint64(0xa292b5aa00000000),
  5255. 169: uint64(0x406f3d2700000000),
  5256. 170: uint64(0x276fd56a00000000),
  5257. 171: uint64(0xc5925de700000000),
  5258. 172: uint64(0xe96f05f100000000),
  5259. 173: uint64(0x0b928d7c00000000),
  5260. 174: uint64(0x6c92653100000000),
  5261. 175: uint64(0x8e6fedbc00000000),
  5262. 176: uint64(0x599b66a800000000),
  5263. 177: uint64(0xbb66ee2500000000),
  5264. 178: uint64(0xdc66066800000000),
  5265. 179: uint64(0x3e9b8ee500000000),
  5266. 180: uint64(0x1266d6f300000000),
  5267. 181: uint64(0xf09b5e7e00000000),
  5268. 182: uint64(0x979bb63300000000),
  5269. 183: uint64(0x75663ebe00000000),
  5270. 184: uint64(0xcf61071f00000000),
  5271. 185: uint64(0x2d9c8f9200000000),
  5272. 186: uint64(0x4a9c67df00000000),
  5273. 187: uint64(0xa861ef5200000000),
  5274. 188: uint64(0x849cb74400000000),
  5275. 189: uint64(0x66613fc900000000),
  5276. 190: uint64(0x0161d78400000000),
  5277. 191: uint64(0xe39c5f0900000000),
  5278. 192: uint64(0xd84f981600000000),
  5279. 193: uint64(0x3ab2109b00000000),
  5280. 194: uint64(0x5db2f8d600000000),
  5281. 195: uint64(0xbf4f705b00000000),
  5282. 196: uint64(0x93b2284d00000000),
  5283. 197: uint64(0x714fa0c000000000),
  5284. 198: uint64(0x164f488d00000000),
  5285. 199: uint64(0xf4b2c00000000000),
  5286. 200: uint64(0x4eb5f9a100000000),
  5287. 201: uint64(0xac48712c00000000),
  5288. 202: uint64(0xcb48996100000000),
  5289. 203: uint64(0x29b511ec00000000),
  5290. 204: uint64(0x054849fa00000000),
  5291. 205: uint64(0xe7b5c17700000000),
  5292. 206: uint64(0x80b5293a00000000),
  5293. 207: uint64(0x6248a1b700000000),
  5294. 208: uint64(0xb5bc2aa300000000),
  5295. 209: uint64(0x5741a22e00000000),
  5296. 210: uint64(0x30414a6300000000),
  5297. 211: uint64(0xd2bcc2ee00000000),
  5298. 212: uint64(0xfe419af800000000),
  5299. 213: uint64(0x1cbc127500000000),
  5300. 214: uint64(0x7bbcfa3800000000),
  5301. 215: uint64(0x994172b500000000),
  5302. 216: uint64(0x23464b1400000000),
  5303. 217: uint64(0xc1bbc39900000000),
  5304. 218: uint64(0xa6bb2bd400000000),
  5305. 219: uint64(0x4446a35900000000),
  5306. 220: uint64(0x68bbfb4f00000000),
  5307. 221: uint64(0x8a4673c200000000),
  5308. 222: uint64(0xed469b8f00000000),
  5309. 223: uint64(0x0fbb130200000000),
  5310. 224: uint64(0x43af8ca600000000),
  5311. 225: uint64(0xa152042b00000000),
  5312. 226: uint64(0xc652ec6600000000),
  5313. 227: uint64(0x24af64eb00000000),
  5314. 228: uint64(0x08523cfd00000000),
  5315. 229: uint64(0xeaafb47000000000),
  5316. 230: uint64(0x8daf5c3d00000000),
  5317. 231: uint64(0x6f52d4b000000000),
  5318. 232: uint64(0xd555ed1100000000),
  5319. 233: uint64(0x37a8659c00000000),
  5320. 234: uint64(0x50a88dd100000000),
  5321. 235: uint64(0xb255055c00000000),
  5322. 236: uint64(0x9ea85d4a00000000),
  5323. 237: uint64(0x7c55d5c700000000),
  5324. 238: uint64(0x1b553d8a00000000),
  5325. 239: uint64(0xf9a8b50700000000),
  5326. 240: uint64(0x2e5c3e1300000000),
  5327. 241: uint64(0xcca1b69e00000000),
  5328. 242: uint64(0xaba15ed300000000),
  5329. 243: uint64(0x495cd65e00000000),
  5330. 244: uint64(0x65a18e4800000000),
  5331. 245: uint64(0x875c06c500000000),
  5332. 246: uint64(0xe05cee8800000000),
  5333. 247: uint64(0x02a1660500000000),
  5334. 248: uint64(0xb8a65fa400000000),
  5335. 249: uint64(0x5a5bd72900000000),
  5336. 250: uint64(0x3d5b3f6400000000),
  5337. 251: uint64(0xdfa6b7e900000000),
  5338. 252: uint64(0xf35befff00000000),
  5339. 253: uint64(0x11a6677200000000),
  5340. 254: uint64(0x76a68f3f00000000),
  5341. 255: uint64(0x945b07b200000000),
  5342. },
  5343. 6: {
  5344. 1: uint64(0xa90b894e00000000),
  5345. 2: uint64(0x5217129d00000000),
  5346. 3: uint64(0xfb1c9bd300000000),
  5347. 4: uint64(0xe52855e100000000),
  5348. 5: uint64(0x4c23dcaf00000000),
  5349. 6: uint64(0xb73f477c00000000),
  5350. 7: uint64(0x1e34ce3200000000),
  5351. 8: uint64(0x8b57db1900000000),
  5352. 9: uint64(0x225c525700000000),
  5353. 10: uint64(0xd940c98400000000),
  5354. 11: uint64(0x704b40ca00000000),
  5355. 12: uint64(0x6e7f8ef800000000),
  5356. 13: uint64(0xc77407b600000000),
  5357. 14: uint64(0x3c689c6500000000),
  5358. 15: uint64(0x9563152b00000000),
  5359. 16: uint64(0x16afb63300000000),
  5360. 17: uint64(0xbfa43f7d00000000),
  5361. 18: uint64(0x44b8a4ae00000000),
  5362. 19: uint64(0xedb32de000000000),
  5363. 20: uint64(0xf387e3d200000000),
  5364. 21: uint64(0x5a8c6a9c00000000),
  5365. 22: uint64(0xa190f14f00000000),
  5366. 23: uint64(0x089b780100000000),
  5367. 24: uint64(0x9df86d2a00000000),
  5368. 25: uint64(0x34f3e46400000000),
  5369. 26: uint64(0xcfef7fb700000000),
  5370. 27: uint64(0x66e4f6f900000000),
  5371. 28: uint64(0x78d038cb00000000),
  5372. 29: uint64(0xd1dbb18500000000),
  5373. 30: uint64(0x2ac72a5600000000),
  5374. 31: uint64(0x83cca31800000000),
  5375. 32: uint64(0x2c5e6d6700000000),
  5376. 33: uint64(0x8555e42900000000),
  5377. 34: uint64(0x7e497ffa00000000),
  5378. 35: uint64(0xd742f6b400000000),
  5379. 36: uint64(0xc976388600000000),
  5380. 37: uint64(0x607db1c800000000),
  5381. 38: uint64(0x9b612a1b00000000),
  5382. 39: uint64(0x326aa35500000000),
  5383. 40: uint64(0xa709b67e00000000),
  5384. 41: uint64(0x0e023f3000000000),
  5385. 42: uint64(0xf51ea4e300000000),
  5386. 43: uint64(0x5c152dad00000000),
  5387. 44: uint64(0x4221e39f00000000),
  5388. 45: uint64(0xeb2a6ad100000000),
  5389. 46: uint64(0x1036f10200000000),
  5390. 47: uint64(0xb93d784c00000000),
  5391. 48: uint64(0x3af1db5400000000),
  5392. 49: uint64(0x93fa521a00000000),
  5393. 50: uint64(0x68e6c9c900000000),
  5394. 51: uint64(0xc1ed408700000000),
  5395. 52: uint64(0xdfd98eb500000000),
  5396. 53: uint64(0x76d207fb00000000),
  5397. 54: uint64(0x8dce9c2800000000),
  5398. 55: uint64(0x24c5156600000000),
  5399. 56: uint64(0xb1a6004d00000000),
  5400. 57: uint64(0x18ad890300000000),
  5401. 58: uint64(0xe3b112d000000000),
  5402. 59: uint64(0x4aba9b9e00000000),
  5403. 60: uint64(0x548e55ac00000000),
  5404. 61: uint64(0xfd85dce200000000),
  5405. 62: uint64(0x0699473100000000),
  5406. 63: uint64(0xaf92ce7f00000000),
  5407. 64: uint64(0x58bcdace00000000),
  5408. 65: uint64(0xf1b7538000000000),
  5409. 66: uint64(0x0aabc85300000000),
  5410. 67: uint64(0xa3a0411d00000000),
  5411. 68: uint64(0xbd948f2f00000000),
  5412. 69: uint64(0x149f066100000000),
  5413. 70: uint64(0xef839db200000000),
  5414. 71: uint64(0x468814fc00000000),
  5415. 72: uint64(0xd3eb01d700000000),
  5416. 73: uint64(0x7ae0889900000000),
  5417. 74: uint64(0x81fc134a00000000),
  5418. 75: uint64(0x28f79a0400000000),
  5419. 76: uint64(0x36c3543600000000),
  5420. 77: uint64(0x9fc8dd7800000000),
  5421. 78: uint64(0x64d446ab00000000),
  5422. 79: uint64(0xcddfcfe500000000),
  5423. 80: uint64(0x4e136cfd00000000),
  5424. 81: uint64(0xe718e5b300000000),
  5425. 82: uint64(0x1c047e6000000000),
  5426. 83: uint64(0xb50ff72e00000000),
  5427. 84: uint64(0xab3b391c00000000),
  5428. 85: uint64(0x0230b05200000000),
  5429. 86: uint64(0xf92c2b8100000000),
  5430. 87: uint64(0x5027a2cf00000000),
  5431. 88: uint64(0xc544b7e400000000),
  5432. 89: uint64(0x6c4f3eaa00000000),
  5433. 90: uint64(0x9753a57900000000),
  5434. 91: uint64(0x3e582c3700000000),
  5435. 92: uint64(0x206ce20500000000),
  5436. 93: uint64(0x89676b4b00000000),
  5437. 94: uint64(0x727bf09800000000),
  5438. 95: uint64(0xdb7079d600000000),
  5439. 96: uint64(0x74e2b7a900000000),
  5440. 97: uint64(0xdde93ee700000000),
  5441. 98: uint64(0x26f5a53400000000),
  5442. 99: uint64(0x8ffe2c7a00000000),
  5443. 100: uint64(0x91cae24800000000),
  5444. 101: uint64(0x38c16b0600000000),
  5445. 102: uint64(0xc3ddf0d500000000),
  5446. 103: uint64(0x6ad6799b00000000),
  5447. 104: uint64(0xffb56cb000000000),
  5448. 105: uint64(0x56bee5fe00000000),
  5449. 106: uint64(0xada27e2d00000000),
  5450. 107: uint64(0x04a9f76300000000),
  5451. 108: uint64(0x1a9d395100000000),
  5452. 109: uint64(0xb396b01f00000000),
  5453. 110: uint64(0x488a2bcc00000000),
  5454. 111: uint64(0xe181a28200000000),
  5455. 112: uint64(0x624d019a00000000),
  5456. 113: uint64(0xcb4688d400000000),
  5457. 114: uint64(0x305a130700000000),
  5458. 115: uint64(0x99519a4900000000),
  5459. 116: uint64(0x8765547b00000000),
  5460. 117: uint64(0x2e6edd3500000000),
  5461. 118: uint64(0xd57246e600000000),
  5462. 119: uint64(0x7c79cfa800000000),
  5463. 120: uint64(0xe91ada8300000000),
  5464. 121: uint64(0x401153cd00000000),
  5465. 122: uint64(0xbb0dc81e00000000),
  5466. 123: uint64(0x1206415000000000),
  5467. 124: uint64(0x0c328f6200000000),
  5468. 125: uint64(0xa539062c00000000),
  5469. 126: uint64(0x5e259dff00000000),
  5470. 127: uint64(0xf72e14b100000000),
  5471. 128: uint64(0xf17ec44600000000),
  5472. 129: uint64(0x58754d0800000000),
  5473. 130: uint64(0xa369d6db00000000),
  5474. 131: uint64(0x0a625f9500000000),
  5475. 132: uint64(0x145691a700000000),
  5476. 133: uint64(0xbd5d18e900000000),
  5477. 134: uint64(0x4641833a00000000),
  5478. 135: uint64(0xef4a0a7400000000),
  5479. 136: uint64(0x7a291f5f00000000),
  5480. 137: uint64(0xd322961100000000),
  5481. 138: uint64(0x283e0dc200000000),
  5482. 139: uint64(0x8135848c00000000),
  5483. 140: uint64(0x9f014abe00000000),
  5484. 141: uint64(0x360ac3f000000000),
  5485. 142: uint64(0xcd16582300000000),
  5486. 143: uint64(0x641dd16d00000000),
  5487. 144: uint64(0xe7d1727500000000),
  5488. 145: uint64(0x4edafb3b00000000),
  5489. 146: uint64(0xb5c660e800000000),
  5490. 147: uint64(0x1ccde9a600000000),
  5491. 148: uint64(0x02f9279400000000),
  5492. 149: uint64(0xabf2aeda00000000),
  5493. 150: uint64(0x50ee350900000000),
  5494. 151: uint64(0xf9e5bc4700000000),
  5495. 152: uint64(0x6c86a96c00000000),
  5496. 153: uint64(0xc58d202200000000),
  5497. 154: uint64(0x3e91bbf100000000),
  5498. 155: uint64(0x979a32bf00000000),
  5499. 156: uint64(0x89aefc8d00000000),
  5500. 157: uint64(0x20a575c300000000),
  5501. 158: uint64(0xdbb9ee1000000000),
  5502. 159: uint64(0x72b2675e00000000),
  5503. 160: uint64(0xdd20a92100000000),
  5504. 161: uint64(0x742b206f00000000),
  5505. 162: uint64(0x8f37bbbc00000000),
  5506. 163: uint64(0x263c32f200000000),
  5507. 164: uint64(0x3808fcc000000000),
  5508. 165: uint64(0x9103758e00000000),
  5509. 166: uint64(0x6a1fee5d00000000),
  5510. 167: uint64(0xc314671300000000),
  5511. 168: uint64(0x5677723800000000),
  5512. 169: uint64(0xff7cfb7600000000),
  5513. 170: uint64(0x046060a500000000),
  5514. 171: uint64(0xad6be9eb00000000),
  5515. 172: uint64(0xb35f27d900000000),
  5516. 173: uint64(0x1a54ae9700000000),
  5517. 174: uint64(0xe148354400000000),
  5518. 175: uint64(0x4843bc0a00000000),
  5519. 176: uint64(0xcb8f1f1200000000),
  5520. 177: uint64(0x6284965c00000000),
  5521. 178: uint64(0x99980d8f00000000),
  5522. 179: uint64(0x309384c100000000),
  5523. 180: uint64(0x2ea74af300000000),
  5524. 181: uint64(0x87acc3bd00000000),
  5525. 182: uint64(0x7cb0586e00000000),
  5526. 183: uint64(0xd5bbd12000000000),
  5527. 184: uint64(0x40d8c40b00000000),
  5528. 185: uint64(0xe9d34d4500000000),
  5529. 186: uint64(0x12cfd69600000000),
  5530. 187: uint64(0xbbc45fd800000000),
  5531. 188: uint64(0xa5f091ea00000000),
  5532. 189: uint64(0x0cfb18a400000000),
  5533. 190: uint64(0xf7e7837700000000),
  5534. 191: uint64(0x5eec0a3900000000),
  5535. 192: uint64(0xa9c21e8800000000),
  5536. 193: uint64(0x00c997c600000000),
  5537. 194: uint64(0xfbd50c1500000000),
  5538. 195: uint64(0x52de855b00000000),
  5539. 196: uint64(0x4cea4b6900000000),
  5540. 197: uint64(0xe5e1c22700000000),
  5541. 198: uint64(0x1efd59f400000000),
  5542. 199: uint64(0xb7f6d0ba00000000),
  5543. 200: uint64(0x2295c59100000000),
  5544. 201: uint64(0x8b9e4cdf00000000),
  5545. 202: uint64(0x7082d70c00000000),
  5546. 203: uint64(0xd9895e4200000000),
  5547. 204: uint64(0xc7bd907000000000),
  5548. 205: uint64(0x6eb6193e00000000),
  5549. 206: uint64(0x95aa82ed00000000),
  5550. 207: uint64(0x3ca10ba300000000),
  5551. 208: uint64(0xbf6da8bb00000000),
  5552. 209: uint64(0x166621f500000000),
  5553. 210: uint64(0xed7aba2600000000),
  5554. 211: uint64(0x4471336800000000),
  5555. 212: uint64(0x5a45fd5a00000000),
  5556. 213: uint64(0xf34e741400000000),
  5557. 214: uint64(0x0852efc700000000),
  5558. 215: uint64(0xa159668900000000),
  5559. 216: uint64(0x343a73a200000000),
  5560. 217: uint64(0x9d31faec00000000),
  5561. 218: uint64(0x662d613f00000000),
  5562. 219: uint64(0xcf26e87100000000),
  5563. 220: uint64(0xd112264300000000),
  5564. 221: uint64(0x7819af0d00000000),
  5565. 222: uint64(0x830534de00000000),
  5566. 223: uint64(0x2a0ebd9000000000),
  5567. 224: uint64(0x859c73ef00000000),
  5568. 225: uint64(0x2c97faa100000000),
  5569. 226: uint64(0xd78b617200000000),
  5570. 227: uint64(0x7e80e83c00000000),
  5571. 228: uint64(0x60b4260e00000000),
  5572. 229: uint64(0xc9bfaf4000000000),
  5573. 230: uint64(0x32a3349300000000),
  5574. 231: uint64(0x9ba8bddd00000000),
  5575. 232: uint64(0x0ecba8f600000000),
  5576. 233: uint64(0xa7c021b800000000),
  5577. 234: uint64(0x5cdcba6b00000000),
  5578. 235: uint64(0xf5d7332500000000),
  5579. 236: uint64(0xebe3fd1700000000),
  5580. 237: uint64(0x42e8745900000000),
  5581. 238: uint64(0xb9f4ef8a00000000),
  5582. 239: uint64(0x10ff66c400000000),
  5583. 240: uint64(0x9333c5dc00000000),
  5584. 241: uint64(0x3a384c9200000000),
  5585. 242: uint64(0xc124d74100000000),
  5586. 243: uint64(0x682f5e0f00000000),
  5587. 244: uint64(0x761b903d00000000),
  5588. 245: uint64(0xdf10197300000000),
  5589. 246: uint64(0x240c82a000000000),
  5590. 247: uint64(0x8d070bee00000000),
  5591. 248: uint64(0x18641ec500000000),
  5592. 249: uint64(0xb16f978b00000000),
  5593. 250: uint64(0x4a730c5800000000),
  5594. 251: uint64(0xe378851600000000),
  5595. 252: uint64(0xfd4c4b2400000000),
  5596. 253: uint64(0x5447c26a00000000),
  5597. 254: uint64(0xaf5b59b900000000),
  5598. 255: uint64(0x0650d0f700000000),
  5599. },
  5600. 7: {
  5601. 1: uint64(0x479244af00000000),
  5602. 2: uint64(0xcf22f88500000000),
  5603. 3: uint64(0x88b0bc2a00000000),
  5604. 4: uint64(0xdf4381d000000000),
  5605. 5: uint64(0x98d1c57f00000000),
  5606. 6: uint64(0x1061795500000000),
  5607. 7: uint64(0x57f33dfa00000000),
  5608. 8: uint64(0xff81737a00000000),
  5609. 9: uint64(0xb81337d500000000),
  5610. 10: uint64(0x30a38bff00000000),
  5611. 11: uint64(0x7731cf5000000000),
  5612. 12: uint64(0x20c2f2aa00000000),
  5613. 13: uint64(0x6750b60500000000),
  5614. 14: uint64(0xefe00a2f00000000),
  5615. 15: uint64(0xa8724e8000000000),
  5616. 16: uint64(0xfe03e7f400000000),
  5617. 17: uint64(0xb991a35b00000000),
  5618. 18: uint64(0x31211f7100000000),
  5619. 19: uint64(0x76b35bde00000000),
  5620. 20: uint64(0x2140662400000000),
  5621. 21: uint64(0x66d2228b00000000),
  5622. 22: uint64(0xee629ea100000000),
  5623. 23: uint64(0xa9f0da0e00000000),
  5624. 24: uint64(0x0182948e00000000),
  5625. 25: uint64(0x4610d02100000000),
  5626. 26: uint64(0xcea06c0b00000000),
  5627. 27: uint64(0x893228a400000000),
  5628. 28: uint64(0xdec1155e00000000),
  5629. 29: uint64(0x995351f100000000),
  5630. 30: uint64(0x11e3eddb00000000),
  5631. 31: uint64(0x5671a97400000000),
  5632. 32: uint64(0xbd01bf3200000000),
  5633. 33: uint64(0xfa93fb9d00000000),
  5634. 34: uint64(0x722347b700000000),
  5635. 35: uint64(0x35b1031800000000),
  5636. 36: uint64(0x62423ee200000000),
  5637. 37: uint64(0x25d07a4d00000000),
  5638. 38: uint64(0xad60c66700000000),
  5639. 39: uint64(0xeaf282c800000000),
  5640. 40: uint64(0x4280cc4800000000),
  5641. 41: uint64(0x051288e700000000),
  5642. 42: uint64(0x8da234cd00000000),
  5643. 43: uint64(0xca30706200000000),
  5644. 44: uint64(0x9dc34d9800000000),
  5645. 45: uint64(0xda51093700000000),
  5646. 46: uint64(0x52e1b51d00000000),
  5647. 47: uint64(0x1573f1b200000000),
  5648. 48: uint64(0x430258c600000000),
  5649. 49: uint64(0x04901c6900000000),
  5650. 50: uint64(0x8c20a04300000000),
  5651. 51: uint64(0xcbb2e4ec00000000),
  5652. 52: uint64(0x9c41d91600000000),
  5653. 53: uint64(0xdbd39db900000000),
  5654. 54: uint64(0x5363219300000000),
  5655. 55: uint64(0x14f1653c00000000),
  5656. 56: uint64(0xbc832bbc00000000),
  5657. 57: uint64(0xfb116f1300000000),
  5658. 58: uint64(0x73a1d33900000000),
  5659. 59: uint64(0x3433979600000000),
  5660. 60: uint64(0x63c0aa6c00000000),
  5661. 61: uint64(0x2452eec300000000),
  5662. 62: uint64(0xace252e900000000),
  5663. 63: uint64(0xeb70164600000000),
  5664. 64: uint64(0x7a037e6500000000),
  5665. 65: uint64(0x3d913aca00000000),
  5666. 66: uint64(0xb52186e000000000),
  5667. 67: uint64(0xf2b3c24f00000000),
  5668. 68: uint64(0xa540ffb500000000),
  5669. 69: uint64(0xe2d2bb1a00000000),
  5670. 70: uint64(0x6a62073000000000),
  5671. 71: uint64(0x2df0439f00000000),
  5672. 72: uint64(0x85820d1f00000000),
  5673. 73: uint64(0xc21049b000000000),
  5674. 74: uint64(0x4aa0f59a00000000),
  5675. 75: uint64(0x0d32b13500000000),
  5676. 76: uint64(0x5ac18ccf00000000),
  5677. 77: uint64(0x1d53c86000000000),
  5678. 78: uint64(0x95e3744a00000000),
  5679. 79: uint64(0xd27130e500000000),
  5680. 80: uint64(0x8400999100000000),
  5681. 81: uint64(0xc392dd3e00000000),
  5682. 82: uint64(0x4b22611400000000),
  5683. 83: uint64(0x0cb025bb00000000),
  5684. 84: uint64(0x5b43184100000000),
  5685. 85: uint64(0x1cd15cee00000000),
  5686. 86: uint64(0x9461e0c400000000),
  5687. 87: uint64(0xd3f3a46b00000000),
  5688. 88: uint64(0x7b81eaeb00000000),
  5689. 89: uint64(0x3c13ae4400000000),
  5690. 90: uint64(0xb4a3126e00000000),
  5691. 91: uint64(0xf33156c100000000),
  5692. 92: uint64(0xa4c26b3b00000000),
  5693. 93: uint64(0xe3502f9400000000),
  5694. 94: uint64(0x6be093be00000000),
  5695. 95: uint64(0x2c72d71100000000),
  5696. 96: uint64(0xc702c15700000000),
  5697. 97: uint64(0x809085f800000000),
  5698. 98: uint64(0x082039d200000000),
  5699. 99: uint64(0x4fb27d7d00000000),
  5700. 100: uint64(0x1841408700000000),
  5701. 101: uint64(0x5fd3042800000000),
  5702. 102: uint64(0xd763b80200000000),
  5703. 103: uint64(0x90f1fcad00000000),
  5704. 104: uint64(0x3883b22d00000000),
  5705. 105: uint64(0x7f11f68200000000),
  5706. 106: uint64(0xf7a14aa800000000),
  5707. 107: uint64(0xb0330e0700000000),
  5708. 108: uint64(0xe7c033fd00000000),
  5709. 109: uint64(0xa052775200000000),
  5710. 110: uint64(0x28e2cb7800000000),
  5711. 111: uint64(0x6f708fd700000000),
  5712. 112: uint64(0x390126a300000000),
  5713. 113: uint64(0x7e93620c00000000),
  5714. 114: uint64(0xf623de2600000000),
  5715. 115: uint64(0xb1b19a8900000000),
  5716. 116: uint64(0xe642a77300000000),
  5717. 117: uint64(0xa1d0e3dc00000000),
  5718. 118: uint64(0x29605ff600000000),
  5719. 119: uint64(0x6ef21b5900000000),
  5720. 120: uint64(0xc68055d900000000),
  5721. 121: uint64(0x8112117600000000),
  5722. 122: uint64(0x09a2ad5c00000000),
  5723. 123: uint64(0x4e30e9f300000000),
  5724. 124: uint64(0x19c3d40900000000),
  5725. 125: uint64(0x5e5190a600000000),
  5726. 126: uint64(0xd6e12c8c00000000),
  5727. 127: uint64(0x9173682300000000),
  5728. 128: uint64(0xf406fcca00000000),
  5729. 129: uint64(0xb394b86500000000),
  5730. 130: uint64(0x3b24044f00000000),
  5731. 131: uint64(0x7cb640e000000000),
  5732. 132: uint64(0x2b457d1a00000000),
  5733. 133: uint64(0x6cd739b500000000),
  5734. 134: uint64(0xe467859f00000000),
  5735. 135: uint64(0xa3f5c13000000000),
  5736. 136: uint64(0x0b878fb000000000),
  5737. 137: uint64(0x4c15cb1f00000000),
  5738. 138: uint64(0xc4a5773500000000),
  5739. 139: uint64(0x8337339a00000000),
  5740. 140: uint64(0xd4c40e6000000000),
  5741. 141: uint64(0x93564acf00000000),
  5742. 142: uint64(0x1be6f6e500000000),
  5743. 143: uint64(0x5c74b24a00000000),
  5744. 144: uint64(0x0a051b3e00000000),
  5745. 145: uint64(0x4d975f9100000000),
  5746. 146: uint64(0xc527e3bb00000000),
  5747. 147: uint64(0x82b5a71400000000),
  5748. 148: uint64(0xd5469aee00000000),
  5749. 149: uint64(0x92d4de4100000000),
  5750. 150: uint64(0x1a64626b00000000),
  5751. 151: uint64(0x5df626c400000000),
  5752. 152: uint64(0xf584684400000000),
  5753. 153: uint64(0xb2162ceb00000000),
  5754. 154: uint64(0x3aa690c100000000),
  5755. 155: uint64(0x7d34d46e00000000),
  5756. 156: uint64(0x2ac7e99400000000),
  5757. 157: uint64(0x6d55ad3b00000000),
  5758. 158: uint64(0xe5e5111100000000),
  5759. 159: uint64(0xa27755be00000000),
  5760. 160: uint64(0x490743f800000000),
  5761. 161: uint64(0x0e95075700000000),
  5762. 162: uint64(0x8625bb7d00000000),
  5763. 163: uint64(0xc1b7ffd200000000),
  5764. 164: uint64(0x9644c22800000000),
  5765. 165: uint64(0xd1d6868700000000),
  5766. 166: uint64(0x59663aad00000000),
  5767. 167: uint64(0x1ef47e0200000000),
  5768. 168: uint64(0xb686308200000000),
  5769. 169: uint64(0xf114742d00000000),
  5770. 170: uint64(0x79a4c80700000000),
  5771. 171: uint64(0x3e368ca800000000),
  5772. 172: uint64(0x69c5b15200000000),
  5773. 173: uint64(0x2e57f5fd00000000),
  5774. 174: uint64(0xa6e749d700000000),
  5775. 175: uint64(0xe1750d7800000000),
  5776. 176: uint64(0xb704a40c00000000),
  5777. 177: uint64(0xf096e0a300000000),
  5778. 178: uint64(0x78265c8900000000),
  5779. 179: uint64(0x3fb4182600000000),
  5780. 180: uint64(0x684725dc00000000),
  5781. 181: uint64(0x2fd5617300000000),
  5782. 182: uint64(0xa765dd5900000000),
  5783. 183: uint64(0xe0f799f600000000),
  5784. 184: uint64(0x4885d77600000000),
  5785. 185: uint64(0x0f1793d900000000),
  5786. 186: uint64(0x87a72ff300000000),
  5787. 187: uint64(0xc0356b5c00000000),
  5788. 188: uint64(0x97c656a600000000),
  5789. 189: uint64(0xd054120900000000),
  5790. 190: uint64(0x58e4ae2300000000),
  5791. 191: uint64(0x1f76ea8c00000000),
  5792. 192: uint64(0x8e0582af00000000),
  5793. 193: uint64(0xc997c60000000000),
  5794. 194: uint64(0x41277a2a00000000),
  5795. 195: uint64(0x06b53e8500000000),
  5796. 196: uint64(0x5146037f00000000),
  5797. 197: uint64(0x16d447d000000000),
  5798. 198: uint64(0x9e64fbfa00000000),
  5799. 199: uint64(0xd9f6bf5500000000),
  5800. 200: uint64(0x7184f1d500000000),
  5801. 201: uint64(0x3616b57a00000000),
  5802. 202: uint64(0xbea6095000000000),
  5803. 203: uint64(0xf9344dff00000000),
  5804. 204: uint64(0xaec7700500000000),
  5805. 205: uint64(0xe95534aa00000000),
  5806. 206: uint64(0x61e5888000000000),
  5807. 207: uint64(0x2677cc2f00000000),
  5808. 208: uint64(0x7006655b00000000),
  5809. 209: uint64(0x379421f400000000),
  5810. 210: uint64(0xbf249dde00000000),
  5811. 211: uint64(0xf8b6d97100000000),
  5812. 212: uint64(0xaf45e48b00000000),
  5813. 213: uint64(0xe8d7a02400000000),
  5814. 214: uint64(0x60671c0e00000000),
  5815. 215: uint64(0x27f558a100000000),
  5816. 216: uint64(0x8f87162100000000),
  5817. 217: uint64(0xc815528e00000000),
  5818. 218: uint64(0x40a5eea400000000),
  5819. 219: uint64(0x0737aa0b00000000),
  5820. 220: uint64(0x50c497f100000000),
  5821. 221: uint64(0x1756d35e00000000),
  5822. 222: uint64(0x9fe66f7400000000),
  5823. 223: uint64(0xd8742bdb00000000),
  5824. 224: uint64(0x33043d9d00000000),
  5825. 225: uint64(0x7496793200000000),
  5826. 226: uint64(0xfc26c51800000000),
  5827. 227: uint64(0xbbb481b700000000),
  5828. 228: uint64(0xec47bc4d00000000),
  5829. 229: uint64(0xabd5f8e200000000),
  5830. 230: uint64(0x236544c800000000),
  5831. 231: uint64(0x64f7006700000000),
  5832. 232: uint64(0xcc854ee700000000),
  5833. 233: uint64(0x8b170a4800000000),
  5834. 234: uint64(0x03a7b66200000000),
  5835. 235: uint64(0x4435f2cd00000000),
  5836. 236: uint64(0x13c6cf3700000000),
  5837. 237: uint64(0x54548b9800000000),
  5838. 238: uint64(0xdce437b200000000),
  5839. 239: uint64(0x9b76731d00000000),
  5840. 240: uint64(0xcd07da6900000000),
  5841. 241: uint64(0x8a959ec600000000),
  5842. 242: uint64(0x022522ec00000000),
  5843. 243: uint64(0x45b7664300000000),
  5844. 244: uint64(0x12445bb900000000),
  5845. 245: uint64(0x55d61f1600000000),
  5846. 246: uint64(0xdd66a33c00000000),
  5847. 247: uint64(0x9af4e79300000000),
  5848. 248: uint64(0x3286a91300000000),
  5849. 249: uint64(0x7514edbc00000000),
  5850. 250: uint64(0xfda4519600000000),
  5851. 251: uint64(0xba36153900000000),
  5852. 252: uint64(0xedc528c300000000),
  5853. 253: uint64(0xaa576c6c00000000),
  5854. 254: uint64(0x22e7d04600000000),
  5855. 255: uint64(0x657594e900000000),
  5856. },
  5857. }
  5858. var _x2n_table = [32]Tz_crc_t{
  5859. 0: uint32(0x40000000),
  5860. 1: uint32(0x20000000),
  5861. 2: uint32(0x08000000),
  5862. 3: uint32(0x00800000),
  5863. 4: uint32(0x00008000),
  5864. 5: uint32(0xedb88320),
  5865. 6: uint32(0xb1e6b092),
  5866. 7: uint32(0xa06a2517),
  5867. 8: uint32(0xed627dae),
  5868. 9: uint32(0x88d14467),
  5869. 10: uint32(0xd7bbfe6a),
  5870. 11: uint32(0xec447f11),
  5871. 12: uint32(0x8e7ea170),
  5872. 13: uint32(0x6427800e),
  5873. 14: uint32(0x4d47bae0),
  5874. 15: uint32(0x09fe548f),
  5875. 16: uint32(0x83852d0f),
  5876. 17: uint32(0x30362f1a),
  5877. 18: uint32(0x7b5a9cc3),
  5878. 19: uint32(0x31fec169),
  5879. 20: uint32(0x9fec022a),
  5880. 21: uint32(0x6c8dedc4),
  5881. 22: uint32(0x15d6874d),
  5882. 23: uint32(0x5fde7a4e),
  5883. 24: uint32(0xbad90e37),
  5884. 25: uint32(0x2e4e5eef),
  5885. 26: uint32(0x4eaba214),
  5886. 27: uint32(0xa8a472c0),
  5887. 28: uint32(0x429a969e),
  5888. 29: uint32(0x148d302a),
  5889. 30: uint32(0xc40ba6d0),
  5890. 31: uint32(0xc4e22c3c),
  5891. }
  5892. /* CRC polynomial. */
  5893. // C documentation
  5894. //
  5895. // /*
  5896. // Return a(x) multiplied by b(x) modulo p(x), where p(x) is the CRC polynomial,
  5897. // reflected. For speed, this requires that a not be zero.
  5898. // */
  5899. func _multmodp(tls *libc.TLS, a Tz_crc_t, b Tz_crc_t) (r Tz_crc_t) {
  5900. var m, p Tz_crc_t
  5901. var v2 uint32
  5902. _, _, _ = m, p, v2
  5903. m = libc.Uint32FromInt32(1) << libc.Int32FromInt32(31)
  5904. p = uint32(0)
  5905. for {
  5906. if a&m != 0 {
  5907. p ^= b
  5908. if a&(m-uint32(1)) == uint32(0) {
  5909. break
  5910. }
  5911. }
  5912. m >>= uint32(1)
  5913. if b&uint32(1) != 0 {
  5914. v2 = b>>libc.Int32FromInt32(1) ^ uint32(m_POLY)
  5915. } else {
  5916. v2 = b >> int32(1)
  5917. }
  5918. b = v2
  5919. goto _1
  5920. _1:
  5921. }
  5922. return p
  5923. }
  5924. // C documentation
  5925. //
  5926. // /*
  5927. // Return x^(n * 2^k) modulo p(x). Requires that x2n_table[] has been
  5928. // initialized.
  5929. // */
  5930. func _x2nmodp(tls *libc.TLS, n Toff_t, k uint32) (r Tz_crc_t) {
  5931. var p Tz_crc_t
  5932. _ = p
  5933. p = libc.Uint32FromInt32(1) << libc.Int32FromInt32(31) /* x^0 == 1 */
  5934. for n != 0 {
  5935. if n&int64(1) != 0 {
  5936. p = _multmodp(tls, _x2n_table[k&uint32(31)], p)
  5937. }
  5938. n >>= int64(1)
  5939. k++
  5940. }
  5941. return p
  5942. }
  5943. // C documentation
  5944. //
  5945. // /* =========================================================================
  5946. // * This function can be used by asm versions of crc32(), and to force the
  5947. // * generation of the CRC tables in a threaded application.
  5948. // */
  5949. func Xget_crc_table(tls *libc.TLS) (r uintptr) {
  5950. return uintptr(unsafe.Pointer(&_crc_table))
  5951. }
  5952. /* =========================================================================
  5953. * Use ARM machine instructions if available. This will compute the CRC about
  5954. * ten times faster than the braided calculation. This code does not check for
  5955. * the presence of the CRC instruction at run time. __ARM_FEATURE_CRC32 will
  5956. * only be defined if the compilation specifies an ARM processor architecture
  5957. * that has the instructions. For example, compiling with -march=armv8.1-a or
  5958. * -march=armv8-a+crc, or -march=native if the compile machine has the crc32
  5959. * instructions.
  5960. */
  5961. // C documentation
  5962. //
  5963. // /*
  5964. // Return the CRC of the W bytes in the word_t data, taking the
  5965. // least-significant byte of the word as the first byte of data, without any pre
  5966. // or post conditioning. This is used to combine the CRCs of each braid.
  5967. // */
  5968. func _crc_word(tls *libc.TLS, data Tz_word_t) (r Tz_crc_t) {
  5969. var k int32
  5970. _ = k
  5971. k = 0
  5972. for {
  5973. if !(k < int32(m_W)) {
  5974. break
  5975. }
  5976. data = data>>libc.Int32FromInt32(8) ^ uint64(_crc_table[data&uint64(0xff)])
  5977. goto _1
  5978. _1:
  5979. ;
  5980. k++
  5981. }
  5982. return uint32(data)
  5983. }
  5984. func _crc_word_big(tls *libc.TLS, data Tz_word_t) (r Tz_word_t) {
  5985. var k int32
  5986. _ = k
  5987. k = 0
  5988. for {
  5989. if !(k < int32(m_W)) {
  5990. break
  5991. }
  5992. data = data<<libc.Int32FromInt32(8) ^ _crc_big_table[data>>((libc.Int32FromInt32(m_W)-libc.Int32FromInt32(1))<<libc.Int32FromInt32(3))&uint64(0xff)]
  5993. goto _1
  5994. _1:
  5995. ;
  5996. k++
  5997. }
  5998. return data
  5999. }
  6000. // C documentation
  6001. //
  6002. // /* ========================================================================= */
  6003. func Xcrc32_z(tls *libc.TLS, crc uint64, buf uintptr, len1 Tz_size_t) (r uint64) {
  6004. bp := tls.Alloc(16)
  6005. defer tls.Free(16)
  6006. var blks, v2, v4 Tz_size_t
  6007. var comb, crc01, crc11, crc21, crc31, crc41, word0, word01, word1, word11, word2, word21, word3, word31, word4, word41 Tz_word_t
  6008. var crc0, crc1, crc2, crc3, crc4 Tz_crc_t
  6009. var k int32
  6010. var words, v1, v10, v11, v12, v13, v14, v6, v7, v8, v9 uintptr
  6011. var _ /* endian at bp+0 */ uint32
  6012. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = blks, comb, crc0, crc01, crc1, crc11, crc2, crc21, crc3, crc31, crc4, crc41, k, word0, word01, word1, word11, word2, word21, word3, word31, word4, word41, words, v1, v10, v11, v12, v13, v14, v2, v4, v6, v7, v8, v9
  6013. /* Return initial CRC, if requested. */
  6014. if buf == uintptr(m_Z_NULL) {
  6015. return uint64(0)
  6016. }
  6017. /* Pre-condition the CRC */
  6018. crc = ^crc & uint64(0xffffffff)
  6019. /* If provided enough bytes, do a braided CRC calculation. */
  6020. if len1 >= libc.Uint64FromInt32(libc.Int32FromInt32(m_N)*libc.Int32FromInt32(m_W)+libc.Int32FromInt32(m_W)-libc.Int32FromInt32(1)) {
  6021. /* Compute the CRC up to a z_word_t boundary. */
  6022. for len1 != 0 && uint64(buf)&libc.Uint64FromInt32(libc.Int32FromInt32(m_W)-libc.Int32FromInt32(1)) != uint64(0) {
  6023. len1--
  6024. v1 = buf
  6025. buf++
  6026. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v1))))&uint64(0xff)])
  6027. }
  6028. /* Compute the CRC on as many N z_word_t blocks as are available. */
  6029. blks = len1 / libc.Uint64FromInt32(libc.Int32FromInt32(m_N)*libc.Int32FromInt32(m_W))
  6030. len1 -= blks * uint64(m_N) * uint64(m_W)
  6031. words = buf
  6032. /* Do endian check at execution time instead of compile time, since ARM
  6033. processors can change the endianness at execution time. If the
  6034. compiler knows what the endianness will be, it can optimize out the
  6035. check and the unused branch. */
  6036. *(*uint32)(unsafe.Pointer(bp)) = uint32(1)
  6037. if *(*uint8)(unsafe.Pointer(bp)) != 0 {
  6038. /* Initialize the CRC for each braid. */
  6039. crc0 = uint32(crc)
  6040. crc1 = uint32(0)
  6041. crc2 = uint32(0)
  6042. crc3 = uint32(0)
  6043. crc4 = uint32(0)
  6044. /*
  6045. Process the first blks-1 blocks, computing the CRCs on each braid
  6046. independently.
  6047. */
  6048. for {
  6049. blks--
  6050. v2 = blks
  6051. if !(v2 != 0) {
  6052. break
  6053. }
  6054. /* Load the word for each braid into registers. */
  6055. word0 = uint64(crc0) ^ *(*Tz_word_t)(unsafe.Pointer(words))
  6056. word1 = uint64(crc1) ^ *(*Tz_word_t)(unsafe.Pointer(words + 1*8))
  6057. word2 = uint64(crc2) ^ *(*Tz_word_t)(unsafe.Pointer(words + 2*8))
  6058. word3 = uint64(crc3) ^ *(*Tz_word_t)(unsafe.Pointer(words + 3*8))
  6059. word4 = uint64(crc4) ^ *(*Tz_word_t)(unsafe.Pointer(words + 4*8))
  6060. words += uintptr(m_N) * 8
  6061. /* Compute and update the CRC for each word. The loop should
  6062. get unrolled. */
  6063. crc0 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word0&uint64(0xff))*4))
  6064. crc1 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word1&uint64(0xff))*4))
  6065. crc2 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word2&uint64(0xff))*4))
  6066. crc3 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word3&uint64(0xff))*4))
  6067. crc4 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word4&uint64(0xff))*4))
  6068. k = int32(1)
  6069. for {
  6070. if !(k < int32(m_W)) {
  6071. break
  6072. }
  6073. crc0 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word0>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  6074. crc1 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word1>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  6075. crc2 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word2>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  6076. crc3 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word3>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  6077. crc4 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word4>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  6078. goto _3
  6079. _3:
  6080. ;
  6081. k++
  6082. }
  6083. }
  6084. /*
  6085. Process the last block, combining the CRCs of the N braids at the
  6086. same time.
  6087. */
  6088. crc = uint64(_crc_word(tls, uint64(crc0)^*(*Tz_word_t)(unsafe.Pointer(words))))
  6089. crc = uint64(_crc_word(tls, uint64(crc1)^*(*Tz_word_t)(unsafe.Pointer(words + 1*8))^crc))
  6090. crc = uint64(_crc_word(tls, uint64(crc2)^*(*Tz_word_t)(unsafe.Pointer(words + 2*8))^crc))
  6091. crc = uint64(_crc_word(tls, uint64(crc3)^*(*Tz_word_t)(unsafe.Pointer(words + 3*8))^crc))
  6092. crc = uint64(_crc_word(tls, uint64(crc4)^*(*Tz_word_t)(unsafe.Pointer(words + 4*8))^crc))
  6093. words += uintptr(m_N) * 8
  6094. } else {
  6095. /* Initialize the CRC for each braid. */
  6096. crc01 = _byte_swap(tls, crc)
  6097. crc11 = uint64(0)
  6098. crc21 = uint64(0)
  6099. crc31 = uint64(0)
  6100. crc41 = uint64(0)
  6101. /*
  6102. Process the first blks-1 blocks, computing the CRCs on each braid
  6103. independently.
  6104. */
  6105. for {
  6106. blks--
  6107. v4 = blks
  6108. if !(v4 != 0) {
  6109. break
  6110. }
  6111. /* Load the word for each braid into registers. */
  6112. word01 = crc01 ^ *(*Tz_word_t)(unsafe.Pointer(words))
  6113. word11 = crc11 ^ *(*Tz_word_t)(unsafe.Pointer(words + 1*8))
  6114. word21 = crc21 ^ *(*Tz_word_t)(unsafe.Pointer(words + 2*8))
  6115. word31 = crc31 ^ *(*Tz_word_t)(unsafe.Pointer(words + 3*8))
  6116. word41 = crc41 ^ *(*Tz_word_t)(unsafe.Pointer(words + 4*8))
  6117. words += uintptr(m_N) * 8
  6118. /* Compute and update the CRC for each word. The loop should
  6119. get unrolled. */
  6120. crc01 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word01&uint64(0xff))*8))
  6121. crc11 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word11&uint64(0xff))*8))
  6122. crc21 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word21&uint64(0xff))*8))
  6123. crc31 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word31&uint64(0xff))*8))
  6124. crc41 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word41&uint64(0xff))*8))
  6125. k = int32(1)
  6126. for {
  6127. if !(k < int32(m_W)) {
  6128. break
  6129. }
  6130. crc01 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*2048 + uintptr(word01>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*8))
  6131. crc11 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*2048 + uintptr(word11>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*8))
  6132. crc21 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*2048 + uintptr(word21>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*8))
  6133. crc31 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*2048 + uintptr(word31>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*8))
  6134. crc41 ^= *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(k)*2048 + uintptr(word41>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*8))
  6135. goto _5
  6136. _5:
  6137. ;
  6138. k++
  6139. }
  6140. }
  6141. /*
  6142. Process the last block, combining the CRCs of the N braids at the
  6143. same time.
  6144. */
  6145. comb = _crc_word_big(tls, crc01^*(*Tz_word_t)(unsafe.Pointer(words)))
  6146. comb = _crc_word_big(tls, crc11^*(*Tz_word_t)(unsafe.Pointer(words + 1*8))^comb)
  6147. comb = _crc_word_big(tls, crc21^*(*Tz_word_t)(unsafe.Pointer(words + 2*8))^comb)
  6148. comb = _crc_word_big(tls, crc31^*(*Tz_word_t)(unsafe.Pointer(words + 3*8))^comb)
  6149. comb = _crc_word_big(tls, crc41^*(*Tz_word_t)(unsafe.Pointer(words + 4*8))^comb)
  6150. words += uintptr(m_N) * 8
  6151. crc = _byte_swap(tls, comb)
  6152. }
  6153. /*
  6154. Update the pointer to the remaining bytes to process.
  6155. */
  6156. buf = words
  6157. }
  6158. /* Complete the computation of the CRC on any remaining bytes. */
  6159. for len1 >= uint64(8) {
  6160. len1 -= uint64(8)
  6161. v6 = buf
  6162. buf++
  6163. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v6))))&uint64(0xff)])
  6164. v7 = buf
  6165. buf++
  6166. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v7))))&uint64(0xff)])
  6167. v8 = buf
  6168. buf++
  6169. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v8))))&uint64(0xff)])
  6170. v9 = buf
  6171. buf++
  6172. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v9))))&uint64(0xff)])
  6173. v10 = buf
  6174. buf++
  6175. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v10))))&uint64(0xff)])
  6176. v11 = buf
  6177. buf++
  6178. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v11))))&uint64(0xff)])
  6179. v12 = buf
  6180. buf++
  6181. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v12))))&uint64(0xff)])
  6182. v13 = buf
  6183. buf++
  6184. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v13))))&uint64(0xff)])
  6185. }
  6186. for len1 != 0 {
  6187. len1--
  6188. v14 = buf
  6189. buf++
  6190. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v14))))&uint64(0xff)])
  6191. }
  6192. /* Return the CRC, post-conditioned. */
  6193. return crc ^ uint64(0xffffffff)
  6194. }
  6195. // C documentation
  6196. //
  6197. // /* ========================================================================= */
  6198. func Xcrc32(tls *libc.TLS, crc uint64, buf uintptr, len1 TuInt) (r uint64) {
  6199. return Xcrc32_z(tls, crc, buf, uint64(len1))
  6200. }
  6201. // C documentation
  6202. //
  6203. // /* ========================================================================= */
  6204. func Xcrc32_combine64(tls *libc.TLS, crc1 TuLong, crc2 TuLong, len2 Toff_t) (r TuLong) {
  6205. return uint64(_multmodp(tls, _x2nmodp(tls, len2, uint32(3)), uint32(crc1))) ^ crc2&uint64(0xffffffff)
  6206. }
  6207. // C documentation
  6208. //
  6209. // /* ========================================================================= */
  6210. func Xcrc32_combine(tls *libc.TLS, crc1 TuLong, crc2 TuLong, len2 Toff_t) (r TuLong) {
  6211. return Xcrc32_combine64(tls, crc1, crc2, len2)
  6212. }
  6213. // C documentation
  6214. //
  6215. // /* ========================================================================= */
  6216. func Xcrc32_combine_gen64(tls *libc.TLS, len2 Toff_t) (r TuLong) {
  6217. return uint64(_x2nmodp(tls, len2, uint32(3)))
  6218. }
  6219. // C documentation
  6220. //
  6221. // /* ========================================================================= */
  6222. func Xcrc32_combine_gen(tls *libc.TLS, len2 Toff_t) (r TuLong) {
  6223. return Xcrc32_combine_gen64(tls, len2)
  6224. }
  6225. // C documentation
  6226. //
  6227. // /* ========================================================================= */
  6228. func Xcrc32_combine_op(tls *libc.TLS, crc1 TuLong, crc2 TuLong, op TuLong) (r TuLong) {
  6229. return uint64(_multmodp(tls, uint32(op), uint32(crc1))) ^ crc2&uint64(0xffffffff)
  6230. }
  6231. const m_BL_CODES = 19
  6232. const m_BUSY_STATE = 113
  6233. const m_Buf_size = 16
  6234. const m_COMMENT_STATE = 91
  6235. const m_D_CODES = 30
  6236. const m_EXTRA_STATE = 69
  6237. const m_FINISH_STATE = 666
  6238. const m_GZIP_STATE = 57
  6239. const m_HCRC_STATE = 103
  6240. const m_INIT_STATE = 42
  6241. const m_LENGTH_CODES = 29
  6242. const m_LITERALS = 256
  6243. const m_LIT_BUFS = 4
  6244. const m_MAX_BITS = 15
  6245. const m_MAX_STORED = 65535
  6246. const m_NAME_STATE = 73
  6247. const m_NIL = 0
  6248. const m_PRESET_DICT1 = 32
  6249. const m_TOO_FAR = 4096
  6250. const m_WIN_INIT = "MAX_MATCH"
  6251. const m_max_insert_length = "max_lazy_match"
  6252. type Tinternal_state = struct {
  6253. Fstrm Tz_streamp
  6254. Fstatus int32
  6255. Fpending_buf uintptr
  6256. Fpending_buf_size Tulg
  6257. Fpending_out uintptr
  6258. Fpending Tulg
  6259. Fwrap int32
  6260. Fgzhead Tgz_headerp
  6261. Fgzindex Tulg
  6262. Fmethod TByte
  6263. Flast_flush int32
  6264. Fw_size TuInt
  6265. Fw_bits TuInt
  6266. Fw_mask TuInt
  6267. Fwindow uintptr
  6268. Fwindow_size Tulg
  6269. Fprev uintptr
  6270. Fhead uintptr
  6271. Fins_h TuInt
  6272. Fhash_size TuInt
  6273. Fhash_bits TuInt
  6274. Fhash_mask TuInt
  6275. Fhash_shift TuInt
  6276. Fblock_start int64
  6277. Fmatch_length TuInt
  6278. Fprev_match TIPos
  6279. Fmatch_available int32
  6280. Fstrstart TuInt
  6281. Fmatch_start TuInt
  6282. Flookahead TuInt
  6283. Fprev_length TuInt
  6284. Fmax_chain_length TuInt
  6285. Fmax_lazy_match TuInt
  6286. Flevel int32
  6287. Fstrategy int32
  6288. Fgood_match TuInt
  6289. Fnice_match int32
  6290. Fdyn_ltree [573]Tct_data_s
  6291. Fdyn_dtree [61]Tct_data_s
  6292. Fbl_tree [39]Tct_data_s
  6293. Fl_desc Ttree_desc_s
  6294. Fd_desc Ttree_desc_s
  6295. Fbl_desc Ttree_desc_s
  6296. Fbl_count [16]Tush
  6297. Fheap [573]int32
  6298. Fheap_len int32
  6299. Fheap_max int32
  6300. Fdepth [573]Tuch
  6301. Fsym_buf uintptr
  6302. Flit_bufsize TuInt
  6303. Fsym_next TuInt
  6304. Fsym_end TuInt
  6305. Fopt_len Tulg
  6306. Fstatic_len Tulg
  6307. Fmatches TuInt
  6308. Finsert TuInt
  6309. Fbi_buf Tush
  6310. Fbi_valid int32
  6311. Fhigh_water Tulg
  6312. }
  6313. type Tct_data = struct {
  6314. Ffc struct {
  6315. Fcode [0]Tush
  6316. Ffreq Tush
  6317. }
  6318. Fdl struct {
  6319. Flen1 [0]Tush
  6320. Fdad Tush
  6321. }
  6322. }
  6323. type Tct_data_s = Tct_data
  6324. type Ttree_desc = struct {
  6325. Fdyn_tree uintptr
  6326. Fmax_code int32
  6327. Fstat_desc uintptr
  6328. }
  6329. type Ttree_desc_s = Ttree_desc
  6330. type TPos = uint16
  6331. type TPosf = uint16
  6332. type TIPos = uint32
  6333. type Tdeflate_state = struct {
  6334. Fstrm Tz_streamp
  6335. Fstatus int32
  6336. Fpending_buf uintptr
  6337. Fpending_buf_size Tulg
  6338. Fpending_out uintptr
  6339. Fpending Tulg
  6340. Fwrap int32
  6341. Fgzhead Tgz_headerp
  6342. Fgzindex Tulg
  6343. Fmethod TByte
  6344. Flast_flush int32
  6345. Fw_size TuInt
  6346. Fw_bits TuInt
  6347. Fw_mask TuInt
  6348. Fwindow uintptr
  6349. Fwindow_size Tulg
  6350. Fprev uintptr
  6351. Fhead uintptr
  6352. Fins_h TuInt
  6353. Fhash_size TuInt
  6354. Fhash_bits TuInt
  6355. Fhash_mask TuInt
  6356. Fhash_shift TuInt
  6357. Fblock_start int64
  6358. Fmatch_length TuInt
  6359. Fprev_match TIPos
  6360. Fmatch_available int32
  6361. Fstrstart TuInt
  6362. Fmatch_start TuInt
  6363. Flookahead TuInt
  6364. Fprev_length TuInt
  6365. Fmax_chain_length TuInt
  6366. Fmax_lazy_match TuInt
  6367. Flevel int32
  6368. Fstrategy int32
  6369. Fgood_match TuInt
  6370. Fnice_match int32
  6371. Fdyn_ltree [573]Tct_data_s
  6372. Fdyn_dtree [61]Tct_data_s
  6373. Fbl_tree [39]Tct_data_s
  6374. Fl_desc Ttree_desc_s
  6375. Fd_desc Ttree_desc_s
  6376. Fbl_desc Ttree_desc_s
  6377. Fbl_count [16]Tush
  6378. Fheap [573]int32
  6379. Fheap_len int32
  6380. Fheap_max int32
  6381. Fdepth [573]Tuch
  6382. Fsym_buf uintptr
  6383. Flit_bufsize TuInt
  6384. Fsym_next TuInt
  6385. Fsym_end TuInt
  6386. Fopt_len Tulg
  6387. Fstatic_len Tulg
  6388. Fmatches TuInt
  6389. Finsert TuInt
  6390. Fbi_buf Tush
  6391. Fbi_valid int32
  6392. Fhigh_water Tulg
  6393. }
  6394. /*
  6395. If you use the zlib library in a product, an acknowledgment is welcome
  6396. in the documentation of your product. If for some reason you cannot
  6397. include such an acknowledgment, I would appreciate that you keep this
  6398. copyright string in the executable of your product.
  6399. */
  6400. type Tblock_state = int32
  6401. const _need_more = 0
  6402. const /* block not completed, need more input or more output */
  6403. _block_done = 1
  6404. const /* block flush performed */
  6405. _finish_started = 2
  6406. const /* finish started, need only more output at next deflate */
  6407. _finish_done = 3
  6408. type Tcompress_func = uintptr
  6409. /* ===========================================================================
  6410. * Local data
  6411. */
  6412. /* Tail of hash chains */
  6413. /* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
  6414. // C documentation
  6415. //
  6416. // /* Values for max_lazy_match, good_match and max_chain_length, depending on
  6417. // * the desired pack level (0..9). The values given below have been tuned to
  6418. // * exclude worst case performance for pathological files. Better values may be
  6419. // * found for specific files.
  6420. // */
  6421. type Tconfig = struct {
  6422. Fgood_length Tush
  6423. Fmax_lazy Tush
  6424. Fnice_length Tush
  6425. Fmax_chain Tush
  6426. Ffunc1 Tcompress_func
  6427. }
  6428. /* ===========================================================================
  6429. * Local data
  6430. */
  6431. /* Tail of hash chains */
  6432. /* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
  6433. // C documentation
  6434. //
  6435. // /* Values for max_lazy_match, good_match and max_chain_length, depending on
  6436. // * the desired pack level (0..9). The values given below have been tuned to
  6437. // * exclude worst case performance for pathological files. Better values may be
  6438. // * found for specific files.
  6439. // */
  6440. type Tconfig_s = Tconfig
  6441. var _configuration_table = [10]Tconfig{
  6442. 0: {},
  6443. 1: {
  6444. Fgood_length: uint16(4),
  6445. Fmax_lazy: uint16(4),
  6446. Fnice_length: uint16(8),
  6447. Fmax_chain: uint16(4),
  6448. },
  6449. 2: {
  6450. Fgood_length: uint16(4),
  6451. Fmax_lazy: uint16(5),
  6452. Fnice_length: uint16(16),
  6453. Fmax_chain: uint16(8),
  6454. },
  6455. 3: {
  6456. Fgood_length: uint16(4),
  6457. Fmax_lazy: uint16(6),
  6458. Fnice_length: uint16(32),
  6459. Fmax_chain: uint16(32),
  6460. },
  6461. 4: {
  6462. Fgood_length: uint16(4),
  6463. Fmax_lazy: uint16(4),
  6464. Fnice_length: uint16(16),
  6465. Fmax_chain: uint16(16),
  6466. },
  6467. 5: {
  6468. Fgood_length: uint16(8),
  6469. Fmax_lazy: uint16(16),
  6470. Fnice_length: uint16(32),
  6471. Fmax_chain: uint16(32),
  6472. },
  6473. 6: {
  6474. Fgood_length: uint16(8),
  6475. Fmax_lazy: uint16(16),
  6476. Fnice_length: uint16(128),
  6477. Fmax_chain: uint16(128),
  6478. },
  6479. 7: {
  6480. Fgood_length: uint16(8),
  6481. Fmax_lazy: uint16(32),
  6482. Fnice_length: uint16(128),
  6483. Fmax_chain: uint16(256),
  6484. },
  6485. 8: {
  6486. Fgood_length: uint16(32),
  6487. Fmax_lazy: uint16(128),
  6488. Fnice_length: uint16(258),
  6489. Fmax_chain: uint16(1024),
  6490. },
  6491. 9: {
  6492. Fgood_length: uint16(32),
  6493. Fmax_lazy: uint16(258),
  6494. Fnice_length: uint16(258),
  6495. Fmax_chain: uint16(4096),
  6496. },
  6497. }
  6498. func init() {
  6499. p := unsafe.Pointer(&_configuration_table)
  6500. *(*uintptr)(unsafe.Add(p, 8)) = __ccgo_fp(_deflate_stored)
  6501. *(*uintptr)(unsafe.Add(p, 24)) = __ccgo_fp(_deflate_fast)
  6502. *(*uintptr)(unsafe.Add(p, 40)) = __ccgo_fp(_deflate_fast)
  6503. *(*uintptr)(unsafe.Add(p, 56)) = __ccgo_fp(_deflate_fast)
  6504. *(*uintptr)(unsafe.Add(p, 72)) = __ccgo_fp(_deflate_slow)
  6505. *(*uintptr)(unsafe.Add(p, 88)) = __ccgo_fp(_deflate_slow)
  6506. *(*uintptr)(unsafe.Add(p, 104)) = __ccgo_fp(_deflate_slow)
  6507. *(*uintptr)(unsafe.Add(p, 120)) = __ccgo_fp(_deflate_slow)
  6508. *(*uintptr)(unsafe.Add(p, 136)) = __ccgo_fp(_deflate_slow)
  6509. *(*uintptr)(unsafe.Add(p, 152)) = __ccgo_fp(_deflate_slow)
  6510. }
  6511. /* max compression */
  6512. /* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4
  6513. * For deflate_fast() (levels <= 3) good is ignored and lazy has a different
  6514. * meaning.
  6515. */
  6516. /* rank Z_BLOCK between Z_NO_FLUSH and Z_PARTIAL_FLUSH */
  6517. /* ===========================================================================
  6518. * Update a hash value with the given input byte
  6519. * IN assertion: all calls to UPDATE_HASH are made with consecutive input
  6520. * characters, so that a running hash key can be computed from the previous
  6521. * key instead of complete recalculation each time.
  6522. */
  6523. /* ===========================================================================
  6524. * Insert string str in the dictionary and set match_head to the previous head
  6525. * of the hash chain (the most recent string with same hash key). Return
  6526. * the previous length of the hash chain.
  6527. * If this file is compiled with -DFASTEST, the compression level is forced
  6528. * to 1, and no hash chains are maintained.
  6529. * IN assertion: all calls to INSERT_STRING are made with consecutive input
  6530. * characters and the first MIN_MATCH bytes of str are valid (except for
  6531. * the last MIN_MATCH-1 bytes of the input file).
  6532. */
  6533. /* ===========================================================================
  6534. * Initialize the hash table (avoiding 64K overflow for 16 bit systems).
  6535. * prev[] will be initialized on the fly.
  6536. */
  6537. // C documentation
  6538. //
  6539. // /* ===========================================================================
  6540. // * Slide the hash table when sliding the window down (could be avoided with 32
  6541. // * bit values at the expense of memory usage). We slide even when level == 0 to
  6542. // * keep the hash table consistent if we switch back to level > 0 later.
  6543. // */
  6544. func _slide_hash(tls *libc.TLS, s uintptr) {
  6545. var m, n, v1, v4, v5, v8 uint32
  6546. var p, v3, v7 uintptr
  6547. var wsize TuInt
  6548. _, _, _, _, _, _, _, _, _, _ = m, n, p, wsize, v1, v3, v4, v5, v7, v8
  6549. wsize = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  6550. n = (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size
  6551. p = (*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr(n)*2
  6552. for {
  6553. p -= 2
  6554. v3 = p
  6555. m = uint32(*(*TPosf)(unsafe.Pointer(v3)))
  6556. if m >= wsize {
  6557. v4 = m - wsize
  6558. } else {
  6559. v4 = uint32(m_NIL)
  6560. }
  6561. *(*TPosf)(unsafe.Pointer(p)) = uint16(v4)
  6562. goto _2
  6563. _2:
  6564. ;
  6565. n--
  6566. v1 = n
  6567. if !(v1 != 0) {
  6568. break
  6569. }
  6570. }
  6571. n = wsize
  6572. p = (*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr(n)*2
  6573. for {
  6574. p -= 2
  6575. v7 = p
  6576. m = uint32(*(*TPosf)(unsafe.Pointer(v7)))
  6577. if m >= wsize {
  6578. v8 = m - wsize
  6579. } else {
  6580. v8 = uint32(m_NIL)
  6581. }
  6582. *(*TPosf)(unsafe.Pointer(p)) = uint16(v8)
  6583. /* If n is not on any hash chain, prev[n] is garbage but
  6584. * its value will never be used.
  6585. */
  6586. goto _6
  6587. _6:
  6588. ;
  6589. n--
  6590. v5 = n
  6591. if !(v5 != 0) {
  6592. break
  6593. }
  6594. }
  6595. }
  6596. // C documentation
  6597. //
  6598. // /* ===========================================================================
  6599. // * Read a new buffer from the current input stream, update the adler32
  6600. // * and total number of bytes read. All deflate() input goes through
  6601. // * this function so some applications may wish to modify it to avoid
  6602. // * allocating a large strm->next_in buffer and copying from it.
  6603. // * (See also flush_pending()).
  6604. // */
  6605. func _read_buf(tls *libc.TLS, strm Tz_streamp, buf uintptr, size uint32) (r uint32) {
  6606. var len1 uint32
  6607. _ = len1
  6608. len1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  6609. if len1 > size {
  6610. len1 = size
  6611. }
  6612. if len1 == uint32(0) {
  6613. return uint32(0)
  6614. }
  6615. *(*TuInt)(unsafe.Pointer(strm + 8)) -= len1
  6616. libc.Xmemcpy(tls, buf, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, uint64(len1))
  6617. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap == int32(1) {
  6618. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, buf, len1)
  6619. } else {
  6620. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap == int32(2) {
  6621. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, buf, len1)
  6622. }
  6623. }
  6624. *(*uintptr)(unsafe.Pointer(strm)) += uintptr(len1)
  6625. *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(len1)
  6626. return len1
  6627. }
  6628. // C documentation
  6629. //
  6630. // /* ===========================================================================
  6631. // * Fill the window when the lookahead becomes insufficient.
  6632. // * Updates strstart and lookahead.
  6633. // *
  6634. // * IN assertion: lookahead < MIN_LOOKAHEAD
  6635. // * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
  6636. // * At least one byte has been read, or avail_in == 0; reads are
  6637. // * performed for at least two bytes (required for the zip translate_eol
  6638. // * option -- not supported here).
  6639. // */
  6640. func _fill_window(tls *libc.TLS, s uintptr) {
  6641. var curr, init1 Tulg
  6642. var more, n uint32
  6643. var str, wsize TuInt
  6644. _, _, _, _, _, _ = curr, init1, more, n, str, wsize /* Amount of free space at the end of the window. */
  6645. wsize = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  6646. for cond := true; cond; cond = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) && (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in != uint32(0) {
  6647. more = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead) - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
  6648. /* Deal with !@#$% 64K limit: */
  6649. if uint64(4) <= uint64(2) {
  6650. if more == uint32(0) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart == uint32(0) && (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  6651. more = wsize
  6652. } else {
  6653. if more == libc.Uint32FromInt32(-libc.Int32FromInt32(1)) {
  6654. /* Very unlikely, but possible on 16 bit machine if
  6655. * strstart == 0 && lookahead == 1 (input done a byte at time)
  6656. */
  6657. more--
  6658. }
  6659. }
  6660. }
  6661. /* If the window is almost full and there is insufficient lookahead,
  6662. * move the upper half to the lower one to make room in the upper half.
  6663. */
  6664. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart >= wsize+((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1))) {
  6665. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr(wsize), uint64(wsize-more))
  6666. *(*TuInt)(unsafe.Pointer(s + 176)) -= wsize
  6667. *(*TuInt)(unsafe.Pointer(s + 172)) -= wsize /* we now have strstart >= MAX_DIST */
  6668. *(*int64)(unsafe.Pointer(s + 152)) -= libc.Int64FromUint32(wsize)
  6669. if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
  6670. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  6671. }
  6672. _slide_hash(tls, s)
  6673. more += wsize
  6674. }
  6675. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) {
  6676. break
  6677. }
  6678. /* If there was no sliding:
  6679. * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
  6680. * more == window_size - lookahead - strstart
  6681. * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)
  6682. * => more >= window_size - 2*WSIZE + 2
  6683. * In the BIG_MEM or MMAP case (not yet supported),
  6684. * window_size == input_size + MIN_LOOKAHEAD &&
  6685. * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
  6686. * Otherwise, window_size == 2*WSIZE so more >= 2.
  6687. * If there was sliding, more >= WSIZE. So in all cases, more >= 2.
  6688. */
  6689. n = _read_buf(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead), more)
  6690. *(*TuInt)(unsafe.Pointer(s + 180)) += n
  6691. /* Initialize the hash value now that we have some input: */
  6692. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead+(*Tdeflate_state)(unsafe.Pointer(s)).Finsert >= uint32(m_MIN_MATCH) {
  6693. str = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
  6694. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str))))
  6695. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str+uint32(1)))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  6696. for (*Tdeflate_state)(unsafe.Pointer(s)).Finsert != 0 {
  6697. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str+uint32(m_MIN_MATCH)-uint32(1)))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  6698. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr(str&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  6699. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16(str)
  6700. str++
  6701. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert--
  6702. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead+(*Tdeflate_state)(unsafe.Pointer(s)).Finsert < uint32(m_MIN_MATCH) {
  6703. break
  6704. }
  6705. }
  6706. }
  6707. /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
  6708. * but this is not important since only literal bytes will be emitted.
  6709. */
  6710. }
  6711. /* If the WIN_INIT bytes after the end of the current data have never been
  6712. * written, then zero those bytes in order to avoid memory check reports of
  6713. * the use of uninitialized (or uninitialised as Julian writes) bytes by
  6714. * the longest match routines. Update the high water mark for the next
  6715. * time through here. WIN_INIT is set to MAX_MATCH since the longest match
  6716. * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.
  6717. */
  6718. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size {
  6719. curr = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead)
  6720. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < curr {
  6721. /* Previous high water mark below current data -- zero WIN_INIT
  6722. * bytes or up to end of window, whichever is less.
  6723. */
  6724. init1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - curr
  6725. if init1 > uint64(m_MAX_MATCH) {
  6726. init1 = uint64(m_MAX_MATCH)
  6727. }
  6728. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr(curr), 0, uint64(uint32(init1)))
  6729. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = curr + init1
  6730. } else {
  6731. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < curr+uint64(m_MAX_MATCH) {
  6732. /* High water mark at or above current data, but below current data
  6733. * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up
  6734. * to end of window, whichever is less.
  6735. */
  6736. init1 = curr + uint64(m_MAX_MATCH) - (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water
  6737. if init1 > (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size-(*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water {
  6738. init1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water
  6739. }
  6740. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water), 0, uint64(uint32(init1)))
  6741. *(*Tulg)(unsafe.Pointer(s + 5944)) += init1
  6742. }
  6743. }
  6744. }
  6745. }
  6746. // C documentation
  6747. //
  6748. // /* ========================================================================= */
  6749. func XdeflateInit_(tls *libc.TLS, strm Tz_streamp, level int32, version uintptr, stream_size int32) (r int32) {
  6750. return XdeflateInit2_(tls, strm, level, int32(m_Z_DEFLATED), int32(m_MAX_WBITS), int32(m_DEF_MEM_LEVEL), m_Z_DEFAULT_STRATEGY, version, stream_size)
  6751. /* To do: ignore strm->next_in if we use it as window */
  6752. }
  6753. // C documentation
  6754. //
  6755. // /* ========================================================================= */
  6756. func XdeflateInit2_(tls *libc.TLS, strm Tz_streamp, level int32, method int32, windowBits int32, memLevel int32, strategy int32, version uintptr, stream_size int32) (r int32) {
  6757. var s uintptr
  6758. var wrap int32
  6759. _, _ = s, wrap
  6760. wrap = int32(1)
  6761. if version == uintptr(m_Z_NULL) || libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(version))) != libc.Int32FromUint8(_my_version[0]) || libc.Uint64FromInt32(stream_size) != uint64(112) {
  6762. return -int32(6)
  6763. }
  6764. if strm == uintptr(m_Z_NULL) {
  6765. return -int32(2)
  6766. }
  6767. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
  6768. if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
  6769. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
  6770. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
  6771. }
  6772. if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  6773. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
  6774. }
  6775. if level == -int32(1) {
  6776. level = int32(6)
  6777. }
  6778. if windowBits < 0 { /* suppress zlib wrapper */
  6779. wrap = 0
  6780. if windowBits < -int32(15) {
  6781. return -int32(2)
  6782. }
  6783. windowBits = -windowBits
  6784. } else {
  6785. if windowBits > int32(15) {
  6786. wrap = int32(2) /* write gzip wrapper instead */
  6787. windowBits -= int32(16)
  6788. }
  6789. }
  6790. if memLevel < int32(1) || memLevel > int32(m_MAX_MEM_LEVEL) || method != int32(m_Z_DEFLATED) || windowBits < int32(8) || windowBits > int32(15) || level < 0 || level > int32(9) || strategy < 0 || strategy > int32(m_Z_FIXED) || windowBits == int32(8) && wrap != int32(1) {
  6791. return -int32(2)
  6792. }
  6793. if windowBits == int32(8) {
  6794. windowBits = int32(9)
  6795. } /* until 256-byte window bug fixed */
  6796. s = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, libc.Uint32FromInt32(libc.Int32FromInt32(1)), uint32(libc.Uint64FromInt64(5952)))
  6797. if s == uintptr(m_Z_NULL) {
  6798. return -int32(4)
  6799. }
  6800. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = s
  6801. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm = strm
  6802. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_INIT_STATE) /* to pass state test in deflateReset() */
  6803. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = wrap
  6804. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead = uintptr(m_Z_NULL)
  6805. (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits = libc.Uint32FromInt32(windowBits)
  6806. (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size = libc.Uint32FromInt32(int32(1) << (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits)
  6807. (*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - uint32(1)
  6808. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits = libc.Uint32FromInt32(memLevel) + uint32(7)
  6809. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size = libc.Uint32FromInt32(int32(1) << (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits)
  6810. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask = (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size - uint32(1)
  6811. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift = ((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits + libc.Uint32FromInt32(m_MIN_MATCH) - libc.Uint32FromInt32(1)) / libc.Uint32FromInt32(m_MIN_MATCH)
  6812. (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size, uint32(libc.Uint64FromInt32(2)*libc.Uint64FromInt64(1)))
  6813. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size, uint32(libc.Uint64FromInt64(2)))
  6814. (*Tdeflate_state)(unsafe.Pointer(s)).Fhead = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size, uint32(libc.Uint64FromInt64(2)))
  6815. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64(0) /* nothing written to s->window yet */
  6816. (*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize = libc.Uint32FromInt32(int32(1) << (memLevel + int32(6))) /* 16K elements by default */
  6817. /* We overlay pending_buf and sym_buf. This works since the average size
  6818. * for length/distance pairs over any compressed block is assured to be 31
  6819. * bits or less.
  6820. *
  6821. * Analysis: The longest fixed codes are a length code of 8 bits plus 5
  6822. * extra bits, for lengths 131 to 257. The longest fixed distance codes are
  6823. * 5 bits plus 13 extra bits, for distances 16385 to 32768. The longest
  6824. * possible fixed-codes length/distance pair is then 31 bits total.
  6825. *
  6826. * sym_buf starts one-fourth of the way into pending_buf. So there are
  6827. * three bytes in sym_buf for every four bytes in pending_buf. Each symbol
  6828. * in sym_buf is three bytes -- two for the distance and one for the
  6829. * literal/length. As each symbol is consumed, the pointer to the next
  6830. * sym_buf value to read moves forward three bytes. From that symbol, up to
  6831. * 31 bits are written to pending_buf. The closest the written pending_buf
  6832. * bits gets to the next sym_buf symbol to read is just before the last
  6833. * code is written. At that time, 31*(n - 2) bits have been written, just
  6834. * after 24*(n - 2) bits have been consumed from sym_buf. sym_buf starts at
  6835. * 8*n bits into pending_buf. (Note that the symbol buffer fills when n - 1
  6836. * symbols are written.) The closest the writing gets to what is unread is
  6837. * then n + 14 bits. Here n is lit_bufsize, which is 16384 by default, and
  6838. * can range from 128 to 32768.
  6839. *
  6840. * Therefore, at a minimum, there are 142 bits of space between what is
  6841. * written and what is read in the overlain buffers, so the symbols cannot
  6842. * be overwritten by the compressed data. That space is actually 139 bits,
  6843. * due to the three-bit fixed-code block header.
  6844. *
  6845. * That covers the case where either Z_FIXED is specified, forcing fixed
  6846. * codes, or when the use of fixed codes is chosen, because that choice
  6847. * results in a smaller compressed block than dynamic codes. That latter
  6848. * condition then assures that the above analysis also covers all dynamic
  6849. * blocks. A dynamic-code block will only be chosen to be emitted if it has
  6850. * fewer bits than a fixed-code block would for the same set of symbols.
  6851. * Therefore its average symbol length is assured to be less than 31. So
  6852. * the compressed data for a dynamic block also cannot overwrite the
  6853. * symbols from which it is being constructed.
  6854. */
  6855. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize, libc.Uint32FromInt32(libc.Int32FromInt32(m_LIT_BUFS)))
  6856. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize) * uint64(4)
  6857. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(s)).Fprev == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(s)).Fhead == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf == uintptr(m_Z_NULL) {
  6858. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_FINISH_STATE)
  6859. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(4)]
  6860. XdeflateEnd(tls, strm)
  6861. return -int32(4)
  6862. }
  6863. (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize)
  6864. (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end = ((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize - uint32(1)) * uint32(3)
  6865. /* We avoid equality with lit_bufsize*3 because of wraparound at 64K
  6866. * on 16 bit machines and because stored blocks are restricted to
  6867. * 64K-1 bytes.
  6868. */
  6869. (*Tdeflate_state)(unsafe.Pointer(s)).Flevel = level
  6870. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy = strategy
  6871. (*Tdeflate_state)(unsafe.Pointer(s)).Fmethod = libc.Uint8FromInt32(method)
  6872. return XdeflateReset(tls, strm)
  6873. }
  6874. var _my_version = [6]uint8{'1', '.', '3', '.', '1'}
  6875. // C documentation
  6876. //
  6877. // /* =========================================================================
  6878. // * Check for a valid deflate stream state. Return 0 if ok, 1 if not.
  6879. // */
  6880. func _deflateStateCheck(tls *libc.TLS, strm Tz_streamp) (r int32) {
  6881. var s uintptr
  6882. _ = s
  6883. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) || (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  6884. return int32(1)
  6885. }
  6886. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  6887. if s == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm != strm || (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_INIT_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_GZIP_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_EXTRA_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_NAME_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_COMMENT_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_HCRC_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_BUSY_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_FINISH_STATE) {
  6888. return int32(1)
  6889. }
  6890. return 0
  6891. }
  6892. // C documentation
  6893. //
  6894. // /* ========================================================================= */
  6895. func XdeflateSetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength TuInt) (r int32) {
  6896. var avail uint32
  6897. var n, str, v1, v3 TuInt
  6898. var next, s uintptr
  6899. var wrap int32
  6900. _, _, _, _, _, _, _, _ = avail, n, next, s, str, wrap, v1, v3
  6901. if _deflateStateCheck(tls, strm) != 0 || dictionary == uintptr(m_Z_NULL) {
  6902. return -int32(2)
  6903. }
  6904. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  6905. wrap = (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap
  6906. if wrap == int32(2) || wrap == int32(1) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_INIT_STATE) || (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead != 0 {
  6907. return -int32(2)
  6908. }
  6909. /* when using zlib wrappers, compute Adler-32 for provided dictionary */
  6910. if wrap == int32(1) {
  6911. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, dictionary, dictLength)
  6912. }
  6913. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = 0 /* avoid computing Adler-32 in read_buf */
  6914. /* if dictionary would fill window, just replace the history */
  6915. if dictLength >= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
  6916. if wrap == 0 { /* already empty otherwise */
  6917. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  6918. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2))
  6919. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
  6920. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
  6921. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  6922. }
  6923. dictionary += uintptr(dictLength - (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size) /* use the tail */
  6924. dictLength = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  6925. }
  6926. /* insert dictionary into window and hash */
  6927. avail = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  6928. next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  6929. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = dictLength
  6930. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = dictionary
  6931. _fill_window(tls, s)
  6932. for (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  6933. str = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  6934. n = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead - libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))
  6935. for {
  6936. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str+uint32(m_MIN_MATCH)-uint32(1)))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  6937. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr(str&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  6938. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16(str)
  6939. str++
  6940. goto _2
  6941. _2:
  6942. ;
  6943. n--
  6944. v1 = n
  6945. if !(v1 != 0) {
  6946. break
  6947. }
  6948. }
  6949. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = str
  6950. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  6951. _fill_window(tls, s)
  6952. }
  6953. *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  6954. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  6955. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  6956. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = uint32(0)
  6957. v3 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  6958. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = v3
  6959. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = v3
  6960. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  6961. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  6962. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = avail
  6963. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = wrap
  6964. return m_Z_OK
  6965. }
  6966. // C documentation
  6967. //
  6968. // /* ========================================================================= */
  6969. func XdeflateGetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength uintptr) (r int32) {
  6970. var len1 TuInt
  6971. var s uintptr
  6972. _, _ = len1, s
  6973. if _deflateStateCheck(tls, strm) != 0 {
  6974. return -int32(2)
  6975. }
  6976. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  6977. len1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart + (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  6978. if len1 > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
  6979. len1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  6980. }
  6981. if dictionary != uintptr(m_Z_NULL) && len1 != 0 {
  6982. libc.Xmemcpy(tls, dictionary, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead)-uintptr(len1), uint64(len1))
  6983. }
  6984. if dictLength != uintptr(m_Z_NULL) {
  6985. *(*TuInt)(unsafe.Pointer(dictLength)) = len1
  6986. }
  6987. return m_Z_OK
  6988. }
  6989. // C documentation
  6990. //
  6991. // /* ========================================================================= */
  6992. func XdeflateResetKeep(tls *libc.TLS, strm Tz_streamp) (r int32) {
  6993. var s uintptr
  6994. var v1 TuLong
  6995. var v2 int32
  6996. var v3 uint64
  6997. _, _, _, _ = s, v1, v2, v3
  6998. if _deflateStateCheck(tls, strm) != 0 {
  6999. return -int32(2)
  7000. }
  7001. v1 = libc.Uint64FromInt32(0)
  7002. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = v1
  7003. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = v1
  7004. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* use zfree if we ever allocate msg dynamically */
  7005. (*Tz_stream)(unsafe.Pointer(strm)).Fdata_type = int32(m_Z_UNKNOWN)
  7006. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7007. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending = uint64(0)
  7008. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf
  7009. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap < 0 {
  7010. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = -(*Tdeflate_state)(unsafe.Pointer(s)).Fwrap /* was made negative by deflate(..., Z_FINISH); */
  7011. }
  7012. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
  7013. v2 = int32(m_GZIP_STATE)
  7014. } else {
  7015. v2 = int32(m_INIT_STATE)
  7016. }
  7017. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = v2
  7018. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
  7019. v3 = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  7020. } else {
  7021. v3 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  7022. }
  7023. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v3
  7024. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(2)
  7025. x__tr_init(tls, s)
  7026. return m_Z_OK
  7027. }
  7028. // C documentation
  7029. //
  7030. // /* ===========================================================================
  7031. // * Initialize the "longest match" routines for a new zlib stream
  7032. // */
  7033. func _lm_init(tls *libc.TLS, s uintptr) {
  7034. var v1 TuInt
  7035. _ = v1
  7036. (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size = libc.Uint64FromInt64(2) * uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
  7037. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  7038. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2))
  7039. /* Set the default configuration parameters:
  7040. */
  7041. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fmax_lazy)
  7042. (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fgood_length)
  7043. (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = libc.Int32FromUint16(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fnice_length)
  7044. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fmax_chain)
  7045. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
  7046. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
  7047. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = uint32(0)
  7048. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  7049. v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  7050. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = v1
  7051. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = v1
  7052. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  7053. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(0)
  7054. }
  7055. // C documentation
  7056. //
  7057. // /* ========================================================================= */
  7058. func XdeflateReset(tls *libc.TLS, strm Tz_streamp) (r int32) {
  7059. var ret int32
  7060. _ = ret
  7061. ret = XdeflateResetKeep(tls, strm)
  7062. if ret == m_Z_OK {
  7063. _lm_init(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fstate)
  7064. }
  7065. return ret
  7066. }
  7067. // C documentation
  7068. //
  7069. // /* ========================================================================= */
  7070. func XdeflateSetHeader(tls *libc.TLS, strm Tz_streamp, head Tgz_headerp) (r int32) {
  7071. if _deflateStateCheck(tls, strm) != 0 || (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap != int32(2) {
  7072. return -int32(2)
  7073. }
  7074. (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fgzhead = head
  7075. return m_Z_OK
  7076. }
  7077. // C documentation
  7078. //
  7079. // /* ========================================================================= */
  7080. func XdeflatePending(tls *libc.TLS, strm Tz_streamp, pending uintptr, bits uintptr) (r int32) {
  7081. if _deflateStateCheck(tls, strm) != 0 {
  7082. return -int32(2)
  7083. }
  7084. if pending != uintptr(m_Z_NULL) {
  7085. *(*uint32)(unsafe.Pointer(pending)) = uint32((*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fpending)
  7086. }
  7087. if bits != uintptr(m_Z_NULL) {
  7088. *(*int32)(unsafe.Pointer(bits)) = (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fbi_valid
  7089. }
  7090. return m_Z_OK
  7091. }
  7092. // C documentation
  7093. //
  7094. // /* ========================================================================= */
  7095. func XdeflatePrime(tls *libc.TLS, strm Tz_streamp, bits int32, value int32) (r int32) {
  7096. var put int32
  7097. var s, p1 uintptr
  7098. _, _, _ = put, s, p1
  7099. if _deflateStateCheck(tls, strm) != 0 {
  7100. return -int32(2)
  7101. }
  7102. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7103. if bits < 0 || bits > int32(16) || (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf < (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out+uintptr((libc.Int32FromInt32(m_Buf_size)+libc.Int32FromInt32(7))>>libc.Int32FromInt32(3)) {
  7104. return -int32(5)
  7105. }
  7106. for cond := true; cond; cond = bits != 0 {
  7107. put = int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid
  7108. if put > bits {
  7109. put = bits
  7110. }
  7111. p1 = s + 5936
  7112. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(value&(libc.Int32FromInt32(1)<<put-libc.Int32FromInt32(1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)))
  7113. *(*int32)(unsafe.Pointer(s + 5940)) += put
  7114. x__tr_flush_bits(tls, s)
  7115. value >>= put
  7116. bits -= put
  7117. }
  7118. return m_Z_OK
  7119. }
  7120. // C documentation
  7121. //
  7122. // /* ========================================================================= */
  7123. func XdeflateParams(tls *libc.TLS, strm Tz_streamp, level int32, strategy int32) (r int32) {
  7124. var err int32
  7125. var func1 Tcompress_func
  7126. var s uintptr
  7127. _, _, _ = err, func1, s
  7128. if _deflateStateCheck(tls, strm) != 0 {
  7129. return -int32(2)
  7130. }
  7131. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7132. if level == -int32(1) {
  7133. level = int32(6)
  7134. }
  7135. if level < 0 || level > int32(9) || strategy < 0 || strategy > int32(m_Z_FIXED) {
  7136. return -int32(2)
  7137. }
  7138. func1 = _configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Ffunc1
  7139. if (strategy != (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy || func1 != _configuration_table[level].Ffunc1) && (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush != -int32(2) {
  7140. /* Flush the last buffer: */
  7141. err = Xdeflate(tls, strm, int32(m_Z_BLOCK))
  7142. if err == -int32(2) {
  7143. return err
  7144. }
  7145. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 || libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start+libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead) != 0 {
  7146. return -int32(5)
  7147. }
  7148. }
  7149. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel != level {
  7150. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches != uint32(0) {
  7151. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches == uint32(1) {
  7152. _slide_hash(tls, s)
  7153. } else {
  7154. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  7155. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2))
  7156. }
  7157. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = uint32(0)
  7158. }
  7159. (*Tdeflate_state)(unsafe.Pointer(s)).Flevel = level
  7160. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = uint32(_configuration_table[level].Fmax_lazy)
  7161. (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = uint32(_configuration_table[level].Fgood_length)
  7162. (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = libc.Int32FromUint16(_configuration_table[level].Fnice_length)
  7163. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = uint32(_configuration_table[level].Fmax_chain)
  7164. }
  7165. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy = strategy
  7166. return m_Z_OK
  7167. }
  7168. // C documentation
  7169. //
  7170. // /* ========================================================================= */
  7171. func XdeflateTune(tls *libc.TLS, strm Tz_streamp, good_length int32, max_lazy int32, nice_length int32, max_chain int32) (r int32) {
  7172. var s uintptr
  7173. _ = s
  7174. if _deflateStateCheck(tls, strm) != 0 {
  7175. return -int32(2)
  7176. }
  7177. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7178. (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = libc.Uint32FromInt32(good_length)
  7179. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = libc.Uint32FromInt32(max_lazy)
  7180. (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = nice_length
  7181. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = libc.Uint32FromInt32(max_chain)
  7182. return m_Z_OK
  7183. }
  7184. // C documentation
  7185. //
  7186. // /* =========================================================================
  7187. // * For the default windowBits of 15 and memLevel of 8, this function returns a
  7188. // * close to exact, as well as small, upper bound on the compressed size. This
  7189. // * is an expansion of ~0.03%, plus a small constant.
  7190. // *
  7191. // * For any setting other than those defaults for windowBits and memLevel, one
  7192. // * of two worst case bounds is returned. This is at most an expansion of ~4% or
  7193. // * ~13%, plus a small constant.
  7194. // *
  7195. // * Both the 0.03% and 4% derive from the overhead of stored blocks. The first
  7196. // * one is for stored blocks of 16383 bytes (memLevel == 8), whereas the second
  7197. // * is for stored blocks of 127 bytes (the worst case memLevel == 1). The
  7198. // * expansion results from five bytes of header for each stored block.
  7199. // *
  7200. // * The larger expansion of 13% results from a window size less than or equal to
  7201. // * the symbols buffer size (windowBits <= memLevel + 7). In that case some of
  7202. // * the data being compressed may have slid out of the sliding window, impeding
  7203. // * a stored block from being emitted. Then the only choice is a fixed or
  7204. // * dynamic block, where a fixed block limits the maximum expansion to 9 bits
  7205. // * per 8-bit byte, plus 10 bits for every block. The smallest block size for
  7206. // * which this can occur is 255 (memLevel == 2).
  7207. // *
  7208. // * Shifts are used to approximate divisions, for speed.
  7209. // */
  7210. func XdeflateBound(tls *libc.TLS, strm Tz_streamp, sourceLen TuLong) (r TuLong) {
  7211. var fixedlen, storelen, wraplen TuLong
  7212. var s, str, v3, v5 uintptr
  7213. var v1, v7 uint64
  7214. var v2 int32
  7215. _, _, _, _, _, _, _, _, _, _ = fixedlen, s, storelen, str, wraplen, v1, v2, v3, v5, v7
  7216. /* upper bound for fixed blocks with 9-bit literals and length 255
  7217. (memLevel == 2, which is the lowest that may not use stored blocks) --
  7218. ~13% overhead plus a small constant */
  7219. fixedlen = sourceLen + sourceLen>>libc.Int32FromInt32(3) + sourceLen>>libc.Int32FromInt32(8) + sourceLen>>libc.Int32FromInt32(9) + uint64(4)
  7220. /* upper bound for stored blocks with length 127 (memLevel == 1) --
  7221. ~4% overhead plus a small constant */
  7222. storelen = sourceLen + sourceLen>>libc.Int32FromInt32(5) + sourceLen>>libc.Int32FromInt32(7) + sourceLen>>libc.Int32FromInt32(11) + uint64(7)
  7223. /* if can't get parameters, return larger bound plus a zlib wrapper */
  7224. if _deflateStateCheck(tls, strm) != 0 {
  7225. if fixedlen > storelen {
  7226. v1 = fixedlen
  7227. } else {
  7228. v1 = storelen
  7229. }
  7230. return v1 + uint64(6)
  7231. }
  7232. /* compute wrapper length */
  7233. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7234. switch (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap {
  7235. case 0: /* raw deflate */
  7236. wraplen = uint64(0)
  7237. case int32(1): /* zlib wrapper */
  7238. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != 0 {
  7239. v2 = int32(4)
  7240. } else {
  7241. v2 = 0
  7242. }
  7243. wraplen = libc.Uint64FromInt32(int32(6) + v2)
  7244. case int32(2): /* gzip wrapper */
  7245. wraplen = uint64(18)
  7246. if (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead != uintptr(m_Z_NULL) {
  7247. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
  7248. wraplen += uint64(uint32(2) + (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len)
  7249. }
  7250. str = (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname
  7251. if str != uintptr(m_Z_NULL) {
  7252. for {
  7253. wraplen++
  7254. goto _4
  7255. _4:
  7256. ;
  7257. v3 = str
  7258. str++
  7259. if !(*(*TBytef)(unsafe.Pointer(v3)) != 0) {
  7260. break
  7261. }
  7262. }
  7263. }
  7264. str = (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment
  7265. if str != uintptr(m_Z_NULL) {
  7266. for {
  7267. wraplen++
  7268. goto _6
  7269. _6:
  7270. ;
  7271. v5 = str
  7272. str++
  7273. if !(*(*TBytef)(unsafe.Pointer(v5)) != 0) {
  7274. break
  7275. }
  7276. }
  7277. }
  7278. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  7279. wraplen += uint64(2)
  7280. }
  7281. }
  7282. default: /* for compiler happiness */
  7283. wraplen = uint64(6)
  7284. }
  7285. /* if not default parameters, return one of the conservative bounds */
  7286. if (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits != uint32(15) || (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits != libc.Uint32FromInt32(libc.Int32FromInt32(8)+libc.Int32FromInt32(7)) {
  7287. if (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits <= (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits && (*Tdeflate_state)(unsafe.Pointer(s)).Flevel != 0 {
  7288. v7 = fixedlen
  7289. } else {
  7290. v7 = storelen
  7291. }
  7292. return v7 + wraplen
  7293. }
  7294. /* default settings: return tight bound for that case -- ~0.03% overhead
  7295. plus a small constant */
  7296. return sourceLen + sourceLen>>libc.Int32FromInt32(12) + sourceLen>>libc.Int32FromInt32(14) + sourceLen>>libc.Int32FromInt32(25) + uint64(13) - uint64(6) + wraplen
  7297. }
  7298. // C documentation
  7299. //
  7300. // /* =========================================================================
  7301. // * Put a short in the pending buffer. The 16-bit value is put in MSB order.
  7302. // * IN assertion: the stream state is correct and there is enough room in
  7303. // * pending_buf.
  7304. // */
  7305. func _putShortMSB(tls *libc.TLS, s uintptr, b TuInt) {
  7306. var v1, v3 Tulg
  7307. var v2, v4 uintptr
  7308. _, _, _, _ = v1, v2, v3, v4
  7309. v2 = s + 40
  7310. v1 = *(*Tulg)(unsafe.Pointer(v2))
  7311. *(*Tulg)(unsafe.Pointer(v2))++
  7312. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v1))) = uint8(b >> libc.Int32FromInt32(8))
  7313. v4 = s + 40
  7314. v3 = *(*Tulg)(unsafe.Pointer(v4))
  7315. *(*Tulg)(unsafe.Pointer(v4))++
  7316. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v3))) = uint8(b & libc.Uint32FromInt32(0xff))
  7317. }
  7318. // C documentation
  7319. //
  7320. // /* =========================================================================
  7321. // * Flush as much pending output as possible. All deflate() output, except for
  7322. // * some deflate_stored() output, goes through this function so some
  7323. // * applications may wish to modify it to avoid allocating a large
  7324. // * strm->next_out buffer and copying into it. (See also read_buf()).
  7325. // */
  7326. func _flush_pending(tls *libc.TLS, strm Tz_streamp) {
  7327. var len1 uint32
  7328. var s uintptr
  7329. _, _ = len1, s
  7330. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7331. x__tr_flush_bits(tls, s)
  7332. len1 = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending)
  7333. if len1 > (*Tz_stream)(unsafe.Pointer(strm)).Favail_out {
  7334. len1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  7335. }
  7336. if len1 == uint32(0) {
  7337. return
  7338. }
  7339. libc.Xmemcpy(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out, uint64(len1))
  7340. *(*uintptr)(unsafe.Pointer(strm + 24)) += uintptr(len1)
  7341. *(*uintptr)(unsafe.Pointer(s + 32)) += uintptr(len1)
  7342. *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(len1)
  7343. *(*TuInt)(unsafe.Pointer(strm + 32)) -= len1
  7344. *(*Tulg)(unsafe.Pointer(s + 40)) -= uint64(len1)
  7345. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == uint64(0) {
  7346. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf
  7347. }
  7348. }
  7349. /* ===========================================================================
  7350. * Update the header CRC with the bytes s->pending_buf[beg..s->pending - 1].
  7351. */
  7352. // C documentation
  7353. //
  7354. // /* ========================================================================= */
  7355. func Xdeflate(tls *libc.TLS, strm Tz_streamp, flush int32) (r int32) {
  7356. var beg, beg1, beg2, v10, v12, v14, v16, v18, v20, v24, v26, v33, v35, v37, v39, v4, v41, v45, v47, v49, v51, v53, v55, v57, v59, v6, v61, v66, v68, v70, v72, v74, v76, v78, v8, v80 Tulg
  7357. var bstate Tblock_state
  7358. var copy1, header, left, level_flags TuInt
  7359. var old_flush, val, val1, v1, v2, v22, v23, v28, v29, v30, v31, v32, v43, v44, v63, v64, v65, v82 int32
  7360. var s, v11, v13, v15, v17, v19, v21, v25, v27, v34, v36, v38, v40, v42, v46, v48, v5, v50, v52, v54, v56, v58, v60, v62, v67, v69, v7, v71, v73, v75, v77, v79, v81, v9 uintptr
  7361. var v3 bool
  7362. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = beg, beg1, beg2, bstate, copy1, header, left, level_flags, old_flush, s, val, val1, 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, v9
  7363. if _deflateStateCheck(tls, strm) != 0 || flush > int32(m_Z_BLOCK) || flush < 0 {
  7364. return -int32(2)
  7365. }
  7366. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7367. if (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != uint32(0) && (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_FINISH_STATE) && flush != int32(m_Z_FINISH) {
  7368. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(2)]
  7369. return -libc.Int32FromInt32(2)
  7370. }
  7371. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  7372. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
  7373. return -libc.Int32FromInt32(5)
  7374. }
  7375. old_flush = (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush
  7376. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = flush
  7377. /* Flush as much pending output as possible */
  7378. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7379. _flush_pending(tls, strm)
  7380. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  7381. /* Since avail_out is 0, deflate will be called again with
  7382. * more output space, but possibly with both pending and
  7383. * avail_in equal to zero. There won't be anything to do,
  7384. * but this is not an error situation so make sure we
  7385. * return OK instead of BUF_ERROR at next call of deflate:
  7386. */
  7387. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7388. return m_Z_OK
  7389. }
  7390. /* Make sure there is something to do and avoid duplicate consecutive
  7391. * flushes. For repeated and useless calls with Z_FINISH, we keep
  7392. * returning Z_STREAM_END instead of Z_BUF_ERROR.
  7393. */
  7394. } else {
  7395. if v3 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0); v3 {
  7396. if flush > int32(4) {
  7397. v1 = int32(9)
  7398. } else {
  7399. v1 = 0
  7400. }
  7401. if old_flush > int32(4) {
  7402. v2 = int32(9)
  7403. } else {
  7404. v2 = 0
  7405. }
  7406. }
  7407. if v3 && flush*int32(2)-v1 <= old_flush*int32(2)-v2 && flush != int32(m_Z_FINISH) {
  7408. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
  7409. return -libc.Int32FromInt32(5)
  7410. }
  7411. }
  7412. /* User must not provide more input after the first FINISH: */
  7413. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_FINISH_STATE) && (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != uint32(0) {
  7414. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
  7415. return -libc.Int32FromInt32(5)
  7416. }
  7417. /* Write the header */
  7418. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_INIT_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == 0 {
  7419. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  7420. }
  7421. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_INIT_STATE) {
  7422. /* zlib header */
  7423. header = (uint32(m_Z_DEFLATED) + ((*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits-uint32(8))<<int32(4)) << int32(8)
  7424. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
  7425. level_flags = uint32(0)
  7426. } else {
  7427. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(6) {
  7428. level_flags = uint32(1)
  7429. } else {
  7430. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(6) {
  7431. level_flags = uint32(2)
  7432. } else {
  7433. level_flags = uint32(3)
  7434. }
  7435. }
  7436. }
  7437. header |= level_flags << libc.Int32FromInt32(6)
  7438. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != uint32(0) {
  7439. header |= uint32(m_PRESET_DICT1)
  7440. }
  7441. header += uint32(31) - header%uint32(31)
  7442. _putShortMSB(tls, s, header)
  7443. /* Save the adler32 of the preset dictionary: */
  7444. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != uint32(0) {
  7445. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler>>libc.Int32FromInt32(16)))
  7446. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler&libc.Uint64FromInt32(0xffff)))
  7447. }
  7448. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  7449. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  7450. /* Compression must start with an empty pending buffer */
  7451. _flush_pending(tls, strm)
  7452. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7453. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7454. return m_Z_OK
  7455. }
  7456. }
  7457. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_GZIP_STATE) {
  7458. /* gzip header */
  7459. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  7460. v5 = s + 40
  7461. v4 = *(*Tulg)(unsafe.Pointer(v5))
  7462. *(*Tulg)(unsafe.Pointer(v5))++
  7463. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v4))) = libc.Uint8FromInt32(libc.Int32FromInt32(31))
  7464. v7 = s + 40
  7465. v6 = *(*Tulg)(unsafe.Pointer(v7))
  7466. *(*Tulg)(unsafe.Pointer(v7))++
  7467. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v6))) = libc.Uint8FromInt32(libc.Int32FromInt32(139))
  7468. v9 = s + 40
  7469. v8 = *(*Tulg)(unsafe.Pointer(v9))
  7470. *(*Tulg)(unsafe.Pointer(v9))++
  7471. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v8))) = libc.Uint8FromInt32(libc.Int32FromInt32(8))
  7472. if (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead == uintptr(m_Z_NULL) {
  7473. v11 = s + 40
  7474. v10 = *(*Tulg)(unsafe.Pointer(v11))
  7475. *(*Tulg)(unsafe.Pointer(v11))++
  7476. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v10))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  7477. v13 = s + 40
  7478. v12 = *(*Tulg)(unsafe.Pointer(v13))
  7479. *(*Tulg)(unsafe.Pointer(v13))++
  7480. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v12))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  7481. v15 = s + 40
  7482. v14 = *(*Tulg)(unsafe.Pointer(v15))
  7483. *(*Tulg)(unsafe.Pointer(v15))++
  7484. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v14))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  7485. v17 = s + 40
  7486. v16 = *(*Tulg)(unsafe.Pointer(v17))
  7487. *(*Tulg)(unsafe.Pointer(v17))++
  7488. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v16))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  7489. v19 = s + 40
  7490. v18 = *(*Tulg)(unsafe.Pointer(v19))
  7491. *(*Tulg)(unsafe.Pointer(v19))++
  7492. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v18))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  7493. v21 = s + 40
  7494. v20 = *(*Tulg)(unsafe.Pointer(v21))
  7495. *(*Tulg)(unsafe.Pointer(v21))++
  7496. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(9) {
  7497. v22 = int32(2)
  7498. } else {
  7499. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
  7500. v23 = int32(4)
  7501. } else {
  7502. v23 = 0
  7503. }
  7504. v22 = v23
  7505. }
  7506. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v20))) = libc.Uint8FromInt32(v22)
  7507. v25 = s + 40
  7508. v24 = *(*Tulg)(unsafe.Pointer(v25))
  7509. *(*Tulg)(unsafe.Pointer(v25))++
  7510. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v24))) = libc.Uint8FromInt32(libc.Int32FromInt32(m_OS_CODE))
  7511. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  7512. /* Compression must start with an empty pending buffer */
  7513. _flush_pending(tls, strm)
  7514. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7515. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7516. return m_Z_OK
  7517. }
  7518. } else {
  7519. v27 = s + 40
  7520. v26 = *(*Tulg)(unsafe.Pointer(v27))
  7521. *(*Tulg)(unsafe.Pointer(v27))++
  7522. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftext != 0 {
  7523. v28 = int32(1)
  7524. } else {
  7525. v28 = 0
  7526. }
  7527. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  7528. v29 = int32(2)
  7529. } else {
  7530. v29 = 0
  7531. }
  7532. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra == uintptr(m_Z_NULL) {
  7533. v30 = 0
  7534. } else {
  7535. v30 = int32(4)
  7536. }
  7537. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname == uintptr(m_Z_NULL) {
  7538. v31 = 0
  7539. } else {
  7540. v31 = int32(8)
  7541. }
  7542. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment == uintptr(m_Z_NULL) {
  7543. v32 = 0
  7544. } else {
  7545. v32 = int32(16)
  7546. }
  7547. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v26))) = libc.Uint8FromInt32(v28 + v29 + v30 + v31 + v32)
  7548. v34 = s + 40
  7549. v33 = *(*Tulg)(unsafe.Pointer(v34))
  7550. *(*Tulg)(unsafe.Pointer(v34))++
  7551. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v33))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime & libc.Uint64FromInt32(0xff))
  7552. v36 = s + 40
  7553. v35 = *(*Tulg)(unsafe.Pointer(v36))
  7554. *(*Tulg)(unsafe.Pointer(v36))++
  7555. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v35))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(0xff))
  7556. v38 = s + 40
  7557. v37 = *(*Tulg)(unsafe.Pointer(v38))
  7558. *(*Tulg)(unsafe.Pointer(v38))++
  7559. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v37))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime >> libc.Int32FromInt32(16) & libc.Uint64FromInt32(0xff))
  7560. v40 = s + 40
  7561. v39 = *(*Tulg)(unsafe.Pointer(v40))
  7562. *(*Tulg)(unsafe.Pointer(v40))++
  7563. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v39))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftime >> libc.Int32FromInt32(24) & libc.Uint64FromInt32(0xff))
  7564. v42 = s + 40
  7565. v41 = *(*Tulg)(unsafe.Pointer(v42))
  7566. *(*Tulg)(unsafe.Pointer(v42))++
  7567. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(9) {
  7568. v43 = int32(2)
  7569. } else {
  7570. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
  7571. v44 = int32(4)
  7572. } else {
  7573. v44 = 0
  7574. }
  7575. v43 = v44
  7576. }
  7577. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v41))) = libc.Uint8FromInt32(v43)
  7578. v46 = s + 40
  7579. v45 = *(*Tulg)(unsafe.Pointer(v46))
  7580. *(*Tulg)(unsafe.Pointer(v46))++
  7581. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v45))) = libc.Uint8FromInt32((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fos & libc.Int32FromInt32(0xff))
  7582. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
  7583. v48 = s + 40
  7584. v47 = *(*Tulg)(unsafe.Pointer(v48))
  7585. *(*Tulg)(unsafe.Pointer(v48))++
  7586. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v47))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len & libc.Uint32FromInt32(0xff))
  7587. v50 = s + 40
  7588. v49 = *(*Tulg)(unsafe.Pointer(v50))
  7589. *(*Tulg)(unsafe.Pointer(v50))++
  7590. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v49))) = uint8((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len >> libc.Int32FromInt32(8) & libc.Uint32FromInt32(0xff))
  7591. }
  7592. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  7593. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf, uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending))
  7594. }
  7595. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
  7596. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_EXTRA_STATE)
  7597. }
  7598. }
  7599. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_EXTRA_STATE) {
  7600. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
  7601. beg = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending /* start of bytes to update crc */
  7602. left = uint32(uint64((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len&libc.Uint32FromInt32(0xffff)) - (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex)
  7603. for (*Tdeflate_state)(unsafe.Pointer(s)).Fpending+uint64(left) > (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  7604. copy1 = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - (*Tdeflate_state)(unsafe.Pointer(s)).Fpending)
  7605. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending), (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex), uint64(copy1))
  7606. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size
  7607. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg {
  7608. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg))
  7609. }
  7610. *(*Tulg)(unsafe.Pointer(s + 64)) += uint64(copy1)
  7611. _flush_pending(tls, strm)
  7612. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7613. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7614. return m_Z_OK
  7615. }
  7616. beg = uint64(0)
  7617. left -= copy1
  7618. }
  7619. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending), (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex), uint64(left))
  7620. *(*Tulg)(unsafe.Pointer(s + 40)) += uint64(left)
  7621. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg {
  7622. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg))
  7623. }
  7624. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
  7625. }
  7626. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_NAME_STATE)
  7627. }
  7628. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_NAME_STATE) {
  7629. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname != uintptr(m_Z_NULL) {
  7630. beg1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending
  7631. for cond := true; cond; cond = val != 0 {
  7632. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  7633. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg1 {
  7634. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg1), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg1))
  7635. }
  7636. _flush_pending(tls, strm)
  7637. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7638. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7639. return m_Z_OK
  7640. }
  7641. beg1 = uint64(0)
  7642. }
  7643. v52 = s + 64
  7644. v51 = *(*Tulg)(unsafe.Pointer(v52))
  7645. *(*Tulg)(unsafe.Pointer(v52))++
  7646. val = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname + uintptr(v51))))
  7647. v54 = s + 40
  7648. v53 = *(*Tulg)(unsafe.Pointer(v54))
  7649. *(*Tulg)(unsafe.Pointer(v54))++
  7650. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v53))) = libc.Uint8FromInt32(val)
  7651. }
  7652. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg1 {
  7653. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg1), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg1))
  7654. }
  7655. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
  7656. }
  7657. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_COMMENT_STATE)
  7658. }
  7659. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_COMMENT_STATE) {
  7660. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment != uintptr(m_Z_NULL) {
  7661. beg2 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending
  7662. for cond := true; cond; cond = val1 != 0 {
  7663. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  7664. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg2 {
  7665. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg2), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg2))
  7666. }
  7667. _flush_pending(tls, strm)
  7668. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7669. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7670. return m_Z_OK
  7671. }
  7672. beg2 = uint64(0)
  7673. }
  7674. v56 = s + 64
  7675. v55 = *(*Tulg)(unsafe.Pointer(v56))
  7676. *(*Tulg)(unsafe.Pointer(v56))++
  7677. val1 = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment + uintptr(v55))))
  7678. v58 = s + 40
  7679. v57 = *(*Tulg)(unsafe.Pointer(v58))
  7680. *(*Tulg)(unsafe.Pointer(v58))++
  7681. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v57))) = libc.Uint8FromInt32(val1)
  7682. }
  7683. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg2 {
  7684. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr(beg2), uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-beg2))
  7685. }
  7686. }
  7687. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_HCRC_STATE)
  7688. }
  7689. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_HCRC_STATE) {
  7690. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  7691. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending+uint64(2) > (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  7692. _flush_pending(tls, strm)
  7693. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7694. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7695. return m_Z_OK
  7696. }
  7697. }
  7698. v60 = s + 40
  7699. v59 = *(*Tulg)(unsafe.Pointer(v60))
  7700. *(*Tulg)(unsafe.Pointer(v60))++
  7701. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v59))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler & libc.Uint64FromInt32(0xff))
  7702. v62 = s + 40
  7703. v61 = *(*Tulg)(unsafe.Pointer(v62))
  7704. *(*Tulg)(unsafe.Pointer(v62))++
  7705. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v61))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(0xff))
  7706. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  7707. }
  7708. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  7709. /* Compression must start with an empty pending buffer */
  7710. _flush_pending(tls, strm)
  7711. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7712. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7713. return m_Z_OK
  7714. }
  7715. }
  7716. /* Start a new block or continue the current one.
  7717. */
  7718. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != uint32(0) || (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead != uint32(0) || flush != m_Z_NO_FLUSH && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_FINISH_STATE) {
  7719. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == 0 {
  7720. v63 = _deflate_stored(tls, s, flush)
  7721. } else {
  7722. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_HUFFMAN_ONLY) {
  7723. v64 = _deflate_huff(tls, s, flush)
  7724. } else {
  7725. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_RLE) {
  7726. v65 = _deflate_rle(tls, s, flush)
  7727. } else {
  7728. v65 = (*(*func(*libc.TLS, uintptr, int32) Tblock_state)(unsafe.Pointer(&struct{ uintptr }{_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Ffunc1})))(tls, s, flush)
  7729. }
  7730. v64 = v65
  7731. }
  7732. v63 = v64
  7733. }
  7734. bstate = v63
  7735. if bstate == int32(_finish_started) || bstate == int32(_finish_done) {
  7736. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_FINISH_STATE)
  7737. }
  7738. if bstate == int32(_need_more) || bstate == int32(_finish_started) {
  7739. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  7740. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1) /* avoid BUF_ERROR next call, see above */
  7741. }
  7742. return m_Z_OK
  7743. /* If flush != Z_NO_FLUSH && avail_out == 0, the next call
  7744. * of deflate should use the same flush parameter to make sure
  7745. * that the flush is complete. So we don't have to output an
  7746. * empty block here, this will be done at next call. This also
  7747. * ensures that for a very small output buffer, we emit at most
  7748. * one empty block.
  7749. */
  7750. }
  7751. if bstate == int32(_block_done) {
  7752. if flush == int32(m_Z_PARTIAL_FLUSH) {
  7753. x__tr_align(tls, s)
  7754. } else {
  7755. if flush != int32(m_Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */
  7756. x__tr_stored_block(tls, s, libc.UintptrFromInt32(0), uint64(0), 0)
  7757. /* For a full flush, this empty block will be recognized
  7758. * as a special marker by inflate_sync().
  7759. */
  7760. if flush == int32(m_Z_FULL_FLUSH) {
  7761. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  7762. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2)) /* forget history */
  7763. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  7764. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
  7765. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
  7766. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  7767. }
  7768. }
  7769. }
  7770. }
  7771. _flush_pending(tls, strm)
  7772. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  7773. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1) /* avoid BUF_ERROR at next call, see above */
  7774. return m_Z_OK
  7775. }
  7776. }
  7777. }
  7778. if flush != int32(m_Z_FINISH) {
  7779. return m_Z_OK
  7780. }
  7781. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap <= 0 {
  7782. return int32(m_Z_STREAM_END)
  7783. }
  7784. /* Write the trailer */
  7785. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
  7786. v67 = s + 40
  7787. v66 = *(*Tulg)(unsafe.Pointer(v67))
  7788. *(*Tulg)(unsafe.Pointer(v67))++
  7789. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v66))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler & libc.Uint64FromInt32(0xff))
  7790. v69 = s + 40
  7791. v68 = *(*Tulg)(unsafe.Pointer(v69))
  7792. *(*Tulg)(unsafe.Pointer(v69))++
  7793. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v68))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(0xff))
  7794. v71 = s + 40
  7795. v70 = *(*Tulg)(unsafe.Pointer(v71))
  7796. *(*Tulg)(unsafe.Pointer(v71))++
  7797. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v70))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler >> libc.Int32FromInt32(16) & libc.Uint64FromInt32(0xff))
  7798. v73 = s + 40
  7799. v72 = *(*Tulg)(unsafe.Pointer(v73))
  7800. *(*Tulg)(unsafe.Pointer(v73))++
  7801. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v72))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler >> libc.Int32FromInt32(24) & libc.Uint64FromInt32(0xff))
  7802. v75 = s + 40
  7803. v74 = *(*Tulg)(unsafe.Pointer(v75))
  7804. *(*Tulg)(unsafe.Pointer(v75))++
  7805. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v74))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in & libc.Uint64FromInt32(0xff))
  7806. v77 = s + 40
  7807. v76 = *(*Tulg)(unsafe.Pointer(v77))
  7808. *(*Tulg)(unsafe.Pointer(v77))++
  7809. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v76))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(0xff))
  7810. v79 = s + 40
  7811. v78 = *(*Tulg)(unsafe.Pointer(v79))
  7812. *(*Tulg)(unsafe.Pointer(v79))++
  7813. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v78))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in >> libc.Int32FromInt32(16) & libc.Uint64FromInt32(0xff))
  7814. v81 = s + 40
  7815. v80 = *(*Tulg)(unsafe.Pointer(v81))
  7816. *(*Tulg)(unsafe.Pointer(v81))++
  7817. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v80))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in >> libc.Int32FromInt32(24) & libc.Uint64FromInt32(0xff))
  7818. } else {
  7819. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler>>libc.Int32FromInt32(16)))
  7820. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler&libc.Uint64FromInt32(0xffff)))
  7821. }
  7822. _flush_pending(tls, strm)
  7823. /* If avail_out is zero, the application will call deflate again
  7824. * to flush the rest.
  7825. */
  7826. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap > 0 {
  7827. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = -(*Tdeflate_state)(unsafe.Pointer(s)).Fwrap
  7828. } /* write the trailer only once! */
  7829. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7830. v82 = m_Z_OK
  7831. } else {
  7832. v82 = int32(m_Z_STREAM_END)
  7833. }
  7834. return v82
  7835. }
  7836. // C documentation
  7837. //
  7838. // /* ========================================================================= */
  7839. func XdeflateEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
  7840. var status, v1 int32
  7841. _, _ = status, v1
  7842. if _deflateStateCheck(tls, strm) != 0 {
  7843. return -int32(2)
  7844. }
  7845. status = (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fstatus
  7846. /* Deallocate in reverse order of allocations: */
  7847. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fpending_buf != 0 {
  7848. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fpending_buf)
  7849. }
  7850. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fhead != 0 {
  7851. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fhead)
  7852. }
  7853. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fprev != 0 {
  7854. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fprev)
  7855. }
  7856. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwindow != 0 {
  7857. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwindow)
  7858. }
  7859. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tz_stream)(unsafe.Pointer(strm)).Fstate)
  7860. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  7861. if status == int32(m_BUSY_STATE) {
  7862. v1 = -int32(3)
  7863. } else {
  7864. v1 = m_Z_OK
  7865. }
  7866. return v1
  7867. }
  7868. // C documentation
  7869. //
  7870. // /* =========================================================================
  7871. // * Copy the source state to the destination state.
  7872. // * To simplify the source, this is not supported for 16-bit MSDOS (which
  7873. // * doesn't have enough memory anyway to duplicate compression states).
  7874. // */
  7875. func XdeflateCopy(tls *libc.TLS, dest Tz_streamp, source Tz_streamp) (r int32) {
  7876. var ds, ss uintptr
  7877. _, _ = ds, ss
  7878. if _deflateStateCheck(tls, source) != 0 || dest == uintptr(m_Z_NULL) {
  7879. return -int32(2)
  7880. }
  7881. ss = (*Tz_stream)(unsafe.Pointer(source)).Fstate
  7882. libc.Xmemcpy(tls, dest, source, uint64(112))
  7883. ds = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(dest)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(dest)).Fopaque, libc.Uint32FromInt32(libc.Int32FromInt32(1)), uint32(libc.Uint64FromInt64(5952)))
  7884. if ds == uintptr(m_Z_NULL) {
  7885. return -int32(4)
  7886. }
  7887. (*Tz_stream)(unsafe.Pointer(dest)).Fstate = ds
  7888. libc.Xmemcpy(tls, ds, ss, uint64(5952))
  7889. (*Tdeflate_state)(unsafe.Pointer(ds)).Fstrm = dest
  7890. (*Tdeflate_state)(unsafe.Pointer(ds)).Fwindow = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(dest)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(dest)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(ds)).Fw_size, uint32(libc.Uint64FromInt32(2)*libc.Uint64FromInt64(1)))
  7891. (*Tdeflate_state)(unsafe.Pointer(ds)).Fprev = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(dest)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(dest)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(ds)).Fw_size, uint32(libc.Uint64FromInt64(2)))
  7892. (*Tdeflate_state)(unsafe.Pointer(ds)).Fhead = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(dest)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(dest)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(ds)).Fhash_size, uint32(libc.Uint64FromInt64(2)))
  7893. (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(dest)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(dest)).Fopaque, (*Tdeflate_state)(unsafe.Pointer(ds)).Flit_bufsize, libc.Uint32FromInt32(libc.Int32FromInt32(m_LIT_BUFS)))
  7894. if (*Tdeflate_state)(unsafe.Pointer(ds)).Fwindow == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(ds)).Fprev == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(ds)).Fhead == uintptr(m_Z_NULL) || (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf == uintptr(m_Z_NULL) {
  7895. XdeflateEnd(tls, dest)
  7896. return -int32(4)
  7897. }
  7898. /* following zmemcpy do not work for 16-bit MSDOS */
  7899. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(ss)).Fwindow, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Fw_size*uint32(2))*uint64(1))
  7900. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fprev, (*Tdeflate_state)(unsafe.Pointer(ss)).Fprev, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Fw_size)*uint64(2))
  7901. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fhead, (*Tdeflate_state)(unsafe.Pointer(ss)).Fhead, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Fhash_size)*uint64(2))
  7902. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf, (*Tdeflate_state)(unsafe.Pointer(ss)).Fpending_buf, uint64((*Tdeflate_state)(unsafe.Pointer(ds)).Flit_bufsize*uint32(m_LIT_BUFS)))
  7903. (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_out = (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf + uintptr(int64((*Tdeflate_state)(unsafe.Pointer(ss)).Fpending_out)-int64((*Tdeflate_state)(unsafe.Pointer(ss)).Fpending_buf))
  7904. (*Tdeflate_state)(unsafe.Pointer(ds)).Fsym_buf = (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(ds)).Flit_bufsize)
  7905. (*Tdeflate_state)(unsafe.Pointer(ds)).Fl_desc.Fdyn_tree = ds + 212
  7906. (*Tdeflate_state)(unsafe.Pointer(ds)).Fd_desc.Fdyn_tree = ds + 2504
  7907. (*Tdeflate_state)(unsafe.Pointer(ds)).Fbl_desc.Fdyn_tree = ds + 2748
  7908. return m_Z_OK
  7909. }
  7910. // C documentation
  7911. //
  7912. // /* ===========================================================================
  7913. // * Set match_start to the longest match starting at the given string and
  7914. // * return its length. Matches shorter or equal to prev_length are discarded,
  7915. // * in which case the result is equal to prev_length and match_start is
  7916. // * garbage.
  7917. // * IN assertions: cur_match is the head of the hash chain for the current
  7918. // * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
  7919. // * OUT assertion: the match length is not greater than s->lookahead.
  7920. // */
  7921. func _longest_match(tls *libc.TLS, s uintptr, cur_match TIPos) (r TuInt) {
  7922. var best_len, len1, nice_match int32
  7923. var chain_length, v1, v3 uint32
  7924. var limit, v2 TIPos
  7925. var match, prev, scan, strend, v10, v11, v13, v14, v16, v17, v19, v20, v22, v23, v25, v26, v28, v29, v6, v8, v9 uintptr
  7926. var scan_end, scan_end1 TByte
  7927. var wmask TuInt
  7928. var v12, v15, v18, v21, v24, v27, v30, v4, v7 bool
  7929. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = best_len, chain_length, len1, limit, match, nice_match, prev, scan, scan_end, scan_end1, strend, wmask, v1, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v3, v30, v4, v6, v7, v8, v9
  7930. chain_length = (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length /* max hash chain length */
  7931. scan = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) /* length of current match */
  7932. best_len = libc.Int32FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length) /* best match length so far */
  7933. nice_match = (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match
  7934. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  7935. v1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - ((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)))
  7936. } else {
  7937. v1 = uint32(m_NIL)
  7938. } /* stop if match long enough */
  7939. limit = v1
  7940. /* Stop when cur_match becomes <= limit. To simplify the code,
  7941. * we prevent matches with the string of window index 0.
  7942. */
  7943. prev = (*Tdeflate_state)(unsafe.Pointer(s)).Fprev
  7944. wmask = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask
  7945. strend = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uintptr(m_MAX_MATCH)
  7946. scan_end1 = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len-int32(1))))
  7947. scan_end = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len)))
  7948. /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
  7949. * It is easy to get rid of this optimization if necessary.
  7950. */
  7951. /* Do not waste too much time if we already have a good match: */
  7952. if (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length >= (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match {
  7953. chain_length >>= uint32(2)
  7954. }
  7955. /* Do not look for matches beyond the end of the input. This is necessary
  7956. * to make deflate deterministic.
  7957. */
  7958. if libc.Uint32FromInt32(nice_match) > (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
  7959. nice_match = libc.Int32FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead)
  7960. }
  7961. for {
  7962. match = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(cur_match)
  7963. /* Skip to next match if the match length cannot increase
  7964. * or if the match length is less than 2. Note that the checks below
  7965. * for insufficient lookahead only occur occasionally for performance
  7966. * reasons. Therefore uninitialized memory will be accessed, and
  7967. * conditional jumps will be made that depend on those values.
  7968. * However the length of the match is limited to the lookahead, so
  7969. * the output of deflate is not affected by the uninitialized values.
  7970. */
  7971. if v7 = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(match + uintptr(best_len)))) != libc.Int32FromUint8(scan_end) || libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(match + uintptr(best_len-int32(1))))) != libc.Int32FromUint8(scan_end1) || libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(match))) != libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(scan))); !v7 {
  7972. match++
  7973. v6 = match
  7974. }
  7975. if v7 || libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v6))) != libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(scan + 1))) {
  7976. goto _5
  7977. }
  7978. /* The check at best_len - 1 can be removed because it will be made
  7979. * again later. (This heuristic is not always a win.)
  7980. * It is not necessary to compare scan[2] and match[2] since they
  7981. * are always equal when the other bytes match, given that
  7982. * the hash keys are equal and that HASH_BITS >= 8.
  7983. */
  7984. scan += uintptr(2)
  7985. /* The check at best_len - 1 can be removed because it will be made
  7986. * again later. (This heuristic is not always a win.)
  7987. * It is not necessary to compare scan[2] and match[2] since they
  7988. * are always equal when the other bytes match, given that
  7989. * the hash keys are equal and that HASH_BITS >= 8.
  7990. */
  7991. match++
  7992. /* We check for insufficient lookahead only every 8th comparison;
  7993. * the 256th check will be made at strstart + 258.
  7994. */
  7995. for {
  7996. goto _31
  7997. _31:
  7998. ;
  7999. scan++
  8000. v8 = scan
  8001. match++
  8002. v9 = match
  8003. if v12 = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v8))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v9))); v12 {
  8004. scan++
  8005. v10 = scan
  8006. match++
  8007. v11 = match
  8008. }
  8009. if v15 = v12 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v10))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v11))); v15 {
  8010. scan++
  8011. v13 = scan
  8012. match++
  8013. v14 = match
  8014. }
  8015. if v18 = v15 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v13))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v14))); v18 {
  8016. scan++
  8017. v16 = scan
  8018. match++
  8019. v17 = match
  8020. }
  8021. if v21 = v18 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v16))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v17))); v21 {
  8022. scan++
  8023. v19 = scan
  8024. match++
  8025. v20 = match
  8026. }
  8027. if v24 = v21 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v19))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v20))); v24 {
  8028. scan++
  8029. v22 = scan
  8030. match++
  8031. v23 = match
  8032. }
  8033. if v27 = v24 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v22))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v23))); v27 {
  8034. scan++
  8035. v25 = scan
  8036. match++
  8037. v26 = match
  8038. }
  8039. if v30 = v27 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v25))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v26))); v30 {
  8040. scan++
  8041. v28 = scan
  8042. match++
  8043. v29 = match
  8044. }
  8045. if !(v30 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v28))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v29))) && scan < strend) {
  8046. break
  8047. }
  8048. }
  8049. len1 = int32(m_MAX_MATCH) - int32(int64(strend)-int64(scan))
  8050. scan = strend - uintptr(m_MAX_MATCH)
  8051. if len1 > best_len {
  8052. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start = cur_match
  8053. best_len = len1
  8054. if len1 >= nice_match {
  8055. break
  8056. }
  8057. scan_end1 = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len-int32(1))))
  8058. scan_end = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len)))
  8059. }
  8060. goto _5
  8061. _5:
  8062. ;
  8063. v2 = uint32(*(*TPosf)(unsafe.Pointer(prev + uintptr(cur_match&wmask)*2)))
  8064. cur_match = v2
  8065. if v4 = v2 > limit; v4 {
  8066. chain_length--
  8067. v3 = chain_length
  8068. }
  8069. if !(v4 && v3 != uint32(0)) {
  8070. break
  8071. }
  8072. }
  8073. if libc.Uint32FromInt32(best_len) <= (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
  8074. return libc.Uint32FromInt32(best_len)
  8075. }
  8076. return (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  8077. }
  8078. /* ===========================================================================
  8079. * Flush the current block, with given end-of-file flag.
  8080. * IN assertion: strstart is set to the end of the current match.
  8081. */
  8082. /* Same but force premature exit if necessary. */
  8083. /* Maximum stored block length in deflate format (not including header). */
  8084. /* Minimum of a and b. */
  8085. // C documentation
  8086. //
  8087. // /* ===========================================================================
  8088. // * Copy without compression as much as possible from the input stream, return
  8089. // * the current block state.
  8090. // *
  8091. // * In case deflateParams() is used to later switch to a non-zero compression
  8092. // * level, s->matches (otherwise unused when storing) keeps track of the number
  8093. // * of hash table slides to perform. If s->matches is 1, then one hash table
  8094. // * slide will be done when switching. If s->matches is 2, the maximum value
  8095. // * allowed here, then the hash table will be cleared, since two or more slides
  8096. // * is the same as a clear.
  8097. // *
  8098. // * deflate_stored() is written to minimize the number of times an input byte is
  8099. // * copied. It is most efficient with large input and output buffers, which
  8100. // * maximizes the opportunities to have a single copy from next_in to next_out.
  8101. // */
  8102. func _deflate_stored(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  8103. var have, last, left, len1, min_block, used, v3, v4, v6, v7 uint32
  8104. var v1, v5 uint64
  8105. var v2, v8, v9 int32
  8106. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = have, last, left, len1, min_block, used, v1, v2, v3, v4, v5, v6, v7, v8, v9
  8107. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size-uint64(5) > uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size) {
  8108. v1 = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
  8109. } else {
  8110. v1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - uint64(5)
  8111. }
  8112. /* Smallest worthy block size when not flushing or finishing. By default
  8113. * this is 32K. This can be as small as 507 bytes for memLevel == 1. For
  8114. * large input and output buffers, the stored block size will be larger.
  8115. */
  8116. min_block = uint32(v1)
  8117. last = uint32(0)
  8118. used = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
  8119. for cond := true; cond; cond = last == uint32(0) {
  8120. /* Set len to the maximum size block that we can copy directly with the
  8121. * available input data and output space. Set left to how much of that
  8122. * would be copied from what's left in the window.
  8123. */
  8124. len1 = uint32(m_MAX_STORED) /* maximum deflate stored block length */
  8125. have = libc.Uint32FromInt32(((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid + int32(42)) >> int32(3)) /* number of header bytes */
  8126. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out < have { /* need room for header */
  8127. break
  8128. }
  8129. /* maximum stored block length that will fit in avail_out: */
  8130. have = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out - have
  8131. left = libc.Uint32FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start) /* bytes left in window */
  8132. if uint64(len1) > uint64(left)+uint64((*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in) {
  8133. len1 = left + (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
  8134. } /* limit len to the input */
  8135. if len1 > have {
  8136. len1 = have
  8137. } /* limit len to the output */
  8138. /* If the stored block would be less than min_block in length, or if
  8139. * unable to copy all of the available input when flushing, then try
  8140. * copying to the window and the pending buffer instead. Also don't
  8141. * write an empty block when flushing -- deflate() does that.
  8142. */
  8143. if len1 < min_block && (len1 == uint32(0) && flush != int32(m_Z_FINISH) || flush == m_Z_NO_FLUSH || len1 != left+(*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in) {
  8144. break
  8145. }
  8146. /* Make a dummy stored block in pending to get the header bytes,
  8147. * including any pending bits. This also updates the debugging counts.
  8148. */
  8149. if flush == int32(m_Z_FINISH) && len1 == left+(*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in {
  8150. v2 = int32(1)
  8151. } else {
  8152. v2 = 0
  8153. }
  8154. last = libc.Uint32FromInt32(v2)
  8155. x__tr_stored_block(tls, s, libc.UintptrFromInt32(0), uint64(0), libc.Int32FromUint32(last))
  8156. /* Replace the lengths in the dummy stored block with len. */
  8157. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(4)))) = uint8(len1)
  8158. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(3)))) = uint8(len1 >> int32(8))
  8159. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(2)))) = uint8(^len1)
  8160. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(1)))) = uint8(^len1 >> int32(8))
  8161. /* Write the stored block header bytes. */
  8162. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8163. /* Copy uncompressed bytes from the window to next_out. */
  8164. if left != 0 {
  8165. if left > len1 {
  8166. left = len1
  8167. }
  8168. libc.Xmemcpy(tls, (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_out, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), uint64(left))
  8169. *(*uintptr)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 24)) += uintptr(left)
  8170. *(*TuInt)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 32)) -= left
  8171. *(*TuLong)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 40)) += uint64(left)
  8172. *(*int64)(unsafe.Pointer(s + 152)) += libc.Int64FromUint32(left)
  8173. len1 -= left
  8174. }
  8175. /* Copy uncompressed bytes directly from next_in to next_out, updating
  8176. * the check value.
  8177. */
  8178. if len1 != 0 {
  8179. _read_buf(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm, (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_out, len1)
  8180. *(*uintptr)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 24)) += uintptr(len1)
  8181. *(*TuInt)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 32)) -= len1
  8182. *(*TuLong)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 40)) += uint64(len1)
  8183. }
  8184. }
  8185. /* Update the sliding window with the last s->w_size bytes of the copied
  8186. * data, or append all of the copied data to the existing window if less
  8187. * than s->w_size bytes were copied. Also update the number of bytes to
  8188. * insert in the hash tables, in the event that deflateParams() switches to
  8189. * a non-zero compression level.
  8190. */
  8191. used -= (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in /* number of input bytes directly copied */
  8192. if used != 0 {
  8193. /* If any input was used, then no unused input remains in the window,
  8194. * therefore s->block_start == s->strstart.
  8195. */
  8196. if used >= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size { /* supplant the previous history */
  8197. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = uint32(2) /* clear hash */
  8198. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_in-uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size))
  8199. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8200. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8201. } else {
  8202. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size-uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) <= uint64(used) {
  8203. /* Slide the window down. */
  8204. *(*TuInt)(unsafe.Pointer(s + 172)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8205. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
  8206. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches < uint32(2) {
  8207. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
  8208. } /* add a pending slide_hash() */
  8209. if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
  8210. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8211. }
  8212. }
  8213. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart), (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_in-uintptr(used), uint64(used))
  8214. *(*TuInt)(unsafe.Pointer(s + 172)) += used
  8215. if used > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-(*Tdeflate_state)(unsafe.Pointer(s)).Finsert {
  8216. v3 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
  8217. } else {
  8218. v3 = used
  8219. }
  8220. *(*TuInt)(unsafe.Pointer(s + 5932)) += v3
  8221. }
  8222. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8223. }
  8224. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) {
  8225. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8226. }
  8227. /* If the last block was written to next_out, then done. */
  8228. if last != 0 {
  8229. return int32(_finish_done)
  8230. }
  8231. /* If flushing and all input has been consumed, then done. */
  8232. if flush != m_Z_NO_FLUSH && flush != int32(m_Z_FINISH) && (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) && libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) == (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start {
  8233. return int32(_block_done)
  8234. }
  8235. /* Fill the window with any remaining input. */
  8236. have = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
  8237. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in > have && (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size) {
  8238. /* Slide the window down. */
  8239. *(*int64)(unsafe.Pointer(s + 152)) -= libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
  8240. *(*TuInt)(unsafe.Pointer(s + 172)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8241. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size), uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
  8242. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches < uint32(2) {
  8243. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
  8244. } /* add a pending slide_hash() */
  8245. have += (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size /* more space now */
  8246. if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
  8247. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8248. }
  8249. }
  8250. if have > (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in {
  8251. have = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
  8252. }
  8253. if have != 0 {
  8254. _read_buf(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart), have)
  8255. *(*TuInt)(unsafe.Pointer(s + 172)) += have
  8256. if have > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-(*Tdeflate_state)(unsafe.Pointer(s)).Finsert {
  8257. v4 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
  8258. } else {
  8259. v4 = have
  8260. }
  8261. *(*TuInt)(unsafe.Pointer(s + 5932)) += v4
  8262. }
  8263. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) {
  8264. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8265. }
  8266. /* There was not enough avail_out to write a complete worthy or flushed
  8267. * stored block to next_out. Write a stored block to pending instead, if we
  8268. * have enough input for a worthy block, or if flushing and there is enough
  8269. * room for the remaining input as a stored block in the pending buffer.
  8270. */
  8271. have = libc.Uint32FromInt32(((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid + int32(42)) >> int32(3)) /* number of header bytes */
  8272. /* maximum stored block length that will fit in pending: */
  8273. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size-uint64(have) > libc.Uint64FromInt32(libc.Int32FromInt32(m_MAX_STORED)) {
  8274. v5 = libc.Uint64FromInt32(libc.Int32FromInt32(m_MAX_STORED))
  8275. } else {
  8276. v5 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - uint64(have)
  8277. }
  8278. have = uint32(v5)
  8279. if have > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
  8280. v6 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8281. } else {
  8282. v6 = have
  8283. }
  8284. min_block = v6
  8285. left = libc.Uint32FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start)
  8286. if left >= min_block || (left != 0 || flush == int32(m_Z_FINISH)) && flush != m_Z_NO_FLUSH && (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) && left <= have {
  8287. if left > have {
  8288. v7 = have
  8289. } else {
  8290. v7 = left
  8291. }
  8292. len1 = v7
  8293. if flush == int32(m_Z_FINISH) && (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) && len1 == left {
  8294. v8 = int32(1)
  8295. } else {
  8296. v8 = 0
  8297. }
  8298. last = libc.Uint32FromInt32(v8)
  8299. x__tr_stored_block(tls, s, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), uint64(len1), libc.Int32FromUint32(last))
  8300. *(*int64)(unsafe.Pointer(s + 152)) += libc.Int64FromUint32(len1)
  8301. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8302. }
  8303. /* We've done all we can with the available input and output. */
  8304. if last != 0 {
  8305. v9 = int32(_finish_started)
  8306. } else {
  8307. v9 = int32(_need_more)
  8308. }
  8309. return v9
  8310. }
  8311. // C documentation
  8312. //
  8313. // /* ===========================================================================
  8314. // * Compress as much as possible from the input stream, return the current
  8315. // * block state.
  8316. // * This function does not perform lazy evaluation of matches and inserts
  8317. // * new strings in the dictionary only for unmatched strings or for short
  8318. // * matches. It is used only for the fast compression options.
  8319. // */
  8320. func _deflate_fast(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  8321. var bflush, v9 int32
  8322. var cc, len1 Tuch
  8323. var dist Tush
  8324. var hash_head TIPos
  8325. var v10, v14, v16, v18, v3, v5, v7 TuInt
  8326. var v11, v15, v17, v19, v20, v22, v23, v4, v6, v8 uintptr
  8327. var v13, v2 TPosf
  8328. var v21 uint32
  8329. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bflush, cc, dist, hash_head, len1, v10, v11, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v3, v4, v5, v6, v7, v8, v9 /* set if current block must be flushed */
  8330. for {
  8331. /* Make sure that we always have enough lookahead, except
  8332. * at the end of the input file. We need MAX_MATCH bytes
  8333. * for the next match, plus MIN_MATCH bytes to insert the
  8334. * string following the next match.
  8335. */
  8336. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  8337. _fill_window(tls, s)
  8338. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) && flush == m_Z_NO_FLUSH {
  8339. return int32(_need_more)
  8340. }
  8341. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  8342. break
  8343. } /* flush the current block */
  8344. }
  8345. /* Insert the string window[strstart .. strstart + 2] in the
  8346. * dictionary, and set hash_head to the head of the hash chain:
  8347. */
  8348. hash_head = uint32(m_NIL)
  8349. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  8350. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart+libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  8351. v2 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  8352. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = v2
  8353. hash_head = uint32(v2)
  8354. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8355. }
  8356. /* Find the longest match, discarding those <= prev_length.
  8357. * At this point we have always match_length < MIN_MATCH
  8358. */
  8359. if hash_head != uint32(m_NIL) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-hash_head <= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  8360. /* To simplify the code, we prevent matches with the string
  8361. * of window index 0 (in particular we have to avoid a match
  8362. * of the string with itself at the start of the input file).
  8363. */
  8364. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = _longest_match(tls, s, hash_head)
  8365. /* longest_match() sets match_start */
  8366. }
  8367. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length >= uint32(m_MIN_MATCH) {
  8368. len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length - libc.Uint32FromInt32(m_MIN_MATCH))
  8369. dist = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start)
  8370. v4 = s + 5900
  8371. v3 = *(*TuInt)(unsafe.Pointer(v4))
  8372. *(*TuInt)(unsafe.Pointer(v4))++
  8373. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist)
  8374. v6 = s + 5900
  8375. v5 = *(*TuInt)(unsafe.Pointer(v6))
  8376. *(*TuInt)(unsafe.Pointer(v6))++
  8377. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
  8378. v8 = s + 5900
  8379. v7 = *(*TuInt)(unsafe.Pointer(v8))
  8380. *(*TuInt)(unsafe.Pointer(v8))++
  8381. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v7))) = len1
  8382. dist--
  8383. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
  8384. if libc.Int32FromUint16(dist) < int32(256) {
  8385. v9 = libc.Int32FromUint8(x__dist_code[dist])
  8386. } else {
  8387. v9 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
  8388. }
  8389. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v9)*4))++
  8390. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8391. *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  8392. /* Insert new strings in the hash table only if the match length
  8393. * is not too large. This saves time but degrades compression.
  8394. */
  8395. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length <= (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match && (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  8396. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length-- /* string at strstart already in table */
  8397. for {
  8398. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8399. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart+libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  8400. v13 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  8401. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = v13
  8402. hash_head = uint32(v13)
  8403. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8404. /* strstart never exceeds WSIZE-MAX_MATCH, so there are
  8405. * always MIN_MATCH bytes ahead.
  8406. */
  8407. goto _12
  8408. _12:
  8409. ;
  8410. v11 = s + 160
  8411. *(*TuInt)(unsafe.Pointer(v11))--
  8412. v10 = *(*TuInt)(unsafe.Pointer(v11))
  8413. if !(v10 != uint32(0)) {
  8414. break
  8415. }
  8416. }
  8417. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8418. } else {
  8419. *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  8420. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  8421. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))))
  8422. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart+uint32(1)))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  8423. /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
  8424. * matter since it will be recomputed at next deflate call.
  8425. */
  8426. }
  8427. } else {
  8428. /* No match, output a literal byte */
  8429. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
  8430. v15 = s + 5900
  8431. v14 = *(*TuInt)(unsafe.Pointer(v15))
  8432. *(*TuInt)(unsafe.Pointer(v15))++
  8433. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v14))) = uint8(0)
  8434. v17 = s + 5900
  8435. v16 = *(*TuInt)(unsafe.Pointer(v17))
  8436. *(*TuInt)(unsafe.Pointer(v17))++
  8437. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v16))) = uint8(0)
  8438. v19 = s + 5900
  8439. v18 = *(*TuInt)(unsafe.Pointer(v19))
  8440. *(*TuInt)(unsafe.Pointer(v19))++
  8441. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v18))) = cc
  8442. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  8443. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8444. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  8445. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8446. }
  8447. if bflush != 0 {
  8448. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8449. v20 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8450. } else {
  8451. v20 = libc.UintptrFromInt32(m_Z_NULL)
  8452. }
  8453. x__tr_flush_block(tls, s, v20, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8454. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8455. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8456. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8457. return int32(_need_more)
  8458. }
  8459. }
  8460. goto _1
  8461. _1:
  8462. }
  8463. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart < libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1)) {
  8464. v21 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8465. } else {
  8466. v21 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8467. }
  8468. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = v21
  8469. if flush == int32(m_Z_FINISH) {
  8470. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8471. v22 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8472. } else {
  8473. v22 = libc.UintptrFromInt32(m_Z_NULL)
  8474. }
  8475. x__tr_flush_block(tls, s, v22, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), int32(1))
  8476. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8477. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8478. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8479. return int32(_finish_started)
  8480. }
  8481. return int32(_finish_done)
  8482. }
  8483. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  8484. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8485. v23 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8486. } else {
  8487. v23 = libc.UintptrFromInt32(m_Z_NULL)
  8488. }
  8489. x__tr_flush_block(tls, s, v23, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8490. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8491. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8492. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8493. return int32(_need_more)
  8494. }
  8495. }
  8496. return int32(_block_done)
  8497. }
  8498. // C documentation
  8499. //
  8500. // /* ===========================================================================
  8501. // * Same as above, but achieves better compression. We use a lazy
  8502. // * evaluation for matches: a match is finally adopted only if there is
  8503. // * no better match at the next window position.
  8504. // */
  8505. func _deflate_slow(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  8506. var bflush, v9 int32
  8507. var cc, cc1, len1 Tuch
  8508. var dist Tush
  8509. var hash_head TIPos
  8510. var max_insert, v10, v13, v17, v19, v21, v24, v26, v28, v3, v5, v7 TuInt
  8511. var v11, v14, v16, v18, v20, v22, v23, v25, v27, v29, v31, v32, v4, v6, v8 uintptr
  8512. var v15, v2 TPosf
  8513. var v30 uint32
  8514. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bflush, cc, cc1, dist, hash_head, len1, max_insert, v10, v11, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v3, v30, v31, v32, v4, v5, v6, v7, v8, v9 /* set if current block must be flushed */
  8515. /* Process the input block. */
  8516. for {
  8517. /* Make sure that we always have enough lookahead, except
  8518. * at the end of the input file. We need MAX_MATCH bytes
  8519. * for the next match, plus MIN_MATCH bytes to insert the
  8520. * string following the next match.
  8521. */
  8522. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  8523. _fill_window(tls, s)
  8524. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) && flush == m_Z_NO_FLUSH {
  8525. return int32(_need_more)
  8526. }
  8527. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  8528. break
  8529. } /* flush the current block */
  8530. }
  8531. /* Insert the string window[strstart .. strstart + 2] in the
  8532. * dictionary, and set hash_head to the head of the hash chain:
  8533. */
  8534. hash_head = uint32(m_NIL)
  8535. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  8536. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart+libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  8537. v2 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  8538. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = v2
  8539. hash_head = uint32(v2)
  8540. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8541. }
  8542. /* Find the longest match, discarding those <= prev_length.
  8543. */
  8544. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  8545. /* Find the longest match, discarding those <= prev_length.
  8546. */
  8547. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_match = (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start
  8548. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8549. if hash_head != uint32(m_NIL) && (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length < (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-hash_head <= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  8550. /* To simplify the code, we prevent matches with the string
  8551. * of window index 0 (in particular we have to avoid a match
  8552. * of the string with itself at the start of the input file).
  8553. */
  8554. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = _longest_match(tls, s, hash_head)
  8555. /* longest_match() sets match_start */
  8556. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length <= uint32(5) && ((*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_FILTERED) || (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length == uint32(m_MIN_MATCH) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-(*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start > uint32(m_TOO_FAR)) {
  8557. /* If prev_match is also MIN_MATCH, match_start is garbage
  8558. * but we will ignore the current match anyway.
  8559. */
  8560. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8561. }
  8562. }
  8563. /* If there was a match at the previous step and the current
  8564. * match is not better, output the previous match:
  8565. */
  8566. if (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length >= uint32(m_MIN_MATCH) && (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length <= (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length {
  8567. max_insert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart + (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead - uint32(m_MIN_MATCH)
  8568. /* Do not insert strings in hash table beyond this. */
  8569. len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length - libc.Uint32FromInt32(m_MIN_MATCH))
  8570. dist = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - libc.Uint32FromInt32(1) - (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_match)
  8571. v4 = s + 5900
  8572. v3 = *(*TuInt)(unsafe.Pointer(v4))
  8573. *(*TuInt)(unsafe.Pointer(v4))++
  8574. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist)
  8575. v6 = s + 5900
  8576. v5 = *(*TuInt)(unsafe.Pointer(v6))
  8577. *(*TuInt)(unsafe.Pointer(v6))++
  8578. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
  8579. v8 = s + 5900
  8580. v7 = *(*TuInt)(unsafe.Pointer(v8))
  8581. *(*TuInt)(unsafe.Pointer(v8))++
  8582. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v7))) = len1
  8583. dist--
  8584. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
  8585. if libc.Int32FromUint16(dist) < int32(256) {
  8586. v9 = libc.Int32FromUint8(x__dist_code[dist])
  8587. } else {
  8588. v9 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
  8589. }
  8590. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v9)*4))++
  8591. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8592. /* Insert in hash table all strings up to the end of the match.
  8593. * strstart - 1 and strstart are already inserted. If there is not
  8594. * enough lookahead, the last two strings are not inserted in
  8595. * the hash table.
  8596. */
  8597. *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length - uint32(1)
  8598. *(*TuInt)(unsafe.Pointer(s + 184)) -= uint32(2)
  8599. for {
  8600. v14 = s + 172
  8601. *(*TuInt)(unsafe.Pointer(v14))++
  8602. v13 = *(*TuInt)(unsafe.Pointer(v14))
  8603. if v13 <= max_insert {
  8604. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = ((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h<<(*Tdeflate_state)(unsafe.Pointer(s)).Fhash_shift ^ uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart+libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))))))) & (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask
  8605. v15 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  8606. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart&(*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask)*2)) = v15
  8607. hash_head = uint32(v15)
  8608. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8609. }
  8610. goto _12
  8611. _12:
  8612. ;
  8613. v11 = s + 184
  8614. *(*TuInt)(unsafe.Pointer(v11))--
  8615. v10 = *(*TuInt)(unsafe.Pointer(v11))
  8616. if !(v10 != uint32(0)) {
  8617. break
  8618. }
  8619. }
  8620. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  8621. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8622. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8623. if bflush != 0 {
  8624. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8625. v16 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8626. } else {
  8627. v16 = libc.UintptrFromInt32(m_Z_NULL)
  8628. }
  8629. x__tr_flush_block(tls, s, v16, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8630. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8631. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8632. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8633. return int32(_need_more)
  8634. }
  8635. }
  8636. } else {
  8637. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available != 0 {
  8638. /* If there was no match at the previous position, output a
  8639. * single literal. If there was a match but the current match
  8640. * is longer, truncate the previous match to a single literal.
  8641. */
  8642. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-uint32(1))))
  8643. v18 = s + 5900
  8644. v17 = *(*TuInt)(unsafe.Pointer(v18))
  8645. *(*TuInt)(unsafe.Pointer(v18))++
  8646. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v17))) = uint8(0)
  8647. v20 = s + 5900
  8648. v19 = *(*TuInt)(unsafe.Pointer(v20))
  8649. *(*TuInt)(unsafe.Pointer(v20))++
  8650. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v19))) = uint8(0)
  8651. v22 = s + 5900
  8652. v21 = *(*TuInt)(unsafe.Pointer(v22))
  8653. *(*TuInt)(unsafe.Pointer(v22))++
  8654. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v21))) = cc
  8655. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  8656. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8657. if bflush != 0 {
  8658. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8659. v23 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8660. } else {
  8661. v23 = libc.UintptrFromInt32(m_Z_NULL)
  8662. }
  8663. x__tr_flush_block(tls, s, v23, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8664. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8665. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8666. }
  8667. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8668. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  8669. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8670. return int32(_need_more)
  8671. }
  8672. } else {
  8673. /* There is no previous match to compare with, wait for
  8674. * the next step to decide.
  8675. */
  8676. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = int32(1)
  8677. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8678. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  8679. }
  8680. }
  8681. goto _1
  8682. _1:
  8683. }
  8684. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available != 0 {
  8685. cc1 = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-uint32(1))))
  8686. v25 = s + 5900
  8687. v24 = *(*TuInt)(unsafe.Pointer(v25))
  8688. *(*TuInt)(unsafe.Pointer(v25))++
  8689. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v24))) = uint8(0)
  8690. v27 = s + 5900
  8691. v26 = *(*TuInt)(unsafe.Pointer(v27))
  8692. *(*TuInt)(unsafe.Pointer(v27))++
  8693. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v26))) = uint8(0)
  8694. v29 = s + 5900
  8695. v28 = *(*TuInt)(unsafe.Pointer(v29))
  8696. *(*TuInt)(unsafe.Pointer(v29))++
  8697. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v28))) = cc1
  8698. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc1)*4))++
  8699. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8700. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  8701. }
  8702. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart < libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1)) {
  8703. v30 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8704. } else {
  8705. v30 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8706. }
  8707. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = v30
  8708. if flush == int32(m_Z_FINISH) {
  8709. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8710. v31 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8711. } else {
  8712. v31 = libc.UintptrFromInt32(m_Z_NULL)
  8713. }
  8714. x__tr_flush_block(tls, s, v31, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), int32(1))
  8715. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8716. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8717. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8718. return int32(_finish_started)
  8719. }
  8720. return int32(_finish_done)
  8721. }
  8722. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  8723. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8724. v32 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8725. } else {
  8726. v32 = libc.UintptrFromInt32(m_Z_NULL)
  8727. }
  8728. x__tr_flush_block(tls, s, v32, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8729. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8730. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8731. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8732. return int32(_need_more)
  8733. }
  8734. }
  8735. return int32(_block_done)
  8736. }
  8737. // C documentation
  8738. //
  8739. // /* ===========================================================================
  8740. // * For Z_RLE, simply look for runs of bytes, generate matches only of distance
  8741. // * one. Do not maintain a hash table. (It will be regenerated if this run of
  8742. // * deflate switches away from Z_RLE.)
  8743. // */
  8744. func _deflate_rle(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  8745. var bflush, v29 int32
  8746. var cc, len1 Tuch
  8747. var dist Tush
  8748. var prev, v23, v25, v27, v30, v32, v34 TuInt
  8749. var scan, strend, v10, v12, v14, v16, v18, v2, v20, v24, v26, v28, v3, v31, v33, v35, v36, v37, v38, v5, v7, v8 uintptr
  8750. var v11, v13, v15, v17, v19, v21, v4, v6, v9 bool
  8751. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bflush, cc, dist, len1, prev, scan, strend, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v23, v24, v25, v26, v27, v28, v29, v3, v30, v31, v32, v33, v34, v35, v36, v37, v38, v4, v5, v6, v7, v8, v9 /* scan goes up to strend for length of run */
  8752. for {
  8753. /* Make sure that we always have enough lookahead, except
  8754. * at the end of the input file. We need MAX_MATCH bytes
  8755. * for the longest run, plus one for the unrolled loop.
  8756. */
  8757. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead <= uint32(m_MAX_MATCH) {
  8758. _fill_window(tls, s)
  8759. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead <= uint32(m_MAX_MATCH) && flush == m_Z_NO_FLUSH {
  8760. return int32(_need_more)
  8761. }
  8762. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  8763. break
  8764. } /* flush the current block */
  8765. }
  8766. /* See how many times the previous byte repeats */
  8767. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  8768. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart > uint32(0) {
  8769. scan = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - uintptr(1)
  8770. prev = uint32(*(*TBytef)(unsafe.Pointer(scan)))
  8771. scan++
  8772. v2 = scan
  8773. if v4 = prev == uint32(*(*TBytef)(unsafe.Pointer(v2))); v4 {
  8774. scan++
  8775. v3 = scan
  8776. }
  8777. if v6 = v4 && prev == uint32(*(*TBytef)(unsafe.Pointer(v3))); v6 {
  8778. scan++
  8779. v5 = scan
  8780. }
  8781. if v6 && prev == uint32(*(*TBytef)(unsafe.Pointer(v5))) {
  8782. strend = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uintptr(m_MAX_MATCH)
  8783. for {
  8784. goto _22
  8785. _22:
  8786. ;
  8787. scan++
  8788. v7 = scan
  8789. if v9 = prev == uint32(*(*TBytef)(unsafe.Pointer(v7))); v9 {
  8790. scan++
  8791. v8 = scan
  8792. }
  8793. if v11 = v9 && prev == uint32(*(*TBytef)(unsafe.Pointer(v8))); v11 {
  8794. scan++
  8795. v10 = scan
  8796. }
  8797. if v13 = v11 && prev == uint32(*(*TBytef)(unsafe.Pointer(v10))); v13 {
  8798. scan++
  8799. v12 = scan
  8800. }
  8801. if v15 = v13 && prev == uint32(*(*TBytef)(unsafe.Pointer(v12))); v15 {
  8802. scan++
  8803. v14 = scan
  8804. }
  8805. if v17 = v15 && prev == uint32(*(*TBytef)(unsafe.Pointer(v14))); v17 {
  8806. scan++
  8807. v16 = scan
  8808. }
  8809. if v19 = v17 && prev == uint32(*(*TBytef)(unsafe.Pointer(v16))); v19 {
  8810. scan++
  8811. v18 = scan
  8812. }
  8813. if v21 = v19 && prev == uint32(*(*TBytef)(unsafe.Pointer(v18))); v21 {
  8814. scan++
  8815. v20 = scan
  8816. }
  8817. if !(v21 && prev == uint32(*(*TBytef)(unsafe.Pointer(v20))) && scan < strend) {
  8818. break
  8819. }
  8820. }
  8821. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(m_MAX_MATCH) - libc.Uint32FromInt64(int64(strend)-int64(scan))
  8822. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length > (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
  8823. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  8824. }
  8825. }
  8826. }
  8827. /* Emit match if have run of MIN_MATCH or longer, else emit literal */
  8828. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length >= uint32(m_MIN_MATCH) {
  8829. len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length - libc.Uint32FromInt32(m_MIN_MATCH))
  8830. dist = libc.Uint16FromInt32(libc.Int32FromInt32(1))
  8831. v24 = s + 5900
  8832. v23 = *(*TuInt)(unsafe.Pointer(v24))
  8833. *(*TuInt)(unsafe.Pointer(v24))++
  8834. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v23))) = uint8(dist)
  8835. v26 = s + 5900
  8836. v25 = *(*TuInt)(unsafe.Pointer(v26))
  8837. *(*TuInt)(unsafe.Pointer(v26))++
  8838. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v25))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
  8839. v28 = s + 5900
  8840. v27 = *(*TuInt)(unsafe.Pointer(v28))
  8841. *(*TuInt)(unsafe.Pointer(v28))++
  8842. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v27))) = len1
  8843. dist--
  8844. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
  8845. if libc.Int32FromUint16(dist) < int32(256) {
  8846. v29 = libc.Int32FromUint8(x__dist_code[dist])
  8847. } else {
  8848. v29 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
  8849. }
  8850. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v29)*4))++
  8851. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8852. *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  8853. *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  8854. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  8855. } else {
  8856. /* No match, output a literal byte */
  8857. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
  8858. v31 = s + 5900
  8859. v30 = *(*TuInt)(unsafe.Pointer(v31))
  8860. *(*TuInt)(unsafe.Pointer(v31))++
  8861. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v30))) = uint8(0)
  8862. v33 = s + 5900
  8863. v32 = *(*TuInt)(unsafe.Pointer(v33))
  8864. *(*TuInt)(unsafe.Pointer(v33))++
  8865. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v32))) = uint8(0)
  8866. v35 = s + 5900
  8867. v34 = *(*TuInt)(unsafe.Pointer(v35))
  8868. *(*TuInt)(unsafe.Pointer(v35))++
  8869. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v34))) = cc
  8870. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  8871. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8872. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  8873. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8874. }
  8875. if bflush != 0 {
  8876. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8877. v36 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8878. } else {
  8879. v36 = libc.UintptrFromInt32(m_Z_NULL)
  8880. }
  8881. x__tr_flush_block(tls, s, v36, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8882. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8883. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8884. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8885. return int32(_need_more)
  8886. }
  8887. }
  8888. goto _1
  8889. _1:
  8890. }
  8891. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  8892. if flush == int32(m_Z_FINISH) {
  8893. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8894. v37 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8895. } else {
  8896. v37 = libc.UintptrFromInt32(m_Z_NULL)
  8897. }
  8898. x__tr_flush_block(tls, s, v37, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), int32(1))
  8899. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8900. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8901. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8902. return int32(_finish_started)
  8903. }
  8904. return int32(_finish_done)
  8905. }
  8906. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  8907. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8908. v38 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8909. } else {
  8910. v38 = libc.UintptrFromInt32(m_Z_NULL)
  8911. }
  8912. x__tr_flush_block(tls, s, v38, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8913. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8914. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8915. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8916. return int32(_need_more)
  8917. }
  8918. }
  8919. return int32(_block_done)
  8920. }
  8921. // C documentation
  8922. //
  8923. // /* ===========================================================================
  8924. // * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.
  8925. // * (It will be regenerated if this run of deflate switches away from Huffman.)
  8926. // */
  8927. func _deflate_huff(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  8928. var bflush int32
  8929. var cc Tuch
  8930. var v10, v3, v5, v7, v8, v9 uintptr
  8931. var v2, v4, v6 TuInt
  8932. _, _, _, _, _, _, _, _, _, _, _ = bflush, cc, v10, v2, v3, v4, v5, v6, v7, v8, v9 /* set if current block must be flushed */
  8933. for {
  8934. /* Make sure that we have a literal to write. */
  8935. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  8936. _fill_window(tls, s)
  8937. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  8938. if flush == m_Z_NO_FLUSH {
  8939. return int32(_need_more)
  8940. }
  8941. break /* flush the current block */
  8942. }
  8943. }
  8944. /* Output a literal byte */
  8945. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  8946. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
  8947. v3 = s + 5900
  8948. v2 = *(*TuInt)(unsafe.Pointer(v3))
  8949. *(*TuInt)(unsafe.Pointer(v3))++
  8950. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v2))) = uint8(0)
  8951. v5 = s + 5900
  8952. v4 = *(*TuInt)(unsafe.Pointer(v5))
  8953. *(*TuInt)(unsafe.Pointer(v5))++
  8954. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v4))) = uint8(0)
  8955. v7 = s + 5900
  8956. v6 = *(*TuInt)(unsafe.Pointer(v7))
  8957. *(*TuInt)(unsafe.Pointer(v7))++
  8958. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v6))) = cc
  8959. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  8960. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8961. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  8962. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8963. if bflush != 0 {
  8964. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8965. v8 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8966. } else {
  8967. v8 = libc.UintptrFromInt32(m_Z_NULL)
  8968. }
  8969. x__tr_flush_block(tls, s, v8, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  8970. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8971. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8972. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8973. return int32(_need_more)
  8974. }
  8975. }
  8976. goto _1
  8977. _1:
  8978. }
  8979. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  8980. if flush == int32(m_Z_FINISH) {
  8981. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8982. v9 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8983. } else {
  8984. v9 = libc.UintptrFromInt32(m_Z_NULL)
  8985. }
  8986. x__tr_flush_block(tls, s, v9, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), int32(1))
  8987. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8988. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8989. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8990. return int32(_finish_started)
  8991. }
  8992. return int32(_finish_done)
  8993. }
  8994. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  8995. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8996. v10 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8997. } else {
  8998. v10 = libc.UintptrFromInt32(m_Z_NULL)
  8999. }
  9000. x__tr_flush_block(tls, s, v10, libc.Uint64FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)-(*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start), 0)
  9001. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9002. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9003. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  9004. return int32(_need_more)
  9005. }
  9006. }
  9007. return int32(_block_done)
  9008. }
  9009. const m_ENOUGH_DISTS = 592
  9010. const m_ENOUGH_LENS = 852
  9011. const m_PRESET_DICT2 = 0x20
  9012. type Tcode = struct {
  9013. Fop uint8
  9014. Fbits uint8
  9015. Fval uint16
  9016. }
  9017. type Tcodetype = int32
  9018. const _CODES = 0
  9019. const _LENS = 1
  9020. const _DISTS = 2
  9021. type Tinflate_mode = int32
  9022. const _HEAD = 16180
  9023. const _FLAGS = 16181
  9024. const _TIME = 16182
  9025. const _OS = 16183
  9026. const _EXLEN = 16184
  9027. const _EXTRA = 16185
  9028. const _NAME = 16186
  9029. const _COMMENT = 16187
  9030. const _HCRC = 16188
  9031. const _DICTID = 16189
  9032. const _DICT = 16190
  9033. const _TYPE = 16191
  9034. const _TYPEDO = 16192
  9035. const _STORED = 16193
  9036. const _COPY_ = 16194
  9037. const _COPY = 16195
  9038. const _TABLE = 16196
  9039. const _LENLENS = 16197
  9040. const _CODELENS = 16198
  9041. const _LEN_ = 16199
  9042. const _LEN = 16200
  9043. const _LENEXT = 16201
  9044. const _DIST = 16202
  9045. const _DISTEXT = 16203
  9046. const _MATCH = 16204
  9047. const _LIT = 16205
  9048. const _CHECK = 16206
  9049. const _LENGTH = 16207
  9050. const _DONE = 16208
  9051. const _BAD = 16209
  9052. const _MEM = 16210
  9053. const _SYNC = 16211
  9054. type Tinflate_state = struct {
  9055. Fstrm Tz_streamp
  9056. Fmode Tinflate_mode
  9057. Flast int32
  9058. Fwrap int32
  9059. Fhavedict int32
  9060. Fflags int32
  9061. Fdmax uint32
  9062. Fcheck uint64
  9063. Ftotal uint64
  9064. Fhead Tgz_headerp
  9065. Fwbits uint32
  9066. Fwsize uint32
  9067. Fwhave uint32
  9068. Fwnext uint32
  9069. Fwindow uintptr
  9070. Fhold uint64
  9071. Fbits uint32
  9072. Flength uint32
  9073. Foffset uint32
  9074. Fextra uint32
  9075. Flencode uintptr
  9076. Fdistcode uintptr
  9077. Flenbits uint32
  9078. Fdistbits uint32
  9079. Fncode uint32
  9080. Fnlen uint32
  9081. Fndist uint32
  9082. Fhave uint32
  9083. Fnext uintptr
  9084. Flens [320]uint16
  9085. Fwork [288]uint16
  9086. Fcodes [1444]Tcode
  9087. Fsane int32
  9088. Fback int32
  9089. Fwas uint32
  9090. }
  9091. // C documentation
  9092. //
  9093. // /*
  9094. // strm provides memory allocation functions in zalloc and zfree, or
  9095. // Z_NULL to use the library memory allocation functions.
  9096. //
  9097. // windowBits is in the range 8..15, and window is a user-supplied
  9098. // window and output buffer that is 2**windowBits bytes.
  9099. // */
  9100. func XinflateBackInit_(tls *libc.TLS, strm Tz_streamp, windowBits int32, window uintptr, version uintptr, stream_size int32) (r int32) {
  9101. var state uintptr
  9102. _ = state
  9103. if version == uintptr(m_Z_NULL) || libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(version))) != libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(__ccgo_ts))) || stream_size != libc.Int32FromUint64(libc.Uint64FromInt64(112)) {
  9104. return -int32(6)
  9105. }
  9106. if strm == uintptr(m_Z_NULL) || window == uintptr(m_Z_NULL) || windowBits < int32(8) || windowBits > int32(15) {
  9107. return -int32(2)
  9108. }
  9109. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* in case we return an error */
  9110. if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
  9111. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
  9112. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
  9113. }
  9114. if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  9115. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
  9116. }
  9117. state = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, libc.Uint32FromInt32(libc.Int32FromInt32(1)), uint32(libc.Uint64FromInt64(7160)))
  9118. if state == uintptr(m_Z_NULL) {
  9119. return -int32(4)
  9120. }
  9121. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = state
  9122. (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(32768)
  9123. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = libc.Uint32FromInt32(windowBits)
  9124. (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(1) << windowBits
  9125. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = window
  9126. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  9127. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  9128. (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
  9129. return m_Z_OK
  9130. }
  9131. // C documentation
  9132. //
  9133. // /*
  9134. // Return state with length and distance decoding tables and index sizes set to
  9135. // fixed code decoding. Normally this returns fixed tables from inffixed.h.
  9136. // If BUILDFIXED is defined, then instead this routine builds the tables the
  9137. // first time it's called, and returns those tables the first time and
  9138. // thereafter. This reduces the size of the code by about 2K bytes, in
  9139. // exchange for a little execution time. However, BUILDFIXED should not be
  9140. // used for threaded applications, since the rewriting of the tables and virgin
  9141. // may not be thread-safe.
  9142. // */
  9143. func _fixedtables(tls *libc.TLS, state uintptr) {
  9144. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = uintptr(unsafe.Pointer(&_lenfix))
  9145. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  9146. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = uintptr(unsafe.Pointer(&_distfix))
  9147. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(5)
  9148. }
  9149. var _lenfix = [512]Tcode{
  9150. 0: {
  9151. Fop: uint8(96),
  9152. Fbits: uint8(7),
  9153. },
  9154. 1: {
  9155. Fbits: uint8(8),
  9156. Fval: uint16(80),
  9157. },
  9158. 2: {
  9159. Fbits: uint8(8),
  9160. Fval: uint16(16),
  9161. },
  9162. 3: {
  9163. Fop: uint8(20),
  9164. Fbits: uint8(8),
  9165. Fval: uint16(115),
  9166. },
  9167. 4: {
  9168. Fop: uint8(18),
  9169. Fbits: uint8(7),
  9170. Fval: uint16(31),
  9171. },
  9172. 5: {
  9173. Fbits: uint8(8),
  9174. Fval: uint16(112),
  9175. },
  9176. 6: {
  9177. Fbits: uint8(8),
  9178. Fval: uint16(48),
  9179. },
  9180. 7: {
  9181. Fbits: uint8(9),
  9182. Fval: uint16(192),
  9183. },
  9184. 8: {
  9185. Fop: uint8(16),
  9186. Fbits: uint8(7),
  9187. Fval: uint16(10),
  9188. },
  9189. 9: {
  9190. Fbits: uint8(8),
  9191. Fval: uint16(96),
  9192. },
  9193. 10: {
  9194. Fbits: uint8(8),
  9195. Fval: uint16(32),
  9196. },
  9197. 11: {
  9198. Fbits: uint8(9),
  9199. Fval: uint16(160),
  9200. },
  9201. 12: {
  9202. Fbits: uint8(8),
  9203. },
  9204. 13: {
  9205. Fbits: uint8(8),
  9206. Fval: uint16(128),
  9207. },
  9208. 14: {
  9209. Fbits: uint8(8),
  9210. Fval: uint16(64),
  9211. },
  9212. 15: {
  9213. Fbits: uint8(9),
  9214. Fval: uint16(224),
  9215. },
  9216. 16: {
  9217. Fop: uint8(16),
  9218. Fbits: uint8(7),
  9219. Fval: uint16(6),
  9220. },
  9221. 17: {
  9222. Fbits: uint8(8),
  9223. Fval: uint16(88),
  9224. },
  9225. 18: {
  9226. Fbits: uint8(8),
  9227. Fval: uint16(24),
  9228. },
  9229. 19: {
  9230. Fbits: uint8(9),
  9231. Fval: uint16(144),
  9232. },
  9233. 20: {
  9234. Fop: uint8(19),
  9235. Fbits: uint8(7),
  9236. Fval: uint16(59),
  9237. },
  9238. 21: {
  9239. Fbits: uint8(8),
  9240. Fval: uint16(120),
  9241. },
  9242. 22: {
  9243. Fbits: uint8(8),
  9244. Fval: uint16(56),
  9245. },
  9246. 23: {
  9247. Fbits: uint8(9),
  9248. Fval: uint16(208),
  9249. },
  9250. 24: {
  9251. Fop: uint8(17),
  9252. Fbits: uint8(7),
  9253. Fval: uint16(17),
  9254. },
  9255. 25: {
  9256. Fbits: uint8(8),
  9257. Fval: uint16(104),
  9258. },
  9259. 26: {
  9260. Fbits: uint8(8),
  9261. Fval: uint16(40),
  9262. },
  9263. 27: {
  9264. Fbits: uint8(9),
  9265. Fval: uint16(176),
  9266. },
  9267. 28: {
  9268. Fbits: uint8(8),
  9269. Fval: uint16(8),
  9270. },
  9271. 29: {
  9272. Fbits: uint8(8),
  9273. Fval: uint16(136),
  9274. },
  9275. 30: {
  9276. Fbits: uint8(8),
  9277. Fval: uint16(72),
  9278. },
  9279. 31: {
  9280. Fbits: uint8(9),
  9281. Fval: uint16(240),
  9282. },
  9283. 32: {
  9284. Fop: uint8(16),
  9285. Fbits: uint8(7),
  9286. Fval: uint16(4),
  9287. },
  9288. 33: {
  9289. Fbits: uint8(8),
  9290. Fval: uint16(84),
  9291. },
  9292. 34: {
  9293. Fbits: uint8(8),
  9294. Fval: uint16(20),
  9295. },
  9296. 35: {
  9297. Fop: uint8(21),
  9298. Fbits: uint8(8),
  9299. Fval: uint16(227),
  9300. },
  9301. 36: {
  9302. Fop: uint8(19),
  9303. Fbits: uint8(7),
  9304. Fval: uint16(43),
  9305. },
  9306. 37: {
  9307. Fbits: uint8(8),
  9308. Fval: uint16(116),
  9309. },
  9310. 38: {
  9311. Fbits: uint8(8),
  9312. Fval: uint16(52),
  9313. },
  9314. 39: {
  9315. Fbits: uint8(9),
  9316. Fval: uint16(200),
  9317. },
  9318. 40: {
  9319. Fop: uint8(17),
  9320. Fbits: uint8(7),
  9321. Fval: uint16(13),
  9322. },
  9323. 41: {
  9324. Fbits: uint8(8),
  9325. Fval: uint16(100),
  9326. },
  9327. 42: {
  9328. Fbits: uint8(8),
  9329. Fval: uint16(36),
  9330. },
  9331. 43: {
  9332. Fbits: uint8(9),
  9333. Fval: uint16(168),
  9334. },
  9335. 44: {
  9336. Fbits: uint8(8),
  9337. Fval: uint16(4),
  9338. },
  9339. 45: {
  9340. Fbits: uint8(8),
  9341. Fval: uint16(132),
  9342. },
  9343. 46: {
  9344. Fbits: uint8(8),
  9345. Fval: uint16(68),
  9346. },
  9347. 47: {
  9348. Fbits: uint8(9),
  9349. Fval: uint16(232),
  9350. },
  9351. 48: {
  9352. Fop: uint8(16),
  9353. Fbits: uint8(7),
  9354. Fval: uint16(8),
  9355. },
  9356. 49: {
  9357. Fbits: uint8(8),
  9358. Fval: uint16(92),
  9359. },
  9360. 50: {
  9361. Fbits: uint8(8),
  9362. Fval: uint16(28),
  9363. },
  9364. 51: {
  9365. Fbits: uint8(9),
  9366. Fval: uint16(152),
  9367. },
  9368. 52: {
  9369. Fop: uint8(20),
  9370. Fbits: uint8(7),
  9371. Fval: uint16(83),
  9372. },
  9373. 53: {
  9374. Fbits: uint8(8),
  9375. Fval: uint16(124),
  9376. },
  9377. 54: {
  9378. Fbits: uint8(8),
  9379. Fval: uint16(60),
  9380. },
  9381. 55: {
  9382. Fbits: uint8(9),
  9383. Fval: uint16(216),
  9384. },
  9385. 56: {
  9386. Fop: uint8(18),
  9387. Fbits: uint8(7),
  9388. Fval: uint16(23),
  9389. },
  9390. 57: {
  9391. Fbits: uint8(8),
  9392. Fval: uint16(108),
  9393. },
  9394. 58: {
  9395. Fbits: uint8(8),
  9396. Fval: uint16(44),
  9397. },
  9398. 59: {
  9399. Fbits: uint8(9),
  9400. Fval: uint16(184),
  9401. },
  9402. 60: {
  9403. Fbits: uint8(8),
  9404. Fval: uint16(12),
  9405. },
  9406. 61: {
  9407. Fbits: uint8(8),
  9408. Fval: uint16(140),
  9409. },
  9410. 62: {
  9411. Fbits: uint8(8),
  9412. Fval: uint16(76),
  9413. },
  9414. 63: {
  9415. Fbits: uint8(9),
  9416. Fval: uint16(248),
  9417. },
  9418. 64: {
  9419. Fop: uint8(16),
  9420. Fbits: uint8(7),
  9421. Fval: uint16(3),
  9422. },
  9423. 65: {
  9424. Fbits: uint8(8),
  9425. Fval: uint16(82),
  9426. },
  9427. 66: {
  9428. Fbits: uint8(8),
  9429. Fval: uint16(18),
  9430. },
  9431. 67: {
  9432. Fop: uint8(21),
  9433. Fbits: uint8(8),
  9434. Fval: uint16(163),
  9435. },
  9436. 68: {
  9437. Fop: uint8(19),
  9438. Fbits: uint8(7),
  9439. Fval: uint16(35),
  9440. },
  9441. 69: {
  9442. Fbits: uint8(8),
  9443. Fval: uint16(114),
  9444. },
  9445. 70: {
  9446. Fbits: uint8(8),
  9447. Fval: uint16(50),
  9448. },
  9449. 71: {
  9450. Fbits: uint8(9),
  9451. Fval: uint16(196),
  9452. },
  9453. 72: {
  9454. Fop: uint8(17),
  9455. Fbits: uint8(7),
  9456. Fval: uint16(11),
  9457. },
  9458. 73: {
  9459. Fbits: uint8(8),
  9460. Fval: uint16(98),
  9461. },
  9462. 74: {
  9463. Fbits: uint8(8),
  9464. Fval: uint16(34),
  9465. },
  9466. 75: {
  9467. Fbits: uint8(9),
  9468. Fval: uint16(164),
  9469. },
  9470. 76: {
  9471. Fbits: uint8(8),
  9472. Fval: uint16(2),
  9473. },
  9474. 77: {
  9475. Fbits: uint8(8),
  9476. Fval: uint16(130),
  9477. },
  9478. 78: {
  9479. Fbits: uint8(8),
  9480. Fval: uint16(66),
  9481. },
  9482. 79: {
  9483. Fbits: uint8(9),
  9484. Fval: uint16(228),
  9485. },
  9486. 80: {
  9487. Fop: uint8(16),
  9488. Fbits: uint8(7),
  9489. Fval: uint16(7),
  9490. },
  9491. 81: {
  9492. Fbits: uint8(8),
  9493. Fval: uint16(90),
  9494. },
  9495. 82: {
  9496. Fbits: uint8(8),
  9497. Fval: uint16(26),
  9498. },
  9499. 83: {
  9500. Fbits: uint8(9),
  9501. Fval: uint16(148),
  9502. },
  9503. 84: {
  9504. Fop: uint8(20),
  9505. Fbits: uint8(7),
  9506. Fval: uint16(67),
  9507. },
  9508. 85: {
  9509. Fbits: uint8(8),
  9510. Fval: uint16(122),
  9511. },
  9512. 86: {
  9513. Fbits: uint8(8),
  9514. Fval: uint16(58),
  9515. },
  9516. 87: {
  9517. Fbits: uint8(9),
  9518. Fval: uint16(212),
  9519. },
  9520. 88: {
  9521. Fop: uint8(18),
  9522. Fbits: uint8(7),
  9523. Fval: uint16(19),
  9524. },
  9525. 89: {
  9526. Fbits: uint8(8),
  9527. Fval: uint16(106),
  9528. },
  9529. 90: {
  9530. Fbits: uint8(8),
  9531. Fval: uint16(42),
  9532. },
  9533. 91: {
  9534. Fbits: uint8(9),
  9535. Fval: uint16(180),
  9536. },
  9537. 92: {
  9538. Fbits: uint8(8),
  9539. Fval: uint16(10),
  9540. },
  9541. 93: {
  9542. Fbits: uint8(8),
  9543. Fval: uint16(138),
  9544. },
  9545. 94: {
  9546. Fbits: uint8(8),
  9547. Fval: uint16(74),
  9548. },
  9549. 95: {
  9550. Fbits: uint8(9),
  9551. Fval: uint16(244),
  9552. },
  9553. 96: {
  9554. Fop: uint8(16),
  9555. Fbits: uint8(7),
  9556. Fval: uint16(5),
  9557. },
  9558. 97: {
  9559. Fbits: uint8(8),
  9560. Fval: uint16(86),
  9561. },
  9562. 98: {
  9563. Fbits: uint8(8),
  9564. Fval: uint16(22),
  9565. },
  9566. 99: {
  9567. Fop: uint8(64),
  9568. Fbits: uint8(8),
  9569. },
  9570. 100: {
  9571. Fop: uint8(19),
  9572. Fbits: uint8(7),
  9573. Fval: uint16(51),
  9574. },
  9575. 101: {
  9576. Fbits: uint8(8),
  9577. Fval: uint16(118),
  9578. },
  9579. 102: {
  9580. Fbits: uint8(8),
  9581. Fval: uint16(54),
  9582. },
  9583. 103: {
  9584. Fbits: uint8(9),
  9585. Fval: uint16(204),
  9586. },
  9587. 104: {
  9588. Fop: uint8(17),
  9589. Fbits: uint8(7),
  9590. Fval: uint16(15),
  9591. },
  9592. 105: {
  9593. Fbits: uint8(8),
  9594. Fval: uint16(102),
  9595. },
  9596. 106: {
  9597. Fbits: uint8(8),
  9598. Fval: uint16(38),
  9599. },
  9600. 107: {
  9601. Fbits: uint8(9),
  9602. Fval: uint16(172),
  9603. },
  9604. 108: {
  9605. Fbits: uint8(8),
  9606. Fval: uint16(6),
  9607. },
  9608. 109: {
  9609. Fbits: uint8(8),
  9610. Fval: uint16(134),
  9611. },
  9612. 110: {
  9613. Fbits: uint8(8),
  9614. Fval: uint16(70),
  9615. },
  9616. 111: {
  9617. Fbits: uint8(9),
  9618. Fval: uint16(236),
  9619. },
  9620. 112: {
  9621. Fop: uint8(16),
  9622. Fbits: uint8(7),
  9623. Fval: uint16(9),
  9624. },
  9625. 113: {
  9626. Fbits: uint8(8),
  9627. Fval: uint16(94),
  9628. },
  9629. 114: {
  9630. Fbits: uint8(8),
  9631. Fval: uint16(30),
  9632. },
  9633. 115: {
  9634. Fbits: uint8(9),
  9635. Fval: uint16(156),
  9636. },
  9637. 116: {
  9638. Fop: uint8(20),
  9639. Fbits: uint8(7),
  9640. Fval: uint16(99),
  9641. },
  9642. 117: {
  9643. Fbits: uint8(8),
  9644. Fval: uint16(126),
  9645. },
  9646. 118: {
  9647. Fbits: uint8(8),
  9648. Fval: uint16(62),
  9649. },
  9650. 119: {
  9651. Fbits: uint8(9),
  9652. Fval: uint16(220),
  9653. },
  9654. 120: {
  9655. Fop: uint8(18),
  9656. Fbits: uint8(7),
  9657. Fval: uint16(27),
  9658. },
  9659. 121: {
  9660. Fbits: uint8(8),
  9661. Fval: uint16(110),
  9662. },
  9663. 122: {
  9664. Fbits: uint8(8),
  9665. Fval: uint16(46),
  9666. },
  9667. 123: {
  9668. Fbits: uint8(9),
  9669. Fval: uint16(188),
  9670. },
  9671. 124: {
  9672. Fbits: uint8(8),
  9673. Fval: uint16(14),
  9674. },
  9675. 125: {
  9676. Fbits: uint8(8),
  9677. Fval: uint16(142),
  9678. },
  9679. 126: {
  9680. Fbits: uint8(8),
  9681. Fval: uint16(78),
  9682. },
  9683. 127: {
  9684. Fbits: uint8(9),
  9685. Fval: uint16(252),
  9686. },
  9687. 128: {
  9688. Fop: uint8(96),
  9689. Fbits: uint8(7),
  9690. },
  9691. 129: {
  9692. Fbits: uint8(8),
  9693. Fval: uint16(81),
  9694. },
  9695. 130: {
  9696. Fbits: uint8(8),
  9697. Fval: uint16(17),
  9698. },
  9699. 131: {
  9700. Fop: uint8(21),
  9701. Fbits: uint8(8),
  9702. Fval: uint16(131),
  9703. },
  9704. 132: {
  9705. Fop: uint8(18),
  9706. Fbits: uint8(7),
  9707. Fval: uint16(31),
  9708. },
  9709. 133: {
  9710. Fbits: uint8(8),
  9711. Fval: uint16(113),
  9712. },
  9713. 134: {
  9714. Fbits: uint8(8),
  9715. Fval: uint16(49),
  9716. },
  9717. 135: {
  9718. Fbits: uint8(9),
  9719. Fval: uint16(194),
  9720. },
  9721. 136: {
  9722. Fop: uint8(16),
  9723. Fbits: uint8(7),
  9724. Fval: uint16(10),
  9725. },
  9726. 137: {
  9727. Fbits: uint8(8),
  9728. Fval: uint16(97),
  9729. },
  9730. 138: {
  9731. Fbits: uint8(8),
  9732. Fval: uint16(33),
  9733. },
  9734. 139: {
  9735. Fbits: uint8(9),
  9736. Fval: uint16(162),
  9737. },
  9738. 140: {
  9739. Fbits: uint8(8),
  9740. Fval: uint16(1),
  9741. },
  9742. 141: {
  9743. Fbits: uint8(8),
  9744. Fval: uint16(129),
  9745. },
  9746. 142: {
  9747. Fbits: uint8(8),
  9748. Fval: uint16(65),
  9749. },
  9750. 143: {
  9751. Fbits: uint8(9),
  9752. Fval: uint16(226),
  9753. },
  9754. 144: {
  9755. Fop: uint8(16),
  9756. Fbits: uint8(7),
  9757. Fval: uint16(6),
  9758. },
  9759. 145: {
  9760. Fbits: uint8(8),
  9761. Fval: uint16(89),
  9762. },
  9763. 146: {
  9764. Fbits: uint8(8),
  9765. Fval: uint16(25),
  9766. },
  9767. 147: {
  9768. Fbits: uint8(9),
  9769. Fval: uint16(146),
  9770. },
  9771. 148: {
  9772. Fop: uint8(19),
  9773. Fbits: uint8(7),
  9774. Fval: uint16(59),
  9775. },
  9776. 149: {
  9777. Fbits: uint8(8),
  9778. Fval: uint16(121),
  9779. },
  9780. 150: {
  9781. Fbits: uint8(8),
  9782. Fval: uint16(57),
  9783. },
  9784. 151: {
  9785. Fbits: uint8(9),
  9786. Fval: uint16(210),
  9787. },
  9788. 152: {
  9789. Fop: uint8(17),
  9790. Fbits: uint8(7),
  9791. Fval: uint16(17),
  9792. },
  9793. 153: {
  9794. Fbits: uint8(8),
  9795. Fval: uint16(105),
  9796. },
  9797. 154: {
  9798. Fbits: uint8(8),
  9799. Fval: uint16(41),
  9800. },
  9801. 155: {
  9802. Fbits: uint8(9),
  9803. Fval: uint16(178),
  9804. },
  9805. 156: {
  9806. Fbits: uint8(8),
  9807. Fval: uint16(9),
  9808. },
  9809. 157: {
  9810. Fbits: uint8(8),
  9811. Fval: uint16(137),
  9812. },
  9813. 158: {
  9814. Fbits: uint8(8),
  9815. Fval: uint16(73),
  9816. },
  9817. 159: {
  9818. Fbits: uint8(9),
  9819. Fval: uint16(242),
  9820. },
  9821. 160: {
  9822. Fop: uint8(16),
  9823. Fbits: uint8(7),
  9824. Fval: uint16(4),
  9825. },
  9826. 161: {
  9827. Fbits: uint8(8),
  9828. Fval: uint16(85),
  9829. },
  9830. 162: {
  9831. Fbits: uint8(8),
  9832. Fval: uint16(21),
  9833. },
  9834. 163: {
  9835. Fop: uint8(16),
  9836. Fbits: uint8(8),
  9837. Fval: uint16(258),
  9838. },
  9839. 164: {
  9840. Fop: uint8(19),
  9841. Fbits: uint8(7),
  9842. Fval: uint16(43),
  9843. },
  9844. 165: {
  9845. Fbits: uint8(8),
  9846. Fval: uint16(117),
  9847. },
  9848. 166: {
  9849. Fbits: uint8(8),
  9850. Fval: uint16(53),
  9851. },
  9852. 167: {
  9853. Fbits: uint8(9),
  9854. Fval: uint16(202),
  9855. },
  9856. 168: {
  9857. Fop: uint8(17),
  9858. Fbits: uint8(7),
  9859. Fval: uint16(13),
  9860. },
  9861. 169: {
  9862. Fbits: uint8(8),
  9863. Fval: uint16(101),
  9864. },
  9865. 170: {
  9866. Fbits: uint8(8),
  9867. Fval: uint16(37),
  9868. },
  9869. 171: {
  9870. Fbits: uint8(9),
  9871. Fval: uint16(170),
  9872. },
  9873. 172: {
  9874. Fbits: uint8(8),
  9875. Fval: uint16(5),
  9876. },
  9877. 173: {
  9878. Fbits: uint8(8),
  9879. Fval: uint16(133),
  9880. },
  9881. 174: {
  9882. Fbits: uint8(8),
  9883. Fval: uint16(69),
  9884. },
  9885. 175: {
  9886. Fbits: uint8(9),
  9887. Fval: uint16(234),
  9888. },
  9889. 176: {
  9890. Fop: uint8(16),
  9891. Fbits: uint8(7),
  9892. Fval: uint16(8),
  9893. },
  9894. 177: {
  9895. Fbits: uint8(8),
  9896. Fval: uint16(93),
  9897. },
  9898. 178: {
  9899. Fbits: uint8(8),
  9900. Fval: uint16(29),
  9901. },
  9902. 179: {
  9903. Fbits: uint8(9),
  9904. Fval: uint16(154),
  9905. },
  9906. 180: {
  9907. Fop: uint8(20),
  9908. Fbits: uint8(7),
  9909. Fval: uint16(83),
  9910. },
  9911. 181: {
  9912. Fbits: uint8(8),
  9913. Fval: uint16(125),
  9914. },
  9915. 182: {
  9916. Fbits: uint8(8),
  9917. Fval: uint16(61),
  9918. },
  9919. 183: {
  9920. Fbits: uint8(9),
  9921. Fval: uint16(218),
  9922. },
  9923. 184: {
  9924. Fop: uint8(18),
  9925. Fbits: uint8(7),
  9926. Fval: uint16(23),
  9927. },
  9928. 185: {
  9929. Fbits: uint8(8),
  9930. Fval: uint16(109),
  9931. },
  9932. 186: {
  9933. Fbits: uint8(8),
  9934. Fval: uint16(45),
  9935. },
  9936. 187: {
  9937. Fbits: uint8(9),
  9938. Fval: uint16(186),
  9939. },
  9940. 188: {
  9941. Fbits: uint8(8),
  9942. Fval: uint16(13),
  9943. },
  9944. 189: {
  9945. Fbits: uint8(8),
  9946. Fval: uint16(141),
  9947. },
  9948. 190: {
  9949. Fbits: uint8(8),
  9950. Fval: uint16(77),
  9951. },
  9952. 191: {
  9953. Fbits: uint8(9),
  9954. Fval: uint16(250),
  9955. },
  9956. 192: {
  9957. Fop: uint8(16),
  9958. Fbits: uint8(7),
  9959. Fval: uint16(3),
  9960. },
  9961. 193: {
  9962. Fbits: uint8(8),
  9963. Fval: uint16(83),
  9964. },
  9965. 194: {
  9966. Fbits: uint8(8),
  9967. Fval: uint16(19),
  9968. },
  9969. 195: {
  9970. Fop: uint8(21),
  9971. Fbits: uint8(8),
  9972. Fval: uint16(195),
  9973. },
  9974. 196: {
  9975. Fop: uint8(19),
  9976. Fbits: uint8(7),
  9977. Fval: uint16(35),
  9978. },
  9979. 197: {
  9980. Fbits: uint8(8),
  9981. Fval: uint16(115),
  9982. },
  9983. 198: {
  9984. Fbits: uint8(8),
  9985. Fval: uint16(51),
  9986. },
  9987. 199: {
  9988. Fbits: uint8(9),
  9989. Fval: uint16(198),
  9990. },
  9991. 200: {
  9992. Fop: uint8(17),
  9993. Fbits: uint8(7),
  9994. Fval: uint16(11),
  9995. },
  9996. 201: {
  9997. Fbits: uint8(8),
  9998. Fval: uint16(99),
  9999. },
  10000. 202: {
  10001. Fbits: uint8(8),
  10002. Fval: uint16(35),
  10003. },
  10004. 203: {
  10005. Fbits: uint8(9),
  10006. Fval: uint16(166),
  10007. },
  10008. 204: {
  10009. Fbits: uint8(8),
  10010. Fval: uint16(3),
  10011. },
  10012. 205: {
  10013. Fbits: uint8(8),
  10014. Fval: uint16(131),
  10015. },
  10016. 206: {
  10017. Fbits: uint8(8),
  10018. Fval: uint16(67),
  10019. },
  10020. 207: {
  10021. Fbits: uint8(9),
  10022. Fval: uint16(230),
  10023. },
  10024. 208: {
  10025. Fop: uint8(16),
  10026. Fbits: uint8(7),
  10027. Fval: uint16(7),
  10028. },
  10029. 209: {
  10030. Fbits: uint8(8),
  10031. Fval: uint16(91),
  10032. },
  10033. 210: {
  10034. Fbits: uint8(8),
  10035. Fval: uint16(27),
  10036. },
  10037. 211: {
  10038. Fbits: uint8(9),
  10039. Fval: uint16(150),
  10040. },
  10041. 212: {
  10042. Fop: uint8(20),
  10043. Fbits: uint8(7),
  10044. Fval: uint16(67),
  10045. },
  10046. 213: {
  10047. Fbits: uint8(8),
  10048. Fval: uint16(123),
  10049. },
  10050. 214: {
  10051. Fbits: uint8(8),
  10052. Fval: uint16(59),
  10053. },
  10054. 215: {
  10055. Fbits: uint8(9),
  10056. Fval: uint16(214),
  10057. },
  10058. 216: {
  10059. Fop: uint8(18),
  10060. Fbits: uint8(7),
  10061. Fval: uint16(19),
  10062. },
  10063. 217: {
  10064. Fbits: uint8(8),
  10065. Fval: uint16(107),
  10066. },
  10067. 218: {
  10068. Fbits: uint8(8),
  10069. Fval: uint16(43),
  10070. },
  10071. 219: {
  10072. Fbits: uint8(9),
  10073. Fval: uint16(182),
  10074. },
  10075. 220: {
  10076. Fbits: uint8(8),
  10077. Fval: uint16(11),
  10078. },
  10079. 221: {
  10080. Fbits: uint8(8),
  10081. Fval: uint16(139),
  10082. },
  10083. 222: {
  10084. Fbits: uint8(8),
  10085. Fval: uint16(75),
  10086. },
  10087. 223: {
  10088. Fbits: uint8(9),
  10089. Fval: uint16(246),
  10090. },
  10091. 224: {
  10092. Fop: uint8(16),
  10093. Fbits: uint8(7),
  10094. Fval: uint16(5),
  10095. },
  10096. 225: {
  10097. Fbits: uint8(8),
  10098. Fval: uint16(87),
  10099. },
  10100. 226: {
  10101. Fbits: uint8(8),
  10102. Fval: uint16(23),
  10103. },
  10104. 227: {
  10105. Fop: uint8(64),
  10106. Fbits: uint8(8),
  10107. },
  10108. 228: {
  10109. Fop: uint8(19),
  10110. Fbits: uint8(7),
  10111. Fval: uint16(51),
  10112. },
  10113. 229: {
  10114. Fbits: uint8(8),
  10115. Fval: uint16(119),
  10116. },
  10117. 230: {
  10118. Fbits: uint8(8),
  10119. Fval: uint16(55),
  10120. },
  10121. 231: {
  10122. Fbits: uint8(9),
  10123. Fval: uint16(206),
  10124. },
  10125. 232: {
  10126. Fop: uint8(17),
  10127. Fbits: uint8(7),
  10128. Fval: uint16(15),
  10129. },
  10130. 233: {
  10131. Fbits: uint8(8),
  10132. Fval: uint16(103),
  10133. },
  10134. 234: {
  10135. Fbits: uint8(8),
  10136. Fval: uint16(39),
  10137. },
  10138. 235: {
  10139. Fbits: uint8(9),
  10140. Fval: uint16(174),
  10141. },
  10142. 236: {
  10143. Fbits: uint8(8),
  10144. Fval: uint16(7),
  10145. },
  10146. 237: {
  10147. Fbits: uint8(8),
  10148. Fval: uint16(135),
  10149. },
  10150. 238: {
  10151. Fbits: uint8(8),
  10152. Fval: uint16(71),
  10153. },
  10154. 239: {
  10155. Fbits: uint8(9),
  10156. Fval: uint16(238),
  10157. },
  10158. 240: {
  10159. Fop: uint8(16),
  10160. Fbits: uint8(7),
  10161. Fval: uint16(9),
  10162. },
  10163. 241: {
  10164. Fbits: uint8(8),
  10165. Fval: uint16(95),
  10166. },
  10167. 242: {
  10168. Fbits: uint8(8),
  10169. Fval: uint16(31),
  10170. },
  10171. 243: {
  10172. Fbits: uint8(9),
  10173. Fval: uint16(158),
  10174. },
  10175. 244: {
  10176. Fop: uint8(20),
  10177. Fbits: uint8(7),
  10178. Fval: uint16(99),
  10179. },
  10180. 245: {
  10181. Fbits: uint8(8),
  10182. Fval: uint16(127),
  10183. },
  10184. 246: {
  10185. Fbits: uint8(8),
  10186. Fval: uint16(63),
  10187. },
  10188. 247: {
  10189. Fbits: uint8(9),
  10190. Fval: uint16(222),
  10191. },
  10192. 248: {
  10193. Fop: uint8(18),
  10194. Fbits: uint8(7),
  10195. Fval: uint16(27),
  10196. },
  10197. 249: {
  10198. Fbits: uint8(8),
  10199. Fval: uint16(111),
  10200. },
  10201. 250: {
  10202. Fbits: uint8(8),
  10203. Fval: uint16(47),
  10204. },
  10205. 251: {
  10206. Fbits: uint8(9),
  10207. Fval: uint16(190),
  10208. },
  10209. 252: {
  10210. Fbits: uint8(8),
  10211. Fval: uint16(15),
  10212. },
  10213. 253: {
  10214. Fbits: uint8(8),
  10215. Fval: uint16(143),
  10216. },
  10217. 254: {
  10218. Fbits: uint8(8),
  10219. Fval: uint16(79),
  10220. },
  10221. 255: {
  10222. Fbits: uint8(9),
  10223. Fval: uint16(254),
  10224. },
  10225. 256: {
  10226. Fop: uint8(96),
  10227. Fbits: uint8(7),
  10228. },
  10229. 257: {
  10230. Fbits: uint8(8),
  10231. Fval: uint16(80),
  10232. },
  10233. 258: {
  10234. Fbits: uint8(8),
  10235. Fval: uint16(16),
  10236. },
  10237. 259: {
  10238. Fop: uint8(20),
  10239. Fbits: uint8(8),
  10240. Fval: uint16(115),
  10241. },
  10242. 260: {
  10243. Fop: uint8(18),
  10244. Fbits: uint8(7),
  10245. Fval: uint16(31),
  10246. },
  10247. 261: {
  10248. Fbits: uint8(8),
  10249. Fval: uint16(112),
  10250. },
  10251. 262: {
  10252. Fbits: uint8(8),
  10253. Fval: uint16(48),
  10254. },
  10255. 263: {
  10256. Fbits: uint8(9),
  10257. Fval: uint16(193),
  10258. },
  10259. 264: {
  10260. Fop: uint8(16),
  10261. Fbits: uint8(7),
  10262. Fval: uint16(10),
  10263. },
  10264. 265: {
  10265. Fbits: uint8(8),
  10266. Fval: uint16(96),
  10267. },
  10268. 266: {
  10269. Fbits: uint8(8),
  10270. Fval: uint16(32),
  10271. },
  10272. 267: {
  10273. Fbits: uint8(9),
  10274. Fval: uint16(161),
  10275. },
  10276. 268: {
  10277. Fbits: uint8(8),
  10278. },
  10279. 269: {
  10280. Fbits: uint8(8),
  10281. Fval: uint16(128),
  10282. },
  10283. 270: {
  10284. Fbits: uint8(8),
  10285. Fval: uint16(64),
  10286. },
  10287. 271: {
  10288. Fbits: uint8(9),
  10289. Fval: uint16(225),
  10290. },
  10291. 272: {
  10292. Fop: uint8(16),
  10293. Fbits: uint8(7),
  10294. Fval: uint16(6),
  10295. },
  10296. 273: {
  10297. Fbits: uint8(8),
  10298. Fval: uint16(88),
  10299. },
  10300. 274: {
  10301. Fbits: uint8(8),
  10302. Fval: uint16(24),
  10303. },
  10304. 275: {
  10305. Fbits: uint8(9),
  10306. Fval: uint16(145),
  10307. },
  10308. 276: {
  10309. Fop: uint8(19),
  10310. Fbits: uint8(7),
  10311. Fval: uint16(59),
  10312. },
  10313. 277: {
  10314. Fbits: uint8(8),
  10315. Fval: uint16(120),
  10316. },
  10317. 278: {
  10318. Fbits: uint8(8),
  10319. Fval: uint16(56),
  10320. },
  10321. 279: {
  10322. Fbits: uint8(9),
  10323. Fval: uint16(209),
  10324. },
  10325. 280: {
  10326. Fop: uint8(17),
  10327. Fbits: uint8(7),
  10328. Fval: uint16(17),
  10329. },
  10330. 281: {
  10331. Fbits: uint8(8),
  10332. Fval: uint16(104),
  10333. },
  10334. 282: {
  10335. Fbits: uint8(8),
  10336. Fval: uint16(40),
  10337. },
  10338. 283: {
  10339. Fbits: uint8(9),
  10340. Fval: uint16(177),
  10341. },
  10342. 284: {
  10343. Fbits: uint8(8),
  10344. Fval: uint16(8),
  10345. },
  10346. 285: {
  10347. Fbits: uint8(8),
  10348. Fval: uint16(136),
  10349. },
  10350. 286: {
  10351. Fbits: uint8(8),
  10352. Fval: uint16(72),
  10353. },
  10354. 287: {
  10355. Fbits: uint8(9),
  10356. Fval: uint16(241),
  10357. },
  10358. 288: {
  10359. Fop: uint8(16),
  10360. Fbits: uint8(7),
  10361. Fval: uint16(4),
  10362. },
  10363. 289: {
  10364. Fbits: uint8(8),
  10365. Fval: uint16(84),
  10366. },
  10367. 290: {
  10368. Fbits: uint8(8),
  10369. Fval: uint16(20),
  10370. },
  10371. 291: {
  10372. Fop: uint8(21),
  10373. Fbits: uint8(8),
  10374. Fval: uint16(227),
  10375. },
  10376. 292: {
  10377. Fop: uint8(19),
  10378. Fbits: uint8(7),
  10379. Fval: uint16(43),
  10380. },
  10381. 293: {
  10382. Fbits: uint8(8),
  10383. Fval: uint16(116),
  10384. },
  10385. 294: {
  10386. Fbits: uint8(8),
  10387. Fval: uint16(52),
  10388. },
  10389. 295: {
  10390. Fbits: uint8(9),
  10391. Fval: uint16(201),
  10392. },
  10393. 296: {
  10394. Fop: uint8(17),
  10395. Fbits: uint8(7),
  10396. Fval: uint16(13),
  10397. },
  10398. 297: {
  10399. Fbits: uint8(8),
  10400. Fval: uint16(100),
  10401. },
  10402. 298: {
  10403. Fbits: uint8(8),
  10404. Fval: uint16(36),
  10405. },
  10406. 299: {
  10407. Fbits: uint8(9),
  10408. Fval: uint16(169),
  10409. },
  10410. 300: {
  10411. Fbits: uint8(8),
  10412. Fval: uint16(4),
  10413. },
  10414. 301: {
  10415. Fbits: uint8(8),
  10416. Fval: uint16(132),
  10417. },
  10418. 302: {
  10419. Fbits: uint8(8),
  10420. Fval: uint16(68),
  10421. },
  10422. 303: {
  10423. Fbits: uint8(9),
  10424. Fval: uint16(233),
  10425. },
  10426. 304: {
  10427. Fop: uint8(16),
  10428. Fbits: uint8(7),
  10429. Fval: uint16(8),
  10430. },
  10431. 305: {
  10432. Fbits: uint8(8),
  10433. Fval: uint16(92),
  10434. },
  10435. 306: {
  10436. Fbits: uint8(8),
  10437. Fval: uint16(28),
  10438. },
  10439. 307: {
  10440. Fbits: uint8(9),
  10441. Fval: uint16(153),
  10442. },
  10443. 308: {
  10444. Fop: uint8(20),
  10445. Fbits: uint8(7),
  10446. Fval: uint16(83),
  10447. },
  10448. 309: {
  10449. Fbits: uint8(8),
  10450. Fval: uint16(124),
  10451. },
  10452. 310: {
  10453. Fbits: uint8(8),
  10454. Fval: uint16(60),
  10455. },
  10456. 311: {
  10457. Fbits: uint8(9),
  10458. Fval: uint16(217),
  10459. },
  10460. 312: {
  10461. Fop: uint8(18),
  10462. Fbits: uint8(7),
  10463. Fval: uint16(23),
  10464. },
  10465. 313: {
  10466. Fbits: uint8(8),
  10467. Fval: uint16(108),
  10468. },
  10469. 314: {
  10470. Fbits: uint8(8),
  10471. Fval: uint16(44),
  10472. },
  10473. 315: {
  10474. Fbits: uint8(9),
  10475. Fval: uint16(185),
  10476. },
  10477. 316: {
  10478. Fbits: uint8(8),
  10479. Fval: uint16(12),
  10480. },
  10481. 317: {
  10482. Fbits: uint8(8),
  10483. Fval: uint16(140),
  10484. },
  10485. 318: {
  10486. Fbits: uint8(8),
  10487. Fval: uint16(76),
  10488. },
  10489. 319: {
  10490. Fbits: uint8(9),
  10491. Fval: uint16(249),
  10492. },
  10493. 320: {
  10494. Fop: uint8(16),
  10495. Fbits: uint8(7),
  10496. Fval: uint16(3),
  10497. },
  10498. 321: {
  10499. Fbits: uint8(8),
  10500. Fval: uint16(82),
  10501. },
  10502. 322: {
  10503. Fbits: uint8(8),
  10504. Fval: uint16(18),
  10505. },
  10506. 323: {
  10507. Fop: uint8(21),
  10508. Fbits: uint8(8),
  10509. Fval: uint16(163),
  10510. },
  10511. 324: {
  10512. Fop: uint8(19),
  10513. Fbits: uint8(7),
  10514. Fval: uint16(35),
  10515. },
  10516. 325: {
  10517. Fbits: uint8(8),
  10518. Fval: uint16(114),
  10519. },
  10520. 326: {
  10521. Fbits: uint8(8),
  10522. Fval: uint16(50),
  10523. },
  10524. 327: {
  10525. Fbits: uint8(9),
  10526. Fval: uint16(197),
  10527. },
  10528. 328: {
  10529. Fop: uint8(17),
  10530. Fbits: uint8(7),
  10531. Fval: uint16(11),
  10532. },
  10533. 329: {
  10534. Fbits: uint8(8),
  10535. Fval: uint16(98),
  10536. },
  10537. 330: {
  10538. Fbits: uint8(8),
  10539. Fval: uint16(34),
  10540. },
  10541. 331: {
  10542. Fbits: uint8(9),
  10543. Fval: uint16(165),
  10544. },
  10545. 332: {
  10546. Fbits: uint8(8),
  10547. Fval: uint16(2),
  10548. },
  10549. 333: {
  10550. Fbits: uint8(8),
  10551. Fval: uint16(130),
  10552. },
  10553. 334: {
  10554. Fbits: uint8(8),
  10555. Fval: uint16(66),
  10556. },
  10557. 335: {
  10558. Fbits: uint8(9),
  10559. Fval: uint16(229),
  10560. },
  10561. 336: {
  10562. Fop: uint8(16),
  10563. Fbits: uint8(7),
  10564. Fval: uint16(7),
  10565. },
  10566. 337: {
  10567. Fbits: uint8(8),
  10568. Fval: uint16(90),
  10569. },
  10570. 338: {
  10571. Fbits: uint8(8),
  10572. Fval: uint16(26),
  10573. },
  10574. 339: {
  10575. Fbits: uint8(9),
  10576. Fval: uint16(149),
  10577. },
  10578. 340: {
  10579. Fop: uint8(20),
  10580. Fbits: uint8(7),
  10581. Fval: uint16(67),
  10582. },
  10583. 341: {
  10584. Fbits: uint8(8),
  10585. Fval: uint16(122),
  10586. },
  10587. 342: {
  10588. Fbits: uint8(8),
  10589. Fval: uint16(58),
  10590. },
  10591. 343: {
  10592. Fbits: uint8(9),
  10593. Fval: uint16(213),
  10594. },
  10595. 344: {
  10596. Fop: uint8(18),
  10597. Fbits: uint8(7),
  10598. Fval: uint16(19),
  10599. },
  10600. 345: {
  10601. Fbits: uint8(8),
  10602. Fval: uint16(106),
  10603. },
  10604. 346: {
  10605. Fbits: uint8(8),
  10606. Fval: uint16(42),
  10607. },
  10608. 347: {
  10609. Fbits: uint8(9),
  10610. Fval: uint16(181),
  10611. },
  10612. 348: {
  10613. Fbits: uint8(8),
  10614. Fval: uint16(10),
  10615. },
  10616. 349: {
  10617. Fbits: uint8(8),
  10618. Fval: uint16(138),
  10619. },
  10620. 350: {
  10621. Fbits: uint8(8),
  10622. Fval: uint16(74),
  10623. },
  10624. 351: {
  10625. Fbits: uint8(9),
  10626. Fval: uint16(245),
  10627. },
  10628. 352: {
  10629. Fop: uint8(16),
  10630. Fbits: uint8(7),
  10631. Fval: uint16(5),
  10632. },
  10633. 353: {
  10634. Fbits: uint8(8),
  10635. Fval: uint16(86),
  10636. },
  10637. 354: {
  10638. Fbits: uint8(8),
  10639. Fval: uint16(22),
  10640. },
  10641. 355: {
  10642. Fop: uint8(64),
  10643. Fbits: uint8(8),
  10644. },
  10645. 356: {
  10646. Fop: uint8(19),
  10647. Fbits: uint8(7),
  10648. Fval: uint16(51),
  10649. },
  10650. 357: {
  10651. Fbits: uint8(8),
  10652. Fval: uint16(118),
  10653. },
  10654. 358: {
  10655. Fbits: uint8(8),
  10656. Fval: uint16(54),
  10657. },
  10658. 359: {
  10659. Fbits: uint8(9),
  10660. Fval: uint16(205),
  10661. },
  10662. 360: {
  10663. Fop: uint8(17),
  10664. Fbits: uint8(7),
  10665. Fval: uint16(15),
  10666. },
  10667. 361: {
  10668. Fbits: uint8(8),
  10669. Fval: uint16(102),
  10670. },
  10671. 362: {
  10672. Fbits: uint8(8),
  10673. Fval: uint16(38),
  10674. },
  10675. 363: {
  10676. Fbits: uint8(9),
  10677. Fval: uint16(173),
  10678. },
  10679. 364: {
  10680. Fbits: uint8(8),
  10681. Fval: uint16(6),
  10682. },
  10683. 365: {
  10684. Fbits: uint8(8),
  10685. Fval: uint16(134),
  10686. },
  10687. 366: {
  10688. Fbits: uint8(8),
  10689. Fval: uint16(70),
  10690. },
  10691. 367: {
  10692. Fbits: uint8(9),
  10693. Fval: uint16(237),
  10694. },
  10695. 368: {
  10696. Fop: uint8(16),
  10697. Fbits: uint8(7),
  10698. Fval: uint16(9),
  10699. },
  10700. 369: {
  10701. Fbits: uint8(8),
  10702. Fval: uint16(94),
  10703. },
  10704. 370: {
  10705. Fbits: uint8(8),
  10706. Fval: uint16(30),
  10707. },
  10708. 371: {
  10709. Fbits: uint8(9),
  10710. Fval: uint16(157),
  10711. },
  10712. 372: {
  10713. Fop: uint8(20),
  10714. Fbits: uint8(7),
  10715. Fval: uint16(99),
  10716. },
  10717. 373: {
  10718. Fbits: uint8(8),
  10719. Fval: uint16(126),
  10720. },
  10721. 374: {
  10722. Fbits: uint8(8),
  10723. Fval: uint16(62),
  10724. },
  10725. 375: {
  10726. Fbits: uint8(9),
  10727. Fval: uint16(221),
  10728. },
  10729. 376: {
  10730. Fop: uint8(18),
  10731. Fbits: uint8(7),
  10732. Fval: uint16(27),
  10733. },
  10734. 377: {
  10735. Fbits: uint8(8),
  10736. Fval: uint16(110),
  10737. },
  10738. 378: {
  10739. Fbits: uint8(8),
  10740. Fval: uint16(46),
  10741. },
  10742. 379: {
  10743. Fbits: uint8(9),
  10744. Fval: uint16(189),
  10745. },
  10746. 380: {
  10747. Fbits: uint8(8),
  10748. Fval: uint16(14),
  10749. },
  10750. 381: {
  10751. Fbits: uint8(8),
  10752. Fval: uint16(142),
  10753. },
  10754. 382: {
  10755. Fbits: uint8(8),
  10756. Fval: uint16(78),
  10757. },
  10758. 383: {
  10759. Fbits: uint8(9),
  10760. Fval: uint16(253),
  10761. },
  10762. 384: {
  10763. Fop: uint8(96),
  10764. Fbits: uint8(7),
  10765. },
  10766. 385: {
  10767. Fbits: uint8(8),
  10768. Fval: uint16(81),
  10769. },
  10770. 386: {
  10771. Fbits: uint8(8),
  10772. Fval: uint16(17),
  10773. },
  10774. 387: {
  10775. Fop: uint8(21),
  10776. Fbits: uint8(8),
  10777. Fval: uint16(131),
  10778. },
  10779. 388: {
  10780. Fop: uint8(18),
  10781. Fbits: uint8(7),
  10782. Fval: uint16(31),
  10783. },
  10784. 389: {
  10785. Fbits: uint8(8),
  10786. Fval: uint16(113),
  10787. },
  10788. 390: {
  10789. Fbits: uint8(8),
  10790. Fval: uint16(49),
  10791. },
  10792. 391: {
  10793. Fbits: uint8(9),
  10794. Fval: uint16(195),
  10795. },
  10796. 392: {
  10797. Fop: uint8(16),
  10798. Fbits: uint8(7),
  10799. Fval: uint16(10),
  10800. },
  10801. 393: {
  10802. Fbits: uint8(8),
  10803. Fval: uint16(97),
  10804. },
  10805. 394: {
  10806. Fbits: uint8(8),
  10807. Fval: uint16(33),
  10808. },
  10809. 395: {
  10810. Fbits: uint8(9),
  10811. Fval: uint16(163),
  10812. },
  10813. 396: {
  10814. Fbits: uint8(8),
  10815. Fval: uint16(1),
  10816. },
  10817. 397: {
  10818. Fbits: uint8(8),
  10819. Fval: uint16(129),
  10820. },
  10821. 398: {
  10822. Fbits: uint8(8),
  10823. Fval: uint16(65),
  10824. },
  10825. 399: {
  10826. Fbits: uint8(9),
  10827. Fval: uint16(227),
  10828. },
  10829. 400: {
  10830. Fop: uint8(16),
  10831. Fbits: uint8(7),
  10832. Fval: uint16(6),
  10833. },
  10834. 401: {
  10835. Fbits: uint8(8),
  10836. Fval: uint16(89),
  10837. },
  10838. 402: {
  10839. Fbits: uint8(8),
  10840. Fval: uint16(25),
  10841. },
  10842. 403: {
  10843. Fbits: uint8(9),
  10844. Fval: uint16(147),
  10845. },
  10846. 404: {
  10847. Fop: uint8(19),
  10848. Fbits: uint8(7),
  10849. Fval: uint16(59),
  10850. },
  10851. 405: {
  10852. Fbits: uint8(8),
  10853. Fval: uint16(121),
  10854. },
  10855. 406: {
  10856. Fbits: uint8(8),
  10857. Fval: uint16(57),
  10858. },
  10859. 407: {
  10860. Fbits: uint8(9),
  10861. Fval: uint16(211),
  10862. },
  10863. 408: {
  10864. Fop: uint8(17),
  10865. Fbits: uint8(7),
  10866. Fval: uint16(17),
  10867. },
  10868. 409: {
  10869. Fbits: uint8(8),
  10870. Fval: uint16(105),
  10871. },
  10872. 410: {
  10873. Fbits: uint8(8),
  10874. Fval: uint16(41),
  10875. },
  10876. 411: {
  10877. Fbits: uint8(9),
  10878. Fval: uint16(179),
  10879. },
  10880. 412: {
  10881. Fbits: uint8(8),
  10882. Fval: uint16(9),
  10883. },
  10884. 413: {
  10885. Fbits: uint8(8),
  10886. Fval: uint16(137),
  10887. },
  10888. 414: {
  10889. Fbits: uint8(8),
  10890. Fval: uint16(73),
  10891. },
  10892. 415: {
  10893. Fbits: uint8(9),
  10894. Fval: uint16(243),
  10895. },
  10896. 416: {
  10897. Fop: uint8(16),
  10898. Fbits: uint8(7),
  10899. Fval: uint16(4),
  10900. },
  10901. 417: {
  10902. Fbits: uint8(8),
  10903. Fval: uint16(85),
  10904. },
  10905. 418: {
  10906. Fbits: uint8(8),
  10907. Fval: uint16(21),
  10908. },
  10909. 419: {
  10910. Fop: uint8(16),
  10911. Fbits: uint8(8),
  10912. Fval: uint16(258),
  10913. },
  10914. 420: {
  10915. Fop: uint8(19),
  10916. Fbits: uint8(7),
  10917. Fval: uint16(43),
  10918. },
  10919. 421: {
  10920. Fbits: uint8(8),
  10921. Fval: uint16(117),
  10922. },
  10923. 422: {
  10924. Fbits: uint8(8),
  10925. Fval: uint16(53),
  10926. },
  10927. 423: {
  10928. Fbits: uint8(9),
  10929. Fval: uint16(203),
  10930. },
  10931. 424: {
  10932. Fop: uint8(17),
  10933. Fbits: uint8(7),
  10934. Fval: uint16(13),
  10935. },
  10936. 425: {
  10937. Fbits: uint8(8),
  10938. Fval: uint16(101),
  10939. },
  10940. 426: {
  10941. Fbits: uint8(8),
  10942. Fval: uint16(37),
  10943. },
  10944. 427: {
  10945. Fbits: uint8(9),
  10946. Fval: uint16(171),
  10947. },
  10948. 428: {
  10949. Fbits: uint8(8),
  10950. Fval: uint16(5),
  10951. },
  10952. 429: {
  10953. Fbits: uint8(8),
  10954. Fval: uint16(133),
  10955. },
  10956. 430: {
  10957. Fbits: uint8(8),
  10958. Fval: uint16(69),
  10959. },
  10960. 431: {
  10961. Fbits: uint8(9),
  10962. Fval: uint16(235),
  10963. },
  10964. 432: {
  10965. Fop: uint8(16),
  10966. Fbits: uint8(7),
  10967. Fval: uint16(8),
  10968. },
  10969. 433: {
  10970. Fbits: uint8(8),
  10971. Fval: uint16(93),
  10972. },
  10973. 434: {
  10974. Fbits: uint8(8),
  10975. Fval: uint16(29),
  10976. },
  10977. 435: {
  10978. Fbits: uint8(9),
  10979. Fval: uint16(155),
  10980. },
  10981. 436: {
  10982. Fop: uint8(20),
  10983. Fbits: uint8(7),
  10984. Fval: uint16(83),
  10985. },
  10986. 437: {
  10987. Fbits: uint8(8),
  10988. Fval: uint16(125),
  10989. },
  10990. 438: {
  10991. Fbits: uint8(8),
  10992. Fval: uint16(61),
  10993. },
  10994. 439: {
  10995. Fbits: uint8(9),
  10996. Fval: uint16(219),
  10997. },
  10998. 440: {
  10999. Fop: uint8(18),
  11000. Fbits: uint8(7),
  11001. Fval: uint16(23),
  11002. },
  11003. 441: {
  11004. Fbits: uint8(8),
  11005. Fval: uint16(109),
  11006. },
  11007. 442: {
  11008. Fbits: uint8(8),
  11009. Fval: uint16(45),
  11010. },
  11011. 443: {
  11012. Fbits: uint8(9),
  11013. Fval: uint16(187),
  11014. },
  11015. 444: {
  11016. Fbits: uint8(8),
  11017. Fval: uint16(13),
  11018. },
  11019. 445: {
  11020. Fbits: uint8(8),
  11021. Fval: uint16(141),
  11022. },
  11023. 446: {
  11024. Fbits: uint8(8),
  11025. Fval: uint16(77),
  11026. },
  11027. 447: {
  11028. Fbits: uint8(9),
  11029. Fval: uint16(251),
  11030. },
  11031. 448: {
  11032. Fop: uint8(16),
  11033. Fbits: uint8(7),
  11034. Fval: uint16(3),
  11035. },
  11036. 449: {
  11037. Fbits: uint8(8),
  11038. Fval: uint16(83),
  11039. },
  11040. 450: {
  11041. Fbits: uint8(8),
  11042. Fval: uint16(19),
  11043. },
  11044. 451: {
  11045. Fop: uint8(21),
  11046. Fbits: uint8(8),
  11047. Fval: uint16(195),
  11048. },
  11049. 452: {
  11050. Fop: uint8(19),
  11051. Fbits: uint8(7),
  11052. Fval: uint16(35),
  11053. },
  11054. 453: {
  11055. Fbits: uint8(8),
  11056. Fval: uint16(115),
  11057. },
  11058. 454: {
  11059. Fbits: uint8(8),
  11060. Fval: uint16(51),
  11061. },
  11062. 455: {
  11063. Fbits: uint8(9),
  11064. Fval: uint16(199),
  11065. },
  11066. 456: {
  11067. Fop: uint8(17),
  11068. Fbits: uint8(7),
  11069. Fval: uint16(11),
  11070. },
  11071. 457: {
  11072. Fbits: uint8(8),
  11073. Fval: uint16(99),
  11074. },
  11075. 458: {
  11076. Fbits: uint8(8),
  11077. Fval: uint16(35),
  11078. },
  11079. 459: {
  11080. Fbits: uint8(9),
  11081. Fval: uint16(167),
  11082. },
  11083. 460: {
  11084. Fbits: uint8(8),
  11085. Fval: uint16(3),
  11086. },
  11087. 461: {
  11088. Fbits: uint8(8),
  11089. Fval: uint16(131),
  11090. },
  11091. 462: {
  11092. Fbits: uint8(8),
  11093. Fval: uint16(67),
  11094. },
  11095. 463: {
  11096. Fbits: uint8(9),
  11097. Fval: uint16(231),
  11098. },
  11099. 464: {
  11100. Fop: uint8(16),
  11101. Fbits: uint8(7),
  11102. Fval: uint16(7),
  11103. },
  11104. 465: {
  11105. Fbits: uint8(8),
  11106. Fval: uint16(91),
  11107. },
  11108. 466: {
  11109. Fbits: uint8(8),
  11110. Fval: uint16(27),
  11111. },
  11112. 467: {
  11113. Fbits: uint8(9),
  11114. Fval: uint16(151),
  11115. },
  11116. 468: {
  11117. Fop: uint8(20),
  11118. Fbits: uint8(7),
  11119. Fval: uint16(67),
  11120. },
  11121. 469: {
  11122. Fbits: uint8(8),
  11123. Fval: uint16(123),
  11124. },
  11125. 470: {
  11126. Fbits: uint8(8),
  11127. Fval: uint16(59),
  11128. },
  11129. 471: {
  11130. Fbits: uint8(9),
  11131. Fval: uint16(215),
  11132. },
  11133. 472: {
  11134. Fop: uint8(18),
  11135. Fbits: uint8(7),
  11136. Fval: uint16(19),
  11137. },
  11138. 473: {
  11139. Fbits: uint8(8),
  11140. Fval: uint16(107),
  11141. },
  11142. 474: {
  11143. Fbits: uint8(8),
  11144. Fval: uint16(43),
  11145. },
  11146. 475: {
  11147. Fbits: uint8(9),
  11148. Fval: uint16(183),
  11149. },
  11150. 476: {
  11151. Fbits: uint8(8),
  11152. Fval: uint16(11),
  11153. },
  11154. 477: {
  11155. Fbits: uint8(8),
  11156. Fval: uint16(139),
  11157. },
  11158. 478: {
  11159. Fbits: uint8(8),
  11160. Fval: uint16(75),
  11161. },
  11162. 479: {
  11163. Fbits: uint8(9),
  11164. Fval: uint16(247),
  11165. },
  11166. 480: {
  11167. Fop: uint8(16),
  11168. Fbits: uint8(7),
  11169. Fval: uint16(5),
  11170. },
  11171. 481: {
  11172. Fbits: uint8(8),
  11173. Fval: uint16(87),
  11174. },
  11175. 482: {
  11176. Fbits: uint8(8),
  11177. Fval: uint16(23),
  11178. },
  11179. 483: {
  11180. Fop: uint8(64),
  11181. Fbits: uint8(8),
  11182. },
  11183. 484: {
  11184. Fop: uint8(19),
  11185. Fbits: uint8(7),
  11186. Fval: uint16(51),
  11187. },
  11188. 485: {
  11189. Fbits: uint8(8),
  11190. Fval: uint16(119),
  11191. },
  11192. 486: {
  11193. Fbits: uint8(8),
  11194. Fval: uint16(55),
  11195. },
  11196. 487: {
  11197. Fbits: uint8(9),
  11198. Fval: uint16(207),
  11199. },
  11200. 488: {
  11201. Fop: uint8(17),
  11202. Fbits: uint8(7),
  11203. Fval: uint16(15),
  11204. },
  11205. 489: {
  11206. Fbits: uint8(8),
  11207. Fval: uint16(103),
  11208. },
  11209. 490: {
  11210. Fbits: uint8(8),
  11211. Fval: uint16(39),
  11212. },
  11213. 491: {
  11214. Fbits: uint8(9),
  11215. Fval: uint16(175),
  11216. },
  11217. 492: {
  11218. Fbits: uint8(8),
  11219. Fval: uint16(7),
  11220. },
  11221. 493: {
  11222. Fbits: uint8(8),
  11223. Fval: uint16(135),
  11224. },
  11225. 494: {
  11226. Fbits: uint8(8),
  11227. Fval: uint16(71),
  11228. },
  11229. 495: {
  11230. Fbits: uint8(9),
  11231. Fval: uint16(239),
  11232. },
  11233. 496: {
  11234. Fop: uint8(16),
  11235. Fbits: uint8(7),
  11236. Fval: uint16(9),
  11237. },
  11238. 497: {
  11239. Fbits: uint8(8),
  11240. Fval: uint16(95),
  11241. },
  11242. 498: {
  11243. Fbits: uint8(8),
  11244. Fval: uint16(31),
  11245. },
  11246. 499: {
  11247. Fbits: uint8(9),
  11248. Fval: uint16(159),
  11249. },
  11250. 500: {
  11251. Fop: uint8(20),
  11252. Fbits: uint8(7),
  11253. Fval: uint16(99),
  11254. },
  11255. 501: {
  11256. Fbits: uint8(8),
  11257. Fval: uint16(127),
  11258. },
  11259. 502: {
  11260. Fbits: uint8(8),
  11261. Fval: uint16(63),
  11262. },
  11263. 503: {
  11264. Fbits: uint8(9),
  11265. Fval: uint16(223),
  11266. },
  11267. 504: {
  11268. Fop: uint8(18),
  11269. Fbits: uint8(7),
  11270. Fval: uint16(27),
  11271. },
  11272. 505: {
  11273. Fbits: uint8(8),
  11274. Fval: uint16(111),
  11275. },
  11276. 506: {
  11277. Fbits: uint8(8),
  11278. Fval: uint16(47),
  11279. },
  11280. 507: {
  11281. Fbits: uint8(9),
  11282. Fval: uint16(191),
  11283. },
  11284. 508: {
  11285. Fbits: uint8(8),
  11286. Fval: uint16(15),
  11287. },
  11288. 509: {
  11289. Fbits: uint8(8),
  11290. Fval: uint16(143),
  11291. },
  11292. 510: {
  11293. Fbits: uint8(8),
  11294. Fval: uint16(79),
  11295. },
  11296. 511: {
  11297. Fbits: uint8(9),
  11298. Fval: uint16(255),
  11299. },
  11300. }
  11301. var _distfix = [32]Tcode{
  11302. 0: {
  11303. Fop: uint8(16),
  11304. Fbits: uint8(5),
  11305. Fval: uint16(1),
  11306. },
  11307. 1: {
  11308. Fop: uint8(23),
  11309. Fbits: uint8(5),
  11310. Fval: uint16(257),
  11311. },
  11312. 2: {
  11313. Fop: uint8(19),
  11314. Fbits: uint8(5),
  11315. Fval: uint16(17),
  11316. },
  11317. 3: {
  11318. Fop: uint8(27),
  11319. Fbits: uint8(5),
  11320. Fval: uint16(4097),
  11321. },
  11322. 4: {
  11323. Fop: uint8(17),
  11324. Fbits: uint8(5),
  11325. Fval: uint16(5),
  11326. },
  11327. 5: {
  11328. Fop: uint8(25),
  11329. Fbits: uint8(5),
  11330. Fval: uint16(1025),
  11331. },
  11332. 6: {
  11333. Fop: uint8(21),
  11334. Fbits: uint8(5),
  11335. Fval: uint16(65),
  11336. },
  11337. 7: {
  11338. Fop: uint8(29),
  11339. Fbits: uint8(5),
  11340. Fval: uint16(16385),
  11341. },
  11342. 8: {
  11343. Fop: uint8(16),
  11344. Fbits: uint8(5),
  11345. Fval: uint16(3),
  11346. },
  11347. 9: {
  11348. Fop: uint8(24),
  11349. Fbits: uint8(5),
  11350. Fval: uint16(513),
  11351. },
  11352. 10: {
  11353. Fop: uint8(20),
  11354. Fbits: uint8(5),
  11355. Fval: uint16(33),
  11356. },
  11357. 11: {
  11358. Fop: uint8(28),
  11359. Fbits: uint8(5),
  11360. Fval: uint16(8193),
  11361. },
  11362. 12: {
  11363. Fop: uint8(18),
  11364. Fbits: uint8(5),
  11365. Fval: uint16(9),
  11366. },
  11367. 13: {
  11368. Fop: uint8(26),
  11369. Fbits: uint8(5),
  11370. Fval: uint16(2049),
  11371. },
  11372. 14: {
  11373. Fop: uint8(22),
  11374. Fbits: uint8(5),
  11375. Fval: uint16(129),
  11376. },
  11377. 15: {
  11378. Fop: uint8(64),
  11379. Fbits: uint8(5),
  11380. },
  11381. 16: {
  11382. Fop: uint8(16),
  11383. Fbits: uint8(5),
  11384. Fval: uint16(2),
  11385. },
  11386. 17: {
  11387. Fop: uint8(23),
  11388. Fbits: uint8(5),
  11389. Fval: uint16(385),
  11390. },
  11391. 18: {
  11392. Fop: uint8(19),
  11393. Fbits: uint8(5),
  11394. Fval: uint16(25),
  11395. },
  11396. 19: {
  11397. Fop: uint8(27),
  11398. Fbits: uint8(5),
  11399. Fval: uint16(6145),
  11400. },
  11401. 20: {
  11402. Fop: uint8(17),
  11403. Fbits: uint8(5),
  11404. Fval: uint16(7),
  11405. },
  11406. 21: {
  11407. Fop: uint8(25),
  11408. Fbits: uint8(5),
  11409. Fval: uint16(1537),
  11410. },
  11411. 22: {
  11412. Fop: uint8(21),
  11413. Fbits: uint8(5),
  11414. Fval: uint16(97),
  11415. },
  11416. 23: {
  11417. Fop: uint8(29),
  11418. Fbits: uint8(5),
  11419. Fval: uint16(24577),
  11420. },
  11421. 24: {
  11422. Fop: uint8(16),
  11423. Fbits: uint8(5),
  11424. Fval: uint16(4),
  11425. },
  11426. 25: {
  11427. Fop: uint8(24),
  11428. Fbits: uint8(5),
  11429. Fval: uint16(769),
  11430. },
  11431. 26: {
  11432. Fop: uint8(20),
  11433. Fbits: uint8(5),
  11434. Fval: uint16(49),
  11435. },
  11436. 27: {
  11437. Fop: uint8(28),
  11438. Fbits: uint8(5),
  11439. Fval: uint16(12289),
  11440. },
  11441. 28: {
  11442. Fop: uint8(18),
  11443. Fbits: uint8(5),
  11444. Fval: uint16(13),
  11445. },
  11446. 29: {
  11447. Fop: uint8(26),
  11448. Fbits: uint8(5),
  11449. Fval: uint16(3073),
  11450. },
  11451. 30: {
  11452. Fop: uint8(22),
  11453. Fbits: uint8(5),
  11454. Fval: uint16(193),
  11455. },
  11456. 31: {
  11457. Fop: uint8(64),
  11458. Fbits: uint8(5),
  11459. },
  11460. }
  11461. /* Macros for inflateBack(): */
  11462. /* Load returned state from inflate_fast() */
  11463. /* Set state from registers for inflate_fast() */
  11464. /* Clear the input bit accumulator */
  11465. /* Assure that some input is available. If input is requested, but denied,
  11466. then return a Z_BUF_ERROR from inflateBack(). */
  11467. /* Get a byte of input into the bit accumulator, or return from inflateBack()
  11468. with an error if there is no input available. */
  11469. /* Assure that there are at least n bits in the bit accumulator. If there is
  11470. not enough available input to do that, then return from inflateBack() with
  11471. an error. */
  11472. /* Return the low n bits of the bit accumulator (n < 16) */
  11473. /* Remove n bits from the bit accumulator */
  11474. /* Remove zero to seven bits as needed to go to a byte boundary */
  11475. /* Assure that some output space is available, by writing out the window
  11476. if it's full. If the write fails, return from inflateBack() with a
  11477. Z_BUF_ERROR. */
  11478. // C documentation
  11479. //
  11480. // /*
  11481. // strm provides the memory allocation functions and window buffer on input,
  11482. // and provides information on the unused input on return. For Z_DATA_ERROR
  11483. // returns, strm will also provide an error message.
  11484. //
  11485. // in() and out() are the call-back input and output functions. When
  11486. // inflateBack() needs more input, it calls in(). When inflateBack() has
  11487. // filled the window with output, or when it completes with data in the
  11488. // window, it calls out() to write out the data. The application must not
  11489. // change the provided input until in() is called again or inflateBack()
  11490. // returns. The application must not change the window/output buffer until
  11491. // inflateBack() returns.
  11492. //
  11493. // in() and out() are called with a descriptor parameter provided in the
  11494. // inflateBack() call. This parameter can be a structure that provides the
  11495. // information required to do the read or write, as well as accumulated
  11496. // information on the input and output such as totals and check values.
  11497. //
  11498. // in() should return zero on failure. out() should return non-zero on
  11499. // failure. If either in() or out() fails, than inflateBack() returns a
  11500. // Z_BUF_ERROR. strm->next_in can be checked for Z_NULL to see whether it
  11501. // was in() or out() that caused in the error. Otherwise, inflateBack()
  11502. // returns Z_STREAM_END on success, Z_DATA_ERROR for an deflate format
  11503. // error, or Z_MEM_ERROR if it could not allocate memory for the state.
  11504. // inflateBack() can also return Z_STREAM_ERROR if the input parameters
  11505. // are not correct, i.e. strm is Z_NULL or the state was not initialized.
  11506. // */
  11507. func XinflateBack(tls *libc.TLS, strm Tz_streamp, in Tin_func, in_desc uintptr, out Tout_func, out_desc uintptr) (r int32) {
  11508. bp := tls.Alloc(16)
  11509. defer tls.Free(16)
  11510. var bits, copy1, have, left, len1, v1, v18, v20, v24, v29, v30, v43, v44 uint32
  11511. var from, put, state, v11, v15, v16, v17, v19, v21, v23, v25, v26, v27, v28, v31, v33, v35, v36, v37, v39, v41, v42, v46, v47 uintptr
  11512. var here, last Tcode
  11513. var hold uint64
  11514. var ret int32
  11515. var _ /* next at bp+0 */ uintptr
  11516. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bits, copy1, from, have, here, hold, last, left, len1, put, ret, state, v1, v11, v15, v16, v17, v18, v19, v20, v21, v23, v24, v25, v26, v27, v28, v29, v30, v31, v33, v35, v36, v37, v39, v41, v42, v43, v44, v46, v47 /* return code */
  11517. /* Check that the strm exists and that the state was initialized */
  11518. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fstate == uintptr(m_Z_NULL) {
  11519. return -int32(2)
  11520. }
  11521. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  11522. /* Reset the state */
  11523. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
  11524. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  11525. (*Tinflate_state)(unsafe.Pointer(state)).Flast = 0
  11526. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  11527. *(*uintptr)(unsafe.Pointer(bp)) = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  11528. if *(*uintptr)(unsafe.Pointer(bp)) != uintptr(m_Z_NULL) {
  11529. v1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  11530. } else {
  11531. v1 = uint32(0)
  11532. }
  11533. have = v1
  11534. hold = uint64(0)
  11535. bits = uint32(0)
  11536. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  11537. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  11538. /* Inflate until end of block marked as last */
  11539. for {
  11540. switch (*Tinflate_state)(unsafe.Pointer(state)).Fmode {
  11541. case int32(_TYPE):
  11542. goto _3
  11543. case int32(_STORED):
  11544. goto _4
  11545. case int32(_TABLE):
  11546. goto _5
  11547. case int32(_LEN):
  11548. goto _6
  11549. case int32(_DONE):
  11550. goto _7
  11551. case int32(_BAD):
  11552. goto _8
  11553. default:
  11554. goto _9
  11555. }
  11556. goto _10
  11557. _3:
  11558. ;
  11559. /* determine and dispatch block type */
  11560. if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
  11561. hold >>= uint64(bits & uint32(7))
  11562. bits -= bits & uint32(7)
  11563. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DONE)
  11564. goto _10
  11565. }
  11566. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  11567. if have == uint32(0) {
  11568. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11569. if have == uint32(0) {
  11570. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11571. ret = -int32(5)
  11572. goto inf_leave
  11573. }
  11574. }
  11575. have--
  11576. v11 = *(*uintptr)(unsafe.Pointer(bp))
  11577. *(*uintptr)(unsafe.Pointer(bp))++
  11578. hold += uint64(*(*uint8)(unsafe.Pointer(v11))) << bits
  11579. bits += uint32(8)
  11580. }
  11581. (*Tinflate_state)(unsafe.Pointer(state)).Flast = libc.Int32FromUint32(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(1) - libc.Uint32FromInt32(1)))
  11582. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(1))
  11583. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(1))
  11584. switch uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2) - libc.Uint32FromInt32(1)) {
  11585. case uint32(0): /* stored block */
  11586. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_STORED)
  11587. case uint32(1): /* fixed block */
  11588. _fixedtables(tls, state)
  11589. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN) /* decode codes */
  11590. case uint32(2): /* dynamic block */
  11591. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TABLE)
  11592. case uint32(3):
  11593. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 6
  11594. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11595. }
  11596. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  11597. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  11598. goto _10
  11599. _4:
  11600. ;
  11601. /* get and verify stored block length */
  11602. _14:
  11603. ;
  11604. hold >>= uint64(bits & uint32(7))
  11605. bits -= bits & uint32(7)
  11606. goto _13
  11607. _13:
  11608. ;
  11609. if 0 != 0 {
  11610. goto _14
  11611. }
  11612. goto _12
  11613. _12:
  11614. ; /* go to byte boundary */
  11615. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  11616. if have == uint32(0) {
  11617. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11618. if have == uint32(0) {
  11619. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11620. ret = -int32(5)
  11621. goto inf_leave
  11622. }
  11623. }
  11624. have--
  11625. v15 = *(*uintptr)(unsafe.Pointer(bp))
  11626. *(*uintptr)(unsafe.Pointer(bp))++
  11627. hold += uint64(*(*uint8)(unsafe.Pointer(v15))) << bits
  11628. bits += uint32(8)
  11629. }
  11630. if hold&uint64(0xffff) != hold>>int32(16)^uint64(0xffff) {
  11631. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 25
  11632. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11633. goto _10
  11634. }
  11635. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold) & uint32(0xffff)
  11636. hold = uint64(0)
  11637. bits = uint32(0)
  11638. /* copy stored block from input to output */
  11639. for (*Tinflate_state)(unsafe.Pointer(state)).Flength != uint32(0) {
  11640. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  11641. if have == uint32(0) {
  11642. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11643. if have == uint32(0) {
  11644. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11645. ret = -int32(5)
  11646. goto inf_leave
  11647. }
  11648. }
  11649. if left == uint32(0) {
  11650. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  11651. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  11652. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
  11653. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
  11654. ret = -int32(5)
  11655. goto inf_leave
  11656. }
  11657. }
  11658. if copy1 > have {
  11659. copy1 = have
  11660. }
  11661. if copy1 > left {
  11662. copy1 = left
  11663. }
  11664. libc.Xmemcpy(tls, put, *(*uintptr)(unsafe.Pointer(bp)), uint64(copy1))
  11665. have -= copy1
  11666. *(*uintptr)(unsafe.Pointer(bp)) += uintptr(copy1)
  11667. left -= copy1
  11668. put += uintptr(copy1)
  11669. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  11670. }
  11671. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  11672. goto _10
  11673. _5:
  11674. ;
  11675. /* get dynamic table entries descriptor */
  11676. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(14)) {
  11677. if have == uint32(0) {
  11678. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11679. if have == uint32(0) {
  11680. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11681. ret = -int32(5)
  11682. goto inf_leave
  11683. }
  11684. }
  11685. have--
  11686. v16 = *(*uintptr)(unsafe.Pointer(bp))
  11687. *(*uintptr)(unsafe.Pointer(bp))++
  11688. hold += uint64(*(*uint8)(unsafe.Pointer(v16))) << bits
  11689. bits += uint32(8)
  11690. }
  11691. (*Tinflate_state)(unsafe.Pointer(state)).Fnlen = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(257)
  11692. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  11693. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  11694. (*Tinflate_state)(unsafe.Pointer(state)).Fndist = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(1)
  11695. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  11696. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  11697. (*Tinflate_state)(unsafe.Pointer(state)).Fncode = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(4)
  11698. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
  11699. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
  11700. if (*Tinflate_state)(unsafe.Pointer(state)).Fnlen > uint32(286) || (*Tinflate_state)(unsafe.Pointer(state)).Fndist > uint32(30) {
  11701. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 54
  11702. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11703. goto _10
  11704. }
  11705. /* get code length code lengths (not a typo) */
  11706. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  11707. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fncode {
  11708. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  11709. if have == uint32(0) {
  11710. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11711. if have == uint32(0) {
  11712. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11713. ret = -int32(5)
  11714. goto inf_leave
  11715. }
  11716. }
  11717. have--
  11718. v17 = *(*uintptr)(unsafe.Pointer(bp))
  11719. *(*uintptr)(unsafe.Pointer(bp))++
  11720. hold += uint64(*(*uint8)(unsafe.Pointer(v17))) << bits
  11721. bits += uint32(8)
  11722. }
  11723. v19 = state + 140
  11724. v18 = *(*uint32)(unsafe.Pointer(v19))
  11725. *(*uint32)(unsafe.Pointer(v19))++
  11726. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order[v18])*2)) = uint16(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3) - libc.Uint32FromInt32(1)))
  11727. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  11728. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  11729. }
  11730. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < uint32(19) {
  11731. v21 = state + 140
  11732. v20 = *(*uint32)(unsafe.Pointer(v21))
  11733. *(*uint32)(unsafe.Pointer(v21))++
  11734. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order[v20])*2)) = uint16(0)
  11735. }
  11736. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  11737. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  11738. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(7)
  11739. ret = Xinflate_table(tls, int32(_CODES), state+152, uint32(19), state+144, state+120, state+792)
  11740. if ret != 0 {
  11741. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 90
  11742. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11743. goto _10
  11744. }
  11745. /* get length and distance code code lengths */
  11746. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  11747. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  11748. for {
  11749. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits-libc.Uint32FromInt32(1)))*4))
  11750. if uint32(here.Fbits) <= bits {
  11751. break
  11752. }
  11753. if have == uint32(0) {
  11754. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11755. if have == uint32(0) {
  11756. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11757. ret = -int32(5)
  11758. goto inf_leave
  11759. }
  11760. }
  11761. have--
  11762. v23 = *(*uintptr)(unsafe.Pointer(bp))
  11763. *(*uintptr)(unsafe.Pointer(bp))++
  11764. hold += uint64(*(*uint8)(unsafe.Pointer(v23))) << bits
  11765. bits += uint32(8)
  11766. goto _22
  11767. _22:
  11768. }
  11769. if libc.Int32FromUint16(here.Fval) < int32(16) {
  11770. hold >>= uint64(here.Fbits)
  11771. bits -= uint32(here.Fbits)
  11772. v25 = state + 140
  11773. v24 = *(*uint32)(unsafe.Pointer(v25))
  11774. *(*uint32)(unsafe.Pointer(v25))++
  11775. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v24)*2)) = here.Fval
  11776. } else {
  11777. if libc.Int32FromUint16(here.Fval) == int32(16) {
  11778. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(2)) {
  11779. if have == uint32(0) {
  11780. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11781. if have == uint32(0) {
  11782. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11783. ret = -int32(5)
  11784. goto inf_leave
  11785. }
  11786. }
  11787. have--
  11788. v26 = *(*uintptr)(unsafe.Pointer(bp))
  11789. *(*uintptr)(unsafe.Pointer(bp))++
  11790. hold += uint64(*(*uint8)(unsafe.Pointer(v26))) << bits
  11791. bits += uint32(8)
  11792. }
  11793. hold >>= uint64(here.Fbits)
  11794. bits -= uint32(here.Fbits)
  11795. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave == uint32(0) {
  11796. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  11797. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11798. break
  11799. }
  11800. len1 = uint32(*(*uint16)(unsafe.Pointer(state + 152 + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fhave-uint32(1))*2)))
  11801. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2)-libc.Uint32FromInt32(1))
  11802. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  11803. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  11804. } else {
  11805. if libc.Int32FromUint16(here.Fval) == int32(17) {
  11806. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(3)) {
  11807. if have == uint32(0) {
  11808. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11809. if have == uint32(0) {
  11810. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11811. ret = -int32(5)
  11812. goto inf_leave
  11813. }
  11814. }
  11815. have--
  11816. v27 = *(*uintptr)(unsafe.Pointer(bp))
  11817. *(*uintptr)(unsafe.Pointer(bp))++
  11818. hold += uint64(*(*uint8)(unsafe.Pointer(v27))) << bits
  11819. bits += uint32(8)
  11820. }
  11821. hold >>= uint64(here.Fbits)
  11822. bits -= uint32(here.Fbits)
  11823. len1 = uint32(0)
  11824. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3)-libc.Uint32FromInt32(1))
  11825. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  11826. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  11827. } else {
  11828. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(7)) {
  11829. if have == uint32(0) {
  11830. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11831. if have == uint32(0) {
  11832. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11833. ret = -int32(5)
  11834. goto inf_leave
  11835. }
  11836. }
  11837. have--
  11838. v28 = *(*uintptr)(unsafe.Pointer(bp))
  11839. *(*uintptr)(unsafe.Pointer(bp))++
  11840. hold += uint64(*(*uint8)(unsafe.Pointer(v28))) << bits
  11841. bits += uint32(8)
  11842. }
  11843. hold >>= uint64(here.Fbits)
  11844. bits -= uint32(here.Fbits)
  11845. len1 = uint32(0)
  11846. copy1 = uint32(11) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(7)-libc.Uint32FromInt32(1))
  11847. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(7))
  11848. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(7))
  11849. }
  11850. }
  11851. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave+copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  11852. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  11853. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11854. break
  11855. }
  11856. for {
  11857. v29 = copy1
  11858. copy1--
  11859. if !(v29 != 0) {
  11860. break
  11861. }
  11862. v31 = state + 140
  11863. v30 = *(*uint32)(unsafe.Pointer(v31))
  11864. *(*uint32)(unsafe.Pointer(v31))++
  11865. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v30)*2)) = uint16(len1)
  11866. }
  11867. }
  11868. }
  11869. /* handle error breaks in while */
  11870. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_BAD) {
  11871. goto _10
  11872. }
  11873. /* check for end-of-block code (better have one) */
  11874. if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(state + 152 + 256*2))) == 0 {
  11875. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 141
  11876. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11877. goto _10
  11878. }
  11879. /* build code tables -- note: do not change the lenbits or distbits
  11880. values here (9 and 6) without reading the comments in inftrees.h
  11881. concerning the ENOUGH constants, which depend on those values */
  11882. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  11883. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  11884. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  11885. ret = Xinflate_table(tls, int32(_LENS), state+152, (*Tinflate_state)(unsafe.Pointer(state)).Fnlen, state+144, state+120, state+792)
  11886. if ret != 0 {
  11887. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 178
  11888. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11889. goto _10
  11890. }
  11891. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  11892. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(6)
  11893. ret = Xinflate_table(tls, int32(_DISTS), state+152+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fnlen)*2, (*Tinflate_state)(unsafe.Pointer(state)).Fndist, state+144, state+124, state+792)
  11894. if ret != 0 {
  11895. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 206
  11896. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11897. goto _10
  11898. }
  11899. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  11900. /* fallthrough */
  11901. _6:
  11902. ;
  11903. /* use inflate_fast() if we have enough input and output */
  11904. if have >= uint32(6) && left >= uint32(258) {
  11905. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  11906. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  11907. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = *(*uintptr)(unsafe.Pointer(bp))
  11908. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  11909. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  11910. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  11911. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  11912. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - left
  11913. }
  11914. Xinflate_fast(tls, strm, (*Tinflate_state)(unsafe.Pointer(state)).Fwsize)
  11915. put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  11916. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  11917. *(*uintptr)(unsafe.Pointer(bp)) = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  11918. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  11919. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  11920. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  11921. goto _10
  11922. }
  11923. /* get a literal, length, or end-of-block code */
  11924. for {
  11925. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits-libc.Uint32FromInt32(1)))*4))
  11926. if uint32(here.Fbits) <= bits {
  11927. break
  11928. }
  11929. if have == uint32(0) {
  11930. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11931. if have == uint32(0) {
  11932. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11933. ret = -int32(5)
  11934. goto inf_leave
  11935. }
  11936. }
  11937. have--
  11938. v33 = *(*uintptr)(unsafe.Pointer(bp))
  11939. *(*uintptr)(unsafe.Pointer(bp))++
  11940. hold += uint64(*(*uint8)(unsafe.Pointer(v33))) << bits
  11941. bits += uint32(8)
  11942. goto _32
  11943. _32:
  11944. }
  11945. if here.Fop != 0 && libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  11946. last = here
  11947. for {
  11948. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(last.Fop))-uint32(1))>>last.Fbits)*4))
  11949. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  11950. break
  11951. }
  11952. if have == uint32(0) {
  11953. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11954. if have == uint32(0) {
  11955. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11956. ret = -int32(5)
  11957. goto inf_leave
  11958. }
  11959. }
  11960. have--
  11961. v35 = *(*uintptr)(unsafe.Pointer(bp))
  11962. *(*uintptr)(unsafe.Pointer(bp))++
  11963. hold += uint64(*(*uint8)(unsafe.Pointer(v35))) << bits
  11964. bits += uint32(8)
  11965. goto _34
  11966. _34:
  11967. }
  11968. hold >>= uint64(last.Fbits)
  11969. bits -= uint32(last.Fbits)
  11970. }
  11971. hold >>= uint64(here.Fbits)
  11972. bits -= uint32(here.Fbits)
  11973. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(here.Fval)
  11974. /* process literal */
  11975. if libc.Int32FromUint8(here.Fop) == 0 {
  11976. if left == uint32(0) {
  11977. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  11978. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  11979. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
  11980. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
  11981. ret = -int32(5)
  11982. goto inf_leave
  11983. }
  11984. }
  11985. v36 = put
  11986. put++
  11987. *(*uint8)(unsafe.Pointer(v36)) = uint8((*Tinflate_state)(unsafe.Pointer(state)).Flength)
  11988. left--
  11989. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  11990. goto _10
  11991. }
  11992. /* process end of block */
  11993. if libc.Int32FromUint8(here.Fop)&int32(32) != 0 {
  11994. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  11995. goto _10
  11996. }
  11997. /* invalid code */
  11998. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  11999. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
  12000. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12001. goto _10
  12002. }
  12003. /* length code -- get extra bits, if any */
  12004. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  12005. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != uint32(0) {
  12006. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  12007. if have == uint32(0) {
  12008. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12009. if have == uint32(0) {
  12010. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12011. ret = -int32(5)
  12012. goto inf_leave
  12013. }
  12014. }
  12015. have--
  12016. v37 = *(*uintptr)(unsafe.Pointer(bp))
  12017. *(*uintptr)(unsafe.Pointer(bp))++
  12018. hold += uint64(*(*uint8)(unsafe.Pointer(v37))) << bits
  12019. bits += uint32(8)
  12020. }
  12021. *(*uint32)(unsafe.Pointer(state + 92)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  12022. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  12023. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  12024. }
  12025. /* get distance code */
  12026. for {
  12027. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fdistbits-libc.Uint32FromInt32(1)))*4))
  12028. if uint32(here.Fbits) <= bits {
  12029. break
  12030. }
  12031. if have == uint32(0) {
  12032. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12033. if have == uint32(0) {
  12034. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12035. ret = -int32(5)
  12036. goto inf_leave
  12037. }
  12038. }
  12039. have--
  12040. v39 = *(*uintptr)(unsafe.Pointer(bp))
  12041. *(*uintptr)(unsafe.Pointer(bp))++
  12042. hold += uint64(*(*uint8)(unsafe.Pointer(v39))) << bits
  12043. bits += uint32(8)
  12044. goto _38
  12045. _38:
  12046. }
  12047. if libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  12048. last = here
  12049. for {
  12050. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(last.Fop))-uint32(1))>>last.Fbits)*4))
  12051. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  12052. break
  12053. }
  12054. if have == uint32(0) {
  12055. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12056. if have == uint32(0) {
  12057. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12058. ret = -int32(5)
  12059. goto inf_leave
  12060. }
  12061. }
  12062. have--
  12063. v41 = *(*uintptr)(unsafe.Pointer(bp))
  12064. *(*uintptr)(unsafe.Pointer(bp))++
  12065. hold += uint64(*(*uint8)(unsafe.Pointer(v41))) << bits
  12066. bits += uint32(8)
  12067. goto _40
  12068. _40:
  12069. }
  12070. hold >>= uint64(last.Fbits)
  12071. bits -= uint32(last.Fbits)
  12072. }
  12073. hold >>= uint64(here.Fbits)
  12074. bits -= uint32(here.Fbits)
  12075. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  12076. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
  12077. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12078. goto _10
  12079. }
  12080. (*Tinflate_state)(unsafe.Pointer(state)).Foffset = uint32(here.Fval)
  12081. /* get distance extra bits, if any */
  12082. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  12083. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != uint32(0) {
  12084. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  12085. if have == uint32(0) {
  12086. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12087. if have == uint32(0) {
  12088. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12089. ret = -int32(5)
  12090. goto inf_leave
  12091. }
  12092. }
  12093. have--
  12094. v42 = *(*uintptr)(unsafe.Pointer(bp))
  12095. *(*uintptr)(unsafe.Pointer(bp))++
  12096. hold += uint64(*(*uint8)(unsafe.Pointer(v42))) << bits
  12097. bits += uint32(8)
  12098. }
  12099. *(*uint32)(unsafe.Pointer(state + 96)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  12100. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  12101. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  12102. }
  12103. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  12104. v43 = left
  12105. } else {
  12106. v43 = uint32(0)
  12107. }
  12108. if (*Tinflate_state)(unsafe.Pointer(state)).Foffset > (*Tinflate_state)(unsafe.Pointer(state)).Fwsize-v43 {
  12109. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
  12110. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12111. goto _10
  12112. }
  12113. /* copy match from window to output */
  12114. for cond := true; cond; cond = (*Tinflate_state)(unsafe.Pointer(state)).Flength != uint32(0) {
  12115. if left == uint32(0) {
  12116. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  12117. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  12118. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
  12119. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
  12120. ret = -int32(5)
  12121. goto inf_leave
  12122. }
  12123. }
  12124. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - (*Tinflate_state)(unsafe.Pointer(state)).Foffset
  12125. if copy1 < left {
  12126. from = put + uintptr(copy1)
  12127. copy1 = left - copy1
  12128. } else {
  12129. from = put - uintptr((*Tinflate_state)(unsafe.Pointer(state)).Foffset)
  12130. copy1 = left
  12131. }
  12132. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Flength {
  12133. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  12134. }
  12135. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  12136. left -= copy1
  12137. for {
  12138. v46 = put
  12139. put++
  12140. v47 = from
  12141. from++
  12142. *(*uint8)(unsafe.Pointer(v46)) = *(*uint8)(unsafe.Pointer(v47))
  12143. goto _45
  12144. _45:
  12145. ;
  12146. copy1--
  12147. v44 = copy1
  12148. if !(v44 != 0) {
  12149. break
  12150. }
  12151. }
  12152. }
  12153. goto _10
  12154. _7:
  12155. ;
  12156. /* inflate stream terminated properly */
  12157. ret = int32(m_Z_STREAM_END)
  12158. goto inf_leave
  12159. _8:
  12160. ;
  12161. ret = -int32(3)
  12162. goto inf_leave
  12163. _9:
  12164. ;
  12165. /* can't happen, but makes compilers happy */
  12166. ret = -int32(2)
  12167. goto inf_leave
  12168. _10:
  12169. ;
  12170. goto _2
  12171. _2:
  12172. }
  12173. /* Write leftover output and return unused input */
  12174. goto inf_leave
  12175. inf_leave:
  12176. ;
  12177. if left < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  12178. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, (*Tinflate_state)(unsafe.Pointer(state)).Fwsize-left) != 0 && ret == int32(m_Z_STREAM_END) {
  12179. ret = -int32(5)
  12180. }
  12181. }
  12182. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = *(*uintptr)(unsafe.Pointer(bp))
  12183. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  12184. return ret
  12185. }
  12186. var _order = [19]uint16{
  12187. 0: uint16(16),
  12188. 1: uint16(17),
  12189. 2: uint16(18),
  12190. 4: uint16(8),
  12191. 5: uint16(7),
  12192. 6: uint16(9),
  12193. 7: uint16(6),
  12194. 8: uint16(10),
  12195. 9: uint16(5),
  12196. 10: uint16(11),
  12197. 11: uint16(4),
  12198. 12: uint16(12),
  12199. 13: uint16(3),
  12200. 14: uint16(13),
  12201. 15: uint16(2),
  12202. 16: uint16(14),
  12203. 17: uint16(1),
  12204. 18: uint16(15),
  12205. }
  12206. func XinflateBackEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
  12207. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fstate == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  12208. return -int32(2)
  12209. }
  12210. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tz_stream)(unsafe.Pointer(strm)).Fstate)
  12211. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  12212. return m_Z_OK
  12213. }
  12214. // C documentation
  12215. //
  12216. // /*
  12217. // Decode literal, length, and distance codes and write out the resulting
  12218. // literal and match bytes until either not enough input or output is
  12219. // available, an end-of-block is encountered, or a data error is encountered.
  12220. // When large enough input and output buffers are supplied to inflate(), for
  12221. // example, a 16K input buffer and a 64K output buffer, more than 95% of the
  12222. // inflate execution time is spent in this routine.
  12223. //
  12224. // Entry assumptions:
  12225. //
  12226. // state->mode == LEN
  12227. // strm->avail_in >= 6
  12228. // strm->avail_out >= 258
  12229. // start >= strm->avail_out
  12230. // state->bits < 8
  12231. //
  12232. // On return, state->mode is one of:
  12233. //
  12234. // LEN -- ran out of enough output space or enough available input
  12235. // TYPE -- reached end of block code, inflate() to interpret next block
  12236. // BAD -- error in block data
  12237. //
  12238. // Notes:
  12239. //
  12240. // - The maximum input bits used by a length/distance pair is 15 bits for the
  12241. // length code, 5 bits for the length extra, 15 bits for the distance code,
  12242. // and 13 bits for the distance extra. This totals 48 bits, or six bytes.
  12243. // Therefore if strm->avail_in >= 6, then there is enough input to avoid
  12244. // checking for available input while decoding.
  12245. //
  12246. // - The maximum bytes that a single length/distance pair can output is 258
  12247. // bytes, which is the maximum length that can be coded. inflate_fast()
  12248. // requires strm->avail_out >= 258 for each loop to avoid checking for
  12249. // output space.
  12250. // */
  12251. func Xinflate_fast(tls *libc.TLS, strm Tz_streamp, start uint32) {
  12252. var beg, dcode, end, from, here, in, last, lcode, out, state, window, v1, v11, v12, v15, v16, v19, v2, v20, v23, v24, v25, v26, v27, v28, v29, v3, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v4, v40, v41, v42, v43, v44, v5, v6, v7, v8 uintptr
  12253. var bits, dist, dmask, len1, lmask, op, whave, wnext, wsize, v13, v17, v21, v9 uint32
  12254. var hold uint64
  12255. var v45, v46 int64
  12256. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = beg, bits, dcode, dist, dmask, end, from, here, hold, in, last, lcode, len1, lmask, op, out, state, whave, window, wnext, wsize, v1, v11, v12, v13, v15, v16, v17, v19, v2, v20, v21, 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, v5, v6, v7, v8, v9 /* where to copy match from */
  12257. /* copy state to local variables */
  12258. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12259. in = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  12260. last = in + uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_in-libc.Uint32FromInt32(5))
  12261. out = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  12262. beg = out - uintptr(start-(*Tz_stream)(unsafe.Pointer(strm)).Favail_out)
  12263. end = out + uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_out-libc.Uint32FromInt32(257))
  12264. wsize = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  12265. whave = (*Tinflate_state)(unsafe.Pointer(state)).Fwhave
  12266. wnext = (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
  12267. window = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  12268. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  12269. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  12270. lcode = (*Tinflate_state)(unsafe.Pointer(state)).Flencode
  12271. dcode = (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode
  12272. lmask = uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits - uint32(1)
  12273. dmask = uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fdistbits - uint32(1)
  12274. /* decode literals and length/distances until end-of-block or not enough
  12275. input data or output space */
  12276. for cond := true; cond; cond = in < last && out < end {
  12277. if bits < uint32(15) {
  12278. v1 = in
  12279. in++
  12280. hold += uint64(*(*uint8)(unsafe.Pointer(v1))) << bits
  12281. bits += uint32(8)
  12282. v2 = in
  12283. in++
  12284. hold += uint64(*(*uint8)(unsafe.Pointer(v2))) << bits
  12285. bits += uint32(8)
  12286. }
  12287. here = lcode + uintptr(hold&uint64(lmask))*4
  12288. goto dolen
  12289. dolen:
  12290. ;
  12291. op = uint32((*Tcode)(unsafe.Pointer(here)).Fbits)
  12292. hold >>= uint64(op)
  12293. bits -= op
  12294. op = uint32((*Tcode)(unsafe.Pointer(here)).Fop)
  12295. if op == uint32(0) { /* literal */
  12296. v3 = out
  12297. out++
  12298. *(*uint8)(unsafe.Pointer(v3)) = uint8((*Tcode)(unsafe.Pointer(here)).Fval)
  12299. } else {
  12300. if op&uint32(16) != 0 { /* length base */
  12301. len1 = uint32((*Tcode)(unsafe.Pointer(here)).Fval)
  12302. op &= uint32(15) /* number of extra bits */
  12303. if op != 0 {
  12304. if bits < op {
  12305. v4 = in
  12306. in++
  12307. hold += uint64(*(*uint8)(unsafe.Pointer(v4))) << bits
  12308. bits += uint32(8)
  12309. }
  12310. len1 += uint32(hold) & (uint32(1)<<op - uint32(1))
  12311. hold >>= uint64(op)
  12312. bits -= op
  12313. }
  12314. if bits < uint32(15) {
  12315. v5 = in
  12316. in++
  12317. hold += uint64(*(*uint8)(unsafe.Pointer(v5))) << bits
  12318. bits += uint32(8)
  12319. v6 = in
  12320. in++
  12321. hold += uint64(*(*uint8)(unsafe.Pointer(v6))) << bits
  12322. bits += uint32(8)
  12323. }
  12324. here = dcode + uintptr(hold&uint64(dmask))*4
  12325. goto dodist
  12326. dodist:
  12327. ;
  12328. op = uint32((*Tcode)(unsafe.Pointer(here)).Fbits)
  12329. hold >>= uint64(op)
  12330. bits -= op
  12331. op = uint32((*Tcode)(unsafe.Pointer(here)).Fop)
  12332. if op&uint32(16) != 0 { /* distance base */
  12333. dist = uint32((*Tcode)(unsafe.Pointer(here)).Fval)
  12334. op &= uint32(15) /* number of extra bits */
  12335. if bits < op {
  12336. v7 = in
  12337. in++
  12338. hold += uint64(*(*uint8)(unsafe.Pointer(v7))) << bits
  12339. bits += uint32(8)
  12340. if bits < op {
  12341. v8 = in
  12342. in++
  12343. hold += uint64(*(*uint8)(unsafe.Pointer(v8))) << bits
  12344. bits += uint32(8)
  12345. }
  12346. }
  12347. dist += uint32(hold) & (uint32(1)<<op - uint32(1))
  12348. hold >>= uint64(op)
  12349. bits -= op
  12350. op = libc.Uint32FromInt64(int64(out) - int64(beg)) /* max distance in output */
  12351. if dist > op { /* see if copy from window */
  12352. op = dist - op /* distance back in window */
  12353. if op > whave {
  12354. if (*Tinflate_state)(unsafe.Pointer(state)).Fsane != 0 {
  12355. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
  12356. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12357. break
  12358. }
  12359. }
  12360. from = window
  12361. if wnext == uint32(0) { /* very common case */
  12362. from += uintptr(wsize - op)
  12363. if op < len1 { /* some from window */
  12364. len1 -= op
  12365. for {
  12366. v11 = out
  12367. out++
  12368. v12 = from
  12369. from++
  12370. *(*uint8)(unsafe.Pointer(v11)) = *(*uint8)(unsafe.Pointer(v12))
  12371. goto _10
  12372. _10:
  12373. ;
  12374. op--
  12375. v9 = op
  12376. if !(v9 != 0) {
  12377. break
  12378. }
  12379. }
  12380. from = out - uintptr(dist) /* rest from output */
  12381. }
  12382. } else {
  12383. if wnext < op { /* wrap around window */
  12384. from += uintptr(wsize + wnext - op)
  12385. op -= wnext
  12386. if op < len1 { /* some from end of window */
  12387. len1 -= op
  12388. for {
  12389. v15 = out
  12390. out++
  12391. v16 = from
  12392. from++
  12393. *(*uint8)(unsafe.Pointer(v15)) = *(*uint8)(unsafe.Pointer(v16))
  12394. goto _14
  12395. _14:
  12396. ;
  12397. op--
  12398. v13 = op
  12399. if !(v13 != 0) {
  12400. break
  12401. }
  12402. }
  12403. from = window
  12404. if wnext < len1 { /* some from start of window */
  12405. op = wnext
  12406. len1 -= op
  12407. for {
  12408. v19 = out
  12409. out++
  12410. v20 = from
  12411. from++
  12412. *(*uint8)(unsafe.Pointer(v19)) = *(*uint8)(unsafe.Pointer(v20))
  12413. goto _18
  12414. _18:
  12415. ;
  12416. op--
  12417. v17 = op
  12418. if !(v17 != 0) {
  12419. break
  12420. }
  12421. }
  12422. from = out - uintptr(dist) /* rest from output */
  12423. }
  12424. }
  12425. } else { /* contiguous in window */
  12426. from += uintptr(wnext - op)
  12427. if op < len1 { /* some from window */
  12428. len1 -= op
  12429. for {
  12430. v23 = out
  12431. out++
  12432. v24 = from
  12433. from++
  12434. *(*uint8)(unsafe.Pointer(v23)) = *(*uint8)(unsafe.Pointer(v24))
  12435. goto _22
  12436. _22:
  12437. ;
  12438. op--
  12439. v21 = op
  12440. if !(v21 != 0) {
  12441. break
  12442. }
  12443. }
  12444. from = out - uintptr(dist) /* rest from output */
  12445. }
  12446. }
  12447. }
  12448. for len1 > uint32(2) {
  12449. v25 = out
  12450. out++
  12451. v26 = from
  12452. from++
  12453. *(*uint8)(unsafe.Pointer(v25)) = *(*uint8)(unsafe.Pointer(v26))
  12454. v27 = out
  12455. out++
  12456. v28 = from
  12457. from++
  12458. *(*uint8)(unsafe.Pointer(v27)) = *(*uint8)(unsafe.Pointer(v28))
  12459. v29 = out
  12460. out++
  12461. v30 = from
  12462. from++
  12463. *(*uint8)(unsafe.Pointer(v29)) = *(*uint8)(unsafe.Pointer(v30))
  12464. len1 -= uint32(3)
  12465. }
  12466. if len1 != 0 {
  12467. v31 = out
  12468. out++
  12469. v32 = from
  12470. from++
  12471. *(*uint8)(unsafe.Pointer(v31)) = *(*uint8)(unsafe.Pointer(v32))
  12472. if len1 > uint32(1) {
  12473. v33 = out
  12474. out++
  12475. v34 = from
  12476. from++
  12477. *(*uint8)(unsafe.Pointer(v33)) = *(*uint8)(unsafe.Pointer(v34))
  12478. }
  12479. }
  12480. } else {
  12481. from = out - uintptr(dist) /* copy direct from output */
  12482. for cond := true; cond; cond = len1 > uint32(2) { /* minimum length is three */
  12483. v35 = out
  12484. out++
  12485. v36 = from
  12486. from++
  12487. *(*uint8)(unsafe.Pointer(v35)) = *(*uint8)(unsafe.Pointer(v36))
  12488. v37 = out
  12489. out++
  12490. v38 = from
  12491. from++
  12492. *(*uint8)(unsafe.Pointer(v37)) = *(*uint8)(unsafe.Pointer(v38))
  12493. v39 = out
  12494. out++
  12495. v40 = from
  12496. from++
  12497. *(*uint8)(unsafe.Pointer(v39)) = *(*uint8)(unsafe.Pointer(v40))
  12498. len1 -= uint32(3)
  12499. }
  12500. if len1 != 0 {
  12501. v41 = out
  12502. out++
  12503. v42 = from
  12504. from++
  12505. *(*uint8)(unsafe.Pointer(v41)) = *(*uint8)(unsafe.Pointer(v42))
  12506. if len1 > uint32(1) {
  12507. v43 = out
  12508. out++
  12509. v44 = from
  12510. from++
  12511. *(*uint8)(unsafe.Pointer(v43)) = *(*uint8)(unsafe.Pointer(v44))
  12512. }
  12513. }
  12514. }
  12515. } else {
  12516. if op&uint32(64) == uint32(0) { /* 2nd level distance code */
  12517. here = dcode + uintptr((*Tcode)(unsafe.Pointer(here)).Fval)*4 + uintptr(hold&uint64(libc.Uint32FromUint32(1)<<op-libc.Uint32FromInt32(1)))*4
  12518. goto dodist
  12519. } else {
  12520. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
  12521. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12522. break
  12523. }
  12524. }
  12525. } else {
  12526. if op&uint32(64) == uint32(0) { /* 2nd level length code */
  12527. here = lcode + uintptr((*Tcode)(unsafe.Pointer(here)).Fval)*4 + uintptr(hold&uint64(libc.Uint32FromUint32(1)<<op-libc.Uint32FromInt32(1)))*4
  12528. goto dolen
  12529. } else {
  12530. if op&uint32(32) != 0 { /* end-of-block */
  12531. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  12532. break
  12533. } else {
  12534. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
  12535. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12536. break
  12537. }
  12538. }
  12539. }
  12540. }
  12541. }
  12542. /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
  12543. len1 = bits >> int32(3)
  12544. in -= uintptr(len1)
  12545. bits -= len1 << int32(3)
  12546. hold &= uint64(uint32(1)<<bits - uint32(1))
  12547. /* update state and return */
  12548. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = in
  12549. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = out
  12550. if in < last {
  12551. v45 = int64(5) + (int64(last) - int64(in))
  12552. } else {
  12553. v45 = int64(5) - (int64(in) - int64(last))
  12554. }
  12555. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = libc.Uint32FromInt64(v45)
  12556. if out < end {
  12557. v46 = int64(257) + (int64(end) - int64(out))
  12558. } else {
  12559. v46 = int64(257) - (int64(out) - int64(end))
  12560. }
  12561. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = libc.Uint32FromInt64(v46)
  12562. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  12563. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  12564. return
  12565. }
  12566. func _inflateStateCheck(tls *libc.TLS, strm Tz_streamp) (r int32) {
  12567. var state uintptr
  12568. _ = state
  12569. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) || (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  12570. return int32(1)
  12571. }
  12572. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12573. if state == uintptr(m_Z_NULL) || (*Tinflate_state)(unsafe.Pointer(state)).Fstrm != strm || (*Tinflate_state)(unsafe.Pointer(state)).Fmode < int32(_HEAD) || (*Tinflate_state)(unsafe.Pointer(state)).Fmode > int32(_SYNC) {
  12574. return int32(1)
  12575. }
  12576. return 0
  12577. }
  12578. func XinflateResetKeep(tls *libc.TLS, strm Tz_streamp) (r int32) {
  12579. var state, v3, v4 uintptr
  12580. var v1 TuLong
  12581. var v2 uint64
  12582. _, _, _, _, _ = state, v1, v2, v3, v4
  12583. if _inflateStateCheck(tls, strm) != 0 {
  12584. return -int32(2)
  12585. }
  12586. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12587. v2 = libc.Uint64FromInt32(0)
  12588. (*Tinflate_state)(unsafe.Pointer(state)).Ftotal = v2
  12589. v1 = v2
  12590. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = v1
  12591. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = v1
  12592. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
  12593. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 { /* to support ill-conceived Java test suite */
  12594. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = libc.Uint64FromInt32((*Tinflate_state)(unsafe.Pointer(state)).Fwrap & int32(1))
  12595. }
  12596. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_HEAD)
  12597. (*Tinflate_state)(unsafe.Pointer(state)).Flast = 0
  12598. (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict = 0
  12599. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = -int32(1)
  12600. (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(32768)
  12601. (*Tinflate_state)(unsafe.Pointer(state)).Fhead = uintptr(m_Z_NULL)
  12602. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = uint64(0)
  12603. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = uint32(0)
  12604. v4 = state + 1368
  12605. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = v4
  12606. v3 = v4
  12607. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = v3
  12608. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = v3
  12609. (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
  12610. (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
  12611. return m_Z_OK
  12612. }
  12613. func XinflateReset(tls *libc.TLS, strm Tz_streamp) (r int32) {
  12614. var state uintptr
  12615. _ = state
  12616. if _inflateStateCheck(tls, strm) != 0 {
  12617. return -int32(2)
  12618. }
  12619. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12620. (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(0)
  12621. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  12622. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  12623. return XinflateResetKeep(tls, strm)
  12624. }
  12625. func XinflateReset2(tls *libc.TLS, strm Tz_streamp, windowBits int32) (r int32) {
  12626. var state uintptr
  12627. var wrap int32
  12628. _, _ = state, wrap
  12629. /* get the state */
  12630. if _inflateStateCheck(tls, strm) != 0 {
  12631. return -int32(2)
  12632. }
  12633. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12634. /* extract wrap request from windowBits parameter */
  12635. if windowBits < 0 {
  12636. if windowBits < -int32(15) {
  12637. return -int32(2)
  12638. }
  12639. wrap = 0
  12640. windowBits = -windowBits
  12641. } else {
  12642. wrap = windowBits>>int32(4) + int32(5)
  12643. if windowBits < int32(48) {
  12644. windowBits &= int32(15)
  12645. }
  12646. }
  12647. /* set number of window bits, free window if different */
  12648. if windowBits != 0 && (windowBits < int32(8) || windowBits > int32(15)) {
  12649. return -int32(2)
  12650. }
  12651. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) && (*Tinflate_state)(unsafe.Pointer(state)).Fwbits != libc.Uint32FromInt32(windowBits) {
  12652. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow)
  12653. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = uintptr(m_Z_NULL)
  12654. }
  12655. /* update state and reset the rest of it */
  12656. (*Tinflate_state)(unsafe.Pointer(state)).Fwrap = wrap
  12657. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = libc.Uint32FromInt32(windowBits)
  12658. return XinflateReset(tls, strm)
  12659. }
  12660. func XinflateInit2_(tls *libc.TLS, strm Tz_streamp, windowBits int32, version uintptr, stream_size int32) (r int32) {
  12661. var ret int32
  12662. var state uintptr
  12663. _, _ = ret, state
  12664. if version == uintptr(m_Z_NULL) || libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(version))) != libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(__ccgo_ts))) || stream_size != libc.Int32FromUint64(libc.Uint64FromInt64(112)) {
  12665. return -int32(6)
  12666. }
  12667. if strm == uintptr(m_Z_NULL) {
  12668. return -int32(2)
  12669. }
  12670. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* in case we return an error */
  12671. if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
  12672. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
  12673. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
  12674. }
  12675. if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  12676. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
  12677. }
  12678. state = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, libc.Uint32FromInt32(libc.Int32FromInt32(1)), uint32(libc.Uint64FromInt64(7160)))
  12679. if state == uintptr(m_Z_NULL) {
  12680. return -int32(4)
  12681. }
  12682. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = state
  12683. (*Tinflate_state)(unsafe.Pointer(state)).Fstrm = strm
  12684. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = uintptr(m_Z_NULL)
  12685. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_HEAD) /* to pass state test in inflateReset2() */
  12686. ret = XinflateReset2(tls, strm, windowBits)
  12687. if ret != m_Z_OK {
  12688. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, state)
  12689. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  12690. }
  12691. return ret
  12692. }
  12693. func XinflateInit_(tls *libc.TLS, strm Tz_streamp, version uintptr, stream_size int32) (r int32) {
  12694. return XinflateInit2_(tls, strm, int32(m_MAX_WBITS), version, stream_size)
  12695. }
  12696. func XinflatePrime(tls *libc.TLS, strm Tz_streamp, bits int32, value int32) (r int32) {
  12697. var state uintptr
  12698. _ = state
  12699. if _inflateStateCheck(tls, strm) != 0 {
  12700. return -int32(2)
  12701. }
  12702. if bits == 0 {
  12703. return m_Z_OK
  12704. }
  12705. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12706. if bits < 0 {
  12707. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = uint64(0)
  12708. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = uint32(0)
  12709. return m_Z_OK
  12710. }
  12711. if bits > int32(16) || (*Tinflate_state)(unsafe.Pointer(state)).Fbits+libc.Uint32FromInt32(bits) > uint32(32) {
  12712. return -int32(2)
  12713. }
  12714. value = int32(int64(value) & (libc.Int64FromInt64(1)<<bits - libc.Int64FromInt32(1)))
  12715. *(*uint64)(unsafe.Pointer(state + 80)) += uint64(libc.Uint32FromInt32(value) << (*Tinflate_state)(unsafe.Pointer(state)).Fbits)
  12716. *(*uint32)(unsafe.Pointer(state + 88)) += libc.Uint32FromInt32(bits)
  12717. return m_Z_OK
  12718. }
  12719. // C documentation
  12720. //
  12721. // /*
  12722. // Return state with length and distance decoding tables and index sizes set to
  12723. // fixed code decoding. Normally this returns fixed tables from inffixed.h.
  12724. // If BUILDFIXED is defined, then instead this routine builds the tables the
  12725. // first time it's called, and returns those tables the first time and
  12726. // thereafter. This reduces the size of the code by about 2K bytes, in
  12727. // exchange for a little execution time. However, BUILDFIXED should not be
  12728. // used for threaded applications, since the rewriting of the tables and virgin
  12729. // may not be thread-safe.
  12730. // */
  12731. func _fixedtables1(tls *libc.TLS, state uintptr) {
  12732. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = uintptr(unsafe.Pointer(&_lenfix1))
  12733. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  12734. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = uintptr(unsafe.Pointer(&_distfix1))
  12735. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(5)
  12736. }
  12737. var _lenfix1 = [512]Tcode{
  12738. 0: {
  12739. Fop: uint8(96),
  12740. Fbits: uint8(7),
  12741. },
  12742. 1: {
  12743. Fbits: uint8(8),
  12744. Fval: uint16(80),
  12745. },
  12746. 2: {
  12747. Fbits: uint8(8),
  12748. Fval: uint16(16),
  12749. },
  12750. 3: {
  12751. Fop: uint8(20),
  12752. Fbits: uint8(8),
  12753. Fval: uint16(115),
  12754. },
  12755. 4: {
  12756. Fop: uint8(18),
  12757. Fbits: uint8(7),
  12758. Fval: uint16(31),
  12759. },
  12760. 5: {
  12761. Fbits: uint8(8),
  12762. Fval: uint16(112),
  12763. },
  12764. 6: {
  12765. Fbits: uint8(8),
  12766. Fval: uint16(48),
  12767. },
  12768. 7: {
  12769. Fbits: uint8(9),
  12770. Fval: uint16(192),
  12771. },
  12772. 8: {
  12773. Fop: uint8(16),
  12774. Fbits: uint8(7),
  12775. Fval: uint16(10),
  12776. },
  12777. 9: {
  12778. Fbits: uint8(8),
  12779. Fval: uint16(96),
  12780. },
  12781. 10: {
  12782. Fbits: uint8(8),
  12783. Fval: uint16(32),
  12784. },
  12785. 11: {
  12786. Fbits: uint8(9),
  12787. Fval: uint16(160),
  12788. },
  12789. 12: {
  12790. Fbits: uint8(8),
  12791. },
  12792. 13: {
  12793. Fbits: uint8(8),
  12794. Fval: uint16(128),
  12795. },
  12796. 14: {
  12797. Fbits: uint8(8),
  12798. Fval: uint16(64),
  12799. },
  12800. 15: {
  12801. Fbits: uint8(9),
  12802. Fval: uint16(224),
  12803. },
  12804. 16: {
  12805. Fop: uint8(16),
  12806. Fbits: uint8(7),
  12807. Fval: uint16(6),
  12808. },
  12809. 17: {
  12810. Fbits: uint8(8),
  12811. Fval: uint16(88),
  12812. },
  12813. 18: {
  12814. Fbits: uint8(8),
  12815. Fval: uint16(24),
  12816. },
  12817. 19: {
  12818. Fbits: uint8(9),
  12819. Fval: uint16(144),
  12820. },
  12821. 20: {
  12822. Fop: uint8(19),
  12823. Fbits: uint8(7),
  12824. Fval: uint16(59),
  12825. },
  12826. 21: {
  12827. Fbits: uint8(8),
  12828. Fval: uint16(120),
  12829. },
  12830. 22: {
  12831. Fbits: uint8(8),
  12832. Fval: uint16(56),
  12833. },
  12834. 23: {
  12835. Fbits: uint8(9),
  12836. Fval: uint16(208),
  12837. },
  12838. 24: {
  12839. Fop: uint8(17),
  12840. Fbits: uint8(7),
  12841. Fval: uint16(17),
  12842. },
  12843. 25: {
  12844. Fbits: uint8(8),
  12845. Fval: uint16(104),
  12846. },
  12847. 26: {
  12848. Fbits: uint8(8),
  12849. Fval: uint16(40),
  12850. },
  12851. 27: {
  12852. Fbits: uint8(9),
  12853. Fval: uint16(176),
  12854. },
  12855. 28: {
  12856. Fbits: uint8(8),
  12857. Fval: uint16(8),
  12858. },
  12859. 29: {
  12860. Fbits: uint8(8),
  12861. Fval: uint16(136),
  12862. },
  12863. 30: {
  12864. Fbits: uint8(8),
  12865. Fval: uint16(72),
  12866. },
  12867. 31: {
  12868. Fbits: uint8(9),
  12869. Fval: uint16(240),
  12870. },
  12871. 32: {
  12872. Fop: uint8(16),
  12873. Fbits: uint8(7),
  12874. Fval: uint16(4),
  12875. },
  12876. 33: {
  12877. Fbits: uint8(8),
  12878. Fval: uint16(84),
  12879. },
  12880. 34: {
  12881. Fbits: uint8(8),
  12882. Fval: uint16(20),
  12883. },
  12884. 35: {
  12885. Fop: uint8(21),
  12886. Fbits: uint8(8),
  12887. Fval: uint16(227),
  12888. },
  12889. 36: {
  12890. Fop: uint8(19),
  12891. Fbits: uint8(7),
  12892. Fval: uint16(43),
  12893. },
  12894. 37: {
  12895. Fbits: uint8(8),
  12896. Fval: uint16(116),
  12897. },
  12898. 38: {
  12899. Fbits: uint8(8),
  12900. Fval: uint16(52),
  12901. },
  12902. 39: {
  12903. Fbits: uint8(9),
  12904. Fval: uint16(200),
  12905. },
  12906. 40: {
  12907. Fop: uint8(17),
  12908. Fbits: uint8(7),
  12909. Fval: uint16(13),
  12910. },
  12911. 41: {
  12912. Fbits: uint8(8),
  12913. Fval: uint16(100),
  12914. },
  12915. 42: {
  12916. Fbits: uint8(8),
  12917. Fval: uint16(36),
  12918. },
  12919. 43: {
  12920. Fbits: uint8(9),
  12921. Fval: uint16(168),
  12922. },
  12923. 44: {
  12924. Fbits: uint8(8),
  12925. Fval: uint16(4),
  12926. },
  12927. 45: {
  12928. Fbits: uint8(8),
  12929. Fval: uint16(132),
  12930. },
  12931. 46: {
  12932. Fbits: uint8(8),
  12933. Fval: uint16(68),
  12934. },
  12935. 47: {
  12936. Fbits: uint8(9),
  12937. Fval: uint16(232),
  12938. },
  12939. 48: {
  12940. Fop: uint8(16),
  12941. Fbits: uint8(7),
  12942. Fval: uint16(8),
  12943. },
  12944. 49: {
  12945. Fbits: uint8(8),
  12946. Fval: uint16(92),
  12947. },
  12948. 50: {
  12949. Fbits: uint8(8),
  12950. Fval: uint16(28),
  12951. },
  12952. 51: {
  12953. Fbits: uint8(9),
  12954. Fval: uint16(152),
  12955. },
  12956. 52: {
  12957. Fop: uint8(20),
  12958. Fbits: uint8(7),
  12959. Fval: uint16(83),
  12960. },
  12961. 53: {
  12962. Fbits: uint8(8),
  12963. Fval: uint16(124),
  12964. },
  12965. 54: {
  12966. Fbits: uint8(8),
  12967. Fval: uint16(60),
  12968. },
  12969. 55: {
  12970. Fbits: uint8(9),
  12971. Fval: uint16(216),
  12972. },
  12973. 56: {
  12974. Fop: uint8(18),
  12975. Fbits: uint8(7),
  12976. Fval: uint16(23),
  12977. },
  12978. 57: {
  12979. Fbits: uint8(8),
  12980. Fval: uint16(108),
  12981. },
  12982. 58: {
  12983. Fbits: uint8(8),
  12984. Fval: uint16(44),
  12985. },
  12986. 59: {
  12987. Fbits: uint8(9),
  12988. Fval: uint16(184),
  12989. },
  12990. 60: {
  12991. Fbits: uint8(8),
  12992. Fval: uint16(12),
  12993. },
  12994. 61: {
  12995. Fbits: uint8(8),
  12996. Fval: uint16(140),
  12997. },
  12998. 62: {
  12999. Fbits: uint8(8),
  13000. Fval: uint16(76),
  13001. },
  13002. 63: {
  13003. Fbits: uint8(9),
  13004. Fval: uint16(248),
  13005. },
  13006. 64: {
  13007. Fop: uint8(16),
  13008. Fbits: uint8(7),
  13009. Fval: uint16(3),
  13010. },
  13011. 65: {
  13012. Fbits: uint8(8),
  13013. Fval: uint16(82),
  13014. },
  13015. 66: {
  13016. Fbits: uint8(8),
  13017. Fval: uint16(18),
  13018. },
  13019. 67: {
  13020. Fop: uint8(21),
  13021. Fbits: uint8(8),
  13022. Fval: uint16(163),
  13023. },
  13024. 68: {
  13025. Fop: uint8(19),
  13026. Fbits: uint8(7),
  13027. Fval: uint16(35),
  13028. },
  13029. 69: {
  13030. Fbits: uint8(8),
  13031. Fval: uint16(114),
  13032. },
  13033. 70: {
  13034. Fbits: uint8(8),
  13035. Fval: uint16(50),
  13036. },
  13037. 71: {
  13038. Fbits: uint8(9),
  13039. Fval: uint16(196),
  13040. },
  13041. 72: {
  13042. Fop: uint8(17),
  13043. Fbits: uint8(7),
  13044. Fval: uint16(11),
  13045. },
  13046. 73: {
  13047. Fbits: uint8(8),
  13048. Fval: uint16(98),
  13049. },
  13050. 74: {
  13051. Fbits: uint8(8),
  13052. Fval: uint16(34),
  13053. },
  13054. 75: {
  13055. Fbits: uint8(9),
  13056. Fval: uint16(164),
  13057. },
  13058. 76: {
  13059. Fbits: uint8(8),
  13060. Fval: uint16(2),
  13061. },
  13062. 77: {
  13063. Fbits: uint8(8),
  13064. Fval: uint16(130),
  13065. },
  13066. 78: {
  13067. Fbits: uint8(8),
  13068. Fval: uint16(66),
  13069. },
  13070. 79: {
  13071. Fbits: uint8(9),
  13072. Fval: uint16(228),
  13073. },
  13074. 80: {
  13075. Fop: uint8(16),
  13076. Fbits: uint8(7),
  13077. Fval: uint16(7),
  13078. },
  13079. 81: {
  13080. Fbits: uint8(8),
  13081. Fval: uint16(90),
  13082. },
  13083. 82: {
  13084. Fbits: uint8(8),
  13085. Fval: uint16(26),
  13086. },
  13087. 83: {
  13088. Fbits: uint8(9),
  13089. Fval: uint16(148),
  13090. },
  13091. 84: {
  13092. Fop: uint8(20),
  13093. Fbits: uint8(7),
  13094. Fval: uint16(67),
  13095. },
  13096. 85: {
  13097. Fbits: uint8(8),
  13098. Fval: uint16(122),
  13099. },
  13100. 86: {
  13101. Fbits: uint8(8),
  13102. Fval: uint16(58),
  13103. },
  13104. 87: {
  13105. Fbits: uint8(9),
  13106. Fval: uint16(212),
  13107. },
  13108. 88: {
  13109. Fop: uint8(18),
  13110. Fbits: uint8(7),
  13111. Fval: uint16(19),
  13112. },
  13113. 89: {
  13114. Fbits: uint8(8),
  13115. Fval: uint16(106),
  13116. },
  13117. 90: {
  13118. Fbits: uint8(8),
  13119. Fval: uint16(42),
  13120. },
  13121. 91: {
  13122. Fbits: uint8(9),
  13123. Fval: uint16(180),
  13124. },
  13125. 92: {
  13126. Fbits: uint8(8),
  13127. Fval: uint16(10),
  13128. },
  13129. 93: {
  13130. Fbits: uint8(8),
  13131. Fval: uint16(138),
  13132. },
  13133. 94: {
  13134. Fbits: uint8(8),
  13135. Fval: uint16(74),
  13136. },
  13137. 95: {
  13138. Fbits: uint8(9),
  13139. Fval: uint16(244),
  13140. },
  13141. 96: {
  13142. Fop: uint8(16),
  13143. Fbits: uint8(7),
  13144. Fval: uint16(5),
  13145. },
  13146. 97: {
  13147. Fbits: uint8(8),
  13148. Fval: uint16(86),
  13149. },
  13150. 98: {
  13151. Fbits: uint8(8),
  13152. Fval: uint16(22),
  13153. },
  13154. 99: {
  13155. Fop: uint8(64),
  13156. Fbits: uint8(8),
  13157. },
  13158. 100: {
  13159. Fop: uint8(19),
  13160. Fbits: uint8(7),
  13161. Fval: uint16(51),
  13162. },
  13163. 101: {
  13164. Fbits: uint8(8),
  13165. Fval: uint16(118),
  13166. },
  13167. 102: {
  13168. Fbits: uint8(8),
  13169. Fval: uint16(54),
  13170. },
  13171. 103: {
  13172. Fbits: uint8(9),
  13173. Fval: uint16(204),
  13174. },
  13175. 104: {
  13176. Fop: uint8(17),
  13177. Fbits: uint8(7),
  13178. Fval: uint16(15),
  13179. },
  13180. 105: {
  13181. Fbits: uint8(8),
  13182. Fval: uint16(102),
  13183. },
  13184. 106: {
  13185. Fbits: uint8(8),
  13186. Fval: uint16(38),
  13187. },
  13188. 107: {
  13189. Fbits: uint8(9),
  13190. Fval: uint16(172),
  13191. },
  13192. 108: {
  13193. Fbits: uint8(8),
  13194. Fval: uint16(6),
  13195. },
  13196. 109: {
  13197. Fbits: uint8(8),
  13198. Fval: uint16(134),
  13199. },
  13200. 110: {
  13201. Fbits: uint8(8),
  13202. Fval: uint16(70),
  13203. },
  13204. 111: {
  13205. Fbits: uint8(9),
  13206. Fval: uint16(236),
  13207. },
  13208. 112: {
  13209. Fop: uint8(16),
  13210. Fbits: uint8(7),
  13211. Fval: uint16(9),
  13212. },
  13213. 113: {
  13214. Fbits: uint8(8),
  13215. Fval: uint16(94),
  13216. },
  13217. 114: {
  13218. Fbits: uint8(8),
  13219. Fval: uint16(30),
  13220. },
  13221. 115: {
  13222. Fbits: uint8(9),
  13223. Fval: uint16(156),
  13224. },
  13225. 116: {
  13226. Fop: uint8(20),
  13227. Fbits: uint8(7),
  13228. Fval: uint16(99),
  13229. },
  13230. 117: {
  13231. Fbits: uint8(8),
  13232. Fval: uint16(126),
  13233. },
  13234. 118: {
  13235. Fbits: uint8(8),
  13236. Fval: uint16(62),
  13237. },
  13238. 119: {
  13239. Fbits: uint8(9),
  13240. Fval: uint16(220),
  13241. },
  13242. 120: {
  13243. Fop: uint8(18),
  13244. Fbits: uint8(7),
  13245. Fval: uint16(27),
  13246. },
  13247. 121: {
  13248. Fbits: uint8(8),
  13249. Fval: uint16(110),
  13250. },
  13251. 122: {
  13252. Fbits: uint8(8),
  13253. Fval: uint16(46),
  13254. },
  13255. 123: {
  13256. Fbits: uint8(9),
  13257. Fval: uint16(188),
  13258. },
  13259. 124: {
  13260. Fbits: uint8(8),
  13261. Fval: uint16(14),
  13262. },
  13263. 125: {
  13264. Fbits: uint8(8),
  13265. Fval: uint16(142),
  13266. },
  13267. 126: {
  13268. Fbits: uint8(8),
  13269. Fval: uint16(78),
  13270. },
  13271. 127: {
  13272. Fbits: uint8(9),
  13273. Fval: uint16(252),
  13274. },
  13275. 128: {
  13276. Fop: uint8(96),
  13277. Fbits: uint8(7),
  13278. },
  13279. 129: {
  13280. Fbits: uint8(8),
  13281. Fval: uint16(81),
  13282. },
  13283. 130: {
  13284. Fbits: uint8(8),
  13285. Fval: uint16(17),
  13286. },
  13287. 131: {
  13288. Fop: uint8(21),
  13289. Fbits: uint8(8),
  13290. Fval: uint16(131),
  13291. },
  13292. 132: {
  13293. Fop: uint8(18),
  13294. Fbits: uint8(7),
  13295. Fval: uint16(31),
  13296. },
  13297. 133: {
  13298. Fbits: uint8(8),
  13299. Fval: uint16(113),
  13300. },
  13301. 134: {
  13302. Fbits: uint8(8),
  13303. Fval: uint16(49),
  13304. },
  13305. 135: {
  13306. Fbits: uint8(9),
  13307. Fval: uint16(194),
  13308. },
  13309. 136: {
  13310. Fop: uint8(16),
  13311. Fbits: uint8(7),
  13312. Fval: uint16(10),
  13313. },
  13314. 137: {
  13315. Fbits: uint8(8),
  13316. Fval: uint16(97),
  13317. },
  13318. 138: {
  13319. Fbits: uint8(8),
  13320. Fval: uint16(33),
  13321. },
  13322. 139: {
  13323. Fbits: uint8(9),
  13324. Fval: uint16(162),
  13325. },
  13326. 140: {
  13327. Fbits: uint8(8),
  13328. Fval: uint16(1),
  13329. },
  13330. 141: {
  13331. Fbits: uint8(8),
  13332. Fval: uint16(129),
  13333. },
  13334. 142: {
  13335. Fbits: uint8(8),
  13336. Fval: uint16(65),
  13337. },
  13338. 143: {
  13339. Fbits: uint8(9),
  13340. Fval: uint16(226),
  13341. },
  13342. 144: {
  13343. Fop: uint8(16),
  13344. Fbits: uint8(7),
  13345. Fval: uint16(6),
  13346. },
  13347. 145: {
  13348. Fbits: uint8(8),
  13349. Fval: uint16(89),
  13350. },
  13351. 146: {
  13352. Fbits: uint8(8),
  13353. Fval: uint16(25),
  13354. },
  13355. 147: {
  13356. Fbits: uint8(9),
  13357. Fval: uint16(146),
  13358. },
  13359. 148: {
  13360. Fop: uint8(19),
  13361. Fbits: uint8(7),
  13362. Fval: uint16(59),
  13363. },
  13364. 149: {
  13365. Fbits: uint8(8),
  13366. Fval: uint16(121),
  13367. },
  13368. 150: {
  13369. Fbits: uint8(8),
  13370. Fval: uint16(57),
  13371. },
  13372. 151: {
  13373. Fbits: uint8(9),
  13374. Fval: uint16(210),
  13375. },
  13376. 152: {
  13377. Fop: uint8(17),
  13378. Fbits: uint8(7),
  13379. Fval: uint16(17),
  13380. },
  13381. 153: {
  13382. Fbits: uint8(8),
  13383. Fval: uint16(105),
  13384. },
  13385. 154: {
  13386. Fbits: uint8(8),
  13387. Fval: uint16(41),
  13388. },
  13389. 155: {
  13390. Fbits: uint8(9),
  13391. Fval: uint16(178),
  13392. },
  13393. 156: {
  13394. Fbits: uint8(8),
  13395. Fval: uint16(9),
  13396. },
  13397. 157: {
  13398. Fbits: uint8(8),
  13399. Fval: uint16(137),
  13400. },
  13401. 158: {
  13402. Fbits: uint8(8),
  13403. Fval: uint16(73),
  13404. },
  13405. 159: {
  13406. Fbits: uint8(9),
  13407. Fval: uint16(242),
  13408. },
  13409. 160: {
  13410. Fop: uint8(16),
  13411. Fbits: uint8(7),
  13412. Fval: uint16(4),
  13413. },
  13414. 161: {
  13415. Fbits: uint8(8),
  13416. Fval: uint16(85),
  13417. },
  13418. 162: {
  13419. Fbits: uint8(8),
  13420. Fval: uint16(21),
  13421. },
  13422. 163: {
  13423. Fop: uint8(16),
  13424. Fbits: uint8(8),
  13425. Fval: uint16(258),
  13426. },
  13427. 164: {
  13428. Fop: uint8(19),
  13429. Fbits: uint8(7),
  13430. Fval: uint16(43),
  13431. },
  13432. 165: {
  13433. Fbits: uint8(8),
  13434. Fval: uint16(117),
  13435. },
  13436. 166: {
  13437. Fbits: uint8(8),
  13438. Fval: uint16(53),
  13439. },
  13440. 167: {
  13441. Fbits: uint8(9),
  13442. Fval: uint16(202),
  13443. },
  13444. 168: {
  13445. Fop: uint8(17),
  13446. Fbits: uint8(7),
  13447. Fval: uint16(13),
  13448. },
  13449. 169: {
  13450. Fbits: uint8(8),
  13451. Fval: uint16(101),
  13452. },
  13453. 170: {
  13454. Fbits: uint8(8),
  13455. Fval: uint16(37),
  13456. },
  13457. 171: {
  13458. Fbits: uint8(9),
  13459. Fval: uint16(170),
  13460. },
  13461. 172: {
  13462. Fbits: uint8(8),
  13463. Fval: uint16(5),
  13464. },
  13465. 173: {
  13466. Fbits: uint8(8),
  13467. Fval: uint16(133),
  13468. },
  13469. 174: {
  13470. Fbits: uint8(8),
  13471. Fval: uint16(69),
  13472. },
  13473. 175: {
  13474. Fbits: uint8(9),
  13475. Fval: uint16(234),
  13476. },
  13477. 176: {
  13478. Fop: uint8(16),
  13479. Fbits: uint8(7),
  13480. Fval: uint16(8),
  13481. },
  13482. 177: {
  13483. Fbits: uint8(8),
  13484. Fval: uint16(93),
  13485. },
  13486. 178: {
  13487. Fbits: uint8(8),
  13488. Fval: uint16(29),
  13489. },
  13490. 179: {
  13491. Fbits: uint8(9),
  13492. Fval: uint16(154),
  13493. },
  13494. 180: {
  13495. Fop: uint8(20),
  13496. Fbits: uint8(7),
  13497. Fval: uint16(83),
  13498. },
  13499. 181: {
  13500. Fbits: uint8(8),
  13501. Fval: uint16(125),
  13502. },
  13503. 182: {
  13504. Fbits: uint8(8),
  13505. Fval: uint16(61),
  13506. },
  13507. 183: {
  13508. Fbits: uint8(9),
  13509. Fval: uint16(218),
  13510. },
  13511. 184: {
  13512. Fop: uint8(18),
  13513. Fbits: uint8(7),
  13514. Fval: uint16(23),
  13515. },
  13516. 185: {
  13517. Fbits: uint8(8),
  13518. Fval: uint16(109),
  13519. },
  13520. 186: {
  13521. Fbits: uint8(8),
  13522. Fval: uint16(45),
  13523. },
  13524. 187: {
  13525. Fbits: uint8(9),
  13526. Fval: uint16(186),
  13527. },
  13528. 188: {
  13529. Fbits: uint8(8),
  13530. Fval: uint16(13),
  13531. },
  13532. 189: {
  13533. Fbits: uint8(8),
  13534. Fval: uint16(141),
  13535. },
  13536. 190: {
  13537. Fbits: uint8(8),
  13538. Fval: uint16(77),
  13539. },
  13540. 191: {
  13541. Fbits: uint8(9),
  13542. Fval: uint16(250),
  13543. },
  13544. 192: {
  13545. Fop: uint8(16),
  13546. Fbits: uint8(7),
  13547. Fval: uint16(3),
  13548. },
  13549. 193: {
  13550. Fbits: uint8(8),
  13551. Fval: uint16(83),
  13552. },
  13553. 194: {
  13554. Fbits: uint8(8),
  13555. Fval: uint16(19),
  13556. },
  13557. 195: {
  13558. Fop: uint8(21),
  13559. Fbits: uint8(8),
  13560. Fval: uint16(195),
  13561. },
  13562. 196: {
  13563. Fop: uint8(19),
  13564. Fbits: uint8(7),
  13565. Fval: uint16(35),
  13566. },
  13567. 197: {
  13568. Fbits: uint8(8),
  13569. Fval: uint16(115),
  13570. },
  13571. 198: {
  13572. Fbits: uint8(8),
  13573. Fval: uint16(51),
  13574. },
  13575. 199: {
  13576. Fbits: uint8(9),
  13577. Fval: uint16(198),
  13578. },
  13579. 200: {
  13580. Fop: uint8(17),
  13581. Fbits: uint8(7),
  13582. Fval: uint16(11),
  13583. },
  13584. 201: {
  13585. Fbits: uint8(8),
  13586. Fval: uint16(99),
  13587. },
  13588. 202: {
  13589. Fbits: uint8(8),
  13590. Fval: uint16(35),
  13591. },
  13592. 203: {
  13593. Fbits: uint8(9),
  13594. Fval: uint16(166),
  13595. },
  13596. 204: {
  13597. Fbits: uint8(8),
  13598. Fval: uint16(3),
  13599. },
  13600. 205: {
  13601. Fbits: uint8(8),
  13602. Fval: uint16(131),
  13603. },
  13604. 206: {
  13605. Fbits: uint8(8),
  13606. Fval: uint16(67),
  13607. },
  13608. 207: {
  13609. Fbits: uint8(9),
  13610. Fval: uint16(230),
  13611. },
  13612. 208: {
  13613. Fop: uint8(16),
  13614. Fbits: uint8(7),
  13615. Fval: uint16(7),
  13616. },
  13617. 209: {
  13618. Fbits: uint8(8),
  13619. Fval: uint16(91),
  13620. },
  13621. 210: {
  13622. Fbits: uint8(8),
  13623. Fval: uint16(27),
  13624. },
  13625. 211: {
  13626. Fbits: uint8(9),
  13627. Fval: uint16(150),
  13628. },
  13629. 212: {
  13630. Fop: uint8(20),
  13631. Fbits: uint8(7),
  13632. Fval: uint16(67),
  13633. },
  13634. 213: {
  13635. Fbits: uint8(8),
  13636. Fval: uint16(123),
  13637. },
  13638. 214: {
  13639. Fbits: uint8(8),
  13640. Fval: uint16(59),
  13641. },
  13642. 215: {
  13643. Fbits: uint8(9),
  13644. Fval: uint16(214),
  13645. },
  13646. 216: {
  13647. Fop: uint8(18),
  13648. Fbits: uint8(7),
  13649. Fval: uint16(19),
  13650. },
  13651. 217: {
  13652. Fbits: uint8(8),
  13653. Fval: uint16(107),
  13654. },
  13655. 218: {
  13656. Fbits: uint8(8),
  13657. Fval: uint16(43),
  13658. },
  13659. 219: {
  13660. Fbits: uint8(9),
  13661. Fval: uint16(182),
  13662. },
  13663. 220: {
  13664. Fbits: uint8(8),
  13665. Fval: uint16(11),
  13666. },
  13667. 221: {
  13668. Fbits: uint8(8),
  13669. Fval: uint16(139),
  13670. },
  13671. 222: {
  13672. Fbits: uint8(8),
  13673. Fval: uint16(75),
  13674. },
  13675. 223: {
  13676. Fbits: uint8(9),
  13677. Fval: uint16(246),
  13678. },
  13679. 224: {
  13680. Fop: uint8(16),
  13681. Fbits: uint8(7),
  13682. Fval: uint16(5),
  13683. },
  13684. 225: {
  13685. Fbits: uint8(8),
  13686. Fval: uint16(87),
  13687. },
  13688. 226: {
  13689. Fbits: uint8(8),
  13690. Fval: uint16(23),
  13691. },
  13692. 227: {
  13693. Fop: uint8(64),
  13694. Fbits: uint8(8),
  13695. },
  13696. 228: {
  13697. Fop: uint8(19),
  13698. Fbits: uint8(7),
  13699. Fval: uint16(51),
  13700. },
  13701. 229: {
  13702. Fbits: uint8(8),
  13703. Fval: uint16(119),
  13704. },
  13705. 230: {
  13706. Fbits: uint8(8),
  13707. Fval: uint16(55),
  13708. },
  13709. 231: {
  13710. Fbits: uint8(9),
  13711. Fval: uint16(206),
  13712. },
  13713. 232: {
  13714. Fop: uint8(17),
  13715. Fbits: uint8(7),
  13716. Fval: uint16(15),
  13717. },
  13718. 233: {
  13719. Fbits: uint8(8),
  13720. Fval: uint16(103),
  13721. },
  13722. 234: {
  13723. Fbits: uint8(8),
  13724. Fval: uint16(39),
  13725. },
  13726. 235: {
  13727. Fbits: uint8(9),
  13728. Fval: uint16(174),
  13729. },
  13730. 236: {
  13731. Fbits: uint8(8),
  13732. Fval: uint16(7),
  13733. },
  13734. 237: {
  13735. Fbits: uint8(8),
  13736. Fval: uint16(135),
  13737. },
  13738. 238: {
  13739. Fbits: uint8(8),
  13740. Fval: uint16(71),
  13741. },
  13742. 239: {
  13743. Fbits: uint8(9),
  13744. Fval: uint16(238),
  13745. },
  13746. 240: {
  13747. Fop: uint8(16),
  13748. Fbits: uint8(7),
  13749. Fval: uint16(9),
  13750. },
  13751. 241: {
  13752. Fbits: uint8(8),
  13753. Fval: uint16(95),
  13754. },
  13755. 242: {
  13756. Fbits: uint8(8),
  13757. Fval: uint16(31),
  13758. },
  13759. 243: {
  13760. Fbits: uint8(9),
  13761. Fval: uint16(158),
  13762. },
  13763. 244: {
  13764. Fop: uint8(20),
  13765. Fbits: uint8(7),
  13766. Fval: uint16(99),
  13767. },
  13768. 245: {
  13769. Fbits: uint8(8),
  13770. Fval: uint16(127),
  13771. },
  13772. 246: {
  13773. Fbits: uint8(8),
  13774. Fval: uint16(63),
  13775. },
  13776. 247: {
  13777. Fbits: uint8(9),
  13778. Fval: uint16(222),
  13779. },
  13780. 248: {
  13781. Fop: uint8(18),
  13782. Fbits: uint8(7),
  13783. Fval: uint16(27),
  13784. },
  13785. 249: {
  13786. Fbits: uint8(8),
  13787. Fval: uint16(111),
  13788. },
  13789. 250: {
  13790. Fbits: uint8(8),
  13791. Fval: uint16(47),
  13792. },
  13793. 251: {
  13794. Fbits: uint8(9),
  13795. Fval: uint16(190),
  13796. },
  13797. 252: {
  13798. Fbits: uint8(8),
  13799. Fval: uint16(15),
  13800. },
  13801. 253: {
  13802. Fbits: uint8(8),
  13803. Fval: uint16(143),
  13804. },
  13805. 254: {
  13806. Fbits: uint8(8),
  13807. Fval: uint16(79),
  13808. },
  13809. 255: {
  13810. Fbits: uint8(9),
  13811. Fval: uint16(254),
  13812. },
  13813. 256: {
  13814. Fop: uint8(96),
  13815. Fbits: uint8(7),
  13816. },
  13817. 257: {
  13818. Fbits: uint8(8),
  13819. Fval: uint16(80),
  13820. },
  13821. 258: {
  13822. Fbits: uint8(8),
  13823. Fval: uint16(16),
  13824. },
  13825. 259: {
  13826. Fop: uint8(20),
  13827. Fbits: uint8(8),
  13828. Fval: uint16(115),
  13829. },
  13830. 260: {
  13831. Fop: uint8(18),
  13832. Fbits: uint8(7),
  13833. Fval: uint16(31),
  13834. },
  13835. 261: {
  13836. Fbits: uint8(8),
  13837. Fval: uint16(112),
  13838. },
  13839. 262: {
  13840. Fbits: uint8(8),
  13841. Fval: uint16(48),
  13842. },
  13843. 263: {
  13844. Fbits: uint8(9),
  13845. Fval: uint16(193),
  13846. },
  13847. 264: {
  13848. Fop: uint8(16),
  13849. Fbits: uint8(7),
  13850. Fval: uint16(10),
  13851. },
  13852. 265: {
  13853. Fbits: uint8(8),
  13854. Fval: uint16(96),
  13855. },
  13856. 266: {
  13857. Fbits: uint8(8),
  13858. Fval: uint16(32),
  13859. },
  13860. 267: {
  13861. Fbits: uint8(9),
  13862. Fval: uint16(161),
  13863. },
  13864. 268: {
  13865. Fbits: uint8(8),
  13866. },
  13867. 269: {
  13868. Fbits: uint8(8),
  13869. Fval: uint16(128),
  13870. },
  13871. 270: {
  13872. Fbits: uint8(8),
  13873. Fval: uint16(64),
  13874. },
  13875. 271: {
  13876. Fbits: uint8(9),
  13877. Fval: uint16(225),
  13878. },
  13879. 272: {
  13880. Fop: uint8(16),
  13881. Fbits: uint8(7),
  13882. Fval: uint16(6),
  13883. },
  13884. 273: {
  13885. Fbits: uint8(8),
  13886. Fval: uint16(88),
  13887. },
  13888. 274: {
  13889. Fbits: uint8(8),
  13890. Fval: uint16(24),
  13891. },
  13892. 275: {
  13893. Fbits: uint8(9),
  13894. Fval: uint16(145),
  13895. },
  13896. 276: {
  13897. Fop: uint8(19),
  13898. Fbits: uint8(7),
  13899. Fval: uint16(59),
  13900. },
  13901. 277: {
  13902. Fbits: uint8(8),
  13903. Fval: uint16(120),
  13904. },
  13905. 278: {
  13906. Fbits: uint8(8),
  13907. Fval: uint16(56),
  13908. },
  13909. 279: {
  13910. Fbits: uint8(9),
  13911. Fval: uint16(209),
  13912. },
  13913. 280: {
  13914. Fop: uint8(17),
  13915. Fbits: uint8(7),
  13916. Fval: uint16(17),
  13917. },
  13918. 281: {
  13919. Fbits: uint8(8),
  13920. Fval: uint16(104),
  13921. },
  13922. 282: {
  13923. Fbits: uint8(8),
  13924. Fval: uint16(40),
  13925. },
  13926. 283: {
  13927. Fbits: uint8(9),
  13928. Fval: uint16(177),
  13929. },
  13930. 284: {
  13931. Fbits: uint8(8),
  13932. Fval: uint16(8),
  13933. },
  13934. 285: {
  13935. Fbits: uint8(8),
  13936. Fval: uint16(136),
  13937. },
  13938. 286: {
  13939. Fbits: uint8(8),
  13940. Fval: uint16(72),
  13941. },
  13942. 287: {
  13943. Fbits: uint8(9),
  13944. Fval: uint16(241),
  13945. },
  13946. 288: {
  13947. Fop: uint8(16),
  13948. Fbits: uint8(7),
  13949. Fval: uint16(4),
  13950. },
  13951. 289: {
  13952. Fbits: uint8(8),
  13953. Fval: uint16(84),
  13954. },
  13955. 290: {
  13956. Fbits: uint8(8),
  13957. Fval: uint16(20),
  13958. },
  13959. 291: {
  13960. Fop: uint8(21),
  13961. Fbits: uint8(8),
  13962. Fval: uint16(227),
  13963. },
  13964. 292: {
  13965. Fop: uint8(19),
  13966. Fbits: uint8(7),
  13967. Fval: uint16(43),
  13968. },
  13969. 293: {
  13970. Fbits: uint8(8),
  13971. Fval: uint16(116),
  13972. },
  13973. 294: {
  13974. Fbits: uint8(8),
  13975. Fval: uint16(52),
  13976. },
  13977. 295: {
  13978. Fbits: uint8(9),
  13979. Fval: uint16(201),
  13980. },
  13981. 296: {
  13982. Fop: uint8(17),
  13983. Fbits: uint8(7),
  13984. Fval: uint16(13),
  13985. },
  13986. 297: {
  13987. Fbits: uint8(8),
  13988. Fval: uint16(100),
  13989. },
  13990. 298: {
  13991. Fbits: uint8(8),
  13992. Fval: uint16(36),
  13993. },
  13994. 299: {
  13995. Fbits: uint8(9),
  13996. Fval: uint16(169),
  13997. },
  13998. 300: {
  13999. Fbits: uint8(8),
  14000. Fval: uint16(4),
  14001. },
  14002. 301: {
  14003. Fbits: uint8(8),
  14004. Fval: uint16(132),
  14005. },
  14006. 302: {
  14007. Fbits: uint8(8),
  14008. Fval: uint16(68),
  14009. },
  14010. 303: {
  14011. Fbits: uint8(9),
  14012. Fval: uint16(233),
  14013. },
  14014. 304: {
  14015. Fop: uint8(16),
  14016. Fbits: uint8(7),
  14017. Fval: uint16(8),
  14018. },
  14019. 305: {
  14020. Fbits: uint8(8),
  14021. Fval: uint16(92),
  14022. },
  14023. 306: {
  14024. Fbits: uint8(8),
  14025. Fval: uint16(28),
  14026. },
  14027. 307: {
  14028. Fbits: uint8(9),
  14029. Fval: uint16(153),
  14030. },
  14031. 308: {
  14032. Fop: uint8(20),
  14033. Fbits: uint8(7),
  14034. Fval: uint16(83),
  14035. },
  14036. 309: {
  14037. Fbits: uint8(8),
  14038. Fval: uint16(124),
  14039. },
  14040. 310: {
  14041. Fbits: uint8(8),
  14042. Fval: uint16(60),
  14043. },
  14044. 311: {
  14045. Fbits: uint8(9),
  14046. Fval: uint16(217),
  14047. },
  14048. 312: {
  14049. Fop: uint8(18),
  14050. Fbits: uint8(7),
  14051. Fval: uint16(23),
  14052. },
  14053. 313: {
  14054. Fbits: uint8(8),
  14055. Fval: uint16(108),
  14056. },
  14057. 314: {
  14058. Fbits: uint8(8),
  14059. Fval: uint16(44),
  14060. },
  14061. 315: {
  14062. Fbits: uint8(9),
  14063. Fval: uint16(185),
  14064. },
  14065. 316: {
  14066. Fbits: uint8(8),
  14067. Fval: uint16(12),
  14068. },
  14069. 317: {
  14070. Fbits: uint8(8),
  14071. Fval: uint16(140),
  14072. },
  14073. 318: {
  14074. Fbits: uint8(8),
  14075. Fval: uint16(76),
  14076. },
  14077. 319: {
  14078. Fbits: uint8(9),
  14079. Fval: uint16(249),
  14080. },
  14081. 320: {
  14082. Fop: uint8(16),
  14083. Fbits: uint8(7),
  14084. Fval: uint16(3),
  14085. },
  14086. 321: {
  14087. Fbits: uint8(8),
  14088. Fval: uint16(82),
  14089. },
  14090. 322: {
  14091. Fbits: uint8(8),
  14092. Fval: uint16(18),
  14093. },
  14094. 323: {
  14095. Fop: uint8(21),
  14096. Fbits: uint8(8),
  14097. Fval: uint16(163),
  14098. },
  14099. 324: {
  14100. Fop: uint8(19),
  14101. Fbits: uint8(7),
  14102. Fval: uint16(35),
  14103. },
  14104. 325: {
  14105. Fbits: uint8(8),
  14106. Fval: uint16(114),
  14107. },
  14108. 326: {
  14109. Fbits: uint8(8),
  14110. Fval: uint16(50),
  14111. },
  14112. 327: {
  14113. Fbits: uint8(9),
  14114. Fval: uint16(197),
  14115. },
  14116. 328: {
  14117. Fop: uint8(17),
  14118. Fbits: uint8(7),
  14119. Fval: uint16(11),
  14120. },
  14121. 329: {
  14122. Fbits: uint8(8),
  14123. Fval: uint16(98),
  14124. },
  14125. 330: {
  14126. Fbits: uint8(8),
  14127. Fval: uint16(34),
  14128. },
  14129. 331: {
  14130. Fbits: uint8(9),
  14131. Fval: uint16(165),
  14132. },
  14133. 332: {
  14134. Fbits: uint8(8),
  14135. Fval: uint16(2),
  14136. },
  14137. 333: {
  14138. Fbits: uint8(8),
  14139. Fval: uint16(130),
  14140. },
  14141. 334: {
  14142. Fbits: uint8(8),
  14143. Fval: uint16(66),
  14144. },
  14145. 335: {
  14146. Fbits: uint8(9),
  14147. Fval: uint16(229),
  14148. },
  14149. 336: {
  14150. Fop: uint8(16),
  14151. Fbits: uint8(7),
  14152. Fval: uint16(7),
  14153. },
  14154. 337: {
  14155. Fbits: uint8(8),
  14156. Fval: uint16(90),
  14157. },
  14158. 338: {
  14159. Fbits: uint8(8),
  14160. Fval: uint16(26),
  14161. },
  14162. 339: {
  14163. Fbits: uint8(9),
  14164. Fval: uint16(149),
  14165. },
  14166. 340: {
  14167. Fop: uint8(20),
  14168. Fbits: uint8(7),
  14169. Fval: uint16(67),
  14170. },
  14171. 341: {
  14172. Fbits: uint8(8),
  14173. Fval: uint16(122),
  14174. },
  14175. 342: {
  14176. Fbits: uint8(8),
  14177. Fval: uint16(58),
  14178. },
  14179. 343: {
  14180. Fbits: uint8(9),
  14181. Fval: uint16(213),
  14182. },
  14183. 344: {
  14184. Fop: uint8(18),
  14185. Fbits: uint8(7),
  14186. Fval: uint16(19),
  14187. },
  14188. 345: {
  14189. Fbits: uint8(8),
  14190. Fval: uint16(106),
  14191. },
  14192. 346: {
  14193. Fbits: uint8(8),
  14194. Fval: uint16(42),
  14195. },
  14196. 347: {
  14197. Fbits: uint8(9),
  14198. Fval: uint16(181),
  14199. },
  14200. 348: {
  14201. Fbits: uint8(8),
  14202. Fval: uint16(10),
  14203. },
  14204. 349: {
  14205. Fbits: uint8(8),
  14206. Fval: uint16(138),
  14207. },
  14208. 350: {
  14209. Fbits: uint8(8),
  14210. Fval: uint16(74),
  14211. },
  14212. 351: {
  14213. Fbits: uint8(9),
  14214. Fval: uint16(245),
  14215. },
  14216. 352: {
  14217. Fop: uint8(16),
  14218. Fbits: uint8(7),
  14219. Fval: uint16(5),
  14220. },
  14221. 353: {
  14222. Fbits: uint8(8),
  14223. Fval: uint16(86),
  14224. },
  14225. 354: {
  14226. Fbits: uint8(8),
  14227. Fval: uint16(22),
  14228. },
  14229. 355: {
  14230. Fop: uint8(64),
  14231. Fbits: uint8(8),
  14232. },
  14233. 356: {
  14234. Fop: uint8(19),
  14235. Fbits: uint8(7),
  14236. Fval: uint16(51),
  14237. },
  14238. 357: {
  14239. Fbits: uint8(8),
  14240. Fval: uint16(118),
  14241. },
  14242. 358: {
  14243. Fbits: uint8(8),
  14244. Fval: uint16(54),
  14245. },
  14246. 359: {
  14247. Fbits: uint8(9),
  14248. Fval: uint16(205),
  14249. },
  14250. 360: {
  14251. Fop: uint8(17),
  14252. Fbits: uint8(7),
  14253. Fval: uint16(15),
  14254. },
  14255. 361: {
  14256. Fbits: uint8(8),
  14257. Fval: uint16(102),
  14258. },
  14259. 362: {
  14260. Fbits: uint8(8),
  14261. Fval: uint16(38),
  14262. },
  14263. 363: {
  14264. Fbits: uint8(9),
  14265. Fval: uint16(173),
  14266. },
  14267. 364: {
  14268. Fbits: uint8(8),
  14269. Fval: uint16(6),
  14270. },
  14271. 365: {
  14272. Fbits: uint8(8),
  14273. Fval: uint16(134),
  14274. },
  14275. 366: {
  14276. Fbits: uint8(8),
  14277. Fval: uint16(70),
  14278. },
  14279. 367: {
  14280. Fbits: uint8(9),
  14281. Fval: uint16(237),
  14282. },
  14283. 368: {
  14284. Fop: uint8(16),
  14285. Fbits: uint8(7),
  14286. Fval: uint16(9),
  14287. },
  14288. 369: {
  14289. Fbits: uint8(8),
  14290. Fval: uint16(94),
  14291. },
  14292. 370: {
  14293. Fbits: uint8(8),
  14294. Fval: uint16(30),
  14295. },
  14296. 371: {
  14297. Fbits: uint8(9),
  14298. Fval: uint16(157),
  14299. },
  14300. 372: {
  14301. Fop: uint8(20),
  14302. Fbits: uint8(7),
  14303. Fval: uint16(99),
  14304. },
  14305. 373: {
  14306. Fbits: uint8(8),
  14307. Fval: uint16(126),
  14308. },
  14309. 374: {
  14310. Fbits: uint8(8),
  14311. Fval: uint16(62),
  14312. },
  14313. 375: {
  14314. Fbits: uint8(9),
  14315. Fval: uint16(221),
  14316. },
  14317. 376: {
  14318. Fop: uint8(18),
  14319. Fbits: uint8(7),
  14320. Fval: uint16(27),
  14321. },
  14322. 377: {
  14323. Fbits: uint8(8),
  14324. Fval: uint16(110),
  14325. },
  14326. 378: {
  14327. Fbits: uint8(8),
  14328. Fval: uint16(46),
  14329. },
  14330. 379: {
  14331. Fbits: uint8(9),
  14332. Fval: uint16(189),
  14333. },
  14334. 380: {
  14335. Fbits: uint8(8),
  14336. Fval: uint16(14),
  14337. },
  14338. 381: {
  14339. Fbits: uint8(8),
  14340. Fval: uint16(142),
  14341. },
  14342. 382: {
  14343. Fbits: uint8(8),
  14344. Fval: uint16(78),
  14345. },
  14346. 383: {
  14347. Fbits: uint8(9),
  14348. Fval: uint16(253),
  14349. },
  14350. 384: {
  14351. Fop: uint8(96),
  14352. Fbits: uint8(7),
  14353. },
  14354. 385: {
  14355. Fbits: uint8(8),
  14356. Fval: uint16(81),
  14357. },
  14358. 386: {
  14359. Fbits: uint8(8),
  14360. Fval: uint16(17),
  14361. },
  14362. 387: {
  14363. Fop: uint8(21),
  14364. Fbits: uint8(8),
  14365. Fval: uint16(131),
  14366. },
  14367. 388: {
  14368. Fop: uint8(18),
  14369. Fbits: uint8(7),
  14370. Fval: uint16(31),
  14371. },
  14372. 389: {
  14373. Fbits: uint8(8),
  14374. Fval: uint16(113),
  14375. },
  14376. 390: {
  14377. Fbits: uint8(8),
  14378. Fval: uint16(49),
  14379. },
  14380. 391: {
  14381. Fbits: uint8(9),
  14382. Fval: uint16(195),
  14383. },
  14384. 392: {
  14385. Fop: uint8(16),
  14386. Fbits: uint8(7),
  14387. Fval: uint16(10),
  14388. },
  14389. 393: {
  14390. Fbits: uint8(8),
  14391. Fval: uint16(97),
  14392. },
  14393. 394: {
  14394. Fbits: uint8(8),
  14395. Fval: uint16(33),
  14396. },
  14397. 395: {
  14398. Fbits: uint8(9),
  14399. Fval: uint16(163),
  14400. },
  14401. 396: {
  14402. Fbits: uint8(8),
  14403. Fval: uint16(1),
  14404. },
  14405. 397: {
  14406. Fbits: uint8(8),
  14407. Fval: uint16(129),
  14408. },
  14409. 398: {
  14410. Fbits: uint8(8),
  14411. Fval: uint16(65),
  14412. },
  14413. 399: {
  14414. Fbits: uint8(9),
  14415. Fval: uint16(227),
  14416. },
  14417. 400: {
  14418. Fop: uint8(16),
  14419. Fbits: uint8(7),
  14420. Fval: uint16(6),
  14421. },
  14422. 401: {
  14423. Fbits: uint8(8),
  14424. Fval: uint16(89),
  14425. },
  14426. 402: {
  14427. Fbits: uint8(8),
  14428. Fval: uint16(25),
  14429. },
  14430. 403: {
  14431. Fbits: uint8(9),
  14432. Fval: uint16(147),
  14433. },
  14434. 404: {
  14435. Fop: uint8(19),
  14436. Fbits: uint8(7),
  14437. Fval: uint16(59),
  14438. },
  14439. 405: {
  14440. Fbits: uint8(8),
  14441. Fval: uint16(121),
  14442. },
  14443. 406: {
  14444. Fbits: uint8(8),
  14445. Fval: uint16(57),
  14446. },
  14447. 407: {
  14448. Fbits: uint8(9),
  14449. Fval: uint16(211),
  14450. },
  14451. 408: {
  14452. Fop: uint8(17),
  14453. Fbits: uint8(7),
  14454. Fval: uint16(17),
  14455. },
  14456. 409: {
  14457. Fbits: uint8(8),
  14458. Fval: uint16(105),
  14459. },
  14460. 410: {
  14461. Fbits: uint8(8),
  14462. Fval: uint16(41),
  14463. },
  14464. 411: {
  14465. Fbits: uint8(9),
  14466. Fval: uint16(179),
  14467. },
  14468. 412: {
  14469. Fbits: uint8(8),
  14470. Fval: uint16(9),
  14471. },
  14472. 413: {
  14473. Fbits: uint8(8),
  14474. Fval: uint16(137),
  14475. },
  14476. 414: {
  14477. Fbits: uint8(8),
  14478. Fval: uint16(73),
  14479. },
  14480. 415: {
  14481. Fbits: uint8(9),
  14482. Fval: uint16(243),
  14483. },
  14484. 416: {
  14485. Fop: uint8(16),
  14486. Fbits: uint8(7),
  14487. Fval: uint16(4),
  14488. },
  14489. 417: {
  14490. Fbits: uint8(8),
  14491. Fval: uint16(85),
  14492. },
  14493. 418: {
  14494. Fbits: uint8(8),
  14495. Fval: uint16(21),
  14496. },
  14497. 419: {
  14498. Fop: uint8(16),
  14499. Fbits: uint8(8),
  14500. Fval: uint16(258),
  14501. },
  14502. 420: {
  14503. Fop: uint8(19),
  14504. Fbits: uint8(7),
  14505. Fval: uint16(43),
  14506. },
  14507. 421: {
  14508. Fbits: uint8(8),
  14509. Fval: uint16(117),
  14510. },
  14511. 422: {
  14512. Fbits: uint8(8),
  14513. Fval: uint16(53),
  14514. },
  14515. 423: {
  14516. Fbits: uint8(9),
  14517. Fval: uint16(203),
  14518. },
  14519. 424: {
  14520. Fop: uint8(17),
  14521. Fbits: uint8(7),
  14522. Fval: uint16(13),
  14523. },
  14524. 425: {
  14525. Fbits: uint8(8),
  14526. Fval: uint16(101),
  14527. },
  14528. 426: {
  14529. Fbits: uint8(8),
  14530. Fval: uint16(37),
  14531. },
  14532. 427: {
  14533. Fbits: uint8(9),
  14534. Fval: uint16(171),
  14535. },
  14536. 428: {
  14537. Fbits: uint8(8),
  14538. Fval: uint16(5),
  14539. },
  14540. 429: {
  14541. Fbits: uint8(8),
  14542. Fval: uint16(133),
  14543. },
  14544. 430: {
  14545. Fbits: uint8(8),
  14546. Fval: uint16(69),
  14547. },
  14548. 431: {
  14549. Fbits: uint8(9),
  14550. Fval: uint16(235),
  14551. },
  14552. 432: {
  14553. Fop: uint8(16),
  14554. Fbits: uint8(7),
  14555. Fval: uint16(8),
  14556. },
  14557. 433: {
  14558. Fbits: uint8(8),
  14559. Fval: uint16(93),
  14560. },
  14561. 434: {
  14562. Fbits: uint8(8),
  14563. Fval: uint16(29),
  14564. },
  14565. 435: {
  14566. Fbits: uint8(9),
  14567. Fval: uint16(155),
  14568. },
  14569. 436: {
  14570. Fop: uint8(20),
  14571. Fbits: uint8(7),
  14572. Fval: uint16(83),
  14573. },
  14574. 437: {
  14575. Fbits: uint8(8),
  14576. Fval: uint16(125),
  14577. },
  14578. 438: {
  14579. Fbits: uint8(8),
  14580. Fval: uint16(61),
  14581. },
  14582. 439: {
  14583. Fbits: uint8(9),
  14584. Fval: uint16(219),
  14585. },
  14586. 440: {
  14587. Fop: uint8(18),
  14588. Fbits: uint8(7),
  14589. Fval: uint16(23),
  14590. },
  14591. 441: {
  14592. Fbits: uint8(8),
  14593. Fval: uint16(109),
  14594. },
  14595. 442: {
  14596. Fbits: uint8(8),
  14597. Fval: uint16(45),
  14598. },
  14599. 443: {
  14600. Fbits: uint8(9),
  14601. Fval: uint16(187),
  14602. },
  14603. 444: {
  14604. Fbits: uint8(8),
  14605. Fval: uint16(13),
  14606. },
  14607. 445: {
  14608. Fbits: uint8(8),
  14609. Fval: uint16(141),
  14610. },
  14611. 446: {
  14612. Fbits: uint8(8),
  14613. Fval: uint16(77),
  14614. },
  14615. 447: {
  14616. Fbits: uint8(9),
  14617. Fval: uint16(251),
  14618. },
  14619. 448: {
  14620. Fop: uint8(16),
  14621. Fbits: uint8(7),
  14622. Fval: uint16(3),
  14623. },
  14624. 449: {
  14625. Fbits: uint8(8),
  14626. Fval: uint16(83),
  14627. },
  14628. 450: {
  14629. Fbits: uint8(8),
  14630. Fval: uint16(19),
  14631. },
  14632. 451: {
  14633. Fop: uint8(21),
  14634. Fbits: uint8(8),
  14635. Fval: uint16(195),
  14636. },
  14637. 452: {
  14638. Fop: uint8(19),
  14639. Fbits: uint8(7),
  14640. Fval: uint16(35),
  14641. },
  14642. 453: {
  14643. Fbits: uint8(8),
  14644. Fval: uint16(115),
  14645. },
  14646. 454: {
  14647. Fbits: uint8(8),
  14648. Fval: uint16(51),
  14649. },
  14650. 455: {
  14651. Fbits: uint8(9),
  14652. Fval: uint16(199),
  14653. },
  14654. 456: {
  14655. Fop: uint8(17),
  14656. Fbits: uint8(7),
  14657. Fval: uint16(11),
  14658. },
  14659. 457: {
  14660. Fbits: uint8(8),
  14661. Fval: uint16(99),
  14662. },
  14663. 458: {
  14664. Fbits: uint8(8),
  14665. Fval: uint16(35),
  14666. },
  14667. 459: {
  14668. Fbits: uint8(9),
  14669. Fval: uint16(167),
  14670. },
  14671. 460: {
  14672. Fbits: uint8(8),
  14673. Fval: uint16(3),
  14674. },
  14675. 461: {
  14676. Fbits: uint8(8),
  14677. Fval: uint16(131),
  14678. },
  14679. 462: {
  14680. Fbits: uint8(8),
  14681. Fval: uint16(67),
  14682. },
  14683. 463: {
  14684. Fbits: uint8(9),
  14685. Fval: uint16(231),
  14686. },
  14687. 464: {
  14688. Fop: uint8(16),
  14689. Fbits: uint8(7),
  14690. Fval: uint16(7),
  14691. },
  14692. 465: {
  14693. Fbits: uint8(8),
  14694. Fval: uint16(91),
  14695. },
  14696. 466: {
  14697. Fbits: uint8(8),
  14698. Fval: uint16(27),
  14699. },
  14700. 467: {
  14701. Fbits: uint8(9),
  14702. Fval: uint16(151),
  14703. },
  14704. 468: {
  14705. Fop: uint8(20),
  14706. Fbits: uint8(7),
  14707. Fval: uint16(67),
  14708. },
  14709. 469: {
  14710. Fbits: uint8(8),
  14711. Fval: uint16(123),
  14712. },
  14713. 470: {
  14714. Fbits: uint8(8),
  14715. Fval: uint16(59),
  14716. },
  14717. 471: {
  14718. Fbits: uint8(9),
  14719. Fval: uint16(215),
  14720. },
  14721. 472: {
  14722. Fop: uint8(18),
  14723. Fbits: uint8(7),
  14724. Fval: uint16(19),
  14725. },
  14726. 473: {
  14727. Fbits: uint8(8),
  14728. Fval: uint16(107),
  14729. },
  14730. 474: {
  14731. Fbits: uint8(8),
  14732. Fval: uint16(43),
  14733. },
  14734. 475: {
  14735. Fbits: uint8(9),
  14736. Fval: uint16(183),
  14737. },
  14738. 476: {
  14739. Fbits: uint8(8),
  14740. Fval: uint16(11),
  14741. },
  14742. 477: {
  14743. Fbits: uint8(8),
  14744. Fval: uint16(139),
  14745. },
  14746. 478: {
  14747. Fbits: uint8(8),
  14748. Fval: uint16(75),
  14749. },
  14750. 479: {
  14751. Fbits: uint8(9),
  14752. Fval: uint16(247),
  14753. },
  14754. 480: {
  14755. Fop: uint8(16),
  14756. Fbits: uint8(7),
  14757. Fval: uint16(5),
  14758. },
  14759. 481: {
  14760. Fbits: uint8(8),
  14761. Fval: uint16(87),
  14762. },
  14763. 482: {
  14764. Fbits: uint8(8),
  14765. Fval: uint16(23),
  14766. },
  14767. 483: {
  14768. Fop: uint8(64),
  14769. Fbits: uint8(8),
  14770. },
  14771. 484: {
  14772. Fop: uint8(19),
  14773. Fbits: uint8(7),
  14774. Fval: uint16(51),
  14775. },
  14776. 485: {
  14777. Fbits: uint8(8),
  14778. Fval: uint16(119),
  14779. },
  14780. 486: {
  14781. Fbits: uint8(8),
  14782. Fval: uint16(55),
  14783. },
  14784. 487: {
  14785. Fbits: uint8(9),
  14786. Fval: uint16(207),
  14787. },
  14788. 488: {
  14789. Fop: uint8(17),
  14790. Fbits: uint8(7),
  14791. Fval: uint16(15),
  14792. },
  14793. 489: {
  14794. Fbits: uint8(8),
  14795. Fval: uint16(103),
  14796. },
  14797. 490: {
  14798. Fbits: uint8(8),
  14799. Fval: uint16(39),
  14800. },
  14801. 491: {
  14802. Fbits: uint8(9),
  14803. Fval: uint16(175),
  14804. },
  14805. 492: {
  14806. Fbits: uint8(8),
  14807. Fval: uint16(7),
  14808. },
  14809. 493: {
  14810. Fbits: uint8(8),
  14811. Fval: uint16(135),
  14812. },
  14813. 494: {
  14814. Fbits: uint8(8),
  14815. Fval: uint16(71),
  14816. },
  14817. 495: {
  14818. Fbits: uint8(9),
  14819. Fval: uint16(239),
  14820. },
  14821. 496: {
  14822. Fop: uint8(16),
  14823. Fbits: uint8(7),
  14824. Fval: uint16(9),
  14825. },
  14826. 497: {
  14827. Fbits: uint8(8),
  14828. Fval: uint16(95),
  14829. },
  14830. 498: {
  14831. Fbits: uint8(8),
  14832. Fval: uint16(31),
  14833. },
  14834. 499: {
  14835. Fbits: uint8(9),
  14836. Fval: uint16(159),
  14837. },
  14838. 500: {
  14839. Fop: uint8(20),
  14840. Fbits: uint8(7),
  14841. Fval: uint16(99),
  14842. },
  14843. 501: {
  14844. Fbits: uint8(8),
  14845. Fval: uint16(127),
  14846. },
  14847. 502: {
  14848. Fbits: uint8(8),
  14849. Fval: uint16(63),
  14850. },
  14851. 503: {
  14852. Fbits: uint8(9),
  14853. Fval: uint16(223),
  14854. },
  14855. 504: {
  14856. Fop: uint8(18),
  14857. Fbits: uint8(7),
  14858. Fval: uint16(27),
  14859. },
  14860. 505: {
  14861. Fbits: uint8(8),
  14862. Fval: uint16(111),
  14863. },
  14864. 506: {
  14865. Fbits: uint8(8),
  14866. Fval: uint16(47),
  14867. },
  14868. 507: {
  14869. Fbits: uint8(9),
  14870. Fval: uint16(191),
  14871. },
  14872. 508: {
  14873. Fbits: uint8(8),
  14874. Fval: uint16(15),
  14875. },
  14876. 509: {
  14877. Fbits: uint8(8),
  14878. Fval: uint16(143),
  14879. },
  14880. 510: {
  14881. Fbits: uint8(8),
  14882. Fval: uint16(79),
  14883. },
  14884. 511: {
  14885. Fbits: uint8(9),
  14886. Fval: uint16(255),
  14887. },
  14888. }
  14889. var _distfix1 = [32]Tcode{
  14890. 0: {
  14891. Fop: uint8(16),
  14892. Fbits: uint8(5),
  14893. Fval: uint16(1),
  14894. },
  14895. 1: {
  14896. Fop: uint8(23),
  14897. Fbits: uint8(5),
  14898. Fval: uint16(257),
  14899. },
  14900. 2: {
  14901. Fop: uint8(19),
  14902. Fbits: uint8(5),
  14903. Fval: uint16(17),
  14904. },
  14905. 3: {
  14906. Fop: uint8(27),
  14907. Fbits: uint8(5),
  14908. Fval: uint16(4097),
  14909. },
  14910. 4: {
  14911. Fop: uint8(17),
  14912. Fbits: uint8(5),
  14913. Fval: uint16(5),
  14914. },
  14915. 5: {
  14916. Fop: uint8(25),
  14917. Fbits: uint8(5),
  14918. Fval: uint16(1025),
  14919. },
  14920. 6: {
  14921. Fop: uint8(21),
  14922. Fbits: uint8(5),
  14923. Fval: uint16(65),
  14924. },
  14925. 7: {
  14926. Fop: uint8(29),
  14927. Fbits: uint8(5),
  14928. Fval: uint16(16385),
  14929. },
  14930. 8: {
  14931. Fop: uint8(16),
  14932. Fbits: uint8(5),
  14933. Fval: uint16(3),
  14934. },
  14935. 9: {
  14936. Fop: uint8(24),
  14937. Fbits: uint8(5),
  14938. Fval: uint16(513),
  14939. },
  14940. 10: {
  14941. Fop: uint8(20),
  14942. Fbits: uint8(5),
  14943. Fval: uint16(33),
  14944. },
  14945. 11: {
  14946. Fop: uint8(28),
  14947. Fbits: uint8(5),
  14948. Fval: uint16(8193),
  14949. },
  14950. 12: {
  14951. Fop: uint8(18),
  14952. Fbits: uint8(5),
  14953. Fval: uint16(9),
  14954. },
  14955. 13: {
  14956. Fop: uint8(26),
  14957. Fbits: uint8(5),
  14958. Fval: uint16(2049),
  14959. },
  14960. 14: {
  14961. Fop: uint8(22),
  14962. Fbits: uint8(5),
  14963. Fval: uint16(129),
  14964. },
  14965. 15: {
  14966. Fop: uint8(64),
  14967. Fbits: uint8(5),
  14968. },
  14969. 16: {
  14970. Fop: uint8(16),
  14971. Fbits: uint8(5),
  14972. Fval: uint16(2),
  14973. },
  14974. 17: {
  14975. Fop: uint8(23),
  14976. Fbits: uint8(5),
  14977. Fval: uint16(385),
  14978. },
  14979. 18: {
  14980. Fop: uint8(19),
  14981. Fbits: uint8(5),
  14982. Fval: uint16(25),
  14983. },
  14984. 19: {
  14985. Fop: uint8(27),
  14986. Fbits: uint8(5),
  14987. Fval: uint16(6145),
  14988. },
  14989. 20: {
  14990. Fop: uint8(17),
  14991. Fbits: uint8(5),
  14992. Fval: uint16(7),
  14993. },
  14994. 21: {
  14995. Fop: uint8(25),
  14996. Fbits: uint8(5),
  14997. Fval: uint16(1537),
  14998. },
  14999. 22: {
  15000. Fop: uint8(21),
  15001. Fbits: uint8(5),
  15002. Fval: uint16(97),
  15003. },
  15004. 23: {
  15005. Fop: uint8(29),
  15006. Fbits: uint8(5),
  15007. Fval: uint16(24577),
  15008. },
  15009. 24: {
  15010. Fop: uint8(16),
  15011. Fbits: uint8(5),
  15012. Fval: uint16(4),
  15013. },
  15014. 25: {
  15015. Fop: uint8(24),
  15016. Fbits: uint8(5),
  15017. Fval: uint16(769),
  15018. },
  15019. 26: {
  15020. Fop: uint8(20),
  15021. Fbits: uint8(5),
  15022. Fval: uint16(49),
  15023. },
  15024. 27: {
  15025. Fop: uint8(28),
  15026. Fbits: uint8(5),
  15027. Fval: uint16(12289),
  15028. },
  15029. 28: {
  15030. Fop: uint8(18),
  15031. Fbits: uint8(5),
  15032. Fval: uint16(13),
  15033. },
  15034. 29: {
  15035. Fop: uint8(26),
  15036. Fbits: uint8(5),
  15037. Fval: uint16(3073),
  15038. },
  15039. 30: {
  15040. Fop: uint8(22),
  15041. Fbits: uint8(5),
  15042. Fval: uint16(193),
  15043. },
  15044. 31: {
  15045. Fop: uint8(64),
  15046. Fbits: uint8(5),
  15047. },
  15048. }
  15049. // C documentation
  15050. //
  15051. // /*
  15052. // Update the window with the last wsize (normally 32K) bytes written before
  15053. // returning. If window does not exist yet, create it. This is only called
  15054. // when a window is already in use, or when output has been written during this
  15055. // inflate call, but the end of the deflate stream has not been reached yet.
  15056. // It is also called to create a window for dictionary data when a dictionary
  15057. // is loaded.
  15058. //
  15059. // Providing output buffers larger than 32K to inflate() should provide a speed
  15060. // advantage, since only the last 32K of output is copied to the sliding window
  15061. // upon return from inflate(), and since all distances after the first 32K of
  15062. // output will fall in the output data, making match copies simpler and faster.
  15063. // The advantage may be dependent on the size of the processor's data caches.
  15064. // */
  15065. func _updatewindow(tls *libc.TLS, strm Tz_streamp, end uintptr, copy1 uint32) (r int32) {
  15066. var dist uint32
  15067. var state uintptr
  15068. _, _ = dist, state
  15069. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  15070. /* if it hasn't been done already, allocate space for the window */
  15071. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow == uintptr(m_Z_NULL) {
  15072. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fwbits, uint32(libc.Uint64FromInt64(1)))
  15073. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow == uintptr(m_Z_NULL) {
  15074. return int32(1)
  15075. }
  15076. }
  15077. /* if window not in use yet, initialize */
  15078. if (*Tinflate_state)(unsafe.Pointer(state)).Fwsize == uint32(0) {
  15079. (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(1) << (*Tinflate_state)(unsafe.Pointer(state)).Fwbits
  15080. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  15081. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  15082. }
  15083. /* copy state->wsize or less output bytes into the circular window */
  15084. if copy1 >= (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  15085. libc.Xmemcpy(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, end-uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwsize), uint64((*Tinflate_state)(unsafe.Pointer(state)).Fwsize))
  15086. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  15087. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  15088. } else {
  15089. dist = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
  15090. if dist > copy1 {
  15091. dist = copy1
  15092. }
  15093. libc.Xmemcpy(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext), end-uintptr(copy1), uint64(dist))
  15094. copy1 -= dist
  15095. if copy1 != 0 {
  15096. libc.Xmemcpy(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, end-uintptr(copy1), uint64(copy1))
  15097. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = copy1
  15098. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  15099. } else {
  15100. *(*uint32)(unsafe.Pointer(state + 68)) += dist
  15101. if (*Tinflate_state)(unsafe.Pointer(state)).Fwnext == (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  15102. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  15103. }
  15104. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  15105. *(*uint32)(unsafe.Pointer(state + 64)) += dist
  15106. }
  15107. }
  15108. }
  15109. return 0
  15110. }
  15111. /* Macros for inflate(): */
  15112. /* check function to use adler32() for zlib or crc32() for gzip */
  15113. /* check macros for header crc */
  15114. /* Load registers with state in inflate() for speed */
  15115. /* Restore state from registers in inflate() */
  15116. /* Clear the input bit accumulator */
  15117. /* Get a byte of input into the bit accumulator, or return from inflate()
  15118. if there is no input available. */
  15119. /* Assure that there are at least n bits in the bit accumulator. If there is
  15120. not enough available input to do that, then return from inflate(). */
  15121. /* Return the low n bits of the bit accumulator (n < 16) */
  15122. /* Remove n bits from the bit accumulator */
  15123. /* Remove zero to seven bits as needed to go to a byte boundary */
  15124. /*
  15125. inflate() uses a state machine to process as much input data and generate as
  15126. much output data as possible before returning. The state machine is
  15127. structured roughly as follows:
  15128. for (;;) switch (state) {
  15129. ...
  15130. case STATEn:
  15131. if (not enough input data or output space to make progress)
  15132. return;
  15133. ... make progress ...
  15134. state = STATEm;
  15135. break;
  15136. ...
  15137. }
  15138. so when inflate() is called again, the same case is attempted again, and
  15139. if the appropriate resources are provided, the machine proceeds to the
  15140. next state. The NEEDBITS() macro is usually the way the state evaluates
  15141. whether it can proceed or should return. NEEDBITS() does the return if
  15142. the requested bits are not available. The typical use of the BITS macros
  15143. is:
  15144. NEEDBITS(n);
  15145. ... do something with BITS(n) ...
  15146. DROPBITS(n);
  15147. where NEEDBITS(n) either returns from inflate() if there isn't enough
  15148. input left to load n bits into the accumulator, or it continues. BITS(n)
  15149. gives the low n bits in the accumulator. When done, DROPBITS(n) drops
  15150. the low n bits off the accumulator. INITBITS() clears the accumulator
  15151. and sets the number of available bits to zero. BYTEBITS() discards just
  15152. enough bits to put the accumulator on a byte boundary. After BYTEBITS()
  15153. and a NEEDBITS(8), then BITS(8) would return the next byte in the stream.
  15154. NEEDBITS(n) uses PULLBYTE() to get an available byte of input, or to return
  15155. if there is no input available. The decoding of variable length codes uses
  15156. PULLBYTE() directly in order to pull just enough bytes to decode the next
  15157. code, and no more.
  15158. Some states loop until they get enough input, making sure that enough
  15159. state information is maintained to continue the loop where it left off
  15160. if NEEDBITS() returns in the loop. For example, want, need, and keep
  15161. would all have to actually be part of the saved state in case NEEDBITS()
  15162. returns:
  15163. case STATEw:
  15164. while (want < need) {
  15165. NEEDBITS(n);
  15166. keep[want++] = BITS(n);
  15167. DROPBITS(n);
  15168. }
  15169. state = STATEx;
  15170. case STATEx:
  15171. As shown above, if the next state is also the next case, then the break
  15172. is omitted.
  15173. A state may also return if there is not enough output space available to
  15174. complete that state. Those states are copying stored data, writing a
  15175. literal byte, and copying a matching string.
  15176. When returning, a "goto inf_leave" is used to update the total counters,
  15177. update the check value, and determine whether any progress has been made
  15178. during that inflate() call in order to return the proper return code.
  15179. Progress is defined as a change in either strm->avail_in or strm->avail_out.
  15180. When there is a window, goto inf_leave will update the window with the last
  15181. output written. If a goto inf_leave occurs in the middle of decompression
  15182. and there is no window currently, goto inf_leave will create one and copy
  15183. output to the window for the next call of inflate().
  15184. In this implementation, the flush parameter of inflate() only affects the
  15185. return code (per zlib.h). inflate() always writes as much as possible to
  15186. strm->next_out, given the space available and the provided input--the effect
  15187. documented in zlib.h of Z_SYNC_FLUSH. Furthermore, inflate() always defers
  15188. the allocation of and copying into a sliding window until necessary, which
  15189. provides the effect documented in zlib.h for Z_FINISH when the entire input
  15190. stream available. So the only thing the flush parameter actually does is:
  15191. when flush is set to Z_FINISH, inflate() cannot return Z_OK. Instead it
  15192. will return Z_BUF_ERROR if it has not reached the end of the stream.
  15193. */
  15194. func Xinflate(tls *libc.TLS, strm Tz_streamp, flush int32) (r int32) {
  15195. bp := tls.Alloc(16)
  15196. defer tls.Free(16)
  15197. var bits, copy1, have, in, left, len1, out, v46, v48, v49, v50, v52, v53, v64, v66, v70, v75, v76, v90 uint32
  15198. var from, next, put, state, v100, v36, v42, v43, v44, v45, v51, v54, v55, v57, v60, v61, v62, v63, v65, v67, v69, v71, v72, v73, v74, v77, v79, v81, v82, v85, v87, v88, v92, v93, v94, v95, p83, p89 uintptr
  15199. var here, last Tcode
  15200. var hold, v101, v102, v37, v56, v58, v59, v96, v97, v98 uint64
  15201. var ret, v103, v104, v105, v38 int32
  15202. var v47, v99 bool
  15203. var _ /* hbuf at bp+0 */ [4]uint8
  15204. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bits, copy1, from, have, here, hold, in, last, left, len1, next, out, put, ret, state, v100, v101, v102, v103, v104, v105, v36, v37, v38, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63, v64, v65, v66, v67, v69, v70, v71, v72, v73, v74, v75, v76, v77, v79, v81, v82, v85, v87, v88, v90, v92, v93, v94, v95, v96, v97, v98, v99, p83, p89 /* buffer for gzip header crc calculation */
  15205. if _inflateStateCheck(tls, strm) != 0 || (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in == uintptr(m_Z_NULL) && (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != uint32(0) {
  15206. return -int32(2)
  15207. }
  15208. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  15209. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
  15210. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPEDO)
  15211. } /* skip check */
  15212. put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  15213. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  15214. next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  15215. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  15216. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  15217. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  15218. in = have
  15219. out = left
  15220. ret = m_Z_OK
  15221. for {
  15222. switch (*Tinflate_state)(unsafe.Pointer(state)).Fmode {
  15223. case int32(_HEAD):
  15224. goto _2
  15225. case int32(_FLAGS):
  15226. goto _3
  15227. case int32(_TIME):
  15228. goto _4
  15229. case int32(_OS):
  15230. goto _5
  15231. case int32(_EXLEN):
  15232. goto _6
  15233. case int32(_EXTRA):
  15234. goto _7
  15235. case int32(_NAME):
  15236. goto _8
  15237. case int32(_COMMENT):
  15238. goto _9
  15239. case int32(_HCRC):
  15240. goto _10
  15241. case int32(_DICTID):
  15242. goto _11
  15243. case int32(_DICT):
  15244. goto _12
  15245. case int32(_TYPE):
  15246. goto _13
  15247. case int32(_TYPEDO):
  15248. goto _14
  15249. case int32(_STORED):
  15250. goto _15
  15251. case int32(_COPY_):
  15252. goto _16
  15253. case int32(_COPY):
  15254. goto _17
  15255. case int32(_TABLE):
  15256. goto _18
  15257. case int32(_LENLENS):
  15258. goto _19
  15259. case int32(_CODELENS):
  15260. goto _20
  15261. case int32(_LEN_):
  15262. goto _21
  15263. case int32(_LEN):
  15264. goto _22
  15265. case int32(_LENEXT):
  15266. goto _23
  15267. case int32(_DIST):
  15268. goto _24
  15269. case int32(_DISTEXT):
  15270. goto _25
  15271. case int32(_MATCH):
  15272. goto _26
  15273. case int32(_LIT):
  15274. goto _27
  15275. case int32(_CHECK):
  15276. goto _28
  15277. case int32(_LENGTH):
  15278. goto _29
  15279. case int32(_DONE):
  15280. goto _30
  15281. case int32(_BAD):
  15282. goto _31
  15283. case int32(_MEM):
  15284. goto _32
  15285. default:
  15286. goto _33
  15287. case int32(_SYNC):
  15288. goto _34
  15289. }
  15290. goto _35
  15291. _2:
  15292. ;
  15293. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap == 0 {
  15294. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPEDO)
  15295. goto _35
  15296. }
  15297. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  15298. if have == uint32(0) {
  15299. goto inf_leave
  15300. }
  15301. have--
  15302. v36 = next
  15303. next++
  15304. hold += uint64(*(*uint8)(unsafe.Pointer(v36))) << bits
  15305. bits += uint32(8)
  15306. }
  15307. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(2) != 0 && hold == uint64(0x8b1f) { /* gzip header */
  15308. if (*Tinflate_state)(unsafe.Pointer(state)).Fwbits == uint32(0) {
  15309. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = uint32(15)
  15310. }
  15311. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  15312. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  15313. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  15314. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  15315. hold = uint64(0)
  15316. bits = uint32(0)
  15317. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_FLAGS)
  15318. goto _35
  15319. }
  15320. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15321. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fdone = -int32(1)
  15322. }
  15323. if !((*Tinflate_state)(unsafe.Pointer(state)).Fwrap&libc.Int32FromInt32(1) != 0) || (uint64(uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(8)-libc.Uint32FromInt32(1))<<libc.Int32FromInt32(8))+hold>>int32(8))%uint64(31) != 0 {
  15324. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 308
  15325. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15326. goto _35
  15327. }
  15328. if uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) != uint32(m_Z_DEFLATED) {
  15329. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 331
  15330. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15331. goto _35
  15332. }
  15333. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
  15334. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
  15335. len1 = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(8)
  15336. if (*Tinflate_state)(unsafe.Pointer(state)).Fwbits == uint32(0) {
  15337. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = len1
  15338. }
  15339. if len1 > uint32(15) || len1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwbits {
  15340. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 358
  15341. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15342. goto _35
  15343. }
  15344. (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(1) << len1
  15345. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = 0 /* indicate zlib header */
  15346. v37 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  15347. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v37
  15348. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v37
  15349. if hold&uint64(0x200) != 0 {
  15350. v38 = int32(_DICTID)
  15351. } else {
  15352. v38 = int32(_TYPE)
  15353. }
  15354. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = v38
  15355. hold = uint64(0)
  15356. bits = uint32(0)
  15357. goto _35
  15358. _3:
  15359. ;
  15360. _41:
  15361. ;
  15362. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  15363. if have == uint32(0) {
  15364. goto inf_leave
  15365. }
  15366. have--
  15367. v42 = next
  15368. next++
  15369. hold += uint64(*(*uint8)(unsafe.Pointer(v42))) << bits
  15370. bits += uint32(8)
  15371. }
  15372. goto _40
  15373. _40:
  15374. ;
  15375. if 0 != 0 {
  15376. goto _41
  15377. }
  15378. goto _39
  15379. _39:
  15380. ;
  15381. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = libc.Int32FromUint64(hold)
  15382. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0xff) != int32(m_Z_DEFLATED) {
  15383. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 331
  15384. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15385. goto _35
  15386. }
  15387. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0xe000) != 0 {
  15388. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 378
  15389. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15390. goto _35
  15391. }
  15392. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15393. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Ftext = libc.Int32FromUint64(hold >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(1))
  15394. }
  15395. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15396. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  15397. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  15398. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  15399. }
  15400. hold = uint64(0)
  15401. bits = uint32(0)
  15402. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TIME)
  15403. /* fallthrough */
  15404. _4:
  15405. ;
  15406. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  15407. if have == uint32(0) {
  15408. goto inf_leave
  15409. }
  15410. have--
  15411. v43 = next
  15412. next++
  15413. hold += uint64(*(*uint8)(unsafe.Pointer(v43))) << bits
  15414. bits += uint32(8)
  15415. }
  15416. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15417. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Ftime = hold
  15418. }
  15419. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15420. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  15421. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  15422. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(2)] = uint8(hold >> libc.Int32FromInt32(16))
  15423. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(3)] = uint8(hold >> libc.Int32FromInt32(24))
  15424. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(4))
  15425. }
  15426. hold = uint64(0)
  15427. bits = uint32(0)
  15428. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_OS)
  15429. /* fallthrough */
  15430. _5:
  15431. ;
  15432. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  15433. if have == uint32(0) {
  15434. goto inf_leave
  15435. }
  15436. have--
  15437. v44 = next
  15438. next++
  15439. hold += uint64(*(*uint8)(unsafe.Pointer(v44))) << bits
  15440. bits += uint32(8)
  15441. }
  15442. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15443. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fxflags = libc.Int32FromUint64(hold & libc.Uint64FromInt32(0xff))
  15444. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fos = libc.Int32FromUint64(hold >> libc.Int32FromInt32(8))
  15445. }
  15446. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15447. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  15448. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  15449. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  15450. }
  15451. hold = uint64(0)
  15452. bits = uint32(0)
  15453. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_EXLEN)
  15454. /* fallthrough */
  15455. _6:
  15456. ;
  15457. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0400) != 0 {
  15458. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  15459. if have == uint32(0) {
  15460. goto inf_leave
  15461. }
  15462. have--
  15463. v45 = next
  15464. next++
  15465. hold += uint64(*(*uint8)(unsafe.Pointer(v45))) << bits
  15466. bits += uint32(8)
  15467. }
  15468. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold)
  15469. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15470. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_len = uint32(hold)
  15471. }
  15472. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15473. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  15474. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  15475. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  15476. }
  15477. hold = uint64(0)
  15478. bits = uint32(0)
  15479. } else {
  15480. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15481. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra = uintptr(m_Z_NULL)
  15482. }
  15483. }
  15484. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_EXTRA)
  15485. /* fallthrough */
  15486. _7:
  15487. ;
  15488. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0400) != 0 {
  15489. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  15490. if copy1 > have {
  15491. copy1 = have
  15492. }
  15493. if copy1 != 0 {
  15494. if v47 = (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) && (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra != uintptr(m_Z_NULL); v47 {
  15495. v46 = (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_len - (*Tinflate_state)(unsafe.Pointer(state)).Flength
  15496. len1 = v46
  15497. }
  15498. if v47 && v46 < (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max {
  15499. if len1+copy1 > (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max {
  15500. v48 = (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max - len1
  15501. } else {
  15502. v48 = copy1
  15503. }
  15504. libc.Xmemcpy(tls, (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra+uintptr(len1), next, uint64(v48))
  15505. }
  15506. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15507. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
  15508. }
  15509. have -= copy1
  15510. next += uintptr(copy1)
  15511. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  15512. }
  15513. if (*Tinflate_state)(unsafe.Pointer(state)).Flength != 0 {
  15514. goto inf_leave
  15515. }
  15516. }
  15517. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(0)
  15518. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_NAME)
  15519. /* fallthrough */
  15520. _8:
  15521. ;
  15522. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0800) != 0 {
  15523. if have == uint32(0) {
  15524. goto inf_leave
  15525. }
  15526. copy1 = uint32(0)
  15527. for cond := true; cond; cond = len1 != 0 && copy1 < have {
  15528. v49 = copy1
  15529. copy1++
  15530. len1 = uint32(*(*uint8)(unsafe.Pointer(next + uintptr(v49))))
  15531. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) && (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname != uintptr(m_Z_NULL) && (*Tinflate_state)(unsafe.Pointer(state)).Flength < (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname_max {
  15532. v51 = state + 92
  15533. v50 = *(*uint32)(unsafe.Pointer(v51))
  15534. *(*uint32)(unsafe.Pointer(v51))++
  15535. *(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname + uintptr(v50))) = uint8(len1)
  15536. }
  15537. }
  15538. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15539. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
  15540. }
  15541. have -= copy1
  15542. next += uintptr(copy1)
  15543. if len1 != 0 {
  15544. goto inf_leave
  15545. }
  15546. } else {
  15547. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15548. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname = uintptr(m_Z_NULL)
  15549. }
  15550. }
  15551. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(0)
  15552. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COMMENT)
  15553. /* fallthrough */
  15554. _9:
  15555. ;
  15556. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x1000) != 0 {
  15557. if have == uint32(0) {
  15558. goto inf_leave
  15559. }
  15560. copy1 = uint32(0)
  15561. for cond := true; cond; cond = len1 != 0 && copy1 < have {
  15562. v52 = copy1
  15563. copy1++
  15564. len1 = uint32(*(*uint8)(unsafe.Pointer(next + uintptr(v52))))
  15565. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) && (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment != uintptr(m_Z_NULL) && (*Tinflate_state)(unsafe.Pointer(state)).Flength < (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomm_max {
  15566. v54 = state + 92
  15567. v53 = *(*uint32)(unsafe.Pointer(v54))
  15568. *(*uint32)(unsafe.Pointer(v54))++
  15569. *(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment + uintptr(v53))) = uint8(len1)
  15570. }
  15571. }
  15572. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15573. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
  15574. }
  15575. have -= copy1
  15576. next += uintptr(copy1)
  15577. if len1 != 0 {
  15578. goto inf_leave
  15579. }
  15580. } else {
  15581. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15582. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment = uintptr(m_Z_NULL)
  15583. }
  15584. }
  15585. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_HCRC)
  15586. /* fallthrough */
  15587. _10:
  15588. ;
  15589. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 {
  15590. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  15591. if have == uint32(0) {
  15592. goto inf_leave
  15593. }
  15594. have--
  15595. v55 = next
  15596. next++
  15597. hold += uint64(*(*uint8)(unsafe.Pointer(v55))) << bits
  15598. bits += uint32(8)
  15599. }
  15600. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && hold != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck&uint64(0xffff) {
  15601. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 403
  15602. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15603. goto _35
  15604. }
  15605. hold = uint64(0)
  15606. bits = uint32(0)
  15607. }
  15608. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15609. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fhcrc = (*Tinflate_state)(unsafe.Pointer(state)).Fflags >> libc.Int32FromInt32(9) & libc.Int32FromInt32(1)
  15610. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fdone = int32(1)
  15611. }
  15612. v56 = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  15613. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v56
  15614. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v56
  15615. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  15616. goto _35
  15617. _11:
  15618. ;
  15619. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  15620. if have == uint32(0) {
  15621. goto inf_leave
  15622. }
  15623. have--
  15624. v57 = next
  15625. next++
  15626. hold += uint64(*(*uint8)(unsafe.Pointer(v57))) << bits
  15627. bits += uint32(8)
  15628. }
  15629. v58 = hold>>libc.Int32FromInt32(24)&libc.Uint64FromInt32(0xff) + hold>>libc.Int32FromInt32(8)&libc.Uint64FromInt32(0xff00) + hold&libc.Uint64FromInt32(0xff00)<<libc.Int32FromInt32(8) + hold&libc.Uint64FromInt32(0xff)<<libc.Int32FromInt32(24)
  15630. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v58
  15631. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v58
  15632. hold = uint64(0)
  15633. bits = uint32(0)
  15634. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DICT)
  15635. /* fallthrough */
  15636. _12:
  15637. ;
  15638. if (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict == 0 {
  15639. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  15640. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  15641. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  15642. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  15643. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  15644. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  15645. return int32(m_Z_NEED_DICT)
  15646. }
  15647. v59 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  15648. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v59
  15649. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v59
  15650. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  15651. /* fallthrough */
  15652. _13:
  15653. ;
  15654. if flush == int32(m_Z_BLOCK) || flush == int32(m_Z_TREES) {
  15655. goto inf_leave
  15656. }
  15657. /* fallthrough */
  15658. _14:
  15659. ;
  15660. if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
  15661. hold >>= uint64(bits & uint32(7))
  15662. bits -= bits & uint32(7)
  15663. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_CHECK)
  15664. goto _35
  15665. }
  15666. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  15667. if have == uint32(0) {
  15668. goto inf_leave
  15669. }
  15670. have--
  15671. v60 = next
  15672. next++
  15673. hold += uint64(*(*uint8)(unsafe.Pointer(v60))) << bits
  15674. bits += uint32(8)
  15675. }
  15676. (*Tinflate_state)(unsafe.Pointer(state)).Flast = libc.Int32FromUint32(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(1) - libc.Uint32FromInt32(1)))
  15677. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(1))
  15678. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(1))
  15679. switch uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2) - libc.Uint32FromInt32(1)) {
  15680. case uint32(0): /* stored block */
  15681. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_STORED)
  15682. case uint32(1): /* fixed block */
  15683. _fixedtables1(tls, state)
  15684. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN_) /* decode codes */
  15685. if flush == int32(m_Z_TREES) {
  15686. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  15687. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  15688. goto inf_leave
  15689. }
  15690. case uint32(2): /* dynamic block */
  15691. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TABLE)
  15692. case uint32(3):
  15693. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 6
  15694. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15695. }
  15696. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  15697. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  15698. goto _35
  15699. _15:
  15700. ;
  15701. hold >>= uint64(bits & uint32(7))
  15702. bits -= bits & uint32(7) /* go to byte boundary */
  15703. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  15704. if have == uint32(0) {
  15705. goto inf_leave
  15706. }
  15707. have--
  15708. v61 = next
  15709. next++
  15710. hold += uint64(*(*uint8)(unsafe.Pointer(v61))) << bits
  15711. bits += uint32(8)
  15712. }
  15713. if hold&uint64(0xffff) != hold>>int32(16)^uint64(0xffff) {
  15714. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 25
  15715. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15716. goto _35
  15717. }
  15718. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold) & uint32(0xffff)
  15719. hold = uint64(0)
  15720. bits = uint32(0)
  15721. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COPY_)
  15722. if flush == int32(m_Z_TREES) {
  15723. goto inf_leave
  15724. }
  15725. /* fallthrough */
  15726. _16:
  15727. ;
  15728. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COPY)
  15729. /* fallthrough */
  15730. _17:
  15731. ;
  15732. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  15733. if copy1 != 0 {
  15734. if copy1 > have {
  15735. copy1 = have
  15736. }
  15737. if copy1 > left {
  15738. copy1 = left
  15739. }
  15740. if copy1 == uint32(0) {
  15741. goto inf_leave
  15742. }
  15743. libc.Xmemcpy(tls, put, next, uint64(copy1))
  15744. have -= copy1
  15745. next += uintptr(copy1)
  15746. left -= copy1
  15747. put += uintptr(copy1)
  15748. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  15749. goto _35
  15750. }
  15751. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  15752. goto _35
  15753. _18:
  15754. ;
  15755. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(14)) {
  15756. if have == uint32(0) {
  15757. goto inf_leave
  15758. }
  15759. have--
  15760. v62 = next
  15761. next++
  15762. hold += uint64(*(*uint8)(unsafe.Pointer(v62))) << bits
  15763. bits += uint32(8)
  15764. }
  15765. (*Tinflate_state)(unsafe.Pointer(state)).Fnlen = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(257)
  15766. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  15767. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  15768. (*Tinflate_state)(unsafe.Pointer(state)).Fndist = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(1)
  15769. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  15770. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  15771. (*Tinflate_state)(unsafe.Pointer(state)).Fncode = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(4)
  15772. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
  15773. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
  15774. if (*Tinflate_state)(unsafe.Pointer(state)).Fnlen > uint32(286) || (*Tinflate_state)(unsafe.Pointer(state)).Fndist > uint32(30) {
  15775. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 54
  15776. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15777. goto _35
  15778. }
  15779. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  15780. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENLENS)
  15781. /* fallthrough */
  15782. _19:
  15783. ;
  15784. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fncode {
  15785. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  15786. if have == uint32(0) {
  15787. goto inf_leave
  15788. }
  15789. have--
  15790. v63 = next
  15791. next++
  15792. hold += uint64(*(*uint8)(unsafe.Pointer(v63))) << bits
  15793. bits += uint32(8)
  15794. }
  15795. v65 = state + 140
  15796. v64 = *(*uint32)(unsafe.Pointer(v65))
  15797. *(*uint32)(unsafe.Pointer(v65))++
  15798. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order1[v64])*2)) = uint16(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3) - libc.Uint32FromInt32(1)))
  15799. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  15800. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  15801. }
  15802. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < uint32(19) {
  15803. v67 = state + 140
  15804. v66 = *(*uint32)(unsafe.Pointer(v67))
  15805. *(*uint32)(unsafe.Pointer(v67))++
  15806. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order1[v66])*2)) = uint16(0)
  15807. }
  15808. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  15809. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  15810. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(7)
  15811. ret = Xinflate_table(tls, int32(_CODES), state+152, uint32(19), state+144, state+120, state+792)
  15812. if ret != 0 {
  15813. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 90
  15814. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15815. goto _35
  15816. }
  15817. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  15818. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_CODELENS)
  15819. /* fallthrough */
  15820. _20:
  15821. ;
  15822. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  15823. for {
  15824. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits-libc.Uint32FromInt32(1)))*4))
  15825. if uint32(here.Fbits) <= bits {
  15826. break
  15827. }
  15828. if have == uint32(0) {
  15829. goto inf_leave
  15830. }
  15831. have--
  15832. v69 = next
  15833. next++
  15834. hold += uint64(*(*uint8)(unsafe.Pointer(v69))) << bits
  15835. bits += uint32(8)
  15836. goto _68
  15837. _68:
  15838. }
  15839. if libc.Int32FromUint16(here.Fval) < int32(16) {
  15840. hold >>= uint64(here.Fbits)
  15841. bits -= uint32(here.Fbits)
  15842. v71 = state + 140
  15843. v70 = *(*uint32)(unsafe.Pointer(v71))
  15844. *(*uint32)(unsafe.Pointer(v71))++
  15845. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v70)*2)) = here.Fval
  15846. } else {
  15847. if libc.Int32FromUint16(here.Fval) == int32(16) {
  15848. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(2)) {
  15849. if have == uint32(0) {
  15850. goto inf_leave
  15851. }
  15852. have--
  15853. v72 = next
  15854. next++
  15855. hold += uint64(*(*uint8)(unsafe.Pointer(v72))) << bits
  15856. bits += uint32(8)
  15857. }
  15858. hold >>= uint64(here.Fbits)
  15859. bits -= uint32(here.Fbits)
  15860. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave == uint32(0) {
  15861. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  15862. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15863. break
  15864. }
  15865. len1 = uint32(*(*uint16)(unsafe.Pointer(state + 152 + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fhave-uint32(1))*2)))
  15866. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2)-libc.Uint32FromInt32(1))
  15867. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  15868. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  15869. } else {
  15870. if libc.Int32FromUint16(here.Fval) == int32(17) {
  15871. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(3)) {
  15872. if have == uint32(0) {
  15873. goto inf_leave
  15874. }
  15875. have--
  15876. v73 = next
  15877. next++
  15878. hold += uint64(*(*uint8)(unsafe.Pointer(v73))) << bits
  15879. bits += uint32(8)
  15880. }
  15881. hold >>= uint64(here.Fbits)
  15882. bits -= uint32(here.Fbits)
  15883. len1 = uint32(0)
  15884. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3)-libc.Uint32FromInt32(1))
  15885. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  15886. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  15887. } else {
  15888. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(7)) {
  15889. if have == uint32(0) {
  15890. goto inf_leave
  15891. }
  15892. have--
  15893. v74 = next
  15894. next++
  15895. hold += uint64(*(*uint8)(unsafe.Pointer(v74))) << bits
  15896. bits += uint32(8)
  15897. }
  15898. hold >>= uint64(here.Fbits)
  15899. bits -= uint32(here.Fbits)
  15900. len1 = uint32(0)
  15901. copy1 = uint32(11) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(7)-libc.Uint32FromInt32(1))
  15902. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(7))
  15903. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(7))
  15904. }
  15905. }
  15906. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave+copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  15907. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  15908. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15909. break
  15910. }
  15911. for {
  15912. v75 = copy1
  15913. copy1--
  15914. if !(v75 != 0) {
  15915. break
  15916. }
  15917. v77 = state + 140
  15918. v76 = *(*uint32)(unsafe.Pointer(v77))
  15919. *(*uint32)(unsafe.Pointer(v77))++
  15920. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v76)*2)) = uint16(len1)
  15921. }
  15922. }
  15923. }
  15924. /* handle error breaks in while */
  15925. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_BAD) {
  15926. goto _35
  15927. }
  15928. /* check for end-of-block code (better have one) */
  15929. if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(state + 152 + 256*2))) == 0 {
  15930. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 141
  15931. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15932. goto _35
  15933. }
  15934. /* build code tables -- note: do not change the lenbits or distbits
  15935. values here (9 and 6) without reading the comments in inftrees.h
  15936. concerning the ENOUGH constants, which depend on those values */
  15937. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  15938. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  15939. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  15940. ret = Xinflate_table(tls, int32(_LENS), state+152, (*Tinflate_state)(unsafe.Pointer(state)).Fnlen, state+144, state+120, state+792)
  15941. if ret != 0 {
  15942. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 178
  15943. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15944. goto _35
  15945. }
  15946. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  15947. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(6)
  15948. ret = Xinflate_table(tls, int32(_DISTS), state+152+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fnlen)*2, (*Tinflate_state)(unsafe.Pointer(state)).Fndist, state+144, state+124, state+792)
  15949. if ret != 0 {
  15950. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 206
  15951. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15952. goto _35
  15953. }
  15954. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN_)
  15955. if flush == int32(m_Z_TREES) {
  15956. goto inf_leave
  15957. }
  15958. /* fallthrough */
  15959. _21:
  15960. ;
  15961. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  15962. /* fallthrough */
  15963. _22:
  15964. ;
  15965. if have >= uint32(6) && left >= uint32(258) {
  15966. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  15967. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  15968. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  15969. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  15970. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  15971. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  15972. Xinflate_fast(tls, strm, out)
  15973. put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  15974. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  15975. next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  15976. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  15977. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  15978. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  15979. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
  15980. (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
  15981. }
  15982. goto _35
  15983. }
  15984. (*Tinflate_state)(unsafe.Pointer(state)).Fback = 0
  15985. for {
  15986. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits-libc.Uint32FromInt32(1)))*4))
  15987. if uint32(here.Fbits) <= bits {
  15988. break
  15989. }
  15990. if have == uint32(0) {
  15991. goto inf_leave
  15992. }
  15993. have--
  15994. v79 = next
  15995. next++
  15996. hold += uint64(*(*uint8)(unsafe.Pointer(v79))) << bits
  15997. bits += uint32(8)
  15998. goto _78
  15999. _78:
  16000. }
  16001. if here.Fop != 0 && libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  16002. last = here
  16003. for {
  16004. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Flencode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(last.Fop))-uint32(1))>>last.Fbits)*4))
  16005. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  16006. break
  16007. }
  16008. if have == uint32(0) {
  16009. goto inf_leave
  16010. }
  16011. have--
  16012. v81 = next
  16013. next++
  16014. hold += uint64(*(*uint8)(unsafe.Pointer(v81))) << bits
  16015. bits += uint32(8)
  16016. goto _80
  16017. _80:
  16018. }
  16019. hold >>= uint64(last.Fbits)
  16020. bits -= uint32(last.Fbits)
  16021. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(last.Fbits)
  16022. }
  16023. hold >>= uint64(here.Fbits)
  16024. bits -= uint32(here.Fbits)
  16025. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(here.Fbits)
  16026. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(here.Fval)
  16027. if libc.Int32FromUint8(here.Fop) == 0 {
  16028. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LIT)
  16029. goto _35
  16030. }
  16031. if libc.Int32FromUint8(here.Fop)&int32(32) != 0 {
  16032. (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
  16033. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  16034. goto _35
  16035. }
  16036. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  16037. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
  16038. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16039. goto _35
  16040. }
  16041. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  16042. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENEXT)
  16043. /* fallthrough */
  16044. _23:
  16045. ;
  16046. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != 0 {
  16047. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  16048. if have == uint32(0) {
  16049. goto inf_leave
  16050. }
  16051. have--
  16052. v82 = next
  16053. next++
  16054. hold += uint64(*(*uint8)(unsafe.Pointer(v82))) << bits
  16055. bits += uint32(8)
  16056. }
  16057. *(*uint32)(unsafe.Pointer(state + 92)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  16058. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  16059. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  16060. p83 = state + 7148
  16061. *(*int32)(unsafe.Pointer(p83)) = int32(uint32(*(*int32)(unsafe.Pointer(p83))) + (*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  16062. }
  16063. (*Tinflate_state)(unsafe.Pointer(state)).Fwas = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16064. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DIST)
  16065. /* fallthrough */
  16066. _24:
  16067. ;
  16068. for {
  16069. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(hold)&(libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fdistbits-libc.Uint32FromInt32(1)))*4))
  16070. if uint32(here.Fbits) <= bits {
  16071. break
  16072. }
  16073. if have == uint32(0) {
  16074. goto inf_leave
  16075. }
  16076. have--
  16077. v85 = next
  16078. next++
  16079. hold += uint64(*(*uint8)(unsafe.Pointer(v85))) << bits
  16080. bits += uint32(8)
  16081. goto _84
  16082. _84:
  16083. }
  16084. if libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  16085. last = here
  16086. for {
  16087. here = *(*Tcode)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode + uintptr(uint32(last.Fval)+uint32(hold)&(uint32(1)<<(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(last.Fop))-uint32(1))>>last.Fbits)*4))
  16088. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  16089. break
  16090. }
  16091. if have == uint32(0) {
  16092. goto inf_leave
  16093. }
  16094. have--
  16095. v87 = next
  16096. next++
  16097. hold += uint64(*(*uint8)(unsafe.Pointer(v87))) << bits
  16098. bits += uint32(8)
  16099. goto _86
  16100. _86:
  16101. }
  16102. hold >>= uint64(last.Fbits)
  16103. bits -= uint32(last.Fbits)
  16104. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(last.Fbits)
  16105. }
  16106. hold >>= uint64(here.Fbits)
  16107. bits -= uint32(here.Fbits)
  16108. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(here.Fbits)
  16109. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  16110. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
  16111. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16112. goto _35
  16113. }
  16114. (*Tinflate_state)(unsafe.Pointer(state)).Foffset = uint32(here.Fval)
  16115. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  16116. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DISTEXT)
  16117. /* fallthrough */
  16118. _25:
  16119. ;
  16120. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != 0 {
  16121. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  16122. if have == uint32(0) {
  16123. goto inf_leave
  16124. }
  16125. have--
  16126. v88 = next
  16127. next++
  16128. hold += uint64(*(*uint8)(unsafe.Pointer(v88))) << bits
  16129. bits += uint32(8)
  16130. }
  16131. *(*uint32)(unsafe.Pointer(state + 96)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  16132. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  16133. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  16134. p89 = state + 7148
  16135. *(*int32)(unsafe.Pointer(p89)) = int32(uint32(*(*int32)(unsafe.Pointer(p89))) + (*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  16136. }
  16137. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MATCH)
  16138. /* fallthrough */
  16139. _26:
  16140. ;
  16141. if left == uint32(0) {
  16142. goto inf_leave
  16143. }
  16144. copy1 = out - left
  16145. if (*Tinflate_state)(unsafe.Pointer(state)).Foffset > copy1 { /* copy from window */
  16146. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Foffset - copy1
  16147. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwhave {
  16148. if (*Tinflate_state)(unsafe.Pointer(state)).Fsane != 0 {
  16149. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
  16150. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16151. goto _35
  16152. }
  16153. }
  16154. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwnext {
  16155. copy1 -= (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
  16156. from = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwsize-copy1)
  16157. } else {
  16158. from = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext-copy1)
  16159. }
  16160. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Flength {
  16161. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16162. }
  16163. } else { /* copy from output */
  16164. from = put - uintptr((*Tinflate_state)(unsafe.Pointer(state)).Foffset)
  16165. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16166. }
  16167. if copy1 > left {
  16168. copy1 = left
  16169. }
  16170. left -= copy1
  16171. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  16172. for {
  16173. v92 = put
  16174. put++
  16175. v93 = from
  16176. from++
  16177. *(*uint8)(unsafe.Pointer(v92)) = *(*uint8)(unsafe.Pointer(v93))
  16178. goto _91
  16179. _91:
  16180. ;
  16181. copy1--
  16182. v90 = copy1
  16183. if !(v90 != 0) {
  16184. break
  16185. }
  16186. }
  16187. if (*Tinflate_state)(unsafe.Pointer(state)).Flength == uint32(0) {
  16188. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  16189. }
  16190. goto _35
  16191. _27:
  16192. ;
  16193. if left == uint32(0) {
  16194. goto inf_leave
  16195. }
  16196. v94 = put
  16197. put++
  16198. *(*uint8)(unsafe.Pointer(v94)) = uint8((*Tinflate_state)(unsafe.Pointer(state)).Flength)
  16199. left--
  16200. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  16201. goto _35
  16202. _28:
  16203. ;
  16204. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 {
  16205. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  16206. if have == uint32(0) {
  16207. goto inf_leave
  16208. }
  16209. have--
  16210. v95 = next
  16211. next++
  16212. hold += uint64(*(*uint8)(unsafe.Pointer(v95))) << bits
  16213. bits += uint32(8)
  16214. }
  16215. out -= left
  16216. *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(out)
  16217. *(*uint64)(unsafe.Pointer(state + 40)) += uint64(out)
  16218. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && out != 0 {
  16219. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  16220. v97 = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, put-uintptr(out), out)
  16221. } else {
  16222. v97 = Xadler32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, put-uintptr(out), out)
  16223. }
  16224. v96 = v97
  16225. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v96
  16226. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v96
  16227. }
  16228. out = left
  16229. if v99 = (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0; v99 {
  16230. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  16231. v98 = hold
  16232. } else {
  16233. v98 = hold>>int32(24)&uint64(0xff) + hold>>int32(8)&uint64(0xff00) + hold&uint64(0xff00)<<int32(8) + hold&uint64(0xff)<<int32(24)
  16234. }
  16235. }
  16236. if v99 && v98 != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck {
  16237. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 423
  16238. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16239. goto _35
  16240. }
  16241. hold = uint64(0)
  16242. bits = uint32(0)
  16243. }
  16244. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENGTH)
  16245. /* fallthrough */
  16246. _29:
  16247. ;
  16248. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  16249. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  16250. if have == uint32(0) {
  16251. goto inf_leave
  16252. }
  16253. have--
  16254. v100 = next
  16255. next++
  16256. hold += uint64(*(*uint8)(unsafe.Pointer(v100))) << bits
  16257. bits += uint32(8)
  16258. }
  16259. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && hold != (*Tinflate_state)(unsafe.Pointer(state)).Ftotal&uint64(0xffffffff) {
  16260. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 444
  16261. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16262. goto _35
  16263. }
  16264. hold = uint64(0)
  16265. bits = uint32(0)
  16266. }
  16267. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DONE)
  16268. /* fallthrough */
  16269. _30:
  16270. ;
  16271. ret = int32(m_Z_STREAM_END)
  16272. goto inf_leave
  16273. _31:
  16274. ;
  16275. ret = -int32(3)
  16276. goto inf_leave
  16277. _32:
  16278. ;
  16279. return -int32(4)
  16280. _34:
  16281. ;
  16282. /* fallthrough */
  16283. _33:
  16284. ;
  16285. return -int32(2)
  16286. _35:
  16287. ;
  16288. goto _1
  16289. _1:
  16290. }
  16291. /*
  16292. Return from inflate(), updating the total counts and the check value.
  16293. If there was no progress during the inflate() call, return a buffer
  16294. error. Call updatewindow() to create and/or update the window state.
  16295. Note: a memory error from inflate() is non-recoverable.
  16296. */
  16297. goto inf_leave
  16298. inf_leave:
  16299. ;
  16300. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  16301. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  16302. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  16303. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  16304. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  16305. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  16306. if (*Tinflate_state)(unsafe.Pointer(state)).Fwsize != 0 || out != (*Tz_stream)(unsafe.Pointer(strm)).Favail_out && (*Tinflate_state)(unsafe.Pointer(state)).Fmode < int32(_BAD) && ((*Tinflate_state)(unsafe.Pointer(state)).Fmode < int32(_CHECK) || flush != int32(m_Z_FINISH)) {
  16307. if _updatewindow(tls, strm, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out, out-(*Tz_stream)(unsafe.Pointer(strm)).Favail_out) != 0 {
  16308. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MEM)
  16309. return -int32(4)
  16310. }
  16311. }
  16312. in -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  16313. out -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  16314. *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(in)
  16315. *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(out)
  16316. *(*uint64)(unsafe.Pointer(state + 40)) += uint64(out)
  16317. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && out != 0 {
  16318. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  16319. v102 = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out-uintptr(out), out)
  16320. } else {
  16321. v102 = Xadler32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out-uintptr(out), out)
  16322. }
  16323. v101 = v102
  16324. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v101
  16325. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v101
  16326. }
  16327. if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
  16328. v103 = int32(64)
  16329. } else {
  16330. v103 = 0
  16331. }
  16332. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
  16333. v104 = int32(128)
  16334. } else {
  16335. v104 = 0
  16336. }
  16337. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_LEN_) || (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_COPY_) {
  16338. v105 = int32(256)
  16339. } else {
  16340. v105 = 0
  16341. }
  16342. (*Tz_stream)(unsafe.Pointer(strm)).Fdata_type = libc.Int32FromUint32((*Tinflate_state)(unsafe.Pointer(state)).Fbits) + v103 + v104 + v105
  16343. if (in == uint32(0) && out == uint32(0) || flush == int32(m_Z_FINISH)) && ret == m_Z_OK {
  16344. ret = -int32(5)
  16345. }
  16346. return ret
  16347. }
  16348. var _order1 = [19]uint16{
  16349. 0: uint16(16),
  16350. 1: uint16(17),
  16351. 2: uint16(18),
  16352. 4: uint16(8),
  16353. 5: uint16(7),
  16354. 6: uint16(9),
  16355. 7: uint16(6),
  16356. 8: uint16(10),
  16357. 9: uint16(5),
  16358. 10: uint16(11),
  16359. 11: uint16(4),
  16360. 12: uint16(12),
  16361. 13: uint16(3),
  16362. 14: uint16(13),
  16363. 15: uint16(2),
  16364. 16: uint16(14),
  16365. 17: uint16(1),
  16366. 18: uint16(15),
  16367. }
  16368. func XinflateEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
  16369. var state uintptr
  16370. _ = state
  16371. if _inflateStateCheck(tls, strm) != 0 {
  16372. return -int32(2)
  16373. }
  16374. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16375. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) {
  16376. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow)
  16377. }
  16378. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, (*Tz_stream)(unsafe.Pointer(strm)).Fstate)
  16379. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  16380. return m_Z_OK
  16381. }
  16382. func XinflateGetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength uintptr) (r int32) {
  16383. var state uintptr
  16384. _ = state
  16385. /* check state */
  16386. if _inflateStateCheck(tls, strm) != 0 {
  16387. return -int32(2)
  16388. }
  16389. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16390. /* copy dictionary */
  16391. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave != 0 && dictionary != uintptr(m_Z_NULL) {
  16392. libc.Xmemcpy(tls, dictionary, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext), uint64((*Tinflate_state)(unsafe.Pointer(state)).Fwhave-(*Tinflate_state)(unsafe.Pointer(state)).Fwnext))
  16393. libc.Xmemcpy(tls, dictionary+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwhave)-uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext), (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, uint64((*Tinflate_state)(unsafe.Pointer(state)).Fwnext))
  16394. }
  16395. if dictLength != uintptr(m_Z_NULL) {
  16396. *(*TuInt)(unsafe.Pointer(dictLength)) = (*Tinflate_state)(unsafe.Pointer(state)).Fwhave
  16397. }
  16398. return m_Z_OK
  16399. }
  16400. func XinflateSetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength TuInt) (r int32) {
  16401. var dictid uint64
  16402. var ret int32
  16403. var state uintptr
  16404. _, _, _ = dictid, ret, state
  16405. /* check state */
  16406. if _inflateStateCheck(tls, strm) != 0 {
  16407. return -int32(2)
  16408. }
  16409. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16410. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fmode != int32(_DICT) {
  16411. return -int32(2)
  16412. }
  16413. /* check for correct dictionary identifier */
  16414. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_DICT) {
  16415. dictid = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  16416. dictid = Xadler32(tls, dictid, dictionary, dictLength)
  16417. if dictid != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck {
  16418. return -int32(3)
  16419. }
  16420. }
  16421. /* copy dictionary to window using updatewindow(), which will amend the
  16422. existing dictionary if appropriate */
  16423. ret = _updatewindow(tls, strm, dictionary+uintptr(dictLength), dictLength)
  16424. if ret != 0 {
  16425. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MEM)
  16426. return -int32(4)
  16427. }
  16428. (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict = int32(1)
  16429. return m_Z_OK
  16430. }
  16431. func XinflateGetHeader(tls *libc.TLS, strm Tz_streamp, head Tgz_headerp) (r int32) {
  16432. var state uintptr
  16433. _ = state
  16434. /* check state */
  16435. if _inflateStateCheck(tls, strm) != 0 {
  16436. return -int32(2)
  16437. }
  16438. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16439. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(2) == 0 {
  16440. return -int32(2)
  16441. }
  16442. /* save header structure */
  16443. (*Tinflate_state)(unsafe.Pointer(state)).Fhead = head
  16444. (*Tgz_header)(unsafe.Pointer(head)).Fdone = 0
  16445. return m_Z_OK
  16446. }
  16447. // C documentation
  16448. //
  16449. // /*
  16450. // Search buf[0..len-1] for the pattern: 0, 0, 0xff, 0xff. Return when found
  16451. // or when out of input. When called, *have is the number of pattern bytes
  16452. // found in order so far, in 0..3. On return *have is updated to the new
  16453. // state. If on return *have equals four, then the pattern was found and the
  16454. // return value is how many bytes were read including the last byte of the
  16455. // pattern. If *have is less than four, then the pattern has not been found
  16456. // yet and the return value is len. In the latter case, syncsearch() can be
  16457. // called again with more data and the *have state. *have is initialized to
  16458. // zero for the first call.
  16459. // */
  16460. func _syncsearch(tls *libc.TLS, have uintptr, buf uintptr, len1 uint32) (r uint32) {
  16461. var got, next uint32
  16462. var v1 int32
  16463. _, _, _ = got, next, v1
  16464. got = *(*uint32)(unsafe.Pointer(have))
  16465. next = uint32(0)
  16466. for next < len1 && got < uint32(4) {
  16467. if got < uint32(2) {
  16468. v1 = 0
  16469. } else {
  16470. v1 = int32(0xff)
  16471. }
  16472. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(buf + uintptr(next)))) == v1 {
  16473. got++
  16474. } else {
  16475. if *(*uint8)(unsafe.Pointer(buf + uintptr(next))) != 0 {
  16476. got = uint32(0)
  16477. } else {
  16478. got = uint32(4) - got
  16479. }
  16480. }
  16481. next++
  16482. }
  16483. *(*uint32)(unsafe.Pointer(have)) = got
  16484. return next
  16485. }
  16486. func XinflateSync(tls *libc.TLS, strm Tz_streamp) (r int32) {
  16487. bp := tls.Alloc(16)
  16488. defer tls.Free(16)
  16489. var flags int32
  16490. var in, out uint64
  16491. var len1, v1 uint32
  16492. var state uintptr
  16493. var _ /* buf at bp+0 */ [4]uint8
  16494. _, _, _, _, _, _ = flags, in, len1, out, state, v1
  16495. /* check parameters */
  16496. if _inflateStateCheck(tls, strm) != 0 {
  16497. return -int32(2)
  16498. }
  16499. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16500. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) && (*Tinflate_state)(unsafe.Pointer(state)).Fbits < uint32(8) {
  16501. return -int32(5)
  16502. }
  16503. /* if first time, start search in bit buffer */
  16504. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode != int32(_SYNC) {
  16505. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_SYNC)
  16506. *(*uint64)(unsafe.Pointer(state + 80)) >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fbits & uint32(7))
  16507. *(*uint32)(unsafe.Pointer(state + 88)) -= (*Tinflate_state)(unsafe.Pointer(state)).Fbits & uint32(7)
  16508. len1 = uint32(0)
  16509. for (*Tinflate_state)(unsafe.Pointer(state)).Fbits >= uint32(8) {
  16510. v1 = len1
  16511. len1++
  16512. (*(*[4]uint8)(unsafe.Pointer(bp)))[v1] = uint8((*Tinflate_state)(unsafe.Pointer(state)).Fhold)
  16513. *(*uint64)(unsafe.Pointer(state + 80)) >>= uint64(8)
  16514. *(*uint32)(unsafe.Pointer(state + 88)) -= uint32(8)
  16515. }
  16516. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  16517. _syncsearch(tls, state+140, bp, len1)
  16518. }
  16519. /* search available input */
  16520. len1 = _syncsearch(tls, state+140, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, (*Tz_stream)(unsafe.Pointer(strm)).Favail_in)
  16521. *(*TuInt)(unsafe.Pointer(strm + 8)) -= len1
  16522. *(*uintptr)(unsafe.Pointer(strm)) += uintptr(len1)
  16523. *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(len1)
  16524. /* return no joy or set up to restart inflate() on a new block */
  16525. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave != uint32(4) {
  16526. return -int32(3)
  16527. }
  16528. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags == -int32(1) {
  16529. (*Tinflate_state)(unsafe.Pointer(state)).Fwrap = 0
  16530. } else {
  16531. *(*int32)(unsafe.Pointer(state + 16)) &= ^libc.Int32FromInt32(4)
  16532. } /* no point in computing a check value now */
  16533. flags = (*Tinflate_state)(unsafe.Pointer(state)).Fflags
  16534. in = (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in
  16535. out = (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out
  16536. XinflateReset(tls, strm)
  16537. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = in
  16538. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = out
  16539. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = flags
  16540. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  16541. return m_Z_OK
  16542. }
  16543. // C documentation
  16544. //
  16545. // /*
  16546. // Returns true if inflate is currently at the end of a block generated by
  16547. // Z_SYNC_FLUSH or Z_FULL_FLUSH. This function is used by one PPP
  16548. // implementation to provide an additional safety check. PPP uses
  16549. // Z_SYNC_FLUSH but removes the length bytes of the resulting empty stored
  16550. // block. When decompressing, PPP checks that at the end of input packet,
  16551. // inflate is waiting for these length bytes.
  16552. // */
  16553. func XinflateSyncPoint(tls *libc.TLS, strm Tz_streamp) (r int32) {
  16554. var state uintptr
  16555. _ = state
  16556. if _inflateStateCheck(tls, strm) != 0 {
  16557. return -int32(2)
  16558. }
  16559. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16560. return libc.BoolInt32((*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_STORED) && (*Tinflate_state)(unsafe.Pointer(state)).Fbits == uint32(0))
  16561. }
  16562. func XinflateCopy(tls *libc.TLS, dest Tz_streamp, source Tz_streamp) (r int32) {
  16563. var copy1, state, window uintptr
  16564. var wsize uint32
  16565. _, _, _, _ = copy1, state, window, wsize
  16566. /* check input */
  16567. if _inflateStateCheck(tls, source) != 0 || dest == uintptr(m_Z_NULL) {
  16568. return -int32(2)
  16569. }
  16570. state = (*Tz_stream)(unsafe.Pointer(source)).Fstate
  16571. /* allocate space */
  16572. copy1 = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(source)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(source)).Fopaque, libc.Uint32FromInt32(libc.Int32FromInt32(1)), uint32(libc.Uint64FromInt64(7160)))
  16573. if copy1 == uintptr(m_Z_NULL) {
  16574. return -int32(4)
  16575. }
  16576. window = uintptr(m_Z_NULL)
  16577. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) {
  16578. window = (*(*func(*libc.TLS, Tvoidpf, TuInt, TuInt) Tvoidpf)(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(source)).Fzalloc})))(tls, (*Tz_stream)(unsafe.Pointer(source)).Fopaque, libc.Uint32FromUint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fwbits, uint32(libc.Uint64FromInt64(1)))
  16579. if window == uintptr(m_Z_NULL) {
  16580. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(source)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(source)).Fopaque, copy1)
  16581. return -int32(4)
  16582. }
  16583. }
  16584. /* copy state */
  16585. libc.Xmemcpy(tls, dest, source, uint64(112))
  16586. libc.Xmemcpy(tls, copy1, state, uint64(7160))
  16587. (*Tinflate_state)(unsafe.Pointer(copy1)).Fstrm = dest
  16588. if (*Tinflate_state)(unsafe.Pointer(state)).Flencode >= state+1368 && (*Tinflate_state)(unsafe.Pointer(state)).Flencode <= state+1368+uintptr(libc.Int32FromInt32(m_ENOUGH_LENS)+libc.Int32FromInt32(m_ENOUGH_DISTS))*4-uintptr(1)*4 {
  16589. (*Tinflate_state)(unsafe.Pointer(copy1)).Flencode = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Flencode)-t__predefined_ptrdiff_t(state+1368))/4)*4
  16590. (*Tinflate_state)(unsafe.Pointer(copy1)).Fdistcode = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode)-t__predefined_ptrdiff_t(state+1368))/4)*4
  16591. }
  16592. (*Tinflate_state)(unsafe.Pointer(copy1)).Fnext = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Fnext)-t__predefined_ptrdiff_t(state+1368))/4)*4
  16593. if window != uintptr(m_Z_NULL) {
  16594. wsize = uint32(1) << (*Tinflate_state)(unsafe.Pointer(state)).Fwbits
  16595. libc.Xmemcpy(tls, window, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, uint64(wsize))
  16596. }
  16597. (*Tinflate_state)(unsafe.Pointer(copy1)).Fwindow = window
  16598. (*Tz_stream)(unsafe.Pointer(dest)).Fstate = copy1
  16599. return m_Z_OK
  16600. }
  16601. func XinflateUndermine(tls *libc.TLS, strm Tz_streamp, subvert int32) (r int32) {
  16602. var state uintptr
  16603. _ = state
  16604. if _inflateStateCheck(tls, strm) != 0 {
  16605. return -int32(2)
  16606. }
  16607. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16608. _ = subvert
  16609. (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
  16610. return -int32(3)
  16611. }
  16612. func XinflateValidate(tls *libc.TLS, strm Tz_streamp, check int32) (r int32) {
  16613. var state uintptr
  16614. _ = state
  16615. if _inflateStateCheck(tls, strm) != 0 {
  16616. return -int32(2)
  16617. }
  16618. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16619. if check != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 {
  16620. *(*int32)(unsafe.Pointer(state + 16)) |= int32(4)
  16621. } else {
  16622. *(*int32)(unsafe.Pointer(state + 16)) &= ^libc.Int32FromInt32(4)
  16623. }
  16624. return m_Z_OK
  16625. }
  16626. func XinflateMark(tls *libc.TLS, strm Tz_streamp) (r int64) {
  16627. var state uintptr
  16628. var v1, v2 uint32
  16629. _, _, _ = state, v1, v2
  16630. if _inflateStateCheck(tls, strm) != 0 {
  16631. return -(libc.Int64FromInt64(1) << libc.Int32FromInt32(16))
  16632. }
  16633. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16634. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_COPY) {
  16635. v1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16636. } else {
  16637. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_MATCH) {
  16638. v2 = (*Tinflate_state)(unsafe.Pointer(state)).Fwas - (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16639. } else {
  16640. v2 = uint32(0)
  16641. }
  16642. v1 = v2
  16643. }
  16644. return libc.Int64FromUint64(libc.Uint64FromInt64(int64((*Tinflate_state)(unsafe.Pointer(state)).Fback))<<libc.Int32FromInt32(16)) + libc.Int64FromUint32(v1)
  16645. }
  16646. func XinflateCodesUsed(tls *libc.TLS, strm Tz_streamp) (r uint64) {
  16647. var state uintptr
  16648. _ = state
  16649. if _inflateStateCheck(tls, strm) != 0 {
  16650. return libc.Uint64FromInt32(-libc.Int32FromInt32(1))
  16651. }
  16652. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16653. return libc.Uint64FromInt64((int64((*Tinflate_state)(unsafe.Pointer(state)).Fnext) - t__predefined_ptrdiff_t(state+1368)) / 4)
  16654. }
  16655. const m_MAXBITS = 15
  16656. /*
  16657. If you use the zlib library in a product, an acknowledgment is welcome
  16658. in the documentation of your product. If for some reason you cannot
  16659. include such an acknowledgment, I would appreciate that you keep this
  16660. copyright string in the executable of your product.
  16661. */
  16662. // C documentation
  16663. //
  16664. // /*
  16665. // Build a set of tables to decode the provided canonical Huffman code.
  16666. // The code lengths are lens[0..codes-1]. The result starts at *table,
  16667. // whose indices are 0..2^bits-1. work is a writable array of at least
  16668. // lens shorts, which is used as a work area. type is the type of code
  16669. // to be generated, CODES, LENS, or DISTS. On return, zero is success,
  16670. // -1 is an invalid code, and +1 means that ENOUGH isn't enough. table
  16671. // on return points to the next available entry's address. bits is the
  16672. // requested root table index bits, and on return it is the actual root
  16673. // table index bits. It will differ if the request is greater than the
  16674. // longest code or if it is less than the shortest code.
  16675. // */
  16676. func Xinflate_table(tls *libc.TLS, type1 Tcodetype, lens uintptr, codes uint32, table uintptr, bits uintptr, work uintptr) (r int32) {
  16677. bp := tls.Alloc(64)
  16678. defer tls.Free(64)
  16679. var base, extra, next, v13, v14, v17, v4, v5, v6, v7 uintptr
  16680. var curr, drop, fill, huff, incr, len1, low, mask, match, max, min, root, sym, used uint32
  16681. var here Tcode
  16682. var left int32
  16683. var v12, v16 uint16
  16684. var _ /* count at bp+0 */ [16]uint16
  16685. var _ /* offs at bp+32 */ [16]uint16
  16686. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, curr, drop, extra, fill, here, huff, incr, left, len1, low, mask, match, max, min, next, root, sym, used, v12, v13, v14, v16, v17, v4, v5, v6, v7 /* offsets in table for each length */
  16687. /*
  16688. Process a set of code lengths to create a canonical Huffman code. The
  16689. code lengths are lens[0..codes-1]. Each length corresponds to the
  16690. symbols 0..codes-1. The Huffman code is generated by first sorting the
  16691. symbols by length from short to long, and retaining the symbol order
  16692. for codes with equal lengths. Then the code starts with all zero bits
  16693. for the first code of the shortest length, and the codes are integer
  16694. increments for the same length, and zeros are appended as the length
  16695. increases. For the deflate format, these bits are stored backwards
  16696. from their more natural integer increment ordering, and so when the
  16697. decoding tables are built in the large loop below, the integer codes
  16698. are incremented backwards.
  16699. This routine assumes, but does not check, that all of the entries in
  16700. lens[] are in the range 0..MAXBITS. The caller must assure this.
  16701. 1..MAXBITS is interpreted as that code length. zero means that that
  16702. symbol does not occur in this code.
  16703. The codes are sorted by computing a count of codes for each length,
  16704. creating from that a table of starting indices for each length in the
  16705. sorted table, and then entering the symbols in order in the sorted
  16706. table. The sorted table is work[], with that space being provided by
  16707. the caller.
  16708. The length counts are used for other purposes as well, i.e. finding
  16709. the minimum and maximum length codes, determining if there are any
  16710. codes at all, checking for a valid set of lengths, and looking ahead
  16711. at length counts to determine sub-table sizes when building the
  16712. decoding tables.
  16713. */
  16714. /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */
  16715. len1 = uint32(0)
  16716. for {
  16717. if !(len1 <= uint32(m_MAXBITS)) {
  16718. break
  16719. }
  16720. (*(*[16]uint16)(unsafe.Pointer(bp)))[len1] = uint16(0)
  16721. goto _1
  16722. _1:
  16723. ;
  16724. len1++
  16725. }
  16726. sym = uint32(0)
  16727. for {
  16728. if !(sym < codes) {
  16729. break
  16730. }
  16731. (*(*[16]uint16)(unsafe.Pointer(bp)))[*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2))]++
  16732. goto _2
  16733. _2:
  16734. ;
  16735. sym++
  16736. }
  16737. /* bound code lengths, force root to be within code lengths */
  16738. root = *(*uint32)(unsafe.Pointer(bits))
  16739. max = uint32(m_MAXBITS)
  16740. for {
  16741. if !(max >= uint32(1)) {
  16742. break
  16743. }
  16744. if libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[max]) != 0 {
  16745. break
  16746. }
  16747. goto _3
  16748. _3:
  16749. ;
  16750. max--
  16751. }
  16752. if root > max {
  16753. root = max
  16754. }
  16755. if max == uint32(0) { /* no symbols to code at all */
  16756. here.Fop = libc.Uint8FromInt32(64) /* invalid code marker */
  16757. here.Fbits = libc.Uint8FromInt32(1)
  16758. here.Fval = libc.Uint16FromInt32(0)
  16759. v5 = table
  16760. v4 = *(*uintptr)(unsafe.Pointer(v5))
  16761. *(*uintptr)(unsafe.Pointer(v5)) += 4
  16762. *(*Tcode)(unsafe.Pointer(v4)) = here /* make a table to force an error */
  16763. v7 = table
  16764. v6 = *(*uintptr)(unsafe.Pointer(v7))
  16765. *(*uintptr)(unsafe.Pointer(v7)) += 4
  16766. *(*Tcode)(unsafe.Pointer(v6)) = here
  16767. *(*uint32)(unsafe.Pointer(bits)) = uint32(1)
  16768. return 0 /* no symbols, but wait for decoding to report error */
  16769. }
  16770. min = uint32(1)
  16771. for {
  16772. if !(min < max) {
  16773. break
  16774. }
  16775. if libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[min]) != 0 {
  16776. break
  16777. }
  16778. goto _8
  16779. _8:
  16780. ;
  16781. min++
  16782. }
  16783. if root < min {
  16784. root = min
  16785. }
  16786. /* check for an over-subscribed or incomplete set of lengths */
  16787. left = int32(1)
  16788. len1 = uint32(1)
  16789. for {
  16790. if !(len1 <= uint32(m_MAXBITS)) {
  16791. break
  16792. }
  16793. left <<= int32(1)
  16794. left -= libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[len1])
  16795. if left < 0 {
  16796. return -int32(1)
  16797. } /* over-subscribed */
  16798. goto _9
  16799. _9:
  16800. ;
  16801. len1++
  16802. }
  16803. if left > 0 && (type1 == int32(_CODES) || max != uint32(1)) {
  16804. return -int32(1)
  16805. } /* incomplete set */
  16806. /* generate offsets into symbol table for each length for sorting */
  16807. (*(*[16]uint16)(unsafe.Pointer(bp + 32)))[int32(1)] = uint16(0)
  16808. len1 = uint32(1)
  16809. for {
  16810. if !(len1 < uint32(m_MAXBITS)) {
  16811. break
  16812. }
  16813. (*(*[16]uint16)(unsafe.Pointer(bp + 32)))[len1+uint32(1)] = libc.Uint16FromInt32(libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp + 32)))[len1]) + libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[len1]))
  16814. goto _10
  16815. _10:
  16816. ;
  16817. len1++
  16818. }
  16819. /* sort symbols by length, by symbol order within each length */
  16820. sym = uint32(0)
  16821. for {
  16822. if !(sym < codes) {
  16823. break
  16824. }
  16825. if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2))) != 0 {
  16826. v13 = bp + 32 + uintptr(*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2)))*2
  16827. v12 = *(*uint16)(unsafe.Pointer(v13))
  16828. *(*uint16)(unsafe.Pointer(v13))++
  16829. *(*uint16)(unsafe.Pointer(work + uintptr(v12)*2)) = uint16(sym)
  16830. }
  16831. goto _11
  16832. _11:
  16833. ;
  16834. sym++
  16835. }
  16836. /*
  16837. Create and fill in decoding tables. In this loop, the table being
  16838. filled is at next and has curr index bits. The code being used is huff
  16839. with length len. That code is converted to an index by dropping drop
  16840. bits off of the bottom. For codes where len is less than drop + curr,
  16841. those top drop + curr - len bits are incremented through all values to
  16842. fill the table with replicated entries.
  16843. root is the number of index bits for the root table. When len exceeds
  16844. root, sub-tables are created pointed to by the root entry with an index
  16845. of the low root bits of huff. This is saved in low to check for when a
  16846. new sub-table should be started. drop is zero when the root table is
  16847. being filled, and drop is root when sub-tables are being filled.
  16848. When a new sub-table is needed, it is necessary to look ahead in the
  16849. code lengths to determine what size sub-table is needed. The length
  16850. counts are used for this, and so count[] is decremented as codes are
  16851. entered in the tables.
  16852. used keeps track of how many table entries have been allocated from the
  16853. provided *table space. It is checked for LENS and DIST tables against
  16854. the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in
  16855. the initial root table size constants. See the comments in inftrees.h
  16856. for more information.
  16857. sym increments through all symbols, and the loop terminates when
  16858. all codes of length max, i.e. all codes, have been processed. This
  16859. routine permits incomplete codes, so another loop after this one fills
  16860. in the rest of the decoding tables with invalid code markers.
  16861. */
  16862. /* set up for code type */
  16863. switch type1 {
  16864. case int32(_CODES):
  16865. v14 = work
  16866. extra = v14
  16867. base = v14 /* dummy value--not used */
  16868. match = uint32(20)
  16869. case int32(_LENS):
  16870. base = uintptr(unsafe.Pointer(&_lbase))
  16871. extra = uintptr(unsafe.Pointer(&_lext))
  16872. match = uint32(257)
  16873. default: /* DISTS */
  16874. base = uintptr(unsafe.Pointer(&_dbase))
  16875. extra = uintptr(unsafe.Pointer(&_dext))
  16876. match = uint32(0)
  16877. }
  16878. /* initialize state for loop */
  16879. huff = uint32(0) /* starting code */
  16880. sym = uint32(0) /* starting code symbol */
  16881. len1 = min /* starting code length */
  16882. next = *(*uintptr)(unsafe.Pointer(table)) /* current table to fill in */
  16883. curr = root /* current table index bits */
  16884. drop = uint32(0) /* current bits to drop from code for index */
  16885. low = libc.Uint32FromInt32(-libc.Int32FromInt32(1)) /* trigger new sub-table when len > root */
  16886. used = uint32(1) << root /* use root table entries */
  16887. mask = used - uint32(1) /* mask for comparing low */
  16888. /* check available table space */
  16889. if type1 == int32(_LENS) && used > uint32(m_ENOUGH_LENS) || type1 == int32(_DISTS) && used > uint32(m_ENOUGH_DISTS) {
  16890. return int32(1)
  16891. }
  16892. /* process all codes and make table entries */
  16893. for {
  16894. /* create table entry */
  16895. here.Fbits = uint8(len1 - drop)
  16896. if uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))+uint32(1) < match {
  16897. here.Fop = libc.Uint8FromInt32(0)
  16898. here.Fval = *(*uint16)(unsafe.Pointer(work + uintptr(sym)*2))
  16899. } else {
  16900. if uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2))) >= match {
  16901. here.Fop = uint8(*(*uint16)(unsafe.Pointer(extra + uintptr(uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))-match)*2)))
  16902. here.Fval = *(*uint16)(unsafe.Pointer(base + uintptr(uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))-match)*2))
  16903. } else {
  16904. here.Fop = libc.Uint8FromInt32(libc.Int32FromInt32(32) + libc.Int32FromInt32(64)) /* end of block */
  16905. here.Fval = uint16(0)
  16906. }
  16907. }
  16908. /* replicate for those indices with low len bits equal to huff */
  16909. incr = uint32(1) << (len1 - drop)
  16910. fill = uint32(1) << curr
  16911. min = fill /* save offset to next table */
  16912. for cond := true; cond; cond = fill != uint32(0) {
  16913. fill -= incr
  16914. *(*Tcode)(unsafe.Pointer(next + uintptr(huff>>drop+fill)*4)) = here
  16915. }
  16916. /* backwards increment the len-bit code huff */
  16917. incr = uint32(1) << (len1 - uint32(1))
  16918. for huff&incr != 0 {
  16919. incr >>= uint32(1)
  16920. }
  16921. if incr != uint32(0) {
  16922. huff &= incr - uint32(1)
  16923. huff += incr
  16924. } else {
  16925. huff = uint32(0)
  16926. }
  16927. /* go to next symbol, update count, len */
  16928. sym++
  16929. v17 = bp + uintptr(len1)*2
  16930. *(*uint16)(unsafe.Pointer(v17))--
  16931. v16 = *(*uint16)(unsafe.Pointer(v17))
  16932. if libc.Int32FromUint16(v16) == 0 {
  16933. if len1 == max {
  16934. break
  16935. }
  16936. len1 = uint32(*(*uint16)(unsafe.Pointer(lens + uintptr(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))*2)))
  16937. }
  16938. /* create new sub-table if needed */
  16939. if len1 > root && huff&mask != low {
  16940. /* if first time, transition to sub-tables */
  16941. if drop == uint32(0) {
  16942. drop = root
  16943. }
  16944. /* increment past last table */
  16945. next += uintptr(min) * 4 /* here min is 1 << curr */
  16946. /* determine length of next table */
  16947. curr = len1 - drop
  16948. left = libc.Int32FromInt32(1) << curr
  16949. for curr+drop < max {
  16950. left -= libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[curr+drop])
  16951. if left <= 0 {
  16952. break
  16953. }
  16954. curr++
  16955. left <<= int32(1)
  16956. }
  16957. /* check for enough space */
  16958. used += uint32(1) << curr
  16959. if type1 == int32(_LENS) && used > uint32(m_ENOUGH_LENS) || type1 == int32(_DISTS) && used > uint32(m_ENOUGH_DISTS) {
  16960. return int32(1)
  16961. }
  16962. /* point entry in root table to sub-table */
  16963. low = huff & mask
  16964. (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fop = uint8(curr)
  16965. (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fbits = uint8(root)
  16966. (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fval = libc.Uint16FromInt64((int64(next) - int64(*(*uintptr)(unsafe.Pointer(table)))) / 4)
  16967. }
  16968. goto _15
  16969. _15:
  16970. }
  16971. /* fill in remaining table entry if code is incomplete (guaranteed to have
  16972. at most one remaining entry, since if the code is incomplete, the
  16973. maximum code length that was allowed to get this far is one bit) */
  16974. if huff != uint32(0) {
  16975. here.Fop = libc.Uint8FromInt32(64) /* invalid code marker */
  16976. here.Fbits = uint8(len1 - drop)
  16977. here.Fval = libc.Uint16FromInt32(0)
  16978. *(*Tcode)(unsafe.Pointer(next + uintptr(huff)*4)) = here
  16979. }
  16980. /* set return parameters */
  16981. *(*uintptr)(unsafe.Pointer(table)) += uintptr(used) * 4
  16982. *(*uint32)(unsafe.Pointer(bits)) = root
  16983. return 0
  16984. }
  16985. var _lbase = [31]uint16{
  16986. 0: uint16(3),
  16987. 1: uint16(4),
  16988. 2: uint16(5),
  16989. 3: uint16(6),
  16990. 4: uint16(7),
  16991. 5: uint16(8),
  16992. 6: uint16(9),
  16993. 7: uint16(10),
  16994. 8: uint16(11),
  16995. 9: uint16(13),
  16996. 10: uint16(15),
  16997. 11: uint16(17),
  16998. 12: uint16(19),
  16999. 13: uint16(23),
  17000. 14: uint16(27),
  17001. 15: uint16(31),
  17002. 16: uint16(35),
  17003. 17: uint16(43),
  17004. 18: uint16(51),
  17005. 19: uint16(59),
  17006. 20: uint16(67),
  17007. 21: uint16(83),
  17008. 22: uint16(99),
  17009. 23: uint16(115),
  17010. 24: uint16(131),
  17011. 25: uint16(163),
  17012. 26: uint16(195),
  17013. 27: uint16(227),
  17014. 28: uint16(258),
  17015. }
  17016. var _lext = [31]uint16{
  17017. 0: uint16(16),
  17018. 1: uint16(16),
  17019. 2: uint16(16),
  17020. 3: uint16(16),
  17021. 4: uint16(16),
  17022. 5: uint16(16),
  17023. 6: uint16(16),
  17024. 7: uint16(16),
  17025. 8: uint16(17),
  17026. 9: uint16(17),
  17027. 10: uint16(17),
  17028. 11: uint16(17),
  17029. 12: uint16(18),
  17030. 13: uint16(18),
  17031. 14: uint16(18),
  17032. 15: uint16(18),
  17033. 16: uint16(19),
  17034. 17: uint16(19),
  17035. 18: uint16(19),
  17036. 19: uint16(19),
  17037. 20: uint16(20),
  17038. 21: uint16(20),
  17039. 22: uint16(20),
  17040. 23: uint16(20),
  17041. 24: uint16(21),
  17042. 25: uint16(21),
  17043. 26: uint16(21),
  17044. 27: uint16(21),
  17045. 28: uint16(16),
  17046. 29: uint16(203),
  17047. 30: uint16(77),
  17048. }
  17049. var _dbase = [32]uint16{
  17050. 0: uint16(1),
  17051. 1: uint16(2),
  17052. 2: uint16(3),
  17053. 3: uint16(4),
  17054. 4: uint16(5),
  17055. 5: uint16(7),
  17056. 6: uint16(9),
  17057. 7: uint16(13),
  17058. 8: uint16(17),
  17059. 9: uint16(25),
  17060. 10: uint16(33),
  17061. 11: uint16(49),
  17062. 12: uint16(65),
  17063. 13: uint16(97),
  17064. 14: uint16(129),
  17065. 15: uint16(193),
  17066. 16: uint16(257),
  17067. 17: uint16(385),
  17068. 18: uint16(513),
  17069. 19: uint16(769),
  17070. 20: uint16(1025),
  17071. 21: uint16(1537),
  17072. 22: uint16(2049),
  17073. 23: uint16(3073),
  17074. 24: uint16(4097),
  17075. 25: uint16(6145),
  17076. 26: uint16(8193),
  17077. 27: uint16(12289),
  17078. 28: uint16(16385),
  17079. 29: uint16(24577),
  17080. }
  17081. var _dext = [32]uint16{
  17082. 0: uint16(16),
  17083. 1: uint16(16),
  17084. 2: uint16(16),
  17085. 3: uint16(16),
  17086. 4: uint16(17),
  17087. 5: uint16(17),
  17088. 6: uint16(18),
  17089. 7: uint16(18),
  17090. 8: uint16(19),
  17091. 9: uint16(19),
  17092. 10: uint16(20),
  17093. 11: uint16(20),
  17094. 12: uint16(21),
  17095. 13: uint16(21),
  17096. 14: uint16(22),
  17097. 15: uint16(22),
  17098. 16: uint16(23),
  17099. 17: uint16(23),
  17100. 18: uint16(24),
  17101. 19: uint16(24),
  17102. 20: uint16(25),
  17103. 21: uint16(25),
  17104. 22: uint16(26),
  17105. 23: uint16(26),
  17106. 24: uint16(27),
  17107. 25: uint16(27),
  17108. 26: uint16(28),
  17109. 27: uint16(28),
  17110. 28: uint16(29),
  17111. 29: uint16(29),
  17112. 30: uint16(64),
  17113. 31: uint16(64),
  17114. }
  17115. const m_DIST_CODE_LEN = 512
  17116. const m_END_BLOCK = 256
  17117. const m_MAX_BL_BITS = 7
  17118. const m_REPZ_11_138 = 18
  17119. const m_REPZ_3_10 = 17
  17120. const m_REP_3_6 = 16
  17121. const m_SMALLEST = 1
  17122. const m_TCONST = "const"
  17123. type Tstatic_tree_desc = struct {
  17124. Fstatic_tree uintptr
  17125. Fextra_bits uintptr
  17126. Fextra_base int32
  17127. Felems int32
  17128. Fmax_length int32
  17129. }
  17130. type Tstatic_tree_desc_s = Tstatic_tree_desc
  17131. /* ===========================================================================
  17132. * Constants
  17133. */
  17134. /* Bit length codes must not exceed MAX_BL_BITS bits */
  17135. /* end of block literal code */
  17136. /* repeat previous bit length 3-6 times (2 bits of repeat count) */
  17137. /* repeat a zero length 3-10 times (3 bits of repeat count) */
  17138. /* repeat a zero length 11-138 times (7 bits of repeat count) */
  17139. var _extra_lbits = [29]int32{
  17140. 8: int32(1),
  17141. 9: int32(1),
  17142. 10: int32(1),
  17143. 11: int32(1),
  17144. 12: int32(2),
  17145. 13: int32(2),
  17146. 14: int32(2),
  17147. 15: int32(2),
  17148. 16: int32(3),
  17149. 17: int32(3),
  17150. 18: int32(3),
  17151. 19: int32(3),
  17152. 20: int32(4),
  17153. 21: int32(4),
  17154. 22: int32(4),
  17155. 23: int32(4),
  17156. 24: int32(5),
  17157. 25: int32(5),
  17158. 26: int32(5),
  17159. 27: int32(5),
  17160. }
  17161. var _extra_dbits = [30]int32{
  17162. 4: int32(1),
  17163. 5: int32(1),
  17164. 6: int32(2),
  17165. 7: int32(2),
  17166. 8: int32(3),
  17167. 9: int32(3),
  17168. 10: int32(4),
  17169. 11: int32(4),
  17170. 12: int32(5),
  17171. 13: int32(5),
  17172. 14: int32(6),
  17173. 15: int32(6),
  17174. 16: int32(7),
  17175. 17: int32(7),
  17176. 18: int32(8),
  17177. 19: int32(8),
  17178. 20: int32(9),
  17179. 21: int32(9),
  17180. 22: int32(10),
  17181. 23: int32(10),
  17182. 24: int32(11),
  17183. 25: int32(11),
  17184. 26: int32(12),
  17185. 27: int32(12),
  17186. 28: int32(13),
  17187. 29: int32(13),
  17188. }
  17189. var _extra_blbits = [19]int32{
  17190. 16: int32(2),
  17191. 17: int32(3),
  17192. 18: int32(7),
  17193. }
  17194. var _bl_order = [19]Tuch{
  17195. 0: uint8(16),
  17196. 1: uint8(17),
  17197. 2: uint8(18),
  17198. 4: uint8(8),
  17199. 5: uint8(7),
  17200. 6: uint8(9),
  17201. 7: uint8(6),
  17202. 8: uint8(10),
  17203. 9: uint8(5),
  17204. 10: uint8(11),
  17205. 11: uint8(4),
  17206. 12: uint8(12),
  17207. 13: uint8(3),
  17208. 14: uint8(13),
  17209. 15: uint8(2),
  17210. 16: uint8(14),
  17211. 17: uint8(1),
  17212. 18: uint8(15),
  17213. }
  17214. var _static_ltree = [288]Tct_data{
  17215. 0: {
  17216. Ffc: *(*struct {
  17217. Fcode [0]Tush
  17218. Ffreq Tush
  17219. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(12)})),
  17220. Fdl: *(*struct {
  17221. Flen1 [0]Tush
  17222. Fdad Tush
  17223. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17224. },
  17225. 1: {
  17226. Ffc: *(*struct {
  17227. Fcode [0]Tush
  17228. Ffreq Tush
  17229. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(140)})),
  17230. Fdl: *(*struct {
  17231. Flen1 [0]Tush
  17232. Fdad Tush
  17233. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17234. },
  17235. 2: {
  17236. Ffc: *(*struct {
  17237. Fcode [0]Tush
  17238. Ffreq Tush
  17239. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(76)})),
  17240. Fdl: *(*struct {
  17241. Flen1 [0]Tush
  17242. Fdad Tush
  17243. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17244. },
  17245. 3: {
  17246. Ffc: *(*struct {
  17247. Fcode [0]Tush
  17248. Ffreq Tush
  17249. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(204)})),
  17250. Fdl: *(*struct {
  17251. Flen1 [0]Tush
  17252. Fdad Tush
  17253. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17254. },
  17255. 4: {
  17256. Ffc: *(*struct {
  17257. Fcode [0]Tush
  17258. Ffreq Tush
  17259. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(44)})),
  17260. Fdl: *(*struct {
  17261. Flen1 [0]Tush
  17262. Fdad Tush
  17263. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17264. },
  17265. 5: {
  17266. Ffc: *(*struct {
  17267. Fcode [0]Tush
  17268. Ffreq Tush
  17269. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(172)})),
  17270. Fdl: *(*struct {
  17271. Flen1 [0]Tush
  17272. Fdad Tush
  17273. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17274. },
  17275. 6: {
  17276. Ffc: *(*struct {
  17277. Fcode [0]Tush
  17278. Ffreq Tush
  17279. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(108)})),
  17280. Fdl: *(*struct {
  17281. Flen1 [0]Tush
  17282. Fdad Tush
  17283. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17284. },
  17285. 7: {
  17286. Ffc: *(*struct {
  17287. Fcode [0]Tush
  17288. Ffreq Tush
  17289. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(236)})),
  17290. Fdl: *(*struct {
  17291. Flen1 [0]Tush
  17292. Fdad Tush
  17293. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17294. },
  17295. 8: {
  17296. Ffc: *(*struct {
  17297. Fcode [0]Tush
  17298. Ffreq Tush
  17299. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(28)})),
  17300. Fdl: *(*struct {
  17301. Flen1 [0]Tush
  17302. Fdad Tush
  17303. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17304. },
  17305. 9: {
  17306. Ffc: *(*struct {
  17307. Fcode [0]Tush
  17308. Ffreq Tush
  17309. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(156)})),
  17310. Fdl: *(*struct {
  17311. Flen1 [0]Tush
  17312. Fdad Tush
  17313. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17314. },
  17315. 10: {
  17316. Ffc: *(*struct {
  17317. Fcode [0]Tush
  17318. Ffreq Tush
  17319. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(92)})),
  17320. Fdl: *(*struct {
  17321. Flen1 [0]Tush
  17322. Fdad Tush
  17323. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17324. },
  17325. 11: {
  17326. Ffc: *(*struct {
  17327. Fcode [0]Tush
  17328. Ffreq Tush
  17329. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(220)})),
  17330. Fdl: *(*struct {
  17331. Flen1 [0]Tush
  17332. Fdad Tush
  17333. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17334. },
  17335. 12: {
  17336. Ffc: *(*struct {
  17337. Fcode [0]Tush
  17338. Ffreq Tush
  17339. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(60)})),
  17340. Fdl: *(*struct {
  17341. Flen1 [0]Tush
  17342. Fdad Tush
  17343. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17344. },
  17345. 13: {
  17346. Ffc: *(*struct {
  17347. Fcode [0]Tush
  17348. Ffreq Tush
  17349. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(188)})),
  17350. Fdl: *(*struct {
  17351. Flen1 [0]Tush
  17352. Fdad Tush
  17353. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17354. },
  17355. 14: {
  17356. Ffc: *(*struct {
  17357. Fcode [0]Tush
  17358. Ffreq Tush
  17359. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(124)})),
  17360. Fdl: *(*struct {
  17361. Flen1 [0]Tush
  17362. Fdad Tush
  17363. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17364. },
  17365. 15: {
  17366. Ffc: *(*struct {
  17367. Fcode [0]Tush
  17368. Ffreq Tush
  17369. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(252)})),
  17370. Fdl: *(*struct {
  17371. Flen1 [0]Tush
  17372. Fdad Tush
  17373. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17374. },
  17375. 16: {
  17376. Ffc: *(*struct {
  17377. Fcode [0]Tush
  17378. Ffreq Tush
  17379. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(2)})),
  17380. Fdl: *(*struct {
  17381. Flen1 [0]Tush
  17382. Fdad Tush
  17383. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17384. },
  17385. 17: {
  17386. Ffc: *(*struct {
  17387. Fcode [0]Tush
  17388. Ffreq Tush
  17389. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(130)})),
  17390. Fdl: *(*struct {
  17391. Flen1 [0]Tush
  17392. Fdad Tush
  17393. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17394. },
  17395. 18: {
  17396. Ffc: *(*struct {
  17397. Fcode [0]Tush
  17398. Ffreq Tush
  17399. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(66)})),
  17400. Fdl: *(*struct {
  17401. Flen1 [0]Tush
  17402. Fdad Tush
  17403. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17404. },
  17405. 19: {
  17406. Ffc: *(*struct {
  17407. Fcode [0]Tush
  17408. Ffreq Tush
  17409. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(194)})),
  17410. Fdl: *(*struct {
  17411. Flen1 [0]Tush
  17412. Fdad Tush
  17413. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17414. },
  17415. 20: {
  17416. Ffc: *(*struct {
  17417. Fcode [0]Tush
  17418. Ffreq Tush
  17419. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(34)})),
  17420. Fdl: *(*struct {
  17421. Flen1 [0]Tush
  17422. Fdad Tush
  17423. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17424. },
  17425. 21: {
  17426. Ffc: *(*struct {
  17427. Fcode [0]Tush
  17428. Ffreq Tush
  17429. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(162)})),
  17430. Fdl: *(*struct {
  17431. Flen1 [0]Tush
  17432. Fdad Tush
  17433. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17434. },
  17435. 22: {
  17436. Ffc: *(*struct {
  17437. Fcode [0]Tush
  17438. Ffreq Tush
  17439. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(98)})),
  17440. Fdl: *(*struct {
  17441. Flen1 [0]Tush
  17442. Fdad Tush
  17443. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17444. },
  17445. 23: {
  17446. Ffc: *(*struct {
  17447. Fcode [0]Tush
  17448. Ffreq Tush
  17449. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(226)})),
  17450. Fdl: *(*struct {
  17451. Flen1 [0]Tush
  17452. Fdad Tush
  17453. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17454. },
  17455. 24: {
  17456. Ffc: *(*struct {
  17457. Fcode [0]Tush
  17458. Ffreq Tush
  17459. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(18)})),
  17460. Fdl: *(*struct {
  17461. Flen1 [0]Tush
  17462. Fdad Tush
  17463. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17464. },
  17465. 25: {
  17466. Ffc: *(*struct {
  17467. Fcode [0]Tush
  17468. Ffreq Tush
  17469. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(146)})),
  17470. Fdl: *(*struct {
  17471. Flen1 [0]Tush
  17472. Fdad Tush
  17473. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17474. },
  17475. 26: {
  17476. Ffc: *(*struct {
  17477. Fcode [0]Tush
  17478. Ffreq Tush
  17479. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(82)})),
  17480. Fdl: *(*struct {
  17481. Flen1 [0]Tush
  17482. Fdad Tush
  17483. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17484. },
  17485. 27: {
  17486. Ffc: *(*struct {
  17487. Fcode [0]Tush
  17488. Ffreq Tush
  17489. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(210)})),
  17490. Fdl: *(*struct {
  17491. Flen1 [0]Tush
  17492. Fdad Tush
  17493. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17494. },
  17495. 28: {
  17496. Ffc: *(*struct {
  17497. Fcode [0]Tush
  17498. Ffreq Tush
  17499. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(50)})),
  17500. Fdl: *(*struct {
  17501. Flen1 [0]Tush
  17502. Fdad Tush
  17503. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17504. },
  17505. 29: {
  17506. Ffc: *(*struct {
  17507. Fcode [0]Tush
  17508. Ffreq Tush
  17509. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(178)})),
  17510. Fdl: *(*struct {
  17511. Flen1 [0]Tush
  17512. Fdad Tush
  17513. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17514. },
  17515. 30: {
  17516. Ffc: *(*struct {
  17517. Fcode [0]Tush
  17518. Ffreq Tush
  17519. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(114)})),
  17520. Fdl: *(*struct {
  17521. Flen1 [0]Tush
  17522. Fdad Tush
  17523. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17524. },
  17525. 31: {
  17526. Ffc: *(*struct {
  17527. Fcode [0]Tush
  17528. Ffreq Tush
  17529. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(242)})),
  17530. Fdl: *(*struct {
  17531. Flen1 [0]Tush
  17532. Fdad Tush
  17533. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17534. },
  17535. 32: {
  17536. Ffc: *(*struct {
  17537. Fcode [0]Tush
  17538. Ffreq Tush
  17539. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(10)})),
  17540. Fdl: *(*struct {
  17541. Flen1 [0]Tush
  17542. Fdad Tush
  17543. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17544. },
  17545. 33: {
  17546. Ffc: *(*struct {
  17547. Fcode [0]Tush
  17548. Ffreq Tush
  17549. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(138)})),
  17550. Fdl: *(*struct {
  17551. Flen1 [0]Tush
  17552. Fdad Tush
  17553. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17554. },
  17555. 34: {
  17556. Ffc: *(*struct {
  17557. Fcode [0]Tush
  17558. Ffreq Tush
  17559. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(74)})),
  17560. Fdl: *(*struct {
  17561. Flen1 [0]Tush
  17562. Fdad Tush
  17563. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17564. },
  17565. 35: {
  17566. Ffc: *(*struct {
  17567. Fcode [0]Tush
  17568. Ffreq Tush
  17569. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(202)})),
  17570. Fdl: *(*struct {
  17571. Flen1 [0]Tush
  17572. Fdad Tush
  17573. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17574. },
  17575. 36: {
  17576. Ffc: *(*struct {
  17577. Fcode [0]Tush
  17578. Ffreq Tush
  17579. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(42)})),
  17580. Fdl: *(*struct {
  17581. Flen1 [0]Tush
  17582. Fdad Tush
  17583. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17584. },
  17585. 37: {
  17586. Ffc: *(*struct {
  17587. Fcode [0]Tush
  17588. Ffreq Tush
  17589. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(170)})),
  17590. Fdl: *(*struct {
  17591. Flen1 [0]Tush
  17592. Fdad Tush
  17593. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17594. },
  17595. 38: {
  17596. Ffc: *(*struct {
  17597. Fcode [0]Tush
  17598. Ffreq Tush
  17599. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(106)})),
  17600. Fdl: *(*struct {
  17601. Flen1 [0]Tush
  17602. Fdad Tush
  17603. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17604. },
  17605. 39: {
  17606. Ffc: *(*struct {
  17607. Fcode [0]Tush
  17608. Ffreq Tush
  17609. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(234)})),
  17610. Fdl: *(*struct {
  17611. Flen1 [0]Tush
  17612. Fdad Tush
  17613. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17614. },
  17615. 40: {
  17616. Ffc: *(*struct {
  17617. Fcode [0]Tush
  17618. Ffreq Tush
  17619. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(26)})),
  17620. Fdl: *(*struct {
  17621. Flen1 [0]Tush
  17622. Fdad Tush
  17623. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17624. },
  17625. 41: {
  17626. Ffc: *(*struct {
  17627. Fcode [0]Tush
  17628. Ffreq Tush
  17629. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(154)})),
  17630. Fdl: *(*struct {
  17631. Flen1 [0]Tush
  17632. Fdad Tush
  17633. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17634. },
  17635. 42: {
  17636. Ffc: *(*struct {
  17637. Fcode [0]Tush
  17638. Ffreq Tush
  17639. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(90)})),
  17640. Fdl: *(*struct {
  17641. Flen1 [0]Tush
  17642. Fdad Tush
  17643. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17644. },
  17645. 43: {
  17646. Ffc: *(*struct {
  17647. Fcode [0]Tush
  17648. Ffreq Tush
  17649. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(218)})),
  17650. Fdl: *(*struct {
  17651. Flen1 [0]Tush
  17652. Fdad Tush
  17653. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17654. },
  17655. 44: {
  17656. Ffc: *(*struct {
  17657. Fcode [0]Tush
  17658. Ffreq Tush
  17659. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(58)})),
  17660. Fdl: *(*struct {
  17661. Flen1 [0]Tush
  17662. Fdad Tush
  17663. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17664. },
  17665. 45: {
  17666. Ffc: *(*struct {
  17667. Fcode [0]Tush
  17668. Ffreq Tush
  17669. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(186)})),
  17670. Fdl: *(*struct {
  17671. Flen1 [0]Tush
  17672. Fdad Tush
  17673. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17674. },
  17675. 46: {
  17676. Ffc: *(*struct {
  17677. Fcode [0]Tush
  17678. Ffreq Tush
  17679. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(122)})),
  17680. Fdl: *(*struct {
  17681. Flen1 [0]Tush
  17682. Fdad Tush
  17683. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17684. },
  17685. 47: {
  17686. Ffc: *(*struct {
  17687. Fcode [0]Tush
  17688. Ffreq Tush
  17689. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(250)})),
  17690. Fdl: *(*struct {
  17691. Flen1 [0]Tush
  17692. Fdad Tush
  17693. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17694. },
  17695. 48: {
  17696. Ffc: *(*struct {
  17697. Fcode [0]Tush
  17698. Ffreq Tush
  17699. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(6)})),
  17700. Fdl: *(*struct {
  17701. Flen1 [0]Tush
  17702. Fdad Tush
  17703. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17704. },
  17705. 49: {
  17706. Ffc: *(*struct {
  17707. Fcode [0]Tush
  17708. Ffreq Tush
  17709. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(134)})),
  17710. Fdl: *(*struct {
  17711. Flen1 [0]Tush
  17712. Fdad Tush
  17713. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17714. },
  17715. 50: {
  17716. Ffc: *(*struct {
  17717. Fcode [0]Tush
  17718. Ffreq Tush
  17719. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(70)})),
  17720. Fdl: *(*struct {
  17721. Flen1 [0]Tush
  17722. Fdad Tush
  17723. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17724. },
  17725. 51: {
  17726. Ffc: *(*struct {
  17727. Fcode [0]Tush
  17728. Ffreq Tush
  17729. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(198)})),
  17730. Fdl: *(*struct {
  17731. Flen1 [0]Tush
  17732. Fdad Tush
  17733. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17734. },
  17735. 52: {
  17736. Ffc: *(*struct {
  17737. Fcode [0]Tush
  17738. Ffreq Tush
  17739. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(38)})),
  17740. Fdl: *(*struct {
  17741. Flen1 [0]Tush
  17742. Fdad Tush
  17743. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17744. },
  17745. 53: {
  17746. Ffc: *(*struct {
  17747. Fcode [0]Tush
  17748. Ffreq Tush
  17749. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(166)})),
  17750. Fdl: *(*struct {
  17751. Flen1 [0]Tush
  17752. Fdad Tush
  17753. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17754. },
  17755. 54: {
  17756. Ffc: *(*struct {
  17757. Fcode [0]Tush
  17758. Ffreq Tush
  17759. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(102)})),
  17760. Fdl: *(*struct {
  17761. Flen1 [0]Tush
  17762. Fdad Tush
  17763. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17764. },
  17765. 55: {
  17766. Ffc: *(*struct {
  17767. Fcode [0]Tush
  17768. Ffreq Tush
  17769. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(230)})),
  17770. Fdl: *(*struct {
  17771. Flen1 [0]Tush
  17772. Fdad Tush
  17773. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17774. },
  17775. 56: {
  17776. Ffc: *(*struct {
  17777. Fcode [0]Tush
  17778. Ffreq Tush
  17779. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(22)})),
  17780. Fdl: *(*struct {
  17781. Flen1 [0]Tush
  17782. Fdad Tush
  17783. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17784. },
  17785. 57: {
  17786. Ffc: *(*struct {
  17787. Fcode [0]Tush
  17788. Ffreq Tush
  17789. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(150)})),
  17790. Fdl: *(*struct {
  17791. Flen1 [0]Tush
  17792. Fdad Tush
  17793. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17794. },
  17795. 58: {
  17796. Ffc: *(*struct {
  17797. Fcode [0]Tush
  17798. Ffreq Tush
  17799. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(86)})),
  17800. Fdl: *(*struct {
  17801. Flen1 [0]Tush
  17802. Fdad Tush
  17803. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17804. },
  17805. 59: {
  17806. Ffc: *(*struct {
  17807. Fcode [0]Tush
  17808. Ffreq Tush
  17809. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(214)})),
  17810. Fdl: *(*struct {
  17811. Flen1 [0]Tush
  17812. Fdad Tush
  17813. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17814. },
  17815. 60: {
  17816. Ffc: *(*struct {
  17817. Fcode [0]Tush
  17818. Ffreq Tush
  17819. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(54)})),
  17820. Fdl: *(*struct {
  17821. Flen1 [0]Tush
  17822. Fdad Tush
  17823. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17824. },
  17825. 61: {
  17826. Ffc: *(*struct {
  17827. Fcode [0]Tush
  17828. Ffreq Tush
  17829. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(182)})),
  17830. Fdl: *(*struct {
  17831. Flen1 [0]Tush
  17832. Fdad Tush
  17833. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17834. },
  17835. 62: {
  17836. Ffc: *(*struct {
  17837. Fcode [0]Tush
  17838. Ffreq Tush
  17839. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(118)})),
  17840. Fdl: *(*struct {
  17841. Flen1 [0]Tush
  17842. Fdad Tush
  17843. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17844. },
  17845. 63: {
  17846. Ffc: *(*struct {
  17847. Fcode [0]Tush
  17848. Ffreq Tush
  17849. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(246)})),
  17850. Fdl: *(*struct {
  17851. Flen1 [0]Tush
  17852. Fdad Tush
  17853. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17854. },
  17855. 64: {
  17856. Ffc: *(*struct {
  17857. Fcode [0]Tush
  17858. Ffreq Tush
  17859. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(14)})),
  17860. Fdl: *(*struct {
  17861. Flen1 [0]Tush
  17862. Fdad Tush
  17863. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17864. },
  17865. 65: {
  17866. Ffc: *(*struct {
  17867. Fcode [0]Tush
  17868. Ffreq Tush
  17869. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(142)})),
  17870. Fdl: *(*struct {
  17871. Flen1 [0]Tush
  17872. Fdad Tush
  17873. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17874. },
  17875. 66: {
  17876. Ffc: *(*struct {
  17877. Fcode [0]Tush
  17878. Ffreq Tush
  17879. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(78)})),
  17880. Fdl: *(*struct {
  17881. Flen1 [0]Tush
  17882. Fdad Tush
  17883. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17884. },
  17885. 67: {
  17886. Ffc: *(*struct {
  17887. Fcode [0]Tush
  17888. Ffreq Tush
  17889. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(206)})),
  17890. Fdl: *(*struct {
  17891. Flen1 [0]Tush
  17892. Fdad Tush
  17893. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17894. },
  17895. 68: {
  17896. Ffc: *(*struct {
  17897. Fcode [0]Tush
  17898. Ffreq Tush
  17899. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(46)})),
  17900. Fdl: *(*struct {
  17901. Flen1 [0]Tush
  17902. Fdad Tush
  17903. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17904. },
  17905. 69: {
  17906. Ffc: *(*struct {
  17907. Fcode [0]Tush
  17908. Ffreq Tush
  17909. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(174)})),
  17910. Fdl: *(*struct {
  17911. Flen1 [0]Tush
  17912. Fdad Tush
  17913. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17914. },
  17915. 70: {
  17916. Ffc: *(*struct {
  17917. Fcode [0]Tush
  17918. Ffreq Tush
  17919. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(110)})),
  17920. Fdl: *(*struct {
  17921. Flen1 [0]Tush
  17922. Fdad Tush
  17923. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17924. },
  17925. 71: {
  17926. Ffc: *(*struct {
  17927. Fcode [0]Tush
  17928. Ffreq Tush
  17929. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(238)})),
  17930. Fdl: *(*struct {
  17931. Flen1 [0]Tush
  17932. Fdad Tush
  17933. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17934. },
  17935. 72: {
  17936. Ffc: *(*struct {
  17937. Fcode [0]Tush
  17938. Ffreq Tush
  17939. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(30)})),
  17940. Fdl: *(*struct {
  17941. Flen1 [0]Tush
  17942. Fdad Tush
  17943. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17944. },
  17945. 73: {
  17946. Ffc: *(*struct {
  17947. Fcode [0]Tush
  17948. Ffreq Tush
  17949. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(158)})),
  17950. Fdl: *(*struct {
  17951. Flen1 [0]Tush
  17952. Fdad Tush
  17953. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17954. },
  17955. 74: {
  17956. Ffc: *(*struct {
  17957. Fcode [0]Tush
  17958. Ffreq Tush
  17959. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(94)})),
  17960. Fdl: *(*struct {
  17961. Flen1 [0]Tush
  17962. Fdad Tush
  17963. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17964. },
  17965. 75: {
  17966. Ffc: *(*struct {
  17967. Fcode [0]Tush
  17968. Ffreq Tush
  17969. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(222)})),
  17970. Fdl: *(*struct {
  17971. Flen1 [0]Tush
  17972. Fdad Tush
  17973. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17974. },
  17975. 76: {
  17976. Ffc: *(*struct {
  17977. Fcode [0]Tush
  17978. Ffreq Tush
  17979. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(62)})),
  17980. Fdl: *(*struct {
  17981. Flen1 [0]Tush
  17982. Fdad Tush
  17983. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17984. },
  17985. 77: {
  17986. Ffc: *(*struct {
  17987. Fcode [0]Tush
  17988. Ffreq Tush
  17989. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(190)})),
  17990. Fdl: *(*struct {
  17991. Flen1 [0]Tush
  17992. Fdad Tush
  17993. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17994. },
  17995. 78: {
  17996. Ffc: *(*struct {
  17997. Fcode [0]Tush
  17998. Ffreq Tush
  17999. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(126)})),
  18000. Fdl: *(*struct {
  18001. Flen1 [0]Tush
  18002. Fdad Tush
  18003. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18004. },
  18005. 79: {
  18006. Ffc: *(*struct {
  18007. Fcode [0]Tush
  18008. Ffreq Tush
  18009. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(254)})),
  18010. Fdl: *(*struct {
  18011. Flen1 [0]Tush
  18012. Fdad Tush
  18013. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18014. },
  18015. 80: {
  18016. Ffc: *(*struct {
  18017. Fcode [0]Tush
  18018. Ffreq Tush
  18019. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(1)})),
  18020. Fdl: *(*struct {
  18021. Flen1 [0]Tush
  18022. Fdad Tush
  18023. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18024. },
  18025. 81: {
  18026. Ffc: *(*struct {
  18027. Fcode [0]Tush
  18028. Ffreq Tush
  18029. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(129)})),
  18030. Fdl: *(*struct {
  18031. Flen1 [0]Tush
  18032. Fdad Tush
  18033. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18034. },
  18035. 82: {
  18036. Ffc: *(*struct {
  18037. Fcode [0]Tush
  18038. Ffreq Tush
  18039. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(65)})),
  18040. Fdl: *(*struct {
  18041. Flen1 [0]Tush
  18042. Fdad Tush
  18043. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18044. },
  18045. 83: {
  18046. Ffc: *(*struct {
  18047. Fcode [0]Tush
  18048. Ffreq Tush
  18049. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(193)})),
  18050. Fdl: *(*struct {
  18051. Flen1 [0]Tush
  18052. Fdad Tush
  18053. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18054. },
  18055. 84: {
  18056. Ffc: *(*struct {
  18057. Fcode [0]Tush
  18058. Ffreq Tush
  18059. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(33)})),
  18060. Fdl: *(*struct {
  18061. Flen1 [0]Tush
  18062. Fdad Tush
  18063. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18064. },
  18065. 85: {
  18066. Ffc: *(*struct {
  18067. Fcode [0]Tush
  18068. Ffreq Tush
  18069. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(161)})),
  18070. Fdl: *(*struct {
  18071. Flen1 [0]Tush
  18072. Fdad Tush
  18073. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18074. },
  18075. 86: {
  18076. Ffc: *(*struct {
  18077. Fcode [0]Tush
  18078. Ffreq Tush
  18079. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(97)})),
  18080. Fdl: *(*struct {
  18081. Flen1 [0]Tush
  18082. Fdad Tush
  18083. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18084. },
  18085. 87: {
  18086. Ffc: *(*struct {
  18087. Fcode [0]Tush
  18088. Ffreq Tush
  18089. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(225)})),
  18090. Fdl: *(*struct {
  18091. Flen1 [0]Tush
  18092. Fdad Tush
  18093. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18094. },
  18095. 88: {
  18096. Ffc: *(*struct {
  18097. Fcode [0]Tush
  18098. Ffreq Tush
  18099. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(17)})),
  18100. Fdl: *(*struct {
  18101. Flen1 [0]Tush
  18102. Fdad Tush
  18103. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18104. },
  18105. 89: {
  18106. Ffc: *(*struct {
  18107. Fcode [0]Tush
  18108. Ffreq Tush
  18109. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(145)})),
  18110. Fdl: *(*struct {
  18111. Flen1 [0]Tush
  18112. Fdad Tush
  18113. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18114. },
  18115. 90: {
  18116. Ffc: *(*struct {
  18117. Fcode [0]Tush
  18118. Ffreq Tush
  18119. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(81)})),
  18120. Fdl: *(*struct {
  18121. Flen1 [0]Tush
  18122. Fdad Tush
  18123. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18124. },
  18125. 91: {
  18126. Ffc: *(*struct {
  18127. Fcode [0]Tush
  18128. Ffreq Tush
  18129. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(209)})),
  18130. Fdl: *(*struct {
  18131. Flen1 [0]Tush
  18132. Fdad Tush
  18133. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18134. },
  18135. 92: {
  18136. Ffc: *(*struct {
  18137. Fcode [0]Tush
  18138. Ffreq Tush
  18139. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(49)})),
  18140. Fdl: *(*struct {
  18141. Flen1 [0]Tush
  18142. Fdad Tush
  18143. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18144. },
  18145. 93: {
  18146. Ffc: *(*struct {
  18147. Fcode [0]Tush
  18148. Ffreq Tush
  18149. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(177)})),
  18150. Fdl: *(*struct {
  18151. Flen1 [0]Tush
  18152. Fdad Tush
  18153. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18154. },
  18155. 94: {
  18156. Ffc: *(*struct {
  18157. Fcode [0]Tush
  18158. Ffreq Tush
  18159. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(113)})),
  18160. Fdl: *(*struct {
  18161. Flen1 [0]Tush
  18162. Fdad Tush
  18163. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18164. },
  18165. 95: {
  18166. Ffc: *(*struct {
  18167. Fcode [0]Tush
  18168. Ffreq Tush
  18169. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(241)})),
  18170. Fdl: *(*struct {
  18171. Flen1 [0]Tush
  18172. Fdad Tush
  18173. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18174. },
  18175. 96: {
  18176. Ffc: *(*struct {
  18177. Fcode [0]Tush
  18178. Ffreq Tush
  18179. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18180. Fdl: *(*struct {
  18181. Flen1 [0]Tush
  18182. Fdad Tush
  18183. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18184. },
  18185. 97: {
  18186. Ffc: *(*struct {
  18187. Fcode [0]Tush
  18188. Ffreq Tush
  18189. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(137)})),
  18190. Fdl: *(*struct {
  18191. Flen1 [0]Tush
  18192. Fdad Tush
  18193. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18194. },
  18195. 98: {
  18196. Ffc: *(*struct {
  18197. Fcode [0]Tush
  18198. Ffreq Tush
  18199. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(73)})),
  18200. Fdl: *(*struct {
  18201. Flen1 [0]Tush
  18202. Fdad Tush
  18203. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18204. },
  18205. 99: {
  18206. Ffc: *(*struct {
  18207. Fcode [0]Tush
  18208. Ffreq Tush
  18209. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(201)})),
  18210. Fdl: *(*struct {
  18211. Flen1 [0]Tush
  18212. Fdad Tush
  18213. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18214. },
  18215. 100: {
  18216. Ffc: *(*struct {
  18217. Fcode [0]Tush
  18218. Ffreq Tush
  18219. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(41)})),
  18220. Fdl: *(*struct {
  18221. Flen1 [0]Tush
  18222. Fdad Tush
  18223. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18224. },
  18225. 101: {
  18226. Ffc: *(*struct {
  18227. Fcode [0]Tush
  18228. Ffreq Tush
  18229. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(169)})),
  18230. Fdl: *(*struct {
  18231. Flen1 [0]Tush
  18232. Fdad Tush
  18233. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18234. },
  18235. 102: {
  18236. Ffc: *(*struct {
  18237. Fcode [0]Tush
  18238. Ffreq Tush
  18239. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(105)})),
  18240. Fdl: *(*struct {
  18241. Flen1 [0]Tush
  18242. Fdad Tush
  18243. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18244. },
  18245. 103: {
  18246. Ffc: *(*struct {
  18247. Fcode [0]Tush
  18248. Ffreq Tush
  18249. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(233)})),
  18250. Fdl: *(*struct {
  18251. Flen1 [0]Tush
  18252. Fdad Tush
  18253. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18254. },
  18255. 104: {
  18256. Ffc: *(*struct {
  18257. Fcode [0]Tush
  18258. Ffreq Tush
  18259. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(25)})),
  18260. Fdl: *(*struct {
  18261. Flen1 [0]Tush
  18262. Fdad Tush
  18263. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18264. },
  18265. 105: {
  18266. Ffc: *(*struct {
  18267. Fcode [0]Tush
  18268. Ffreq Tush
  18269. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(153)})),
  18270. Fdl: *(*struct {
  18271. Flen1 [0]Tush
  18272. Fdad Tush
  18273. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18274. },
  18275. 106: {
  18276. Ffc: *(*struct {
  18277. Fcode [0]Tush
  18278. Ffreq Tush
  18279. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(89)})),
  18280. Fdl: *(*struct {
  18281. Flen1 [0]Tush
  18282. Fdad Tush
  18283. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18284. },
  18285. 107: {
  18286. Ffc: *(*struct {
  18287. Fcode [0]Tush
  18288. Ffreq Tush
  18289. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(217)})),
  18290. Fdl: *(*struct {
  18291. Flen1 [0]Tush
  18292. Fdad Tush
  18293. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18294. },
  18295. 108: {
  18296. Ffc: *(*struct {
  18297. Fcode [0]Tush
  18298. Ffreq Tush
  18299. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(57)})),
  18300. Fdl: *(*struct {
  18301. Flen1 [0]Tush
  18302. Fdad Tush
  18303. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18304. },
  18305. 109: {
  18306. Ffc: *(*struct {
  18307. Fcode [0]Tush
  18308. Ffreq Tush
  18309. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(185)})),
  18310. Fdl: *(*struct {
  18311. Flen1 [0]Tush
  18312. Fdad Tush
  18313. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18314. },
  18315. 110: {
  18316. Ffc: *(*struct {
  18317. Fcode [0]Tush
  18318. Ffreq Tush
  18319. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(121)})),
  18320. Fdl: *(*struct {
  18321. Flen1 [0]Tush
  18322. Fdad Tush
  18323. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18324. },
  18325. 111: {
  18326. Ffc: *(*struct {
  18327. Fcode [0]Tush
  18328. Ffreq Tush
  18329. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(249)})),
  18330. Fdl: *(*struct {
  18331. Flen1 [0]Tush
  18332. Fdad Tush
  18333. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18334. },
  18335. 112: {
  18336. Ffc: *(*struct {
  18337. Fcode [0]Tush
  18338. Ffreq Tush
  18339. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  18340. Fdl: *(*struct {
  18341. Flen1 [0]Tush
  18342. Fdad Tush
  18343. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18344. },
  18345. 113: {
  18346. Ffc: *(*struct {
  18347. Fcode [0]Tush
  18348. Ffreq Tush
  18349. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(133)})),
  18350. Fdl: *(*struct {
  18351. Flen1 [0]Tush
  18352. Fdad Tush
  18353. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18354. },
  18355. 114: {
  18356. Ffc: *(*struct {
  18357. Fcode [0]Tush
  18358. Ffreq Tush
  18359. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(69)})),
  18360. Fdl: *(*struct {
  18361. Flen1 [0]Tush
  18362. Fdad Tush
  18363. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18364. },
  18365. 115: {
  18366. Ffc: *(*struct {
  18367. Fcode [0]Tush
  18368. Ffreq Tush
  18369. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(197)})),
  18370. Fdl: *(*struct {
  18371. Flen1 [0]Tush
  18372. Fdad Tush
  18373. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18374. },
  18375. 116: {
  18376. Ffc: *(*struct {
  18377. Fcode [0]Tush
  18378. Ffreq Tush
  18379. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(37)})),
  18380. Fdl: *(*struct {
  18381. Flen1 [0]Tush
  18382. Fdad Tush
  18383. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18384. },
  18385. 117: {
  18386. Ffc: *(*struct {
  18387. Fcode [0]Tush
  18388. Ffreq Tush
  18389. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(165)})),
  18390. Fdl: *(*struct {
  18391. Flen1 [0]Tush
  18392. Fdad Tush
  18393. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18394. },
  18395. 118: {
  18396. Ffc: *(*struct {
  18397. Fcode [0]Tush
  18398. Ffreq Tush
  18399. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(101)})),
  18400. Fdl: *(*struct {
  18401. Flen1 [0]Tush
  18402. Fdad Tush
  18403. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18404. },
  18405. 119: {
  18406. Ffc: *(*struct {
  18407. Fcode [0]Tush
  18408. Ffreq Tush
  18409. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(229)})),
  18410. Fdl: *(*struct {
  18411. Flen1 [0]Tush
  18412. Fdad Tush
  18413. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18414. },
  18415. 120: {
  18416. Ffc: *(*struct {
  18417. Fcode [0]Tush
  18418. Ffreq Tush
  18419. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(21)})),
  18420. Fdl: *(*struct {
  18421. Flen1 [0]Tush
  18422. Fdad Tush
  18423. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18424. },
  18425. 121: {
  18426. Ffc: *(*struct {
  18427. Fcode [0]Tush
  18428. Ffreq Tush
  18429. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(149)})),
  18430. Fdl: *(*struct {
  18431. Flen1 [0]Tush
  18432. Fdad Tush
  18433. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18434. },
  18435. 122: {
  18436. Ffc: *(*struct {
  18437. Fcode [0]Tush
  18438. Ffreq Tush
  18439. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(85)})),
  18440. Fdl: *(*struct {
  18441. Flen1 [0]Tush
  18442. Fdad Tush
  18443. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18444. },
  18445. 123: {
  18446. Ffc: *(*struct {
  18447. Fcode [0]Tush
  18448. Ffreq Tush
  18449. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(213)})),
  18450. Fdl: *(*struct {
  18451. Flen1 [0]Tush
  18452. Fdad Tush
  18453. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18454. },
  18455. 124: {
  18456. Ffc: *(*struct {
  18457. Fcode [0]Tush
  18458. Ffreq Tush
  18459. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(53)})),
  18460. Fdl: *(*struct {
  18461. Flen1 [0]Tush
  18462. Fdad Tush
  18463. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18464. },
  18465. 125: {
  18466. Ffc: *(*struct {
  18467. Fcode [0]Tush
  18468. Ffreq Tush
  18469. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(181)})),
  18470. Fdl: *(*struct {
  18471. Flen1 [0]Tush
  18472. Fdad Tush
  18473. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18474. },
  18475. 126: {
  18476. Ffc: *(*struct {
  18477. Fcode [0]Tush
  18478. Ffreq Tush
  18479. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(117)})),
  18480. Fdl: *(*struct {
  18481. Flen1 [0]Tush
  18482. Fdad Tush
  18483. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18484. },
  18485. 127: {
  18486. Ffc: *(*struct {
  18487. Fcode [0]Tush
  18488. Ffreq Tush
  18489. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(245)})),
  18490. Fdl: *(*struct {
  18491. Flen1 [0]Tush
  18492. Fdad Tush
  18493. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18494. },
  18495. 128: {
  18496. Ffc: *(*struct {
  18497. Fcode [0]Tush
  18498. Ffreq Tush
  18499. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(13)})),
  18500. Fdl: *(*struct {
  18501. Flen1 [0]Tush
  18502. Fdad Tush
  18503. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18504. },
  18505. 129: {
  18506. Ffc: *(*struct {
  18507. Fcode [0]Tush
  18508. Ffreq Tush
  18509. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(141)})),
  18510. Fdl: *(*struct {
  18511. Flen1 [0]Tush
  18512. Fdad Tush
  18513. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18514. },
  18515. 130: {
  18516. Ffc: *(*struct {
  18517. Fcode [0]Tush
  18518. Ffreq Tush
  18519. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(77)})),
  18520. Fdl: *(*struct {
  18521. Flen1 [0]Tush
  18522. Fdad Tush
  18523. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18524. },
  18525. 131: {
  18526. Ffc: *(*struct {
  18527. Fcode [0]Tush
  18528. Ffreq Tush
  18529. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(205)})),
  18530. Fdl: *(*struct {
  18531. Flen1 [0]Tush
  18532. Fdad Tush
  18533. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18534. },
  18535. 132: {
  18536. Ffc: *(*struct {
  18537. Fcode [0]Tush
  18538. Ffreq Tush
  18539. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(45)})),
  18540. Fdl: *(*struct {
  18541. Flen1 [0]Tush
  18542. Fdad Tush
  18543. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18544. },
  18545. 133: {
  18546. Ffc: *(*struct {
  18547. Fcode [0]Tush
  18548. Ffreq Tush
  18549. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(173)})),
  18550. Fdl: *(*struct {
  18551. Flen1 [0]Tush
  18552. Fdad Tush
  18553. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18554. },
  18555. 134: {
  18556. Ffc: *(*struct {
  18557. Fcode [0]Tush
  18558. Ffreq Tush
  18559. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(109)})),
  18560. Fdl: *(*struct {
  18561. Flen1 [0]Tush
  18562. Fdad Tush
  18563. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18564. },
  18565. 135: {
  18566. Ffc: *(*struct {
  18567. Fcode [0]Tush
  18568. Ffreq Tush
  18569. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(237)})),
  18570. Fdl: *(*struct {
  18571. Flen1 [0]Tush
  18572. Fdad Tush
  18573. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18574. },
  18575. 136: {
  18576. Ffc: *(*struct {
  18577. Fcode [0]Tush
  18578. Ffreq Tush
  18579. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(29)})),
  18580. Fdl: *(*struct {
  18581. Flen1 [0]Tush
  18582. Fdad Tush
  18583. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18584. },
  18585. 137: {
  18586. Ffc: *(*struct {
  18587. Fcode [0]Tush
  18588. Ffreq Tush
  18589. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(157)})),
  18590. Fdl: *(*struct {
  18591. Flen1 [0]Tush
  18592. Fdad Tush
  18593. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18594. },
  18595. 138: {
  18596. Ffc: *(*struct {
  18597. Fcode [0]Tush
  18598. Ffreq Tush
  18599. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(93)})),
  18600. Fdl: *(*struct {
  18601. Flen1 [0]Tush
  18602. Fdad Tush
  18603. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18604. },
  18605. 139: {
  18606. Ffc: *(*struct {
  18607. Fcode [0]Tush
  18608. Ffreq Tush
  18609. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(221)})),
  18610. Fdl: *(*struct {
  18611. Flen1 [0]Tush
  18612. Fdad Tush
  18613. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18614. },
  18615. 140: {
  18616. Ffc: *(*struct {
  18617. Fcode [0]Tush
  18618. Ffreq Tush
  18619. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(61)})),
  18620. Fdl: *(*struct {
  18621. Flen1 [0]Tush
  18622. Fdad Tush
  18623. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18624. },
  18625. 141: {
  18626. Ffc: *(*struct {
  18627. Fcode [0]Tush
  18628. Ffreq Tush
  18629. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(189)})),
  18630. Fdl: *(*struct {
  18631. Flen1 [0]Tush
  18632. Fdad Tush
  18633. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18634. },
  18635. 142: {
  18636. Ffc: *(*struct {
  18637. Fcode [0]Tush
  18638. Ffreq Tush
  18639. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(125)})),
  18640. Fdl: *(*struct {
  18641. Flen1 [0]Tush
  18642. Fdad Tush
  18643. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18644. },
  18645. 143: {
  18646. Ffc: *(*struct {
  18647. Fcode [0]Tush
  18648. Ffreq Tush
  18649. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(253)})),
  18650. Fdl: *(*struct {
  18651. Flen1 [0]Tush
  18652. Fdad Tush
  18653. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18654. },
  18655. 144: {
  18656. Ffc: *(*struct {
  18657. Fcode [0]Tush
  18658. Ffreq Tush
  18659. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(19)})),
  18660. Fdl: *(*struct {
  18661. Flen1 [0]Tush
  18662. Fdad Tush
  18663. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18664. },
  18665. 145: {
  18666. Ffc: *(*struct {
  18667. Fcode [0]Tush
  18668. Ffreq Tush
  18669. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(275)})),
  18670. Fdl: *(*struct {
  18671. Flen1 [0]Tush
  18672. Fdad Tush
  18673. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18674. },
  18675. 146: {
  18676. Ffc: *(*struct {
  18677. Fcode [0]Tush
  18678. Ffreq Tush
  18679. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(147)})),
  18680. Fdl: *(*struct {
  18681. Flen1 [0]Tush
  18682. Fdad Tush
  18683. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18684. },
  18685. 147: {
  18686. Ffc: *(*struct {
  18687. Fcode [0]Tush
  18688. Ffreq Tush
  18689. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(403)})),
  18690. Fdl: *(*struct {
  18691. Flen1 [0]Tush
  18692. Fdad Tush
  18693. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18694. },
  18695. 148: {
  18696. Ffc: *(*struct {
  18697. Fcode [0]Tush
  18698. Ffreq Tush
  18699. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(83)})),
  18700. Fdl: *(*struct {
  18701. Flen1 [0]Tush
  18702. Fdad Tush
  18703. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18704. },
  18705. 149: {
  18706. Ffc: *(*struct {
  18707. Fcode [0]Tush
  18708. Ffreq Tush
  18709. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(339)})),
  18710. Fdl: *(*struct {
  18711. Flen1 [0]Tush
  18712. Fdad Tush
  18713. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18714. },
  18715. 150: {
  18716. Ffc: *(*struct {
  18717. Fcode [0]Tush
  18718. Ffreq Tush
  18719. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(211)})),
  18720. Fdl: *(*struct {
  18721. Flen1 [0]Tush
  18722. Fdad Tush
  18723. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18724. },
  18725. 151: {
  18726. Ffc: *(*struct {
  18727. Fcode [0]Tush
  18728. Ffreq Tush
  18729. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(467)})),
  18730. Fdl: *(*struct {
  18731. Flen1 [0]Tush
  18732. Fdad Tush
  18733. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18734. },
  18735. 152: {
  18736. Ffc: *(*struct {
  18737. Fcode [0]Tush
  18738. Ffreq Tush
  18739. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(51)})),
  18740. Fdl: *(*struct {
  18741. Flen1 [0]Tush
  18742. Fdad Tush
  18743. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18744. },
  18745. 153: {
  18746. Ffc: *(*struct {
  18747. Fcode [0]Tush
  18748. Ffreq Tush
  18749. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(307)})),
  18750. Fdl: *(*struct {
  18751. Flen1 [0]Tush
  18752. Fdad Tush
  18753. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18754. },
  18755. 154: {
  18756. Ffc: *(*struct {
  18757. Fcode [0]Tush
  18758. Ffreq Tush
  18759. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(179)})),
  18760. Fdl: *(*struct {
  18761. Flen1 [0]Tush
  18762. Fdad Tush
  18763. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18764. },
  18765. 155: {
  18766. Ffc: *(*struct {
  18767. Fcode [0]Tush
  18768. Ffreq Tush
  18769. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(435)})),
  18770. Fdl: *(*struct {
  18771. Flen1 [0]Tush
  18772. Fdad Tush
  18773. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18774. },
  18775. 156: {
  18776. Ffc: *(*struct {
  18777. Fcode [0]Tush
  18778. Ffreq Tush
  18779. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(115)})),
  18780. Fdl: *(*struct {
  18781. Flen1 [0]Tush
  18782. Fdad Tush
  18783. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18784. },
  18785. 157: {
  18786. Ffc: *(*struct {
  18787. Fcode [0]Tush
  18788. Ffreq Tush
  18789. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(371)})),
  18790. Fdl: *(*struct {
  18791. Flen1 [0]Tush
  18792. Fdad Tush
  18793. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18794. },
  18795. 158: {
  18796. Ffc: *(*struct {
  18797. Fcode [0]Tush
  18798. Ffreq Tush
  18799. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(243)})),
  18800. Fdl: *(*struct {
  18801. Flen1 [0]Tush
  18802. Fdad Tush
  18803. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18804. },
  18805. 159: {
  18806. Ffc: *(*struct {
  18807. Fcode [0]Tush
  18808. Ffreq Tush
  18809. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(499)})),
  18810. Fdl: *(*struct {
  18811. Flen1 [0]Tush
  18812. Fdad Tush
  18813. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18814. },
  18815. 160: {
  18816. Ffc: *(*struct {
  18817. Fcode [0]Tush
  18818. Ffreq Tush
  18819. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(11)})),
  18820. Fdl: *(*struct {
  18821. Flen1 [0]Tush
  18822. Fdad Tush
  18823. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18824. },
  18825. 161: {
  18826. Ffc: *(*struct {
  18827. Fcode [0]Tush
  18828. Ffreq Tush
  18829. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(267)})),
  18830. Fdl: *(*struct {
  18831. Flen1 [0]Tush
  18832. Fdad Tush
  18833. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18834. },
  18835. 162: {
  18836. Ffc: *(*struct {
  18837. Fcode [0]Tush
  18838. Ffreq Tush
  18839. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(139)})),
  18840. Fdl: *(*struct {
  18841. Flen1 [0]Tush
  18842. Fdad Tush
  18843. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18844. },
  18845. 163: {
  18846. Ffc: *(*struct {
  18847. Fcode [0]Tush
  18848. Ffreq Tush
  18849. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(395)})),
  18850. Fdl: *(*struct {
  18851. Flen1 [0]Tush
  18852. Fdad Tush
  18853. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18854. },
  18855. 164: {
  18856. Ffc: *(*struct {
  18857. Fcode [0]Tush
  18858. Ffreq Tush
  18859. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(75)})),
  18860. Fdl: *(*struct {
  18861. Flen1 [0]Tush
  18862. Fdad Tush
  18863. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18864. },
  18865. 165: {
  18866. Ffc: *(*struct {
  18867. Fcode [0]Tush
  18868. Ffreq Tush
  18869. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(331)})),
  18870. Fdl: *(*struct {
  18871. Flen1 [0]Tush
  18872. Fdad Tush
  18873. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18874. },
  18875. 166: {
  18876. Ffc: *(*struct {
  18877. Fcode [0]Tush
  18878. Ffreq Tush
  18879. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(203)})),
  18880. Fdl: *(*struct {
  18881. Flen1 [0]Tush
  18882. Fdad Tush
  18883. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18884. },
  18885. 167: {
  18886. Ffc: *(*struct {
  18887. Fcode [0]Tush
  18888. Ffreq Tush
  18889. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(459)})),
  18890. Fdl: *(*struct {
  18891. Flen1 [0]Tush
  18892. Fdad Tush
  18893. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18894. },
  18895. 168: {
  18896. Ffc: *(*struct {
  18897. Fcode [0]Tush
  18898. Ffreq Tush
  18899. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(43)})),
  18900. Fdl: *(*struct {
  18901. Flen1 [0]Tush
  18902. Fdad Tush
  18903. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18904. },
  18905. 169: {
  18906. Ffc: *(*struct {
  18907. Fcode [0]Tush
  18908. Ffreq Tush
  18909. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(299)})),
  18910. Fdl: *(*struct {
  18911. Flen1 [0]Tush
  18912. Fdad Tush
  18913. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18914. },
  18915. 170: {
  18916. Ffc: *(*struct {
  18917. Fcode [0]Tush
  18918. Ffreq Tush
  18919. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(171)})),
  18920. Fdl: *(*struct {
  18921. Flen1 [0]Tush
  18922. Fdad Tush
  18923. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18924. },
  18925. 171: {
  18926. Ffc: *(*struct {
  18927. Fcode [0]Tush
  18928. Ffreq Tush
  18929. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(427)})),
  18930. Fdl: *(*struct {
  18931. Flen1 [0]Tush
  18932. Fdad Tush
  18933. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18934. },
  18935. 172: {
  18936. Ffc: *(*struct {
  18937. Fcode [0]Tush
  18938. Ffreq Tush
  18939. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(107)})),
  18940. Fdl: *(*struct {
  18941. Flen1 [0]Tush
  18942. Fdad Tush
  18943. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18944. },
  18945. 173: {
  18946. Ffc: *(*struct {
  18947. Fcode [0]Tush
  18948. Ffreq Tush
  18949. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(363)})),
  18950. Fdl: *(*struct {
  18951. Flen1 [0]Tush
  18952. Fdad Tush
  18953. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18954. },
  18955. 174: {
  18956. Ffc: *(*struct {
  18957. Fcode [0]Tush
  18958. Ffreq Tush
  18959. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(235)})),
  18960. Fdl: *(*struct {
  18961. Flen1 [0]Tush
  18962. Fdad Tush
  18963. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18964. },
  18965. 175: {
  18966. Ffc: *(*struct {
  18967. Fcode [0]Tush
  18968. Ffreq Tush
  18969. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(491)})),
  18970. Fdl: *(*struct {
  18971. Flen1 [0]Tush
  18972. Fdad Tush
  18973. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18974. },
  18975. 176: {
  18976. Ffc: *(*struct {
  18977. Fcode [0]Tush
  18978. Ffreq Tush
  18979. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(27)})),
  18980. Fdl: *(*struct {
  18981. Flen1 [0]Tush
  18982. Fdad Tush
  18983. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18984. },
  18985. 177: {
  18986. Ffc: *(*struct {
  18987. Fcode [0]Tush
  18988. Ffreq Tush
  18989. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(283)})),
  18990. Fdl: *(*struct {
  18991. Flen1 [0]Tush
  18992. Fdad Tush
  18993. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18994. },
  18995. 178: {
  18996. Ffc: *(*struct {
  18997. Fcode [0]Tush
  18998. Ffreq Tush
  18999. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(155)})),
  19000. Fdl: *(*struct {
  19001. Flen1 [0]Tush
  19002. Fdad Tush
  19003. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19004. },
  19005. 179: {
  19006. Ffc: *(*struct {
  19007. Fcode [0]Tush
  19008. Ffreq Tush
  19009. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(411)})),
  19010. Fdl: *(*struct {
  19011. Flen1 [0]Tush
  19012. Fdad Tush
  19013. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19014. },
  19015. 180: {
  19016. Ffc: *(*struct {
  19017. Fcode [0]Tush
  19018. Ffreq Tush
  19019. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(91)})),
  19020. Fdl: *(*struct {
  19021. Flen1 [0]Tush
  19022. Fdad Tush
  19023. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19024. },
  19025. 181: {
  19026. Ffc: *(*struct {
  19027. Fcode [0]Tush
  19028. Ffreq Tush
  19029. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(347)})),
  19030. Fdl: *(*struct {
  19031. Flen1 [0]Tush
  19032. Fdad Tush
  19033. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19034. },
  19035. 182: {
  19036. Ffc: *(*struct {
  19037. Fcode [0]Tush
  19038. Ffreq Tush
  19039. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(219)})),
  19040. Fdl: *(*struct {
  19041. Flen1 [0]Tush
  19042. Fdad Tush
  19043. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19044. },
  19045. 183: {
  19046. Ffc: *(*struct {
  19047. Fcode [0]Tush
  19048. Ffreq Tush
  19049. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(475)})),
  19050. Fdl: *(*struct {
  19051. Flen1 [0]Tush
  19052. Fdad Tush
  19053. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19054. },
  19055. 184: {
  19056. Ffc: *(*struct {
  19057. Fcode [0]Tush
  19058. Ffreq Tush
  19059. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(59)})),
  19060. Fdl: *(*struct {
  19061. Flen1 [0]Tush
  19062. Fdad Tush
  19063. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19064. },
  19065. 185: {
  19066. Ffc: *(*struct {
  19067. Fcode [0]Tush
  19068. Ffreq Tush
  19069. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(315)})),
  19070. Fdl: *(*struct {
  19071. Flen1 [0]Tush
  19072. Fdad Tush
  19073. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19074. },
  19075. 186: {
  19076. Ffc: *(*struct {
  19077. Fcode [0]Tush
  19078. Ffreq Tush
  19079. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(187)})),
  19080. Fdl: *(*struct {
  19081. Flen1 [0]Tush
  19082. Fdad Tush
  19083. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19084. },
  19085. 187: {
  19086. Ffc: *(*struct {
  19087. Fcode [0]Tush
  19088. Ffreq Tush
  19089. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(443)})),
  19090. Fdl: *(*struct {
  19091. Flen1 [0]Tush
  19092. Fdad Tush
  19093. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19094. },
  19095. 188: {
  19096. Ffc: *(*struct {
  19097. Fcode [0]Tush
  19098. Ffreq Tush
  19099. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(123)})),
  19100. Fdl: *(*struct {
  19101. Flen1 [0]Tush
  19102. Fdad Tush
  19103. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19104. },
  19105. 189: {
  19106. Ffc: *(*struct {
  19107. Fcode [0]Tush
  19108. Ffreq Tush
  19109. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(379)})),
  19110. Fdl: *(*struct {
  19111. Flen1 [0]Tush
  19112. Fdad Tush
  19113. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19114. },
  19115. 190: {
  19116. Ffc: *(*struct {
  19117. Fcode [0]Tush
  19118. Ffreq Tush
  19119. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(251)})),
  19120. Fdl: *(*struct {
  19121. Flen1 [0]Tush
  19122. Fdad Tush
  19123. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19124. },
  19125. 191: {
  19126. Ffc: *(*struct {
  19127. Fcode [0]Tush
  19128. Ffreq Tush
  19129. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(507)})),
  19130. Fdl: *(*struct {
  19131. Flen1 [0]Tush
  19132. Fdad Tush
  19133. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19134. },
  19135. 192: {
  19136. Ffc: *(*struct {
  19137. Fcode [0]Tush
  19138. Ffreq Tush
  19139. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19140. Fdl: *(*struct {
  19141. Flen1 [0]Tush
  19142. Fdad Tush
  19143. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19144. },
  19145. 193: {
  19146. Ffc: *(*struct {
  19147. Fcode [0]Tush
  19148. Ffreq Tush
  19149. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(263)})),
  19150. Fdl: *(*struct {
  19151. Flen1 [0]Tush
  19152. Fdad Tush
  19153. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19154. },
  19155. 194: {
  19156. Ffc: *(*struct {
  19157. Fcode [0]Tush
  19158. Ffreq Tush
  19159. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(135)})),
  19160. Fdl: *(*struct {
  19161. Flen1 [0]Tush
  19162. Fdad Tush
  19163. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19164. },
  19165. 195: {
  19166. Ffc: *(*struct {
  19167. Fcode [0]Tush
  19168. Ffreq Tush
  19169. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(391)})),
  19170. Fdl: *(*struct {
  19171. Flen1 [0]Tush
  19172. Fdad Tush
  19173. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19174. },
  19175. 196: {
  19176. Ffc: *(*struct {
  19177. Fcode [0]Tush
  19178. Ffreq Tush
  19179. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(71)})),
  19180. Fdl: *(*struct {
  19181. Flen1 [0]Tush
  19182. Fdad Tush
  19183. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19184. },
  19185. 197: {
  19186. Ffc: *(*struct {
  19187. Fcode [0]Tush
  19188. Ffreq Tush
  19189. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(327)})),
  19190. Fdl: *(*struct {
  19191. Flen1 [0]Tush
  19192. Fdad Tush
  19193. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19194. },
  19195. 198: {
  19196. Ffc: *(*struct {
  19197. Fcode [0]Tush
  19198. Ffreq Tush
  19199. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(199)})),
  19200. Fdl: *(*struct {
  19201. Flen1 [0]Tush
  19202. Fdad Tush
  19203. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19204. },
  19205. 199: {
  19206. Ffc: *(*struct {
  19207. Fcode [0]Tush
  19208. Ffreq Tush
  19209. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(455)})),
  19210. Fdl: *(*struct {
  19211. Flen1 [0]Tush
  19212. Fdad Tush
  19213. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19214. },
  19215. 200: {
  19216. Ffc: *(*struct {
  19217. Fcode [0]Tush
  19218. Ffreq Tush
  19219. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(39)})),
  19220. Fdl: *(*struct {
  19221. Flen1 [0]Tush
  19222. Fdad Tush
  19223. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19224. },
  19225. 201: {
  19226. Ffc: *(*struct {
  19227. Fcode [0]Tush
  19228. Ffreq Tush
  19229. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(295)})),
  19230. Fdl: *(*struct {
  19231. Flen1 [0]Tush
  19232. Fdad Tush
  19233. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19234. },
  19235. 202: {
  19236. Ffc: *(*struct {
  19237. Fcode [0]Tush
  19238. Ffreq Tush
  19239. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(167)})),
  19240. Fdl: *(*struct {
  19241. Flen1 [0]Tush
  19242. Fdad Tush
  19243. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19244. },
  19245. 203: {
  19246. Ffc: *(*struct {
  19247. Fcode [0]Tush
  19248. Ffreq Tush
  19249. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(423)})),
  19250. Fdl: *(*struct {
  19251. Flen1 [0]Tush
  19252. Fdad Tush
  19253. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19254. },
  19255. 204: {
  19256. Ffc: *(*struct {
  19257. Fcode [0]Tush
  19258. Ffreq Tush
  19259. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(103)})),
  19260. Fdl: *(*struct {
  19261. Flen1 [0]Tush
  19262. Fdad Tush
  19263. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19264. },
  19265. 205: {
  19266. Ffc: *(*struct {
  19267. Fcode [0]Tush
  19268. Ffreq Tush
  19269. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(359)})),
  19270. Fdl: *(*struct {
  19271. Flen1 [0]Tush
  19272. Fdad Tush
  19273. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19274. },
  19275. 206: {
  19276. Ffc: *(*struct {
  19277. Fcode [0]Tush
  19278. Ffreq Tush
  19279. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(231)})),
  19280. Fdl: *(*struct {
  19281. Flen1 [0]Tush
  19282. Fdad Tush
  19283. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19284. },
  19285. 207: {
  19286. Ffc: *(*struct {
  19287. Fcode [0]Tush
  19288. Ffreq Tush
  19289. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(487)})),
  19290. Fdl: *(*struct {
  19291. Flen1 [0]Tush
  19292. Fdad Tush
  19293. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19294. },
  19295. 208: {
  19296. Ffc: *(*struct {
  19297. Fcode [0]Tush
  19298. Ffreq Tush
  19299. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(23)})),
  19300. Fdl: *(*struct {
  19301. Flen1 [0]Tush
  19302. Fdad Tush
  19303. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19304. },
  19305. 209: {
  19306. Ffc: *(*struct {
  19307. Fcode [0]Tush
  19308. Ffreq Tush
  19309. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(279)})),
  19310. Fdl: *(*struct {
  19311. Flen1 [0]Tush
  19312. Fdad Tush
  19313. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19314. },
  19315. 210: {
  19316. Ffc: *(*struct {
  19317. Fcode [0]Tush
  19318. Ffreq Tush
  19319. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(151)})),
  19320. Fdl: *(*struct {
  19321. Flen1 [0]Tush
  19322. Fdad Tush
  19323. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19324. },
  19325. 211: {
  19326. Ffc: *(*struct {
  19327. Fcode [0]Tush
  19328. Ffreq Tush
  19329. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(407)})),
  19330. Fdl: *(*struct {
  19331. Flen1 [0]Tush
  19332. Fdad Tush
  19333. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19334. },
  19335. 212: {
  19336. Ffc: *(*struct {
  19337. Fcode [0]Tush
  19338. Ffreq Tush
  19339. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(87)})),
  19340. Fdl: *(*struct {
  19341. Flen1 [0]Tush
  19342. Fdad Tush
  19343. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19344. },
  19345. 213: {
  19346. Ffc: *(*struct {
  19347. Fcode [0]Tush
  19348. Ffreq Tush
  19349. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(343)})),
  19350. Fdl: *(*struct {
  19351. Flen1 [0]Tush
  19352. Fdad Tush
  19353. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19354. },
  19355. 214: {
  19356. Ffc: *(*struct {
  19357. Fcode [0]Tush
  19358. Ffreq Tush
  19359. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(215)})),
  19360. Fdl: *(*struct {
  19361. Flen1 [0]Tush
  19362. Fdad Tush
  19363. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19364. },
  19365. 215: {
  19366. Ffc: *(*struct {
  19367. Fcode [0]Tush
  19368. Ffreq Tush
  19369. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(471)})),
  19370. Fdl: *(*struct {
  19371. Flen1 [0]Tush
  19372. Fdad Tush
  19373. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19374. },
  19375. 216: {
  19376. Ffc: *(*struct {
  19377. Fcode [0]Tush
  19378. Ffreq Tush
  19379. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(55)})),
  19380. Fdl: *(*struct {
  19381. Flen1 [0]Tush
  19382. Fdad Tush
  19383. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19384. },
  19385. 217: {
  19386. Ffc: *(*struct {
  19387. Fcode [0]Tush
  19388. Ffreq Tush
  19389. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(311)})),
  19390. Fdl: *(*struct {
  19391. Flen1 [0]Tush
  19392. Fdad Tush
  19393. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19394. },
  19395. 218: {
  19396. Ffc: *(*struct {
  19397. Fcode [0]Tush
  19398. Ffreq Tush
  19399. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(183)})),
  19400. Fdl: *(*struct {
  19401. Flen1 [0]Tush
  19402. Fdad Tush
  19403. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19404. },
  19405. 219: {
  19406. Ffc: *(*struct {
  19407. Fcode [0]Tush
  19408. Ffreq Tush
  19409. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(439)})),
  19410. Fdl: *(*struct {
  19411. Flen1 [0]Tush
  19412. Fdad Tush
  19413. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19414. },
  19415. 220: {
  19416. Ffc: *(*struct {
  19417. Fcode [0]Tush
  19418. Ffreq Tush
  19419. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(119)})),
  19420. Fdl: *(*struct {
  19421. Flen1 [0]Tush
  19422. Fdad Tush
  19423. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19424. },
  19425. 221: {
  19426. Ffc: *(*struct {
  19427. Fcode [0]Tush
  19428. Ffreq Tush
  19429. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(375)})),
  19430. Fdl: *(*struct {
  19431. Flen1 [0]Tush
  19432. Fdad Tush
  19433. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19434. },
  19435. 222: {
  19436. Ffc: *(*struct {
  19437. Fcode [0]Tush
  19438. Ffreq Tush
  19439. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(247)})),
  19440. Fdl: *(*struct {
  19441. Flen1 [0]Tush
  19442. Fdad Tush
  19443. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19444. },
  19445. 223: {
  19446. Ffc: *(*struct {
  19447. Fcode [0]Tush
  19448. Ffreq Tush
  19449. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(503)})),
  19450. Fdl: *(*struct {
  19451. Flen1 [0]Tush
  19452. Fdad Tush
  19453. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19454. },
  19455. 224: {
  19456. Ffc: *(*struct {
  19457. Fcode [0]Tush
  19458. Ffreq Tush
  19459. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(15)})),
  19460. Fdl: *(*struct {
  19461. Flen1 [0]Tush
  19462. Fdad Tush
  19463. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19464. },
  19465. 225: {
  19466. Ffc: *(*struct {
  19467. Fcode [0]Tush
  19468. Ffreq Tush
  19469. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(271)})),
  19470. Fdl: *(*struct {
  19471. Flen1 [0]Tush
  19472. Fdad Tush
  19473. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19474. },
  19475. 226: {
  19476. Ffc: *(*struct {
  19477. Fcode [0]Tush
  19478. Ffreq Tush
  19479. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(143)})),
  19480. Fdl: *(*struct {
  19481. Flen1 [0]Tush
  19482. Fdad Tush
  19483. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19484. },
  19485. 227: {
  19486. Ffc: *(*struct {
  19487. Fcode [0]Tush
  19488. Ffreq Tush
  19489. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(399)})),
  19490. Fdl: *(*struct {
  19491. Flen1 [0]Tush
  19492. Fdad Tush
  19493. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19494. },
  19495. 228: {
  19496. Ffc: *(*struct {
  19497. Fcode [0]Tush
  19498. Ffreq Tush
  19499. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(79)})),
  19500. Fdl: *(*struct {
  19501. Flen1 [0]Tush
  19502. Fdad Tush
  19503. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19504. },
  19505. 229: {
  19506. Ffc: *(*struct {
  19507. Fcode [0]Tush
  19508. Ffreq Tush
  19509. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(335)})),
  19510. Fdl: *(*struct {
  19511. Flen1 [0]Tush
  19512. Fdad Tush
  19513. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19514. },
  19515. 230: {
  19516. Ffc: *(*struct {
  19517. Fcode [0]Tush
  19518. Ffreq Tush
  19519. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(207)})),
  19520. Fdl: *(*struct {
  19521. Flen1 [0]Tush
  19522. Fdad Tush
  19523. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19524. },
  19525. 231: {
  19526. Ffc: *(*struct {
  19527. Fcode [0]Tush
  19528. Ffreq Tush
  19529. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(463)})),
  19530. Fdl: *(*struct {
  19531. Flen1 [0]Tush
  19532. Fdad Tush
  19533. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19534. },
  19535. 232: {
  19536. Ffc: *(*struct {
  19537. Fcode [0]Tush
  19538. Ffreq Tush
  19539. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(47)})),
  19540. Fdl: *(*struct {
  19541. Flen1 [0]Tush
  19542. Fdad Tush
  19543. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19544. },
  19545. 233: {
  19546. Ffc: *(*struct {
  19547. Fcode [0]Tush
  19548. Ffreq Tush
  19549. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(303)})),
  19550. Fdl: *(*struct {
  19551. Flen1 [0]Tush
  19552. Fdad Tush
  19553. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19554. },
  19555. 234: {
  19556. Ffc: *(*struct {
  19557. Fcode [0]Tush
  19558. Ffreq Tush
  19559. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(175)})),
  19560. Fdl: *(*struct {
  19561. Flen1 [0]Tush
  19562. Fdad Tush
  19563. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19564. },
  19565. 235: {
  19566. Ffc: *(*struct {
  19567. Fcode [0]Tush
  19568. Ffreq Tush
  19569. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(431)})),
  19570. Fdl: *(*struct {
  19571. Flen1 [0]Tush
  19572. Fdad Tush
  19573. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19574. },
  19575. 236: {
  19576. Ffc: *(*struct {
  19577. Fcode [0]Tush
  19578. Ffreq Tush
  19579. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(111)})),
  19580. Fdl: *(*struct {
  19581. Flen1 [0]Tush
  19582. Fdad Tush
  19583. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19584. },
  19585. 237: {
  19586. Ffc: *(*struct {
  19587. Fcode [0]Tush
  19588. Ffreq Tush
  19589. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(367)})),
  19590. Fdl: *(*struct {
  19591. Flen1 [0]Tush
  19592. Fdad Tush
  19593. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19594. },
  19595. 238: {
  19596. Ffc: *(*struct {
  19597. Fcode [0]Tush
  19598. Ffreq Tush
  19599. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(239)})),
  19600. Fdl: *(*struct {
  19601. Flen1 [0]Tush
  19602. Fdad Tush
  19603. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19604. },
  19605. 239: {
  19606. Ffc: *(*struct {
  19607. Fcode [0]Tush
  19608. Ffreq Tush
  19609. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(495)})),
  19610. Fdl: *(*struct {
  19611. Flen1 [0]Tush
  19612. Fdad Tush
  19613. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19614. },
  19615. 240: {
  19616. Ffc: *(*struct {
  19617. Fcode [0]Tush
  19618. Ffreq Tush
  19619. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(31)})),
  19620. Fdl: *(*struct {
  19621. Flen1 [0]Tush
  19622. Fdad Tush
  19623. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19624. },
  19625. 241: {
  19626. Ffc: *(*struct {
  19627. Fcode [0]Tush
  19628. Ffreq Tush
  19629. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(287)})),
  19630. Fdl: *(*struct {
  19631. Flen1 [0]Tush
  19632. Fdad Tush
  19633. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19634. },
  19635. 242: {
  19636. Ffc: *(*struct {
  19637. Fcode [0]Tush
  19638. Ffreq Tush
  19639. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(159)})),
  19640. Fdl: *(*struct {
  19641. Flen1 [0]Tush
  19642. Fdad Tush
  19643. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19644. },
  19645. 243: {
  19646. Ffc: *(*struct {
  19647. Fcode [0]Tush
  19648. Ffreq Tush
  19649. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(415)})),
  19650. Fdl: *(*struct {
  19651. Flen1 [0]Tush
  19652. Fdad Tush
  19653. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19654. },
  19655. 244: {
  19656. Ffc: *(*struct {
  19657. Fcode [0]Tush
  19658. Ffreq Tush
  19659. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(95)})),
  19660. Fdl: *(*struct {
  19661. Flen1 [0]Tush
  19662. Fdad Tush
  19663. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19664. },
  19665. 245: {
  19666. Ffc: *(*struct {
  19667. Fcode [0]Tush
  19668. Ffreq Tush
  19669. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(351)})),
  19670. Fdl: *(*struct {
  19671. Flen1 [0]Tush
  19672. Fdad Tush
  19673. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19674. },
  19675. 246: {
  19676. Ffc: *(*struct {
  19677. Fcode [0]Tush
  19678. Ffreq Tush
  19679. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(223)})),
  19680. Fdl: *(*struct {
  19681. Flen1 [0]Tush
  19682. Fdad Tush
  19683. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19684. },
  19685. 247: {
  19686. Ffc: *(*struct {
  19687. Fcode [0]Tush
  19688. Ffreq Tush
  19689. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(479)})),
  19690. Fdl: *(*struct {
  19691. Flen1 [0]Tush
  19692. Fdad Tush
  19693. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19694. },
  19695. 248: {
  19696. Ffc: *(*struct {
  19697. Fcode [0]Tush
  19698. Ffreq Tush
  19699. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(63)})),
  19700. Fdl: *(*struct {
  19701. Flen1 [0]Tush
  19702. Fdad Tush
  19703. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19704. },
  19705. 249: {
  19706. Ffc: *(*struct {
  19707. Fcode [0]Tush
  19708. Ffreq Tush
  19709. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(319)})),
  19710. Fdl: *(*struct {
  19711. Flen1 [0]Tush
  19712. Fdad Tush
  19713. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19714. },
  19715. 250: {
  19716. Ffc: *(*struct {
  19717. Fcode [0]Tush
  19718. Ffreq Tush
  19719. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(191)})),
  19720. Fdl: *(*struct {
  19721. Flen1 [0]Tush
  19722. Fdad Tush
  19723. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19724. },
  19725. 251: {
  19726. Ffc: *(*struct {
  19727. Fcode [0]Tush
  19728. Ffreq Tush
  19729. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(447)})),
  19730. Fdl: *(*struct {
  19731. Flen1 [0]Tush
  19732. Fdad Tush
  19733. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19734. },
  19735. 252: {
  19736. Ffc: *(*struct {
  19737. Fcode [0]Tush
  19738. Ffreq Tush
  19739. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(127)})),
  19740. Fdl: *(*struct {
  19741. Flen1 [0]Tush
  19742. Fdad Tush
  19743. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19744. },
  19745. 253: {
  19746. Ffc: *(*struct {
  19747. Fcode [0]Tush
  19748. Ffreq Tush
  19749. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(383)})),
  19750. Fdl: *(*struct {
  19751. Flen1 [0]Tush
  19752. Fdad Tush
  19753. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19754. },
  19755. 254: {
  19756. Ffc: *(*struct {
  19757. Fcode [0]Tush
  19758. Ffreq Tush
  19759. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(255)})),
  19760. Fdl: *(*struct {
  19761. Flen1 [0]Tush
  19762. Fdad Tush
  19763. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19764. },
  19765. 255: {
  19766. Ffc: *(*struct {
  19767. Fcode [0]Tush
  19768. Ffreq Tush
  19769. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(511)})),
  19770. Fdl: *(*struct {
  19771. Flen1 [0]Tush
  19772. Fdad Tush
  19773. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19774. },
  19775. 256: {
  19776. Fdl: *(*struct {
  19777. Flen1 [0]Tush
  19778. Fdad Tush
  19779. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19780. },
  19781. 257: {
  19782. Ffc: *(*struct {
  19783. Fcode [0]Tush
  19784. Ffreq Tush
  19785. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(64)})),
  19786. Fdl: *(*struct {
  19787. Flen1 [0]Tush
  19788. Fdad Tush
  19789. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19790. },
  19791. 258: {
  19792. Ffc: *(*struct {
  19793. Fcode [0]Tush
  19794. Ffreq Tush
  19795. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(32)})),
  19796. Fdl: *(*struct {
  19797. Flen1 [0]Tush
  19798. Fdad Tush
  19799. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19800. },
  19801. 259: {
  19802. Ffc: *(*struct {
  19803. Fcode [0]Tush
  19804. Ffreq Tush
  19805. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(96)})),
  19806. Fdl: *(*struct {
  19807. Flen1 [0]Tush
  19808. Fdad Tush
  19809. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19810. },
  19811. 260: {
  19812. Ffc: *(*struct {
  19813. Fcode [0]Tush
  19814. Ffreq Tush
  19815. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(16)})),
  19816. Fdl: *(*struct {
  19817. Flen1 [0]Tush
  19818. Fdad Tush
  19819. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19820. },
  19821. 261: {
  19822. Ffc: *(*struct {
  19823. Fcode [0]Tush
  19824. Ffreq Tush
  19825. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(80)})),
  19826. Fdl: *(*struct {
  19827. Flen1 [0]Tush
  19828. Fdad Tush
  19829. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19830. },
  19831. 262: {
  19832. Ffc: *(*struct {
  19833. Fcode [0]Tush
  19834. Ffreq Tush
  19835. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(48)})),
  19836. Fdl: *(*struct {
  19837. Flen1 [0]Tush
  19838. Fdad Tush
  19839. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19840. },
  19841. 263: {
  19842. Ffc: *(*struct {
  19843. Fcode [0]Tush
  19844. Ffreq Tush
  19845. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(112)})),
  19846. Fdl: *(*struct {
  19847. Flen1 [0]Tush
  19848. Fdad Tush
  19849. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19850. },
  19851. 264: {
  19852. Ffc: *(*struct {
  19853. Fcode [0]Tush
  19854. Ffreq Tush
  19855. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  19856. Fdl: *(*struct {
  19857. Flen1 [0]Tush
  19858. Fdad Tush
  19859. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19860. },
  19861. 265: {
  19862. Ffc: *(*struct {
  19863. Fcode [0]Tush
  19864. Ffreq Tush
  19865. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(72)})),
  19866. Fdl: *(*struct {
  19867. Flen1 [0]Tush
  19868. Fdad Tush
  19869. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19870. },
  19871. 266: {
  19872. Ffc: *(*struct {
  19873. Fcode [0]Tush
  19874. Ffreq Tush
  19875. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(40)})),
  19876. Fdl: *(*struct {
  19877. Flen1 [0]Tush
  19878. Fdad Tush
  19879. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19880. },
  19881. 267: {
  19882. Ffc: *(*struct {
  19883. Fcode [0]Tush
  19884. Ffreq Tush
  19885. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(104)})),
  19886. Fdl: *(*struct {
  19887. Flen1 [0]Tush
  19888. Fdad Tush
  19889. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19890. },
  19891. 268: {
  19892. Ffc: *(*struct {
  19893. Fcode [0]Tush
  19894. Ffreq Tush
  19895. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(24)})),
  19896. Fdl: *(*struct {
  19897. Flen1 [0]Tush
  19898. Fdad Tush
  19899. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19900. },
  19901. 269: {
  19902. Ffc: *(*struct {
  19903. Fcode [0]Tush
  19904. Ffreq Tush
  19905. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(88)})),
  19906. Fdl: *(*struct {
  19907. Flen1 [0]Tush
  19908. Fdad Tush
  19909. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19910. },
  19911. 270: {
  19912. Ffc: *(*struct {
  19913. Fcode [0]Tush
  19914. Ffreq Tush
  19915. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(56)})),
  19916. Fdl: *(*struct {
  19917. Flen1 [0]Tush
  19918. Fdad Tush
  19919. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19920. },
  19921. 271: {
  19922. Ffc: *(*struct {
  19923. Fcode [0]Tush
  19924. Ffreq Tush
  19925. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(120)})),
  19926. Fdl: *(*struct {
  19927. Flen1 [0]Tush
  19928. Fdad Tush
  19929. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19930. },
  19931. 272: {
  19932. Ffc: *(*struct {
  19933. Fcode [0]Tush
  19934. Ffreq Tush
  19935. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(4)})),
  19936. Fdl: *(*struct {
  19937. Flen1 [0]Tush
  19938. Fdad Tush
  19939. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19940. },
  19941. 273: {
  19942. Ffc: *(*struct {
  19943. Fcode [0]Tush
  19944. Ffreq Tush
  19945. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(68)})),
  19946. Fdl: *(*struct {
  19947. Flen1 [0]Tush
  19948. Fdad Tush
  19949. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19950. },
  19951. 274: {
  19952. Ffc: *(*struct {
  19953. Fcode [0]Tush
  19954. Ffreq Tush
  19955. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(36)})),
  19956. Fdl: *(*struct {
  19957. Flen1 [0]Tush
  19958. Fdad Tush
  19959. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19960. },
  19961. 275: {
  19962. Ffc: *(*struct {
  19963. Fcode [0]Tush
  19964. Ffreq Tush
  19965. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(100)})),
  19966. Fdl: *(*struct {
  19967. Flen1 [0]Tush
  19968. Fdad Tush
  19969. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19970. },
  19971. 276: {
  19972. Ffc: *(*struct {
  19973. Fcode [0]Tush
  19974. Ffreq Tush
  19975. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(20)})),
  19976. Fdl: *(*struct {
  19977. Flen1 [0]Tush
  19978. Fdad Tush
  19979. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19980. },
  19981. 277: {
  19982. Ffc: *(*struct {
  19983. Fcode [0]Tush
  19984. Ffreq Tush
  19985. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(84)})),
  19986. Fdl: *(*struct {
  19987. Flen1 [0]Tush
  19988. Fdad Tush
  19989. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19990. },
  19991. 278: {
  19992. Ffc: *(*struct {
  19993. Fcode [0]Tush
  19994. Ffreq Tush
  19995. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(52)})),
  19996. Fdl: *(*struct {
  19997. Flen1 [0]Tush
  19998. Fdad Tush
  19999. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20000. },
  20001. 279: {
  20002. Ffc: *(*struct {
  20003. Fcode [0]Tush
  20004. Ffreq Tush
  20005. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(116)})),
  20006. Fdl: *(*struct {
  20007. Flen1 [0]Tush
  20008. Fdad Tush
  20009. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20010. },
  20011. 280: {
  20012. Ffc: *(*struct {
  20013. Fcode [0]Tush
  20014. Ffreq Tush
  20015. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(3)})),
  20016. Fdl: *(*struct {
  20017. Flen1 [0]Tush
  20018. Fdad Tush
  20019. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20020. },
  20021. 281: {
  20022. Ffc: *(*struct {
  20023. Fcode [0]Tush
  20024. Ffreq Tush
  20025. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(131)})),
  20026. Fdl: *(*struct {
  20027. Flen1 [0]Tush
  20028. Fdad Tush
  20029. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20030. },
  20031. 282: {
  20032. Ffc: *(*struct {
  20033. Fcode [0]Tush
  20034. Ffreq Tush
  20035. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(67)})),
  20036. Fdl: *(*struct {
  20037. Flen1 [0]Tush
  20038. Fdad Tush
  20039. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20040. },
  20041. 283: {
  20042. Ffc: *(*struct {
  20043. Fcode [0]Tush
  20044. Ffreq Tush
  20045. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(195)})),
  20046. Fdl: *(*struct {
  20047. Flen1 [0]Tush
  20048. Fdad Tush
  20049. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20050. },
  20051. 284: {
  20052. Ffc: *(*struct {
  20053. Fcode [0]Tush
  20054. Ffreq Tush
  20055. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(35)})),
  20056. Fdl: *(*struct {
  20057. Flen1 [0]Tush
  20058. Fdad Tush
  20059. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20060. },
  20061. 285: {
  20062. Ffc: *(*struct {
  20063. Fcode [0]Tush
  20064. Ffreq Tush
  20065. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(163)})),
  20066. Fdl: *(*struct {
  20067. Flen1 [0]Tush
  20068. Fdad Tush
  20069. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20070. },
  20071. 286: {
  20072. Ffc: *(*struct {
  20073. Fcode [0]Tush
  20074. Ffreq Tush
  20075. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(99)})),
  20076. Fdl: *(*struct {
  20077. Flen1 [0]Tush
  20078. Fdad Tush
  20079. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20080. },
  20081. 287: {
  20082. Ffc: *(*struct {
  20083. Fcode [0]Tush
  20084. Ffreq Tush
  20085. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(227)})),
  20086. Fdl: *(*struct {
  20087. Flen1 [0]Tush
  20088. Fdad Tush
  20089. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20090. },
  20091. }
  20092. var _static_dtree = [30]Tct_data{
  20093. 0: {
  20094. Fdl: *(*struct {
  20095. Flen1 [0]Tush
  20096. Fdad Tush
  20097. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20098. },
  20099. 1: {
  20100. Ffc: *(*struct {
  20101. Fcode [0]Tush
  20102. Ffreq Tush
  20103. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(16)})),
  20104. Fdl: *(*struct {
  20105. Flen1 [0]Tush
  20106. Fdad Tush
  20107. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20108. },
  20109. 2: {
  20110. Ffc: *(*struct {
  20111. Fcode [0]Tush
  20112. Ffreq Tush
  20113. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20114. Fdl: *(*struct {
  20115. Flen1 [0]Tush
  20116. Fdad Tush
  20117. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20118. },
  20119. 3: {
  20120. Ffc: *(*struct {
  20121. Fcode [0]Tush
  20122. Ffreq Tush
  20123. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(24)})),
  20124. Fdl: *(*struct {
  20125. Flen1 [0]Tush
  20126. Fdad Tush
  20127. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20128. },
  20129. 4: {
  20130. Ffc: *(*struct {
  20131. Fcode [0]Tush
  20132. Ffreq Tush
  20133. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(4)})),
  20134. Fdl: *(*struct {
  20135. Flen1 [0]Tush
  20136. Fdad Tush
  20137. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20138. },
  20139. 5: {
  20140. Ffc: *(*struct {
  20141. Fcode [0]Tush
  20142. Ffreq Tush
  20143. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(20)})),
  20144. Fdl: *(*struct {
  20145. Flen1 [0]Tush
  20146. Fdad Tush
  20147. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20148. },
  20149. 6: {
  20150. Ffc: *(*struct {
  20151. Fcode [0]Tush
  20152. Ffreq Tush
  20153. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(12)})),
  20154. Fdl: *(*struct {
  20155. Flen1 [0]Tush
  20156. Fdad Tush
  20157. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20158. },
  20159. 7: {
  20160. Ffc: *(*struct {
  20161. Fcode [0]Tush
  20162. Ffreq Tush
  20163. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(28)})),
  20164. Fdl: *(*struct {
  20165. Flen1 [0]Tush
  20166. Fdad Tush
  20167. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20168. },
  20169. 8: {
  20170. Ffc: *(*struct {
  20171. Fcode [0]Tush
  20172. Ffreq Tush
  20173. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(2)})),
  20174. Fdl: *(*struct {
  20175. Flen1 [0]Tush
  20176. Fdad Tush
  20177. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20178. },
  20179. 9: {
  20180. Ffc: *(*struct {
  20181. Fcode [0]Tush
  20182. Ffreq Tush
  20183. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(18)})),
  20184. Fdl: *(*struct {
  20185. Flen1 [0]Tush
  20186. Fdad Tush
  20187. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20188. },
  20189. 10: {
  20190. Ffc: *(*struct {
  20191. Fcode [0]Tush
  20192. Ffreq Tush
  20193. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(10)})),
  20194. Fdl: *(*struct {
  20195. Flen1 [0]Tush
  20196. Fdad Tush
  20197. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20198. },
  20199. 11: {
  20200. Ffc: *(*struct {
  20201. Fcode [0]Tush
  20202. Ffreq Tush
  20203. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(26)})),
  20204. Fdl: *(*struct {
  20205. Flen1 [0]Tush
  20206. Fdad Tush
  20207. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20208. },
  20209. 12: {
  20210. Ffc: *(*struct {
  20211. Fcode [0]Tush
  20212. Ffreq Tush
  20213. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(6)})),
  20214. Fdl: *(*struct {
  20215. Flen1 [0]Tush
  20216. Fdad Tush
  20217. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20218. },
  20219. 13: {
  20220. Ffc: *(*struct {
  20221. Fcode [0]Tush
  20222. Ffreq Tush
  20223. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(22)})),
  20224. Fdl: *(*struct {
  20225. Flen1 [0]Tush
  20226. Fdad Tush
  20227. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20228. },
  20229. 14: {
  20230. Ffc: *(*struct {
  20231. Fcode [0]Tush
  20232. Ffreq Tush
  20233. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(14)})),
  20234. Fdl: *(*struct {
  20235. Flen1 [0]Tush
  20236. Fdad Tush
  20237. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20238. },
  20239. 15: {
  20240. Ffc: *(*struct {
  20241. Fcode [0]Tush
  20242. Ffreq Tush
  20243. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(30)})),
  20244. Fdl: *(*struct {
  20245. Flen1 [0]Tush
  20246. Fdad Tush
  20247. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20248. },
  20249. 16: {
  20250. Ffc: *(*struct {
  20251. Fcode [0]Tush
  20252. Ffreq Tush
  20253. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(1)})),
  20254. Fdl: *(*struct {
  20255. Flen1 [0]Tush
  20256. Fdad Tush
  20257. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20258. },
  20259. 17: {
  20260. Ffc: *(*struct {
  20261. Fcode [0]Tush
  20262. Ffreq Tush
  20263. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(17)})),
  20264. Fdl: *(*struct {
  20265. Flen1 [0]Tush
  20266. Fdad Tush
  20267. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20268. },
  20269. 18: {
  20270. Ffc: *(*struct {
  20271. Fcode [0]Tush
  20272. Ffreq Tush
  20273. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20274. Fdl: *(*struct {
  20275. Flen1 [0]Tush
  20276. Fdad Tush
  20277. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20278. },
  20279. 19: {
  20280. Ffc: *(*struct {
  20281. Fcode [0]Tush
  20282. Ffreq Tush
  20283. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(25)})),
  20284. Fdl: *(*struct {
  20285. Flen1 [0]Tush
  20286. Fdad Tush
  20287. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20288. },
  20289. 20: {
  20290. Ffc: *(*struct {
  20291. Fcode [0]Tush
  20292. Ffreq Tush
  20293. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20294. Fdl: *(*struct {
  20295. Flen1 [0]Tush
  20296. Fdad Tush
  20297. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20298. },
  20299. 21: {
  20300. Ffc: *(*struct {
  20301. Fcode [0]Tush
  20302. Ffreq Tush
  20303. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(21)})),
  20304. Fdl: *(*struct {
  20305. Flen1 [0]Tush
  20306. Fdad Tush
  20307. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20308. },
  20309. 22: {
  20310. Ffc: *(*struct {
  20311. Fcode [0]Tush
  20312. Ffreq Tush
  20313. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(13)})),
  20314. Fdl: *(*struct {
  20315. Flen1 [0]Tush
  20316. Fdad Tush
  20317. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20318. },
  20319. 23: {
  20320. Ffc: *(*struct {
  20321. Fcode [0]Tush
  20322. Ffreq Tush
  20323. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(29)})),
  20324. Fdl: *(*struct {
  20325. Flen1 [0]Tush
  20326. Fdad Tush
  20327. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20328. },
  20329. 24: {
  20330. Ffc: *(*struct {
  20331. Fcode [0]Tush
  20332. Ffreq Tush
  20333. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(3)})),
  20334. Fdl: *(*struct {
  20335. Flen1 [0]Tush
  20336. Fdad Tush
  20337. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20338. },
  20339. 25: {
  20340. Ffc: *(*struct {
  20341. Fcode [0]Tush
  20342. Ffreq Tush
  20343. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(19)})),
  20344. Fdl: *(*struct {
  20345. Flen1 [0]Tush
  20346. Fdad Tush
  20347. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20348. },
  20349. 26: {
  20350. Ffc: *(*struct {
  20351. Fcode [0]Tush
  20352. Ffreq Tush
  20353. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(11)})),
  20354. Fdl: *(*struct {
  20355. Flen1 [0]Tush
  20356. Fdad Tush
  20357. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20358. },
  20359. 27: {
  20360. Ffc: *(*struct {
  20361. Fcode [0]Tush
  20362. Ffreq Tush
  20363. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(27)})),
  20364. Fdl: *(*struct {
  20365. Flen1 [0]Tush
  20366. Fdad Tush
  20367. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20368. },
  20369. 28: {
  20370. Ffc: *(*struct {
  20371. Fcode [0]Tush
  20372. Ffreq Tush
  20373. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20374. Fdl: *(*struct {
  20375. Flen1 [0]Tush
  20376. Fdad Tush
  20377. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20378. },
  20379. 29: {
  20380. Ffc: *(*struct {
  20381. Fcode [0]Tush
  20382. Ffreq Tush
  20383. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(23)})),
  20384. Fdl: *(*struct {
  20385. Flen1 [0]Tush
  20386. Fdad Tush
  20387. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20388. },
  20389. }
  20390. var _base_length = [29]int32{
  20391. 1: int32(1),
  20392. 2: int32(2),
  20393. 3: int32(3),
  20394. 4: int32(4),
  20395. 5: int32(5),
  20396. 6: int32(6),
  20397. 7: int32(7),
  20398. 8: int32(8),
  20399. 9: int32(10),
  20400. 10: int32(12),
  20401. 11: int32(14),
  20402. 12: int32(16),
  20403. 13: int32(20),
  20404. 14: int32(24),
  20405. 15: int32(28),
  20406. 16: int32(32),
  20407. 17: int32(40),
  20408. 18: int32(48),
  20409. 19: int32(56),
  20410. 20: int32(64),
  20411. 21: int32(80),
  20412. 22: int32(96),
  20413. 23: int32(112),
  20414. 24: int32(128),
  20415. 25: int32(160),
  20416. 26: int32(192),
  20417. 27: int32(224),
  20418. }
  20419. var _base_dist = [30]int32{
  20420. 1: int32(1),
  20421. 2: int32(2),
  20422. 3: int32(3),
  20423. 4: int32(4),
  20424. 5: int32(6),
  20425. 6: int32(8),
  20426. 7: int32(12),
  20427. 8: int32(16),
  20428. 9: int32(24),
  20429. 10: int32(32),
  20430. 11: int32(48),
  20431. 12: int32(64),
  20432. 13: int32(96),
  20433. 14: int32(128),
  20434. 15: int32(192),
  20435. 16: int32(256),
  20436. 17: int32(384),
  20437. 18: int32(512),
  20438. 19: int32(768),
  20439. 20: int32(1024),
  20440. 21: int32(1536),
  20441. 22: int32(2048),
  20442. 23: int32(3072),
  20443. 24: int32(4096),
  20444. 25: int32(6144),
  20445. 26: int32(8192),
  20446. 27: int32(12288),
  20447. 28: int32(16384),
  20448. 29: int32(24576),
  20449. }
  20450. var _static_l_desc = Tstatic_tree_desc{
  20451. Fstatic_tree: uintptr(unsafe.Pointer(&_static_ltree)),
  20452. Fextra_bits: uintptr(unsafe.Pointer(&_extra_lbits)),
  20453. Fextra_base: libc.Int32FromInt32(m_LITERALS) + libc.Int32FromInt32(1),
  20454. Felems: libc.Int32FromInt32(m_LITERALS) + libc.Int32FromInt32(1) + libc.Int32FromInt32(m_LENGTH_CODES),
  20455. Fmax_length: int32(m_MAX_BITS),
  20456. }
  20457. var _static_d_desc = Tstatic_tree_desc{
  20458. Fstatic_tree: uintptr(unsafe.Pointer(&_static_dtree)),
  20459. Fextra_bits: uintptr(unsafe.Pointer(&_extra_dbits)),
  20460. Felems: int32(m_D_CODES),
  20461. Fmax_length: int32(m_MAX_BITS),
  20462. }
  20463. var _static_bl_desc = Tstatic_tree_desc{
  20464. Fextra_bits: uintptr(unsafe.Pointer(&_extra_blbits)),
  20465. Felems: int32(m_BL_CODES),
  20466. Fmax_length: int32(m_MAX_BL_BITS),
  20467. }
  20468. /* ===========================================================================
  20469. * Output a short LSB first on the stream.
  20470. * IN assertion: there is enough room in pendingBuf.
  20471. */
  20472. // C documentation
  20473. //
  20474. // /* ===========================================================================
  20475. // * Reverse the first len bits of a code, using straightforward code (a faster
  20476. // * method would use a table)
  20477. // * IN assertion: 1 <= len <= 15
  20478. // */
  20479. func _bi_reverse(tls *libc.TLS, code uint32, len1 int32) (r uint32) {
  20480. var res uint32
  20481. var v1 int32
  20482. _, _ = res, v1
  20483. res = uint32(0)
  20484. for {
  20485. res |= code & uint32(1)
  20486. code >>= uint32(1)
  20487. res <<= uint32(1)
  20488. goto _2
  20489. _2:
  20490. ;
  20491. len1--
  20492. v1 = len1
  20493. if !(v1 > 0) {
  20494. break
  20495. }
  20496. }
  20497. return res >> int32(1)
  20498. }
  20499. // C documentation
  20500. //
  20501. // /* ===========================================================================
  20502. // * Flush the bit buffer, keeping at most 7 bits in it.
  20503. // */
  20504. func _bi_flush(tls *libc.TLS, s uintptr) {
  20505. var v1, v3, v5 Tulg
  20506. var v2, v4, v6, p7 uintptr
  20507. _, _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6, p7
  20508. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid == int32(16) {
  20509. v2 = s + 40
  20510. v1 = *(*Tulg)(unsafe.Pointer(v2))
  20511. *(*Tulg)(unsafe.Pointer(v2))++
  20512. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v1))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  20513. v4 = s + 40
  20514. v3 = *(*Tulg)(unsafe.Pointer(v4))
  20515. *(*Tulg)(unsafe.Pointer(v4))++
  20516. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v3))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  20517. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
  20518. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
  20519. } else {
  20520. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid >= int32(8) {
  20521. v6 = s + 40
  20522. v5 = *(*Tulg)(unsafe.Pointer(v6))
  20523. *(*Tulg)(unsafe.Pointer(v6))++
  20524. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf)
  20525. p7 = s + 5936
  20526. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) >> libc.Int32FromInt32(8))
  20527. *(*int32)(unsafe.Pointer(s + 5940)) -= int32(8)
  20528. }
  20529. }
  20530. }
  20531. // C documentation
  20532. //
  20533. // /* ===========================================================================
  20534. // * Flush the bit buffer and align the output on a byte boundary
  20535. // */
  20536. func _bi_windup(tls *libc.TLS, s uintptr) {
  20537. var v1, v3, v5 Tulg
  20538. var v2, v4, v6 uintptr
  20539. _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6
  20540. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > int32(8) {
  20541. v2 = s + 40
  20542. v1 = *(*Tulg)(unsafe.Pointer(v2))
  20543. *(*Tulg)(unsafe.Pointer(v2))++
  20544. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v1))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  20545. v4 = s + 40
  20546. v3 = *(*Tulg)(unsafe.Pointer(v4))
  20547. *(*Tulg)(unsafe.Pointer(v4))++
  20548. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v3))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  20549. } else {
  20550. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > 0 {
  20551. v6 = s + 40
  20552. v5 = *(*Tulg)(unsafe.Pointer(v6))
  20553. *(*Tulg)(unsafe.Pointer(v6))++
  20554. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf)
  20555. }
  20556. }
  20557. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
  20558. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
  20559. }
  20560. // C documentation
  20561. //
  20562. // /* ===========================================================================
  20563. // * Generate the codes for a given tree and bit counts (which need not be
  20564. // * optimal).
  20565. // * IN assertion: the array bl_count contains the bit length statistics for
  20566. // * the given tree and the field len is set for all tree elements.
  20567. // * OUT assertion: the field code is set for all tree elements of non
  20568. // * zero code length.
  20569. // */
  20570. func _gen_codes(tls *libc.TLS, tree uintptr, max_code int32, bl_count uintptr) {
  20571. bp := tls.Alloc(32)
  20572. defer tls.Free(32)
  20573. var bits, len1, n int32
  20574. var code uint32
  20575. var v3 Tush
  20576. var v4 uintptr
  20577. var _ /* next_code at bp+0 */ [16]Tush
  20578. _, _, _, _, _, _ = bits, code, len1, n, v3, v4 /* next code value for each bit length */
  20579. code = uint32(0) /* code index */
  20580. /* The distribution counts are first used to generate the code values
  20581. * without bit reversal.
  20582. */
  20583. bits = int32(1)
  20584. for {
  20585. if !(bits <= int32(m_MAX_BITS)) {
  20586. break
  20587. }
  20588. code = (code + uint32(*(*Tushf)(unsafe.Pointer(bl_count + uintptr(bits-int32(1))*2)))) << int32(1)
  20589. (*(*[16]Tush)(unsafe.Pointer(bp)))[bits] = uint16(code)
  20590. goto _1
  20591. _1:
  20592. ;
  20593. bits++
  20594. }
  20595. /* Check that the bit counts in bl_count are consistent. The last code
  20596. * must be all ones.
  20597. */
  20598. n = 0
  20599. for {
  20600. if !(n <= max_code) {
  20601. break
  20602. }
  20603. len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)))
  20604. if len1 == 0 {
  20605. goto _2
  20606. }
  20607. /* Now reverse the bits */
  20608. v4 = bp + uintptr(len1)*2
  20609. v3 = *(*Tush)(unsafe.Pointer(v4))
  20610. *(*Tush)(unsafe.Pointer(v4))++
  20611. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4)) = uint16(_bi_reverse(tls, uint32(v3), len1))
  20612. goto _2
  20613. _2:
  20614. ;
  20615. n++
  20616. }
  20617. }
  20618. /* Send a code of the given tree. c and tree must not have side effects */
  20619. /* ===========================================================================
  20620. * Send a value on a given number of bits.
  20621. * IN assertion: length <= 16 and value fits in length bits.
  20622. */
  20623. /* the arguments must not have side effects */
  20624. // C documentation
  20625. //
  20626. // /* ===========================================================================
  20627. // * Initialize the various 'constant' tables.
  20628. // */
  20629. func _tr_static_init(tls *libc.TLS) {
  20630. }
  20631. /* ===========================================================================
  20632. * Generate the file trees.h describing the static trees.
  20633. */
  20634. // C documentation
  20635. //
  20636. // /* ===========================================================================
  20637. // * Initialize a new block.
  20638. // */
  20639. func _init_block(tls *libc.TLS, s uintptr) {
  20640. var n int32
  20641. var v4 Tulg
  20642. var v5 TuInt
  20643. _, _, _ = n, v4, v5 /* iterates over tree elements */
  20644. /* Initialize the trees. */
  20645. n = 0
  20646. for {
  20647. if !(n < libc.Int32FromInt32(m_LITERALS)+libc.Int32FromInt32(1)+libc.Int32FromInt32(m_LENGTH_CODES)) {
  20648. break
  20649. }
  20650. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4)) = uint16(0)
  20651. goto _1
  20652. _1:
  20653. ;
  20654. n++
  20655. }
  20656. n = 0
  20657. for {
  20658. if !(n < int32(m_D_CODES)) {
  20659. break
  20660. }
  20661. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(n)*4)) = uint16(0)
  20662. goto _2
  20663. _2:
  20664. ;
  20665. n++
  20666. }
  20667. n = 0
  20668. for {
  20669. if !(n < int32(m_BL_CODES)) {
  20670. break
  20671. }
  20672. *(*Tush)(unsafe.Pointer(s + 2748 + uintptr(n)*4)) = uint16(0)
  20673. goto _3
  20674. _3:
  20675. ;
  20676. n++
  20677. }
  20678. *(*Tush)(unsafe.Pointer(s + 212 + 256*4)) = uint16(1)
  20679. v4 = libc.Uint64FromInt64(0)
  20680. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatic_len = v4
  20681. (*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len = v4
  20682. v5 = libc.Uint32FromInt32(0)
  20683. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = v5
  20684. (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next = v5
  20685. }
  20686. // C documentation
  20687. //
  20688. // /* ===========================================================================
  20689. // * Initialize the tree data structures for a new zlib stream.
  20690. // */
  20691. func x__tr_init(tls *libc.TLS, s uintptr) {
  20692. _tr_static_init(tls)
  20693. (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fdyn_tree = s + 212
  20694. (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_l_desc))
  20695. (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fdyn_tree = s + 2504
  20696. (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_d_desc))
  20697. (*Tdeflate_state)(unsafe.Pointer(s)).Fbl_desc.Fdyn_tree = s + 2748
  20698. (*Tdeflate_state)(unsafe.Pointer(s)).Fbl_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_bl_desc))
  20699. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
  20700. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
  20701. /* Initialize the first block of the first file: */
  20702. _init_block(tls, s)
  20703. }
  20704. /* Index within the heap array of least frequent node in the Huffman tree */
  20705. /* ===========================================================================
  20706. * Remove the smallest element from the heap and recreate the heap with
  20707. * one less element. Updates heap and heap_len.
  20708. */
  20709. /* ===========================================================================
  20710. * Compares to subtrees, using the tree depth as tie breaker when
  20711. * the subtrees have equal frequency. This minimizes the worst case length.
  20712. */
  20713. // C documentation
  20714. //
  20715. // /* ===========================================================================
  20716. // * Restore the heap property by moving down the tree starting at node k,
  20717. // * exchanging a node with the smallest of its two sons if necessary, stopping
  20718. // * when the heap property is re-established (each father smaller than its
  20719. // * two sons).
  20720. // */
  20721. func _pqdownheap(tls *libc.TLS, s uintptr, tree uintptr, k int32) {
  20722. var j, v int32
  20723. _, _ = j, v
  20724. v = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4))
  20725. j = k << int32(1) /* left son of k */
  20726. for j <= (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len {
  20727. /* Set j to the smallest of the two sons: */
  20728. if j < (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len && (libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j+int32(1))*4)))*4))) < libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) || libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j+int32(1))*4)))*4))) == libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) && libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j+int32(1))*4)))))) <= libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4))))))) {
  20729. j++
  20730. }
  20731. /* Exit if v is smaller than both sons */
  20732. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(v)*4))) < libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) || libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(v)*4))) == libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))*4))) && libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(v)))) <= libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4)))))) {
  20733. break
  20734. }
  20735. /* Exchange v with the smallest son */
  20736. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4)) = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4))
  20737. k = j
  20738. /* And continue down the tree, setting j to the left son of k */
  20739. j <<= int32(1)
  20740. }
  20741. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4)) = v
  20742. }
  20743. // C documentation
  20744. //
  20745. // /* ===========================================================================
  20746. // * Compute the optimal bit lengths for a tree and update the total bit length
  20747. // * for the current block.
  20748. // * IN assertion: the fields freq and dad are set, heap[heap_max] and
  20749. // * above are the tree nodes sorted by increasing frequency.
  20750. // * OUT assertions: the field len is set to the optimal bit length, the
  20751. // * array bl_count contains the frequencies for each bit length.
  20752. // * The length opt_len is updated; static_len is also updated if stree is
  20753. // * not null.
  20754. // */
  20755. func _gen_bitlen(tls *libc.TLS, s uintptr, desc uintptr) {
  20756. var base, bits, h, m, max_code, max_length, n, overflow, xbits, v5 int32
  20757. var extra, stree, tree, p3 uintptr
  20758. var f Tush
  20759. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, bits, extra, f, h, m, max_code, max_length, n, overflow, stree, tree, xbits, v5, p3
  20760. tree = (*Ttree_desc)(unsafe.Pointer(desc)).Fdyn_tree
  20761. max_code = (*Ttree_desc)(unsafe.Pointer(desc)).Fmax_code
  20762. stree = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fstatic_tree
  20763. extra = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fextra_bits
  20764. base = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fextra_base
  20765. max_length = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fmax_length /* frequency */
  20766. overflow = 0 /* number of elements with bit length too large */
  20767. bits = 0
  20768. for {
  20769. if !(bits <= int32(m_MAX_BITS)) {
  20770. break
  20771. }
  20772. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2)) = uint16(0)
  20773. goto _1
  20774. _1:
  20775. ;
  20776. bits++
  20777. }
  20778. /* In a first pass, compute the optimal bit lengths (which may
  20779. * overflow in the case of the bit length tree).
  20780. */
  20781. *(*Tush)(unsafe.Pointer(tree + uintptr(*(*int32)(unsafe.Pointer(s + 3008 + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fheap_max)*4)))*4 + 2)) = uint16(0) /* root of the heap */
  20782. h = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_max + int32(1)
  20783. for {
  20784. if !(h < libc.Int32FromInt32(2)*(libc.Int32FromInt32(m_LITERALS)+libc.Int32FromInt32(1)+libc.Int32FromInt32(m_LENGTH_CODES))+libc.Int32FromInt32(1)) {
  20785. break
  20786. }
  20787. n = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(h)*4))
  20788. bits = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)))*4 + 2))) + int32(1)
  20789. if bits > max_length {
  20790. bits = max_length
  20791. overflow++
  20792. }
  20793. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = libc.Uint16FromInt32(bits)
  20794. /* We overwrite tree[n].Dad which is no longer needed */
  20795. if n > max_code {
  20796. goto _2
  20797. } /* not a leaf node */
  20798. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))++
  20799. xbits = 0
  20800. if n >= base {
  20801. xbits = *(*Tintf)(unsafe.Pointer(extra + uintptr(n-base)*4))
  20802. }
  20803. f = *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4))
  20804. *(*Tulg)(unsafe.Pointer(s + 5912)) += uint64(f) * uint64(libc.Uint32FromInt32(bits+xbits))
  20805. if stree != 0 {
  20806. *(*Tulg)(unsafe.Pointer(s + 5920)) += uint64(f) * uint64(libc.Uint32FromInt32(libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(stree + uintptr(n)*4 + 2)))+xbits))
  20807. }
  20808. goto _2
  20809. _2:
  20810. ;
  20811. h++
  20812. }
  20813. if overflow == 0 {
  20814. return
  20815. }
  20816. /* This happens for example on obj2 and pic of the Calgary corpus */
  20817. /* Find the first bit length which could increase: */
  20818. for cond := true; cond; cond = overflow > 0 {
  20819. bits = max_length - int32(1)
  20820. for libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))) == 0 {
  20821. bits--
  20822. }
  20823. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))-- /* move one leaf down the tree */
  20824. p3 = s + 2976 + uintptr(bits+int32(1))*2
  20825. *(*Tush)(unsafe.Pointer(p3)) = Tush(int32(*(*Tush)(unsafe.Pointer(p3))) + libc.Int32FromInt32(2)) /* move one overflow item as its brother */
  20826. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(max_length)*2))--
  20827. /* The brother of the overflow item also moves one step up,
  20828. * but this does not affect bl_count[max_length]
  20829. */
  20830. overflow -= int32(2)
  20831. }
  20832. /* Now recompute all bit lengths, scanning in increasing frequency.
  20833. * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
  20834. * lengths instead of fixing only the wrong ones. This idea is taken
  20835. * from 'ar' written by Haruhiko Okumura.)
  20836. */
  20837. bits = max_length
  20838. for {
  20839. if !(bits != 0) {
  20840. break
  20841. }
  20842. n = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2)))
  20843. for n != 0 {
  20844. h--
  20845. v5 = h
  20846. m = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v5)*4))
  20847. if m > max_code {
  20848. continue
  20849. }
  20850. if uint32(*(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2))) != libc.Uint32FromInt32(bits) {
  20851. *(*Tulg)(unsafe.Pointer(s + 5912)) += (libc.Uint64FromInt32(bits) - uint64(*(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)))) * uint64(*(*Tush)(unsafe.Pointer(tree + uintptr(m)*4)))
  20852. *(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)) = libc.Uint16FromInt32(bits)
  20853. }
  20854. n--
  20855. }
  20856. goto _4
  20857. _4:
  20858. ;
  20859. bits--
  20860. }
  20861. }
  20862. // C documentation
  20863. //
  20864. // /* ===========================================================================
  20865. // * Construct one Huffman tree and assigns the code bit strings and lengths.
  20866. // * Update the total bit length for the current block.
  20867. // * IN assertion: the field freq is set for all tree elements.
  20868. // * OUT assertions: the fields len and code are set to the optimal bit length
  20869. // * and corresponding code. The length opt_len is updated; static_len is
  20870. // * also updated if stree is not null. The field max_code is set.
  20871. // */
  20872. func _build_tree(tls *libc.TLS, s uintptr, desc uintptr) {
  20873. var elems, m, max_code, n, node, v11, v13, v15, v17, v19, v2, v20, v4, v5, v6, v7, v8 int32
  20874. var stree, tree, v12, v14, v16, v21, v3, v9 uintptr
  20875. var v18 Tush
  20876. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = elems, m, max_code, n, node, stree, tree, v11, v12, v13, v14, v15, v16, v17, v18, v19, v2, v20, v21, v3, v4, v5, v6, v7, v8, v9
  20877. tree = (*Ttree_desc)(unsafe.Pointer(desc)).Fdyn_tree
  20878. stree = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fstatic_tree
  20879. elems = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Felems /* iterate over heap elements */
  20880. max_code = -int32(1) /* new node being created */
  20881. /* Construct the initial heap, with least frequent element in
  20882. * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n + 1].
  20883. * heap[0] is not used.
  20884. */
  20885. (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len = 0 /* new node being created */
  20886. /* Construct the initial heap, with least frequent element in
  20887. * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n + 1].
  20888. * heap[0] is not used.
  20889. */
  20890. (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_max = libc.Int32FromInt32(2)*(libc.Int32FromInt32(m_LITERALS)+libc.Int32FromInt32(1)+libc.Int32FromInt32(m_LENGTH_CODES)) + libc.Int32FromInt32(1)
  20891. n = 0
  20892. for {
  20893. if !(n < elems) {
  20894. break
  20895. }
  20896. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4))) != 0 {
  20897. v3 = s + 5300
  20898. *(*int32)(unsafe.Pointer(v3))++
  20899. v2 = *(*int32)(unsafe.Pointer(v3))
  20900. v4 = n
  20901. max_code = v4
  20902. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v2)*4)) = v4
  20903. *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n))) = uint8(0)
  20904. } else {
  20905. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = uint16(0)
  20906. }
  20907. goto _1
  20908. _1:
  20909. ;
  20910. n++
  20911. }
  20912. /* The pkzip format requires that at least one distance code exists,
  20913. * and that at least one bit should be sent even if there is only one
  20914. * possible code. So to avoid special checks later on we force at least
  20915. * two codes of non zero frequency.
  20916. */
  20917. for (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len < int32(2) {
  20918. if max_code < int32(2) {
  20919. max_code++
  20920. v7 = max_code
  20921. v6 = v7
  20922. } else {
  20923. v6 = 0
  20924. }
  20925. v5 = v6
  20926. v9 = s + 5300
  20927. *(*int32)(unsafe.Pointer(v9))++
  20928. v8 = *(*int32)(unsafe.Pointer(v9))
  20929. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v8)*4)) = v5
  20930. node = v5
  20931. *(*Tush)(unsafe.Pointer(tree + uintptr(node)*4)) = uint16(1)
  20932. *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(node))) = uint8(0)
  20933. (*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len--
  20934. if stree != 0 {
  20935. *(*Tulg)(unsafe.Pointer(s + 5920)) -= uint64(*(*Tush)(unsafe.Pointer(stree + uintptr(node)*4 + 2)))
  20936. }
  20937. /* node is 0 or 1 so it does not have extra bits */
  20938. }
  20939. (*Ttree_desc)(unsafe.Pointer(desc)).Fmax_code = max_code
  20940. /* The elements heap[heap_len/2 + 1 .. heap_len] are leaves of the tree,
  20941. * establish sub-heaps of increasing lengths:
  20942. */
  20943. n = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len / int32(2)
  20944. for {
  20945. if !(n >= int32(1)) {
  20946. break
  20947. }
  20948. _pqdownheap(tls, s, tree, n)
  20949. goto _10
  20950. _10:
  20951. ;
  20952. n--
  20953. }
  20954. /* Construct the Huffman tree by repeatedly combining the least two
  20955. * frequent nodes.
  20956. */
  20957. node = elems /* next internal node of the tree */
  20958. for cond := true; cond; cond = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len >= int32(2) {
  20959. n = *(*int32)(unsafe.Pointer(s + 3008 + 1*4))
  20960. v12 = s + 5300
  20961. v11 = *(*int32)(unsafe.Pointer(v12))
  20962. *(*int32)(unsafe.Pointer(v12))--
  20963. *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v11)*4))
  20964. _pqdownheap(tls, s, tree, int32(m_SMALLEST)) /* n = node of least frequency */
  20965. m = *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) /* m = node of next least frequency */
  20966. v14 = s + 5304
  20967. *(*int32)(unsafe.Pointer(v14))--
  20968. v13 = *(*int32)(unsafe.Pointer(v14))
  20969. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v13)*4)) = n /* keep the nodes sorted by frequency */
  20970. v16 = s + 5304
  20971. *(*int32)(unsafe.Pointer(v16))--
  20972. v15 = *(*int32)(unsafe.Pointer(v16))
  20973. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v15)*4)) = m
  20974. /* Create a new node father of n and m */
  20975. *(*Tush)(unsafe.Pointer(tree + uintptr(node)*4)) = libc.Uint16FromInt32(libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4))) + libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(m)*4))))
  20976. if libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n)))) >= libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(m)))) {
  20977. v17 = libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n))))
  20978. } else {
  20979. v17 = libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(m))))
  20980. }
  20981. *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(node))) = libc.Uint8FromInt32(v17 + libc.Int32FromInt32(1))
  20982. v18 = libc.Uint16FromInt32(node)
  20983. *(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)) = v18
  20984. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = v18
  20985. /* and insert the new node in the heap */
  20986. v19 = node
  20987. node++
  20988. *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) = v19
  20989. _pqdownheap(tls, s, tree, int32(m_SMALLEST))
  20990. }
  20991. v21 = s + 5304
  20992. *(*int32)(unsafe.Pointer(v21))--
  20993. v20 = *(*int32)(unsafe.Pointer(v21))
  20994. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v20)*4)) = *(*int32)(unsafe.Pointer(s + 3008 + 1*4))
  20995. /* At this point, the fields freq and dad are set. We can now
  20996. * generate the bit lengths.
  20997. */
  20998. _gen_bitlen(tls, s, desc)
  20999. /* The field len is now set, we can generate the bit codes */
  21000. _gen_codes(tls, tree, max_code, s+2976)
  21001. }
  21002. // C documentation
  21003. //
  21004. // /* ===========================================================================
  21005. // * Scan a literal or distance tree to determine the frequencies of the codes
  21006. // * in the bit length tree.
  21007. // */
  21008. func _scan_tree(tls *libc.TLS, s uintptr, tree uintptr, max_code int32) {
  21009. var count, curlen, max_count, min_count, n, nextlen, prevlen, v2 int32
  21010. var p3 uintptr
  21011. _, _, _, _, _, _, _, _, _ = count, curlen, max_count, min_count, n, nextlen, prevlen, v2, p3 /* iterates over all tree elements */
  21012. prevlen = -int32(1) /* length of current code */
  21013. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + 2))) /* length of next code */
  21014. count = 0 /* repeat count of the current code */
  21015. max_count = int32(7) /* max repeat count */
  21016. min_count = int32(4) /* min repeat count */
  21017. if nextlen == 0 {
  21018. max_count = int32(138)
  21019. min_count = libc.Int32FromInt32(3)
  21020. }
  21021. *(*Tush)(unsafe.Pointer(tree + uintptr(max_code+int32(1))*4 + 2)) = libc.Uint16FromInt32(0xffff) /* guard */
  21022. n = 0
  21023. for {
  21024. if !(n <= max_code) {
  21025. break
  21026. }
  21027. curlen = nextlen
  21028. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n+int32(1))*4 + 2)))
  21029. count++
  21030. v2 = count
  21031. if v2 < max_count && curlen == nextlen {
  21032. goto _1
  21033. } else {
  21034. if count < min_count {
  21035. p3 = s + 2748 + uintptr(curlen)*4
  21036. *(*Tush)(unsafe.Pointer(p3)) = Tush(int32(*(*Tush)(unsafe.Pointer(p3))) + count)
  21037. } else {
  21038. if curlen != 0 {
  21039. if curlen != prevlen {
  21040. *(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4))++
  21041. }
  21042. *(*Tush)(unsafe.Pointer(s + 2748 + 16*4))++
  21043. } else {
  21044. if count <= int32(10) {
  21045. *(*Tush)(unsafe.Pointer(s + 2748 + 17*4))++
  21046. } else {
  21047. *(*Tush)(unsafe.Pointer(s + 2748 + 18*4))++
  21048. }
  21049. }
  21050. }
  21051. }
  21052. count = 0
  21053. prevlen = curlen
  21054. if nextlen == 0 {
  21055. max_count = int32(138)
  21056. min_count = libc.Int32FromInt32(3)
  21057. } else {
  21058. if curlen == nextlen {
  21059. max_count = int32(6)
  21060. min_count = libc.Int32FromInt32(3)
  21061. } else {
  21062. max_count = int32(7)
  21063. min_count = libc.Int32FromInt32(4)
  21064. }
  21065. }
  21066. goto _1
  21067. _1:
  21068. ;
  21069. n++
  21070. }
  21071. }
  21072. // C documentation
  21073. //
  21074. // /* ===========================================================================
  21075. // * Send a literal or distance tree in compressed form, using the codes in
  21076. // * bl_tree.
  21077. // */
  21078. func _send_tree(tls *libc.TLS, s uintptr, tree uintptr, max_code int32) {
  21079. var count, curlen, len1, len11, len2, len3, len4, len5, len6, len7, max_count, min_count, n, nextlen, prevlen, val, val1, val2, val3, val4, val5, val6, val7, v2, v3 int32
  21080. var v12, v14, v18, v20, v24, v26, v30, v32, v36, v38, v42, v44, v48, v50, v6, v8 Tulg
  21081. var v13, v15, v19, v21, v25, v27, v31, v33, v37, v39, v43, v45, v49, v51, v7, v9, p10, p11, p16, p17, p22, p23, p28, p29, p34, p35, p40, p41, p46, p47, p5, p52 uintptr
  21082. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = count, curlen, len1, len11, len2, len3, len4, len5, len6, len7, max_count, min_count, n, nextlen, prevlen, val, val1, val2, val3, val4, val5, val6, val7, v12, v13, v14, v15, v18, v19, v2, v20, v21, v24, v25, v26, v27, v3, v30, v31, v32, v33, v36, v37, v38, v39, v42, v43, v44, v45, v48, v49, v50, v51, v6, v7, v8, v9, p10, p11, p16, p17, p22, p23, p28, p29, p34, p35, p40, p41, p46, p47, p5, p52 /* iterates over all tree elements */
  21083. prevlen = -int32(1) /* length of current code */
  21084. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + 2))) /* length of next code */
  21085. count = 0 /* repeat count of the current code */
  21086. max_count = int32(7) /* max repeat count */
  21087. min_count = int32(4) /* min repeat count */
  21088. /* tree[max_code + 1].Len = -1; */ /* guard already set */
  21089. if nextlen == 0 {
  21090. max_count = int32(138)
  21091. min_count = libc.Int32FromInt32(3)
  21092. }
  21093. n = 0
  21094. for {
  21095. if !(n <= max_code) {
  21096. break
  21097. }
  21098. curlen = nextlen
  21099. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n+int32(1))*4 + 2)))
  21100. count++
  21101. v2 = count
  21102. if v2 < max_count && curlen == nextlen {
  21103. goto _1
  21104. } else {
  21105. if count < min_count {
  21106. for {
  21107. len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4 + 2)))
  21108. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21109. val = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))
  21110. p5 = s + 5936
  21111. *(*Tush)(unsafe.Pointer(p5)) = Tush(int32(*(*Tush)(unsafe.Pointer(p5))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21112. v7 = s + 40
  21113. v6 = *(*Tulg)(unsafe.Pointer(v7))
  21114. *(*Tulg)(unsafe.Pointer(v7))++
  21115. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v6))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21116. v9 = s + 40
  21117. v8 = *(*Tulg)(unsafe.Pointer(v9))
  21118. *(*Tulg)(unsafe.Pointer(v9))++
  21119. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v8))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21120. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21121. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21122. } else {
  21123. p10 = s + 5936
  21124. *(*Tush)(unsafe.Pointer(p10)) = Tush(int32(*(*Tush)(unsafe.Pointer(p10))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21125. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21126. }
  21127. goto _4
  21128. _4:
  21129. ;
  21130. count--
  21131. v3 = count
  21132. if !(v3 != 0) {
  21133. break
  21134. }
  21135. }
  21136. } else {
  21137. if curlen != 0 {
  21138. if curlen != prevlen {
  21139. len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4 + 2)))
  21140. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  21141. val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))
  21142. p11 = s + 5936
  21143. *(*Tush)(unsafe.Pointer(p11)) = Tush(int32(*(*Tush)(unsafe.Pointer(p11))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21144. v13 = s + 40
  21145. v12 = *(*Tulg)(unsafe.Pointer(v13))
  21146. *(*Tulg)(unsafe.Pointer(v13))++
  21147. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v12))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21148. v15 = s + 40
  21149. v14 = *(*Tulg)(unsafe.Pointer(v15))
  21150. *(*Tulg)(unsafe.Pointer(v15))++
  21151. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v14))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21152. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val1)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21153. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  21154. } else {
  21155. p16 = s + 5936
  21156. *(*Tush)(unsafe.Pointer(p16)) = Tush(int32(*(*Tush)(unsafe.Pointer(p16))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21157. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  21158. }
  21159. count--
  21160. }
  21161. len2 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 16*4 + 2)))
  21162. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
  21163. val2 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 16*4)))
  21164. p17 = s + 5936
  21165. *(*Tush)(unsafe.Pointer(p17)) = Tush(int32(*(*Tush)(unsafe.Pointer(p17))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21166. v19 = s + 40
  21167. v18 = *(*Tulg)(unsafe.Pointer(v19))
  21168. *(*Tulg)(unsafe.Pointer(v19))++
  21169. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v18))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21170. v21 = s + 40
  21171. v20 = *(*Tulg)(unsafe.Pointer(v21))
  21172. *(*Tulg)(unsafe.Pointer(v21))++
  21173. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v20))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21174. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val2)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21175. *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
  21176. } else {
  21177. p22 = s + 5936
  21178. *(*Tush)(unsafe.Pointer(p22)) = Tush(int32(*(*Tush)(unsafe.Pointer(p22))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 16*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21179. *(*int32)(unsafe.Pointer(s + 5940)) += len2
  21180. }
  21181. len3 = int32(2)
  21182. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
  21183. val3 = count - int32(3)
  21184. p23 = s + 5936
  21185. *(*Tush)(unsafe.Pointer(p23)) = Tush(int32(*(*Tush)(unsafe.Pointer(p23))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21186. v25 = s + 40
  21187. v24 = *(*Tulg)(unsafe.Pointer(v25))
  21188. *(*Tulg)(unsafe.Pointer(v25))++
  21189. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v24))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21190. v27 = s + 40
  21191. v26 = *(*Tulg)(unsafe.Pointer(v27))
  21192. *(*Tulg)(unsafe.Pointer(v27))++
  21193. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v26))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21194. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val3)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21195. *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
  21196. } else {
  21197. p28 = s + 5936
  21198. *(*Tush)(unsafe.Pointer(p28)) = Tush(int32(*(*Tush)(unsafe.Pointer(p28))) | libc.Int32FromUint16(libc.Uint16FromInt32(count-libc.Int32FromInt32(3)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21199. *(*int32)(unsafe.Pointer(s + 5940)) += len3
  21200. }
  21201. } else {
  21202. if count <= int32(10) {
  21203. len4 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 17*4 + 2)))
  21204. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len4 {
  21205. val4 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 17*4)))
  21206. p29 = s + 5936
  21207. *(*Tush)(unsafe.Pointer(p29)) = Tush(int32(*(*Tush)(unsafe.Pointer(p29))) | libc.Int32FromUint16(libc.Uint16FromInt32(val4))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21208. v31 = s + 40
  21209. v30 = *(*Tulg)(unsafe.Pointer(v31))
  21210. *(*Tulg)(unsafe.Pointer(v31))++
  21211. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v30))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21212. v33 = s + 40
  21213. v32 = *(*Tulg)(unsafe.Pointer(v33))
  21214. *(*Tulg)(unsafe.Pointer(v33))++
  21215. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v32))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21216. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val4)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21217. *(*int32)(unsafe.Pointer(s + 5940)) += len4 - int32(m_Buf_size)
  21218. } else {
  21219. p34 = s + 5936
  21220. *(*Tush)(unsafe.Pointer(p34)) = Tush(int32(*(*Tush)(unsafe.Pointer(p34))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 17*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21221. *(*int32)(unsafe.Pointer(s + 5940)) += len4
  21222. }
  21223. len5 = int32(3)
  21224. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len5 {
  21225. val5 = count - int32(3)
  21226. p35 = s + 5936
  21227. *(*Tush)(unsafe.Pointer(p35)) = Tush(int32(*(*Tush)(unsafe.Pointer(p35))) | libc.Int32FromUint16(libc.Uint16FromInt32(val5))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21228. v37 = s + 40
  21229. v36 = *(*Tulg)(unsafe.Pointer(v37))
  21230. *(*Tulg)(unsafe.Pointer(v37))++
  21231. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v36))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21232. v39 = s + 40
  21233. v38 = *(*Tulg)(unsafe.Pointer(v39))
  21234. *(*Tulg)(unsafe.Pointer(v39))++
  21235. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v38))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21236. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val5)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21237. *(*int32)(unsafe.Pointer(s + 5940)) += len5 - int32(m_Buf_size)
  21238. } else {
  21239. p40 = s + 5936
  21240. *(*Tush)(unsafe.Pointer(p40)) = Tush(int32(*(*Tush)(unsafe.Pointer(p40))) | libc.Int32FromUint16(libc.Uint16FromInt32(count-libc.Int32FromInt32(3)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21241. *(*int32)(unsafe.Pointer(s + 5940)) += len5
  21242. }
  21243. } else {
  21244. len6 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 18*4 + 2)))
  21245. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len6 {
  21246. val6 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 18*4)))
  21247. p41 = s + 5936
  21248. *(*Tush)(unsafe.Pointer(p41)) = Tush(int32(*(*Tush)(unsafe.Pointer(p41))) | libc.Int32FromUint16(libc.Uint16FromInt32(val6))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21249. v43 = s + 40
  21250. v42 = *(*Tulg)(unsafe.Pointer(v43))
  21251. *(*Tulg)(unsafe.Pointer(v43))++
  21252. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v42))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21253. v45 = s + 40
  21254. v44 = *(*Tulg)(unsafe.Pointer(v45))
  21255. *(*Tulg)(unsafe.Pointer(v45))++
  21256. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v44))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21257. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val6)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21258. *(*int32)(unsafe.Pointer(s + 5940)) += len6 - int32(m_Buf_size)
  21259. } else {
  21260. p46 = s + 5936
  21261. *(*Tush)(unsafe.Pointer(p46)) = Tush(int32(*(*Tush)(unsafe.Pointer(p46))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 18*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21262. *(*int32)(unsafe.Pointer(s + 5940)) += len6
  21263. }
  21264. len7 = int32(7)
  21265. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len7 {
  21266. val7 = count - int32(11)
  21267. p47 = s + 5936
  21268. *(*Tush)(unsafe.Pointer(p47)) = Tush(int32(*(*Tush)(unsafe.Pointer(p47))) | libc.Int32FromUint16(libc.Uint16FromInt32(val7))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21269. v49 = s + 40
  21270. v48 = *(*Tulg)(unsafe.Pointer(v49))
  21271. *(*Tulg)(unsafe.Pointer(v49))++
  21272. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v48))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21273. v51 = s + 40
  21274. v50 = *(*Tulg)(unsafe.Pointer(v51))
  21275. *(*Tulg)(unsafe.Pointer(v51))++
  21276. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v50))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21277. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val7)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21278. *(*int32)(unsafe.Pointer(s + 5940)) += len7 - int32(m_Buf_size)
  21279. } else {
  21280. p52 = s + 5936
  21281. *(*Tush)(unsafe.Pointer(p52)) = Tush(int32(*(*Tush)(unsafe.Pointer(p52))) | libc.Int32FromUint16(libc.Uint16FromInt32(count-libc.Int32FromInt32(11)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21282. *(*int32)(unsafe.Pointer(s + 5940)) += len7
  21283. }
  21284. }
  21285. }
  21286. }
  21287. }
  21288. count = 0
  21289. prevlen = curlen
  21290. if nextlen == 0 {
  21291. max_count = int32(138)
  21292. min_count = libc.Int32FromInt32(3)
  21293. } else {
  21294. if curlen == nextlen {
  21295. max_count = int32(6)
  21296. min_count = libc.Int32FromInt32(3)
  21297. } else {
  21298. max_count = int32(7)
  21299. min_count = libc.Int32FromInt32(4)
  21300. }
  21301. }
  21302. goto _1
  21303. _1:
  21304. ;
  21305. n++
  21306. }
  21307. }
  21308. // C documentation
  21309. //
  21310. // /* ===========================================================================
  21311. // * Construct the Huffman tree for the bit lengths and return the index in
  21312. // * bl_order of the last bit length code to send.
  21313. // */
  21314. func _build_bl_tree(tls *libc.TLS, s uintptr) (r int32) {
  21315. var max_blindex int32
  21316. _ = max_blindex /* index of last bit length code of non zero freq */
  21317. /* Determine the bit length frequencies for literal and distance trees */
  21318. _scan_tree(tls, s, s+212, (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fmax_code)
  21319. _scan_tree(tls, s, s+2504, (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fmax_code)
  21320. /* Build the bit length tree: */
  21321. _build_tree(tls, s, s+2952)
  21322. /* opt_len now includes the length of the tree representations, except the
  21323. * lengths of the bit lengths codes and the 5 + 5 + 4 bits for the counts.
  21324. */
  21325. /* Determine the number of bit length codes to send. The pkzip format
  21326. * requires that at least 4 bit length codes be sent. (appnote.txt says
  21327. * 3 but the actual value used is 4.)
  21328. */
  21329. max_blindex = libc.Int32FromInt32(m_BL_CODES) - libc.Int32FromInt32(1)
  21330. for {
  21331. if !(max_blindex >= int32(3)) {
  21332. break
  21333. }
  21334. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(_bl_order[max_blindex])*4 + 2))) != 0 {
  21335. break
  21336. }
  21337. goto _1
  21338. _1:
  21339. ;
  21340. max_blindex--
  21341. }
  21342. /* Update opt_len to include the bit length tree and counts */
  21343. *(*Tulg)(unsafe.Pointer(s + 5912)) += uint64(3)*(libc.Uint64FromInt32(max_blindex)+uint64(1)) + uint64(5) + uint64(5) + uint64(4)
  21344. return max_blindex
  21345. }
  21346. // C documentation
  21347. //
  21348. // /* ===========================================================================
  21349. // * Send the header for a block using dynamic Huffman trees: the counts, the
  21350. // * lengths of the bit length codes, the literal tree and the distance tree.
  21351. // * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
  21352. // */
  21353. func _send_all_trees(tls *libc.TLS, s uintptr, lcodes int32, dcodes int32, blcodes int32) {
  21354. var len1, len11, len2, len3, rank, val, val1, val2, val3 int32
  21355. var v10, v14, v16, v2, v21, v23, v4, v8 Tulg
  21356. var v11, v15, v17, v22, v24, v3, v5, v9, p1, p12, p13, p18, p20, p25, p6, p7 uintptr
  21357. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, len11, len2, len3, rank, val, val1, val2, val3, v10, v11, v14, v15, v16, v17, v2, v21, v22, v23, v24, v3, v4, v5, v8, v9, p1, p12, p13, p18, p20, p25, p6, p7 /* index in bl_order */
  21358. len1 = int32(5)
  21359. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21360. val = lcodes - int32(257)
  21361. p1 = s + 5936
  21362. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21363. v3 = s + 40
  21364. v2 = *(*Tulg)(unsafe.Pointer(v3))
  21365. *(*Tulg)(unsafe.Pointer(v3))++
  21366. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v2))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21367. v5 = s + 40
  21368. v4 = *(*Tulg)(unsafe.Pointer(v5))
  21369. *(*Tulg)(unsafe.Pointer(v5))++
  21370. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v4))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21371. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21372. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21373. } else {
  21374. p6 = s + 5936
  21375. *(*Tush)(unsafe.Pointer(p6)) = Tush(int32(*(*Tush)(unsafe.Pointer(p6))) | libc.Int32FromUint16(libc.Uint16FromInt32(lcodes-libc.Int32FromInt32(257)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21376. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21377. } /* not +255 as stated in appnote.txt */
  21378. len11 = int32(5)
  21379. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  21380. val1 = dcodes - int32(1)
  21381. p7 = s + 5936
  21382. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21383. v9 = s + 40
  21384. v8 = *(*Tulg)(unsafe.Pointer(v9))
  21385. *(*Tulg)(unsafe.Pointer(v9))++
  21386. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v8))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21387. v11 = s + 40
  21388. v10 = *(*Tulg)(unsafe.Pointer(v11))
  21389. *(*Tulg)(unsafe.Pointer(v11))++
  21390. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v10))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21391. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val1)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21392. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  21393. } else {
  21394. p12 = s + 5936
  21395. *(*Tush)(unsafe.Pointer(p12)) = Tush(int32(*(*Tush)(unsafe.Pointer(p12))) | libc.Int32FromUint16(libc.Uint16FromInt32(dcodes-libc.Int32FromInt32(1)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21396. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  21397. }
  21398. len2 = int32(4)
  21399. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
  21400. val2 = blcodes - int32(4)
  21401. p13 = s + 5936
  21402. *(*Tush)(unsafe.Pointer(p13)) = Tush(int32(*(*Tush)(unsafe.Pointer(p13))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21403. v15 = s + 40
  21404. v14 = *(*Tulg)(unsafe.Pointer(v15))
  21405. *(*Tulg)(unsafe.Pointer(v15))++
  21406. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v14))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21407. v17 = s + 40
  21408. v16 = *(*Tulg)(unsafe.Pointer(v17))
  21409. *(*Tulg)(unsafe.Pointer(v17))++
  21410. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v16))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21411. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val2)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21412. *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
  21413. } else {
  21414. p18 = s + 5936
  21415. *(*Tush)(unsafe.Pointer(p18)) = Tush(int32(*(*Tush)(unsafe.Pointer(p18))) | libc.Int32FromUint16(libc.Uint16FromInt32(blcodes-libc.Int32FromInt32(4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21416. *(*int32)(unsafe.Pointer(s + 5940)) += len2
  21417. } /* not -3 as stated in appnote.txt */
  21418. rank = 0
  21419. for {
  21420. if !(rank < blcodes) {
  21421. break
  21422. }
  21423. len3 = int32(3)
  21424. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
  21425. val3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(_bl_order[rank])*4 + 2)))
  21426. p20 = s + 5936
  21427. *(*Tush)(unsafe.Pointer(p20)) = Tush(int32(*(*Tush)(unsafe.Pointer(p20))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21428. v22 = s + 40
  21429. v21 = *(*Tulg)(unsafe.Pointer(v22))
  21430. *(*Tulg)(unsafe.Pointer(v22))++
  21431. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v21))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21432. v24 = s + 40
  21433. v23 = *(*Tulg)(unsafe.Pointer(v24))
  21434. *(*Tulg)(unsafe.Pointer(v24))++
  21435. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v23))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21436. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val3)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21437. *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
  21438. } else {
  21439. p25 = s + 5936
  21440. *(*Tush)(unsafe.Pointer(p25)) = Tush(int32(*(*Tush)(unsafe.Pointer(p25))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(_bl_order[rank])*4 + 2)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21441. *(*int32)(unsafe.Pointer(s + 5940)) += len3
  21442. }
  21443. goto _19
  21444. _19:
  21445. ;
  21446. rank++
  21447. }
  21448. _send_tree(tls, s, s+212, lcodes-int32(1)) /* literal tree */
  21449. _send_tree(tls, s, s+2504, dcodes-int32(1)) /* distance tree */
  21450. }
  21451. // C documentation
  21452. //
  21453. // /* ===========================================================================
  21454. // * Send a stored block
  21455. // */
  21456. func x__tr_stored_block(tls *libc.TLS, s uintptr, buf uintptr, stored_len Tulg, last int32) {
  21457. var len1, val int32
  21458. var v10, v12, v14, v3, v5, v8, p1, p6 uintptr
  21459. var v11, v13, v2, v4, v7, v9 Tulg
  21460. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, val, v10, v11, v12, v13, v14, v2, v3, v4, v5, v7, v8, v9, p1, p6
  21461. len1 = int32(3)
  21462. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21463. val = libc.Int32FromInt32(m_STORED_BLOCK)<<libc.Int32FromInt32(1) + last
  21464. p1 = s + 5936
  21465. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21466. v3 = s + 40
  21467. v2 = *(*Tulg)(unsafe.Pointer(v3))
  21468. *(*Tulg)(unsafe.Pointer(v3))++
  21469. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v2))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21470. v5 = s + 40
  21471. v4 = *(*Tulg)(unsafe.Pointer(v5))
  21472. *(*Tulg)(unsafe.Pointer(v5))++
  21473. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v4))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21474. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21475. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21476. } else {
  21477. p6 = s + 5936
  21478. *(*Tush)(unsafe.Pointer(p6)) = Tush(int32(*(*Tush)(unsafe.Pointer(p6))) | libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromInt32(m_STORED_BLOCK)<<libc.Int32FromInt32(1)+last))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21479. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21480. } /* send block type */
  21481. _bi_windup(tls, s) /* align on byte boundary */
  21482. v8 = s + 40
  21483. v7 = *(*Tulg)(unsafe.Pointer(v8))
  21484. *(*Tulg)(unsafe.Pointer(v8))++
  21485. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v7))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(stored_len)) & libc.Int32FromInt32(0xff))
  21486. v10 = s + 40
  21487. v9 = *(*Tulg)(unsafe.Pointer(v10))
  21488. *(*Tulg)(unsafe.Pointer(v10))++
  21489. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v9))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(stored_len)) >> libc.Int32FromInt32(8))
  21490. v12 = s + 40
  21491. v11 = *(*Tulg)(unsafe.Pointer(v12))
  21492. *(*Tulg)(unsafe.Pointer(v12))++
  21493. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v11))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(^stored_len)) & libc.Int32FromInt32(0xff))
  21494. v14 = s + 40
  21495. v13 = *(*Tulg)(unsafe.Pointer(v14))
  21496. *(*Tulg)(unsafe.Pointer(v14))++
  21497. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v13))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(^stored_len)) >> libc.Int32FromInt32(8))
  21498. if stored_len != 0 {
  21499. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending), buf, stored_len)
  21500. }
  21501. *(*Tulg)(unsafe.Pointer(s + 40)) += stored_len
  21502. }
  21503. // C documentation
  21504. //
  21505. // /* ===========================================================================
  21506. // * Flush the bits in the bit buffer to pending output (leaves at most 7 bits)
  21507. // */
  21508. func x__tr_flush_bits(tls *libc.TLS, s uintptr) {
  21509. _bi_flush(tls, s)
  21510. }
  21511. // C documentation
  21512. //
  21513. // /* ===========================================================================
  21514. // * Send one empty static block to give enough lookahead for inflate.
  21515. // * This takes 10 bits, of which 7 may remain in the bit buffer.
  21516. // */
  21517. func x__tr_align(tls *libc.TLS, s uintptr) {
  21518. var len1, len11, val, val1 int32
  21519. var v10, v2, v4, v8 Tulg
  21520. var v11, v3, v5, v9, p1, p12, p6, p7 uintptr
  21521. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, len11, val, val1, v10, v11, v2, v3, v4, v5, v8, v9, p1, p12, p6, p7
  21522. len1 = int32(3)
  21523. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21524. val = libc.Int32FromInt32(m_STATIC_TREES) << libc.Int32FromInt32(1)
  21525. p1 = s + 5936
  21526. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21527. v3 = s + 40
  21528. v2 = *(*Tulg)(unsafe.Pointer(v3))
  21529. *(*Tulg)(unsafe.Pointer(v3))++
  21530. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v2))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21531. v5 = s + 40
  21532. v4 = *(*Tulg)(unsafe.Pointer(v5))
  21533. *(*Tulg)(unsafe.Pointer(v5))++
  21534. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v4))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21535. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21536. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21537. } else {
  21538. p6 = s + 5936
  21539. *(*Tush)(unsafe.Pointer(p6)) = Tush(int32(*(*Tush)(unsafe.Pointer(p6))) | libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromInt32(m_STATIC_TREES)<<libc.Int32FromInt32(1)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21540. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21541. }
  21542. len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_ltree)) + 256*4 + 2)))
  21543. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  21544. val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_ltree)) + 256*4)))
  21545. p7 = s + 5936
  21546. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21547. v9 = s + 40
  21548. v8 = *(*Tulg)(unsafe.Pointer(v9))
  21549. *(*Tulg)(unsafe.Pointer(v9))++
  21550. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v8))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21551. v11 = s + 40
  21552. v10 = *(*Tulg)(unsafe.Pointer(v11))
  21553. *(*Tulg)(unsafe.Pointer(v11))++
  21554. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v10))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21555. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val1)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21556. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  21557. } else {
  21558. p12 = s + 5936
  21559. *(*Tush)(unsafe.Pointer(p12)) = Tush(int32(*(*Tush)(unsafe.Pointer(p12))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_ltree)) + 256*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21560. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  21561. }
  21562. _bi_flush(tls, s)
  21563. }
  21564. // C documentation
  21565. //
  21566. // /* ===========================================================================
  21567. // * Send the block data compressed using the given Huffman trees
  21568. // */
  21569. func _compress_block(tls *libc.TLS, s uintptr, ltree uintptr, dtree uintptr) {
  21570. var code, dist, sx, v1, v2, v3 uint32
  21571. var extra, lc, len1, len11, len2, len3, len4, len5, val, val1, val2, val3, val4, val5, v22 int32
  21572. var v11, v13, v17, v19, v24, v26, v30, v32, v36, v38, v5, v7 Tulg
  21573. var v12, v14, v18, v20, v25, v27, v31, v33, v37, v39, v6, v8, p10, p15, p16, p21, p23, p28, p29, p34, p35, p4, p40, p9 uintptr
  21574. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = code, dist, extra, lc, len1, len11, len2, len3, len4, len5, sx, val, val1, val2, val3, val4, val5, v1, v11, v12, v13, v14, v17, v18, v19, v2, v20, v22, v24, v25, v26, v27, v3, v30, v31, v32, v33, v36, v37, v38, v39, v5, v6, v7, v8, p10, p15, p16, p21, p23, p28, p29, p34, p35, p4, p40, p9 /* match length or unmatched char (if dist == 0) */
  21575. sx = uint32(0) /* number of extra bits to send */
  21576. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != uint32(0) {
  21577. for cond := true; cond; cond = sx < (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next {
  21578. v1 = sx
  21579. sx++
  21580. dist = libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v1)))) & int32(0xff))
  21581. v2 = sx
  21582. sx++
  21583. dist += libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v2))))&libc.Int32FromInt32(0xff)) << int32(8)
  21584. v3 = sx
  21585. sx++
  21586. lc = libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))))
  21587. if dist == uint32(0) {
  21588. len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(lc)*4 + 2)))
  21589. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21590. val = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(lc)*4)))
  21591. p4 = s + 5936
  21592. *(*Tush)(unsafe.Pointer(p4)) = Tush(int32(*(*Tush)(unsafe.Pointer(p4))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21593. v6 = s + 40
  21594. v5 = *(*Tulg)(unsafe.Pointer(v6))
  21595. *(*Tulg)(unsafe.Pointer(v6))++
  21596. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21597. v8 = s + 40
  21598. v7 = *(*Tulg)(unsafe.Pointer(v8))
  21599. *(*Tulg)(unsafe.Pointer(v8))++
  21600. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v7))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21601. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21602. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21603. } else {
  21604. p9 = s + 5936
  21605. *(*Tush)(unsafe.Pointer(p9)) = Tush(int32(*(*Tush)(unsafe.Pointer(p9))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(lc)*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21606. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21607. } /* send a literal byte */
  21608. } else {
  21609. /* Here, lc is the match length - MIN_MATCH */
  21610. code = uint32(x__length_code[lc])
  21611. len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(code+uint32(m_LITERALS)+uint32(1))*4 + 2)))
  21612. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  21613. val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(code+uint32(m_LITERALS)+uint32(1))*4)))
  21614. p10 = s + 5936
  21615. *(*Tush)(unsafe.Pointer(p10)) = Tush(int32(*(*Tush)(unsafe.Pointer(p10))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21616. v12 = s + 40
  21617. v11 = *(*Tulg)(unsafe.Pointer(v12))
  21618. *(*Tulg)(unsafe.Pointer(v12))++
  21619. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v11))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21620. v14 = s + 40
  21621. v13 = *(*Tulg)(unsafe.Pointer(v14))
  21622. *(*Tulg)(unsafe.Pointer(v14))++
  21623. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v13))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21624. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val1)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21625. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  21626. } else {
  21627. p15 = s + 5936
  21628. *(*Tush)(unsafe.Pointer(p15)) = Tush(int32(*(*Tush)(unsafe.Pointer(p15))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(code+uint32(m_LITERALS)+uint32(1))*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21629. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  21630. } /* send length code */
  21631. extra = _extra_lbits[code]
  21632. if extra != 0 {
  21633. lc -= _base_length[code]
  21634. len2 = extra
  21635. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
  21636. val2 = lc
  21637. p16 = s + 5936
  21638. *(*Tush)(unsafe.Pointer(p16)) = Tush(int32(*(*Tush)(unsafe.Pointer(p16))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21639. v18 = s + 40
  21640. v17 = *(*Tulg)(unsafe.Pointer(v18))
  21641. *(*Tulg)(unsafe.Pointer(v18))++
  21642. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v17))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21643. v20 = s + 40
  21644. v19 = *(*Tulg)(unsafe.Pointer(v20))
  21645. *(*Tulg)(unsafe.Pointer(v20))++
  21646. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v19))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21647. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val2)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21648. *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
  21649. } else {
  21650. p21 = s + 5936
  21651. *(*Tush)(unsafe.Pointer(p21)) = Tush(int32(*(*Tush)(unsafe.Pointer(p21))) | libc.Int32FromUint16(libc.Uint16FromInt32(lc))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21652. *(*int32)(unsafe.Pointer(s + 5940)) += len2
  21653. } /* send the extra length bits */
  21654. }
  21655. dist-- /* dist is now the match distance - 1 */
  21656. if dist < uint32(256) {
  21657. v22 = libc.Int32FromUint8(x__dist_code[dist])
  21658. } else {
  21659. v22 = libc.Int32FromUint8(x__dist_code[uint32(256)+dist>>int32(7)])
  21660. }
  21661. code = libc.Uint32FromInt32(v22)
  21662. len3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(dtree + uintptr(code)*4 + 2)))
  21663. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
  21664. val3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(dtree + uintptr(code)*4)))
  21665. p23 = s + 5936
  21666. *(*Tush)(unsafe.Pointer(p23)) = Tush(int32(*(*Tush)(unsafe.Pointer(p23))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21667. v25 = s + 40
  21668. v24 = *(*Tulg)(unsafe.Pointer(v25))
  21669. *(*Tulg)(unsafe.Pointer(v25))++
  21670. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v24))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21671. v27 = s + 40
  21672. v26 = *(*Tulg)(unsafe.Pointer(v27))
  21673. *(*Tulg)(unsafe.Pointer(v27))++
  21674. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v26))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21675. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val3)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21676. *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
  21677. } else {
  21678. p28 = s + 5936
  21679. *(*Tush)(unsafe.Pointer(p28)) = Tush(int32(*(*Tush)(unsafe.Pointer(p28))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(dtree + uintptr(code)*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21680. *(*int32)(unsafe.Pointer(s + 5940)) += len3
  21681. } /* send the distance code */
  21682. extra = _extra_dbits[code]
  21683. if extra != 0 {
  21684. dist -= libc.Uint32FromInt32(_base_dist[code])
  21685. len4 = extra
  21686. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len4 {
  21687. val4 = libc.Int32FromUint32(dist)
  21688. p29 = s + 5936
  21689. *(*Tush)(unsafe.Pointer(p29)) = Tush(int32(*(*Tush)(unsafe.Pointer(p29))) | libc.Int32FromUint16(libc.Uint16FromInt32(val4))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21690. v31 = s + 40
  21691. v30 = *(*Tulg)(unsafe.Pointer(v31))
  21692. *(*Tulg)(unsafe.Pointer(v31))++
  21693. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v30))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21694. v33 = s + 40
  21695. v32 = *(*Tulg)(unsafe.Pointer(v33))
  21696. *(*Tulg)(unsafe.Pointer(v33))++
  21697. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v32))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21698. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val4)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21699. *(*int32)(unsafe.Pointer(s + 5940)) += len4 - int32(m_Buf_size)
  21700. } else {
  21701. p34 = s + 5936
  21702. *(*Tush)(unsafe.Pointer(p34)) = Tush(int32(*(*Tush)(unsafe.Pointer(p34))) | libc.Int32FromUint16(uint16(dist))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21703. *(*int32)(unsafe.Pointer(s + 5940)) += len4
  21704. } /* send the extra distance bits */
  21705. }
  21706. } /* literal or match pair ? */
  21707. /* Check for no overlay of pending_buf on needed symbols */
  21708. }
  21709. }
  21710. len5 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + 256*4 + 2)))
  21711. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len5 {
  21712. val5 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + 256*4)))
  21713. p35 = s + 5936
  21714. *(*Tush)(unsafe.Pointer(p35)) = Tush(int32(*(*Tush)(unsafe.Pointer(p35))) | libc.Int32FromUint16(libc.Uint16FromInt32(val5))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21715. v37 = s + 40
  21716. v36 = *(*Tulg)(unsafe.Pointer(v37))
  21717. *(*Tulg)(unsafe.Pointer(v37))++
  21718. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v36))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21719. v39 = s + 40
  21720. v38 = *(*Tulg)(unsafe.Pointer(v39))
  21721. *(*Tulg)(unsafe.Pointer(v39))++
  21722. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v38))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21723. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val5)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21724. *(*int32)(unsafe.Pointer(s + 5940)) += len5 - int32(m_Buf_size)
  21725. } else {
  21726. p40 = s + 5936
  21727. *(*Tush)(unsafe.Pointer(p40)) = Tush(int32(*(*Tush)(unsafe.Pointer(p40))) | libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + 256*4)))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21728. *(*int32)(unsafe.Pointer(s + 5940)) += len5
  21729. }
  21730. }
  21731. // C documentation
  21732. //
  21733. // /* ===========================================================================
  21734. // * Check if the data type is TEXT or BINARY, using the following algorithm:
  21735. // * - TEXT if the two conditions below are satisfied:
  21736. // * a) There are no non-portable control characters belonging to the
  21737. // * "block list" (0..6, 14..25, 28..31).
  21738. // * b) There is at least one printable character belonging to the
  21739. // * "allow list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).
  21740. // * - BINARY otherwise.
  21741. // * - The following partially-portable control characters form a
  21742. // * "gray list" that is ignored in this detection algorithm:
  21743. // * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).
  21744. // * IN assertion: the fields Freq of dyn_ltree are set.
  21745. // */
  21746. func _detect_data_type(tls *libc.TLS, s uintptr) (r int32) {
  21747. var block_mask uint64
  21748. var n int32
  21749. _, _ = block_mask, n
  21750. /* block_mask is the bit mask of block-listed bytes
  21751. * set bits 0..6, 14..25, and 28..31
  21752. * 0xf3ffc07f = binary 11110011111111111100000001111111
  21753. */
  21754. block_mask = uint64(0xf3ffc07f)
  21755. /* Check for non-textual ("block-listed") bytes. */
  21756. n = 0
  21757. for {
  21758. if !(n <= int32(31)) {
  21759. break
  21760. }
  21761. if block_mask&uint64(1) != 0 && libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4))) != 0 {
  21762. return m_Z_BINARY
  21763. }
  21764. goto _1
  21765. _1:
  21766. ;
  21767. n++
  21768. block_mask >>= uint64(1)
  21769. }
  21770. /* Check for textual ("allow-listed") bytes. */
  21771. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + 9*4))) != 0 || libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + 10*4))) != 0 || libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + 13*4))) != 0 {
  21772. return int32(m_Z_TEXT)
  21773. }
  21774. n = int32(32)
  21775. for {
  21776. if !(n < int32(m_LITERALS)) {
  21777. break
  21778. }
  21779. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4))) != 0 {
  21780. return int32(m_Z_TEXT)
  21781. }
  21782. goto _2
  21783. _2:
  21784. ;
  21785. n++
  21786. }
  21787. /* There are no "block-listed" or "allow-listed" bytes:
  21788. * this stream either is empty or has tolerated ("gray-listed") bytes only.
  21789. */
  21790. return m_Z_BINARY
  21791. }
  21792. // C documentation
  21793. //
  21794. // /* ===========================================================================
  21795. // * Determine the best encoding for the current block: dynamic trees, static
  21796. // * trees or store, and write out the encoded block.
  21797. // */
  21798. func x__tr_flush_block(tls *libc.TLS, s uintptr, buf uintptr, stored_len Tulg, last int32) {
  21799. var len1, len11, max_blindex, val, val1 int32
  21800. var opt_lenb, static_lenb, v1, v11, v3, v5, v9 Tulg
  21801. var v10, v12, v4, v6, p13, p2, p7, p8 uintptr
  21802. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, len11, max_blindex, opt_lenb, static_lenb, val, val1, v1, v10, v11, v12, v3, v4, v5, v6, v9, p13, p2, p7, p8 /* opt_len and static_len in bytes */
  21803. max_blindex = 0 /* index of last bit length code of non zero freq */
  21804. /* Build the Huffman trees unless a stored block is forced */
  21805. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel > 0 {
  21806. /* Check if the file is binary or text */
  21807. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fdata_type == int32(m_Z_UNKNOWN) {
  21808. (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fdata_type = _detect_data_type(tls, s)
  21809. }
  21810. /* Construct the literal and distance trees */
  21811. _build_tree(tls, s, s+2904)
  21812. _build_tree(tls, s, s+2928)
  21813. /* At this point, opt_len and static_len are the total bit lengths of
  21814. * the compressed block data, excluding the tree representations.
  21815. */
  21816. /* Build the bit length tree for the above two trees, and get the index
  21817. * in bl_order of the last bit length code to send.
  21818. */
  21819. max_blindex = _build_bl_tree(tls, s)
  21820. /* Determine the best encoding. Compute the block lengths in bytes. */
  21821. opt_lenb = ((*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len + uint64(3) + uint64(7)) >> int32(3)
  21822. static_lenb = ((*Tdeflate_state)(unsafe.Pointer(s)).Fstatic_len + uint64(3) + uint64(7)) >> int32(3)
  21823. if static_lenb <= opt_lenb || (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_FIXED) {
  21824. opt_lenb = static_lenb
  21825. }
  21826. } else {
  21827. v1 = stored_len + libc.Uint64FromInt32(5)
  21828. static_lenb = v1
  21829. opt_lenb = v1 /* force a stored block */
  21830. }
  21831. if stored_len+uint64(4) <= opt_lenb && buf != libc.UintptrFromInt32(0) {
  21832. /* 4: two words for the lengths */
  21833. /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
  21834. * Otherwise we can't have processed more than WSIZE input bytes since
  21835. * the last block flush, because compression would have been
  21836. * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
  21837. * transform a block into a stored block.
  21838. */
  21839. x__tr_stored_block(tls, s, buf, stored_len, last)
  21840. } else {
  21841. if static_lenb == opt_lenb {
  21842. len1 = int32(3)
  21843. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21844. val = libc.Int32FromInt32(m_STATIC_TREES)<<libc.Int32FromInt32(1) + last
  21845. p2 = s + 5936
  21846. *(*Tush)(unsafe.Pointer(p2)) = Tush(int32(*(*Tush)(unsafe.Pointer(p2))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21847. v4 = s + 40
  21848. v3 = *(*Tulg)(unsafe.Pointer(v4))
  21849. *(*Tulg)(unsafe.Pointer(v4))++
  21850. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v3))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21851. v6 = s + 40
  21852. v5 = *(*Tulg)(unsafe.Pointer(v6))
  21853. *(*Tulg)(unsafe.Pointer(v6))++
  21854. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21855. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21856. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21857. } else {
  21858. p7 = s + 5936
  21859. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) | libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromInt32(m_STATIC_TREES)<<libc.Int32FromInt32(1)+last))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21860. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21861. }
  21862. _compress_block(tls, s, uintptr(unsafe.Pointer(&_static_ltree)), uintptr(unsafe.Pointer(&_static_dtree)))
  21863. } else {
  21864. len11 = int32(3)
  21865. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  21866. val1 = libc.Int32FromInt32(m_DYN_TREES)<<libc.Int32FromInt32(1) + last
  21867. p8 = s + 5936
  21868. *(*Tush)(unsafe.Pointer(p8)) = Tush(int32(*(*Tush)(unsafe.Pointer(p8))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21869. v10 = s + 40
  21870. v9 = *(*Tulg)(unsafe.Pointer(v10))
  21871. *(*Tulg)(unsafe.Pointer(v10))++
  21872. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v9))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) & libc.Int32FromInt32(0xff))
  21873. v12 = s + 40
  21874. v11 = *(*Tulg)(unsafe.Pointer(v12))
  21875. *(*Tulg)(unsafe.Pointer(v12))++
  21876. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v11))) = libc.Uint8FromInt32(libc.Int32FromUint16((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf) >> libc.Int32FromInt32(8))
  21877. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(val1)) >> (int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid))
  21878. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  21879. } else {
  21880. p13 = s + 5936
  21881. *(*Tush)(unsafe.Pointer(p13)) = Tush(int32(*(*Tush)(unsafe.Pointer(p13))) | libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromInt32(m_DYN_TREES)<<libc.Int32FromInt32(1)+last))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21882. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  21883. }
  21884. _send_all_trees(tls, s, (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fmax_code+int32(1), (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fmax_code+int32(1), max_blindex+int32(1))
  21885. _compress_block(tls, s, s+212, s+2504)
  21886. }
  21887. }
  21888. /* The above check is made mod 2^32, for files larger than 512 MB
  21889. * and uLong implemented on 32 bits.
  21890. */
  21891. _init_block(tls, s)
  21892. if last != 0 {
  21893. _bi_windup(tls, s)
  21894. }
  21895. }
  21896. // C documentation
  21897. //
  21898. // /* ===========================================================================
  21899. // * Save the match info and tally the frequency counts. Return true if
  21900. // * the current block must be flushed.
  21901. // */
  21902. func x__tr_tally(tls *libc.TLS, s uintptr, dist uint32, lc uint32) (r int32) {
  21903. var v1, v3, v5 TuInt
  21904. var v2, v4, v6 uintptr
  21905. var v7 int32
  21906. _, _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6, v7
  21907. v2 = s + 5900
  21908. v1 = *(*TuInt)(unsafe.Pointer(v2))
  21909. *(*TuInt)(unsafe.Pointer(v2))++
  21910. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v1))) = uint8(dist)
  21911. v4 = s + 5900
  21912. v3 = *(*TuInt)(unsafe.Pointer(v4))
  21913. *(*TuInt)(unsafe.Pointer(v4))++
  21914. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist >> libc.Int32FromInt32(8))
  21915. v6 = s + 5900
  21916. v5 = *(*TuInt)(unsafe.Pointer(v6))
  21917. *(*TuInt)(unsafe.Pointer(v6))++
  21918. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = uint8(lc)
  21919. if dist == uint32(0) {
  21920. /* lc is the unmatched char */
  21921. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(lc)*4))++
  21922. } else {
  21923. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
  21924. /* Here, lc is the match length - MIN_MATCH */
  21925. dist-- /* dist = match distance - 1 */
  21926. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[lc])+int32(m_LITERALS)+int32(1))*4))++
  21927. if dist < uint32(256) {
  21928. v7 = libc.Int32FromUint8(x__dist_code[dist])
  21929. } else {
  21930. v7 = libc.Int32FromUint8(x__dist_code[uint32(256)+dist>>int32(7)])
  21931. }
  21932. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v7)*4))++
  21933. }
  21934. return libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  21935. }
  21936. const m_AT_EACCESS = 0x200
  21937. const m_AT_EMPTY_PATH = 0x1000
  21938. const m_AT_NO_AUTOMOUNT = 0x800
  21939. const m_AT_RECURSIVE = 0x8000
  21940. const m_AT_REMOVEDIR = 0x200
  21941. const m_AT_STATX_DONT_SYNC = 0x4000
  21942. const m_AT_STATX_FORCE_SYNC = 0x2000
  21943. const m_AT_STATX_SYNC_AS_STAT = 0x0000
  21944. const m_AT_STATX_SYNC_TYPE = 0x6000
  21945. const m_AT_SYMLINK_FOLLOW = 0x400
  21946. const m_AT_SYMLINK_NOFOLLOW = 0x100
  21947. const m_BUFSIZ = 1024
  21948. const m_COPY = 1
  21949. const m_DN_ACCESS = 0x00000001
  21950. const m_DN_ATTRIB = 0x00000020
  21951. const m_DN_CREATE = 0x00000004
  21952. const m_DN_DELETE = 0x00000008
  21953. const m_DN_MODIFY = 0x00000002
  21954. const m_DN_MULTISHOT = 0x80000000
  21955. const m_DN_RENAME = 0x00000010
  21956. const m_E2BIG = 7
  21957. const m_EACCES = 13
  21958. const m_EADDRINUSE = 98
  21959. const m_EADDRNOTAVAIL = 99
  21960. const m_EADV = 68
  21961. const m_EAFNOSUPPORT = 97
  21962. const m_EAGAIN = 11
  21963. const m_EALREADY = 114
  21964. const m_EBADE = 52
  21965. const m_EBADF = 9
  21966. const m_EBADFD = 77
  21967. const m_EBADMSG = 74
  21968. const m_EBADR = 53
  21969. const m_EBADRQC = 56
  21970. const m_EBADSLT = 57
  21971. const m_EBFONT = 59
  21972. const m_EBUSY = 16
  21973. const m_ECANCELED = 125
  21974. const m_ECHILD = 10
  21975. const m_ECHRNG = 44
  21976. const m_ECOMM = 70
  21977. const m_ECONNABORTED = 103
  21978. const m_ECONNREFUSED = 111
  21979. const m_ECONNRESET = 104
  21980. const m_EDEADLK = 35
  21981. const m_EDEADLOCK = "EDEADLK"
  21982. const m_EDESTADDRREQ = 89
  21983. const m_EDOM = 33
  21984. const m_EDOTDOT = 73
  21985. const m_EDQUOT = 122
  21986. const m_EEXIST = 17
  21987. const m_EFAULT = 14
  21988. const m_EFBIG = 27
  21989. const m_EHOSTDOWN = 112
  21990. const m_EHOSTUNREACH = 113
  21991. const m_EHWPOISON = 133
  21992. const m_EIDRM = 43
  21993. const m_EILSEQ = 84
  21994. const m_EINPROGRESS = 115
  21995. const m_EINTR = 4
  21996. const m_EINVAL = 22
  21997. const m_EIO = 5
  21998. const m_EISCONN = 106
  21999. const m_EISDIR = 21
  22000. const m_EISNAM = 120
  22001. const m_EKEYEXPIRED = 127
  22002. const m_EKEYREJECTED = 129
  22003. const m_EKEYREVOKED = 128
  22004. const m_EL2HLT = 51
  22005. const m_EL2NSYNC = 45
  22006. const m_EL3HLT = 46
  22007. const m_EL3RST = 47
  22008. const m_ELIBACC = 79
  22009. const m_ELIBBAD = 80
  22010. const m_ELIBEXEC = 83
  22011. const m_ELIBMAX = 82
  22012. const m_ELIBSCN = 81
  22013. const m_ELNRNG = 48
  22014. const m_ELOOP = 40
  22015. const m_EMEDIUMTYPE = 124
  22016. const m_EMFILE = 24
  22017. const m_EMLINK = 31
  22018. const m_EMSGSIZE = 90
  22019. const m_EMULTIHOP = 72
  22020. const m_ENAMETOOLONG = 36
  22021. const m_ENAVAIL = 119
  22022. const m_ENETDOWN = 100
  22023. const m_ENETRESET = 102
  22024. const m_ENETUNREACH = 101
  22025. const m_ENFILE = 23
  22026. const m_ENOANO = 55
  22027. const m_ENOBUFS = 105
  22028. const m_ENOCSI = 50
  22029. const m_ENODATA = 61
  22030. const m_ENODEV = 19
  22031. const m_ENOENT = 2
  22032. const m_ENOEXEC = 8
  22033. const m_ENOKEY = 126
  22034. const m_ENOLCK = 37
  22035. const m_ENOLINK = 67
  22036. const m_ENOMEDIUM = 123
  22037. const m_ENOMEM = 12
  22038. const m_ENOMSG = 42
  22039. const m_ENONET = 64
  22040. const m_ENOPKG = 65
  22041. const m_ENOPROTOOPT = 92
  22042. const m_ENOSPC = 28
  22043. const m_ENOSR = 63
  22044. const m_ENOSTR = 60
  22045. const m_ENOSYS = 38
  22046. const m_ENOTBLK = 15
  22047. const m_ENOTCONN = 107
  22048. const m_ENOTDIR = 20
  22049. const m_ENOTEMPTY = 39
  22050. const m_ENOTNAM = 118
  22051. const m_ENOTRECOVERABLE = 131
  22052. const m_ENOTSOCK = 88
  22053. const m_ENOTSUP = "EOPNOTSUPP"
  22054. const m_ENOTTY = 25
  22055. const m_ENOTUNIQ = 76
  22056. const m_ENXIO = 6
  22057. const m_EOPNOTSUPP = 95
  22058. const m_EOVERFLOW = 75
  22059. const m_EOWNERDEAD = 130
  22060. const m_EPERM = 1
  22061. const m_EPFNOSUPPORT = 96
  22062. const m_EPIPE = 32
  22063. const m_EPROTO = 71
  22064. const m_EPROTONOSUPPORT = 93
  22065. const m_EPROTOTYPE = 91
  22066. const m_ERANGE = 34
  22067. const m_EREMCHG = 78
  22068. const m_EREMOTE = 66
  22069. const m_EREMOTEIO = 121
  22070. const m_ERESTART = 85
  22071. const m_ERFKILL = 132
  22072. const m_EROFS = 30
  22073. const m_ESHUTDOWN = 108
  22074. const m_ESOCKTNOSUPPORT = 94
  22075. const m_ESPIPE = 29
  22076. const m_ESRCH = 3
  22077. const m_ESRMNT = 69
  22078. const m_ESTALE = 116
  22079. const m_ESTRPIPE = 86
  22080. const m_ETIME = 62
  22081. const m_ETIMEDOUT = 110
  22082. const m_ETOOMANYREFS = 109
  22083. const m_ETXTBSY = 26
  22084. const m_EUCLEAN = 117
  22085. const m_EUNATCH = 49
  22086. const m_EUSERS = 87
  22087. const m_EWOULDBLOCK = "EAGAIN"
  22088. const m_EXDEV = 18
  22089. const m_EXFULL = 54
  22090. const m_FALLOC_FL_KEEP_SIZE = 1
  22091. const m_FALLOC_FL_PUNCH_HOLE = 2
  22092. const m_FAPPEND = "O_APPEND"
  22093. const m_FASYNC = "O_ASYNC"
  22094. const m_FD_CLOEXEC = 1
  22095. const m_FFSYNC = "O_SYNC"
  22096. const m_FILENAME_MAX = 4096
  22097. const m_FNDELAY = "O_NDELAY"
  22098. const m_FNONBLOCK = "O_NONBLOCK"
  22099. const m_FOPEN_MAX = 1000
  22100. const m_F_ADD_SEALS = 1033
  22101. const m_F_CANCELLK = 1029
  22102. const m_F_DUPFD = 0
  22103. const m_F_DUPFD_CLOEXEC = 1030
  22104. const m_F_GETFD = 1
  22105. const m_F_GETFL = 3
  22106. const m_F_GETLEASE = 1025
  22107. const m_F_GETLK = 5
  22108. const m_F_GETLK64 = "F_GETLK"
  22109. const m_F_GETOWN = 9
  22110. const m_F_GETOWNER_UIDS = 17
  22111. const m_F_GETOWN_EX = 16
  22112. const m_F_GETPIPE_SZ = 1032
  22113. const m_F_GETSIG = 11
  22114. const m_F_GET_FILE_RW_HINT = 1037
  22115. const m_F_GET_RW_HINT = 1035
  22116. const m_F_GET_SEALS = 1034
  22117. const m_F_NOTIFY = 1026
  22118. const m_F_OFD_GETLK = 36
  22119. const m_F_OFD_SETLK = 37
  22120. const m_F_OFD_SETLKW = 38
  22121. const m_F_OWNER_GID = 2
  22122. const m_F_OWNER_PGRP = 2
  22123. const m_F_OWNER_PID = 1
  22124. const m_F_OWNER_TID = 0
  22125. const m_F_RDLCK = 0
  22126. const m_F_SEAL_FUTURE_WRITE = 0x0010
  22127. const m_F_SEAL_GROW = 0x0004
  22128. const m_F_SEAL_SEAL = 0x0001
  22129. const m_F_SEAL_SHRINK = 0x0002
  22130. const m_F_SEAL_WRITE = 0x0008
  22131. const m_F_SETFD = 2
  22132. const m_F_SETFL = 4
  22133. const m_F_SETLEASE = 1024
  22134. const m_F_SETLK = 6
  22135. const m_F_SETLK64 = "F_SETLK"
  22136. const m_F_SETLKW = 7
  22137. const m_F_SETLKW64 = "F_SETLKW"
  22138. const m_F_SETOWN = 8
  22139. const m_F_SETOWN_EX = 15
  22140. const m_F_SETPIPE_SZ = 1031
  22141. const m_F_SETSIG = 10
  22142. const m_F_SET_FILE_RW_HINT = 1038
  22143. const m_F_SET_RW_HINT = 1036
  22144. const m_F_UNLCK = 2
  22145. const m_F_WRLCK = 1
  22146. const m_GZBUFSIZE = 8192
  22147. const m_GZIP = 2
  22148. const m_GZ_APPEND = 1
  22149. const m_GZ_NONE = 0
  22150. const m_GZ_READ = 7247
  22151. const m_GZ_WRITE = 31153
  22152. const m_LOOK = 0
  22153. const m_L_ctermid = 20
  22154. const m_L_cuserid = 20
  22155. const m_L_tmpnam = 20
  22156. const m_MAX_HANDLE_SZ = 128
  22157. const m_O_APPEND = 02000
  22158. const m_O_ASYNC = 020000
  22159. const m_O_CLOEXEC = 02000000
  22160. const m_O_CREAT = 0100
  22161. const m_O_DIRECT = 0200000
  22162. const m_O_DIRECTORY = 040000
  22163. const m_O_DSYNC = 010000
  22164. const m_O_EXCL = 0200
  22165. const m_O_EXEC = "O_PATH"
  22166. const m_O_LARGEFILE = 0400000
  22167. const m_O_NDELAY = "O_NONBLOCK"
  22168. const m_O_NOATIME = 01000000
  22169. const m_O_NOCTTY = 0400
  22170. const m_O_NOFOLLOW = 0100000
  22171. const m_O_NONBLOCK = 04000
  22172. const m_O_PATH = 010000000
  22173. const m_O_RDONLY = 00
  22174. const m_O_RDWR = 02
  22175. const m_O_RSYNC = 04010000
  22176. const m_O_SEARCH = "O_PATH"
  22177. const m_O_SYNC = 04010000
  22178. const m_O_TMPFILE = 020040000
  22179. const m_O_TRUNC = 01000
  22180. const m_O_TTY_INIT = 0
  22181. const m_O_WRONLY = 01
  22182. const m_POSIX_FADV_DONTNEED = 4
  22183. const m_POSIX_FADV_NOREUSE = 5
  22184. const m_POSIX_FADV_NORMAL = 0
  22185. const m_POSIX_FADV_RANDOM = 1
  22186. const m_POSIX_FADV_SEQUENTIAL = 2
  22187. const m_POSIX_FADV_WILLNEED = 3
  22188. const m_P_tmpdir = "/tmp"
  22189. const m_RWF_WRITE_LIFE_NOT_SET = 0
  22190. const m_RWH_WRITE_LIFE_EXTREME = 5
  22191. const m_RWH_WRITE_LIFE_LONG = 4
  22192. const m_RWH_WRITE_LIFE_MEDIUM = 3
  22193. const m_RWH_WRITE_LIFE_NONE = 1
  22194. const m_RWH_WRITE_LIFE_SHORT = 2
  22195. const m_SPLICE_F_GIFT = 8
  22196. const m_SPLICE_F_MORE = 4
  22197. const m_SPLICE_F_MOVE = 1
  22198. const m_SPLICE_F_NONBLOCK = 2
  22199. const m_SYNC_FILE_RANGE_WAIT_AFTER = 4
  22200. const m_SYNC_FILE_RANGE_WAIT_BEFORE = 1
  22201. const m_SYNC_FILE_RANGE_WRITE = 2
  22202. const m_S_IRGRP = 0040
  22203. const m_S_IROTH = 0004
  22204. const m_S_IRUSR = 0400
  22205. const m_S_IRWXG = 0070
  22206. const m_S_IRWXO = 0007
  22207. const m_S_IRWXU = 0700
  22208. const m_S_ISGID = 02000
  22209. const m_S_ISUID = 04000
  22210. const m_S_ISVTX = 01000
  22211. const m_S_IWGRP = 0020
  22212. const m_S_IWOTH = 0002
  22213. const m_S_IWUSR = 0200
  22214. const m_S_IXGRP = 0010
  22215. const m_S_IXOTH = 0001
  22216. const m_S_IXUSR = 0100
  22217. const m_TMP_MAX = 10000
  22218. const m__IOFBF = 0
  22219. const m__IOLBF = 1
  22220. const m__IONBF = 2
  22221. const m__LARGEFILE_SOURCE = 1
  22222. const m_creat64 = "creat"
  22223. const m_fallocate64 = "fallocate"
  22224. const m_fgetpos64 = "fgetpos"
  22225. const m_flock64 = "flock"
  22226. const m_fopen64 = "fopen"
  22227. const m_fpos64_t = "fpos_t"
  22228. const m_freopen64 = "freopen"
  22229. const m_fseeko64 = "fseeko"
  22230. const m_fsetpos64 = "fsetpos"
  22231. const m_ftello64 = "ftello"
  22232. const m_loff_t = "off_t"
  22233. const m_open64 = "open"
  22234. const m_openat64 = "openat"
  22235. const m_posix_fadvise64 = "posix_fadvise"
  22236. const m_posix_fallocate64 = "posix_fallocate"
  22237. const m_tmpfile64 = "tmpfile"
  22238. type t__isoc_va_list = uintptr
  22239. type Tfpos_t = struct {
  22240. F__lldata [0]int64
  22241. F__align [0]float64
  22242. F__opaque [16]uint8
  22243. }
  22244. type T_G_fpos64_t = Tfpos_t
  22245. type Tcookie_io_functions_t = struct {
  22246. Fread uintptr
  22247. Fwrite uintptr
  22248. Fseek uintptr
  22249. Fclose1 uintptr
  22250. }
  22251. type T_IO_cookie_io_functions_t = Tcookie_io_functions_t
  22252. type Tiovec = struct {
  22253. Fiov_base uintptr
  22254. Fiov_len Tsize_t
  22255. }
  22256. type Tflock = struct {
  22257. Fl_type int16
  22258. Fl_whence int16
  22259. Fl_start Toff_t
  22260. Fl_len Toff_t
  22261. Fl_pid Tpid_t
  22262. }
  22263. type Tfile_handle = struct {
  22264. Fhandle_bytes uint32
  22265. Fhandle_type int32
  22266. }
  22267. type Tf_owner_ex = struct {
  22268. Ftype1 int32
  22269. Fpid Tpid_t
  22270. }
  22271. type Tgz_state = struct {
  22272. Fx TgzFile_s
  22273. Fmode int32
  22274. Ffd int32
  22275. Fpath uintptr
  22276. Fsize uint32
  22277. Fwant uint32
  22278. Fin uintptr
  22279. Fout uintptr
  22280. Fdirect int32
  22281. Fhow int32
  22282. Fstart Toff_t
  22283. Feof int32
  22284. Fpast int32
  22285. Flevel int32
  22286. Fstrategy int32
  22287. Freset int32
  22288. Fskip Toff_t
  22289. Fseek int32
  22290. Ferr int32
  22291. Fmsg uintptr
  22292. Fstrm Tz_stream
  22293. }
  22294. type Tgz_statep = uintptr
  22295. func XzlibVersion(tls *libc.TLS) (r uintptr) {
  22296. return __ccgo_ts
  22297. }
  22298. func XzlibCompileFlags(tls *libc.TLS) (r TuLong) {
  22299. var flags TuLong
  22300. _ = flags
  22301. flags = uint64(0)
  22302. switch libc.Int32FromUint64(libc.Uint64FromInt64(4)) {
  22303. case int32(2):
  22304. case int32(4):
  22305. flags += uint64(1)
  22306. case int32(8):
  22307. flags += uint64(2)
  22308. default:
  22309. flags += uint64(3)
  22310. }
  22311. switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
  22312. case int32(2):
  22313. case int32(4):
  22314. flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(2))
  22315. case int32(8):
  22316. flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(2))
  22317. default:
  22318. flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(2))
  22319. }
  22320. switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
  22321. case int32(2):
  22322. case int32(4):
  22323. flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(4))
  22324. case int32(8):
  22325. flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(4))
  22326. default:
  22327. flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(4))
  22328. }
  22329. switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
  22330. case int32(2):
  22331. case int32(4):
  22332. flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(6))
  22333. case int32(8):
  22334. flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(6))
  22335. default:
  22336. flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(6))
  22337. }
  22338. /*
  22339. #if defined(ASMV) || defined(ASMINF)
  22340. flags += 1 << 9;
  22341. #endif
  22342. */
  22343. return flags
  22344. }
  22345. // C documentation
  22346. //
  22347. // /* exported to allow conversion of error code to string for compress() and
  22348. // * uncompress()
  22349. // */
  22350. func XzError(tls *libc.TLS, err int32) (r uintptr) {
  22351. var v1 int32
  22352. _ = v1
  22353. if err < -int32(6) || err > int32(2) {
  22354. v1 = int32(9)
  22355. } else {
  22356. v1 = int32(2) - err
  22357. }
  22358. return Xz_errmsg[v1]
  22359. }
  22360. func Xzcalloc(tls *libc.TLS, opaque Tvoidpf, items uint32, size uint32) (r Tvoidpf) {
  22361. _ = opaque
  22362. return libc.Xmalloc(tls, uint64(items*size))
  22363. }
  22364. func Xzcfree(tls *libc.TLS, opaque Tvoidpf, ptr Tvoidpf) {
  22365. _ = opaque
  22366. libc.Xfree(tls, ptr)
  22367. }
  22368. // C documentation
  22369. //
  22370. // /* ===========================================================================
  22371. // Compresses the source buffer into the destination buffer. The level
  22372. // parameter has the same meaning as in deflateInit. sourceLen is the byte
  22373. // length of the source buffer. Upon entry, destLen is the total size of the
  22374. // destination buffer, which must be at least 0.1% larger than sourceLen plus
  22375. // 12 bytes. Upon exit, destLen is the actual size of the compressed buffer.
  22376. //
  22377. // compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
  22378. // memory, Z_BUF_ERROR if there was not enough room in the output buffer,
  22379. // Z_STREAM_ERROR if the level parameter is invalid.
  22380. // */
  22381. func Xcompress2(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen TuLong, level int32) (r int32) {
  22382. bp := tls.Alloc(112)
  22383. defer tls.Free(112)
  22384. var err, v3, v4 int32
  22385. var left TuLong
  22386. var max TuInt
  22387. var v1, v2 uint32
  22388. var _ /* stream at bp+0 */ Tz_stream
  22389. _, _, _, _, _, _, _ = err, left, max, v1, v2, v3, v4
  22390. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  22391. left = *(*TuLongf)(unsafe.Pointer(destLen))
  22392. *(*TuLongf)(unsafe.Pointer(destLen)) = uint64(0)
  22393. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzalloc = libc.UintptrFromInt32(0)
  22394. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzfree = libc.UintptrFromInt32(0)
  22395. (*(*Tz_stream)(unsafe.Pointer(bp))).Fopaque = libc.UintptrFromInt32(0)
  22396. err = XdeflateInit_(tls, bp, level, __ccgo_ts, libc.Int32FromInt64(112))
  22397. if err != m_Z_OK {
  22398. return err
  22399. }
  22400. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_out = dest
  22401. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = uint32(0)
  22402. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_in = source
  22403. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = uint32(0)
  22404. for cond := true; cond; cond = err == m_Z_OK {
  22405. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out == uint32(0) {
  22406. if left > uint64(max) {
  22407. v1 = max
  22408. } else {
  22409. v1 = uint32(left)
  22410. }
  22411. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = v1
  22412. left -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out)
  22413. }
  22414. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in == uint32(0) {
  22415. if sourceLen > uint64(max) {
  22416. v2 = max
  22417. } else {
  22418. v2 = uint32(sourceLen)
  22419. }
  22420. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = v2
  22421. sourceLen -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
  22422. }
  22423. if sourceLen != 0 {
  22424. v3 = m_Z_NO_FLUSH
  22425. } else {
  22426. v3 = int32(m_Z_FINISH)
  22427. }
  22428. err = Xdeflate(tls, bp, v3)
  22429. }
  22430. *(*TuLongf)(unsafe.Pointer(destLen)) = (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out
  22431. XdeflateEnd(tls, bp)
  22432. if err == int32(m_Z_STREAM_END) {
  22433. v4 = m_Z_OK
  22434. } else {
  22435. v4 = err
  22436. }
  22437. return v4
  22438. }
  22439. // C documentation
  22440. //
  22441. // /* ===========================================================================
  22442. // */
  22443. func Xcompress(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen TuLong) (r int32) {
  22444. return Xcompress2(tls, dest, destLen, source, sourceLen, -int32(1))
  22445. }
  22446. // C documentation
  22447. //
  22448. // /* ===========================================================================
  22449. // If the default memLevel or windowBits for deflateInit() is changed, then
  22450. // this function needs to be updated.
  22451. // */
  22452. func XcompressBound(tls *libc.TLS, sourceLen TuLong) (r TuLong) {
  22453. return sourceLen + sourceLen>>libc.Int32FromInt32(12) + sourceLen>>libc.Int32FromInt32(14) + sourceLen>>libc.Int32FromInt32(25) + uint64(13)
  22454. }
  22455. // C documentation
  22456. //
  22457. // /* ===========================================================================
  22458. // Decompresses the source buffer into the destination buffer. *sourceLen is
  22459. // the byte length of the source buffer. Upon entry, *destLen is the total size
  22460. // of the destination buffer, which must be large enough to hold the entire
  22461. // uncompressed data. (The size of the uncompressed data must have been saved
  22462. // previously by the compressor and transmitted to the decompressor by some
  22463. // mechanism outside the scope of this compression library.) Upon exit,
  22464. // *destLen is the size of the decompressed data and *sourceLen is the number
  22465. // of source bytes consumed. Upon return, source + *sourceLen points to the
  22466. // first unused input byte.
  22467. //
  22468. // uncompress returns Z_OK if success, Z_MEM_ERROR if there was not enough
  22469. // memory, Z_BUF_ERROR if there was not enough room in the output buffer, or
  22470. // Z_DATA_ERROR if the input data was corrupted, including if the input data is
  22471. // an incomplete zlib stream.
  22472. // */
  22473. func Xuncompress2(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen uintptr) (r int32) {
  22474. bp := tls.Alloc(128)
  22475. defer tls.Free(128)
  22476. var err, v3, v4, v5 int32
  22477. var left, len1 TuLong
  22478. var max TuInt
  22479. var v1, v2 uint32
  22480. var _ /* buf at bp+112 */ [1]TByte
  22481. var _ /* stream at bp+0 */ Tz_stream
  22482. _, _, _, _, _, _, _, _, _ = err, left, len1, max, v1, v2, v3, v4, v5
  22483. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1)) /* for detection of incomplete stream when *destLen == 0 */
  22484. len1 = *(*TuLong)(unsafe.Pointer(sourceLen))
  22485. if *(*TuLongf)(unsafe.Pointer(destLen)) != 0 {
  22486. left = *(*TuLongf)(unsafe.Pointer(destLen))
  22487. *(*TuLongf)(unsafe.Pointer(destLen)) = uint64(0)
  22488. } else {
  22489. left = uint64(1)
  22490. dest = bp + 112
  22491. }
  22492. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_in = source
  22493. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = uint32(0)
  22494. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzalloc = libc.UintptrFromInt32(0)
  22495. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzfree = libc.UintptrFromInt32(0)
  22496. (*(*Tz_stream)(unsafe.Pointer(bp))).Fopaque = libc.UintptrFromInt32(0)
  22497. err = XinflateInit_(tls, bp, __ccgo_ts, libc.Int32FromInt64(112))
  22498. if err != m_Z_OK {
  22499. return err
  22500. }
  22501. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_out = dest
  22502. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = uint32(0)
  22503. for cond := true; cond; cond = err == m_Z_OK {
  22504. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out == uint32(0) {
  22505. if left > uint64(max) {
  22506. v1 = max
  22507. } else {
  22508. v1 = uint32(left)
  22509. }
  22510. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = v1
  22511. left -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out)
  22512. }
  22513. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in == uint32(0) {
  22514. if len1 > uint64(max) {
  22515. v2 = max
  22516. } else {
  22517. v2 = uint32(len1)
  22518. }
  22519. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = v2
  22520. len1 -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
  22521. }
  22522. err = Xinflate(tls, bp, m_Z_NO_FLUSH)
  22523. }
  22524. *(*TuLong)(unsafe.Pointer(sourceLen)) -= len1 + uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
  22525. if dest != bp+112 {
  22526. *(*TuLongf)(unsafe.Pointer(destLen)) = (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out
  22527. } else {
  22528. if (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out != 0 && err == -int32(5) {
  22529. left = uint64(1)
  22530. }
  22531. }
  22532. XinflateEnd(tls, bp)
  22533. if err == int32(m_Z_STREAM_END) {
  22534. v3 = m_Z_OK
  22535. } else {
  22536. if err == int32(m_Z_NEED_DICT) {
  22537. v4 = -int32(3)
  22538. } else {
  22539. if err == -int32(5) && left+uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out) != 0 {
  22540. v5 = -int32(3)
  22541. } else {
  22542. v5 = err
  22543. }
  22544. v4 = v5
  22545. }
  22546. v3 = v4
  22547. }
  22548. return v3
  22549. }
  22550. func Xuncompress(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, _sourceLen TuLong) (r int32) {
  22551. bp := tls.Alloc(16)
  22552. defer tls.Free(16)
  22553. *(*TuLong)(unsafe.Pointer(bp)) = _sourceLen
  22554. return Xuncompress2(tls, dest, destLen, source, bp)
  22555. }
  22556. // C documentation
  22557. //
  22558. // /* gzclose() is in a separate file so that it is linked in only if it is used.
  22559. // That way the other gzclose functions can be used instead to avoid linking in
  22560. // unneeded compression or decompression routines. */
  22561. func Xgzclose(tls *libc.TLS, file TgzFile) (r int32) {
  22562. var state Tgz_statep
  22563. var v1 int32
  22564. _, _ = state, v1
  22565. if file == libc.UintptrFromInt32(0) {
  22566. return -int32(2)
  22567. }
  22568. state = file
  22569. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  22570. v1 = Xgzclose_r(tls, file)
  22571. } else {
  22572. v1 = Xgzclose_w(tls, file)
  22573. }
  22574. return v1
  22575. }
  22576. const m_INT_MAX1 = 2147483647
  22577. const m_LSEEK = "lseek"
  22578. const m_O_APPEND1 = 1024
  22579. const m_O_CLOEXEC1 = 524288
  22580. const m_O_CREAT1 = 64
  22581. const m_O_EXCL1 = 128
  22582. const m_O_LARGEFILE1 = 131072
  22583. const m_O_RDONLY1 = 0
  22584. const m_O_TRUNC1 = 512
  22585. const m_O_WRONLY1 = 1
  22586. // C documentation
  22587. //
  22588. // /* Reset gzip file state */
  22589. func _gz_reset(tls *libc.TLS, state Tgz_statep) {
  22590. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0) /* no output data available */
  22591. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) { /* for reading ... */
  22592. (*Tgz_state)(unsafe.Pointer(state)).Feof = 0 /* not at end of file */
  22593. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0 /* have not read past end yet */
  22594. (*Tgz_state)(unsafe.Pointer(state)).Fhow = m_LOOK /* look for gzip header */
  22595. } else { /* for writing ... */
  22596. (*Tgz_state)(unsafe.Pointer(state)).Freset = 0
  22597. } /* no deflateReset pending */
  22598. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0 /* no seek request pending */
  22599. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0)) /* clear error */
  22600. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos = 0 /* no uncompressed data yet */
  22601. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0) /* no input data yet */
  22602. }
  22603. // C documentation
  22604. //
  22605. // /* Open a gzip file either by name or file descriptor. */
  22606. func _gz_open(tls *libc.TLS, path uintptr, fd int32, mode uintptr) (r TgzFile) {
  22607. bp := tls.Alloc(16)
  22608. defer tls.Free(16)
  22609. var cloexec, exclusive, oflag, v1, v2, v3, v4, v5 int32
  22610. var len1 Tz_size_t
  22611. var state Tgz_statep
  22612. _, _, _, _, _, _, _, _, _, _ = cloexec, exclusive, len1, oflag, state, v1, v2, v3, v4, v5
  22613. cloexec = 0
  22614. exclusive = 0
  22615. /* check input */
  22616. if path == libc.UintptrFromInt32(0) {
  22617. return libc.UintptrFromInt32(0)
  22618. }
  22619. /* allocate gzFile structure to return */
  22620. state = libc.Xmalloc(tls, uint64(240))
  22621. if state == libc.UintptrFromInt32(0) {
  22622. return libc.UintptrFromInt32(0)
  22623. }
  22624. (*Tgz_state)(unsafe.Pointer(state)).Fsize = uint32(0) /* no buffers allocated yet */
  22625. (*Tgz_state)(unsafe.Pointer(state)).Fwant = uint32(m_GZBUFSIZE) /* requested buffer size */
  22626. (*Tgz_state)(unsafe.Pointer(state)).Fmsg = libc.UintptrFromInt32(0) /* no error message yet */
  22627. /* interpret mode */
  22628. (*Tgz_state)(unsafe.Pointer(state)).Fmode = m_GZ_NONE
  22629. (*Tgz_state)(unsafe.Pointer(state)).Flevel = -int32(1)
  22630. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = m_Z_DEFAULT_STRATEGY
  22631. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = 0
  22632. for *(*uint8)(unsafe.Pointer(mode)) != 0 {
  22633. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(mode))) >= int32('0') && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(mode))) <= int32('9') {
  22634. (*Tgz_state)(unsafe.Pointer(state)).Flevel = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(mode))) - int32('0')
  22635. } else {
  22636. switch libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(mode))) {
  22637. case int32('r'):
  22638. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_READ)
  22639. case int32('w'):
  22640. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_WRITE)
  22641. case int32('a'):
  22642. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_APPEND)
  22643. case int32('+'): /* can't read and write at the same time */
  22644. libc.Xfree(tls, state)
  22645. return libc.UintptrFromInt32(0)
  22646. case int32('b'): /* ignore -- will request binary anyway */
  22647. case int32('e'):
  22648. cloexec = int32(1)
  22649. case int32('x'):
  22650. exclusive = int32(1)
  22651. case int32('f'):
  22652. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_FILTERED)
  22653. case int32('h'):
  22654. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_HUFFMAN_ONLY)
  22655. case int32('R'):
  22656. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_RLE)
  22657. case int32('F'):
  22658. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_FIXED)
  22659. case int32('T'):
  22660. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1)
  22661. default: /* could consider as an error, but just ignore */
  22662. }
  22663. }
  22664. mode++
  22665. }
  22666. /* must provide an "r", "w", or "a" */
  22667. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == m_GZ_NONE {
  22668. libc.Xfree(tls, state)
  22669. return libc.UintptrFromInt32(0)
  22670. }
  22671. /* can't force transparent read */
  22672. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  22673. if (*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0 {
  22674. libc.Xfree(tls, state)
  22675. return libc.UintptrFromInt32(0)
  22676. }
  22677. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1) /* for empty file */
  22678. }
  22679. /* save the path name for error messages */
  22680. len1 = libc.Xstrlen(tls, path)
  22681. (*Tgz_state)(unsafe.Pointer(state)).Fpath = libc.Xmalloc(tls, len1+uint64(1))
  22682. if (*Tgz_state)(unsafe.Pointer(state)).Fpath == libc.UintptrFromInt32(0) {
  22683. libc.Xfree(tls, state)
  22684. return libc.UintptrFromInt32(0)
  22685. }
  22686. libc.X__builtin_snprintf(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath, len1+uint64(1), __ccgo_ts+584, libc.VaList(bp+8, path))
  22687. /* compute the flags for open() */
  22688. if cloexec != 0 {
  22689. v1 = int32(m_O_CLOEXEC1)
  22690. } else {
  22691. v1 = 0
  22692. }
  22693. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  22694. v2 = m_O_RDONLY1
  22695. } else {
  22696. if exclusive != 0 {
  22697. v3 = int32(m_O_EXCL1)
  22698. } else {
  22699. v3 = 0
  22700. }
  22701. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_WRITE) {
  22702. v4 = int32(m_O_TRUNC1)
  22703. } else {
  22704. v4 = int32(m_O_APPEND1)
  22705. }
  22706. v2 = libc.Int32FromInt32(m_O_WRONLY1) | libc.Int32FromInt32(m_O_CREAT1) | v3 | v4
  22707. }
  22708. oflag = int32(m_O_LARGEFILE1) | v1 | v2
  22709. /* open the file with the appropriate flags (or just use fd) */
  22710. if fd > -int32(1) {
  22711. v5 = fd
  22712. } else {
  22713. v5 = libc.Xopen(tls, path, oflag, libc.VaList(bp+8, int32(0666)))
  22714. }
  22715. (*Tgz_state)(unsafe.Pointer(state)).Ffd = v5
  22716. if (*Tgz_state)(unsafe.Pointer(state)).Ffd == -int32(1) {
  22717. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
  22718. libc.Xfree(tls, state)
  22719. return libc.UintptrFromInt32(0)
  22720. }
  22721. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_APPEND) {
  22722. libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(2)) /* so gzoffset() is correct */
  22723. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_WRITE) /* simplify later checks */
  22724. }
  22725. /* save the current position for rewinding (only if reading) */
  22726. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  22727. (*Tgz_state)(unsafe.Pointer(state)).Fstart = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(1))
  22728. if (*Tgz_state)(unsafe.Pointer(state)).Fstart == int64(-int32(1)) {
  22729. (*Tgz_state)(unsafe.Pointer(state)).Fstart = 0
  22730. }
  22731. }
  22732. /* initialize stream */
  22733. _gz_reset(tls, state)
  22734. /* return stream */
  22735. return state
  22736. }
  22737. // C documentation
  22738. //
  22739. // /* -- see zlib.h -- */
  22740. func Xgzopen(tls *libc.TLS, path uintptr, mode uintptr) (r TgzFile) {
  22741. return _gz_open(tls, path, -int32(1), mode)
  22742. }
  22743. // C documentation
  22744. //
  22745. // /* -- see zlib.h -- */
  22746. func Xgzopen64(tls *libc.TLS, path uintptr, mode uintptr) (r TgzFile) {
  22747. return _gz_open(tls, path, -int32(1), mode)
  22748. }
  22749. // C documentation
  22750. //
  22751. // /* -- see zlib.h -- */
  22752. func Xgzdopen(tls *libc.TLS, fd int32, mode uintptr) (r TgzFile) {
  22753. bp := tls.Alloc(16)
  22754. defer tls.Free(16)
  22755. var gz TgzFile
  22756. var path, v1 uintptr
  22757. var v2 bool
  22758. _, _, _, _ = gz, path, v1, v2
  22759. if v2 = fd == -int32(1); !v2 {
  22760. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(7)+libc.Uint64FromInt32(3)*libc.Uint64FromInt64(4))
  22761. path = v1
  22762. }
  22763. if v2 || v1 == libc.UintptrFromInt32(0) {
  22764. return libc.UintptrFromInt32(0)
  22765. }
  22766. libc.X__builtin_snprintf(tls, path, libc.Uint64FromInt32(7)+libc.Uint64FromInt32(3)*libc.Uint64FromInt64(4), __ccgo_ts+587, libc.VaList(bp+8, fd))
  22767. gz = _gz_open(tls, path, fd, mode)
  22768. libc.Xfree(tls, path)
  22769. return gz
  22770. }
  22771. /* -- see zlib.h -- */
  22772. // C documentation
  22773. //
  22774. // /* -- see zlib.h -- */
  22775. func Xgzbuffer(tls *libc.TLS, file TgzFile, size uint32) (r int32) {
  22776. var state Tgz_statep
  22777. _ = state
  22778. /* get internal structure and check integrity */
  22779. if file == libc.UintptrFromInt32(0) {
  22780. return -int32(1)
  22781. }
  22782. state = file
  22783. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  22784. return -int32(1)
  22785. }
  22786. /* make sure we haven't already allocated memory */
  22787. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != uint32(0) {
  22788. return -int32(1)
  22789. }
  22790. /* check and set requested size */
  22791. if size<<int32(1) < size {
  22792. return -int32(1)
  22793. } /* need to be able to double it */
  22794. if size < uint32(8) {
  22795. size = uint32(8)
  22796. } /* needed to behave well with flushing */
  22797. (*Tgz_state)(unsafe.Pointer(state)).Fwant = size
  22798. return 0
  22799. }
  22800. // C documentation
  22801. //
  22802. // /* -- see zlib.h -- */
  22803. func Xgzrewind(tls *libc.TLS, file TgzFile) (r int32) {
  22804. var state Tgz_statep
  22805. _ = state
  22806. /* get internal structure */
  22807. if file == libc.UintptrFromInt32(0) {
  22808. return -int32(1)
  22809. }
  22810. state = file
  22811. /* check that we're reading and that there's no error */
  22812. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  22813. return -int32(1)
  22814. }
  22815. /* back up and start over */
  22816. if libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tgz_state)(unsafe.Pointer(state)).Fstart, 0) == int64(-int32(1)) {
  22817. return -int32(1)
  22818. }
  22819. _gz_reset(tls, state)
  22820. return 0
  22821. }
  22822. // C documentation
  22823. //
  22824. // /* -- see zlib.h -- */
  22825. func Xgzseek64(tls *libc.TLS, file TgzFile, offset Toff_t, whence int32) (r Toff_t) {
  22826. var n, v1 uint32
  22827. var ret Toff_t
  22828. var state Tgz_statep
  22829. _, _, _, _ = n, ret, state, v1
  22830. /* get internal structure and check integrity */
  22831. if file == libc.UintptrFromInt32(0) {
  22832. return int64(-int32(1))
  22833. }
  22834. state = file
  22835. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  22836. return int64(-int32(1))
  22837. }
  22838. /* check that there's no error */
  22839. if (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  22840. return int64(-int32(1))
  22841. }
  22842. /* can only seek from start or relative to current position */
  22843. if whence != 0 && whence != int32(1) {
  22844. return int64(-int32(1))
  22845. }
  22846. /* normalize offset to a SEEK_CUR specification */
  22847. if whence == 0 {
  22848. offset -= (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
  22849. } else {
  22850. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  22851. offset += (*Tgz_state)(unsafe.Pointer(state)).Fskip
  22852. }
  22853. }
  22854. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  22855. /* if within raw area while reading, just go there */
  22856. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fhow == int32(m_COPY) && (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos+offset >= 0 {
  22857. ret = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, offset-libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave), int32(1))
  22858. if ret == int64(-int32(1)) {
  22859. return int64(-int32(1))
  22860. }
  22861. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  22862. (*Tgz_state)(unsafe.Pointer(state)).Feof = 0
  22863. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  22864. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  22865. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  22866. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0)
  22867. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += offset
  22868. return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
  22869. }
  22870. /* calculate skip amount, rewinding if needed for back seek when reading */
  22871. if offset < 0 {
  22872. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) { /* writing -- can't go backwards */
  22873. return int64(-int32(1))
  22874. }
  22875. offset += (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
  22876. if offset < 0 { /* before start of file! */
  22877. return int64(-int32(1))
  22878. }
  22879. if Xgzrewind(tls, file) == -int32(1) { /* rewind, then skip to offset */
  22880. return int64(-int32(1))
  22881. }
  22882. }
  22883. /* if reading, skip what's in output buffer (one less gzgetc() check) */
  22884. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  22885. if libc.Bool(libc.Bool(uint64(4) == uint64(8)) && (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave > Xgz_intmax(tls)) || libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave) > offset {
  22886. v1 = libc.Uint32FromInt64(offset)
  22887. } else {
  22888. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  22889. }
  22890. n = v1
  22891. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
  22892. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
  22893. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  22894. offset -= libc.Int64FromUint32(n)
  22895. }
  22896. /* request skip (if not zero) */
  22897. if offset != 0 {
  22898. (*Tgz_state)(unsafe.Pointer(state)).Fseek = int32(1)
  22899. (*Tgz_state)(unsafe.Pointer(state)).Fskip = offset
  22900. }
  22901. return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos + offset
  22902. }
  22903. // C documentation
  22904. //
  22905. // /* -- see zlib.h -- */
  22906. func Xgzseek(tls *libc.TLS, file TgzFile, offset Toff_t, whence int32) (r Toff_t) {
  22907. var ret Toff_t
  22908. var v1 int64
  22909. _, _ = ret, v1
  22910. ret = Xgzseek64(tls, file, offset, whence)
  22911. if ret == ret {
  22912. v1 = ret
  22913. } else {
  22914. v1 = int64(-int32(1))
  22915. }
  22916. return v1
  22917. }
  22918. // C documentation
  22919. //
  22920. // /* -- see zlib.h -- */
  22921. func Xgztell64(tls *libc.TLS, file TgzFile) (r Toff_t) {
  22922. var state Tgz_statep
  22923. var v1 int64
  22924. _, _ = state, v1
  22925. /* get internal structure and check integrity */
  22926. if file == libc.UintptrFromInt32(0) {
  22927. return int64(-int32(1))
  22928. }
  22929. state = file
  22930. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  22931. return int64(-int32(1))
  22932. }
  22933. /* return position */
  22934. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  22935. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fskip
  22936. } else {
  22937. v1 = 0
  22938. }
  22939. return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos + v1
  22940. }
  22941. // C documentation
  22942. //
  22943. // /* -- see zlib.h -- */
  22944. func Xgztell(tls *libc.TLS, file TgzFile) (r Toff_t) {
  22945. var ret Toff_t
  22946. var v1 int64
  22947. _, _ = ret, v1
  22948. ret = Xgztell64(tls, file)
  22949. if ret == ret {
  22950. v1 = ret
  22951. } else {
  22952. v1 = int64(-int32(1))
  22953. }
  22954. return v1
  22955. }
  22956. // C documentation
  22957. //
  22958. // /* -- see zlib.h -- */
  22959. func Xgzoffset64(tls *libc.TLS, file TgzFile) (r Toff_t) {
  22960. var offset Toff_t
  22961. var state Tgz_statep
  22962. _, _ = offset, state
  22963. /* get internal structure and check integrity */
  22964. if file == libc.UintptrFromInt32(0) {
  22965. return int64(-int32(1))
  22966. }
  22967. state = file
  22968. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  22969. return int64(-int32(1))
  22970. }
  22971. /* compute and return effective offset in file */
  22972. offset = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(1))
  22973. if offset == int64(-int32(1)) {
  22974. return int64(-int32(1))
  22975. }
  22976. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) { /* reading */
  22977. offset -= libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in)
  22978. } /* don't count buffered input */
  22979. return offset
  22980. }
  22981. // C documentation
  22982. //
  22983. // /* -- see zlib.h -- */
  22984. func Xgzoffset(tls *libc.TLS, file TgzFile) (r Toff_t) {
  22985. var ret Toff_t
  22986. var v1 int64
  22987. _, _ = ret, v1
  22988. ret = Xgzoffset64(tls, file)
  22989. if ret == ret {
  22990. v1 = ret
  22991. } else {
  22992. v1 = int64(-int32(1))
  22993. }
  22994. return v1
  22995. }
  22996. // C documentation
  22997. //
  22998. // /* -- see zlib.h -- */
  22999. func Xgzeof(tls *libc.TLS, file TgzFile) (r int32) {
  23000. var state Tgz_statep
  23001. var v1 int32
  23002. _, _ = state, v1
  23003. /* get internal structure and check integrity */
  23004. if file == libc.UintptrFromInt32(0) {
  23005. return 0
  23006. }
  23007. state = file
  23008. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  23009. return 0
  23010. }
  23011. /* return end-of-file state */
  23012. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  23013. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fpast
  23014. } else {
  23015. v1 = 0
  23016. }
  23017. return v1
  23018. }
  23019. // C documentation
  23020. //
  23021. // /* -- see zlib.h -- */
  23022. func Xgzerror(tls *libc.TLS, file TgzFile, errnum uintptr) (r uintptr) {
  23023. var state Tgz_statep
  23024. var v1, v2 uintptr
  23025. _, _, _ = state, v1, v2
  23026. /* get internal structure and check integrity */
  23027. if file == libc.UintptrFromInt32(0) {
  23028. return libc.UintptrFromInt32(0)
  23029. }
  23030. state = file
  23031. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  23032. return libc.UintptrFromInt32(0)
  23033. }
  23034. /* return error information */
  23035. if errnum != libc.UintptrFromInt32(0) {
  23036. *(*int32)(unsafe.Pointer(errnum)) = (*Tgz_state)(unsafe.Pointer(state)).Ferr
  23037. }
  23038. if (*Tgz_state)(unsafe.Pointer(state)).Ferr == -int32(4) {
  23039. v1 = __ccgo_ts + 595
  23040. } else {
  23041. if (*Tgz_state)(unsafe.Pointer(state)).Fmsg == libc.UintptrFromInt32(0) {
  23042. v2 = __ccgo_ts + 494
  23043. } else {
  23044. v2 = (*Tgz_state)(unsafe.Pointer(state)).Fmsg
  23045. }
  23046. v1 = v2
  23047. }
  23048. return v1
  23049. }
  23050. // C documentation
  23051. //
  23052. // /* -- see zlib.h -- */
  23053. func Xgzclearerr(tls *libc.TLS, file TgzFile) {
  23054. var state Tgz_statep
  23055. _ = state
  23056. /* get internal structure and check integrity */
  23057. if file == libc.UintptrFromInt32(0) {
  23058. return
  23059. }
  23060. state = file
  23061. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  23062. return
  23063. }
  23064. /* clear error and end-of-file */
  23065. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  23066. (*Tgz_state)(unsafe.Pointer(state)).Feof = 0
  23067. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  23068. }
  23069. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  23070. }
  23071. // C documentation
  23072. //
  23073. // /* Create an error message in allocated memory and set state->err and
  23074. // state->msg accordingly. Free any previous error message already there. Do
  23075. // not try to free or allocate space if the error is Z_MEM_ERROR (out of
  23076. // memory). Simply save the error message as a static string. If there is an
  23077. // allocation failure constructing the error message, then convert the error to
  23078. // out of memory. */
  23079. func Xgz_error(tls *libc.TLS, state Tgz_statep, err int32, msg uintptr) {
  23080. bp := tls.Alloc(32)
  23081. defer tls.Free(32)
  23082. var v1 uintptr
  23083. _ = v1
  23084. /* free previously allocated message and clear */
  23085. if (*Tgz_state)(unsafe.Pointer(state)).Fmsg != libc.UintptrFromInt32(0) {
  23086. if (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(4) {
  23087. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fmsg)
  23088. }
  23089. (*Tgz_state)(unsafe.Pointer(state)).Fmsg = libc.UintptrFromInt32(0)
  23090. }
  23091. /* if fatal, set state->x.have to 0 so that the gzgetc() macro fails */
  23092. if err != m_Z_OK && err != -int32(5) {
  23093. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  23094. }
  23095. /* set error code, and if no message, then done */
  23096. (*Tgz_state)(unsafe.Pointer(state)).Ferr = err
  23097. if msg == libc.UintptrFromInt32(0) {
  23098. return
  23099. }
  23100. /* for an out of memory error, return literal string when requested */
  23101. if err == -int32(4) {
  23102. return
  23103. }
  23104. /* construct error message with path */
  23105. v1 = libc.Xmalloc(tls, libc.Xstrlen(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)+libc.Xstrlen(tls, msg)+uint64(3))
  23106. (*Tgz_state)(unsafe.Pointer(state)).Fmsg = v1
  23107. if v1 == libc.UintptrFromInt32(0) {
  23108. (*Tgz_state)(unsafe.Pointer(state)).Ferr = -int32(4)
  23109. return
  23110. }
  23111. libc.X__builtin_snprintf(tls, (*Tgz_state)(unsafe.Pointer(state)).Fmsg, libc.Xstrlen(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)+libc.Xstrlen(tls, msg)+uint64(3), __ccgo_ts+609, libc.VaList(bp+8, (*Tgz_state)(unsafe.Pointer(state)).Fpath, __ccgo_ts+616, msg))
  23112. }
  23113. // C documentation
  23114. //
  23115. // /* portably return maximum value for an int (when limits.h presumed not
  23116. // available) -- we need to do this to cover cases where 2's complement not
  23117. // used, since C standard permits 1's complement and sign-bit representations,
  23118. // otherwise we could just use ((unsigned)-1) >> 1 */
  23119. func Xgz_intmax(tls *libc.TLS) (r uint32) {
  23120. return uint32(m_INT_MAX1)
  23121. }
  23122. const m_INT_MAX2 = 0x7fffffff
  23123. const m_O_APPEND2 = 02000
  23124. const m_O_CLOEXEC2 = 02000000
  23125. const m_O_CREAT2 = 0100
  23126. const m_O_EXCL2 = 0200
  23127. const m_O_LARGEFILE2 = 0400000
  23128. const m_O_RDONLY2 = 00
  23129. const m_O_TRUNC2 = 01000
  23130. const m_O_WRONLY2 = 01
  23131. // C documentation
  23132. //
  23133. // /* Use read() to load a buffer -- return -1 on error, otherwise 0. Read from
  23134. // state->fd, and update state->eof, state->err, and state->msg as appropriate.
  23135. // This function needs to loop on read(), since read() is not guaranteed to
  23136. // read the number of bytes requested, depending on the type of descriptor. */
  23137. func _gz_load(tls *libc.TLS, state Tgz_statep, buf uintptr, len1 uint32, have uintptr) (r int32) {
  23138. var get, max uint32
  23139. var ret int32
  23140. _, _, _ = get, max, ret
  23141. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))>>libc.Int32FromInt32(2) + libc.Uint32FromInt32(1)
  23142. *(*uint32)(unsafe.Pointer(have)) = uint32(0)
  23143. for cond := true; cond; cond = *(*uint32)(unsafe.Pointer(have)) < len1 {
  23144. get = len1 - *(*uint32)(unsafe.Pointer(have))
  23145. if get > max {
  23146. get = max
  23147. }
  23148. ret = int32(libc.Xread(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, buf+uintptr(*(*uint32)(unsafe.Pointer(have))), uint64(get)))
  23149. if ret <= 0 {
  23150. break
  23151. }
  23152. *(*uint32)(unsafe.Pointer(have)) += libc.Uint32FromInt32(ret)
  23153. }
  23154. if ret < 0 {
  23155. Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))))
  23156. return -int32(1)
  23157. }
  23158. if ret == 0 {
  23159. (*Tgz_state)(unsafe.Pointer(state)).Feof = int32(1)
  23160. }
  23161. return 0
  23162. }
  23163. // C documentation
  23164. //
  23165. // /* Load up input buffer and set eof flag if last data loaded -- return -1 on
  23166. // error, 0 otherwise. Note that the eof flag is set when the end of the input
  23167. // file is reached, even though there may be unused data in the buffer. Once
  23168. // that data has been used, no more attempts will be made to read the file.
  23169. // If strm->avail_in != 0, then the current data is moved to the beginning of
  23170. // the input buffer, and then the remainder of the buffer is loaded with the
  23171. // available data from the input file. */
  23172. func _gz_avail(tls *libc.TLS, state Tgz_statep) (r int32) {
  23173. bp := tls.Alloc(16)
  23174. defer tls.Free(16)
  23175. var n, v1 uint32
  23176. var p, q, v3, v4 uintptr
  23177. var strm Tz_streamp
  23178. var _ /* got at bp+0 */ uint32
  23179. _, _, _, _, _, _, _ = n, p, q, strm, v1, v3, v4
  23180. strm = state + 128
  23181. if (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23182. return -int32(1)
  23183. }
  23184. if (*Tgz_state)(unsafe.Pointer(state)).Feof == 0 {
  23185. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 { /* copy what's there to the start */
  23186. p = (*Tgz_state)(unsafe.Pointer(state)).Fin
  23187. q = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  23188. n = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  23189. for {
  23190. v3 = p
  23191. p++
  23192. v4 = q
  23193. q++
  23194. *(*uint8)(unsafe.Pointer(v3)) = *(*uint8)(unsafe.Pointer(v4))
  23195. goto _2
  23196. _2:
  23197. ;
  23198. n--
  23199. v1 = n
  23200. if !(v1 != 0) {
  23201. break
  23202. }
  23203. }
  23204. }
  23205. if _gz_load(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fin+uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_in), (*Tgz_state)(unsafe.Pointer(state)).Fsize-(*Tz_stream)(unsafe.Pointer(strm)).Favail_in, bp) == -int32(1) {
  23206. return -int32(1)
  23207. }
  23208. *(*TuInt)(unsafe.Pointer(strm + 8)) += *(*uint32)(unsafe.Pointer(bp))
  23209. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  23210. }
  23211. return 0
  23212. }
  23213. // C documentation
  23214. //
  23215. // /* Look for gzip header, set up for inflate or copy. state->x.have must be 0.
  23216. // If this is the first time in, allocate required memory. state->how will be
  23217. // left unchanged if there is no more input data available, will be set to COPY
  23218. // if there is no gzip header and direct copying will be performed, or it will
  23219. // be set to GZIP for decompression. If direct copying, then leftover input
  23220. // data from the input buffer will be copied to the output buffer. In that
  23221. // case, all further file reads will be directly to either the output buffer or
  23222. // a user buffer. If decompressing, the inflate state will be initialized.
  23223. // gz_look() will return 0 on success or -1 on failure. */
  23224. func _gz_look(tls *libc.TLS, state Tgz_statep) (r int32) {
  23225. var strm Tz_streamp
  23226. _ = strm
  23227. strm = state + 128
  23228. /* allocate read buffers and inflate memory */
  23229. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) {
  23230. /* allocate buffers */
  23231. (*Tgz_state)(unsafe.Pointer(state)).Fin = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant))
  23232. (*Tgz_state)(unsafe.Pointer(state)).Fout = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant<<int32(1)))
  23233. if (*Tgz_state)(unsafe.Pointer(state)).Fin == libc.UintptrFromInt32(0) || (*Tgz_state)(unsafe.Pointer(state)).Fout == libc.UintptrFromInt32(0) {
  23234. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  23235. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  23236. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23237. return -int32(1)
  23238. }
  23239. (*Tgz_state)(unsafe.Pointer(state)).Fsize = (*Tgz_state)(unsafe.Pointer(state)).Fwant
  23240. /* allocate inflate memory */
  23241. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fzalloc = uintptr(m_Z_NULL)
  23242. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fzfree = uintptr(m_Z_NULL)
  23243. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fopaque = uintptr(m_Z_NULL)
  23244. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0)
  23245. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = uintptr(m_Z_NULL)
  23246. if XinflateInit2_(tls, state+128, libc.Int32FromInt32(15)+libc.Int32FromInt32(16), __ccgo_ts, libc.Int32FromInt64(112)) != m_Z_OK { /* gunzip */
  23247. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  23248. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  23249. (*Tgz_state)(unsafe.Pointer(state)).Fsize = uint32(0)
  23250. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23251. return -int32(1)
  23252. }
  23253. }
  23254. /* get at least the magic bytes in the input buffer */
  23255. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in < uint32(2) {
  23256. if _gz_avail(tls, state) == -int32(1) {
  23257. return -int32(1)
  23258. }
  23259. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  23260. return 0
  23261. }
  23262. }
  23263. /* look for gzip magic bytes -- if there, do gzip decoding (note: there is
  23264. a logical dilemma here when considering the case of a partially written
  23265. gzip file, to wit, if a single 31 byte is written, then we cannot tell
  23266. whether this is a single-byte file, or just a partially written gzip
  23267. file -- for here we assume that if a gzip file is being written, then
  23268. the header will be written in a single operation, so that reading a
  23269. single byte is sufficient indication that it is not a gzip file) */
  23270. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in > uint32(1) && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fnext_in))) == int32(31) && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fnext_in + 1))) == int32(139) {
  23271. XinflateReset(tls, strm)
  23272. (*Tgz_state)(unsafe.Pointer(state)).Fhow = int32(m_GZIP)
  23273. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = 0
  23274. return 0
  23275. }
  23276. /* no gzip header -- if we were decoding gzip before, then this is trailing
  23277. garbage. Ignore the trailing garbage and finish. */
  23278. if (*Tgz_state)(unsafe.Pointer(state)).Fdirect == 0 {
  23279. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = uint32(0)
  23280. (*Tgz_state)(unsafe.Pointer(state)).Feof = int32(1)
  23281. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  23282. return 0
  23283. }
  23284. /* doing raw i/o, copy any leftover input to output -- this assumes that
  23285. the output buffer is larger than the input buffer, which also assures
  23286. space for gzungetc() */
  23287. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23288. libc.Xmemcpy(tls, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, uint64((*Tz_stream)(unsafe.Pointer(strm)).Favail_in))
  23289. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  23290. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = uint32(0)
  23291. (*Tgz_state)(unsafe.Pointer(state)).Fhow = int32(m_COPY)
  23292. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1)
  23293. return 0
  23294. }
  23295. // C documentation
  23296. //
  23297. // /* Decompress from input to the provided next_out and avail_out in the state.
  23298. // On return, state->x.have and state->x.next point to the just decompressed
  23299. // data. If the gzip stream completes, state->how is reset to LOOK to look for
  23300. // the next gzip stream or raw data, once state->x.have is depleted. Returns 0
  23301. // on success, -1 on failure. */
  23302. func _gz_decomp(tls *libc.TLS, state Tgz_statep) (r int32) {
  23303. var had uint32
  23304. var ret int32
  23305. var strm Tz_streamp
  23306. var v1 uintptr
  23307. _, _, _, _ = had, ret, strm, v1
  23308. ret = m_Z_OK
  23309. strm = state + 128
  23310. /* fill output buffer up to end of deflate stream */
  23311. had = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  23312. for cond := true; cond; cond = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out != 0 && ret != int32(m_Z_STREAM_END) {
  23313. /* get more input for inflate() */
  23314. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) && _gz_avail(tls, state) == -int32(1) {
  23315. return -int32(1)
  23316. }
  23317. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  23318. Xgz_error(tls, state, -int32(5), __ccgo_ts+619)
  23319. break
  23320. }
  23321. /* decompress and handle errors */
  23322. ret = Xinflate(tls, strm, m_Z_NO_FLUSH)
  23323. if ret == -int32(2) || ret == int32(m_Z_NEED_DICT) {
  23324. Xgz_error(tls, state, -int32(2), __ccgo_ts+642)
  23325. return -int32(1)
  23326. }
  23327. if ret == -int32(4) {
  23328. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23329. return -int32(1)
  23330. }
  23331. if ret == -int32(3) { /* deflate stream invalid */
  23332. if (*Tz_stream)(unsafe.Pointer(strm)).Fmsg == libc.UintptrFromInt32(0) {
  23333. v1 = __ccgo_ts + 681
  23334. } else {
  23335. v1 = (*Tz_stream)(unsafe.Pointer(strm)).Fmsg
  23336. }
  23337. Xgz_error(tls, state, -int32(3), v1)
  23338. return -int32(1)
  23339. }
  23340. }
  23341. /* update available output */
  23342. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = had - (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  23343. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out - uintptr((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave)
  23344. /* if the gzip stream completed successfully, look for another */
  23345. if ret == int32(m_Z_STREAM_END) {
  23346. (*Tgz_state)(unsafe.Pointer(state)).Fhow = m_LOOK
  23347. }
  23348. /* good decompression */
  23349. return 0
  23350. }
  23351. // C documentation
  23352. //
  23353. // /* Fetch data and put it in the output buffer. Assumes state->x.have is 0.
  23354. // Data is either copied from the input file or decompressed from the input
  23355. // file depending on state->how. If state->how is LOOK, then a gzip header is
  23356. // looked for to determine whether to copy or decompress. Returns -1 on error,
  23357. // otherwise 0. gz_fetch() will leave state->how as COPY or GZIP unless the
  23358. // end of the input file has been reached and all data has been processed. */
  23359. func _gz_fetch(tls *libc.TLS, state Tgz_statep) (r int32) {
  23360. var strm Tz_streamp
  23361. _ = strm
  23362. strm = state + 128
  23363. for cond := true; cond; cond = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) && (!((*Tgz_state)(unsafe.Pointer(state)).Feof != 0) || (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0) {
  23364. switch (*Tgz_state)(unsafe.Pointer(state)).Fhow {
  23365. case m_LOOK: /* -> LOOK, COPY (only if never GZIP), or GZIP */
  23366. if _gz_look(tls, state) == -int32(1) {
  23367. return -int32(1)
  23368. }
  23369. if (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK {
  23370. return 0
  23371. }
  23372. case int32(m_COPY): /* -> COPY */
  23373. if _gz_load(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fout, (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1), state) == -int32(1) {
  23374. return -int32(1)
  23375. }
  23376. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23377. return 0
  23378. case int32(m_GZIP): /* -> GZIP or LOOK (if end of gzip stream) */
  23379. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize << int32(1)
  23380. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23381. if _gz_decomp(tls, state) == -int32(1) {
  23382. return -int32(1)
  23383. }
  23384. }
  23385. }
  23386. return 0
  23387. }
  23388. // C documentation
  23389. //
  23390. // /* Skip len uncompressed bytes of output. Return -1 on error, 0 on success. */
  23391. func _gz_skip(tls *libc.TLS, state Tgz_statep, len1 Toff_t) (r int32) {
  23392. var n, v1 uint32
  23393. _, _ = n, v1
  23394. /* skip over len bytes or reach end-of-file, whichever comes first */
  23395. for len1 != 0 {
  23396. /* skip over whatever is in output buffer */
  23397. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
  23398. if libc.Bool(libc.Bool(uint64(4) == uint64(8)) && (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave > Xgz_intmax(tls)) || libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave) > len1 {
  23399. v1 = libc.Uint32FromInt64(len1)
  23400. } else {
  23401. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  23402. }
  23403. n = v1
  23404. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
  23405. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
  23406. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  23407. len1 -= libc.Int64FromUint32(n)
  23408. } else {
  23409. if (*Tgz_state)(unsafe.Pointer(state)).Feof != 0 && (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
  23410. break
  23411. } else {
  23412. /* get more output, looking for header if required */
  23413. if _gz_fetch(tls, state) == -int32(1) {
  23414. return -int32(1)
  23415. }
  23416. }
  23417. }
  23418. }
  23419. return 0
  23420. }
  23421. // C documentation
  23422. //
  23423. // /* Read len bytes into buf from file, or less than len up to the end of the
  23424. // input. Return the number of bytes read. If zero is returned, either the
  23425. // end of file was reached, or there was an error. state->err must be
  23426. // consulted in that case to determine which. */
  23427. func _gz_read(tls *libc.TLS, state Tgz_statep, buf Tvoidp, len1 Tz_size_t) (r Tz_size_t) {
  23428. bp := tls.Alloc(16)
  23429. defer tls.Free(16)
  23430. var got Tz_size_t
  23431. var _ /* n at bp+0 */ uint32
  23432. _ = got
  23433. /* if len is zero, avoid unnecessary operations */
  23434. if len1 == uint64(0) {
  23435. return uint64(0)
  23436. }
  23437. /* process a skip request */
  23438. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  23439. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  23440. if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  23441. return uint64(0)
  23442. }
  23443. }
  23444. /* get len bytes to buf, or less than len if at the end */
  23445. got = uint64(0)
  23446. for cond := true; cond; cond = len1 != 0 {
  23447. /* set n to the maximum amount of len that fits in an unsigned int */
  23448. *(*uint32)(unsafe.Pointer(bp)) = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  23449. if uint64(*(*uint32)(unsafe.Pointer(bp))) > len1 {
  23450. *(*uint32)(unsafe.Pointer(bp)) = uint32(len1)
  23451. }
  23452. /* first just try copying data from the output buffer */
  23453. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
  23454. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave < *(*uint32)(unsafe.Pointer(bp)) {
  23455. *(*uint32)(unsafe.Pointer(bp)) = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  23456. }
  23457. libc.Xmemcpy(tls, buf, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(*(*uint32)(unsafe.Pointer(bp))))
  23458. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(*(*uint32)(unsafe.Pointer(bp)))
  23459. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= *(*uint32)(unsafe.Pointer(bp))
  23460. } else {
  23461. if (*Tgz_state)(unsafe.Pointer(state)).Feof != 0 && (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
  23462. (*Tgz_state)(unsafe.Pointer(state)).Fpast = int32(1) /* tried to read past end */
  23463. break
  23464. } else {
  23465. if (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK || *(*uint32)(unsafe.Pointer(bp)) < (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1) {
  23466. /* get more output, looking for header if required */
  23467. if _gz_fetch(tls, state) == -int32(1) {
  23468. return uint64(0)
  23469. }
  23470. continue /* no progress yet -- go back to copy above */
  23471. /* the copy above assures that we will leave with space in the
  23472. output buffer, allowing at least one gzungetc() to succeed */
  23473. } else {
  23474. if (*Tgz_state)(unsafe.Pointer(state)).Fhow == int32(m_COPY) { /* read directly */
  23475. if _gz_load(tls, state, buf, *(*uint32)(unsafe.Pointer(bp)), bp) == -int32(1) {
  23476. return uint64(0)
  23477. }
  23478. } else { /* state->how == GZIP */
  23479. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_out = *(*uint32)(unsafe.Pointer(bp))
  23480. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_out = buf
  23481. if _gz_decomp(tls, state) == -int32(1) {
  23482. return uint64(0)
  23483. }
  23484. *(*uint32)(unsafe.Pointer(bp)) = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  23485. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  23486. }
  23487. }
  23488. }
  23489. }
  23490. /* update progress */
  23491. len1 -= uint64(*(*uint32)(unsafe.Pointer(bp)))
  23492. buf = buf + uintptr(*(*uint32)(unsafe.Pointer(bp)))
  23493. got += uint64(*(*uint32)(unsafe.Pointer(bp)))
  23494. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(*(*uint32)(unsafe.Pointer(bp)))
  23495. }
  23496. /* return number of bytes read into user buffer */
  23497. return got
  23498. }
  23499. // C documentation
  23500. //
  23501. // /* -- see zlib.h -- */
  23502. func Xgzread(tls *libc.TLS, file TgzFile, buf Tvoidp, len1 uint32) (r int32) {
  23503. var state Tgz_statep
  23504. _ = state
  23505. /* get internal structure */
  23506. if file == libc.UintptrFromInt32(0) {
  23507. return -int32(1)
  23508. }
  23509. state = file
  23510. /* check that we're reading and that there's no (serious) error */
  23511. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23512. return -int32(1)
  23513. }
  23514. /* since an int is returned, make sure len fits in one, otherwise return
  23515. with an error (this avoids a flaw in the interface) */
  23516. if libc.Int32FromUint32(len1) < 0 {
  23517. Xgz_error(tls, state, -int32(2), __ccgo_ts+703)
  23518. return -int32(1)
  23519. }
  23520. /* read len or fewer bytes to buf */
  23521. len1 = uint32(_gz_read(tls, state, buf, uint64(len1)))
  23522. /* check for an error */
  23523. if len1 == uint32(0) && (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23524. return -int32(1)
  23525. }
  23526. /* return the number of bytes read (this is assured to fit in an int) */
  23527. return libc.Int32FromUint32(len1)
  23528. }
  23529. // C documentation
  23530. //
  23531. // /* -- see zlib.h -- */
  23532. func Xgzfread(tls *libc.TLS, buf Tvoidp, size Tz_size_t, nitems Tz_size_t, file TgzFile) (r Tz_size_t) {
  23533. var len1 Tz_size_t
  23534. var state Tgz_statep
  23535. var v1 uint64
  23536. _, _, _ = len1, state, v1
  23537. /* get internal structure */
  23538. if file == libc.UintptrFromInt32(0) {
  23539. return uint64(0)
  23540. }
  23541. state = file
  23542. /* check that we're reading and that there's no (serious) error */
  23543. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23544. return uint64(0)
  23545. }
  23546. /* compute bytes to read -- error on overflow */
  23547. len1 = nitems * size
  23548. if size != 0 && len1/size != nitems {
  23549. Xgz_error(tls, state, -int32(2), __ccgo_ts+734)
  23550. return uint64(0)
  23551. }
  23552. /* read len or fewer bytes to buf, return the number of full items read */
  23553. if len1 != 0 {
  23554. v1 = _gz_read(tls, state, buf, len1) / size
  23555. } else {
  23556. v1 = uint64(0)
  23557. }
  23558. return v1
  23559. }
  23560. // C documentation
  23561. //
  23562. // /* -- see zlib.h -- */
  23563. func Xgzgetc(tls *libc.TLS, file TgzFile) (r int32) {
  23564. bp := tls.Alloc(16)
  23565. defer tls.Free(16)
  23566. var state Tgz_statep
  23567. var v1, v2 uintptr
  23568. var v3 int32
  23569. var _ /* buf at bp+0 */ [1]uint8
  23570. _, _, _, _ = state, v1, v2, v3
  23571. /* get internal structure */
  23572. if file == libc.UintptrFromInt32(0) {
  23573. return -int32(1)
  23574. }
  23575. state = file
  23576. /* check that we're reading and that there's no (serious) error */
  23577. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23578. return -int32(1)
  23579. }
  23580. /* try output buffer (no need to check for skip request) */
  23581. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
  23582. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave--
  23583. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos++
  23584. v2 = state + 8
  23585. v1 = *(*uintptr)(unsafe.Pointer(v2))
  23586. *(*uintptr)(unsafe.Pointer(v2))++
  23587. return libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(v1)))
  23588. }
  23589. /* nothing there -- try gz_read() */
  23590. if _gz_read(tls, state, bp, uint64(1)) < uint64(1) {
  23591. v3 = -int32(1)
  23592. } else {
  23593. v3 = libc.Int32FromUint8((*(*[1]uint8)(unsafe.Pointer(bp)))[0])
  23594. }
  23595. return v3
  23596. }
  23597. func Xgzgetc_(tls *libc.TLS, file TgzFile) (r int32) {
  23598. return Xgzgetc(tls, file)
  23599. }
  23600. // C documentation
  23601. //
  23602. // /* -- see zlib.h -- */
  23603. func Xgzungetc(tls *libc.TLS, c int32, file TgzFile) (r int32) {
  23604. var dest, src, v1, v2 uintptr
  23605. var state Tgz_statep
  23606. _, _, _, _, _ = dest, src, state, v1, v2
  23607. /* get internal structure */
  23608. if file == libc.UintptrFromInt32(0) {
  23609. return -int32(1)
  23610. }
  23611. state = file
  23612. /* in case this was just opened, set up the input buffer */
  23613. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK && (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) {
  23614. _gz_look(tls, state)
  23615. }
  23616. /* check that we're reading and that there's no (serious) error */
  23617. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23618. return -int32(1)
  23619. }
  23620. /* process a skip request */
  23621. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  23622. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  23623. if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  23624. return -int32(1)
  23625. }
  23626. }
  23627. /* can't push EOF */
  23628. if c < 0 {
  23629. return -int32(1)
  23630. }
  23631. /* if output buffer empty, put byte at end (allows more pushing) */
  23632. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) {
  23633. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(1)
  23634. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize<<libc.Int32FromInt32(1)) - uintptr(1)
  23635. *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) = libc.Uint8FromInt32(c)
  23636. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos--
  23637. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  23638. return c
  23639. }
  23640. /* if no room, give up (must have already done a gzungetc()) */
  23641. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1) {
  23642. Xgz_error(tls, state, -int32(3), __ccgo_ts+767)
  23643. return -int32(1)
  23644. }
  23645. /* slide output data if needed and insert byte before existing data */
  23646. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext == (*Tgz_state)(unsafe.Pointer(state)).Fout {
  23647. src = (*Tgz_state)(unsafe.Pointer(state)).Fout + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave)
  23648. dest = (*Tgz_state)(unsafe.Pointer(state)).Fout + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize<<libc.Int32FromInt32(1))
  23649. for src > (*Tgz_state)(unsafe.Pointer(state)).Fout {
  23650. dest--
  23651. v1 = dest
  23652. src--
  23653. v2 = src
  23654. *(*uint8)(unsafe.Pointer(v1)) = *(*uint8)(unsafe.Pointer(v2))
  23655. }
  23656. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = dest
  23657. }
  23658. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave++
  23659. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext--
  23660. *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) = libc.Uint8FromInt32(c)
  23661. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos--
  23662. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  23663. return c
  23664. }
  23665. // C documentation
  23666. //
  23667. // /* -- see zlib.h -- */
  23668. func Xgzgets(tls *libc.TLS, file TgzFile, buf uintptr, len1 int32) (r uintptr) {
  23669. var eol, str uintptr
  23670. var left, n, v1 uint32
  23671. var state Tgz_statep
  23672. _, _, _, _, _, _ = eol, left, n, state, str, v1
  23673. /* check parameters and get internal structure */
  23674. if file == libc.UintptrFromInt32(0) || buf == libc.UintptrFromInt32(0) || len1 < int32(1) {
  23675. return libc.UintptrFromInt32(0)
  23676. }
  23677. state = file
  23678. /* check that we're reading and that there's no (serious) error */
  23679. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23680. return libc.UintptrFromInt32(0)
  23681. }
  23682. /* process a skip request */
  23683. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  23684. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  23685. if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  23686. return libc.UintptrFromInt32(0)
  23687. }
  23688. }
  23689. /* copy output bytes up to new line or len - 1, whichever comes first --
  23690. append a terminating zero to the string (we don't check for a zero in
  23691. the contents, let the user worry about that) */
  23692. str = buf
  23693. left = libc.Uint32FromInt32(len1) - uint32(1)
  23694. if left != 0 {
  23695. for cond := true; cond; cond = left != 0 && eol == libc.UintptrFromInt32(0) {
  23696. /* assure that something is in the output buffer */
  23697. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) && _gz_fetch(tls, state) == -int32(1) {
  23698. return libc.UintptrFromInt32(0)
  23699. } /* error */
  23700. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) { /* end of file */
  23701. (*Tgz_state)(unsafe.Pointer(state)).Fpast = int32(1) /* read past end */
  23702. break /* return what we have */
  23703. }
  23704. /* look for end-of-line in current output buffer */
  23705. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave > left {
  23706. v1 = left
  23707. } else {
  23708. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  23709. }
  23710. n = v1
  23711. eol = libc.Xmemchr(tls, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, int32('\n'), uint64(n))
  23712. if eol != libc.UintptrFromInt32(0) {
  23713. n = libc.Uint32FromInt64(int64(eol)-int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) + uint32(1)
  23714. }
  23715. /* copy through end-of-line, or remainder if not found */
  23716. libc.Xmemcpy(tls, buf, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(n))
  23717. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
  23718. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
  23719. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  23720. left -= n
  23721. buf += uintptr(n)
  23722. }
  23723. }
  23724. /* return terminated string, or if nothing, end of file */
  23725. if buf == str {
  23726. return libc.UintptrFromInt32(0)
  23727. }
  23728. *(*uint8)(unsafe.Pointer(buf)) = uint8(0)
  23729. return str
  23730. }
  23731. // C documentation
  23732. //
  23733. // /* -- see zlib.h -- */
  23734. func Xgzdirect(tls *libc.TLS, file TgzFile) (r int32) {
  23735. var state Tgz_statep
  23736. _ = state
  23737. /* get internal structure */
  23738. if file == libc.UintptrFromInt32(0) {
  23739. return 0
  23740. }
  23741. state = file
  23742. /* if the state is not known, but we can find out, then do so (this is
  23743. mainly for right after a gzopen() or gzdopen()) */
  23744. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK && (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) {
  23745. _gz_look(tls, state)
  23746. }
  23747. /* return 1 if transparent, 0 if processing a gzip stream */
  23748. return (*Tgz_state)(unsafe.Pointer(state)).Fdirect
  23749. }
  23750. // C documentation
  23751. //
  23752. // /* -- see zlib.h -- */
  23753. func Xgzclose_r(tls *libc.TLS, file TgzFile) (r int32) {
  23754. var err, ret, v1, v2 int32
  23755. var state Tgz_statep
  23756. _, _, _, _, _ = err, ret, state, v1, v2
  23757. /* get internal structure */
  23758. if file == libc.UintptrFromInt32(0) {
  23759. return -int32(2)
  23760. }
  23761. state = file
  23762. /* check that we're reading */
  23763. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) {
  23764. return -int32(2)
  23765. }
  23766. /* free memory and close file */
  23767. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  23768. XinflateEnd(tls, state+128)
  23769. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  23770. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  23771. }
  23772. if (*Tgz_state)(unsafe.Pointer(state)).Ferr == -int32(5) {
  23773. v1 = -int32(5)
  23774. } else {
  23775. v1 = m_Z_OK
  23776. }
  23777. err = v1
  23778. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  23779. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
  23780. ret = libc.Xclose(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd)
  23781. libc.Xfree(tls, state)
  23782. if ret != 0 {
  23783. v2 = -int32(1)
  23784. } else {
  23785. v2 = err
  23786. }
  23787. return v2
  23788. }
  23789. // C documentation
  23790. //
  23791. // /* Initialize state for writing a gzip file. Mark initialization by setting
  23792. // state->size to non-zero. Return -1 on a memory allocation failure, or 0 on
  23793. // success. */
  23794. func _gz_init(tls *libc.TLS, state Tgz_statep) (r int32) {
  23795. var ret int32
  23796. var strm Tz_streamp
  23797. _, _ = ret, strm
  23798. strm = state + 128
  23799. /* allocate input buffer (double size for gzprintf) */
  23800. (*Tgz_state)(unsafe.Pointer(state)).Fin = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant<<int32(1)))
  23801. if (*Tgz_state)(unsafe.Pointer(state)).Fin == libc.UintptrFromInt32(0) {
  23802. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23803. return -int32(1)
  23804. }
  23805. /* only need output buffer and deflate state if compressing */
  23806. if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
  23807. /* allocate output buffer */
  23808. (*Tgz_state)(unsafe.Pointer(state)).Fout = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant))
  23809. if (*Tgz_state)(unsafe.Pointer(state)).Fout == libc.UintptrFromInt32(0) {
  23810. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  23811. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23812. return -int32(1)
  23813. }
  23814. /* allocate deflate memory, set up for gzip compression */
  23815. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = uintptr(m_Z_NULL)
  23816. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = uintptr(m_Z_NULL)
  23817. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = uintptr(m_Z_NULL)
  23818. ret = XdeflateInit2_(tls, strm, (*Tgz_state)(unsafe.Pointer(state)).Flevel, int32(m_Z_DEFLATED), libc.Int32FromInt32(m_MAX_WBITS)+libc.Int32FromInt32(16), int32(m_DEF_MEM_LEVEL), (*Tgz_state)(unsafe.Pointer(state)).Fstrategy, __ccgo_ts, libc.Int32FromInt64(112))
  23819. if ret != m_Z_OK {
  23820. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  23821. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  23822. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23823. return -int32(1)
  23824. }
  23825. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = libc.UintptrFromInt32(0)
  23826. }
  23827. /* mark state as initialized */
  23828. (*Tgz_state)(unsafe.Pointer(state)).Fsize = (*Tgz_state)(unsafe.Pointer(state)).Fwant
  23829. /* initialize write buffer if compressing */
  23830. if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
  23831. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  23832. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23833. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  23834. }
  23835. return 0
  23836. }
  23837. // C documentation
  23838. //
  23839. // /* Compress whatever is at avail_in and next_in and write to the output file.
  23840. // Return -1 if there is an error writing to the output file or if gz_init()
  23841. // fails to allocate memory, otherwise 0. flush is assumed to be a valid
  23842. // deflate() flush value. If flush is Z_FINISH, then the deflate() state is
  23843. // reset to start a new gzip stream. If gz->direct is true, then simply write
  23844. // to the output file without compressing, and ignore flush. */
  23845. func _gz_comp(tls *libc.TLS, state Tgz_statep, flush int32) (r int32) {
  23846. var have, max, put, v1, v2 uint32
  23847. var ret, writ int32
  23848. var strm Tz_streamp
  23849. _, _, _, _, _, _, _, _ = have, max, put, ret, strm, writ, v1, v2
  23850. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))>>libc.Int32FromInt32(2) + libc.Uint32FromInt32(1)
  23851. strm = state + 128
  23852. /* allocate memory if this is the first time through */
  23853. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
  23854. return -int32(1)
  23855. }
  23856. /* write directly if requested */
  23857. if (*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0 {
  23858. for (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 {
  23859. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in > max {
  23860. v1 = max
  23861. } else {
  23862. v1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  23863. }
  23864. put = v1
  23865. writ = int32(libc.Xwrite(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, uint64(put)))
  23866. if writ < 0 {
  23867. Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))))
  23868. return -int32(1)
  23869. }
  23870. *(*TuInt)(unsafe.Pointer(strm + 8)) -= libc.Uint32FromInt32(writ)
  23871. *(*uintptr)(unsafe.Pointer(strm)) += uintptr(writ)
  23872. }
  23873. return 0
  23874. }
  23875. /* check for a pending reset */
  23876. if (*Tgz_state)(unsafe.Pointer(state)).Freset != 0 {
  23877. /* don't start a new gzip member unless there is data to write */
  23878. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  23879. return 0
  23880. }
  23881. XdeflateReset(tls, strm)
  23882. (*Tgz_state)(unsafe.Pointer(state)).Freset = 0
  23883. }
  23884. /* run deflate() on provided input until it produces no more output */
  23885. ret = m_Z_OK
  23886. for cond := true; cond; cond = have != 0 {
  23887. /* write out current buffer contents if full, or if flushing, but if
  23888. doing Z_FINISH then don't write until we get to Z_STREAM_END */
  23889. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) || flush != m_Z_NO_FLUSH && (flush != int32(m_Z_FINISH) || ret == int32(m_Z_STREAM_END)) {
  23890. for (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out > (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext {
  23891. if int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_out)-int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext) > int64(libc.Int32FromUint32(max)) {
  23892. v2 = max
  23893. } else {
  23894. v2 = libc.Uint32FromInt64(int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_out) - int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext))
  23895. }
  23896. put = v2
  23897. writ = int32(libc.Xwrite(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(put)))
  23898. if writ < 0 {
  23899. Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))))
  23900. return -int32(1)
  23901. }
  23902. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(writ)
  23903. }
  23904. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  23905. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  23906. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23907. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23908. }
  23909. }
  23910. /* compress */
  23911. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  23912. ret = Xdeflate(tls, strm, flush)
  23913. if ret == -int32(2) {
  23914. Xgz_error(tls, state, -int32(2), __ccgo_ts+798)
  23915. return -int32(1)
  23916. }
  23917. have -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  23918. }
  23919. /* if that completed a deflate stream, allow another to start */
  23920. if flush == int32(m_Z_FINISH) {
  23921. (*Tgz_state)(unsafe.Pointer(state)).Freset = int32(1)
  23922. }
  23923. /* all done, no errors */
  23924. return 0
  23925. }
  23926. // C documentation
  23927. //
  23928. // /* Compress len zeros to output. Return -1 on a write error or memory
  23929. // allocation failure by gz_comp(), or 0 on success. */
  23930. func _gz_zero(tls *libc.TLS, state Tgz_statep, len1 Toff_t) (r int32) {
  23931. var first int32
  23932. var n, v1 uint32
  23933. var strm Tz_streamp
  23934. _, _, _, _ = first, n, strm, v1
  23935. strm = state + 128
  23936. /* consume whatever's left in the input buffer */
  23937. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  23938. return -int32(1)
  23939. }
  23940. /* compress len zeros (len guaranteed > 0) */
  23941. first = int32(1)
  23942. for len1 != 0 {
  23943. if libc.Bool(libc.Bool(uint64(4) == uint64(8)) && (*Tgz_state)(unsafe.Pointer(state)).Fsize > Xgz_intmax(tls)) || libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fsize) > len1 {
  23944. v1 = libc.Uint32FromInt64(len1)
  23945. } else {
  23946. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  23947. }
  23948. n = v1
  23949. if first != 0 {
  23950. libc.Xmemset(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin, 0, uint64(n))
  23951. first = 0
  23952. }
  23953. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = n
  23954. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  23955. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  23956. if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  23957. return -int32(1)
  23958. }
  23959. len1 -= libc.Int64FromUint32(n)
  23960. }
  23961. return 0
  23962. }
  23963. // C documentation
  23964. //
  23965. // /* Write len bytes from buf to file. Return the number of bytes written. If
  23966. // the returned value is less than len, then there was an error. */
  23967. func _gz_write(tls *libc.TLS, state Tgz_statep, buf Tvoidpc, len1 Tz_size_t) (r Tz_size_t) {
  23968. var copy1, have, n uint32
  23969. var put Tz_size_t
  23970. _, _, _, _ = copy1, have, n, put
  23971. put = len1
  23972. /* if len is zero, avoid unnecessary operations */
  23973. if len1 == uint64(0) {
  23974. return uint64(0)
  23975. }
  23976. /* allocate memory if this is the first time through */
  23977. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
  23978. return uint64(0)
  23979. }
  23980. /* check for seek request */
  23981. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  23982. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  23983. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  23984. return uint64(0)
  23985. }
  23986. }
  23987. /* for small len, copy to input buffer, otherwise compress directly */
  23988. if len1 < uint64((*Tgz_state)(unsafe.Pointer(state)).Fsize) {
  23989. /* copy to input buffer, compress when full */
  23990. for cond := true; cond; cond = len1 != 0 {
  23991. if (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
  23992. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  23993. }
  23994. have = libc.Uint32FromInt64(int64((*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in+uintptr((*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in)) - int64((*Tgz_state)(unsafe.Pointer(state)).Fin))
  23995. copy1 = (*Tgz_state)(unsafe.Pointer(state)).Fsize - have
  23996. if uint64(copy1) > len1 {
  23997. copy1 = uint32(len1)
  23998. }
  23999. libc.Xmemcpy(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin+uintptr(have), buf, uint64(copy1))
  24000. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in += copy1
  24001. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(copy1)
  24002. buf = buf + uintptr(copy1)
  24003. len1 -= uint64(copy1)
  24004. if len1 != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  24005. return uint64(0)
  24006. }
  24007. }
  24008. } else {
  24009. /* consume whatever's left in the input buffer */
  24010. if (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  24011. return uint64(0)
  24012. }
  24013. /* directly compress user buffer to file */
  24014. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = buf
  24015. for cond := true; cond; cond = len1 != 0 {
  24016. n = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  24017. if uint64(n) > len1 {
  24018. n = uint32(len1)
  24019. }
  24020. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = n
  24021. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  24022. if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  24023. return uint64(0)
  24024. }
  24025. len1 -= uint64(n)
  24026. }
  24027. }
  24028. /* input was all buffered or compressed */
  24029. return put
  24030. }
  24031. // C documentation
  24032. //
  24033. // /* -- see zlib.h -- */
  24034. func Xgzwrite(tls *libc.TLS, file TgzFile, buf Tvoidpc, len1 uint32) (r int32) {
  24035. var state Tgz_statep
  24036. _ = state
  24037. /* get internal structure */
  24038. if file == libc.UintptrFromInt32(0) {
  24039. return 0
  24040. }
  24041. state = file
  24042. /* check that we're writing and that there's no error */
  24043. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24044. return 0
  24045. }
  24046. /* since an int is returned, make sure len fits in one, otherwise return
  24047. with an error (this avoids a flaw in the interface) */
  24048. if libc.Int32FromUint32(len1) < 0 {
  24049. Xgz_error(tls, state, -int32(3), __ccgo_ts+837)
  24050. return 0
  24051. }
  24052. /* write len bytes from buf (the return value will fit in an int) */
  24053. return libc.Int32FromUint64(_gz_write(tls, state, buf, uint64(len1)))
  24054. }
  24055. // C documentation
  24056. //
  24057. // /* -- see zlib.h -- */
  24058. func Xgzfwrite(tls *libc.TLS, buf Tvoidpc, size Tz_size_t, nitems Tz_size_t, file TgzFile) (r Tz_size_t) {
  24059. var len1 Tz_size_t
  24060. var state Tgz_statep
  24061. var v1 uint64
  24062. _, _, _ = len1, state, v1
  24063. /* get internal structure */
  24064. if file == libc.UintptrFromInt32(0) {
  24065. return uint64(0)
  24066. }
  24067. state = file
  24068. /* check that we're writing and that there's no error */
  24069. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24070. return uint64(0)
  24071. }
  24072. /* compute bytes to read -- error on overflow */
  24073. len1 = nitems * size
  24074. if size != 0 && len1/size != nitems {
  24075. Xgz_error(tls, state, -int32(2), __ccgo_ts+734)
  24076. return uint64(0)
  24077. }
  24078. /* write len bytes to buf, return the number of full items written */
  24079. if len1 != 0 {
  24080. v1 = _gz_write(tls, state, buf, len1) / size
  24081. } else {
  24082. v1 = uint64(0)
  24083. }
  24084. return v1
  24085. }
  24086. // C documentation
  24087. //
  24088. // /* -- see zlib.h -- */
  24089. func Xgzputc(tls *libc.TLS, file TgzFile, c int32) (r int32) {
  24090. bp := tls.Alloc(16)
  24091. defer tls.Free(16)
  24092. var have uint32
  24093. var state Tgz_statep
  24094. var strm Tz_streamp
  24095. var _ /* buf at bp+0 */ [1]uint8
  24096. _, _, _ = have, state, strm
  24097. /* get internal structure */
  24098. if file == libc.UintptrFromInt32(0) {
  24099. return -int32(1)
  24100. }
  24101. state = file
  24102. strm = state + 128
  24103. /* check that we're writing and that there's no error */
  24104. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24105. return -int32(1)
  24106. }
  24107. /* check for seek request */
  24108. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24109. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24110. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24111. return -int32(1)
  24112. }
  24113. }
  24114. /* try writing to input buffer for speed (state->size == 0 if buffer not
  24115. initialized) */
  24116. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  24117. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  24118. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  24119. }
  24120. have = libc.Uint32FromInt64(int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_in+uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_in)) - int64((*Tgz_state)(unsafe.Pointer(state)).Fin))
  24121. if have < (*Tgz_state)(unsafe.Pointer(state)).Fsize {
  24122. *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fin + uintptr(have))) = libc.Uint8FromInt32(c)
  24123. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in++
  24124. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos++
  24125. return c & int32(0xff)
  24126. }
  24127. }
  24128. /* no room in buffer or not initialized, use gz_write() */
  24129. (*(*[1]uint8)(unsafe.Pointer(bp)))[0] = libc.Uint8FromInt32(c)
  24130. if _gz_write(tls, state, bp, uint64(1)) != uint64(1) {
  24131. return -int32(1)
  24132. }
  24133. return c & int32(0xff)
  24134. }
  24135. // C documentation
  24136. //
  24137. // /* -- see zlib.h -- */
  24138. func Xgzputs(tls *libc.TLS, file TgzFile, s uintptr) (r int32) {
  24139. var len1, put Tz_size_t
  24140. var state Tgz_statep
  24141. var v1 int32
  24142. _, _, _, _ = len1, put, state, v1
  24143. /* get internal structure */
  24144. if file == libc.UintptrFromInt32(0) {
  24145. return -int32(1)
  24146. }
  24147. state = file
  24148. /* check that we're writing and that there's no error */
  24149. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24150. return -int32(1)
  24151. }
  24152. /* write string */
  24153. len1 = libc.Xstrlen(tls, s)
  24154. if libc.Int32FromUint64(len1) < 0 || uint64(uint32(len1)) != len1 {
  24155. Xgz_error(tls, state, -int32(2), __ccgo_ts+874)
  24156. return -int32(1)
  24157. }
  24158. put = _gz_write(tls, state, s, len1)
  24159. if put < len1 {
  24160. v1 = -int32(1)
  24161. } else {
  24162. v1 = libc.Int32FromUint64(len1)
  24163. }
  24164. return v1
  24165. }
  24166. // C documentation
  24167. //
  24168. // /* -- see zlib.h -- */
  24169. func Xgzvprintf(tls *libc.TLS, file TgzFile, format uintptr, va Tva_list) (r int32) {
  24170. var left uint32
  24171. var len1 int32
  24172. var next uintptr
  24173. var state Tgz_statep
  24174. var strm Tz_streamp
  24175. _, _, _, _, _ = left, len1, next, state, strm
  24176. /* get internal structure */
  24177. if file == libc.UintptrFromInt32(0) {
  24178. return -int32(2)
  24179. }
  24180. state = file
  24181. strm = state + 128
  24182. /* check that we're writing and that there's no error */
  24183. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24184. return -int32(2)
  24185. }
  24186. /* make sure we have some buffer space */
  24187. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
  24188. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24189. }
  24190. /* check for seek request */
  24191. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24192. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24193. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24194. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24195. }
  24196. }
  24197. /* do the printf() into the input buffer, put length in len -- the input
  24198. buffer is double-sized just for this function, so there is guaranteed to
  24199. be state->size bytes available after the current contents */
  24200. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  24201. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  24202. }
  24203. next = (*Tgz_state)(unsafe.Pointer(state)).Fin + uintptr(int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_in)-int64((*Tgz_state)(unsafe.Pointer(state)).Fin)) + uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_in)
  24204. *(*uint8)(unsafe.Pointer(next + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize-uint32(1)))) = uint8(0)
  24205. len1 = libc.X__builtin_vsnprintf(tls, next, uint64((*Tgz_state)(unsafe.Pointer(state)).Fsize), format, va)
  24206. /* check that printf() results fit in buffer */
  24207. if len1 == 0 || libc.Uint32FromInt32(len1) >= (*Tgz_state)(unsafe.Pointer(state)).Fsize || libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(next + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize-uint32(1))))) != 0 {
  24208. return 0
  24209. }
  24210. /* update buffer and position, compress first half if past that */
  24211. *(*TuInt)(unsafe.Pointer(strm + 8)) += libc.Uint32FromInt32(len1)
  24212. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += int64(len1)
  24213. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in >= (*Tgz_state)(unsafe.Pointer(state)).Fsize {
  24214. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in - (*Tgz_state)(unsafe.Pointer(state)).Fsize
  24215. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  24216. if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  24217. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24218. }
  24219. libc.Xmemmove(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin, (*Tgz_state)(unsafe.Pointer(state)).Fin+uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize), uint64(left))
  24220. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  24221. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = left
  24222. }
  24223. return len1
  24224. }
  24225. func Xgzprintf(tls *libc.TLS, file TgzFile, format uintptr, va1 uintptr) (r int32) {
  24226. var ret int32
  24227. var va Tva_list
  24228. _, _ = ret, va
  24229. va = va1
  24230. ret = Xgzvprintf(tls, file, format, va)
  24231. _ = va
  24232. return ret
  24233. }
  24234. // C documentation
  24235. //
  24236. // /* -- see zlib.h -- */
  24237. func Xgzflush(tls *libc.TLS, file TgzFile, flush int32) (r int32) {
  24238. var state Tgz_statep
  24239. _ = state
  24240. /* get internal structure */
  24241. if file == libc.UintptrFromInt32(0) {
  24242. return -int32(2)
  24243. }
  24244. state = file
  24245. /* check that we're writing and that there's no error */
  24246. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24247. return -int32(2)
  24248. }
  24249. /* check flush parameter */
  24250. if flush < 0 || flush > int32(m_Z_FINISH) {
  24251. return -int32(2)
  24252. }
  24253. /* check for seek request */
  24254. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24255. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24256. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24257. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24258. }
  24259. }
  24260. /* compress remaining data with requested flush */
  24261. _gz_comp(tls, state, flush)
  24262. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24263. }
  24264. // C documentation
  24265. //
  24266. // /* -- see zlib.h -- */
  24267. func Xgzsetparams(tls *libc.TLS, file TgzFile, level int32, strategy int32) (r int32) {
  24268. var state Tgz_statep
  24269. var strm Tz_streamp
  24270. _, _ = state, strm
  24271. /* get internal structure */
  24272. if file == libc.UintptrFromInt32(0) {
  24273. return -int32(2)
  24274. }
  24275. state = file
  24276. strm = state + 128
  24277. /* check that we're writing and that there's no error */
  24278. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK || (*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0 {
  24279. return -int32(2)
  24280. }
  24281. /* if no change is requested, then do nothing */
  24282. if level == (*Tgz_state)(unsafe.Pointer(state)).Flevel && strategy == (*Tgz_state)(unsafe.Pointer(state)).Fstrategy {
  24283. return m_Z_OK
  24284. }
  24285. /* check for seek request */
  24286. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24287. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24288. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24289. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24290. }
  24291. }
  24292. /* change compression parameters for subsequent input */
  24293. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  24294. /* flush previous input with previous parameters before changing */
  24295. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 && _gz_comp(tls, state, int32(m_Z_BLOCK)) == -int32(1) {
  24296. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24297. }
  24298. XdeflateParams(tls, strm, level, strategy)
  24299. }
  24300. (*Tgz_state)(unsafe.Pointer(state)).Flevel = level
  24301. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = strategy
  24302. return m_Z_OK
  24303. }
  24304. // C documentation
  24305. //
  24306. // /* -- see zlib.h -- */
  24307. func Xgzclose_w(tls *libc.TLS, file TgzFile) (r int32) {
  24308. var ret int32
  24309. var state Tgz_statep
  24310. _, _ = ret, state
  24311. ret = m_Z_OK
  24312. /* get internal structure */
  24313. if file == libc.UintptrFromInt32(0) {
  24314. return -int32(2)
  24315. }
  24316. state = file
  24317. /* check that we're writing */
  24318. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  24319. return -int32(2)
  24320. }
  24321. /* check for seek request */
  24322. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24323. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24324. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24325. ret = (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24326. }
  24327. }
  24328. /* flush, free memory, and close file */
  24329. if _gz_comp(tls, state, int32(m_Z_FINISH)) == -int32(1) {
  24330. ret = (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24331. }
  24332. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  24333. if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
  24334. XdeflateEnd(tls, state+128)
  24335. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  24336. }
  24337. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  24338. }
  24339. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  24340. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
  24341. if libc.Xclose(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd) == -int32(1) {
  24342. ret = -int32(1)
  24343. }
  24344. libc.Xfree(tls, state)
  24345. return ret
  24346. }
  24347. func __ccgo_fp(f interface{}) uintptr {
  24348. type iface [2]uintptr
  24349. return (*iface)(unsafe.Pointer(&f))[1]
  24350. }
  24351. var x__dist_code = [512]Tuch{
  24352. 1: uint8(1),
  24353. 2: uint8(2),
  24354. 3: uint8(3),
  24355. 4: uint8(4),
  24356. 5: uint8(4),
  24357. 6: uint8(5),
  24358. 7: uint8(5),
  24359. 8: uint8(6),
  24360. 9: uint8(6),
  24361. 10: uint8(6),
  24362. 11: uint8(6),
  24363. 12: uint8(7),
  24364. 13: uint8(7),
  24365. 14: uint8(7),
  24366. 15: uint8(7),
  24367. 16: uint8(8),
  24368. 17: uint8(8),
  24369. 18: uint8(8),
  24370. 19: uint8(8),
  24371. 20: uint8(8),
  24372. 21: uint8(8),
  24373. 22: uint8(8),
  24374. 23: uint8(8),
  24375. 24: uint8(9),
  24376. 25: uint8(9),
  24377. 26: uint8(9),
  24378. 27: uint8(9),
  24379. 28: uint8(9),
  24380. 29: uint8(9),
  24381. 30: uint8(9),
  24382. 31: uint8(9),
  24383. 32: uint8(10),
  24384. 33: uint8(10),
  24385. 34: uint8(10),
  24386. 35: uint8(10),
  24387. 36: uint8(10),
  24388. 37: uint8(10),
  24389. 38: uint8(10),
  24390. 39: uint8(10),
  24391. 40: uint8(10),
  24392. 41: uint8(10),
  24393. 42: uint8(10),
  24394. 43: uint8(10),
  24395. 44: uint8(10),
  24396. 45: uint8(10),
  24397. 46: uint8(10),
  24398. 47: uint8(10),
  24399. 48: uint8(11),
  24400. 49: uint8(11),
  24401. 50: uint8(11),
  24402. 51: uint8(11),
  24403. 52: uint8(11),
  24404. 53: uint8(11),
  24405. 54: uint8(11),
  24406. 55: uint8(11),
  24407. 56: uint8(11),
  24408. 57: uint8(11),
  24409. 58: uint8(11),
  24410. 59: uint8(11),
  24411. 60: uint8(11),
  24412. 61: uint8(11),
  24413. 62: uint8(11),
  24414. 63: uint8(11),
  24415. 64: uint8(12),
  24416. 65: uint8(12),
  24417. 66: uint8(12),
  24418. 67: uint8(12),
  24419. 68: uint8(12),
  24420. 69: uint8(12),
  24421. 70: uint8(12),
  24422. 71: uint8(12),
  24423. 72: uint8(12),
  24424. 73: uint8(12),
  24425. 74: uint8(12),
  24426. 75: uint8(12),
  24427. 76: uint8(12),
  24428. 77: uint8(12),
  24429. 78: uint8(12),
  24430. 79: uint8(12),
  24431. 80: uint8(12),
  24432. 81: uint8(12),
  24433. 82: uint8(12),
  24434. 83: uint8(12),
  24435. 84: uint8(12),
  24436. 85: uint8(12),
  24437. 86: uint8(12),
  24438. 87: uint8(12),
  24439. 88: uint8(12),
  24440. 89: uint8(12),
  24441. 90: uint8(12),
  24442. 91: uint8(12),
  24443. 92: uint8(12),
  24444. 93: uint8(12),
  24445. 94: uint8(12),
  24446. 95: uint8(12),
  24447. 96: uint8(13),
  24448. 97: uint8(13),
  24449. 98: uint8(13),
  24450. 99: uint8(13),
  24451. 100: uint8(13),
  24452. 101: uint8(13),
  24453. 102: uint8(13),
  24454. 103: uint8(13),
  24455. 104: uint8(13),
  24456. 105: uint8(13),
  24457. 106: uint8(13),
  24458. 107: uint8(13),
  24459. 108: uint8(13),
  24460. 109: uint8(13),
  24461. 110: uint8(13),
  24462. 111: uint8(13),
  24463. 112: uint8(13),
  24464. 113: uint8(13),
  24465. 114: uint8(13),
  24466. 115: uint8(13),
  24467. 116: uint8(13),
  24468. 117: uint8(13),
  24469. 118: uint8(13),
  24470. 119: uint8(13),
  24471. 120: uint8(13),
  24472. 121: uint8(13),
  24473. 122: uint8(13),
  24474. 123: uint8(13),
  24475. 124: uint8(13),
  24476. 125: uint8(13),
  24477. 126: uint8(13),
  24478. 127: uint8(13),
  24479. 128: uint8(14),
  24480. 129: uint8(14),
  24481. 130: uint8(14),
  24482. 131: uint8(14),
  24483. 132: uint8(14),
  24484. 133: uint8(14),
  24485. 134: uint8(14),
  24486. 135: uint8(14),
  24487. 136: uint8(14),
  24488. 137: uint8(14),
  24489. 138: uint8(14),
  24490. 139: uint8(14),
  24491. 140: uint8(14),
  24492. 141: uint8(14),
  24493. 142: uint8(14),
  24494. 143: uint8(14),
  24495. 144: uint8(14),
  24496. 145: uint8(14),
  24497. 146: uint8(14),
  24498. 147: uint8(14),
  24499. 148: uint8(14),
  24500. 149: uint8(14),
  24501. 150: uint8(14),
  24502. 151: uint8(14),
  24503. 152: uint8(14),
  24504. 153: uint8(14),
  24505. 154: uint8(14),
  24506. 155: uint8(14),
  24507. 156: uint8(14),
  24508. 157: uint8(14),
  24509. 158: uint8(14),
  24510. 159: uint8(14),
  24511. 160: uint8(14),
  24512. 161: uint8(14),
  24513. 162: uint8(14),
  24514. 163: uint8(14),
  24515. 164: uint8(14),
  24516. 165: uint8(14),
  24517. 166: uint8(14),
  24518. 167: uint8(14),
  24519. 168: uint8(14),
  24520. 169: uint8(14),
  24521. 170: uint8(14),
  24522. 171: uint8(14),
  24523. 172: uint8(14),
  24524. 173: uint8(14),
  24525. 174: uint8(14),
  24526. 175: uint8(14),
  24527. 176: uint8(14),
  24528. 177: uint8(14),
  24529. 178: uint8(14),
  24530. 179: uint8(14),
  24531. 180: uint8(14),
  24532. 181: uint8(14),
  24533. 182: uint8(14),
  24534. 183: uint8(14),
  24535. 184: uint8(14),
  24536. 185: uint8(14),
  24537. 186: uint8(14),
  24538. 187: uint8(14),
  24539. 188: uint8(14),
  24540. 189: uint8(14),
  24541. 190: uint8(14),
  24542. 191: uint8(14),
  24543. 192: uint8(15),
  24544. 193: uint8(15),
  24545. 194: uint8(15),
  24546. 195: uint8(15),
  24547. 196: uint8(15),
  24548. 197: uint8(15),
  24549. 198: uint8(15),
  24550. 199: uint8(15),
  24551. 200: uint8(15),
  24552. 201: uint8(15),
  24553. 202: uint8(15),
  24554. 203: uint8(15),
  24555. 204: uint8(15),
  24556. 205: uint8(15),
  24557. 206: uint8(15),
  24558. 207: uint8(15),
  24559. 208: uint8(15),
  24560. 209: uint8(15),
  24561. 210: uint8(15),
  24562. 211: uint8(15),
  24563. 212: uint8(15),
  24564. 213: uint8(15),
  24565. 214: uint8(15),
  24566. 215: uint8(15),
  24567. 216: uint8(15),
  24568. 217: uint8(15),
  24569. 218: uint8(15),
  24570. 219: uint8(15),
  24571. 220: uint8(15),
  24572. 221: uint8(15),
  24573. 222: uint8(15),
  24574. 223: uint8(15),
  24575. 224: uint8(15),
  24576. 225: uint8(15),
  24577. 226: uint8(15),
  24578. 227: uint8(15),
  24579. 228: uint8(15),
  24580. 229: uint8(15),
  24581. 230: uint8(15),
  24582. 231: uint8(15),
  24583. 232: uint8(15),
  24584. 233: uint8(15),
  24585. 234: uint8(15),
  24586. 235: uint8(15),
  24587. 236: uint8(15),
  24588. 237: uint8(15),
  24589. 238: uint8(15),
  24590. 239: uint8(15),
  24591. 240: uint8(15),
  24592. 241: uint8(15),
  24593. 242: uint8(15),
  24594. 243: uint8(15),
  24595. 244: uint8(15),
  24596. 245: uint8(15),
  24597. 246: uint8(15),
  24598. 247: uint8(15),
  24599. 248: uint8(15),
  24600. 249: uint8(15),
  24601. 250: uint8(15),
  24602. 251: uint8(15),
  24603. 252: uint8(15),
  24604. 253: uint8(15),
  24605. 254: uint8(15),
  24606. 255: uint8(15),
  24607. 258: uint8(16),
  24608. 259: uint8(17),
  24609. 260: uint8(18),
  24610. 261: uint8(18),
  24611. 262: uint8(19),
  24612. 263: uint8(19),
  24613. 264: uint8(20),
  24614. 265: uint8(20),
  24615. 266: uint8(20),
  24616. 267: uint8(20),
  24617. 268: uint8(21),
  24618. 269: uint8(21),
  24619. 270: uint8(21),
  24620. 271: uint8(21),
  24621. 272: uint8(22),
  24622. 273: uint8(22),
  24623. 274: uint8(22),
  24624. 275: uint8(22),
  24625. 276: uint8(22),
  24626. 277: uint8(22),
  24627. 278: uint8(22),
  24628. 279: uint8(22),
  24629. 280: uint8(23),
  24630. 281: uint8(23),
  24631. 282: uint8(23),
  24632. 283: uint8(23),
  24633. 284: uint8(23),
  24634. 285: uint8(23),
  24635. 286: uint8(23),
  24636. 287: uint8(23),
  24637. 288: uint8(24),
  24638. 289: uint8(24),
  24639. 290: uint8(24),
  24640. 291: uint8(24),
  24641. 292: uint8(24),
  24642. 293: uint8(24),
  24643. 294: uint8(24),
  24644. 295: uint8(24),
  24645. 296: uint8(24),
  24646. 297: uint8(24),
  24647. 298: uint8(24),
  24648. 299: uint8(24),
  24649. 300: uint8(24),
  24650. 301: uint8(24),
  24651. 302: uint8(24),
  24652. 303: uint8(24),
  24653. 304: uint8(25),
  24654. 305: uint8(25),
  24655. 306: uint8(25),
  24656. 307: uint8(25),
  24657. 308: uint8(25),
  24658. 309: uint8(25),
  24659. 310: uint8(25),
  24660. 311: uint8(25),
  24661. 312: uint8(25),
  24662. 313: uint8(25),
  24663. 314: uint8(25),
  24664. 315: uint8(25),
  24665. 316: uint8(25),
  24666. 317: uint8(25),
  24667. 318: uint8(25),
  24668. 319: uint8(25),
  24669. 320: uint8(26),
  24670. 321: uint8(26),
  24671. 322: uint8(26),
  24672. 323: uint8(26),
  24673. 324: uint8(26),
  24674. 325: uint8(26),
  24675. 326: uint8(26),
  24676. 327: uint8(26),
  24677. 328: uint8(26),
  24678. 329: uint8(26),
  24679. 330: uint8(26),
  24680. 331: uint8(26),
  24681. 332: uint8(26),
  24682. 333: uint8(26),
  24683. 334: uint8(26),
  24684. 335: uint8(26),
  24685. 336: uint8(26),
  24686. 337: uint8(26),
  24687. 338: uint8(26),
  24688. 339: uint8(26),
  24689. 340: uint8(26),
  24690. 341: uint8(26),
  24691. 342: uint8(26),
  24692. 343: uint8(26),
  24693. 344: uint8(26),
  24694. 345: uint8(26),
  24695. 346: uint8(26),
  24696. 347: uint8(26),
  24697. 348: uint8(26),
  24698. 349: uint8(26),
  24699. 350: uint8(26),
  24700. 351: uint8(26),
  24701. 352: uint8(27),
  24702. 353: uint8(27),
  24703. 354: uint8(27),
  24704. 355: uint8(27),
  24705. 356: uint8(27),
  24706. 357: uint8(27),
  24707. 358: uint8(27),
  24708. 359: uint8(27),
  24709. 360: uint8(27),
  24710. 361: uint8(27),
  24711. 362: uint8(27),
  24712. 363: uint8(27),
  24713. 364: uint8(27),
  24714. 365: uint8(27),
  24715. 366: uint8(27),
  24716. 367: uint8(27),
  24717. 368: uint8(27),
  24718. 369: uint8(27),
  24719. 370: uint8(27),
  24720. 371: uint8(27),
  24721. 372: uint8(27),
  24722. 373: uint8(27),
  24723. 374: uint8(27),
  24724. 375: uint8(27),
  24725. 376: uint8(27),
  24726. 377: uint8(27),
  24727. 378: uint8(27),
  24728. 379: uint8(27),
  24729. 380: uint8(27),
  24730. 381: uint8(27),
  24731. 382: uint8(27),
  24732. 383: uint8(27),
  24733. 384: uint8(28),
  24734. 385: uint8(28),
  24735. 386: uint8(28),
  24736. 387: uint8(28),
  24737. 388: uint8(28),
  24738. 389: uint8(28),
  24739. 390: uint8(28),
  24740. 391: uint8(28),
  24741. 392: uint8(28),
  24742. 393: uint8(28),
  24743. 394: uint8(28),
  24744. 395: uint8(28),
  24745. 396: uint8(28),
  24746. 397: uint8(28),
  24747. 398: uint8(28),
  24748. 399: uint8(28),
  24749. 400: uint8(28),
  24750. 401: uint8(28),
  24751. 402: uint8(28),
  24752. 403: uint8(28),
  24753. 404: uint8(28),
  24754. 405: uint8(28),
  24755. 406: uint8(28),
  24756. 407: uint8(28),
  24757. 408: uint8(28),
  24758. 409: uint8(28),
  24759. 410: uint8(28),
  24760. 411: uint8(28),
  24761. 412: uint8(28),
  24762. 413: uint8(28),
  24763. 414: uint8(28),
  24764. 415: uint8(28),
  24765. 416: uint8(28),
  24766. 417: uint8(28),
  24767. 418: uint8(28),
  24768. 419: uint8(28),
  24769. 420: uint8(28),
  24770. 421: uint8(28),
  24771. 422: uint8(28),
  24772. 423: uint8(28),
  24773. 424: uint8(28),
  24774. 425: uint8(28),
  24775. 426: uint8(28),
  24776. 427: uint8(28),
  24777. 428: uint8(28),
  24778. 429: uint8(28),
  24779. 430: uint8(28),
  24780. 431: uint8(28),
  24781. 432: uint8(28),
  24782. 433: uint8(28),
  24783. 434: uint8(28),
  24784. 435: uint8(28),
  24785. 436: uint8(28),
  24786. 437: uint8(28),
  24787. 438: uint8(28),
  24788. 439: uint8(28),
  24789. 440: uint8(28),
  24790. 441: uint8(28),
  24791. 442: uint8(28),
  24792. 443: uint8(28),
  24793. 444: uint8(28),
  24794. 445: uint8(28),
  24795. 446: uint8(28),
  24796. 447: uint8(28),
  24797. 448: uint8(29),
  24798. 449: uint8(29),
  24799. 450: uint8(29),
  24800. 451: uint8(29),
  24801. 452: uint8(29),
  24802. 453: uint8(29),
  24803. 454: uint8(29),
  24804. 455: uint8(29),
  24805. 456: uint8(29),
  24806. 457: uint8(29),
  24807. 458: uint8(29),
  24808. 459: uint8(29),
  24809. 460: uint8(29),
  24810. 461: uint8(29),
  24811. 462: uint8(29),
  24812. 463: uint8(29),
  24813. 464: uint8(29),
  24814. 465: uint8(29),
  24815. 466: uint8(29),
  24816. 467: uint8(29),
  24817. 468: uint8(29),
  24818. 469: uint8(29),
  24819. 470: uint8(29),
  24820. 471: uint8(29),
  24821. 472: uint8(29),
  24822. 473: uint8(29),
  24823. 474: uint8(29),
  24824. 475: uint8(29),
  24825. 476: uint8(29),
  24826. 477: uint8(29),
  24827. 478: uint8(29),
  24828. 479: uint8(29),
  24829. 480: uint8(29),
  24830. 481: uint8(29),
  24831. 482: uint8(29),
  24832. 483: uint8(29),
  24833. 484: uint8(29),
  24834. 485: uint8(29),
  24835. 486: uint8(29),
  24836. 487: uint8(29),
  24837. 488: uint8(29),
  24838. 489: uint8(29),
  24839. 490: uint8(29),
  24840. 491: uint8(29),
  24841. 492: uint8(29),
  24842. 493: uint8(29),
  24843. 494: uint8(29),
  24844. 495: uint8(29),
  24845. 496: uint8(29),
  24846. 497: uint8(29),
  24847. 498: uint8(29),
  24848. 499: uint8(29),
  24849. 500: uint8(29),
  24850. 501: uint8(29),
  24851. 502: uint8(29),
  24852. 503: uint8(29),
  24853. 504: uint8(29),
  24854. 505: uint8(29),
  24855. 506: uint8(29),
  24856. 507: uint8(29),
  24857. 508: uint8(29),
  24858. 509: uint8(29),
  24859. 510: uint8(29),
  24860. 511: uint8(29),
  24861. }
  24862. var x__length_code = [256]Tuch{
  24863. 1: uint8(1),
  24864. 2: uint8(2),
  24865. 3: uint8(3),
  24866. 4: uint8(4),
  24867. 5: uint8(5),
  24868. 6: uint8(6),
  24869. 7: uint8(7),
  24870. 8: uint8(8),
  24871. 9: uint8(8),
  24872. 10: uint8(9),
  24873. 11: uint8(9),
  24874. 12: uint8(10),
  24875. 13: uint8(10),
  24876. 14: uint8(11),
  24877. 15: uint8(11),
  24878. 16: uint8(12),
  24879. 17: uint8(12),
  24880. 18: uint8(12),
  24881. 19: uint8(12),
  24882. 20: uint8(13),
  24883. 21: uint8(13),
  24884. 22: uint8(13),
  24885. 23: uint8(13),
  24886. 24: uint8(14),
  24887. 25: uint8(14),
  24888. 26: uint8(14),
  24889. 27: uint8(14),
  24890. 28: uint8(15),
  24891. 29: uint8(15),
  24892. 30: uint8(15),
  24893. 31: uint8(15),
  24894. 32: uint8(16),
  24895. 33: uint8(16),
  24896. 34: uint8(16),
  24897. 35: uint8(16),
  24898. 36: uint8(16),
  24899. 37: uint8(16),
  24900. 38: uint8(16),
  24901. 39: uint8(16),
  24902. 40: uint8(17),
  24903. 41: uint8(17),
  24904. 42: uint8(17),
  24905. 43: uint8(17),
  24906. 44: uint8(17),
  24907. 45: uint8(17),
  24908. 46: uint8(17),
  24909. 47: uint8(17),
  24910. 48: uint8(18),
  24911. 49: uint8(18),
  24912. 50: uint8(18),
  24913. 51: uint8(18),
  24914. 52: uint8(18),
  24915. 53: uint8(18),
  24916. 54: uint8(18),
  24917. 55: uint8(18),
  24918. 56: uint8(19),
  24919. 57: uint8(19),
  24920. 58: uint8(19),
  24921. 59: uint8(19),
  24922. 60: uint8(19),
  24923. 61: uint8(19),
  24924. 62: uint8(19),
  24925. 63: uint8(19),
  24926. 64: uint8(20),
  24927. 65: uint8(20),
  24928. 66: uint8(20),
  24929. 67: uint8(20),
  24930. 68: uint8(20),
  24931. 69: uint8(20),
  24932. 70: uint8(20),
  24933. 71: uint8(20),
  24934. 72: uint8(20),
  24935. 73: uint8(20),
  24936. 74: uint8(20),
  24937. 75: uint8(20),
  24938. 76: uint8(20),
  24939. 77: uint8(20),
  24940. 78: uint8(20),
  24941. 79: uint8(20),
  24942. 80: uint8(21),
  24943. 81: uint8(21),
  24944. 82: uint8(21),
  24945. 83: uint8(21),
  24946. 84: uint8(21),
  24947. 85: uint8(21),
  24948. 86: uint8(21),
  24949. 87: uint8(21),
  24950. 88: uint8(21),
  24951. 89: uint8(21),
  24952. 90: uint8(21),
  24953. 91: uint8(21),
  24954. 92: uint8(21),
  24955. 93: uint8(21),
  24956. 94: uint8(21),
  24957. 95: uint8(21),
  24958. 96: uint8(22),
  24959. 97: uint8(22),
  24960. 98: uint8(22),
  24961. 99: uint8(22),
  24962. 100: uint8(22),
  24963. 101: uint8(22),
  24964. 102: uint8(22),
  24965. 103: uint8(22),
  24966. 104: uint8(22),
  24967. 105: uint8(22),
  24968. 106: uint8(22),
  24969. 107: uint8(22),
  24970. 108: uint8(22),
  24971. 109: uint8(22),
  24972. 110: uint8(22),
  24973. 111: uint8(22),
  24974. 112: uint8(23),
  24975. 113: uint8(23),
  24976. 114: uint8(23),
  24977. 115: uint8(23),
  24978. 116: uint8(23),
  24979. 117: uint8(23),
  24980. 118: uint8(23),
  24981. 119: uint8(23),
  24982. 120: uint8(23),
  24983. 121: uint8(23),
  24984. 122: uint8(23),
  24985. 123: uint8(23),
  24986. 124: uint8(23),
  24987. 125: uint8(23),
  24988. 126: uint8(23),
  24989. 127: uint8(23),
  24990. 128: uint8(24),
  24991. 129: uint8(24),
  24992. 130: uint8(24),
  24993. 131: uint8(24),
  24994. 132: uint8(24),
  24995. 133: uint8(24),
  24996. 134: uint8(24),
  24997. 135: uint8(24),
  24998. 136: uint8(24),
  24999. 137: uint8(24),
  25000. 138: uint8(24),
  25001. 139: uint8(24),
  25002. 140: uint8(24),
  25003. 141: uint8(24),
  25004. 142: uint8(24),
  25005. 143: uint8(24),
  25006. 144: uint8(24),
  25007. 145: uint8(24),
  25008. 146: uint8(24),
  25009. 147: uint8(24),
  25010. 148: uint8(24),
  25011. 149: uint8(24),
  25012. 150: uint8(24),
  25013. 151: uint8(24),
  25014. 152: uint8(24),
  25015. 153: uint8(24),
  25016. 154: uint8(24),
  25017. 155: uint8(24),
  25018. 156: uint8(24),
  25019. 157: uint8(24),
  25020. 158: uint8(24),
  25021. 159: uint8(24),
  25022. 160: uint8(25),
  25023. 161: uint8(25),
  25024. 162: uint8(25),
  25025. 163: uint8(25),
  25026. 164: uint8(25),
  25027. 165: uint8(25),
  25028. 166: uint8(25),
  25029. 167: uint8(25),
  25030. 168: uint8(25),
  25031. 169: uint8(25),
  25032. 170: uint8(25),
  25033. 171: uint8(25),
  25034. 172: uint8(25),
  25035. 173: uint8(25),
  25036. 174: uint8(25),
  25037. 175: uint8(25),
  25038. 176: uint8(25),
  25039. 177: uint8(25),
  25040. 178: uint8(25),
  25041. 179: uint8(25),
  25042. 180: uint8(25),
  25043. 181: uint8(25),
  25044. 182: uint8(25),
  25045. 183: uint8(25),
  25046. 184: uint8(25),
  25047. 185: uint8(25),
  25048. 186: uint8(25),
  25049. 187: uint8(25),
  25050. 188: uint8(25),
  25051. 189: uint8(25),
  25052. 190: uint8(25),
  25053. 191: uint8(25),
  25054. 192: uint8(26),
  25055. 193: uint8(26),
  25056. 194: uint8(26),
  25057. 195: uint8(26),
  25058. 196: uint8(26),
  25059. 197: uint8(26),
  25060. 198: uint8(26),
  25061. 199: uint8(26),
  25062. 200: uint8(26),
  25063. 201: uint8(26),
  25064. 202: uint8(26),
  25065. 203: uint8(26),
  25066. 204: uint8(26),
  25067. 205: uint8(26),
  25068. 206: uint8(26),
  25069. 207: uint8(26),
  25070. 208: uint8(26),
  25071. 209: uint8(26),
  25072. 210: uint8(26),
  25073. 211: uint8(26),
  25074. 212: uint8(26),
  25075. 213: uint8(26),
  25076. 214: uint8(26),
  25077. 215: uint8(26),
  25078. 216: uint8(26),
  25079. 217: uint8(26),
  25080. 218: uint8(26),
  25081. 219: uint8(26),
  25082. 220: uint8(26),
  25083. 221: uint8(26),
  25084. 222: uint8(26),
  25085. 223: uint8(26),
  25086. 224: uint8(27),
  25087. 225: uint8(27),
  25088. 226: uint8(27),
  25089. 227: uint8(27),
  25090. 228: uint8(27),
  25091. 229: uint8(27),
  25092. 230: uint8(27),
  25093. 231: uint8(27),
  25094. 232: uint8(27),
  25095. 233: uint8(27),
  25096. 234: uint8(27),
  25097. 235: uint8(27),
  25098. 236: uint8(27),
  25099. 237: uint8(27),
  25100. 238: uint8(27),
  25101. 239: uint8(27),
  25102. 240: uint8(27),
  25103. 241: uint8(27),
  25104. 242: uint8(27),
  25105. 243: uint8(27),
  25106. 244: uint8(27),
  25107. 245: uint8(27),
  25108. 246: uint8(27),
  25109. 247: uint8(27),
  25110. 248: uint8(27),
  25111. 249: uint8(27),
  25112. 250: uint8(27),
  25113. 251: uint8(27),
  25114. 252: uint8(27),
  25115. 253: uint8(27),
  25116. 254: uint8(27),
  25117. 255: uint8(28),
  25118. }
  25119. var Xdeflate_copyright = [68]uint8{' ', 'd', 'e', 'f', 'l', 'a', 't', 'e', ' ', '1', '.', '3', '.', '1', ' ', 'C', 'o', 'p', 'y', 'r', 'i', 'g', 'h', 't', ' ', '1', '9', '9', '5', '-', '2', '0', '2', '4', ' ', 'J', 'e', 'a', 'n', '-', 'l', 'o', 'u', 'p', ' ', 'G', 'a', 'i', 'l', 'l', 'y', ' ', 'a', 'n', 'd', ' ', 'M', 'a', 'r', 'k', ' ', 'A', 'd', 'l', 'e', 'r', ' '}
  25120. var Xinflate_copyright = [47]uint8{' ', 'i', 'n', 'f', 'l', 'a', 't', 'e', ' ', '1', '.', '3', '.', '1', ' ', 'C', 'o', 'p', 'y', 'r', 'i', 'g', 'h', 't', ' ', '1', '9', '9', '5', '-', '2', '0', '2', '4', ' ', 'M', 'a', 'r', 'k', ' ', 'A', 'd', 'l', 'e', 'r', ' '}
  25121. var Xz_errmsg = [10]uintptr{
  25122. 0: __ccgo_ts + 467,
  25123. 1: __ccgo_ts + 483,
  25124. 2: __ccgo_ts + 494,
  25125. 3: __ccgo_ts + 495,
  25126. 4: __ccgo_ts + 506,
  25127. 5: __ccgo_ts + 519,
  25128. 6: __ccgo_ts + 530,
  25129. 7: __ccgo_ts + 550,
  25130. 8: __ccgo_ts + 563,
  25131. 9: __ccgo_ts + 494,
  25132. }
  25133. var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
  25134. var __ccgo_ts1 = "1.3.1\x00invalid block type\x00invalid stored block lengths\x00too many length or distance symbols\x00invalid code lengths set\x00invalid bit length repeat\x00invalid code -- missing end-of-block\x00invalid literal/lengths set\x00invalid distances set\x00invalid literal/length code\x00invalid distance code\x00invalid distance too far back\x00incorrect header check\x00unknown compression method\x00invalid window size\x00unknown header flags set\x00header crc mismatch\x00incorrect data check\x00incorrect length check\x00need dictionary\x00stream end\x00\x00file error\x00stream error\x00data error\x00insufficient memory\x00buffer error\x00incompatible version\x00%s\x00<fd:%d>\x00out of memory\x00%s%s%s\x00: \x00unexpected end of file\x00internal error: inflate stream corrupt\x00compressed data error\x00request does not fit in an int\x00request does not fit in a size_t\x00out of room to push characters\x00internal error: deflate stream corrupt\x00requested length does not fit in int\x00string length does not fit in int\x00"