ccgo_freebsd_arm64.go 788 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792
  1. // Code generated for freebsd/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 freebsd && 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_BASE = 65521
  12. const m_BC_BASE_MAX = 99
  13. const m_BC_DIM_MAX = 2048
  14. const m_BC_SCALE_MAX = 99
  15. const m_BC_STRING_MAX = 1000
  16. const m_BIG_ENDIAN = "_BIG_ENDIAN"
  17. const m_BYTE_ORDER = "_BYTE_ORDER"
  18. const m_CHARCLASS_NAME_MAX = 14
  19. const m_CHAR_BIT = "__CHAR_BIT"
  20. const m_CHAR_MAX = "UCHAR_MAX"
  21. const m_CHAR_MIN = 0
  22. const m_CHILD_MAX = 40
  23. const m_COLL_WEIGHTS_MAX = 10
  24. const m_DEF_MEM_LEVEL = 8
  25. const m_DEF_WBITS = "MAX_WBITS"
  26. const m_DYN_TREES = 2
  27. const m_EXIT_FAILURE = 1
  28. const m_EXIT_SUCCESS = 0
  29. const m_EXPR_NEST_MAX = 32
  30. const m_FD_SETSIZE = 1024
  31. const m_F_LOCK = 1
  32. const m_F_OK = 0
  33. const m_F_TEST = 3
  34. const m_F_TLOCK = 2
  35. const m_F_ULOCK = 0
  36. const m_GID_MAX = "UINT_MAX"
  37. const m_HAVE_HIDDEN = 1
  38. const m_INT_MAX = "__INT_MAX"
  39. const m_INT_MIN = "__INT_MIN"
  40. const m_IOV_MAX = 1024
  41. const m_KCMP_FILE = 100
  42. const m_KCMP_FILEOBJ = 101
  43. const m_KCMP_FILES = 102
  44. const m_KCMP_SIGHAND = 103
  45. const m_KCMP_VM = 104
  46. const m_LINE_MAX = 2048
  47. const m_LITTLE_ENDIAN = "_LITTLE_ENDIAN"
  48. const m_LLONG_MAX = "__LLONG_MAX"
  49. const m_LLONG_MIN = "__LLONG_MIN"
  50. const m_LONG_BIT = "__LONG_BIT"
  51. const m_LONG_MAX = "__LONG_MAX"
  52. const m_LONG_MIN = "__LONG_MIN"
  53. const m_L_INCR = "SEEK_CUR"
  54. const m_L_SET = "SEEK_SET"
  55. const m_L_XTND = "SEEK_END"
  56. const m_MAX_CANON = 255
  57. const m_MAX_INPUT = 255
  58. const m_MAX_MATCH = 258
  59. const m_MAX_MEM_LEVEL = 9
  60. const m_MAX_WBITS = 15
  61. const m_MB_LEN_MAX = 6
  62. const m_MIN_MATCH = 3
  63. const m_MQ_PRIO_MAX = 64
  64. const m_NAME_MAX = 255
  65. const m_NDEBUG = 1
  66. const m_NFDBITS = "_NFDBITS"
  67. const m_NGROUPS_MAX = 1023
  68. const m_NL_ARGMAX = 4096
  69. const m_NL_LANGMAX = 31
  70. const m_NL_MSGMAX = 32767
  71. const m_NL_NMAX = 1
  72. const m_NL_SETMAX = 255
  73. const m_NL_TEXTMAX = 2048
  74. const m_NMAX = 5552
  75. const m_OFF_MAX = "__OFF_MAX"
  76. const m_OFF_MIN = "__OFF_MIN"
  77. const m_OPEN_MAX = 64
  78. const m_OS_CODE = 3
  79. const m_PASS_MAX = 128
  80. const m_PATH_MAX = 1024
  81. const m_PDP_ENDIAN = "_PDP_ENDIAN"
  82. const m_PIPE_BUF = 512
  83. const m_PRESET_DICT = 0x20
  84. const m_QUAD_MAX = "__QUAD_MAX"
  85. const m_QUAD_MIN = "__QUAD_MIN"
  86. const m_RAND_MAX = 0x7fffffff
  87. const m_RE_DUP_MAX = 255
  88. const m_RFTSIGMASK = 0xFF
  89. const m_RFTSIGSHIFT = 20
  90. const m_R_OK = 0x04
  91. const m_SCHAR_MAX = "__SCHAR_MAX"
  92. const m_SCHAR_MIN = "__SCHAR_MIN"
  93. const m_SEEK_CUR = 1
  94. const m_SEEK_DATA = 3
  95. const m_SEEK_END = 2
  96. const m_SEEK_HOLE = 4
  97. const m_SEEK_SET = 0
  98. const m_SHRT_MAX = "__SHRT_MAX"
  99. const m_SHRT_MIN = "__SHRT_MIN"
  100. const m_SIZE_T_MAX = "__SIZE_T_MAX"
  101. const m_SSIZE_MAX = "__SSIZE_MAX"
  102. const m_STATIC_TREES = 1
  103. const m_STDERR_FILENO = 2
  104. const m_STDIN_FILENO = 0
  105. const m_STDOUT_FILENO = 1
  106. const m_STORED_BLOCK = 0
  107. const m_SWAPOFF_FORCE = 0x00000001
  108. const m_UCHAR_MAX = "__UCHAR_MAX"
  109. const m_UID_MAX = "UINT_MAX"
  110. const m_UINT_MAX = "__UINT_MAX"
  111. const m_ULLONG_MAX = "__ULLONG_MAX"
  112. const m_ULONG_MAX = "__ULONG_MAX"
  113. const m_UQUAD_MAX = "__UQUAD_MAX"
  114. const m_USHRT_MAX = "__USHRT_MAX"
  115. const m_WORD_BIT = "__WORD_BIT"
  116. const m_W_OK = 0x02
  117. const m_X_OK = 0x01
  118. const m_ZEXTERN = "extern"
  119. const m_ZLIB_VERNUM = 0x1310
  120. const m_ZLIB_VERSION = "1.3.1"
  121. const m_ZLIB_VER_MAJOR = 1
  122. const m_ZLIB_VER_MINOR = 3
  123. const m_ZLIB_VER_REVISION = 1
  124. const m_ZLIB_VER_SUBREVISION = 0
  125. const m_Z_ASCII = "Z_TEXT"
  126. const m_Z_BEST_COMPRESSION = 9
  127. const m_Z_BEST_SPEED = 1
  128. const m_Z_BINARY = 0
  129. const m_Z_BLOCK = 5
  130. const m_Z_DEFAULT_STRATEGY = 0
  131. const m_Z_DEFLATED = 8
  132. const m_Z_FILTERED = 1
  133. const m_Z_FINISH = 4
  134. const m_Z_FIXED = 4
  135. const m_Z_FULL_FLUSH = 3
  136. const m_Z_HUFFMAN_ONLY = 2
  137. const m_Z_NEED_DICT = 2
  138. const m_Z_NO_COMPRESSION = 0
  139. const m_Z_NO_FLUSH = 0
  140. const m_Z_NULL = 0
  141. const m_Z_OK = 0
  142. const m_Z_PARTIAL_FLUSH = 1
  143. const m_Z_RLE = 3
  144. const m_Z_STREAM_END = 1
  145. const m_Z_SYNC_FLUSH = 2
  146. const m_Z_TEXT = 1
  147. const m_Z_TREES = 6
  148. const m_Z_U4 = "unsigned"
  149. const m_Z_UNKNOWN = 2
  150. const m__BYTE_ORDER = "__BYTE_ORDER__"
  151. const m__CS_PATH = 1
  152. const m__CS_POSIX_V6_ILP32_OFF32_CFLAGS = 2
  153. const m__CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 3
  154. const m__CS_POSIX_V6_ILP32_OFF32_LIBS = 4
  155. const m__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 5
  156. const m__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 6
  157. const m__CS_POSIX_V6_ILP32_OFFBIG_LIBS = 7
  158. const m__CS_POSIX_V6_LP64_OFF64_CFLAGS = 8
  159. const m__CS_POSIX_V6_LP64_OFF64_LDFLAGS = 9
  160. const m__CS_POSIX_V6_LP64_OFF64_LIBS = 10
  161. const m__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 11
  162. const m__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 12
  163. const m__CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 13
  164. const m__CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 14
  165. const m__LARGEFILE64_SOURCE = 1
  166. const m__LP64 = 1
  167. const m__PC_ACL_EXTENDED = 59
  168. const m__PC_ACL_NFS4 = 64
  169. const m__PC_ACL_PATH_MAX = 60
  170. const m__PC_ALLOC_SIZE_MIN = 10
  171. const m__PC_ASYNC_IO = 53
  172. const m__PC_CAP_PRESENT = 61
  173. const m__PC_CHOWN_RESTRICTED = 7
  174. const m__PC_DEALLOC_PRESENT = 65
  175. const m__PC_FILESIZEBITS = 12
  176. const m__PC_INF_PRESENT = 62
  177. const m__PC_LINK_MAX = 1
  178. const m__PC_MAC_PRESENT = 63
  179. const m__PC_MAX_CANON = 2
  180. const m__PC_MAX_INPUT = 3
  181. const m__PC_MIN_HOLE_SIZE = 21
  182. const m__PC_NAME_MAX = 4
  183. const m__PC_NO_TRUNC = 8
  184. const m__PC_PATH_MAX = 5
  185. const m__PC_PIPE_BUF = 6
  186. const m__PC_PRIO_IO = 54
  187. const m__PC_REC_INCR_XFER_SIZE = 14
  188. const m__PC_REC_MAX_XFER_SIZE = 15
  189. const m__PC_REC_MIN_XFER_SIZE = 16
  190. const m__PC_REC_XFER_ALIGN = 17
  191. const m__PC_SYMLINK_MAX = 18
  192. const m__PC_SYNC_IO = 55
  193. const m__PC_VDISABLE = 9
  194. const m__PDP_ENDIAN = "__ORDER_PDP_ENDIAN__"
  195. const m__POSIX2_BC_BASE_MAX = 99
  196. const m__POSIX2_BC_DIM_MAX = 2048
  197. const m__POSIX2_BC_SCALE_MAX = 99
  198. const m__POSIX2_BC_STRING_MAX = 1000
  199. const m__POSIX2_CHARCLASS_NAME_MAX = 14
  200. const m__POSIX2_CHAR_TERM = 1
  201. const m__POSIX2_COLL_WEIGHTS_MAX = 2
  202. const m__POSIX2_C_BIND = 200112
  203. const m__POSIX2_EQUIV_CLASS_MAX = 2
  204. const m__POSIX2_EXPR_NEST_MAX = 32
  205. const m__POSIX2_FORT_RUN = 200112
  206. const m__POSIX2_LINE_MAX = 2048
  207. const m__POSIX2_RE_DUP_MAX = 255
  208. const m__POSIX2_UPE = 200112
  209. const m__POSIX2_VERSION = 199212
  210. const m__POSIX_ADVISORY_INFO = 200112
  211. const m__POSIX_AIO_LISTIO_MAX = 2
  212. const m__POSIX_AIO_MAX = 1
  213. const m__POSIX_ARG_MAX = 4096
  214. const m__POSIX_ASYNCHRONOUS_IO = 200112
  215. const m__POSIX_BARRIERS = 200112
  216. const m__POSIX_CHILD_MAX = 25
  217. const m__POSIX_CHOWN_RESTRICTED = 1
  218. const m__POSIX_CLOCKRES_MIN = 20000000
  219. const m__POSIX_CPUTIME = 200112
  220. const m__POSIX_DELAYTIMER_MAX = 32
  221. const m__POSIX_FSYNC = 200112
  222. const m__POSIX_HOST_NAME_MAX = 255
  223. const m__POSIX_IPV6 = 0
  224. const m__POSIX_JOB_CONTROL = 1
  225. const m__POSIX_LINK_MAX = 8
  226. const m__POSIX_LOGIN_NAME_MAX = 9
  227. const m__POSIX_MAPPED_FILES = 200112
  228. const m__POSIX_MAX_CANON = 255
  229. const m__POSIX_MAX_INPUT = 255
  230. const m__POSIX_MEMLOCK_RANGE = 200112
  231. const m__POSIX_MEMORY_PROTECTION = 200112
  232. const m__POSIX_MESSAGE_PASSING = 200112
  233. const m__POSIX_MONOTONIC_CLOCK = 200112
  234. const m__POSIX_MQ_OPEN_MAX = 8
  235. const m__POSIX_MQ_PRIO_MAX = 32
  236. const m__POSIX_NAME_MAX = 14
  237. const m__POSIX_NGROUPS_MAX = 8
  238. const m__POSIX_NO_TRUNC = 1
  239. const m__POSIX_OPEN_MAX = 20
  240. const m__POSIX_PATH_MAX = 256
  241. const m__POSIX_PIPE_BUF = 512
  242. const m__POSIX_PRIORITY_SCHEDULING = 0
  243. const m__POSIX_RAW_SOCKETS = 200112
  244. const m__POSIX_READER_WRITER_LOCKS = 200112
  245. const m__POSIX_REALTIME_SIGNALS = 200112
  246. const m__POSIX_REGEXP = 1
  247. const m__POSIX_RE_DUP_MAX = "_POSIX2_RE_DUP_MAX"
  248. const m__POSIX_RTSIG_MAX = 8
  249. const m__POSIX_SEMAPHORES = 200112
  250. const m__POSIX_SEM_NSEMS_MAX = 256
  251. const m__POSIX_SEM_VALUE_MAX = 32767
  252. const m__POSIX_SHARED_MEMORY_OBJECTS = 200112
  253. const m__POSIX_SHELL = 1
  254. const m__POSIX_SIGQUEUE_MAX = 32
  255. const m__POSIX_SPAWN = 200112
  256. const m__POSIX_SPIN_LOCKS = 200112
  257. const m__POSIX_SSIZE_MAX = 32767
  258. const m__POSIX_SS_REPL_MAX = 4
  259. const m__POSIX_STREAM_MAX = 8
  260. const m__POSIX_SYMLINK_MAX = 255
  261. const m__POSIX_SYMLOOP_MAX = 8
  262. const m__POSIX_THREADS = 200112
  263. const m__POSIX_THREAD_ATTR_STACKADDR = 200112
  264. const m__POSIX_THREAD_ATTR_STACKSIZE = 200112
  265. const m__POSIX_THREAD_CPUTIME = 200112
  266. const m__POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4
  267. const m__POSIX_THREAD_KEYS_MAX = 128
  268. const m__POSIX_THREAD_PRIORITY_SCHEDULING = 200112
  269. const m__POSIX_THREAD_PRIO_INHERIT = 200112
  270. const m__POSIX_THREAD_PRIO_PROTECT = 200112
  271. const m__POSIX_THREAD_PROCESS_SHARED = 200112
  272. const m__POSIX_THREAD_THREADS_MAX = 64
  273. const m__POSIX_TIMEOUTS = 200112
  274. const m__POSIX_TIMERS = 200112
  275. const m__POSIX_TIMER_MAX = 32
  276. const m__POSIX_TRACE_EVENT_NAME_MAX = 30
  277. const m__POSIX_TRACE_NAME_MAX = 8
  278. const m__POSIX_TRACE_SYS_MAX = 8
  279. const m__POSIX_TRACE_USER_EVENT_MAX = 32
  280. const m__POSIX_TTY_NAME_MAX = 9
  281. const m__POSIX_TZNAME_MAX = 6
  282. const m__POSIX_VDISABLE = 0xff
  283. const m__POSIX_VERSION = 200112
  284. const m__QUAD_HIGHWORD = 1
  285. const m__QUAD_LOWWORD = 0
  286. const m__SC_2_CHAR_TERM = 20
  287. const m__SC_2_C_BIND = 18
  288. const m__SC_2_C_DEV = 19
  289. const m__SC_2_FORT_DEV = 21
  290. const m__SC_2_FORT_RUN = 22
  291. const m__SC_2_LOCALEDEF = 23
  292. const m__SC_2_PBS = 59
  293. const m__SC_2_PBS_ACCOUNTING = 60
  294. const m__SC_2_PBS_CHECKPOINT = 61
  295. const m__SC_2_PBS_LOCATE = 62
  296. const m__SC_2_PBS_MESSAGE = 63
  297. const m__SC_2_PBS_TRACK = 64
  298. const m__SC_2_SW_DEV = 24
  299. const m__SC_2_UPE = 25
  300. const m__SC_2_VERSION = 17
  301. const m__SC_ADVISORY_INFO = 65
  302. const m__SC_AIO_LISTIO_MAX = 42
  303. const m__SC_AIO_MAX = 43
  304. const m__SC_AIO_PRIO_DELTA_MAX = 44
  305. const m__SC_ARG_MAX = 1
  306. const m__SC_ASYNCHRONOUS_IO = 28
  307. const m__SC_ATEXIT_MAX = 107
  308. const m__SC_BARRIERS = 66
  309. const m__SC_BC_BASE_MAX = 9
  310. const m__SC_BC_DIM_MAX = 10
  311. const m__SC_BC_SCALE_MAX = 11
  312. const m__SC_BC_STRING_MAX = 12
  313. const m__SC_CHILD_MAX = 2
  314. const m__SC_CLK_TCK = 3
  315. const m__SC_CLOCK_SELECTION = 67
  316. const m__SC_COLL_WEIGHTS_MAX = 13
  317. const m__SC_CPUSET_SIZE = 122
  318. const m__SC_CPUTIME = 68
  319. const m__SC_DELAYTIMER_MAX = 45
  320. const m__SC_EXPR_NEST_MAX = 14
  321. const m__SC_FILE_LOCKING = 69
  322. const m__SC_FSYNC = 38
  323. const m__SC_GETGR_R_SIZE_MAX = 70
  324. const m__SC_GETPW_R_SIZE_MAX = 71
  325. const m__SC_HOST_NAME_MAX = 72
  326. const m__SC_IOV_MAX = 56
  327. const m__SC_IPV6 = 118
  328. const m__SC_JOB_CONTROL = 6
  329. const m__SC_LINE_MAX = 15
  330. const m__SC_LOGIN_NAME_MAX = 73
  331. const m__SC_MAPPED_FILES = 29
  332. const m__SC_MEMLOCK = 30
  333. const m__SC_MEMLOCK_RANGE = 31
  334. const m__SC_MEMORY_PROTECTION = 32
  335. const m__SC_MESSAGE_PASSING = 33
  336. const m__SC_MONOTONIC_CLOCK = 74
  337. const m__SC_MQ_OPEN_MAX = 46
  338. const m__SC_MQ_PRIO_MAX = 75
  339. const m__SC_NGROUPS_MAX = 4
  340. const m__SC_NPROCESSORS_CONF = 57
  341. const m__SC_NPROCESSORS_ONLN = 58
  342. const m__SC_OPEN_MAX = 5
  343. const m__SC_PAGESIZE = 47
  344. const m__SC_PAGE_SIZE = "_SC_PAGESIZE"
  345. const m__SC_PHYS_PAGES = 121
  346. const m__SC_PRIORITIZED_IO = 34
  347. const m__SC_PRIORITY_SCHEDULING = 35
  348. const m__SC_RAW_SOCKETS = 119
  349. const m__SC_READER_WRITER_LOCKS = 76
  350. const m__SC_REALTIME_SIGNALS = 36
  351. const m__SC_REGEXP = 77
  352. const m__SC_RE_DUP_MAX = 16
  353. const m__SC_RTSIG_MAX = 48
  354. const m__SC_SAVED_IDS = 7
  355. const m__SC_SEMAPHORES = 37
  356. const m__SC_SEM_NSEMS_MAX = 49
  357. const m__SC_SEM_VALUE_MAX = 50
  358. const m__SC_SHARED_MEMORY_OBJECTS = 39
  359. const m__SC_SHELL = 78
  360. const m__SC_SIGQUEUE_MAX = 51
  361. const m__SC_SPAWN = 79
  362. const m__SC_SPIN_LOCKS = 80
  363. const m__SC_SPORADIC_SERVER = 81
  364. const m__SC_STREAM_MAX = 26
  365. const m__SC_SYMLOOP_MAX = 120
  366. const m__SC_SYNCHRONIZED_IO = 40
  367. const m__SC_THREADS = 96
  368. const m__SC_THREAD_ATTR_STACKADDR = 82
  369. const m__SC_THREAD_ATTR_STACKSIZE = 83
  370. const m__SC_THREAD_CPUTIME = 84
  371. const m__SC_THREAD_DESTRUCTOR_ITERATIONS = 85
  372. const m__SC_THREAD_KEYS_MAX = 86
  373. const m__SC_THREAD_PRIORITY_SCHEDULING = 89
  374. const m__SC_THREAD_PRIO_INHERIT = 87
  375. const m__SC_THREAD_PRIO_PROTECT = 88
  376. const m__SC_THREAD_PROCESS_SHARED = 90
  377. const m__SC_THREAD_SAFE_FUNCTIONS = 91
  378. const m__SC_THREAD_SPORADIC_SERVER = 92
  379. const m__SC_THREAD_STACK_MIN = 93
  380. const m__SC_THREAD_THREADS_MAX = 94
  381. const m__SC_TIMEOUTS = 95
  382. const m__SC_TIMERS = 41
  383. const m__SC_TIMER_MAX = 52
  384. const m__SC_TRACE = 97
  385. const m__SC_TRACE_EVENT_FILTER = 98
  386. const m__SC_TRACE_INHERIT = 99
  387. const m__SC_TRACE_LOG = 100
  388. const m__SC_TTY_NAME_MAX = 101
  389. const m__SC_TYPED_MEMORY_OBJECTS = 102
  390. const m__SC_TZNAME_MAX = 27
  391. const m__SC_V6_ILP32_OFF32 = 103
  392. const m__SC_V6_ILP32_OFFBIG = 104
  393. const m__SC_V6_LP64_OFF64 = 105
  394. const m__SC_V6_LPBIG_OFFBIG = 106
  395. const m__SC_VERSION = 8
  396. const m__SC_XOPEN_CRYPT = 108
  397. const m__SC_XOPEN_ENH_I18N = 109
  398. const m__SC_XOPEN_LEGACY = 110
  399. const m__SC_XOPEN_REALTIME = 111
  400. const m__SC_XOPEN_REALTIME_THREADS = 112
  401. const m__SC_XOPEN_SHM = 113
  402. const m__SC_XOPEN_STREAMS = 114
  403. const m__SC_XOPEN_UNIX = 115
  404. const m__SC_XOPEN_VERSION = 116
  405. const m__SC_XOPEN_XCU_VERSION = 117
  406. const m__SIG_MAXSIG = 128
  407. const m__SIG_WORDS = 4
  408. const m__V6_ILP32_OFFBIG = 0
  409. const m__V6_LP64_OFF64 = 0
  410. const m__XOPEN_IOV_MAX = 16
  411. const m__XOPEN_NAME_MAX = 255
  412. const m__XOPEN_PATH_MAX = 1024
  413. const m__XOPEN_SHM = 1
  414. const m___AARCH64EL__ = 1
  415. const m___AARCH64_CMODEL_SMALL__ = 1
  416. const m___ARM_64BIT_STATE = 1
  417. const m___ARM_ACLE = 200
  418. const m___ARM_ALIGN_MAX_STACK_PWR = 4
  419. const m___ARM_ARCH = 8
  420. const m___ARM_ARCH_ISA_A64 = 1
  421. const m___ARM_ARCH_PROFILE = 'A'
  422. const m___ARM_FEATURE_CLZ = 1
  423. const m___ARM_FEATURE_DIRECTED_ROUNDING = 1
  424. const m___ARM_FEATURE_DIV = 1
  425. const m___ARM_FEATURE_FMA = 1
  426. const m___ARM_FEATURE_IDIV = 1
  427. const m___ARM_FEATURE_LDREX = 0xF
  428. const m___ARM_FEATURE_NUMERIC_MAXMIN = 1
  429. const m___ARM_FEATURE_UNALIGNED = 1
  430. const m___ARM_FP = 0xE
  431. const m___ARM_FP16_ARGS = 1
  432. const m___ARM_FP16_FORMAT_IEEE = 1
  433. const m___ARM_NEON = 1
  434. const m___ARM_NEON_FP = 0xE
  435. const m___ARM_PCS_AAPCS64 = 1
  436. const m___ARM_SIZEOF_MINIMAL_ENUM = 4
  437. const m___ARM_SIZEOF_WCHAR_T = 4
  438. const m___ARM_STATE_ZA = 1
  439. const m___ARM_STATE_ZT0 = 1
  440. const m___ATOMIC_ACQUIRE = 2
  441. const m___ATOMIC_ACQ_REL = 4
  442. const m___ATOMIC_CONSUME = 1
  443. const m___ATOMIC_RELAXED = 0
  444. const m___ATOMIC_RELEASE = 3
  445. const m___ATOMIC_SEQ_CST = 5
  446. const m___BIGGEST_ALIGNMENT__ = 16
  447. const m___BITINT_MAXWIDTH__ = 128
  448. const m___BOOL_WIDTH__ = 8
  449. const m___BSD_VISIBLE = 1
  450. const m___BYTE_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  451. const m___CCGO__ = 1
  452. const m___CC_SUPPORTS_DYNAMIC_ARRAY_INIT = 1
  453. const m___CC_SUPPORTS_INLINE = 1
  454. const m___CC_SUPPORTS_VARADIC_XXX = 1
  455. const m___CC_SUPPORTS_WARNING = 1
  456. const m___CC_SUPPORTS___FUNC__ = 1
  457. const m___CC_SUPPORTS___INLINE = 1
  458. const m___CC_SUPPORTS___INLINE__ = 1
  459. const m___CHAR_BIT = 8
  460. const m___CHAR_BIT__ = 8
  461. const m___CHAR_UNSIGNED__ = 1
  462. const m___CLANG_ATOMIC_BOOL_LOCK_FREE = 2
  463. const m___CLANG_ATOMIC_CHAR16_T_LOCK_FREE = 2
  464. const m___CLANG_ATOMIC_CHAR32_T_LOCK_FREE = 2
  465. const m___CLANG_ATOMIC_CHAR_LOCK_FREE = 2
  466. const m___CLANG_ATOMIC_INT_LOCK_FREE = 2
  467. const m___CLANG_ATOMIC_LLONG_LOCK_FREE = 2
  468. const m___CLANG_ATOMIC_LONG_LOCK_FREE = 2
  469. const m___CLANG_ATOMIC_POINTER_LOCK_FREE = 2
  470. const m___CLANG_ATOMIC_SHORT_LOCK_FREE = 2
  471. const m___CLANG_ATOMIC_WCHAR_T_LOCK_FREE = 2
  472. const m___CONSTANT_CFSTRINGS__ = 1
  473. const m___DBL_DECIMAL_DIG__ = 17
  474. const m___DBL_DENORM_MIN__ = 4.9406564584124654e-324
  475. const m___DBL_DIG__ = 15
  476. const m___DBL_EPSILON__ = 2.2204460492503131e-16
  477. const m___DBL_HAS_DENORM__ = 1
  478. const m___DBL_HAS_INFINITY__ = 1
  479. const m___DBL_HAS_QUIET_NAN__ = 1
  480. const m___DBL_MANT_DIG__ = 53
  481. const m___DBL_MAX_10_EXP__ = 308
  482. const m___DBL_MAX_EXP__ = 1024
  483. const m___DBL_MAX__ = 1.7976931348623157e+308
  484. const m___DBL_MIN__ = 2.2250738585072014e-308
  485. const m___DECIMAL_DIG__ = "__LDBL_DECIMAL_DIG__"
  486. const m___ELF__ = 1
  487. const m___EXT1_VISIBLE = 1
  488. const m___FINITE_MATH_ONLY__ = 0
  489. const m___FLT16_DECIMAL_DIG__ = 5
  490. const m___FLT16_DENORM_MIN__ = 5.9604644775390625e-8
  491. const m___FLT16_DIG__ = 3
  492. const m___FLT16_EPSILON__ = 9.765625e-4
  493. const m___FLT16_HAS_DENORM__ = 1
  494. const m___FLT16_HAS_INFINITY__ = 1
  495. const m___FLT16_HAS_QUIET_NAN__ = 1
  496. const m___FLT16_MANT_DIG__ = 11
  497. const m___FLT16_MAX_10_EXP__ = 4
  498. const m___FLT16_MAX_EXP__ = 16
  499. const m___FLT16_MAX__ = 6.5504e+4
  500. const m___FLT16_MIN__ = 6.103515625e-5
  501. const m___FLT_DECIMAL_DIG__ = 9
  502. const m___FLT_DENORM_MIN__ = 1.40129846e-45
  503. const m___FLT_DIG__ = 6
  504. const m___FLT_EPSILON__ = 1.19209290e-7
  505. const m___FLT_HAS_DENORM__ = 1
  506. const m___FLT_HAS_INFINITY__ = 1
  507. const m___FLT_HAS_QUIET_NAN__ = 1
  508. const m___FLT_MANT_DIG__ = 24
  509. const m___FLT_MAX_10_EXP__ = 38
  510. const m___FLT_MAX_EXP__ = 128
  511. const m___FLT_MAX__ = 3.40282347e+38
  512. const m___FLT_MIN__ = 1.17549435e-38
  513. const m___FLT_RADIX__ = 2
  514. const m___FPCLASS_NEGINF = 0x0004
  515. const m___FPCLASS_NEGNORMAL = 0x0008
  516. const m___FPCLASS_NEGSUBNORMAL = 0x0010
  517. const m___FPCLASS_NEGZERO = 0x0020
  518. const m___FPCLASS_POSINF = 0x0200
  519. const m___FPCLASS_POSNORMAL = 0x0100
  520. const m___FPCLASS_POSSUBNORMAL = 0x0080
  521. const m___FPCLASS_POSZERO = 0x0040
  522. const m___FPCLASS_QNAN = 0x0002
  523. const m___FPCLASS_SNAN = 0x0001
  524. const m___FP_FAST_FMA = 1
  525. const m___FP_FAST_FMAF = 1
  526. const m___FUNCTION__ = "__func__"
  527. const m___FreeBSD__ = 14
  528. const m___FreeBSD_cc_version = 1400006
  529. const m___GCC_ASM_FLAG_OUTPUTS__ = 1
  530. const m___GCC_ATOMIC_BOOL_LOCK_FREE = 2
  531. const m___GCC_ATOMIC_CHAR16_T_LOCK_FREE = 2
  532. const m___GCC_ATOMIC_CHAR32_T_LOCK_FREE = 2
  533. const m___GCC_ATOMIC_CHAR_LOCK_FREE = 2
  534. const m___GCC_ATOMIC_INT_LOCK_FREE = 2
  535. const m___GCC_ATOMIC_LLONG_LOCK_FREE = 2
  536. const m___GCC_ATOMIC_LONG_LOCK_FREE = 2
  537. const m___GCC_ATOMIC_POINTER_LOCK_FREE = 2
  538. const m___GCC_ATOMIC_SHORT_LOCK_FREE = 2
  539. const m___GCC_ATOMIC_TEST_AND_SET_TRUEVAL = 1
  540. const m___GCC_ATOMIC_WCHAR_T_LOCK_FREE = 2
  541. const m___GCC_HAVE_DWARF2_CFI_ASM = 1
  542. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 = 1
  543. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 = 1
  544. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 = 1
  545. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1
  546. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = 1
  547. const m___GNUCLIKE_ASM = 3
  548. const m___GNUCLIKE_BUILTIN_CONSTANT_P = 1
  549. const m___GNUCLIKE_BUILTIN_MEMCPY = 1
  550. const m___GNUCLIKE_BUILTIN_NEXT_ARG = 1
  551. const m___GNUCLIKE_BUILTIN_STDARG = 1
  552. const m___GNUCLIKE_BUILTIN_VAALIST = 1
  553. const m___GNUCLIKE_BUILTIN_VARARGS = 1
  554. const m___GNUCLIKE_CTOR_SECTION_HANDLING = 1
  555. const m___GNUCLIKE___SECTION = 1
  556. const m___GNUCLIKE___TYPEOF = 1
  557. const m___GNUC_MINOR__ = 2
  558. const m___GNUC_PATCHLEVEL__ = 1
  559. const m___GNUC_STDC_INLINE__ = 1
  560. const m___GNUC_VA_LIST_COMPATIBILITY = 1
  561. const m___GNUC__ = 4
  562. const m___GXX_ABI_VERSION = 1002
  563. const m___HAVE_FUNCTION_MULTI_VERSIONING = 1
  564. const m___INT16_FMTd__ = "hd"
  565. const m___INT16_FMTi__ = "hi"
  566. const m___INT16_MAX__ = 32767
  567. const m___INT16_TYPE__ = "short"
  568. const m___INT32_FMTd__ = "d"
  569. const m___INT32_FMTi__ = "i"
  570. const m___INT32_MAX__ = 2147483647
  571. const m___INT32_TYPE__ = "int"
  572. const m___INT64_C_SUFFIX__ = "L"
  573. const m___INT64_FMTd__ = "ld"
  574. const m___INT64_FMTi__ = "li"
  575. const m___INT64_MAX__ = 9223372036854775807
  576. const m___INT8_FMTd__ = "hhd"
  577. const m___INT8_FMTi__ = "hhi"
  578. const m___INT8_MAX__ = 127
  579. const m___INTMAX_C_SUFFIX__ = "L"
  580. const m___INTMAX_FMTd__ = "ld"
  581. const m___INTMAX_FMTi__ = "li"
  582. const m___INTMAX_MAX__ = 9223372036854775807
  583. const m___INTMAX_WIDTH__ = 64
  584. const m___INTPTR_FMTd__ = "ld"
  585. const m___INTPTR_FMTi__ = "li"
  586. const m___INTPTR_MAX__ = 9223372036854775807
  587. const m___INTPTR_WIDTH__ = 64
  588. const m___INT_FAST16_FMTd__ = "hd"
  589. const m___INT_FAST16_FMTi__ = "hi"
  590. const m___INT_FAST16_MAX__ = 32767
  591. const m___INT_FAST16_TYPE__ = "short"
  592. const m___INT_FAST16_WIDTH__ = 16
  593. const m___INT_FAST32_FMTd__ = "d"
  594. const m___INT_FAST32_FMTi__ = "i"
  595. const m___INT_FAST32_MAX__ = 2147483647
  596. const m___INT_FAST32_TYPE__ = "int"
  597. const m___INT_FAST32_WIDTH__ = 32
  598. const m___INT_FAST64_FMTd__ = "ld"
  599. const m___INT_FAST64_FMTi__ = "li"
  600. const m___INT_FAST64_MAX__ = 9223372036854775807
  601. const m___INT_FAST64_WIDTH__ = 64
  602. const m___INT_FAST8_FMTd__ = "hhd"
  603. const m___INT_FAST8_FMTi__ = "hhi"
  604. const m___INT_FAST8_MAX__ = 127
  605. const m___INT_FAST8_WIDTH__ = 8
  606. const m___INT_LEAST16_FMTd__ = "hd"
  607. const m___INT_LEAST16_FMTi__ = "hi"
  608. const m___INT_LEAST16_MAX__ = 32767
  609. const m___INT_LEAST16_TYPE__ = "short"
  610. const m___INT_LEAST16_WIDTH__ = 16
  611. const m___INT_LEAST32_FMTd__ = "d"
  612. const m___INT_LEAST32_FMTi__ = "i"
  613. const m___INT_LEAST32_MAX__ = 2147483647
  614. const m___INT_LEAST32_TYPE__ = "int"
  615. const m___INT_LEAST32_WIDTH__ = 32
  616. const m___INT_LEAST64_FMTd__ = "ld"
  617. const m___INT_LEAST64_FMTi__ = "li"
  618. const m___INT_LEAST64_MAX__ = 9223372036854775807
  619. const m___INT_LEAST64_WIDTH__ = 64
  620. const m___INT_LEAST8_FMTd__ = "hhd"
  621. const m___INT_LEAST8_FMTi__ = "hhi"
  622. const m___INT_LEAST8_MAX__ = 127
  623. const m___INT_LEAST8_WIDTH__ = 8
  624. const m___INT_MAX = 0x7fffffff
  625. const m___INT_MAX__ = 2147483647
  626. const m___INT_WIDTH__ = 32
  627. const m___ISO_C_VISIBLE = 2011
  628. const m___KPRINTF_ATTRIBUTE__ = 1
  629. const m___LDBL_DECIMAL_DIG__ = 36
  630. const m___LDBL_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
  631. const m___LDBL_DIG__ = 33
  632. const m___LDBL_EPSILON__ = 1.92592994438723585305597794258492732e-34
  633. const m___LDBL_HAS_DENORM__ = 1
  634. const m___LDBL_HAS_INFINITY__ = 1
  635. const m___LDBL_HAS_QUIET_NAN__ = 1
  636. const m___LDBL_MANT_DIG__ = 113
  637. const m___LDBL_MAX_10_EXP__ = 4932
  638. const m___LDBL_MAX_EXP__ = 16384
  639. const m___LDBL_MAX__ = "1.18973149535723176508575932662800702e+4932"
  640. const m___LDBL_MIN__ = 3.36210314311209350626267781732175260e-4932
  641. const m___LITTLE_ENDIAN__ = 1
  642. const m___LLONG_MAX = 0x7fffffffffffffff
  643. const m___LLONG_WIDTH__ = 64
  644. const m___LONG_BIT = 64
  645. const m___LONG_LONG_MAX__ = 9223372036854775807
  646. const m___LONG_MAX = 0x7fffffffffffffff
  647. const m___LONG_MAX__ = 9223372036854775807
  648. const m___LONG_WIDTH__ = 64
  649. const m___LP64__ = 1
  650. const m___MEMORY_SCOPE_DEVICE = 1
  651. const m___MEMORY_SCOPE_SINGLE = 4
  652. const m___MEMORY_SCOPE_SYSTEM = 0
  653. const m___MEMORY_SCOPE_WRKGRP = 2
  654. const m___MEMORY_SCOPE_WVFRNT = 3
  655. const m___NO_INLINE__ = 1
  656. const m___NO_MATH_ERRNO__ = 1
  657. const m___OBJC_BOOL_IS_BOOL = 0
  658. const m___OFF_MAX = "__LONG_MAX"
  659. const m___OFF_MIN = "__LONG_MIN"
  660. const m___OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES = 3
  661. const m___OPENCL_MEMORY_SCOPE_DEVICE = 2
  662. const m___OPENCL_MEMORY_SCOPE_SUB_GROUP = 4
  663. const m___OPENCL_MEMORY_SCOPE_WORK_GROUP = 1
  664. const m___OPENCL_MEMORY_SCOPE_WORK_ITEM = 0
  665. const m___ORDER_BIG_ENDIAN__ = 4321
  666. const m___ORDER_LITTLE_ENDIAN__ = 1234
  667. const m___ORDER_PDP_ENDIAN__ = 3412
  668. const m___POINTER_WIDTH__ = 64
  669. const m___POSIX_VISIBLE = 200809
  670. const m___PRAGMA_REDEFINE_EXTNAME = 1
  671. const m___PRETTY_FUNCTION__ = "__func__"
  672. const m___PTRDIFF_FMTd__ = "ld"
  673. const m___PTRDIFF_FMTi__ = "li"
  674. const m___PTRDIFF_MAX__ = 9223372036854775807
  675. const m___PTRDIFF_WIDTH__ = 64
  676. const m___QUAD_MAX = "__LONG_MAX"
  677. const m___QUAD_MIN = "__LONG_MIN"
  678. const m___SCHAR_MAX = 0x7f
  679. const m___SCHAR_MAX__ = 127
  680. const m___SHRT_MAX = 0x7fff
  681. const m___SHRT_MAX__ = 32767
  682. const m___SHRT_WIDTH__ = 16
  683. const m___SIG_ATOMIC_MAX__ = 2147483647
  684. const m___SIG_ATOMIC_WIDTH__ = 32
  685. const m___SIZEOF_DOUBLE__ = 8
  686. const m___SIZEOF_FLOAT__ = 4
  687. const m___SIZEOF_INT128__ = 16
  688. const m___SIZEOF_INT__ = 4
  689. const m___SIZEOF_LONG_DOUBLE__ = 8
  690. const m___SIZEOF_LONG_LONG__ = 8
  691. const m___SIZEOF_LONG__ = 8
  692. const m___SIZEOF_POINTER__ = 8
  693. const m___SIZEOF_PTRDIFF_T__ = 8
  694. const m___SIZEOF_SHORT__ = 2
  695. const m___SIZEOF_SIZE_T__ = 8
  696. const m___SIZEOF_WCHAR_T__ = 4
  697. const m___SIZEOF_WINT_T__ = 4
  698. const m___SIZE_FMTX__ = "lX"
  699. const m___SIZE_FMTo__ = "lo"
  700. const m___SIZE_FMTu__ = "lu"
  701. const m___SIZE_FMTx__ = "lx"
  702. const m___SIZE_MAX__ = 18446744073709551615
  703. const m___SIZE_T_MAX = "__ULONG_MAX"
  704. const m___SIZE_WIDTH__ = 64
  705. const m___SSIZE_MAX = "__LONG_MAX"
  706. const m___STDC_HOSTED__ = 1
  707. const m___STDC_MB_MIGHT_NEQ_WC__ = 1
  708. const m___STDC_UTF_16__ = 1
  709. const m___STDC_UTF_32__ = 1
  710. const m___STDC_VERSION__ = 201710
  711. const m___STDC__ = 1
  712. const m___UCHAR_MAX = 0xff
  713. const m___UINT16_FMTX__ = "hX"
  714. const m___UINT16_FMTo__ = "ho"
  715. const m___UINT16_FMTu__ = "hu"
  716. const m___UINT16_FMTx__ = "hx"
  717. const m___UINT16_MAX__ = 65535
  718. const m___UINT32_C_SUFFIX__ = "U"
  719. const m___UINT32_FMTX__ = "X"
  720. const m___UINT32_FMTo__ = "o"
  721. const m___UINT32_FMTu__ = "u"
  722. const m___UINT32_FMTx__ = "x"
  723. const m___UINT32_MAX__ = 4294967295
  724. const m___UINT64_C_SUFFIX__ = "UL"
  725. const m___UINT64_FMTX__ = "lX"
  726. const m___UINT64_FMTo__ = "lo"
  727. const m___UINT64_FMTu__ = "lu"
  728. const m___UINT64_FMTx__ = "lx"
  729. const m___UINT64_MAX__ = 18446744073709551615
  730. const m___UINT8_FMTX__ = "hhX"
  731. const m___UINT8_FMTo__ = "hho"
  732. const m___UINT8_FMTu__ = "hhu"
  733. const m___UINT8_FMTx__ = "hhx"
  734. const m___UINT8_MAX__ = 255
  735. const m___UINTMAX_C_SUFFIX__ = "UL"
  736. const m___UINTMAX_FMTX__ = "lX"
  737. const m___UINTMAX_FMTo__ = "lo"
  738. const m___UINTMAX_FMTu__ = "lu"
  739. const m___UINTMAX_FMTx__ = "lx"
  740. const m___UINTMAX_MAX__ = 18446744073709551615
  741. const m___UINTMAX_WIDTH__ = 64
  742. const m___UINTPTR_FMTX__ = "lX"
  743. const m___UINTPTR_FMTo__ = "lo"
  744. const m___UINTPTR_FMTu__ = "lu"
  745. const m___UINTPTR_FMTx__ = "lx"
  746. const m___UINTPTR_MAX__ = 18446744073709551615
  747. const m___UINTPTR_WIDTH__ = 64
  748. const m___UINT_FAST16_FMTX__ = "hX"
  749. const m___UINT_FAST16_FMTo__ = "ho"
  750. const m___UINT_FAST16_FMTu__ = "hu"
  751. const m___UINT_FAST16_FMTx__ = "hx"
  752. const m___UINT_FAST16_MAX__ = 65535
  753. const m___UINT_FAST32_FMTX__ = "X"
  754. const m___UINT_FAST32_FMTo__ = "o"
  755. const m___UINT_FAST32_FMTu__ = "u"
  756. const m___UINT_FAST32_FMTx__ = "x"
  757. const m___UINT_FAST32_MAX__ = 4294967295
  758. const m___UINT_FAST64_FMTX__ = "lX"
  759. const m___UINT_FAST64_FMTo__ = "lo"
  760. const m___UINT_FAST64_FMTu__ = "lu"
  761. const m___UINT_FAST64_FMTx__ = "lx"
  762. const m___UINT_FAST64_MAX__ = 18446744073709551615
  763. const m___UINT_FAST8_FMTX__ = "hhX"
  764. const m___UINT_FAST8_FMTo__ = "hho"
  765. const m___UINT_FAST8_FMTu__ = "hhu"
  766. const m___UINT_FAST8_FMTx__ = "hhx"
  767. const m___UINT_FAST8_MAX__ = 255
  768. const m___UINT_LEAST16_FMTX__ = "hX"
  769. const m___UINT_LEAST16_FMTo__ = "ho"
  770. const m___UINT_LEAST16_FMTu__ = "hu"
  771. const m___UINT_LEAST16_FMTx__ = "hx"
  772. const m___UINT_LEAST16_MAX__ = 65535
  773. const m___UINT_LEAST32_FMTX__ = "X"
  774. const m___UINT_LEAST32_FMTo__ = "o"
  775. const m___UINT_LEAST32_FMTu__ = "u"
  776. const m___UINT_LEAST32_FMTx__ = "x"
  777. const m___UINT_LEAST32_MAX__ = 4294967295
  778. const m___UINT_LEAST64_FMTX__ = "lX"
  779. const m___UINT_LEAST64_FMTo__ = "lo"
  780. const m___UINT_LEAST64_FMTu__ = "lu"
  781. const m___UINT_LEAST64_FMTx__ = "lx"
  782. const m___UINT_LEAST64_MAX__ = 18446744073709551615
  783. const m___UINT_LEAST8_FMTX__ = "hhX"
  784. const m___UINT_LEAST8_FMTo__ = "hho"
  785. const m___UINT_LEAST8_FMTu__ = "hhu"
  786. const m___UINT_LEAST8_FMTx__ = "hhx"
  787. const m___UINT_LEAST8_MAX__ = 255
  788. const m___UINT_MAX = 0xffffffff
  789. const m___ULLONG_MAX = "0xffffffffffffffffU"
  790. const m___ULONG_MAX = 0xffffffffffffffff
  791. const m___UQUAD_MAX = "__ULONG_MAX"
  792. const m___USHRT_MAX = 0xffff
  793. const m___VERSION__ = "FreeBSD Clang 18.1.6 (https://github.com/llvm/llvm-project.git llvmorg-18.1.6-0-g1118c2e05e67)"
  794. const m___WCHAR_MAX = "__UINT_MAX"
  795. const m___WCHAR_MAX__ = 4294967295
  796. const m___WCHAR_MIN = 0
  797. const m___WCHAR_UNSIGNED__ = 1
  798. const m___WCHAR_WIDTH__ = 32
  799. const m___WINT_MAX__ = 2147483647
  800. const m___WINT_TYPE__ = "int"
  801. const m___WINT_WIDTH__ = 32
  802. const m___WORD_BIT = 32
  803. const m___XSI_VISIBLE = 700
  804. const m___aarch64__ = 1
  805. const m___clang__ = 1
  806. const m___clang_literal_encoding__ = "UTF-8"
  807. const m___clang_major__ = 18
  808. const m___clang_minor__ = 1
  809. const m___clang_patchlevel__ = 6
  810. const m___clang_version__ = "18.1.6 (https://github.com/llvm/llvm-project.git llvmorg-18.1.6-0-g1118c2e05e67)"
  811. const m___clang_wide_literal_encoding__ = "UTF-32"
  812. const m___const = "const"
  813. const m___has_extension = "__has_feature"
  814. const m___llvm__ = 1
  815. const m___restrict = "restrict"
  816. const m___restrict_arr = "restrict"
  817. const m___signed = "signed"
  818. const m___unix = 1
  819. const m___unix__ = 1
  820. const m___volatile = "volatile"
  821. const m___writeonly = "__unused"
  822. const m_fds_bits = "__fds_bits"
  823. const m_local = "static"
  824. const m_unix = 1
  825. const m_z_off64_t = "z_off_t"
  826. const m_z_off_t = "off_t"
  827. const m_zmemcmp = "memcmp"
  828. const m_zmemcpy = "memcpy"
  829. type t__builtin_va_list = uintptr
  830. type t__predefined_size_t = uint64
  831. type t__predefined_wchar_t = uint32
  832. type t__predefined_ptrdiff_t = int64
  833. type t__int8_t = int8
  834. type t__uint8_t = uint8
  835. type t__int16_t = int16
  836. type t__uint16_t = uint16
  837. type t__int32_t = int32
  838. type t__uint32_t = uint32
  839. type t__int64_t = int64
  840. type t__uint64_t = uint64
  841. type t__int_least8_t = int8
  842. type t__int_least16_t = int16
  843. type t__int_least32_t = int32
  844. type t__int_least64_t = int64
  845. type t__intmax_t = int64
  846. type t__uint_least8_t = uint8
  847. type t__uint_least16_t = uint16
  848. type t__uint_least32_t = uint32
  849. type t__uint_least64_t = uint64
  850. type t__uintmax_t = uint64
  851. type t__intptr_t = int64
  852. type t__intfptr_t = int64
  853. type t__uintptr_t = uint64
  854. type t__uintfptr_t = uint64
  855. type t__vm_offset_t = uint64
  856. type t__vm_size_t = uint64
  857. type t__size_t = uint64
  858. type t__ssize_t = int64
  859. type t__ptrdiff_t = int64
  860. type t__clock_t = int32
  861. type t__critical_t = int64
  862. type t__double_t = float64
  863. type t__float_t = float32
  864. type t__int_fast8_t = int32
  865. type t__int_fast16_t = int32
  866. type t__int_fast32_t = int32
  867. type t__int_fast64_t = int64
  868. type t__register_t = int64
  869. type t__segsz_t = int64
  870. type t__time_t = int64
  871. type t__uint_fast8_t = uint32
  872. type t__uint_fast16_t = uint32
  873. type t__uint_fast32_t = uint32
  874. type t__uint_fast64_t = uint64
  875. type t__u_register_t = uint64
  876. type t__vm_paddr_t = uint64
  877. type T___wchar_t = uint32
  878. type t__blksize_t = int32
  879. type t__blkcnt_t = int64
  880. type t__clockid_t = int32
  881. type t__fflags_t = uint32
  882. type t__fsblkcnt_t = uint64
  883. type t__fsfilcnt_t = uint64
  884. type t__gid_t = uint32
  885. type t__id_t = int64
  886. type t__ino_t = uint64
  887. type t__key_t = int64
  888. type t__lwpid_t = int32
  889. type t__mode_t = uint16
  890. type t__accmode_t = int32
  891. type t__nl_item = int32
  892. type t__nlink_t = uint64
  893. type t__off_t = int64
  894. type t__off64_t = int64
  895. type t__pid_t = int32
  896. type t__sbintime_t = int64
  897. type t__rlim_t = int64
  898. type t__sa_family_t = uint8
  899. type t__socklen_t = uint32
  900. type t__suseconds_t = int64
  901. type t__timer_t = uintptr
  902. type t__mqd_t = uintptr
  903. type t__uid_t = uint32
  904. type t__useconds_t = uint32
  905. type t__cpuwhich_t = int32
  906. type t__cpulevel_t = int32
  907. type t__cpusetid_t = int32
  908. type t__daddr_t = int64
  909. type t__ct_rune_t = int32
  910. type t__rune_t = int32
  911. type t__wint_t = int32
  912. type t__char16_t = uint16
  913. type t__char32_t = uint32
  914. type t__max_align_t = struct {
  915. F__max_align1 int64
  916. F__max_align2 float64
  917. }
  918. type t__dev_t = uint64
  919. type t__fixpt_t = uint32
  920. type t__mbstate_t = struct {
  921. F_mbstateL [0]t__int64_t
  922. F__mbstate8 [128]uint8
  923. }
  924. type t__rman_res_t = uint64
  925. type t__va_list = uintptr
  926. type t__gnuc_va_list = uintptr
  927. type Tptrdiff_t = int64
  928. type Trune_t = int32
  929. type Tsize_t = uint64
  930. type Twchar_t = uint32
  931. type Tmax_align_t = struct {
  932. F__max_align1 int64
  933. F__max_align2 float64
  934. }
  935. type Trsize_t = uint64
  936. type Tz_size_t = uint64
  937. type TByte = uint8
  938. type TuInt = uint32
  939. type TuLong = uint64
  940. type TBytef = uint8
  941. type Tcharf = uint8
  942. type Tintf = int32
  943. type TuIntf = uint32
  944. type TuLongf = uint64
  945. type Tvoidpc = uintptr
  946. type Tvoidpf = uintptr
  947. type Tvoidp = uintptr
  948. type Tz_crc_t = uint32
  949. type Tpthread_once = struct {
  950. Fstate int32
  951. Fmutex Tpthread_mutex_t
  952. }
  953. type Tpthread_t = uintptr
  954. type Tpthread_attr_t = uintptr
  955. type Tpthread_mutex_t = uintptr
  956. type Tpthread_mutexattr_t = uintptr
  957. type Tpthread_cond_t = uintptr
  958. type Tpthread_condattr_t = uintptr
  959. type Tpthread_key_t = int32
  960. type Tpthread_once_t = struct {
  961. Fstate int32
  962. Fmutex Tpthread_mutex_t
  963. }
  964. type Tpthread_rwlock_t = uintptr
  965. type Tpthread_rwlockattr_t = uintptr
  966. type Tpthread_barrier_t = uintptr
  967. type Tpthread_barrierattr_t = uintptr
  968. type Tpthread_spinlock_t = uintptr
  969. type Tpthread_addr_t = uintptr
  970. type Tpthread_startroutine_t = uintptr
  971. type Tu_char = uint8
  972. type Tu_short = uint16
  973. type Tu_int = uint32
  974. type Tu_long = uint64
  975. type Tushort = uint16
  976. type Tuint = uint32
  977. type Tint8_t = int8
  978. type Tint16_t = int16
  979. type Tint32_t = int32
  980. type Tint64_t = int64
  981. type Tuint8_t = uint8
  982. type Tuint16_t = uint16
  983. type Tuint32_t = uint32
  984. type Tuint64_t = uint64
  985. type Tintptr_t = int64
  986. type Tuintptr_t = uint64
  987. type Tintmax_t = int64
  988. type Tuintmax_t = uint64
  989. type Tu_int8_t = uint8
  990. type Tu_int16_t = uint16
  991. type Tu_int32_t = uint32
  992. type Tu_int64_t = uint64
  993. type Tu_quad_t = uint64
  994. type Tquad_t = int64
  995. type Tqaddr_t = uintptr
  996. type Tcaddr_t = uintptr
  997. type Tc_caddr_t = uintptr
  998. type Tblksize_t = int32
  999. type Tcpuwhich_t = int32
  1000. type Tcpulevel_t = int32
  1001. type Tcpusetid_t = int32
  1002. type Tblkcnt_t = int64
  1003. type Tclock_t = int32
  1004. type Tclockid_t = int32
  1005. type Tcritical_t = int64
  1006. type Tdaddr_t = int64
  1007. type Tdev_t = uint64
  1008. type Tfflags_t = uint32
  1009. type Tfixpt_t = uint32
  1010. type Tfsblkcnt_t = uint64
  1011. type Tfsfilcnt_t = uint64
  1012. type Tgid_t = uint32
  1013. type Tin_addr_t = uint32
  1014. type Tin_port_t = uint16
  1015. type Tid_t = int64
  1016. type Tino_t = uint64
  1017. type Tkey_t = int64
  1018. type Tlwpid_t = int32
  1019. type Tmode_t = uint16
  1020. type Taccmode_t = int32
  1021. type Tnlink_t = uint64
  1022. type Toff_t = int64
  1023. type Toff64_t = int64
  1024. type Tpid_t = int32
  1025. type Tregister_t = int64
  1026. type Trlim_t = int64
  1027. type Tsbintime_t = int64
  1028. type Tsegsz_t = int64
  1029. type Tssize_t = int64
  1030. type Tsuseconds_t = int64
  1031. type Ttime_t = int64
  1032. type Ttimer_t = uintptr
  1033. type Tmqd_t = uintptr
  1034. type Tu_register_t = uint64
  1035. type Tuid_t = uint32
  1036. type Tuseconds_t = uint32
  1037. type Tcap_ioctl_t = uint64
  1038. type Tkpaddr_t = uint64
  1039. type Tkvaddr_t = uint64
  1040. type Tksize_t = uint64
  1041. type Tkssize_t = int64
  1042. type Tvm_offset_t = uint64
  1043. type Tvm_ooffset_t = uint64
  1044. type Tvm_paddr_t = uint64
  1045. type Tvm_pindex_t = uint64
  1046. type Tvm_size_t = uint64
  1047. type Trman_res_t = uint64
  1048. type Tsyscallarg_t = int64
  1049. type t__sigset_t = struct {
  1050. F__bits [4]t__uint32_t
  1051. }
  1052. type t__sigset = t__sigset_t
  1053. type Ttimeval = struct {
  1054. Ftv_sec Ttime_t
  1055. Ftv_usec Tsuseconds_t
  1056. }
  1057. type Ttimespec = struct {
  1058. Ftv_sec Ttime_t
  1059. Ftv_nsec int64
  1060. }
  1061. type Titimerspec = struct {
  1062. Fit_interval Ttimespec
  1063. Fit_value Ttimespec
  1064. }
  1065. type t__fd_mask = uint64
  1066. type Tfd_mask = uint64
  1067. type Tsigset_t = struct {
  1068. F__bits [4]t__uint32_t
  1069. }
  1070. type Tfd_set = struct {
  1071. F__fds_bits [16]t__fd_mask
  1072. }
  1073. type Tva_list = uintptr
  1074. type Tcrypt_data = struct {
  1075. Finitialized int32
  1076. F__buf [256]uint8
  1077. }
  1078. type Talloc_func = uintptr
  1079. type Tfree_func = uintptr
  1080. type Tz_stream = struct {
  1081. Fnext_in uintptr
  1082. Favail_in TuInt
  1083. Ftotal_in TuLong
  1084. Fnext_out uintptr
  1085. Favail_out TuInt
  1086. Ftotal_out TuLong
  1087. Fmsg uintptr
  1088. Fstate uintptr
  1089. Fzalloc Talloc_func
  1090. Fzfree Tfree_func
  1091. Fopaque Tvoidpf
  1092. Fdata_type int32
  1093. Fadler TuLong
  1094. Freserved TuLong
  1095. }
  1096. type Tz_stream_s = Tz_stream
  1097. type Tz_streamp = uintptr
  1098. type Tgz_header = struct {
  1099. Ftext int32
  1100. Ftime TuLong
  1101. Fxflags int32
  1102. Fos int32
  1103. Fextra uintptr
  1104. Fextra_len TuInt
  1105. Fextra_max TuInt
  1106. Fname uintptr
  1107. Fname_max TuInt
  1108. Fcomment uintptr
  1109. Fcomm_max TuInt
  1110. Fhcrc int32
  1111. Fdone int32
  1112. }
  1113. type Tgz_header_s = Tgz_header
  1114. type Tgz_headerp = uintptr
  1115. type Tin_func = uintptr
  1116. type Tout_func = uintptr
  1117. type TgzFile = uintptr
  1118. type TgzFile_s = struct {
  1119. Fhave uint32
  1120. Fnext uintptr
  1121. Fpos Toff_t
  1122. }
  1123. type Tlocale_t = uintptr
  1124. type Terrno_t = int32
  1125. type Tdiv_t = struct {
  1126. Fquot int32
  1127. Frem int32
  1128. }
  1129. type Tldiv_t = struct {
  1130. Fquot int64
  1131. Frem int64
  1132. }
  1133. type Tlldiv_t = struct {
  1134. Fquot int64
  1135. Frem int64
  1136. }
  1137. type Tconstraint_handler_t = uintptr
  1138. type Tuch = uint8
  1139. type Tuchf = uint8
  1140. type Tush = uint16
  1141. type Tushf = uint16
  1142. type Tulg = uint64
  1143. /* Reverse the bytes in a 32-bit value */
  1144. /* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
  1145. /* use NO_DIVIDE if your processor does not do division in hardware --
  1146. try it both ways to see which is faster */
  1147. // C documentation
  1148. //
  1149. // /* ========================================================================= */
  1150. func Xadler32_z(tls *libc.TLS, adler TuLong, buf uintptr, len1 Tz_size_t) (r TuLong) {
  1151. var n, v3 uint32
  1152. var sum2 uint64
  1153. var v1, v5 Tz_size_t
  1154. var v2, v6 uintptr
  1155. _, _, _, _, _, _, _ = n, sum2, v1, v2, v3, v5, v6
  1156. /* split Adler-32 into component sums */
  1157. sum2 = adler >> libc.Int32FromInt32(16) & uint64(0xffff)
  1158. adler &= uint64(0xffff)
  1159. /* in case user likes doing a byte at a time, keep it fast */
  1160. if len1 == uint64(1) {
  1161. adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
  1162. if adler >= uint64(65521) {
  1163. adler -= uint64(65521)
  1164. }
  1165. sum2 += adler
  1166. if sum2 >= uint64(65521) {
  1167. sum2 -= uint64(65521)
  1168. }
  1169. return adler | sum2<<int32(16)
  1170. }
  1171. /* initial Adler-32 value (deferred check for len == 1 speed) */
  1172. if buf == uintptr(m_Z_NULL) {
  1173. return uint64(1)
  1174. }
  1175. /* in case short lengths are provided, keep it somewhat fast */
  1176. if len1 < uint64(16) {
  1177. for {
  1178. v1 = len1
  1179. len1--
  1180. if !(v1 != 0) {
  1181. break
  1182. }
  1183. v2 = buf
  1184. buf++
  1185. adler += uint64(*(*TBytef)(unsafe.Pointer(v2)))
  1186. sum2 += adler
  1187. }
  1188. if adler >= uint64(65521) {
  1189. adler -= uint64(65521)
  1190. }
  1191. sum2 %= uint64(65521) /* only added so many BASE's */
  1192. return adler | sum2<<int32(16)
  1193. }
  1194. /* do length NMAX blocks -- requires just one modulo operation */
  1195. for len1 >= uint64(m_NMAX) {
  1196. len1 -= uint64(m_NMAX)
  1197. n = libc.Uint32FromInt32(libc.Int32FromInt32(m_NMAX) / libc.Int32FromInt32(16)) /* NMAX is divisible by 16 */
  1198. for {
  1199. adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
  1200. sum2 += adler
  1201. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(1)))))
  1202. sum2 += adler
  1203. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)))))
  1204. sum2 += adler
  1205. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1206. sum2 += adler
  1207. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)))))
  1208. sum2 += adler
  1209. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  1210. sum2 += adler
  1211. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  1212. sum2 += adler
  1213. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1214. sum2 += adler
  1215. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + 8)))
  1216. sum2 += adler
  1217. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(1)))))
  1218. sum2 += adler
  1219. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)))))
  1220. sum2 += adler
  1221. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1222. sum2 += adler
  1223. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)))))
  1224. sum2 += adler
  1225. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  1226. sum2 += adler
  1227. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  1228. sum2 += adler
  1229. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1230. sum2 += adler /* 16 sums unrolled */
  1231. buf += uintptr(16)
  1232. goto _4
  1233. _4:
  1234. ;
  1235. n--
  1236. v3 = n
  1237. if !(v3 != 0) {
  1238. break
  1239. }
  1240. }
  1241. adler %= uint64(65521)
  1242. sum2 %= uint64(65521)
  1243. }
  1244. /* do remaining bytes (less than NMAX, still just one modulo) */
  1245. if len1 != 0 { /* avoid modulos if none remaining */
  1246. for len1 >= uint64(16) {
  1247. len1 -= uint64(16)
  1248. adler += uint64(*(*TBytef)(unsafe.Pointer(buf)))
  1249. sum2 += adler
  1250. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(1)))))
  1251. sum2 += adler
  1252. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)))))
  1253. sum2 += adler
  1254. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1255. sum2 += adler
  1256. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)))))
  1257. sum2 += adler
  1258. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  1259. sum2 += adler
  1260. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  1261. sum2 += adler
  1262. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(0)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1263. sum2 += adler
  1264. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + 8)))
  1265. sum2 += adler
  1266. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(1)))))
  1267. sum2 += adler
  1268. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)))))
  1269. sum2 += adler
  1270. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1271. sum2 += adler
  1272. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)))))
  1273. sum2 += adler
  1274. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(1)))))
  1275. sum2 += adler
  1276. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)))))
  1277. sum2 += adler
  1278. adler += uint64(*(*TBytef)(unsafe.Pointer(buf + uintptr(libc.Int32FromInt32(8)+libc.Int32FromInt32(4)+libc.Int32FromInt32(2)+libc.Int32FromInt32(1)))))
  1279. sum2 += adler
  1280. buf += uintptr(16)
  1281. }
  1282. for {
  1283. v5 = len1
  1284. len1--
  1285. if !(v5 != 0) {
  1286. break
  1287. }
  1288. v6 = buf
  1289. buf++
  1290. adler += uint64(*(*TBytef)(unsafe.Pointer(v6)))
  1291. sum2 += adler
  1292. }
  1293. adler %= uint64(65521)
  1294. sum2 %= uint64(65521)
  1295. }
  1296. /* return recombined sums */
  1297. return adler | sum2<<int32(16)
  1298. }
  1299. // C documentation
  1300. //
  1301. // /* ========================================================================= */
  1302. func Xadler32(tls *libc.TLS, adler TuLong, buf uintptr, len1 TuInt) (r TuLong) {
  1303. return Xadler32_z(tls, adler, buf, uint64(len1))
  1304. }
  1305. // C documentation
  1306. //
  1307. // /* ========================================================================= */
  1308. func _adler32_combine_(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
  1309. var rem uint32
  1310. var sum1, sum2 uint64
  1311. _, _, _ = rem, sum1, sum2
  1312. /* for negative len, return invalid adler32 as a clue for debugging */
  1313. if len2 < 0 {
  1314. return uint64(0xffffffff)
  1315. }
  1316. /* the derivation of this formula is left as an exercise for the reader */
  1317. len2 %= libc.Int64FromUint32(65521) /* assumes len2 >= 0 */
  1318. rem = libc.Uint32FromInt64(len2)
  1319. sum1 = adler1 & uint64(0xffff)
  1320. sum2 = uint64(rem) * sum1
  1321. sum2 %= uint64(65521)
  1322. sum1 += adler2&uint64(0xffff) + uint64(65521) - uint64(1)
  1323. sum2 += adler1>>libc.Int32FromInt32(16)&uint64(0xffff) + adler2>>libc.Int32FromInt32(16)&uint64(0xffff) + uint64(65521) - uint64(rem)
  1324. if sum1 >= uint64(65521) {
  1325. sum1 -= uint64(65521)
  1326. }
  1327. if sum1 >= uint64(65521) {
  1328. sum1 -= uint64(65521)
  1329. }
  1330. if sum2 >= libc.Uint64FromUint32(65521)<<libc.Int32FromInt32(1) {
  1331. sum2 -= libc.Uint64FromUint32(65521) << libc.Int32FromInt32(1)
  1332. }
  1333. if sum2 >= uint64(65521) {
  1334. sum2 -= uint64(65521)
  1335. }
  1336. return sum1 | sum2<<int32(16)
  1337. }
  1338. // C documentation
  1339. //
  1340. // /* ========================================================================= */
  1341. func Xadler32_combine(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
  1342. return _adler32_combine_(tls, adler1, adler2, len2)
  1343. }
  1344. func Xadler32_combine64(tls *libc.TLS, adler1 TuLong, adler2 TuLong, len2 Toff_t) (r TuLong) {
  1345. return _adler32_combine_(tls, adler1, adler2, len2)
  1346. }
  1347. const m_N = 5
  1348. const m_POLY = 3988292384
  1349. const m_W = 8
  1350. /* Reverse the bytes in a 32-bit value */
  1351. /*
  1352. A CRC of a message is computed on N braids of words in the message, where
  1353. each word consists of W bytes (4 or 8). If N is 3, for example, then three
  1354. running sparse CRCs are calculated respectively on each braid, at these
  1355. indices in the array of words: 0, 3, 6, ..., 1, 4, 7, ..., and 2, 5, 8, ...
  1356. This is done starting at a word boundary, and continues until as many blocks
  1357. of N * W bytes as are available have been processed. The results are combined
  1358. into a single CRC at the end. For this code, N must be in the range 1..6 and
  1359. W must be 4 or 8. The upper limit on N can be increased if desired by adding
  1360. more #if blocks, extending the patterns apparent in the code. In addition,
  1361. crc32.h would need to be regenerated, if the maximum N value is increased.
  1362. N and W are chosen empirically by benchmarking the execution time on a given
  1363. processor. The choices for N and W below were based on testing on Intel Kaby
  1364. Lake i7, AMD Ryzen 7, ARM Cortex-A57, Sparc64-VII, PowerPC POWER9, and MIPS64
  1365. Octeon II processors. The Intel, AMD, and ARM processors were all fastest
  1366. with N=5, W=8. The Sparc, PowerPC, and MIPS64 were all fastest at N=5, W=4.
  1367. They were all tested with either gcc or clang, all using the -O3 optimization
  1368. level. Your mileage may vary.
  1369. */
  1370. /* Define N */
  1371. /*
  1372. z_crc_t must be at least 32 bits. z_word_t must be at least as long as
  1373. z_crc_t. It is assumed here that z_word_t is either 32 bits or 64 bits, and
  1374. that bytes are eight bits.
  1375. */
  1376. // C documentation
  1377. //
  1378. // /*
  1379. // Define W and the associated z_word_t type. If W is not defined, then a
  1380. // braided calculation is not used, and the associated tables and code are not
  1381. // compiled.
  1382. // */
  1383. type Tz_word_t = uint64
  1384. /* If available, use the ARM processor CRC32 instruction. */
  1385. // C documentation
  1386. //
  1387. // /*
  1388. // Swap the bytes in a z_word_t to convert between little and big endian. Any
  1389. // self-respecting compiler will optimize this to a single machine byte-swap
  1390. // instruction, if one is available. This assumes that word_t is either 32 bits
  1391. // or 64 bits.
  1392. // */
  1393. func _byte_swap(tls *libc.TLS, word Tz_word_t) (r Tz_word_t) {
  1394. 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)
  1395. }
  1396. var _crc_table = [256]Tz_crc_t{
  1397. 1: uint32(0x77073096),
  1398. 2: uint32(0xee0e612c),
  1399. 3: uint32(0x990951ba),
  1400. 4: uint32(0x076dc419),
  1401. 5: uint32(0x706af48f),
  1402. 6: uint32(0xe963a535),
  1403. 7: uint32(0x9e6495a3),
  1404. 8: uint32(0x0edb8832),
  1405. 9: uint32(0x79dcb8a4),
  1406. 10: uint32(0xe0d5e91e),
  1407. 11: uint32(0x97d2d988),
  1408. 12: uint32(0x09b64c2b),
  1409. 13: uint32(0x7eb17cbd),
  1410. 14: uint32(0xe7b82d07),
  1411. 15: uint32(0x90bf1d91),
  1412. 16: uint32(0x1db71064),
  1413. 17: uint32(0x6ab020f2),
  1414. 18: uint32(0xf3b97148),
  1415. 19: uint32(0x84be41de),
  1416. 20: uint32(0x1adad47d),
  1417. 21: uint32(0x6ddde4eb),
  1418. 22: uint32(0xf4d4b551),
  1419. 23: uint32(0x83d385c7),
  1420. 24: uint32(0x136c9856),
  1421. 25: uint32(0x646ba8c0),
  1422. 26: uint32(0xfd62f97a),
  1423. 27: uint32(0x8a65c9ec),
  1424. 28: uint32(0x14015c4f),
  1425. 29: uint32(0x63066cd9),
  1426. 30: uint32(0xfa0f3d63),
  1427. 31: uint32(0x8d080df5),
  1428. 32: uint32(0x3b6e20c8),
  1429. 33: uint32(0x4c69105e),
  1430. 34: uint32(0xd56041e4),
  1431. 35: uint32(0xa2677172),
  1432. 36: uint32(0x3c03e4d1),
  1433. 37: uint32(0x4b04d447),
  1434. 38: uint32(0xd20d85fd),
  1435. 39: uint32(0xa50ab56b),
  1436. 40: uint32(0x35b5a8fa),
  1437. 41: uint32(0x42b2986c),
  1438. 42: uint32(0xdbbbc9d6),
  1439. 43: uint32(0xacbcf940),
  1440. 44: uint32(0x32d86ce3),
  1441. 45: uint32(0x45df5c75),
  1442. 46: uint32(0xdcd60dcf),
  1443. 47: uint32(0xabd13d59),
  1444. 48: uint32(0x26d930ac),
  1445. 49: uint32(0x51de003a),
  1446. 50: uint32(0xc8d75180),
  1447. 51: uint32(0xbfd06116),
  1448. 52: uint32(0x21b4f4b5),
  1449. 53: uint32(0x56b3c423),
  1450. 54: uint32(0xcfba9599),
  1451. 55: uint32(0xb8bda50f),
  1452. 56: uint32(0x2802b89e),
  1453. 57: uint32(0x5f058808),
  1454. 58: uint32(0xc60cd9b2),
  1455. 59: uint32(0xb10be924),
  1456. 60: uint32(0x2f6f7c87),
  1457. 61: uint32(0x58684c11),
  1458. 62: uint32(0xc1611dab),
  1459. 63: uint32(0xb6662d3d),
  1460. 64: uint32(0x76dc4190),
  1461. 65: uint32(0x01db7106),
  1462. 66: uint32(0x98d220bc),
  1463. 67: uint32(0xefd5102a),
  1464. 68: uint32(0x71b18589),
  1465. 69: uint32(0x06b6b51f),
  1466. 70: uint32(0x9fbfe4a5),
  1467. 71: uint32(0xe8b8d433),
  1468. 72: uint32(0x7807c9a2),
  1469. 73: uint32(0x0f00f934),
  1470. 74: uint32(0x9609a88e),
  1471. 75: uint32(0xe10e9818),
  1472. 76: uint32(0x7f6a0dbb),
  1473. 77: uint32(0x086d3d2d),
  1474. 78: uint32(0x91646c97),
  1475. 79: uint32(0xe6635c01),
  1476. 80: uint32(0x6b6b51f4),
  1477. 81: uint32(0x1c6c6162),
  1478. 82: uint32(0x856530d8),
  1479. 83: uint32(0xf262004e),
  1480. 84: uint32(0x6c0695ed),
  1481. 85: uint32(0x1b01a57b),
  1482. 86: uint32(0x8208f4c1),
  1483. 87: uint32(0xf50fc457),
  1484. 88: uint32(0x65b0d9c6),
  1485. 89: uint32(0x12b7e950),
  1486. 90: uint32(0x8bbeb8ea),
  1487. 91: uint32(0xfcb9887c),
  1488. 92: uint32(0x62dd1ddf),
  1489. 93: uint32(0x15da2d49),
  1490. 94: uint32(0x8cd37cf3),
  1491. 95: uint32(0xfbd44c65),
  1492. 96: uint32(0x4db26158),
  1493. 97: uint32(0x3ab551ce),
  1494. 98: uint32(0xa3bc0074),
  1495. 99: uint32(0xd4bb30e2),
  1496. 100: uint32(0x4adfa541),
  1497. 101: uint32(0x3dd895d7),
  1498. 102: uint32(0xa4d1c46d),
  1499. 103: uint32(0xd3d6f4fb),
  1500. 104: uint32(0x4369e96a),
  1501. 105: uint32(0x346ed9fc),
  1502. 106: uint32(0xad678846),
  1503. 107: uint32(0xda60b8d0),
  1504. 108: uint32(0x44042d73),
  1505. 109: uint32(0x33031de5),
  1506. 110: uint32(0xaa0a4c5f),
  1507. 111: uint32(0xdd0d7cc9),
  1508. 112: uint32(0x5005713c),
  1509. 113: uint32(0x270241aa),
  1510. 114: uint32(0xbe0b1010),
  1511. 115: uint32(0xc90c2086),
  1512. 116: uint32(0x5768b525),
  1513. 117: uint32(0x206f85b3),
  1514. 118: uint32(0xb966d409),
  1515. 119: uint32(0xce61e49f),
  1516. 120: uint32(0x5edef90e),
  1517. 121: uint32(0x29d9c998),
  1518. 122: uint32(0xb0d09822),
  1519. 123: uint32(0xc7d7a8b4),
  1520. 124: uint32(0x59b33d17),
  1521. 125: uint32(0x2eb40d81),
  1522. 126: uint32(0xb7bd5c3b),
  1523. 127: uint32(0xc0ba6cad),
  1524. 128: uint32(0xedb88320),
  1525. 129: uint32(0x9abfb3b6),
  1526. 130: uint32(0x03b6e20c),
  1527. 131: uint32(0x74b1d29a),
  1528. 132: uint32(0xead54739),
  1529. 133: uint32(0x9dd277af),
  1530. 134: uint32(0x04db2615),
  1531. 135: uint32(0x73dc1683),
  1532. 136: uint32(0xe3630b12),
  1533. 137: uint32(0x94643b84),
  1534. 138: uint32(0x0d6d6a3e),
  1535. 139: uint32(0x7a6a5aa8),
  1536. 140: uint32(0xe40ecf0b),
  1537. 141: uint32(0x9309ff9d),
  1538. 142: uint32(0x0a00ae27),
  1539. 143: uint32(0x7d079eb1),
  1540. 144: uint32(0xf00f9344),
  1541. 145: uint32(0x8708a3d2),
  1542. 146: uint32(0x1e01f268),
  1543. 147: uint32(0x6906c2fe),
  1544. 148: uint32(0xf762575d),
  1545. 149: uint32(0x806567cb),
  1546. 150: uint32(0x196c3671),
  1547. 151: uint32(0x6e6b06e7),
  1548. 152: uint32(0xfed41b76),
  1549. 153: uint32(0x89d32be0),
  1550. 154: uint32(0x10da7a5a),
  1551. 155: uint32(0x67dd4acc),
  1552. 156: uint32(0xf9b9df6f),
  1553. 157: uint32(0x8ebeeff9),
  1554. 158: uint32(0x17b7be43),
  1555. 159: uint32(0x60b08ed5),
  1556. 160: uint32(0xd6d6a3e8),
  1557. 161: uint32(0xa1d1937e),
  1558. 162: uint32(0x38d8c2c4),
  1559. 163: uint32(0x4fdff252),
  1560. 164: uint32(0xd1bb67f1),
  1561. 165: uint32(0xa6bc5767),
  1562. 166: uint32(0x3fb506dd),
  1563. 167: uint32(0x48b2364b),
  1564. 168: uint32(0xd80d2bda),
  1565. 169: uint32(0xaf0a1b4c),
  1566. 170: uint32(0x36034af6),
  1567. 171: uint32(0x41047a60),
  1568. 172: uint32(0xdf60efc3),
  1569. 173: uint32(0xa867df55),
  1570. 174: uint32(0x316e8eef),
  1571. 175: uint32(0x4669be79),
  1572. 176: uint32(0xcb61b38c),
  1573. 177: uint32(0xbc66831a),
  1574. 178: uint32(0x256fd2a0),
  1575. 179: uint32(0x5268e236),
  1576. 180: uint32(0xcc0c7795),
  1577. 181: uint32(0xbb0b4703),
  1578. 182: uint32(0x220216b9),
  1579. 183: uint32(0x5505262f),
  1580. 184: uint32(0xc5ba3bbe),
  1581. 185: uint32(0xb2bd0b28),
  1582. 186: uint32(0x2bb45a92),
  1583. 187: uint32(0x5cb36a04),
  1584. 188: uint32(0xc2d7ffa7),
  1585. 189: uint32(0xb5d0cf31),
  1586. 190: uint32(0x2cd99e8b),
  1587. 191: uint32(0x5bdeae1d),
  1588. 192: uint32(0x9b64c2b0),
  1589. 193: uint32(0xec63f226),
  1590. 194: uint32(0x756aa39c),
  1591. 195: uint32(0x026d930a),
  1592. 196: uint32(0x9c0906a9),
  1593. 197: uint32(0xeb0e363f),
  1594. 198: uint32(0x72076785),
  1595. 199: uint32(0x05005713),
  1596. 200: uint32(0x95bf4a82),
  1597. 201: uint32(0xe2b87a14),
  1598. 202: uint32(0x7bb12bae),
  1599. 203: uint32(0x0cb61b38),
  1600. 204: uint32(0x92d28e9b),
  1601. 205: uint32(0xe5d5be0d),
  1602. 206: uint32(0x7cdcefb7),
  1603. 207: uint32(0x0bdbdf21),
  1604. 208: uint32(0x86d3d2d4),
  1605. 209: uint32(0xf1d4e242),
  1606. 210: uint32(0x68ddb3f8),
  1607. 211: uint32(0x1fda836e),
  1608. 212: uint32(0x81be16cd),
  1609. 213: uint32(0xf6b9265b),
  1610. 214: uint32(0x6fb077e1),
  1611. 215: uint32(0x18b74777),
  1612. 216: uint32(0x88085ae6),
  1613. 217: uint32(0xff0f6a70),
  1614. 218: uint32(0x66063bca),
  1615. 219: uint32(0x11010b5c),
  1616. 220: uint32(0x8f659eff),
  1617. 221: uint32(0xf862ae69),
  1618. 222: uint32(0x616bffd3),
  1619. 223: uint32(0x166ccf45),
  1620. 224: uint32(0xa00ae278),
  1621. 225: uint32(0xd70dd2ee),
  1622. 226: uint32(0x4e048354),
  1623. 227: uint32(0x3903b3c2),
  1624. 228: uint32(0xa7672661),
  1625. 229: uint32(0xd06016f7),
  1626. 230: uint32(0x4969474d),
  1627. 231: uint32(0x3e6e77db),
  1628. 232: uint32(0xaed16a4a),
  1629. 233: uint32(0xd9d65adc),
  1630. 234: uint32(0x40df0b66),
  1631. 235: uint32(0x37d83bf0),
  1632. 236: uint32(0xa9bcae53),
  1633. 237: uint32(0xdebb9ec5),
  1634. 238: uint32(0x47b2cf7f),
  1635. 239: uint32(0x30b5ffe9),
  1636. 240: uint32(0xbdbdf21c),
  1637. 241: uint32(0xcabac28a),
  1638. 242: uint32(0x53b39330),
  1639. 243: uint32(0x24b4a3a6),
  1640. 244: uint32(0xbad03605),
  1641. 245: uint32(0xcdd70693),
  1642. 246: uint32(0x54de5729),
  1643. 247: uint32(0x23d967bf),
  1644. 248: uint32(0xb3667a2e),
  1645. 249: uint32(0xc4614ab8),
  1646. 250: uint32(0x5d681b02),
  1647. 251: uint32(0x2a6f2b94),
  1648. 252: uint32(0xb40bbe37),
  1649. 253: uint32(0xc30c8ea1),
  1650. 254: uint32(0x5a05df1b),
  1651. 255: uint32(0x2d02ef8d),
  1652. }
  1653. var _crc_big_table = [256]Tz_word_t{
  1654. 1: uint64(0x9630077700000000),
  1655. 2: uint64(0x2c610eee00000000),
  1656. 3: uint64(0xba51099900000000),
  1657. 4: uint64(0x19c46d0700000000),
  1658. 5: uint64(0x8ff46a7000000000),
  1659. 6: uint64(0x35a563e900000000),
  1660. 7: uint64(0xa395649e00000000),
  1661. 8: uint64(0x3288db0e00000000),
  1662. 9: uint64(0xa4b8dc7900000000),
  1663. 10: uint64(0x1ee9d5e000000000),
  1664. 11: uint64(0x88d9d29700000000),
  1665. 12: uint64(0x2b4cb60900000000),
  1666. 13: uint64(0xbd7cb17e00000000),
  1667. 14: uint64(0x072db8e700000000),
  1668. 15: uint64(0x911dbf9000000000),
  1669. 16: uint64(0x6410b71d00000000),
  1670. 17: uint64(0xf220b06a00000000),
  1671. 18: uint64(0x4871b9f300000000),
  1672. 19: uint64(0xde41be8400000000),
  1673. 20: uint64(0x7dd4da1a00000000),
  1674. 21: uint64(0xebe4dd6d00000000),
  1675. 22: uint64(0x51b5d4f400000000),
  1676. 23: uint64(0xc785d38300000000),
  1677. 24: uint64(0x56986c1300000000),
  1678. 25: uint64(0xc0a86b6400000000),
  1679. 26: uint64(0x7af962fd00000000),
  1680. 27: uint64(0xecc9658a00000000),
  1681. 28: uint64(0x4f5c011400000000),
  1682. 29: uint64(0xd96c066300000000),
  1683. 30: uint64(0x633d0ffa00000000),
  1684. 31: uint64(0xf50d088d00000000),
  1685. 32: uint64(0xc8206e3b00000000),
  1686. 33: uint64(0x5e10694c00000000),
  1687. 34: uint64(0xe44160d500000000),
  1688. 35: uint64(0x727167a200000000),
  1689. 36: uint64(0xd1e4033c00000000),
  1690. 37: uint64(0x47d4044b00000000),
  1691. 38: uint64(0xfd850dd200000000),
  1692. 39: uint64(0x6bb50aa500000000),
  1693. 40: uint64(0xfaa8b53500000000),
  1694. 41: uint64(0x6c98b24200000000),
  1695. 42: uint64(0xd6c9bbdb00000000),
  1696. 43: uint64(0x40f9bcac00000000),
  1697. 44: uint64(0xe36cd83200000000),
  1698. 45: uint64(0x755cdf4500000000),
  1699. 46: uint64(0xcf0dd6dc00000000),
  1700. 47: uint64(0x593dd1ab00000000),
  1701. 48: uint64(0xac30d92600000000),
  1702. 49: uint64(0x3a00de5100000000),
  1703. 50: uint64(0x8051d7c800000000),
  1704. 51: uint64(0x1661d0bf00000000),
  1705. 52: uint64(0xb5f4b42100000000),
  1706. 53: uint64(0x23c4b35600000000),
  1707. 54: uint64(0x9995bacf00000000),
  1708. 55: uint64(0x0fa5bdb800000000),
  1709. 56: uint64(0x9eb8022800000000),
  1710. 57: uint64(0x0888055f00000000),
  1711. 58: uint64(0xb2d90cc600000000),
  1712. 59: uint64(0x24e90bb100000000),
  1713. 60: uint64(0x877c6f2f00000000),
  1714. 61: uint64(0x114c685800000000),
  1715. 62: uint64(0xab1d61c100000000),
  1716. 63: uint64(0x3d2d66b600000000),
  1717. 64: uint64(0x9041dc7600000000),
  1718. 65: uint64(0x0671db0100000000),
  1719. 66: uint64(0xbc20d29800000000),
  1720. 67: uint64(0x2a10d5ef00000000),
  1721. 68: uint64(0x8985b17100000000),
  1722. 69: uint64(0x1fb5b60600000000),
  1723. 70: uint64(0xa5e4bf9f00000000),
  1724. 71: uint64(0x33d4b8e800000000),
  1725. 72: uint64(0xa2c9077800000000),
  1726. 73: uint64(0x34f9000f00000000),
  1727. 74: uint64(0x8ea8099600000000),
  1728. 75: uint64(0x18980ee100000000),
  1729. 76: uint64(0xbb0d6a7f00000000),
  1730. 77: uint64(0x2d3d6d0800000000),
  1731. 78: uint64(0x976c649100000000),
  1732. 79: uint64(0x015c63e600000000),
  1733. 80: uint64(0xf4516b6b00000000),
  1734. 81: uint64(0x62616c1c00000000),
  1735. 82: uint64(0xd830658500000000),
  1736. 83: uint64(0x4e0062f200000000),
  1737. 84: uint64(0xed95066c00000000),
  1738. 85: uint64(0x7ba5011b00000000),
  1739. 86: uint64(0xc1f4088200000000),
  1740. 87: uint64(0x57c40ff500000000),
  1741. 88: uint64(0xc6d9b06500000000),
  1742. 89: uint64(0x50e9b71200000000),
  1743. 90: uint64(0xeab8be8b00000000),
  1744. 91: uint64(0x7c88b9fc00000000),
  1745. 92: uint64(0xdf1ddd6200000000),
  1746. 93: uint64(0x492dda1500000000),
  1747. 94: uint64(0xf37cd38c00000000),
  1748. 95: uint64(0x654cd4fb00000000),
  1749. 96: uint64(0x5861b24d00000000),
  1750. 97: uint64(0xce51b53a00000000),
  1751. 98: uint64(0x7400bca300000000),
  1752. 99: uint64(0xe230bbd400000000),
  1753. 100: uint64(0x41a5df4a00000000),
  1754. 101: uint64(0xd795d83d00000000),
  1755. 102: uint64(0x6dc4d1a400000000),
  1756. 103: uint64(0xfbf4d6d300000000),
  1757. 104: uint64(0x6ae9694300000000),
  1758. 105: uint64(0xfcd96e3400000000),
  1759. 106: uint64(0x468867ad00000000),
  1760. 107: uint64(0xd0b860da00000000),
  1761. 108: uint64(0x732d044400000000),
  1762. 109: uint64(0xe51d033300000000),
  1763. 110: uint64(0x5f4c0aaa00000000),
  1764. 111: uint64(0xc97c0ddd00000000),
  1765. 112: uint64(0x3c71055000000000),
  1766. 113: uint64(0xaa41022700000000),
  1767. 114: uint64(0x10100bbe00000000),
  1768. 115: uint64(0x86200cc900000000),
  1769. 116: uint64(0x25b5685700000000),
  1770. 117: uint64(0xb3856f2000000000),
  1771. 118: uint64(0x09d466b900000000),
  1772. 119: uint64(0x9fe461ce00000000),
  1773. 120: uint64(0x0ef9de5e00000000),
  1774. 121: uint64(0x98c9d92900000000),
  1775. 122: uint64(0x2298d0b000000000),
  1776. 123: uint64(0xb4a8d7c700000000),
  1777. 124: uint64(0x173db35900000000),
  1778. 125: uint64(0x810db42e00000000),
  1779. 126: uint64(0x3b5cbdb700000000),
  1780. 127: uint64(0xad6cbac000000000),
  1781. 128: uint64(0x2083b8ed00000000),
  1782. 129: uint64(0xb6b3bf9a00000000),
  1783. 130: uint64(0x0ce2b60300000000),
  1784. 131: uint64(0x9ad2b17400000000),
  1785. 132: uint64(0x3947d5ea00000000),
  1786. 133: uint64(0xaf77d29d00000000),
  1787. 134: uint64(0x1526db0400000000),
  1788. 135: uint64(0x8316dc7300000000),
  1789. 136: uint64(0x120b63e300000000),
  1790. 137: uint64(0x843b649400000000),
  1791. 138: uint64(0x3e6a6d0d00000000),
  1792. 139: uint64(0xa85a6a7a00000000),
  1793. 140: uint64(0x0bcf0ee400000000),
  1794. 141: uint64(0x9dff099300000000),
  1795. 142: uint64(0x27ae000a00000000),
  1796. 143: uint64(0xb19e077d00000000),
  1797. 144: uint64(0x44930ff000000000),
  1798. 145: uint64(0xd2a3088700000000),
  1799. 146: uint64(0x68f2011e00000000),
  1800. 147: uint64(0xfec2066900000000),
  1801. 148: uint64(0x5d5762f700000000),
  1802. 149: uint64(0xcb67658000000000),
  1803. 150: uint64(0x71366c1900000000),
  1804. 151: uint64(0xe7066b6e00000000),
  1805. 152: uint64(0x761bd4fe00000000),
  1806. 153: uint64(0xe02bd38900000000),
  1807. 154: uint64(0x5a7ada1000000000),
  1808. 155: uint64(0xcc4add6700000000),
  1809. 156: uint64(0x6fdfb9f900000000),
  1810. 157: uint64(0xf9efbe8e00000000),
  1811. 158: uint64(0x43beb71700000000),
  1812. 159: uint64(0xd58eb06000000000),
  1813. 160: uint64(0xe8a3d6d600000000),
  1814. 161: uint64(0x7e93d1a100000000),
  1815. 162: uint64(0xc4c2d83800000000),
  1816. 163: uint64(0x52f2df4f00000000),
  1817. 164: uint64(0xf167bbd100000000),
  1818. 165: uint64(0x6757bca600000000),
  1819. 166: uint64(0xdd06b53f00000000),
  1820. 167: uint64(0x4b36b24800000000),
  1821. 168: uint64(0xda2b0dd800000000),
  1822. 169: uint64(0x4c1b0aaf00000000),
  1823. 170: uint64(0xf64a033600000000),
  1824. 171: uint64(0x607a044100000000),
  1825. 172: uint64(0xc3ef60df00000000),
  1826. 173: uint64(0x55df67a800000000),
  1827. 174: uint64(0xef8e6e3100000000),
  1828. 175: uint64(0x79be694600000000),
  1829. 176: uint64(0x8cb361cb00000000),
  1830. 177: uint64(0x1a8366bc00000000),
  1831. 178: uint64(0xa0d26f2500000000),
  1832. 179: uint64(0x36e2685200000000),
  1833. 180: uint64(0x95770ccc00000000),
  1834. 181: uint64(0x03470bbb00000000),
  1835. 182: uint64(0xb916022200000000),
  1836. 183: uint64(0x2f26055500000000),
  1837. 184: uint64(0xbe3bbac500000000),
  1838. 185: uint64(0x280bbdb200000000),
  1839. 186: uint64(0x925ab42b00000000),
  1840. 187: uint64(0x046ab35c00000000),
  1841. 188: uint64(0xa7ffd7c200000000),
  1842. 189: uint64(0x31cfd0b500000000),
  1843. 190: uint64(0x8b9ed92c00000000),
  1844. 191: uint64(0x1daede5b00000000),
  1845. 192: uint64(0xb0c2649b00000000),
  1846. 193: uint64(0x26f263ec00000000),
  1847. 194: uint64(0x9ca36a7500000000),
  1848. 195: uint64(0x0a936d0200000000),
  1849. 196: uint64(0xa906099c00000000),
  1850. 197: uint64(0x3f360eeb00000000),
  1851. 198: uint64(0x8567077200000000),
  1852. 199: uint64(0x1357000500000000),
  1853. 200: uint64(0x824abf9500000000),
  1854. 201: uint64(0x147ab8e200000000),
  1855. 202: uint64(0xae2bb17b00000000),
  1856. 203: uint64(0x381bb60c00000000),
  1857. 204: uint64(0x9b8ed29200000000),
  1858. 205: uint64(0x0dbed5e500000000),
  1859. 206: uint64(0xb7efdc7c00000000),
  1860. 207: uint64(0x21dfdb0b00000000),
  1861. 208: uint64(0xd4d2d38600000000),
  1862. 209: uint64(0x42e2d4f100000000),
  1863. 210: uint64(0xf8b3dd6800000000),
  1864. 211: uint64(0x6e83da1f00000000),
  1865. 212: uint64(0xcd16be8100000000),
  1866. 213: uint64(0x5b26b9f600000000),
  1867. 214: uint64(0xe177b06f00000000),
  1868. 215: uint64(0x7747b71800000000),
  1869. 216: uint64(0xe65a088800000000),
  1870. 217: uint64(0x706a0fff00000000),
  1871. 218: uint64(0xca3b066600000000),
  1872. 219: uint64(0x5c0b011100000000),
  1873. 220: uint64(0xff9e658f00000000),
  1874. 221: uint64(0x69ae62f800000000),
  1875. 222: uint64(0xd3ff6b6100000000),
  1876. 223: uint64(0x45cf6c1600000000),
  1877. 224: uint64(0x78e20aa000000000),
  1878. 225: uint64(0xeed20dd700000000),
  1879. 226: uint64(0x5483044e00000000),
  1880. 227: uint64(0xc2b3033900000000),
  1881. 228: uint64(0x612667a700000000),
  1882. 229: uint64(0xf71660d000000000),
  1883. 230: uint64(0x4d47694900000000),
  1884. 231: uint64(0xdb776e3e00000000),
  1885. 232: uint64(0x4a6ad1ae00000000),
  1886. 233: uint64(0xdc5ad6d900000000),
  1887. 234: uint64(0x660bdf4000000000),
  1888. 235: uint64(0xf03bd83700000000),
  1889. 236: uint64(0x53aebca900000000),
  1890. 237: uint64(0xc59ebbde00000000),
  1891. 238: uint64(0x7fcfb24700000000),
  1892. 239: uint64(0xe9ffb53000000000),
  1893. 240: uint64(0x1cf2bdbd00000000),
  1894. 241: uint64(0x8ac2baca00000000),
  1895. 242: uint64(0x3093b35300000000),
  1896. 243: uint64(0xa6a3b42400000000),
  1897. 244: uint64(0x0536d0ba00000000),
  1898. 245: uint64(0x9306d7cd00000000),
  1899. 246: uint64(0x2957de5400000000),
  1900. 247: uint64(0xbf67d92300000000),
  1901. 248: uint64(0x2e7a66b300000000),
  1902. 249: uint64(0xb84a61c400000000),
  1903. 250: uint64(0x021b685d00000000),
  1904. 251: uint64(0x942b6f2a00000000),
  1905. 252: uint64(0x37be0bb400000000),
  1906. 253: uint64(0xa18e0cc300000000),
  1907. 254: uint64(0x1bdf055a00000000),
  1908. 255: uint64(0x8def022d00000000),
  1909. }
  1910. var _crc_braid_table = [8][256]Tz_crc_t{
  1911. 0: {
  1912. 1: uint32(0xaf449247),
  1913. 2: uint32(0x85f822cf),
  1914. 3: uint32(0x2abcb088),
  1915. 4: uint32(0xd08143df),
  1916. 5: uint32(0x7fc5d198),
  1917. 6: uint32(0x55796110),
  1918. 7: uint32(0xfa3df357),
  1919. 8: uint32(0x7a7381ff),
  1920. 9: uint32(0xd53713b8),
  1921. 10: uint32(0xff8ba330),
  1922. 11: uint32(0x50cf3177),
  1923. 12: uint32(0xaaf2c220),
  1924. 13: uint32(0x05b65067),
  1925. 14: uint32(0x2f0ae0ef),
  1926. 15: uint32(0x804e72a8),
  1927. 16: uint32(0xf4e703fe),
  1928. 17: uint32(0x5ba391b9),
  1929. 18: uint32(0x711f2131),
  1930. 19: uint32(0xde5bb376),
  1931. 20: uint32(0x24664021),
  1932. 21: uint32(0x8b22d266),
  1933. 22: uint32(0xa19e62ee),
  1934. 23: uint32(0x0edaf0a9),
  1935. 24: uint32(0x8e948201),
  1936. 25: uint32(0x21d01046),
  1937. 26: uint32(0x0b6ca0ce),
  1938. 27: uint32(0xa4283289),
  1939. 28: uint32(0x5e15c1de),
  1940. 29: uint32(0xf1515399),
  1941. 30: uint32(0xdbede311),
  1942. 31: uint32(0x74a97156),
  1943. 32: uint32(0x32bf01bd),
  1944. 33: uint32(0x9dfb93fa),
  1945. 34: uint32(0xb7472372),
  1946. 35: uint32(0x1803b135),
  1947. 36: uint32(0xe23e4262),
  1948. 37: uint32(0x4d7ad025),
  1949. 38: uint32(0x67c660ad),
  1950. 39: uint32(0xc882f2ea),
  1951. 40: uint32(0x48cc8042),
  1952. 41: uint32(0xe7881205),
  1953. 42: uint32(0xcd34a28d),
  1954. 43: uint32(0x627030ca),
  1955. 44: uint32(0x984dc39d),
  1956. 45: uint32(0x370951da),
  1957. 46: uint32(0x1db5e152),
  1958. 47: uint32(0xb2f17315),
  1959. 48: uint32(0xc6580243),
  1960. 49: uint32(0x691c9004),
  1961. 50: uint32(0x43a0208c),
  1962. 51: uint32(0xece4b2cb),
  1963. 52: uint32(0x16d9419c),
  1964. 53: uint32(0xb99dd3db),
  1965. 54: uint32(0x93216353),
  1966. 55: uint32(0x3c65f114),
  1967. 56: uint32(0xbc2b83bc),
  1968. 57: uint32(0x136f11fb),
  1969. 58: uint32(0x39d3a173),
  1970. 59: uint32(0x96973334),
  1971. 60: uint32(0x6caac063),
  1972. 61: uint32(0xc3ee5224),
  1973. 62: uint32(0xe952e2ac),
  1974. 63: uint32(0x461670eb),
  1975. 64: uint32(0x657e037a),
  1976. 65: uint32(0xca3a913d),
  1977. 66: uint32(0xe08621b5),
  1978. 67: uint32(0x4fc2b3f2),
  1979. 68: uint32(0xb5ff40a5),
  1980. 69: uint32(0x1abbd2e2),
  1981. 70: uint32(0x3007626a),
  1982. 71: uint32(0x9f43f02d),
  1983. 72: uint32(0x1f0d8285),
  1984. 73: uint32(0xb04910c2),
  1985. 74: uint32(0x9af5a04a),
  1986. 75: uint32(0x35b1320d),
  1987. 76: uint32(0xcf8cc15a),
  1988. 77: uint32(0x60c8531d),
  1989. 78: uint32(0x4a74e395),
  1990. 79: uint32(0xe53071d2),
  1991. 80: uint32(0x91990084),
  1992. 81: uint32(0x3edd92c3),
  1993. 82: uint32(0x1461224b),
  1994. 83: uint32(0xbb25b00c),
  1995. 84: uint32(0x4118435b),
  1996. 85: uint32(0xee5cd11c),
  1997. 86: uint32(0xc4e06194),
  1998. 87: uint32(0x6ba4f3d3),
  1999. 88: uint32(0xebea817b),
  2000. 89: uint32(0x44ae133c),
  2001. 90: uint32(0x6e12a3b4),
  2002. 91: uint32(0xc15631f3),
  2003. 92: uint32(0x3b6bc2a4),
  2004. 93: uint32(0x942f50e3),
  2005. 94: uint32(0xbe93e06b),
  2006. 95: uint32(0x11d7722c),
  2007. 96: uint32(0x57c102c7),
  2008. 97: uint32(0xf8859080),
  2009. 98: uint32(0xd2392008),
  2010. 99: uint32(0x7d7db24f),
  2011. 100: uint32(0x87404118),
  2012. 101: uint32(0x2804d35f),
  2013. 102: uint32(0x02b863d7),
  2014. 103: uint32(0xadfcf190),
  2015. 104: uint32(0x2db28338),
  2016. 105: uint32(0x82f6117f),
  2017. 106: uint32(0xa84aa1f7),
  2018. 107: uint32(0x070e33b0),
  2019. 108: uint32(0xfd33c0e7),
  2020. 109: uint32(0x527752a0),
  2021. 110: uint32(0x78cbe228),
  2022. 111: uint32(0xd78f706f),
  2023. 112: uint32(0xa3260139),
  2024. 113: uint32(0x0c62937e),
  2025. 114: uint32(0x26de23f6),
  2026. 115: uint32(0x899ab1b1),
  2027. 116: uint32(0x73a742e6),
  2028. 117: uint32(0xdce3d0a1),
  2029. 118: uint32(0xf65f6029),
  2030. 119: uint32(0x591bf26e),
  2031. 120: uint32(0xd95580c6),
  2032. 121: uint32(0x76111281),
  2033. 122: uint32(0x5cada209),
  2034. 123: uint32(0xf3e9304e),
  2035. 124: uint32(0x09d4c319),
  2036. 125: uint32(0xa690515e),
  2037. 126: uint32(0x8c2ce1d6),
  2038. 127: uint32(0x23687391),
  2039. 128: uint32(0xcafc06f4),
  2040. 129: uint32(0x65b894b3),
  2041. 130: uint32(0x4f04243b),
  2042. 131: uint32(0xe040b67c),
  2043. 132: uint32(0x1a7d452b),
  2044. 133: uint32(0xb539d76c),
  2045. 134: uint32(0x9f8567e4),
  2046. 135: uint32(0x30c1f5a3),
  2047. 136: uint32(0xb08f870b),
  2048. 137: uint32(0x1fcb154c),
  2049. 138: uint32(0x3577a5c4),
  2050. 139: uint32(0x9a333783),
  2051. 140: uint32(0x600ec4d4),
  2052. 141: uint32(0xcf4a5693),
  2053. 142: uint32(0xe5f6e61b),
  2054. 143: uint32(0x4ab2745c),
  2055. 144: uint32(0x3e1b050a),
  2056. 145: uint32(0x915f974d),
  2057. 146: uint32(0xbbe327c5),
  2058. 147: uint32(0x14a7b582),
  2059. 148: uint32(0xee9a46d5),
  2060. 149: uint32(0x41ded492),
  2061. 150: uint32(0x6b62641a),
  2062. 151: uint32(0xc426f65d),
  2063. 152: uint32(0x446884f5),
  2064. 153: uint32(0xeb2c16b2),
  2065. 154: uint32(0xc190a63a),
  2066. 155: uint32(0x6ed4347d),
  2067. 156: uint32(0x94e9c72a),
  2068. 157: uint32(0x3bad556d),
  2069. 158: uint32(0x1111e5e5),
  2070. 159: uint32(0xbe5577a2),
  2071. 160: uint32(0xf8430749),
  2072. 161: uint32(0x5707950e),
  2073. 162: uint32(0x7dbb2586),
  2074. 163: uint32(0xd2ffb7c1),
  2075. 164: uint32(0x28c24496),
  2076. 165: uint32(0x8786d6d1),
  2077. 166: uint32(0xad3a6659),
  2078. 167: uint32(0x027ef41e),
  2079. 168: uint32(0x823086b6),
  2080. 169: uint32(0x2d7414f1),
  2081. 170: uint32(0x07c8a479),
  2082. 171: uint32(0xa88c363e),
  2083. 172: uint32(0x52b1c569),
  2084. 173: uint32(0xfdf5572e),
  2085. 174: uint32(0xd749e7a6),
  2086. 175: uint32(0x780d75e1),
  2087. 176: uint32(0x0ca404b7),
  2088. 177: uint32(0xa3e096f0),
  2089. 178: uint32(0x895c2678),
  2090. 179: uint32(0x2618b43f),
  2091. 180: uint32(0xdc254768),
  2092. 181: uint32(0x7361d52f),
  2093. 182: uint32(0x59dd65a7),
  2094. 183: uint32(0xf699f7e0),
  2095. 184: uint32(0x76d78548),
  2096. 185: uint32(0xd993170f),
  2097. 186: uint32(0xf32fa787),
  2098. 187: uint32(0x5c6b35c0),
  2099. 188: uint32(0xa656c697),
  2100. 189: uint32(0x091254d0),
  2101. 190: uint32(0x23aee458),
  2102. 191: uint32(0x8cea761f),
  2103. 192: uint32(0xaf82058e),
  2104. 193: uint32(0x00c697c9),
  2105. 194: uint32(0x2a7a2741),
  2106. 195: uint32(0x853eb506),
  2107. 196: uint32(0x7f034651),
  2108. 197: uint32(0xd047d416),
  2109. 198: uint32(0xfafb649e),
  2110. 199: uint32(0x55bff6d9),
  2111. 200: uint32(0xd5f18471),
  2112. 201: uint32(0x7ab51636),
  2113. 202: uint32(0x5009a6be),
  2114. 203: uint32(0xff4d34f9),
  2115. 204: uint32(0x0570c7ae),
  2116. 205: uint32(0xaa3455e9),
  2117. 206: uint32(0x8088e561),
  2118. 207: uint32(0x2fcc7726),
  2119. 208: uint32(0x5b650670),
  2120. 209: uint32(0xf4219437),
  2121. 210: uint32(0xde9d24bf),
  2122. 211: uint32(0x71d9b6f8),
  2123. 212: uint32(0x8be445af),
  2124. 213: uint32(0x24a0d7e8),
  2125. 214: uint32(0x0e1c6760),
  2126. 215: uint32(0xa158f527),
  2127. 216: uint32(0x2116878f),
  2128. 217: uint32(0x8e5215c8),
  2129. 218: uint32(0xa4eea540),
  2130. 219: uint32(0x0baa3707),
  2131. 220: uint32(0xf197c450),
  2132. 221: uint32(0x5ed35617),
  2133. 222: uint32(0x746fe69f),
  2134. 223: uint32(0xdb2b74d8),
  2135. 224: uint32(0x9d3d0433),
  2136. 225: uint32(0x32799674),
  2137. 226: uint32(0x18c526fc),
  2138. 227: uint32(0xb781b4bb),
  2139. 228: uint32(0x4dbc47ec),
  2140. 229: uint32(0xe2f8d5ab),
  2141. 230: uint32(0xc8446523),
  2142. 231: uint32(0x6700f764),
  2143. 232: uint32(0xe74e85cc),
  2144. 233: uint32(0x480a178b),
  2145. 234: uint32(0x62b6a703),
  2146. 235: uint32(0xcdf23544),
  2147. 236: uint32(0x37cfc613),
  2148. 237: uint32(0x988b5454),
  2149. 238: uint32(0xb237e4dc),
  2150. 239: uint32(0x1d73769b),
  2151. 240: uint32(0x69da07cd),
  2152. 241: uint32(0xc69e958a),
  2153. 242: uint32(0xec222502),
  2154. 243: uint32(0x4366b745),
  2155. 244: uint32(0xb95b4412),
  2156. 245: uint32(0x161fd655),
  2157. 246: uint32(0x3ca366dd),
  2158. 247: uint32(0x93e7f49a),
  2159. 248: uint32(0x13a98632),
  2160. 249: uint32(0xbced1475),
  2161. 250: uint32(0x9651a4fd),
  2162. 251: uint32(0x391536ba),
  2163. 252: uint32(0xc328c5ed),
  2164. 253: uint32(0x6c6c57aa),
  2165. 254: uint32(0x46d0e722),
  2166. 255: uint32(0xe9947565),
  2167. },
  2168. 1: {
  2169. 1: uint32(0x4e890ba9),
  2170. 2: uint32(0x9d121752),
  2171. 3: uint32(0xd39b1cfb),
  2172. 4: uint32(0xe15528e5),
  2173. 5: uint32(0xafdc234c),
  2174. 6: uint32(0x7c473fb7),
  2175. 7: uint32(0x32ce341e),
  2176. 8: uint32(0x19db578b),
  2177. 9: uint32(0x57525c22),
  2178. 10: uint32(0x84c940d9),
  2179. 11: uint32(0xca404b70),
  2180. 12: uint32(0xf88e7f6e),
  2181. 13: uint32(0xb60774c7),
  2182. 14: uint32(0x659c683c),
  2183. 15: uint32(0x2b156395),
  2184. 16: uint32(0x33b6af16),
  2185. 17: uint32(0x7d3fa4bf),
  2186. 18: uint32(0xaea4b844),
  2187. 19: uint32(0xe02db3ed),
  2188. 20: uint32(0xd2e387f3),
  2189. 21: uint32(0x9c6a8c5a),
  2190. 22: uint32(0x4ff190a1),
  2191. 23: uint32(0x01789b08),
  2192. 24: uint32(0x2a6df89d),
  2193. 25: uint32(0x64e4f334),
  2194. 26: uint32(0xb77fefcf),
  2195. 27: uint32(0xf9f6e466),
  2196. 28: uint32(0xcb38d078),
  2197. 29: uint32(0x85b1dbd1),
  2198. 30: uint32(0x562ac72a),
  2199. 31: uint32(0x18a3cc83),
  2200. 32: uint32(0x676d5e2c),
  2201. 33: uint32(0x29e45585),
  2202. 34: uint32(0xfa7f497e),
  2203. 35: uint32(0xb4f642d7),
  2204. 36: uint32(0x863876c9),
  2205. 37: uint32(0xc8b17d60),
  2206. 38: uint32(0x1b2a619b),
  2207. 39: uint32(0x55a36a32),
  2208. 40: uint32(0x7eb609a7),
  2209. 41: uint32(0x303f020e),
  2210. 42: uint32(0xe3a41ef5),
  2211. 43: uint32(0xad2d155c),
  2212. 44: uint32(0x9fe32142),
  2213. 45: uint32(0xd16a2aeb),
  2214. 46: uint32(0x02f13610),
  2215. 47: uint32(0x4c783db9),
  2216. 48: uint32(0x54dbf13a),
  2217. 49: uint32(0x1a52fa93),
  2218. 50: uint32(0xc9c9e668),
  2219. 51: uint32(0x8740edc1),
  2220. 52: uint32(0xb58ed9df),
  2221. 53: uint32(0xfb07d276),
  2222. 54: uint32(0x289cce8d),
  2223. 55: uint32(0x6615c524),
  2224. 56: uint32(0x4d00a6b1),
  2225. 57: uint32(0x0389ad18),
  2226. 58: uint32(0xd012b1e3),
  2227. 59: uint32(0x9e9bba4a),
  2228. 60: uint32(0xac558e54),
  2229. 61: uint32(0xe2dc85fd),
  2230. 62: uint32(0x31479906),
  2231. 63: uint32(0x7fce92af),
  2232. 64: uint32(0xcedabc58),
  2233. 65: uint32(0x8053b7f1),
  2234. 66: uint32(0x53c8ab0a),
  2235. 67: uint32(0x1d41a0a3),
  2236. 68: uint32(0x2f8f94bd),
  2237. 69: uint32(0x61069f14),
  2238. 70: uint32(0xb29d83ef),
  2239. 71: uint32(0xfc148846),
  2240. 72: uint32(0xd701ebd3),
  2241. 73: uint32(0x9988e07a),
  2242. 74: uint32(0x4a13fc81),
  2243. 75: uint32(0x049af728),
  2244. 76: uint32(0x3654c336),
  2245. 77: uint32(0x78ddc89f),
  2246. 78: uint32(0xab46d464),
  2247. 79: uint32(0xe5cfdfcd),
  2248. 80: uint32(0xfd6c134e),
  2249. 81: uint32(0xb3e518e7),
  2250. 82: uint32(0x607e041c),
  2251. 83: uint32(0x2ef70fb5),
  2252. 84: uint32(0x1c393bab),
  2253. 85: uint32(0x52b03002),
  2254. 86: uint32(0x812b2cf9),
  2255. 87: uint32(0xcfa22750),
  2256. 88: uint32(0xe4b744c5),
  2257. 89: uint32(0xaa3e4f6c),
  2258. 90: uint32(0x79a55397),
  2259. 91: uint32(0x372c583e),
  2260. 92: uint32(0x05e26c20),
  2261. 93: uint32(0x4b6b6789),
  2262. 94: uint32(0x98f07b72),
  2263. 95: uint32(0xd67970db),
  2264. 96: uint32(0xa9b7e274),
  2265. 97: uint32(0xe73ee9dd),
  2266. 98: uint32(0x34a5f526),
  2267. 99: uint32(0x7a2cfe8f),
  2268. 100: uint32(0x48e2ca91),
  2269. 101: uint32(0x066bc138),
  2270. 102: uint32(0xd5f0ddc3),
  2271. 103: uint32(0x9b79d66a),
  2272. 104: uint32(0xb06cb5ff),
  2273. 105: uint32(0xfee5be56),
  2274. 106: uint32(0x2d7ea2ad),
  2275. 107: uint32(0x63f7a904),
  2276. 108: uint32(0x51399d1a),
  2277. 109: uint32(0x1fb096b3),
  2278. 110: uint32(0xcc2b8a48),
  2279. 111: uint32(0x82a281e1),
  2280. 112: uint32(0x9a014d62),
  2281. 113: uint32(0xd48846cb),
  2282. 114: uint32(0x07135a30),
  2283. 115: uint32(0x499a5199),
  2284. 116: uint32(0x7b546587),
  2285. 117: uint32(0x35dd6e2e),
  2286. 118: uint32(0xe64672d5),
  2287. 119: uint32(0xa8cf797c),
  2288. 120: uint32(0x83da1ae9),
  2289. 121: uint32(0xcd531140),
  2290. 122: uint32(0x1ec80dbb),
  2291. 123: uint32(0x50410612),
  2292. 124: uint32(0x628f320c),
  2293. 125: uint32(0x2c0639a5),
  2294. 126: uint32(0xff9d255e),
  2295. 127: uint32(0xb1142ef7),
  2296. 128: uint32(0x46c47ef1),
  2297. 129: uint32(0x084d7558),
  2298. 130: uint32(0xdbd669a3),
  2299. 131: uint32(0x955f620a),
  2300. 132: uint32(0xa7915614),
  2301. 133: uint32(0xe9185dbd),
  2302. 134: uint32(0x3a834146),
  2303. 135: uint32(0x740a4aef),
  2304. 136: uint32(0x5f1f297a),
  2305. 137: uint32(0x119622d3),
  2306. 138: uint32(0xc20d3e28),
  2307. 139: uint32(0x8c843581),
  2308. 140: uint32(0xbe4a019f),
  2309. 141: uint32(0xf0c30a36),
  2310. 142: uint32(0x235816cd),
  2311. 143: uint32(0x6dd11d64),
  2312. 144: uint32(0x7572d1e7),
  2313. 145: uint32(0x3bfbda4e),
  2314. 146: uint32(0xe860c6b5),
  2315. 147: uint32(0xa6e9cd1c),
  2316. 148: uint32(0x9427f902),
  2317. 149: uint32(0xdaaef2ab),
  2318. 150: uint32(0x0935ee50),
  2319. 151: uint32(0x47bce5f9),
  2320. 152: uint32(0x6ca9866c),
  2321. 153: uint32(0x22208dc5),
  2322. 154: uint32(0xf1bb913e),
  2323. 155: uint32(0xbf329a97),
  2324. 156: uint32(0x8dfcae89),
  2325. 157: uint32(0xc375a520),
  2326. 158: uint32(0x10eeb9db),
  2327. 159: uint32(0x5e67b272),
  2328. 160: uint32(0x21a920dd),
  2329. 161: uint32(0x6f202b74),
  2330. 162: uint32(0xbcbb378f),
  2331. 163: uint32(0xf2323c26),
  2332. 164: uint32(0xc0fc0838),
  2333. 165: uint32(0x8e750391),
  2334. 166: uint32(0x5dee1f6a),
  2335. 167: uint32(0x136714c3),
  2336. 168: uint32(0x38727756),
  2337. 169: uint32(0x76fb7cff),
  2338. 170: uint32(0xa5606004),
  2339. 171: uint32(0xebe96bad),
  2340. 172: uint32(0xd9275fb3),
  2341. 173: uint32(0x97ae541a),
  2342. 174: uint32(0x443548e1),
  2343. 175: uint32(0x0abc4348),
  2344. 176: uint32(0x121f8fcb),
  2345. 177: uint32(0x5c968462),
  2346. 178: uint32(0x8f0d9899),
  2347. 179: uint32(0xc1849330),
  2348. 180: uint32(0xf34aa72e),
  2349. 181: uint32(0xbdc3ac87),
  2350. 182: uint32(0x6e58b07c),
  2351. 183: uint32(0x20d1bbd5),
  2352. 184: uint32(0x0bc4d840),
  2353. 185: uint32(0x454dd3e9),
  2354. 186: uint32(0x96d6cf12),
  2355. 187: uint32(0xd85fc4bb),
  2356. 188: uint32(0xea91f0a5),
  2357. 189: uint32(0xa418fb0c),
  2358. 190: uint32(0x7783e7f7),
  2359. 191: uint32(0x390aec5e),
  2360. 192: uint32(0x881ec2a9),
  2361. 193: uint32(0xc697c900),
  2362. 194: uint32(0x150cd5fb),
  2363. 195: uint32(0x5b85de52),
  2364. 196: uint32(0x694bea4c),
  2365. 197: uint32(0x27c2e1e5),
  2366. 198: uint32(0xf459fd1e),
  2367. 199: uint32(0xbad0f6b7),
  2368. 200: uint32(0x91c59522),
  2369. 201: uint32(0xdf4c9e8b),
  2370. 202: uint32(0x0cd78270),
  2371. 203: uint32(0x425e89d9),
  2372. 204: uint32(0x7090bdc7),
  2373. 205: uint32(0x3e19b66e),
  2374. 206: uint32(0xed82aa95),
  2375. 207: uint32(0xa30ba13c),
  2376. 208: uint32(0xbba86dbf),
  2377. 209: uint32(0xf5216616),
  2378. 210: uint32(0x26ba7aed),
  2379. 211: uint32(0x68337144),
  2380. 212: uint32(0x5afd455a),
  2381. 213: uint32(0x14744ef3),
  2382. 214: uint32(0xc7ef5208),
  2383. 215: uint32(0x896659a1),
  2384. 216: uint32(0xa2733a34),
  2385. 217: uint32(0xecfa319d),
  2386. 218: uint32(0x3f612d66),
  2387. 219: uint32(0x71e826cf),
  2388. 220: uint32(0x432612d1),
  2389. 221: uint32(0x0daf1978),
  2390. 222: uint32(0xde340583),
  2391. 223: uint32(0x90bd0e2a),
  2392. 224: uint32(0xef739c85),
  2393. 225: uint32(0xa1fa972c),
  2394. 226: uint32(0x72618bd7),
  2395. 227: uint32(0x3ce8807e),
  2396. 228: uint32(0x0e26b460),
  2397. 229: uint32(0x40afbfc9),
  2398. 230: uint32(0x9334a332),
  2399. 231: uint32(0xddbda89b),
  2400. 232: uint32(0xf6a8cb0e),
  2401. 233: uint32(0xb821c0a7),
  2402. 234: uint32(0x6bbadc5c),
  2403. 235: uint32(0x2533d7f5),
  2404. 236: uint32(0x17fde3eb),
  2405. 237: uint32(0x5974e842),
  2406. 238: uint32(0x8aeff4b9),
  2407. 239: uint32(0xc466ff10),
  2408. 240: uint32(0xdcc53393),
  2409. 241: uint32(0x924c383a),
  2410. 242: uint32(0x41d724c1),
  2411. 243: uint32(0x0f5e2f68),
  2412. 244: uint32(0x3d901b76),
  2413. 245: uint32(0x731910df),
  2414. 246: uint32(0xa0820c24),
  2415. 247: uint32(0xee0b078d),
  2416. 248: uint32(0xc51e6418),
  2417. 249: uint32(0x8b976fb1),
  2418. 250: uint32(0x580c734a),
  2419. 251: uint32(0x168578e3),
  2420. 252: uint32(0x244b4cfd),
  2421. 253: uint32(0x6ac24754),
  2422. 254: uint32(0xb9595baf),
  2423. 255: uint32(0xf7d05006),
  2424. },
  2425. 2: {
  2426. 1: uint32(0x8d88fde2),
  2427. 2: uint32(0xc060fd85),
  2428. 3: uint32(0x4de80067),
  2429. 4: uint32(0x5bb0fd4b),
  2430. 5: uint32(0xd63800a9),
  2431. 6: uint32(0x9bd000ce),
  2432. 7: uint32(0x1658fd2c),
  2433. 8: uint32(0xb761fa96),
  2434. 9: uint32(0x3ae90774),
  2435. 10: uint32(0x77010713),
  2436. 11: uint32(0xfa89faf1),
  2437. 12: uint32(0xecd107dd),
  2438. 13: uint32(0x6159fa3f),
  2439. 14: uint32(0x2cb1fa58),
  2440. 15: uint32(0xa13907ba),
  2441. 16: uint32(0xb5b2f36d),
  2442. 17: uint32(0x383a0e8f),
  2443. 18: uint32(0x75d20ee8),
  2444. 19: uint32(0xf85af30a),
  2445. 20: uint32(0xee020e26),
  2446. 21: uint32(0x638af3c4),
  2447. 22: uint32(0x2e62f3a3),
  2448. 23: uint32(0xa3ea0e41),
  2449. 24: uint32(0x02d309fb),
  2450. 25: uint32(0x8f5bf419),
  2451. 26: uint32(0xc2b3f47e),
  2452. 27: uint32(0x4f3b099c),
  2453. 28: uint32(0x5963f4b0),
  2454. 29: uint32(0xd4eb0952),
  2455. 30: uint32(0x99030935),
  2456. 31: uint32(0x148bf4d7),
  2457. 32: uint32(0xb014e09b),
  2458. 33: uint32(0x3d9c1d79),
  2459. 34: uint32(0x70741d1e),
  2460. 35: uint32(0xfdfce0fc),
  2461. 36: uint32(0xeba41dd0),
  2462. 37: uint32(0x662ce032),
  2463. 38: uint32(0x2bc4e055),
  2464. 39: uint32(0xa64c1db7),
  2465. 40: uint32(0x07751a0d),
  2466. 41: uint32(0x8afde7ef),
  2467. 42: uint32(0xc715e788),
  2468. 43: uint32(0x4a9d1a6a),
  2469. 44: uint32(0x5cc5e746),
  2470. 45: uint32(0xd14d1aa4),
  2471. 46: uint32(0x9ca51ac3),
  2472. 47: uint32(0x112de721),
  2473. 48: uint32(0x05a613f6),
  2474. 49: uint32(0x882eee14),
  2475. 50: uint32(0xc5c6ee73),
  2476. 51: uint32(0x484e1391),
  2477. 52: uint32(0x5e16eebd),
  2478. 53: uint32(0xd39e135f),
  2479. 54: uint32(0x9e761338),
  2480. 55: uint32(0x13feeeda),
  2481. 56: uint32(0xb2c7e960),
  2482. 57: uint32(0x3f4f1482),
  2483. 58: uint32(0x72a714e5),
  2484. 59: uint32(0xff2fe907),
  2485. 60: uint32(0xe977142b),
  2486. 61: uint32(0x64ffe9c9),
  2487. 62: uint32(0x2917e9ae),
  2488. 63: uint32(0xa49f144c),
  2489. 64: uint32(0xbb58c777),
  2490. 65: uint32(0x36d03a95),
  2491. 66: uint32(0x7b383af2),
  2492. 67: uint32(0xf6b0c710),
  2493. 68: uint32(0xe0e83a3c),
  2494. 69: uint32(0x6d60c7de),
  2495. 70: uint32(0x2088c7b9),
  2496. 71: uint32(0xad003a5b),
  2497. 72: uint32(0x0c393de1),
  2498. 73: uint32(0x81b1c003),
  2499. 74: uint32(0xcc59c064),
  2500. 75: uint32(0x41d13d86),
  2501. 76: uint32(0x5789c0aa),
  2502. 77: uint32(0xda013d48),
  2503. 78: uint32(0x97e93d2f),
  2504. 79: uint32(0x1a61c0cd),
  2505. 80: uint32(0x0eea341a),
  2506. 81: uint32(0x8362c9f8),
  2507. 82: uint32(0xce8ac99f),
  2508. 83: uint32(0x4302347d),
  2509. 84: uint32(0x555ac951),
  2510. 85: uint32(0xd8d234b3),
  2511. 86: uint32(0x953a34d4),
  2512. 87: uint32(0x18b2c936),
  2513. 88: uint32(0xb98bce8c),
  2514. 89: uint32(0x3403336e),
  2515. 90: uint32(0x79eb3309),
  2516. 91: uint32(0xf463ceeb),
  2517. 92: uint32(0xe23b33c7),
  2518. 93: uint32(0x6fb3ce25),
  2519. 94: uint32(0x225bce42),
  2520. 95: uint32(0xafd333a0),
  2521. 96: uint32(0x0b4c27ec),
  2522. 97: uint32(0x86c4da0e),
  2523. 98: uint32(0xcb2cda69),
  2524. 99: uint32(0x46a4278b),
  2525. 100: uint32(0x50fcdaa7),
  2526. 101: uint32(0xdd742745),
  2527. 102: uint32(0x909c2722),
  2528. 103: uint32(0x1d14dac0),
  2529. 104: uint32(0xbc2ddd7a),
  2530. 105: uint32(0x31a52098),
  2531. 106: uint32(0x7c4d20ff),
  2532. 107: uint32(0xf1c5dd1d),
  2533. 108: uint32(0xe79d2031),
  2534. 109: uint32(0x6a15ddd3),
  2535. 110: uint32(0x27fdddb4),
  2536. 111: uint32(0xaa752056),
  2537. 112: uint32(0xbefed481),
  2538. 113: uint32(0x33762963),
  2539. 114: uint32(0x7e9e2904),
  2540. 115: uint32(0xf316d4e6),
  2541. 116: uint32(0xe54e29ca),
  2542. 117: uint32(0x68c6d428),
  2543. 118: uint32(0x252ed44f),
  2544. 119: uint32(0xa8a629ad),
  2545. 120: uint32(0x099f2e17),
  2546. 121: uint32(0x8417d3f5),
  2547. 122: uint32(0xc9ffd392),
  2548. 123: uint32(0x44772e70),
  2549. 124: uint32(0x522fd35c),
  2550. 125: uint32(0xdfa72ebe),
  2551. 126: uint32(0x924f2ed9),
  2552. 127: uint32(0x1fc7d33b),
  2553. 128: uint32(0xadc088af),
  2554. 129: uint32(0x2048754d),
  2555. 130: uint32(0x6da0752a),
  2556. 131: uint32(0xe02888c8),
  2557. 132: uint32(0xf67075e4),
  2558. 133: uint32(0x7bf88806),
  2559. 134: uint32(0x36108861),
  2560. 135: uint32(0xbb987583),
  2561. 136: uint32(0x1aa17239),
  2562. 137: uint32(0x97298fdb),
  2563. 138: uint32(0xdac18fbc),
  2564. 139: uint32(0x5749725e),
  2565. 140: uint32(0x41118f72),
  2566. 141: uint32(0xcc997290),
  2567. 142: uint32(0x817172f7),
  2568. 143: uint32(0x0cf98f15),
  2569. 144: uint32(0x18727bc2),
  2570. 145: uint32(0x95fa8620),
  2571. 146: uint32(0xd8128647),
  2572. 147: uint32(0x559a7ba5),
  2573. 148: uint32(0x43c28689),
  2574. 149: uint32(0xce4a7b6b),
  2575. 150: uint32(0x83a27b0c),
  2576. 151: uint32(0x0e2a86ee),
  2577. 152: uint32(0xaf138154),
  2578. 153: uint32(0x229b7cb6),
  2579. 154: uint32(0x6f737cd1),
  2580. 155: uint32(0xe2fb8133),
  2581. 156: uint32(0xf4a37c1f),
  2582. 157: uint32(0x792b81fd),
  2583. 158: uint32(0x34c3819a),
  2584. 159: uint32(0xb94b7c78),
  2585. 160: uint32(0x1dd46834),
  2586. 161: uint32(0x905c95d6),
  2587. 162: uint32(0xddb495b1),
  2588. 163: uint32(0x503c6853),
  2589. 164: uint32(0x4664957f),
  2590. 165: uint32(0xcbec689d),
  2591. 166: uint32(0x860468fa),
  2592. 167: uint32(0x0b8c9518),
  2593. 168: uint32(0xaab592a2),
  2594. 169: uint32(0x273d6f40),
  2595. 170: uint32(0x6ad56f27),
  2596. 171: uint32(0xe75d92c5),
  2597. 172: uint32(0xf1056fe9),
  2598. 173: uint32(0x7c8d920b),
  2599. 174: uint32(0x3165926c),
  2600. 175: uint32(0xbced6f8e),
  2601. 176: uint32(0xa8669b59),
  2602. 177: uint32(0x25ee66bb),
  2603. 178: uint32(0x680666dc),
  2604. 179: uint32(0xe58e9b3e),
  2605. 180: uint32(0xf3d66612),
  2606. 181: uint32(0x7e5e9bf0),
  2607. 182: uint32(0x33b69b97),
  2608. 183: uint32(0xbe3e6675),
  2609. 184: uint32(0x1f0761cf),
  2610. 185: uint32(0x928f9c2d),
  2611. 186: uint32(0xdf679c4a),
  2612. 187: uint32(0x52ef61a8),
  2613. 188: uint32(0x44b79c84),
  2614. 189: uint32(0xc93f6166),
  2615. 190: uint32(0x84d76101),
  2616. 191: uint32(0x095f9ce3),
  2617. 192: uint32(0x16984fd8),
  2618. 193: uint32(0x9b10b23a),
  2619. 194: uint32(0xd6f8b25d),
  2620. 195: uint32(0x5b704fbf),
  2621. 196: uint32(0x4d28b293),
  2622. 197: uint32(0xc0a04f71),
  2623. 198: uint32(0x8d484f16),
  2624. 199: uint32(0x00c0b2f4),
  2625. 200: uint32(0xa1f9b54e),
  2626. 201: uint32(0x2c7148ac),
  2627. 202: uint32(0x619948cb),
  2628. 203: uint32(0xec11b529),
  2629. 204: uint32(0xfa494805),
  2630. 205: uint32(0x77c1b5e7),
  2631. 206: uint32(0x3a29b580),
  2632. 207: uint32(0xb7a14862),
  2633. 208: uint32(0xa32abcb5),
  2634. 209: uint32(0x2ea24157),
  2635. 210: uint32(0x634a4130),
  2636. 211: uint32(0xeec2bcd2),
  2637. 212: uint32(0xf89a41fe),
  2638. 213: uint32(0x7512bc1c),
  2639. 214: uint32(0x38fabc7b),
  2640. 215: uint32(0xb5724199),
  2641. 216: uint32(0x144b4623),
  2642. 217: uint32(0x99c3bbc1),
  2643. 218: uint32(0xd42bbba6),
  2644. 219: uint32(0x59a34644),
  2645. 220: uint32(0x4ffbbb68),
  2646. 221: uint32(0xc273468a),
  2647. 222: uint32(0x8f9b46ed),
  2648. 223: uint32(0x0213bb0f),
  2649. 224: uint32(0xa68caf43),
  2650. 225: uint32(0x2b0452a1),
  2651. 226: uint32(0x66ec52c6),
  2652. 227: uint32(0xeb64af24),
  2653. 228: uint32(0xfd3c5208),
  2654. 229: uint32(0x70b4afea),
  2655. 230: uint32(0x3d5caf8d),
  2656. 231: uint32(0xb0d4526f),
  2657. 232: uint32(0x11ed55d5),
  2658. 233: uint32(0x9c65a837),
  2659. 234: uint32(0xd18da850),
  2660. 235: uint32(0x5c0555b2),
  2661. 236: uint32(0x4a5da89e),
  2662. 237: uint32(0xc7d5557c),
  2663. 238: uint32(0x8a3d551b),
  2664. 239: uint32(0x07b5a8f9),
  2665. 240: uint32(0x133e5c2e),
  2666. 241: uint32(0x9eb6a1cc),
  2667. 242: uint32(0xd35ea1ab),
  2668. 243: uint32(0x5ed65c49),
  2669. 244: uint32(0x488ea165),
  2670. 245: uint32(0xc5065c87),
  2671. 246: uint32(0x88ee5ce0),
  2672. 247: uint32(0x0566a102),
  2673. 248: uint32(0xa45fa6b8),
  2674. 249: uint32(0x29d75b5a),
  2675. 250: uint32(0x643f5b3d),
  2676. 251: uint32(0xe9b7a6df),
  2677. 252: uint32(0xffef5bf3),
  2678. 253: uint32(0x7267a611),
  2679. 254: uint32(0x3f8fa676),
  2680. 255: uint32(0xb2075b94),
  2681. },
  2682. 3: {
  2683. 1: uint32(0x80f0171f),
  2684. 2: uint32(0xda91287f),
  2685. 3: uint32(0x5a613f60),
  2686. 4: uint32(0x6e5356bf),
  2687. 5: uint32(0xeea341a0),
  2688. 6: uint32(0xb4c27ec0),
  2689. 7: uint32(0x343269df),
  2690. 8: uint32(0xdca6ad7e),
  2691. 9: uint32(0x5c56ba61),
  2692. 10: uint32(0x06378501),
  2693. 11: uint32(0x86c7921e),
  2694. 12: uint32(0xb2f5fbc1),
  2695. 13: uint32(0x3205ecde),
  2696. 14: uint32(0x6864d3be),
  2697. 15: uint32(0xe894c4a1),
  2698. 16: uint32(0x623c5cbd),
  2699. 17: uint32(0xe2cc4ba2),
  2700. 18: uint32(0xb8ad74c2),
  2701. 19: uint32(0x385d63dd),
  2702. 20: uint32(0x0c6f0a02),
  2703. 21: uint32(0x8c9f1d1d),
  2704. 22: uint32(0xd6fe227d),
  2705. 23: uint32(0x560e3562),
  2706. 24: uint32(0xbe9af1c3),
  2707. 25: uint32(0x3e6ae6dc),
  2708. 26: uint32(0x640bd9bc),
  2709. 27: uint32(0xe4fbcea3),
  2710. 28: uint32(0xd0c9a77c),
  2711. 29: uint32(0x5039b063),
  2712. 30: uint32(0x0a588f03),
  2713. 31: uint32(0x8aa8981c),
  2714. 32: uint32(0xc478b97a),
  2715. 33: uint32(0x4488ae65),
  2716. 34: uint32(0x1ee99105),
  2717. 35: uint32(0x9e19861a),
  2718. 36: uint32(0xaa2befc5),
  2719. 37: uint32(0x2adbf8da),
  2720. 38: uint32(0x70bac7ba),
  2721. 39: uint32(0xf04ad0a5),
  2722. 40: uint32(0x18de1404),
  2723. 41: uint32(0x982e031b),
  2724. 42: uint32(0xc24f3c7b),
  2725. 43: uint32(0x42bf2b64),
  2726. 44: uint32(0x768d42bb),
  2727. 45: uint32(0xf67d55a4),
  2728. 46: uint32(0xac1c6ac4),
  2729. 47: uint32(0x2cec7ddb),
  2730. 48: uint32(0xa644e5c7),
  2731. 49: uint32(0x26b4f2d8),
  2732. 50: uint32(0x7cd5cdb8),
  2733. 51: uint32(0xfc25daa7),
  2734. 52: uint32(0xc817b378),
  2735. 53: uint32(0x48e7a467),
  2736. 54: uint32(0x12869b07),
  2737. 55: uint32(0x92768c18),
  2738. 56: uint32(0x7ae248b9),
  2739. 57: uint32(0xfa125fa6),
  2740. 58: uint32(0xa07360c6),
  2741. 59: uint32(0x208377d9),
  2742. 60: uint32(0x14b11e06),
  2743. 61: uint32(0x94410919),
  2744. 62: uint32(0xce203679),
  2745. 63: uint32(0x4ed02166),
  2746. 64: uint32(0x538074b5),
  2747. 65: uint32(0xd37063aa),
  2748. 66: uint32(0x89115cca),
  2749. 67: uint32(0x09e14bd5),
  2750. 68: uint32(0x3dd3220a),
  2751. 69: uint32(0xbd233515),
  2752. 70: uint32(0xe7420a75),
  2753. 71: uint32(0x67b21d6a),
  2754. 72: uint32(0x8f26d9cb),
  2755. 73: uint32(0x0fd6ced4),
  2756. 74: uint32(0x55b7f1b4),
  2757. 75: uint32(0xd547e6ab),
  2758. 76: uint32(0xe1758f74),
  2759. 77: uint32(0x6185986b),
  2760. 78: uint32(0x3be4a70b),
  2761. 79: uint32(0xbb14b014),
  2762. 80: uint32(0x31bc2808),
  2763. 81: uint32(0xb14c3f17),
  2764. 82: uint32(0xeb2d0077),
  2765. 83: uint32(0x6bdd1768),
  2766. 84: uint32(0x5fef7eb7),
  2767. 85: uint32(0xdf1f69a8),
  2768. 86: uint32(0x857e56c8),
  2769. 87: uint32(0x058e41d7),
  2770. 88: uint32(0xed1a8576),
  2771. 89: uint32(0x6dea9269),
  2772. 90: uint32(0x378bad09),
  2773. 91: uint32(0xb77bba16),
  2774. 92: uint32(0x8349d3c9),
  2775. 93: uint32(0x03b9c4d6),
  2776. 94: uint32(0x59d8fbb6),
  2777. 95: uint32(0xd928eca9),
  2778. 96: uint32(0x97f8cdcf),
  2779. 97: uint32(0x1708dad0),
  2780. 98: uint32(0x4d69e5b0),
  2781. 99: uint32(0xcd99f2af),
  2782. 100: uint32(0xf9ab9b70),
  2783. 101: uint32(0x795b8c6f),
  2784. 102: uint32(0x233ab30f),
  2785. 103: uint32(0xa3caa410),
  2786. 104: uint32(0x4b5e60b1),
  2787. 105: uint32(0xcbae77ae),
  2788. 106: uint32(0x91cf48ce),
  2789. 107: uint32(0x113f5fd1),
  2790. 108: uint32(0x250d360e),
  2791. 109: uint32(0xa5fd2111),
  2792. 110: uint32(0xff9c1e71),
  2793. 111: uint32(0x7f6c096e),
  2794. 112: uint32(0xf5c49172),
  2795. 113: uint32(0x7534866d),
  2796. 114: uint32(0x2f55b90d),
  2797. 115: uint32(0xafa5ae12),
  2798. 116: uint32(0x9b97c7cd),
  2799. 117: uint32(0x1b67d0d2),
  2800. 118: uint32(0x4106efb2),
  2801. 119: uint32(0xc1f6f8ad),
  2802. 120: uint32(0x29623c0c),
  2803. 121: uint32(0xa9922b13),
  2804. 122: uint32(0xf3f31473),
  2805. 123: uint32(0x7303036c),
  2806. 124: uint32(0x47316ab3),
  2807. 125: uint32(0xc7c17dac),
  2808. 126: uint32(0x9da042cc),
  2809. 127: uint32(0x1d5055d3),
  2810. 128: uint32(0xa700e96a),
  2811. 129: uint32(0x27f0fe75),
  2812. 130: uint32(0x7d91c115),
  2813. 131: uint32(0xfd61d60a),
  2814. 132: uint32(0xc953bfd5),
  2815. 133: uint32(0x49a3a8ca),
  2816. 134: uint32(0x13c297aa),
  2817. 135: uint32(0x933280b5),
  2818. 136: uint32(0x7ba64414),
  2819. 137: uint32(0xfb56530b),
  2820. 138: uint32(0xa1376c6b),
  2821. 139: uint32(0x21c77b74),
  2822. 140: uint32(0x15f512ab),
  2823. 141: uint32(0x950505b4),
  2824. 142: uint32(0xcf643ad4),
  2825. 143: uint32(0x4f942dcb),
  2826. 144: uint32(0xc53cb5d7),
  2827. 145: uint32(0x45cca2c8),
  2828. 146: uint32(0x1fad9da8),
  2829. 147: uint32(0x9f5d8ab7),
  2830. 148: uint32(0xab6fe368),
  2831. 149: uint32(0x2b9ff477),
  2832. 150: uint32(0x71fecb17),
  2833. 151: uint32(0xf10edc08),
  2834. 152: uint32(0x199a18a9),
  2835. 153: uint32(0x996a0fb6),
  2836. 154: uint32(0xc30b30d6),
  2837. 155: uint32(0x43fb27c9),
  2838. 156: uint32(0x77c94e16),
  2839. 157: uint32(0xf7395909),
  2840. 158: uint32(0xad586669),
  2841. 159: uint32(0x2da87176),
  2842. 160: uint32(0x63785010),
  2843. 161: uint32(0xe388470f),
  2844. 162: uint32(0xb9e9786f),
  2845. 163: uint32(0x39196f70),
  2846. 164: uint32(0x0d2b06af),
  2847. 165: uint32(0x8ddb11b0),
  2848. 166: uint32(0xd7ba2ed0),
  2849. 167: uint32(0x574a39cf),
  2850. 168: uint32(0xbfdefd6e),
  2851. 169: uint32(0x3f2eea71),
  2852. 170: uint32(0x654fd511),
  2853. 171: uint32(0xe5bfc20e),
  2854. 172: uint32(0xd18dabd1),
  2855. 173: uint32(0x517dbcce),
  2856. 174: uint32(0x0b1c83ae),
  2857. 175: uint32(0x8bec94b1),
  2858. 176: uint32(0x01440cad),
  2859. 177: uint32(0x81b41bb2),
  2860. 178: uint32(0xdbd524d2),
  2861. 179: uint32(0x5b2533cd),
  2862. 180: uint32(0x6f175a12),
  2863. 181: uint32(0xefe74d0d),
  2864. 182: uint32(0xb586726d),
  2865. 183: uint32(0x35766572),
  2866. 184: uint32(0xdde2a1d3),
  2867. 185: uint32(0x5d12b6cc),
  2868. 186: uint32(0x077389ac),
  2869. 187: uint32(0x87839eb3),
  2870. 188: uint32(0xb3b1f76c),
  2871. 189: uint32(0x3341e073),
  2872. 190: uint32(0x6920df13),
  2873. 191: uint32(0xe9d0c80c),
  2874. 192: uint32(0xf4809ddf),
  2875. 193: uint32(0x74708ac0),
  2876. 194: uint32(0x2e11b5a0),
  2877. 195: uint32(0xaee1a2bf),
  2878. 196: uint32(0x9ad3cb60),
  2879. 197: uint32(0x1a23dc7f),
  2880. 198: uint32(0x4042e31f),
  2881. 199: uint32(0xc0b2f400),
  2882. 200: uint32(0x282630a1),
  2883. 201: uint32(0xa8d627be),
  2884. 202: uint32(0xf2b718de),
  2885. 203: uint32(0x72470fc1),
  2886. 204: uint32(0x4675661e),
  2887. 205: uint32(0xc6857101),
  2888. 206: uint32(0x9ce44e61),
  2889. 207: uint32(0x1c14597e),
  2890. 208: uint32(0x96bcc162),
  2891. 209: uint32(0x164cd67d),
  2892. 210: uint32(0x4c2de91d),
  2893. 211: uint32(0xccddfe02),
  2894. 212: uint32(0xf8ef97dd),
  2895. 213: uint32(0x781f80c2),
  2896. 214: uint32(0x227ebfa2),
  2897. 215: uint32(0xa28ea8bd),
  2898. 216: uint32(0x4a1a6c1c),
  2899. 217: uint32(0xcaea7b03),
  2900. 218: uint32(0x908b4463),
  2901. 219: uint32(0x107b537c),
  2902. 220: uint32(0x24493aa3),
  2903. 221: uint32(0xa4b92dbc),
  2904. 222: uint32(0xfed812dc),
  2905. 223: uint32(0x7e2805c3),
  2906. 224: uint32(0x30f824a5),
  2907. 225: uint32(0xb00833ba),
  2908. 226: uint32(0xea690cda),
  2909. 227: uint32(0x6a991bc5),
  2910. 228: uint32(0x5eab721a),
  2911. 229: uint32(0xde5b6505),
  2912. 230: uint32(0x843a5a65),
  2913. 231: uint32(0x04ca4d7a),
  2914. 232: uint32(0xec5e89db),
  2915. 233: uint32(0x6cae9ec4),
  2916. 234: uint32(0x36cfa1a4),
  2917. 235: uint32(0xb63fb6bb),
  2918. 236: uint32(0x820ddf64),
  2919. 237: uint32(0x02fdc87b),
  2920. 238: uint32(0x589cf71b),
  2921. 239: uint32(0xd86ce004),
  2922. 240: uint32(0x52c47818),
  2923. 241: uint32(0xd2346f07),
  2924. 242: uint32(0x88555067),
  2925. 243: uint32(0x08a54778),
  2926. 244: uint32(0x3c972ea7),
  2927. 245: uint32(0xbc6739b8),
  2928. 246: uint32(0xe60606d8),
  2929. 247: uint32(0x66f611c7),
  2930. 248: uint32(0x8e62d566),
  2931. 249: uint32(0x0e92c279),
  2932. 250: uint32(0x54f3fd19),
  2933. 251: uint32(0xd403ea06),
  2934. 252: uint32(0xe03183d9),
  2935. 253: uint32(0x60c194c6),
  2936. 254: uint32(0x3aa0aba6),
  2937. 255: uint32(0xba50bcb9),
  2938. },
  2939. 4: {
  2940. 1: uint32(0x9570d495),
  2941. 2: uint32(0xf190af6b),
  2942. 3: uint32(0x64e07bfe),
  2943. 4: uint32(0x38505897),
  2944. 5: uint32(0xad208c02),
  2945. 6: uint32(0xc9c0f7fc),
  2946. 7: uint32(0x5cb02369),
  2947. 8: uint32(0x70a0b12e),
  2948. 9: uint32(0xe5d065bb),
  2949. 10: uint32(0x81301e45),
  2950. 11: uint32(0x1440cad0),
  2951. 12: uint32(0x48f0e9b9),
  2952. 13: uint32(0xdd803d2c),
  2953. 14: uint32(0xb96046d2),
  2954. 15: uint32(0x2c109247),
  2955. 16: uint32(0xe141625c),
  2956. 17: uint32(0x7431b6c9),
  2957. 18: uint32(0x10d1cd37),
  2958. 19: uint32(0x85a119a2),
  2959. 20: uint32(0xd9113acb),
  2960. 21: uint32(0x4c61ee5e),
  2961. 22: uint32(0x288195a0),
  2962. 23: uint32(0xbdf14135),
  2963. 24: uint32(0x91e1d372),
  2964. 25: uint32(0x049107e7),
  2965. 26: uint32(0x60717c19),
  2966. 27: uint32(0xf501a88c),
  2967. 28: uint32(0xa9b18be5),
  2968. 29: uint32(0x3cc15f70),
  2969. 30: uint32(0x5821248e),
  2970. 31: uint32(0xcd51f01b),
  2971. 32: uint32(0x19f3c2f9),
  2972. 33: uint32(0x8c83166c),
  2973. 34: uint32(0xe8636d92),
  2974. 35: uint32(0x7d13b907),
  2975. 36: uint32(0x21a39a6e),
  2976. 37: uint32(0xb4d34efb),
  2977. 38: uint32(0xd0333505),
  2978. 39: uint32(0x4543e190),
  2979. 40: uint32(0x695373d7),
  2980. 41: uint32(0xfc23a742),
  2981. 42: uint32(0x98c3dcbc),
  2982. 43: uint32(0x0db30829),
  2983. 44: uint32(0x51032b40),
  2984. 45: uint32(0xc473ffd5),
  2985. 46: uint32(0xa093842b),
  2986. 47: uint32(0x35e350be),
  2987. 48: uint32(0xf8b2a0a5),
  2988. 49: uint32(0x6dc27430),
  2989. 50: uint32(0x09220fce),
  2990. 51: uint32(0x9c52db5b),
  2991. 52: uint32(0xc0e2f832),
  2992. 53: uint32(0x55922ca7),
  2993. 54: uint32(0x31725759),
  2994. 55: uint32(0xa40283cc),
  2995. 56: uint32(0x8812118b),
  2996. 57: uint32(0x1d62c51e),
  2997. 58: uint32(0x7982bee0),
  2998. 59: uint32(0xecf26a75),
  2999. 60: uint32(0xb042491c),
  3000. 61: uint32(0x25329d89),
  3001. 62: uint32(0x41d2e677),
  3002. 63: uint32(0xd4a232e2),
  3003. 64: uint32(0x33e785f2),
  3004. 65: uint32(0xa6975167),
  3005. 66: uint32(0xc2772a99),
  3006. 67: uint32(0x5707fe0c),
  3007. 68: uint32(0x0bb7dd65),
  3008. 69: uint32(0x9ec709f0),
  3009. 70: uint32(0xfa27720e),
  3010. 71: uint32(0x6f57a69b),
  3011. 72: uint32(0x434734dc),
  3012. 73: uint32(0xd637e049),
  3013. 74: uint32(0xb2d79bb7),
  3014. 75: uint32(0x27a74f22),
  3015. 76: uint32(0x7b176c4b),
  3016. 77: uint32(0xee67b8de),
  3017. 78: uint32(0x8a87c320),
  3018. 79: uint32(0x1ff717b5),
  3019. 80: uint32(0xd2a6e7ae),
  3020. 81: uint32(0x47d6333b),
  3021. 82: uint32(0x233648c5),
  3022. 83: uint32(0xb6469c50),
  3023. 84: uint32(0xeaf6bf39),
  3024. 85: uint32(0x7f866bac),
  3025. 86: uint32(0x1b661052),
  3026. 87: uint32(0x8e16c4c7),
  3027. 88: uint32(0xa2065680),
  3028. 89: uint32(0x37768215),
  3029. 90: uint32(0x5396f9eb),
  3030. 91: uint32(0xc6e62d7e),
  3031. 92: uint32(0x9a560e17),
  3032. 93: uint32(0x0f26da82),
  3033. 94: uint32(0x6bc6a17c),
  3034. 95: uint32(0xfeb675e9),
  3035. 96: uint32(0x2a14470b),
  3036. 97: uint32(0xbf64939e),
  3037. 98: uint32(0xdb84e860),
  3038. 99: uint32(0x4ef43cf5),
  3039. 100: uint32(0x12441f9c),
  3040. 101: uint32(0x8734cb09),
  3041. 102: uint32(0xe3d4b0f7),
  3042. 103: uint32(0x76a46462),
  3043. 104: uint32(0x5ab4f625),
  3044. 105: uint32(0xcfc422b0),
  3045. 106: uint32(0xab24594e),
  3046. 107: uint32(0x3e548ddb),
  3047. 108: uint32(0x62e4aeb2),
  3048. 109: uint32(0xf7947a27),
  3049. 110: uint32(0x937401d9),
  3050. 111: uint32(0x0604d54c),
  3051. 112: uint32(0xcb552557),
  3052. 113: uint32(0x5e25f1c2),
  3053. 114: uint32(0x3ac58a3c),
  3054. 115: uint32(0xafb55ea9),
  3055. 116: uint32(0xf3057dc0),
  3056. 117: uint32(0x6675a955),
  3057. 118: uint32(0x0295d2ab),
  3058. 119: uint32(0x97e5063e),
  3059. 120: uint32(0xbbf59479),
  3060. 121: uint32(0x2e8540ec),
  3061. 122: uint32(0x4a653b12),
  3062. 123: uint32(0xdf15ef87),
  3063. 124: uint32(0x83a5ccee),
  3064. 125: uint32(0x16d5187b),
  3065. 126: uint32(0x72356385),
  3066. 127: uint32(0xe745b710),
  3067. 128: uint32(0x67cf0be4),
  3068. 129: uint32(0xf2bfdf71),
  3069. 130: uint32(0x965fa48f),
  3070. 131: uint32(0x032f701a),
  3071. 132: uint32(0x5f9f5373),
  3072. 133: uint32(0xcaef87e6),
  3073. 134: uint32(0xae0ffc18),
  3074. 135: uint32(0x3b7f288d),
  3075. 136: uint32(0x176fbaca),
  3076. 137: uint32(0x821f6e5f),
  3077. 138: uint32(0xe6ff15a1),
  3078. 139: uint32(0x738fc134),
  3079. 140: uint32(0x2f3fe25d),
  3080. 141: uint32(0xba4f36c8),
  3081. 142: uint32(0xdeaf4d36),
  3082. 143: uint32(0x4bdf99a3),
  3083. 144: uint32(0x868e69b8),
  3084. 145: uint32(0x13febd2d),
  3085. 146: uint32(0x771ec6d3),
  3086. 147: uint32(0xe26e1246),
  3087. 148: uint32(0xbede312f),
  3088. 149: uint32(0x2baee5ba),
  3089. 150: uint32(0x4f4e9e44),
  3090. 151: uint32(0xda3e4ad1),
  3091. 152: uint32(0xf62ed896),
  3092. 153: uint32(0x635e0c03),
  3093. 154: uint32(0x07be77fd),
  3094. 155: uint32(0x92cea368),
  3095. 156: uint32(0xce7e8001),
  3096. 157: uint32(0x5b0e5494),
  3097. 158: uint32(0x3fee2f6a),
  3098. 159: uint32(0xaa9efbff),
  3099. 160: uint32(0x7e3cc91d),
  3100. 161: uint32(0xeb4c1d88),
  3101. 162: uint32(0x8fac6676),
  3102. 163: uint32(0x1adcb2e3),
  3103. 164: uint32(0x466c918a),
  3104. 165: uint32(0xd31c451f),
  3105. 166: uint32(0xb7fc3ee1),
  3106. 167: uint32(0x228cea74),
  3107. 168: uint32(0x0e9c7833),
  3108. 169: uint32(0x9becaca6),
  3109. 170: uint32(0xff0cd758),
  3110. 171: uint32(0x6a7c03cd),
  3111. 172: uint32(0x36cc20a4),
  3112. 173: uint32(0xa3bcf431),
  3113. 174: uint32(0xc75c8fcf),
  3114. 175: uint32(0x522c5b5a),
  3115. 176: uint32(0x9f7dab41),
  3116. 177: uint32(0x0a0d7fd4),
  3117. 178: uint32(0x6eed042a),
  3118. 179: uint32(0xfb9dd0bf),
  3119. 180: uint32(0xa72df3d6),
  3120. 181: uint32(0x325d2743),
  3121. 182: uint32(0x56bd5cbd),
  3122. 183: uint32(0xc3cd8828),
  3123. 184: uint32(0xefdd1a6f),
  3124. 185: uint32(0x7aadcefa),
  3125. 186: uint32(0x1e4db504),
  3126. 187: uint32(0x8b3d6191),
  3127. 188: uint32(0xd78d42f8),
  3128. 189: uint32(0x42fd966d),
  3129. 190: uint32(0x261ded93),
  3130. 191: uint32(0xb36d3906),
  3131. 192: uint32(0x54288e16),
  3132. 193: uint32(0xc1585a83),
  3133. 194: uint32(0xa5b8217d),
  3134. 195: uint32(0x30c8f5e8),
  3135. 196: uint32(0x6c78d681),
  3136. 197: uint32(0xf9080214),
  3137. 198: uint32(0x9de879ea),
  3138. 199: uint32(0x0898ad7f),
  3139. 200: uint32(0x24883f38),
  3140. 201: uint32(0xb1f8ebad),
  3141. 202: uint32(0xd5189053),
  3142. 203: uint32(0x406844c6),
  3143. 204: uint32(0x1cd867af),
  3144. 205: uint32(0x89a8b33a),
  3145. 206: uint32(0xed48c8c4),
  3146. 207: uint32(0x78381c51),
  3147. 208: uint32(0xb569ec4a),
  3148. 209: uint32(0x201938df),
  3149. 210: uint32(0x44f94321),
  3150. 211: uint32(0xd18997b4),
  3151. 212: uint32(0x8d39b4dd),
  3152. 213: uint32(0x18496048),
  3153. 214: uint32(0x7ca91bb6),
  3154. 215: uint32(0xe9d9cf23),
  3155. 216: uint32(0xc5c95d64),
  3156. 217: uint32(0x50b989f1),
  3157. 218: uint32(0x3459f20f),
  3158. 219: uint32(0xa129269a),
  3159. 220: uint32(0xfd9905f3),
  3160. 221: uint32(0x68e9d166),
  3161. 222: uint32(0x0c09aa98),
  3162. 223: uint32(0x99797e0d),
  3163. 224: uint32(0x4ddb4cef),
  3164. 225: uint32(0xd8ab987a),
  3165. 226: uint32(0xbc4be384),
  3166. 227: uint32(0x293b3711),
  3167. 228: uint32(0x758b1478),
  3168. 229: uint32(0xe0fbc0ed),
  3169. 230: uint32(0x841bbb13),
  3170. 231: uint32(0x116b6f86),
  3171. 232: uint32(0x3d7bfdc1),
  3172. 233: uint32(0xa80b2954),
  3173. 234: uint32(0xcceb52aa),
  3174. 235: uint32(0x599b863f),
  3175. 236: uint32(0x052ba556),
  3176. 237: uint32(0x905b71c3),
  3177. 238: uint32(0xf4bb0a3d),
  3178. 239: uint32(0x61cbdea8),
  3179. 240: uint32(0xac9a2eb3),
  3180. 241: uint32(0x39eafa26),
  3181. 242: uint32(0x5d0a81d8),
  3182. 243: uint32(0xc87a554d),
  3183. 244: uint32(0x94ca7624),
  3184. 245: uint32(0x01baa2b1),
  3185. 246: uint32(0x655ad94f),
  3186. 247: uint32(0xf02a0dda),
  3187. 248: uint32(0xdc3a9f9d),
  3188. 249: uint32(0x494a4b08),
  3189. 250: uint32(0x2daa30f6),
  3190. 251: uint32(0xb8dae463),
  3191. 252: uint32(0xe46ac70a),
  3192. 253: uint32(0x711a139f),
  3193. 254: uint32(0x15fa6861),
  3194. 255: uint32(0x808abcf4),
  3195. },
  3196. 5: {
  3197. 1: uint32(0xcf9e17c8),
  3198. 2: uint32(0x444d29d1),
  3199. 3: uint32(0x8bd33e19),
  3200. 4: uint32(0x889a53a2),
  3201. 5: uint32(0x4704446a),
  3202. 6: uint32(0xccd77a73),
  3203. 7: uint32(0x03496dbb),
  3204. 8: uint32(0xca45a105),
  3205. 9: uint32(0x05dbb6cd),
  3206. 10: uint32(0x8e0888d4),
  3207. 11: uint32(0x41969f1c),
  3208. 12: uint32(0x42dff2a7),
  3209. 13: uint32(0x8d41e56f),
  3210. 14: uint32(0x0692db76),
  3211. 15: uint32(0xc90cccbe),
  3212. 16: uint32(0x4ffa444b),
  3213. 17: uint32(0x80645383),
  3214. 18: uint32(0x0bb76d9a),
  3215. 19: uint32(0xc4297a52),
  3216. 20: uint32(0xc76017e9),
  3217. 21: uint32(0x08fe0021),
  3218. 22: uint32(0x832d3e38),
  3219. 23: uint32(0x4cb329f0),
  3220. 24: uint32(0x85bfe54e),
  3221. 25: uint32(0x4a21f286),
  3222. 26: uint32(0xc1f2cc9f),
  3223. 27: uint32(0x0e6cdb57),
  3224. 28: uint32(0x0d25b6ec),
  3225. 29: uint32(0xc2bba124),
  3226. 30: uint32(0x49689f3d),
  3227. 31: uint32(0x86f688f5),
  3228. 32: uint32(0x9ff48896),
  3229. 33: uint32(0x506a9f5e),
  3230. 34: uint32(0xdbb9a147),
  3231. 35: uint32(0x1427b68f),
  3232. 36: uint32(0x176edb34),
  3233. 37: uint32(0xd8f0ccfc),
  3234. 38: uint32(0x5323f2e5),
  3235. 39: uint32(0x9cbde52d),
  3236. 40: uint32(0x55b12993),
  3237. 41: uint32(0x9a2f3e5b),
  3238. 42: uint32(0x11fc0042),
  3239. 43: uint32(0xde62178a),
  3240. 44: uint32(0xdd2b7a31),
  3241. 45: uint32(0x12b56df9),
  3242. 46: uint32(0x996653e0),
  3243. 47: uint32(0x56f84428),
  3244. 48: uint32(0xd00eccdd),
  3245. 49: uint32(0x1f90db15),
  3246. 50: uint32(0x9443e50c),
  3247. 51: uint32(0x5bddf2c4),
  3248. 52: uint32(0x58949f7f),
  3249. 53: uint32(0x970a88b7),
  3250. 54: uint32(0x1cd9b6ae),
  3251. 55: uint32(0xd347a166),
  3252. 56: uint32(0x1a4b6dd8),
  3253. 57: uint32(0xd5d57a10),
  3254. 58: uint32(0x5e064409),
  3255. 59: uint32(0x919853c1),
  3256. 60: uint32(0x92d13e7a),
  3257. 61: uint32(0x5d4f29b2),
  3258. 62: uint32(0xd69c17ab),
  3259. 63: uint32(0x19020063),
  3260. 64: uint32(0xe498176d),
  3261. 65: uint32(0x2b0600a5),
  3262. 66: uint32(0xa0d53ebc),
  3263. 67: uint32(0x6f4b2974),
  3264. 68: uint32(0x6c0244cf),
  3265. 69: uint32(0xa39c5307),
  3266. 70: uint32(0x284f6d1e),
  3267. 71: uint32(0xe7d17ad6),
  3268. 72: uint32(0x2eddb668),
  3269. 73: uint32(0xe143a1a0),
  3270. 74: uint32(0x6a909fb9),
  3271. 75: uint32(0xa50e8871),
  3272. 76: uint32(0xa647e5ca),
  3273. 77: uint32(0x69d9f202),
  3274. 78: uint32(0xe20acc1b),
  3275. 79: uint32(0x2d94dbd3),
  3276. 80: uint32(0xab625326),
  3277. 81: uint32(0x64fc44ee),
  3278. 82: uint32(0xef2f7af7),
  3279. 83: uint32(0x20b16d3f),
  3280. 84: uint32(0x23f80084),
  3281. 85: uint32(0xec66174c),
  3282. 86: uint32(0x67b52955),
  3283. 87: uint32(0xa82b3e9d),
  3284. 88: uint32(0x6127f223),
  3285. 89: uint32(0xaeb9e5eb),
  3286. 90: uint32(0x256adbf2),
  3287. 91: uint32(0xeaf4cc3a),
  3288. 92: uint32(0xe9bda181),
  3289. 93: uint32(0x2623b649),
  3290. 94: uint32(0xadf08850),
  3291. 95: uint32(0x626e9f98),
  3292. 96: uint32(0x7b6c9ffb),
  3293. 97: uint32(0xb4f28833),
  3294. 98: uint32(0x3f21b62a),
  3295. 99: uint32(0xf0bfa1e2),
  3296. 100: uint32(0xf3f6cc59),
  3297. 101: uint32(0x3c68db91),
  3298. 102: uint32(0xb7bbe588),
  3299. 103: uint32(0x7825f240),
  3300. 104: uint32(0xb1293efe),
  3301. 105: uint32(0x7eb72936),
  3302. 106: uint32(0xf564172f),
  3303. 107: uint32(0x3afa00e7),
  3304. 108: uint32(0x39b36d5c),
  3305. 109: uint32(0xf62d7a94),
  3306. 110: uint32(0x7dfe448d),
  3307. 111: uint32(0xb2605345),
  3308. 112: uint32(0x3496dbb0),
  3309. 113: uint32(0xfb08cc78),
  3310. 114: uint32(0x70dbf261),
  3311. 115: uint32(0xbf45e5a9),
  3312. 116: uint32(0xbc0c8812),
  3313. 117: uint32(0x73929fda),
  3314. 118: uint32(0xf841a1c3),
  3315. 119: uint32(0x37dfb60b),
  3316. 120: uint32(0xfed37ab5),
  3317. 121: uint32(0x314d6d7d),
  3318. 122: uint32(0xba9e5364),
  3319. 123: uint32(0x750044ac),
  3320. 124: uint32(0x76492917),
  3321. 125: uint32(0xb9d73edf),
  3322. 126: uint32(0x320400c6),
  3323. 127: uint32(0xfd9a170e),
  3324. 128: uint32(0x1241289b),
  3325. 129: uint32(0xdddf3f53),
  3326. 130: uint32(0x560c014a),
  3327. 131: uint32(0x99921682),
  3328. 132: uint32(0x9adb7b39),
  3329. 133: uint32(0x55456cf1),
  3330. 134: uint32(0xde9652e8),
  3331. 135: uint32(0x11084520),
  3332. 136: uint32(0xd804899e),
  3333. 137: uint32(0x179a9e56),
  3334. 138: uint32(0x9c49a04f),
  3335. 139: uint32(0x53d7b787),
  3336. 140: uint32(0x509eda3c),
  3337. 141: uint32(0x9f00cdf4),
  3338. 142: uint32(0x14d3f3ed),
  3339. 143: uint32(0xdb4de425),
  3340. 144: uint32(0x5dbb6cd0),
  3341. 145: uint32(0x92257b18),
  3342. 146: uint32(0x19f64501),
  3343. 147: uint32(0xd66852c9),
  3344. 148: uint32(0xd5213f72),
  3345. 149: uint32(0x1abf28ba),
  3346. 150: uint32(0x916c16a3),
  3347. 151: uint32(0x5ef2016b),
  3348. 152: uint32(0x97fecdd5),
  3349. 153: uint32(0x5860da1d),
  3350. 154: uint32(0xd3b3e404),
  3351. 155: uint32(0x1c2df3cc),
  3352. 156: uint32(0x1f649e77),
  3353. 157: uint32(0xd0fa89bf),
  3354. 158: uint32(0x5b29b7a6),
  3355. 159: uint32(0x94b7a06e),
  3356. 160: uint32(0x8db5a00d),
  3357. 161: uint32(0x422bb7c5),
  3358. 162: uint32(0xc9f889dc),
  3359. 163: uint32(0x06669e14),
  3360. 164: uint32(0x052ff3af),
  3361. 165: uint32(0xcab1e467),
  3362. 166: uint32(0x4162da7e),
  3363. 167: uint32(0x8efccdb6),
  3364. 168: uint32(0x47f00108),
  3365. 169: uint32(0x886e16c0),
  3366. 170: uint32(0x03bd28d9),
  3367. 171: uint32(0xcc233f11),
  3368. 172: uint32(0xcf6a52aa),
  3369. 173: uint32(0x00f44562),
  3370. 174: uint32(0x8b277b7b),
  3371. 175: uint32(0x44b96cb3),
  3372. 176: uint32(0xc24fe446),
  3373. 177: uint32(0x0dd1f38e),
  3374. 178: uint32(0x8602cd97),
  3375. 179: uint32(0x499cda5f),
  3376. 180: uint32(0x4ad5b7e4),
  3377. 181: uint32(0x854ba02c),
  3378. 182: uint32(0x0e989e35),
  3379. 183: uint32(0xc10689fd),
  3380. 184: uint32(0x080a4543),
  3381. 185: uint32(0xc794528b),
  3382. 186: uint32(0x4c476c92),
  3383. 187: uint32(0x83d97b5a),
  3384. 188: uint32(0x809016e1),
  3385. 189: uint32(0x4f0e0129),
  3386. 190: uint32(0xc4dd3f30),
  3387. 191: uint32(0x0b4328f8),
  3388. 192: uint32(0xf6d93ff6),
  3389. 193: uint32(0x3947283e),
  3390. 194: uint32(0xb2941627),
  3391. 195: uint32(0x7d0a01ef),
  3392. 196: uint32(0x7e436c54),
  3393. 197: uint32(0xb1dd7b9c),
  3394. 198: uint32(0x3a0e4585),
  3395. 199: uint32(0xf590524d),
  3396. 200: uint32(0x3c9c9ef3),
  3397. 201: uint32(0xf302893b),
  3398. 202: uint32(0x78d1b722),
  3399. 203: uint32(0xb74fa0ea),
  3400. 204: uint32(0xb406cd51),
  3401. 205: uint32(0x7b98da99),
  3402. 206: uint32(0xf04be480),
  3403. 207: uint32(0x3fd5f348),
  3404. 208: uint32(0xb9237bbd),
  3405. 209: uint32(0x76bd6c75),
  3406. 210: uint32(0xfd6e526c),
  3407. 211: uint32(0x32f045a4),
  3408. 212: uint32(0x31b9281f),
  3409. 213: uint32(0xfe273fd7),
  3410. 214: uint32(0x75f401ce),
  3411. 215: uint32(0xba6a1606),
  3412. 216: uint32(0x7366dab8),
  3413. 217: uint32(0xbcf8cd70),
  3414. 218: uint32(0x372bf369),
  3415. 219: uint32(0xf8b5e4a1),
  3416. 220: uint32(0xfbfc891a),
  3417. 221: uint32(0x34629ed2),
  3418. 222: uint32(0xbfb1a0cb),
  3419. 223: uint32(0x702fb703),
  3420. 224: uint32(0x692db760),
  3421. 225: uint32(0xa6b3a0a8),
  3422. 226: uint32(0x2d609eb1),
  3423. 227: uint32(0xe2fe8979),
  3424. 228: uint32(0xe1b7e4c2),
  3425. 229: uint32(0x2e29f30a),
  3426. 230: uint32(0xa5facd13),
  3427. 231: uint32(0x6a64dadb),
  3428. 232: uint32(0xa3681665),
  3429. 233: uint32(0x6cf601ad),
  3430. 234: uint32(0xe7253fb4),
  3431. 235: uint32(0x28bb287c),
  3432. 236: uint32(0x2bf245c7),
  3433. 237: uint32(0xe46c520f),
  3434. 238: uint32(0x6fbf6c16),
  3435. 239: uint32(0xa0217bde),
  3436. 240: uint32(0x26d7f32b),
  3437. 241: uint32(0xe949e4e3),
  3438. 242: uint32(0x629adafa),
  3439. 243: uint32(0xad04cd32),
  3440. 244: uint32(0xae4da089),
  3441. 245: uint32(0x61d3b741),
  3442. 246: uint32(0xea008958),
  3443. 247: uint32(0x259e9e90),
  3444. 248: uint32(0xec92522e),
  3445. 249: uint32(0x230c45e6),
  3446. 250: uint32(0xa8df7bff),
  3447. 251: uint32(0x67416c37),
  3448. 252: uint32(0x6408018c),
  3449. 253: uint32(0xab961644),
  3450. 254: uint32(0x2045285d),
  3451. 255: uint32(0xefdb3f95),
  3452. },
  3453. 6: {
  3454. 1: uint32(0x24825136),
  3455. 2: uint32(0x4904a26c),
  3456. 3: uint32(0x6d86f35a),
  3457. 4: uint32(0x920944d8),
  3458. 5: uint32(0xb68b15ee),
  3459. 6: uint32(0xdb0de6b4),
  3460. 7: uint32(0xff8fb782),
  3461. 8: uint32(0xff638ff1),
  3462. 9: uint32(0xdbe1dec7),
  3463. 10: uint32(0xb6672d9d),
  3464. 11: uint32(0x92e57cab),
  3465. 12: uint32(0x6d6acb29),
  3466. 13: uint32(0x49e89a1f),
  3467. 14: uint32(0x246e6945),
  3468. 15: uint32(0x00ec3873),
  3469. 16: uint32(0x25b619a3),
  3470. 17: uint32(0x01344895),
  3471. 18: uint32(0x6cb2bbcf),
  3472. 19: uint32(0x4830eaf9),
  3473. 20: uint32(0xb7bf5d7b),
  3474. 21: uint32(0x933d0c4d),
  3475. 22: uint32(0xfebbff17),
  3476. 23: uint32(0xda39ae21),
  3477. 24: uint32(0xdad59652),
  3478. 25: uint32(0xfe57c764),
  3479. 26: uint32(0x93d1343e),
  3480. 27: uint32(0xb7536508),
  3481. 28: uint32(0x48dcd28a),
  3482. 29: uint32(0x6c5e83bc),
  3483. 30: uint32(0x01d870e6),
  3484. 31: uint32(0x255a21d0),
  3485. 32: uint32(0x4b6c3346),
  3486. 33: uint32(0x6fee6270),
  3487. 34: uint32(0x0268912a),
  3488. 35: uint32(0x26eac01c),
  3489. 36: uint32(0xd965779e),
  3490. 37: uint32(0xfde726a8),
  3491. 38: uint32(0x9061d5f2),
  3492. 39: uint32(0xb4e384c4),
  3493. 40: uint32(0xb40fbcb7),
  3494. 41: uint32(0x908ded81),
  3495. 42: uint32(0xfd0b1edb),
  3496. 43: uint32(0xd9894fed),
  3497. 44: uint32(0x2606f86f),
  3498. 45: uint32(0x0284a959),
  3499. 46: uint32(0x6f025a03),
  3500. 47: uint32(0x4b800b35),
  3501. 48: uint32(0x6eda2ae5),
  3502. 49: uint32(0x4a587bd3),
  3503. 50: uint32(0x27de8889),
  3504. 51: uint32(0x035cd9bf),
  3505. 52: uint32(0xfcd36e3d),
  3506. 53: uint32(0xd8513f0b),
  3507. 54: uint32(0xb5d7cc51),
  3508. 55: uint32(0x91559d67),
  3509. 56: uint32(0x91b9a514),
  3510. 57: uint32(0xb53bf422),
  3511. 58: uint32(0xd8bd0778),
  3512. 59: uint32(0xfc3f564e),
  3513. 60: uint32(0x03b0e1cc),
  3514. 61: uint32(0x2732b0fa),
  3515. 62: uint32(0x4ab443a0),
  3516. 63: uint32(0x6e361296),
  3517. 64: uint32(0x96d8668c),
  3518. 65: uint32(0xb25a37ba),
  3519. 66: uint32(0xdfdcc4e0),
  3520. 67: uint32(0xfb5e95d6),
  3521. 68: uint32(0x04d12254),
  3522. 69: uint32(0x20537362),
  3523. 70: uint32(0x4dd58038),
  3524. 71: uint32(0x6957d10e),
  3525. 72: uint32(0x69bbe97d),
  3526. 73: uint32(0x4d39b84b),
  3527. 74: uint32(0x20bf4b11),
  3528. 75: uint32(0x043d1a27),
  3529. 76: uint32(0xfbb2ada5),
  3530. 77: uint32(0xdf30fc93),
  3531. 78: uint32(0xb2b60fc9),
  3532. 79: uint32(0x96345eff),
  3533. 80: uint32(0xb36e7f2f),
  3534. 81: uint32(0x97ec2e19),
  3535. 82: uint32(0xfa6add43),
  3536. 83: uint32(0xdee88c75),
  3537. 84: uint32(0x21673bf7),
  3538. 85: uint32(0x05e56ac1),
  3539. 86: uint32(0x6863999b),
  3540. 87: uint32(0x4ce1c8ad),
  3541. 88: uint32(0x4c0df0de),
  3542. 89: uint32(0x688fa1e8),
  3543. 90: uint32(0x050952b2),
  3544. 91: uint32(0x218b0384),
  3545. 92: uint32(0xde04b406),
  3546. 93: uint32(0xfa86e530),
  3547. 94: uint32(0x9700166a),
  3548. 95: uint32(0xb382475c),
  3549. 96: uint32(0xddb455ca),
  3550. 97: uint32(0xf93604fc),
  3551. 98: uint32(0x94b0f7a6),
  3552. 99: uint32(0xb032a690),
  3553. 100: uint32(0x4fbd1112),
  3554. 101: uint32(0x6b3f4024),
  3555. 102: uint32(0x06b9b37e),
  3556. 103: uint32(0x223be248),
  3557. 104: uint32(0x22d7da3b),
  3558. 105: uint32(0x06558b0d),
  3559. 106: uint32(0x6bd37857),
  3560. 107: uint32(0x4f512961),
  3561. 108: uint32(0xb0de9ee3),
  3562. 109: uint32(0x945ccfd5),
  3563. 110: uint32(0xf9da3c8f),
  3564. 111: uint32(0xdd586db9),
  3565. 112: uint32(0xf8024c69),
  3566. 113: uint32(0xdc801d5f),
  3567. 114: uint32(0xb106ee05),
  3568. 115: uint32(0x9584bf33),
  3569. 116: uint32(0x6a0b08b1),
  3570. 117: uint32(0x4e895987),
  3571. 118: uint32(0x230faadd),
  3572. 119: uint32(0x078dfbeb),
  3573. 120: uint32(0x0761c398),
  3574. 121: uint32(0x23e392ae),
  3575. 122: uint32(0x4e6561f4),
  3576. 123: uint32(0x6ae730c2),
  3577. 124: uint32(0x95688740),
  3578. 125: uint32(0xb1ead676),
  3579. 126: uint32(0xdc6c252c),
  3580. 127: uint32(0xf8ee741a),
  3581. 128: uint32(0xf6c1cb59),
  3582. 129: uint32(0xd2439a6f),
  3583. 130: uint32(0xbfc56935),
  3584. 131: uint32(0x9b473803),
  3585. 132: uint32(0x64c88f81),
  3586. 133: uint32(0x404adeb7),
  3587. 134: uint32(0x2dcc2ded),
  3588. 135: uint32(0x094e7cdb),
  3589. 136: uint32(0x09a244a8),
  3590. 137: uint32(0x2d20159e),
  3591. 138: uint32(0x40a6e6c4),
  3592. 139: uint32(0x6424b7f2),
  3593. 140: uint32(0x9bab0070),
  3594. 141: uint32(0xbf295146),
  3595. 142: uint32(0xd2afa21c),
  3596. 143: uint32(0xf62df32a),
  3597. 144: uint32(0xd377d2fa),
  3598. 145: uint32(0xf7f583cc),
  3599. 146: uint32(0x9a737096),
  3600. 147: uint32(0xbef121a0),
  3601. 148: uint32(0x417e9622),
  3602. 149: uint32(0x65fcc714),
  3603. 150: uint32(0x087a344e),
  3604. 151: uint32(0x2cf86578),
  3605. 152: uint32(0x2c145d0b),
  3606. 153: uint32(0x08960c3d),
  3607. 154: uint32(0x6510ff67),
  3608. 155: uint32(0x4192ae51),
  3609. 156: uint32(0xbe1d19d3),
  3610. 157: uint32(0x9a9f48e5),
  3611. 158: uint32(0xf719bbbf),
  3612. 159: uint32(0xd39bea89),
  3613. 160: uint32(0xbdadf81f),
  3614. 161: uint32(0x992fa929),
  3615. 162: uint32(0xf4a95a73),
  3616. 163: uint32(0xd02b0b45),
  3617. 164: uint32(0x2fa4bcc7),
  3618. 165: uint32(0x0b26edf1),
  3619. 166: uint32(0x66a01eab),
  3620. 167: uint32(0x42224f9d),
  3621. 168: uint32(0x42ce77ee),
  3622. 169: uint32(0x664c26d8),
  3623. 170: uint32(0x0bcad582),
  3624. 171: uint32(0x2f4884b4),
  3625. 172: uint32(0xd0c73336),
  3626. 173: uint32(0xf4456200),
  3627. 174: uint32(0x99c3915a),
  3628. 175: uint32(0xbd41c06c),
  3629. 176: uint32(0x981be1bc),
  3630. 177: uint32(0xbc99b08a),
  3631. 178: uint32(0xd11f43d0),
  3632. 179: uint32(0xf59d12e6),
  3633. 180: uint32(0x0a12a564),
  3634. 181: uint32(0x2e90f452),
  3635. 182: uint32(0x43160708),
  3636. 183: uint32(0x6794563e),
  3637. 184: uint32(0x67786e4d),
  3638. 185: uint32(0x43fa3f7b),
  3639. 186: uint32(0x2e7ccc21),
  3640. 187: uint32(0x0afe9d17),
  3641. 188: uint32(0xf5712a95),
  3642. 189: uint32(0xd1f37ba3),
  3643. 190: uint32(0xbc7588f9),
  3644. 191: uint32(0x98f7d9cf),
  3645. 192: uint32(0x6019add5),
  3646. 193: uint32(0x449bfce3),
  3647. 194: uint32(0x291d0fb9),
  3648. 195: uint32(0x0d9f5e8f),
  3649. 196: uint32(0xf210e90d),
  3650. 197: uint32(0xd692b83b),
  3651. 198: uint32(0xbb144b61),
  3652. 199: uint32(0x9f961a57),
  3653. 200: uint32(0x9f7a2224),
  3654. 201: uint32(0xbbf87312),
  3655. 202: uint32(0xd67e8048),
  3656. 203: uint32(0xf2fcd17e),
  3657. 204: uint32(0x0d7366fc),
  3658. 205: uint32(0x29f137ca),
  3659. 206: uint32(0x4477c490),
  3660. 207: uint32(0x60f595a6),
  3661. 208: uint32(0x45afb476),
  3662. 209: uint32(0x612de540),
  3663. 210: uint32(0x0cab161a),
  3664. 211: uint32(0x2829472c),
  3665. 212: uint32(0xd7a6f0ae),
  3666. 213: uint32(0xf324a198),
  3667. 214: uint32(0x9ea252c2),
  3668. 215: uint32(0xba2003f4),
  3669. 216: uint32(0xbacc3b87),
  3670. 217: uint32(0x9e4e6ab1),
  3671. 218: uint32(0xf3c899eb),
  3672. 219: uint32(0xd74ac8dd),
  3673. 220: uint32(0x28c57f5f),
  3674. 221: uint32(0x0c472e69),
  3675. 222: uint32(0x61c1dd33),
  3676. 223: uint32(0x45438c05),
  3677. 224: uint32(0x2b759e93),
  3678. 225: uint32(0x0ff7cfa5),
  3679. 226: uint32(0x62713cff),
  3680. 227: uint32(0x46f36dc9),
  3681. 228: uint32(0xb97cda4b),
  3682. 229: uint32(0x9dfe8b7d),
  3683. 230: uint32(0xf0787827),
  3684. 231: uint32(0xd4fa2911),
  3685. 232: uint32(0xd4161162),
  3686. 233: uint32(0xf0944054),
  3687. 234: uint32(0x9d12b30e),
  3688. 235: uint32(0xb990e238),
  3689. 236: uint32(0x461f55ba),
  3690. 237: uint32(0x629d048c),
  3691. 238: uint32(0x0f1bf7d6),
  3692. 239: uint32(0x2b99a6e0),
  3693. 240: uint32(0x0ec38730),
  3694. 241: uint32(0x2a41d606),
  3695. 242: uint32(0x47c7255c),
  3696. 243: uint32(0x6345746a),
  3697. 244: uint32(0x9ccac3e8),
  3698. 245: uint32(0xb84892de),
  3699. 246: uint32(0xd5ce6184),
  3700. 247: uint32(0xf14c30b2),
  3701. 248: uint32(0xf1a008c1),
  3702. 249: uint32(0xd52259f7),
  3703. 250: uint32(0xb8a4aaad),
  3704. 251: uint32(0x9c26fb9b),
  3705. 252: uint32(0x63a94c19),
  3706. 253: uint32(0x472b1d2f),
  3707. 254: uint32(0x2aadee75),
  3708. 255: uint32(0x0e2fbf43),
  3709. },
  3710. 7: {
  3711. 1: uint32(0x36f290f3),
  3712. 2: uint32(0x6de521e6),
  3713. 3: uint32(0x5b17b115),
  3714. 4: uint32(0xdbca43cc),
  3715. 5: uint32(0xed38d33f),
  3716. 6: uint32(0xb62f622a),
  3717. 7: uint32(0x80ddf2d9),
  3718. 8: uint32(0x6ce581d9),
  3719. 9: uint32(0x5a17112a),
  3720. 10: uint32(0x0100a03f),
  3721. 11: uint32(0x37f230cc),
  3722. 12: uint32(0xb72fc215),
  3723. 13: uint32(0x81dd52e6),
  3724. 14: uint32(0xdacae3f3),
  3725. 15: uint32(0xec387300),
  3726. 16: uint32(0xd9cb03b2),
  3727. 17: uint32(0xef399341),
  3728. 18: uint32(0xb42e2254),
  3729. 19: uint32(0x82dcb2a7),
  3730. 20: uint32(0x0201407e),
  3731. 21: uint32(0x34f3d08d),
  3732. 22: uint32(0x6fe46198),
  3733. 23: uint32(0x5916f16b),
  3734. 24: uint32(0xb52e826b),
  3735. 25: uint32(0x83dc1298),
  3736. 26: uint32(0xd8cba38d),
  3737. 27: uint32(0xee39337e),
  3738. 28: uint32(0x6ee4c1a7),
  3739. 29: uint32(0x58165154),
  3740. 30: uint32(0x0301e041),
  3741. 31: uint32(0x35f370b2),
  3742. 32: uint32(0x68e70125),
  3743. 33: uint32(0x5e1591d6),
  3744. 34: uint32(0x050220c3),
  3745. 35: uint32(0x33f0b030),
  3746. 36: uint32(0xb32d42e9),
  3747. 37: uint32(0x85dfd21a),
  3748. 38: uint32(0xdec8630f),
  3749. 39: uint32(0xe83af3fc),
  3750. 40: uint32(0x040280fc),
  3751. 41: uint32(0x32f0100f),
  3752. 42: uint32(0x69e7a11a),
  3753. 43: uint32(0x5f1531e9),
  3754. 44: uint32(0xdfc8c330),
  3755. 45: uint32(0xe93a53c3),
  3756. 46: uint32(0xb22de2d6),
  3757. 47: uint32(0x84df7225),
  3758. 48: uint32(0xb12c0297),
  3759. 49: uint32(0x87de9264),
  3760. 50: uint32(0xdcc92371),
  3761. 51: uint32(0xea3bb382),
  3762. 52: uint32(0x6ae6415b),
  3763. 53: uint32(0x5c14d1a8),
  3764. 54: uint32(0x070360bd),
  3765. 55: uint32(0x31f1f04e),
  3766. 56: uint32(0xddc9834e),
  3767. 57: uint32(0xeb3b13bd),
  3768. 58: uint32(0xb02ca2a8),
  3769. 59: uint32(0x86de325b),
  3770. 60: uint32(0x0603c082),
  3771. 61: uint32(0x30f15071),
  3772. 62: uint32(0x6be6e164),
  3773. 63: uint32(0x5d147197),
  3774. 64: uint32(0xd1ce024a),
  3775. 65: uint32(0xe73c92b9),
  3776. 66: uint32(0xbc2b23ac),
  3777. 67: uint32(0x8ad9b35f),
  3778. 68: uint32(0x0a044186),
  3779. 69: uint32(0x3cf6d175),
  3780. 70: uint32(0x67e16060),
  3781. 71: uint32(0x5113f093),
  3782. 72: uint32(0xbd2b8393),
  3783. 73: uint32(0x8bd91360),
  3784. 74: uint32(0xd0cea275),
  3785. 75: uint32(0xe63c3286),
  3786. 76: uint32(0x66e1c05f),
  3787. 77: uint32(0x501350ac),
  3788. 78: uint32(0x0b04e1b9),
  3789. 79: uint32(0x3df6714a),
  3790. 80: uint32(0x080501f8),
  3791. 81: uint32(0x3ef7910b),
  3792. 82: uint32(0x65e0201e),
  3793. 83: uint32(0x5312b0ed),
  3794. 84: uint32(0xd3cf4234),
  3795. 85: uint32(0xe53dd2c7),
  3796. 86: uint32(0xbe2a63d2),
  3797. 87: uint32(0x88d8f321),
  3798. 88: uint32(0x64e08021),
  3799. 89: uint32(0x521210d2),
  3800. 90: uint32(0x0905a1c7),
  3801. 91: uint32(0x3ff73134),
  3802. 92: uint32(0xbf2ac3ed),
  3803. 93: uint32(0x89d8531e),
  3804. 94: uint32(0xd2cfe20b),
  3805. 95: uint32(0xe43d72f8),
  3806. 96: uint32(0xb929036f),
  3807. 97: uint32(0x8fdb939c),
  3808. 98: uint32(0xd4cc2289),
  3809. 99: uint32(0xe23eb27a),
  3810. 100: uint32(0x62e340a3),
  3811. 101: uint32(0x5411d050),
  3812. 102: uint32(0x0f066145),
  3813. 103: uint32(0x39f4f1b6),
  3814. 104: uint32(0xd5cc82b6),
  3815. 105: uint32(0xe33e1245),
  3816. 106: uint32(0xb829a350),
  3817. 107: uint32(0x8edb33a3),
  3818. 108: uint32(0x0e06c17a),
  3819. 109: uint32(0x38f45189),
  3820. 110: uint32(0x63e3e09c),
  3821. 111: uint32(0x5511706f),
  3822. 112: uint32(0x60e200dd),
  3823. 113: uint32(0x5610902e),
  3824. 114: uint32(0x0d07213b),
  3825. 115: uint32(0x3bf5b1c8),
  3826. 116: uint32(0xbb284311),
  3827. 117: uint32(0x8ddad3e2),
  3828. 118: uint32(0xd6cd62f7),
  3829. 119: uint32(0xe03ff204),
  3830. 120: uint32(0x0c078104),
  3831. 121: uint32(0x3af511f7),
  3832. 122: uint32(0x61e2a0e2),
  3833. 123: uint32(0x57103011),
  3834. 124: uint32(0xd7cdc2c8),
  3835. 125: uint32(0xe13f523b),
  3836. 126: uint32(0xba28e32e),
  3837. 127: uint32(0x8cda73dd),
  3838. 128: uint32(0x78ed02d5),
  3839. 129: uint32(0x4e1f9226),
  3840. 130: uint32(0x15082333),
  3841. 131: uint32(0x23fab3c0),
  3842. 132: uint32(0xa3274119),
  3843. 133: uint32(0x95d5d1ea),
  3844. 134: uint32(0xcec260ff),
  3845. 135: uint32(0xf830f00c),
  3846. 136: uint32(0x1408830c),
  3847. 137: uint32(0x22fa13ff),
  3848. 138: uint32(0x79eda2ea),
  3849. 139: uint32(0x4f1f3219),
  3850. 140: uint32(0xcfc2c0c0),
  3851. 141: uint32(0xf9305033),
  3852. 142: uint32(0xa227e126),
  3853. 143: uint32(0x94d571d5),
  3854. 144: uint32(0xa1260167),
  3855. 145: uint32(0x97d49194),
  3856. 146: uint32(0xccc32081),
  3857. 147: uint32(0xfa31b072),
  3858. 148: uint32(0x7aec42ab),
  3859. 149: uint32(0x4c1ed258),
  3860. 150: uint32(0x1709634d),
  3861. 151: uint32(0x21fbf3be),
  3862. 152: uint32(0xcdc380be),
  3863. 153: uint32(0xfb31104d),
  3864. 154: uint32(0xa026a158),
  3865. 155: uint32(0x96d431ab),
  3866. 156: uint32(0x1609c372),
  3867. 157: uint32(0x20fb5381),
  3868. 158: uint32(0x7bece294),
  3869. 159: uint32(0x4d1e7267),
  3870. 160: uint32(0x100a03f0),
  3871. 161: uint32(0x26f89303),
  3872. 162: uint32(0x7def2216),
  3873. 163: uint32(0x4b1db2e5),
  3874. 164: uint32(0xcbc0403c),
  3875. 165: uint32(0xfd32d0cf),
  3876. 166: uint32(0xa62561da),
  3877. 167: uint32(0x90d7f129),
  3878. 168: uint32(0x7cef8229),
  3879. 169: uint32(0x4a1d12da),
  3880. 170: uint32(0x110aa3cf),
  3881. 171: uint32(0x27f8333c),
  3882. 172: uint32(0xa725c1e5),
  3883. 173: uint32(0x91d75116),
  3884. 174: uint32(0xcac0e003),
  3885. 175: uint32(0xfc3270f0),
  3886. 176: uint32(0xc9c10042),
  3887. 177: uint32(0xff3390b1),
  3888. 178: uint32(0xa42421a4),
  3889. 179: uint32(0x92d6b157),
  3890. 180: uint32(0x120b438e),
  3891. 181: uint32(0x24f9d37d),
  3892. 182: uint32(0x7fee6268),
  3893. 183: uint32(0x491cf29b),
  3894. 184: uint32(0xa524819b),
  3895. 185: uint32(0x93d61168),
  3896. 186: uint32(0xc8c1a07d),
  3897. 187: uint32(0xfe33308e),
  3898. 188: uint32(0x7eeec257),
  3899. 189: uint32(0x481c52a4),
  3900. 190: uint32(0x130be3b1),
  3901. 191: uint32(0x25f97342),
  3902. 192: uint32(0xa923009f),
  3903. 193: uint32(0x9fd1906c),
  3904. 194: uint32(0xc4c62179),
  3905. 195: uint32(0xf234b18a),
  3906. 196: uint32(0x72e94353),
  3907. 197: uint32(0x441bd3a0),
  3908. 198: uint32(0x1f0c62b5),
  3909. 199: uint32(0x29fef246),
  3910. 200: uint32(0xc5c68146),
  3911. 201: uint32(0xf33411b5),
  3912. 202: uint32(0xa823a0a0),
  3913. 203: uint32(0x9ed13053),
  3914. 204: uint32(0x1e0cc28a),
  3915. 205: uint32(0x28fe5279),
  3916. 206: uint32(0x73e9e36c),
  3917. 207: uint32(0x451b739f),
  3918. 208: uint32(0x70e8032d),
  3919. 209: uint32(0x461a93de),
  3920. 210: uint32(0x1d0d22cb),
  3921. 211: uint32(0x2bffb238),
  3922. 212: uint32(0xab2240e1),
  3923. 213: uint32(0x9dd0d012),
  3924. 214: uint32(0xc6c76107),
  3925. 215: uint32(0xf035f1f4),
  3926. 216: uint32(0x1c0d82f4),
  3927. 217: uint32(0x2aff1207),
  3928. 218: uint32(0x71e8a312),
  3929. 219: uint32(0x471a33e1),
  3930. 220: uint32(0xc7c7c138),
  3931. 221: uint32(0xf13551cb),
  3932. 222: uint32(0xaa22e0de),
  3933. 223: uint32(0x9cd0702d),
  3934. 224: uint32(0xc1c401ba),
  3935. 225: uint32(0xf7369149),
  3936. 226: uint32(0xac21205c),
  3937. 227: uint32(0x9ad3b0af),
  3938. 228: uint32(0x1a0e4276),
  3939. 229: uint32(0x2cfcd285),
  3940. 230: uint32(0x77eb6390),
  3941. 231: uint32(0x4119f363),
  3942. 232: uint32(0xad218063),
  3943. 233: uint32(0x9bd31090),
  3944. 234: uint32(0xc0c4a185),
  3945. 235: uint32(0xf6363176),
  3946. 236: uint32(0x76ebc3af),
  3947. 237: uint32(0x4019535c),
  3948. 238: uint32(0x1b0ee249),
  3949. 239: uint32(0x2dfc72ba),
  3950. 240: uint32(0x180f0208),
  3951. 241: uint32(0x2efd92fb),
  3952. 242: uint32(0x75ea23ee),
  3953. 243: uint32(0x4318b31d),
  3954. 244: uint32(0xc3c541c4),
  3955. 245: uint32(0xf537d137),
  3956. 246: uint32(0xae206022),
  3957. 247: uint32(0x98d2f0d1),
  3958. 248: uint32(0x74ea83d1),
  3959. 249: uint32(0x42181322),
  3960. 250: uint32(0x190fa237),
  3961. 251: uint32(0x2ffd32c4),
  3962. 252: uint32(0xaf20c01d),
  3963. 253: uint32(0x99d250ee),
  3964. 254: uint32(0xc2c5e1fb),
  3965. 255: uint32(0xf4377108),
  3966. },
  3967. }
  3968. var _crc_braid_big_table = [8][256]Tz_word_t{
  3969. 0: {
  3970. 1: uint64(0xf390f23600000000),
  3971. 2: uint64(0xe621e56d00000000),
  3972. 3: uint64(0x15b1175b00000000),
  3973. 4: uint64(0xcc43cadb00000000),
  3974. 5: uint64(0x3fd338ed00000000),
  3975. 6: uint64(0x2a622fb600000000),
  3976. 7: uint64(0xd9f2dd8000000000),
  3977. 8: uint64(0xd981e56c00000000),
  3978. 9: uint64(0x2a11175a00000000),
  3979. 10: uint64(0x3fa0000100000000),
  3980. 11: uint64(0xcc30f23700000000),
  3981. 12: uint64(0x15c22fb700000000),
  3982. 13: uint64(0xe652dd8100000000),
  3983. 14: uint64(0xf3e3cada00000000),
  3984. 15: uint64(0x007338ec00000000),
  3985. 16: uint64(0xb203cbd900000000),
  3986. 17: uint64(0x419339ef00000000),
  3987. 18: uint64(0x54222eb400000000),
  3988. 19: uint64(0xa7b2dc8200000000),
  3989. 20: uint64(0x7e40010200000000),
  3990. 21: uint64(0x8dd0f33400000000),
  3991. 22: uint64(0x9861e46f00000000),
  3992. 23: uint64(0x6bf1165900000000),
  3993. 24: uint64(0x6b822eb500000000),
  3994. 25: uint64(0x9812dc8300000000),
  3995. 26: uint64(0x8da3cbd800000000),
  3996. 27: uint64(0x7e3339ee00000000),
  3997. 28: uint64(0xa7c1e46e00000000),
  3998. 29: uint64(0x5451165800000000),
  3999. 30: uint64(0x41e0010300000000),
  4000. 31: uint64(0xb270f33500000000),
  4001. 32: uint64(0x2501e76800000000),
  4002. 33: uint64(0xd691155e00000000),
  4003. 34: uint64(0xc320020500000000),
  4004. 35: uint64(0x30b0f03300000000),
  4005. 36: uint64(0xe9422db300000000),
  4006. 37: uint64(0x1ad2df8500000000),
  4007. 38: uint64(0x0f63c8de00000000),
  4008. 39: uint64(0xfcf33ae800000000),
  4009. 40: uint64(0xfc80020400000000),
  4010. 41: uint64(0x0f10f03200000000),
  4011. 42: uint64(0x1aa1e76900000000),
  4012. 43: uint64(0xe931155f00000000),
  4013. 44: uint64(0x30c3c8df00000000),
  4014. 45: uint64(0xc3533ae900000000),
  4015. 46: uint64(0xd6e22db200000000),
  4016. 47: uint64(0x2572df8400000000),
  4017. 48: uint64(0x97022cb100000000),
  4018. 49: uint64(0x6492de8700000000),
  4019. 50: uint64(0x7123c9dc00000000),
  4020. 51: uint64(0x82b33bea00000000),
  4021. 52: uint64(0x5b41e66a00000000),
  4022. 53: uint64(0xa8d1145c00000000),
  4023. 54: uint64(0xbd60030700000000),
  4024. 55: uint64(0x4ef0f13100000000),
  4025. 56: uint64(0x4e83c9dd00000000),
  4026. 57: uint64(0xbd133beb00000000),
  4027. 58: uint64(0xa8a22cb000000000),
  4028. 59: uint64(0x5b32de8600000000),
  4029. 60: uint64(0x82c0030600000000),
  4030. 61: uint64(0x7150f13000000000),
  4031. 62: uint64(0x64e1e66b00000000),
  4032. 63: uint64(0x9771145d00000000),
  4033. 64: uint64(0x4a02ced100000000),
  4034. 65: uint64(0xb9923ce700000000),
  4035. 66: uint64(0xac232bbc00000000),
  4036. 67: uint64(0x5fb3d98a00000000),
  4037. 68: uint64(0x8641040a00000000),
  4038. 69: uint64(0x75d1f63c00000000),
  4039. 70: uint64(0x6060e16700000000),
  4040. 71: uint64(0x93f0135100000000),
  4041. 72: uint64(0x93832bbd00000000),
  4042. 73: uint64(0x6013d98b00000000),
  4043. 74: uint64(0x75a2ced000000000),
  4044. 75: uint64(0x86323ce600000000),
  4045. 76: uint64(0x5fc0e16600000000),
  4046. 77: uint64(0xac50135000000000),
  4047. 78: uint64(0xb9e1040b00000000),
  4048. 79: uint64(0x4a71f63d00000000),
  4049. 80: uint64(0xf801050800000000),
  4050. 81: uint64(0x0b91f73e00000000),
  4051. 82: uint64(0x1e20e06500000000),
  4052. 83: uint64(0xedb0125300000000),
  4053. 84: uint64(0x3442cfd300000000),
  4054. 85: uint64(0xc7d23de500000000),
  4055. 86: uint64(0xd2632abe00000000),
  4056. 87: uint64(0x21f3d88800000000),
  4057. 88: uint64(0x2180e06400000000),
  4058. 89: uint64(0xd210125200000000),
  4059. 90: uint64(0xc7a1050900000000),
  4060. 91: uint64(0x3431f73f00000000),
  4061. 92: uint64(0xedc32abf00000000),
  4062. 93: uint64(0x1e53d88900000000),
  4063. 94: uint64(0x0be2cfd200000000),
  4064. 95: uint64(0xf8723de400000000),
  4065. 96: uint64(0x6f0329b900000000),
  4066. 97: uint64(0x9c93db8f00000000),
  4067. 98: uint64(0x8922ccd400000000),
  4068. 99: uint64(0x7ab23ee200000000),
  4069. 100: uint64(0xa340e36200000000),
  4070. 101: uint64(0x50d0115400000000),
  4071. 102: uint64(0x4561060f00000000),
  4072. 103: uint64(0xb6f1f43900000000),
  4073. 104: uint64(0xb682ccd500000000),
  4074. 105: uint64(0x45123ee300000000),
  4075. 106: uint64(0x50a329b800000000),
  4076. 107: uint64(0xa333db8e00000000),
  4077. 108: uint64(0x7ac1060e00000000),
  4078. 109: uint64(0x8951f43800000000),
  4079. 110: uint64(0x9ce0e36300000000),
  4080. 111: uint64(0x6f70115500000000),
  4081. 112: uint64(0xdd00e26000000000),
  4082. 113: uint64(0x2e90105600000000),
  4083. 114: uint64(0x3b21070d00000000),
  4084. 115: uint64(0xc8b1f53b00000000),
  4085. 116: uint64(0x114328bb00000000),
  4086. 117: uint64(0xe2d3da8d00000000),
  4087. 118: uint64(0xf762cdd600000000),
  4088. 119: uint64(0x04f23fe000000000),
  4089. 120: uint64(0x0481070c00000000),
  4090. 121: uint64(0xf711f53a00000000),
  4091. 122: uint64(0xe2a0e26100000000),
  4092. 123: uint64(0x1130105700000000),
  4093. 124: uint64(0xc8c2cdd700000000),
  4094. 125: uint64(0x3b523fe100000000),
  4095. 126: uint64(0x2ee328ba00000000),
  4096. 127: uint64(0xdd73da8c00000000),
  4097. 128: uint64(0xd502ed7800000000),
  4098. 129: uint64(0x26921f4e00000000),
  4099. 130: uint64(0x3323081500000000),
  4100. 131: uint64(0xc0b3fa2300000000),
  4101. 132: uint64(0x194127a300000000),
  4102. 133: uint64(0xead1d59500000000),
  4103. 134: uint64(0xff60c2ce00000000),
  4104. 135: uint64(0x0cf030f800000000),
  4105. 136: uint64(0x0c83081400000000),
  4106. 137: uint64(0xff13fa2200000000),
  4107. 138: uint64(0xeaa2ed7900000000),
  4108. 139: uint64(0x19321f4f00000000),
  4109. 140: uint64(0xc0c0c2cf00000000),
  4110. 141: uint64(0x335030f900000000),
  4111. 142: uint64(0x26e127a200000000),
  4112. 143: uint64(0xd571d59400000000),
  4113. 144: uint64(0x670126a100000000),
  4114. 145: uint64(0x9491d49700000000),
  4115. 146: uint64(0x8120c3cc00000000),
  4116. 147: uint64(0x72b031fa00000000),
  4117. 148: uint64(0xab42ec7a00000000),
  4118. 149: uint64(0x58d21e4c00000000),
  4119. 150: uint64(0x4d63091700000000),
  4120. 151: uint64(0xbef3fb2100000000),
  4121. 152: uint64(0xbe80c3cd00000000),
  4122. 153: uint64(0x4d1031fb00000000),
  4123. 154: uint64(0x58a126a000000000),
  4124. 155: uint64(0xab31d49600000000),
  4125. 156: uint64(0x72c3091600000000),
  4126. 157: uint64(0x8153fb2000000000),
  4127. 158: uint64(0x94e2ec7b00000000),
  4128. 159: uint64(0x67721e4d00000000),
  4129. 160: uint64(0xf0030a1000000000),
  4130. 161: uint64(0x0393f82600000000),
  4131. 162: uint64(0x1622ef7d00000000),
  4132. 163: uint64(0xe5b21d4b00000000),
  4133. 164: uint64(0x3c40c0cb00000000),
  4134. 165: uint64(0xcfd032fd00000000),
  4135. 166: uint64(0xda6125a600000000),
  4136. 167: uint64(0x29f1d79000000000),
  4137. 168: uint64(0x2982ef7c00000000),
  4138. 169: uint64(0xda121d4a00000000),
  4139. 170: uint64(0xcfa30a1100000000),
  4140. 171: uint64(0x3c33f82700000000),
  4141. 172: uint64(0xe5c125a700000000),
  4142. 173: uint64(0x1651d79100000000),
  4143. 174: uint64(0x03e0c0ca00000000),
  4144. 175: uint64(0xf07032fc00000000),
  4145. 176: uint64(0x4200c1c900000000),
  4146. 177: uint64(0xb19033ff00000000),
  4147. 178: uint64(0xa42124a400000000),
  4148. 179: uint64(0x57b1d69200000000),
  4149. 180: uint64(0x8e430b1200000000),
  4150. 181: uint64(0x7dd3f92400000000),
  4151. 182: uint64(0x6862ee7f00000000),
  4152. 183: uint64(0x9bf21c4900000000),
  4153. 184: uint64(0x9b8124a500000000),
  4154. 185: uint64(0x6811d69300000000),
  4155. 186: uint64(0x7da0c1c800000000),
  4156. 187: uint64(0x8e3033fe00000000),
  4157. 188: uint64(0x57c2ee7e00000000),
  4158. 189: uint64(0xa4521c4800000000),
  4159. 190: uint64(0xb1e30b1300000000),
  4160. 191: uint64(0x4273f92500000000),
  4161. 192: uint64(0x9f0023a900000000),
  4162. 193: uint64(0x6c90d19f00000000),
  4163. 194: uint64(0x7921c6c400000000),
  4164. 195: uint64(0x8ab134f200000000),
  4165. 196: uint64(0x5343e97200000000),
  4166. 197: uint64(0xa0d31b4400000000),
  4167. 198: uint64(0xb5620c1f00000000),
  4168. 199: uint64(0x46f2fe2900000000),
  4169. 200: uint64(0x4681c6c500000000),
  4170. 201: uint64(0xb51134f300000000),
  4171. 202: uint64(0xa0a023a800000000),
  4172. 203: uint64(0x5330d19e00000000),
  4173. 204: uint64(0x8ac20c1e00000000),
  4174. 205: uint64(0x7952fe2800000000),
  4175. 206: uint64(0x6ce3e97300000000),
  4176. 207: uint64(0x9f731b4500000000),
  4177. 208: uint64(0x2d03e87000000000),
  4178. 209: uint64(0xde931a4600000000),
  4179. 210: uint64(0xcb220d1d00000000),
  4180. 211: uint64(0x38b2ff2b00000000),
  4181. 212: uint64(0xe14022ab00000000),
  4182. 213: uint64(0x12d0d09d00000000),
  4183. 214: uint64(0x0761c7c600000000),
  4184. 215: uint64(0xf4f135f000000000),
  4185. 216: uint64(0xf4820d1c00000000),
  4186. 217: uint64(0x0712ff2a00000000),
  4187. 218: uint64(0x12a3e87100000000),
  4188. 219: uint64(0xe1331a4700000000),
  4189. 220: uint64(0x38c1c7c700000000),
  4190. 221: uint64(0xcb5135f100000000),
  4191. 222: uint64(0xdee022aa00000000),
  4192. 223: uint64(0x2d70d09c00000000),
  4193. 224: uint64(0xba01c4c100000000),
  4194. 225: uint64(0x499136f700000000),
  4195. 226: uint64(0x5c2021ac00000000),
  4196. 227: uint64(0xafb0d39a00000000),
  4197. 228: uint64(0x76420e1a00000000),
  4198. 229: uint64(0x85d2fc2c00000000),
  4199. 230: uint64(0x9063eb7700000000),
  4200. 231: uint64(0x63f3194100000000),
  4201. 232: uint64(0x638021ad00000000),
  4202. 233: uint64(0x9010d39b00000000),
  4203. 234: uint64(0x85a1c4c000000000),
  4204. 235: uint64(0x763136f600000000),
  4205. 236: uint64(0xafc3eb7600000000),
  4206. 237: uint64(0x5c53194000000000),
  4207. 238: uint64(0x49e20e1b00000000),
  4208. 239: uint64(0xba72fc2d00000000),
  4209. 240: uint64(0x08020f1800000000),
  4210. 241: uint64(0xfb92fd2e00000000),
  4211. 242: uint64(0xee23ea7500000000),
  4212. 243: uint64(0x1db3184300000000),
  4213. 244: uint64(0xc441c5c300000000),
  4214. 245: uint64(0x37d137f500000000),
  4215. 246: uint64(0x226020ae00000000),
  4216. 247: uint64(0xd1f0d29800000000),
  4217. 248: uint64(0xd183ea7400000000),
  4218. 249: uint64(0x2213184200000000),
  4219. 250: uint64(0x37a20f1900000000),
  4220. 251: uint64(0xc432fd2f00000000),
  4221. 252: uint64(0x1dc020af00000000),
  4222. 253: uint64(0xee50d29900000000),
  4223. 254: uint64(0xfbe1c5c200000000),
  4224. 255: uint64(0x087137f400000000),
  4225. },
  4226. 1: {
  4227. 1: uint64(0x3651822400000000),
  4228. 2: uint64(0x6ca2044900000000),
  4229. 3: uint64(0x5af3866d00000000),
  4230. 4: uint64(0xd844099200000000),
  4231. 5: uint64(0xee158bb600000000),
  4232. 6: uint64(0xb4e60ddb00000000),
  4233. 7: uint64(0x82b78fff00000000),
  4234. 8: uint64(0xf18f63ff00000000),
  4235. 9: uint64(0xc7dee1db00000000),
  4236. 10: uint64(0x9d2d67b600000000),
  4237. 11: uint64(0xab7ce59200000000),
  4238. 12: uint64(0x29cb6a6d00000000),
  4239. 13: uint64(0x1f9ae84900000000),
  4240. 14: uint64(0x45696e2400000000),
  4241. 15: uint64(0x7338ec0000000000),
  4242. 16: uint64(0xa319b62500000000),
  4243. 17: uint64(0x9548340100000000),
  4244. 18: uint64(0xcfbbb26c00000000),
  4245. 19: uint64(0xf9ea304800000000),
  4246. 20: uint64(0x7b5dbfb700000000),
  4247. 21: uint64(0x4d0c3d9300000000),
  4248. 22: uint64(0x17ffbbfe00000000),
  4249. 23: uint64(0x21ae39da00000000),
  4250. 24: uint64(0x5296d5da00000000),
  4251. 25: uint64(0x64c757fe00000000),
  4252. 26: uint64(0x3e34d19300000000),
  4253. 27: uint64(0x086553b700000000),
  4254. 28: uint64(0x8ad2dc4800000000),
  4255. 29: uint64(0xbc835e6c00000000),
  4256. 30: uint64(0xe670d80100000000),
  4257. 31: uint64(0xd0215a2500000000),
  4258. 32: uint64(0x46336c4b00000000),
  4259. 33: uint64(0x7062ee6f00000000),
  4260. 34: uint64(0x2a91680200000000),
  4261. 35: uint64(0x1cc0ea2600000000),
  4262. 36: uint64(0x9e7765d900000000),
  4263. 37: uint64(0xa826e7fd00000000),
  4264. 38: uint64(0xf2d5619000000000),
  4265. 39: uint64(0xc484e3b400000000),
  4266. 40: uint64(0xb7bc0fb400000000),
  4267. 41: uint64(0x81ed8d9000000000),
  4268. 42: uint64(0xdb1e0bfd00000000),
  4269. 43: uint64(0xed4f89d900000000),
  4270. 44: uint64(0x6ff8062600000000),
  4271. 45: uint64(0x59a9840200000000),
  4272. 46: uint64(0x035a026f00000000),
  4273. 47: uint64(0x350b804b00000000),
  4274. 48: uint64(0xe52ada6e00000000),
  4275. 49: uint64(0xd37b584a00000000),
  4276. 50: uint64(0x8988de2700000000),
  4277. 51: uint64(0xbfd95c0300000000),
  4278. 52: uint64(0x3d6ed3fc00000000),
  4279. 53: uint64(0x0b3f51d800000000),
  4280. 54: uint64(0x51ccd7b500000000),
  4281. 55: uint64(0x679d559100000000),
  4282. 56: uint64(0x14a5b99100000000),
  4283. 57: uint64(0x22f43bb500000000),
  4284. 58: uint64(0x7807bdd800000000),
  4285. 59: uint64(0x4e563ffc00000000),
  4286. 60: uint64(0xcce1b00300000000),
  4287. 61: uint64(0xfab0322700000000),
  4288. 62: uint64(0xa043b44a00000000),
  4289. 63: uint64(0x9612366e00000000),
  4290. 64: uint64(0x8c66d89600000000),
  4291. 65: uint64(0xba375ab200000000),
  4292. 66: uint64(0xe0c4dcdf00000000),
  4293. 67: uint64(0xd6955efb00000000),
  4294. 68: uint64(0x5422d10400000000),
  4295. 69: uint64(0x6273532000000000),
  4296. 70: uint64(0x3880d54d00000000),
  4297. 71: uint64(0x0ed1576900000000),
  4298. 72: uint64(0x7de9bb6900000000),
  4299. 73: uint64(0x4bb8394d00000000),
  4300. 74: uint64(0x114bbf2000000000),
  4301. 75: uint64(0x271a3d0400000000),
  4302. 76: uint64(0xa5adb2fb00000000),
  4303. 77: uint64(0x93fc30df00000000),
  4304. 78: uint64(0xc90fb6b200000000),
  4305. 79: uint64(0xff5e349600000000),
  4306. 80: uint64(0x2f7f6eb300000000),
  4307. 81: uint64(0x192eec9700000000),
  4308. 82: uint64(0x43dd6afa00000000),
  4309. 83: uint64(0x758ce8de00000000),
  4310. 84: uint64(0xf73b672100000000),
  4311. 85: uint64(0xc16ae50500000000),
  4312. 86: uint64(0x9b99636800000000),
  4313. 87: uint64(0xadc8e14c00000000),
  4314. 88: uint64(0xdef00d4c00000000),
  4315. 89: uint64(0xe8a18f6800000000),
  4316. 90: uint64(0xb252090500000000),
  4317. 91: uint64(0x84038b2100000000),
  4318. 92: uint64(0x06b404de00000000),
  4319. 93: uint64(0x30e586fa00000000),
  4320. 94: uint64(0x6a16009700000000),
  4321. 95: uint64(0x5c4782b300000000),
  4322. 96: uint64(0xca55b4dd00000000),
  4323. 97: uint64(0xfc0436f900000000),
  4324. 98: uint64(0xa6f7b09400000000),
  4325. 99: uint64(0x90a632b000000000),
  4326. 100: uint64(0x1211bd4f00000000),
  4327. 101: uint64(0x24403f6b00000000),
  4328. 102: uint64(0x7eb3b90600000000),
  4329. 103: uint64(0x48e23b2200000000),
  4330. 104: uint64(0x3bdad72200000000),
  4331. 105: uint64(0x0d8b550600000000),
  4332. 106: uint64(0x5778d36b00000000),
  4333. 107: uint64(0x6129514f00000000),
  4334. 108: uint64(0xe39edeb000000000),
  4335. 109: uint64(0xd5cf5c9400000000),
  4336. 110: uint64(0x8f3cdaf900000000),
  4337. 111: uint64(0xb96d58dd00000000),
  4338. 112: uint64(0x694c02f800000000),
  4339. 113: uint64(0x5f1d80dc00000000),
  4340. 114: uint64(0x05ee06b100000000),
  4341. 115: uint64(0x33bf849500000000),
  4342. 116: uint64(0xb1080b6a00000000),
  4343. 117: uint64(0x8759894e00000000),
  4344. 118: uint64(0xddaa0f2300000000),
  4345. 119: uint64(0xebfb8d0700000000),
  4346. 120: uint64(0x98c3610700000000),
  4347. 121: uint64(0xae92e32300000000),
  4348. 122: uint64(0xf461654e00000000),
  4349. 123: uint64(0xc230e76a00000000),
  4350. 124: uint64(0x4087689500000000),
  4351. 125: uint64(0x76d6eab100000000),
  4352. 126: uint64(0x2c256cdc00000000),
  4353. 127: uint64(0x1a74eef800000000),
  4354. 128: uint64(0x59cbc1f600000000),
  4355. 129: uint64(0x6f9a43d200000000),
  4356. 130: uint64(0x3569c5bf00000000),
  4357. 131: uint64(0x0338479b00000000),
  4358. 132: uint64(0x818fc86400000000),
  4359. 133: uint64(0xb7de4a4000000000),
  4360. 134: uint64(0xed2dcc2d00000000),
  4361. 135: uint64(0xdb7c4e0900000000),
  4362. 136: uint64(0xa844a20900000000),
  4363. 137: uint64(0x9e15202d00000000),
  4364. 138: uint64(0xc4e6a64000000000),
  4365. 139: uint64(0xf2b7246400000000),
  4366. 140: uint64(0x7000ab9b00000000),
  4367. 141: uint64(0x465129bf00000000),
  4368. 142: uint64(0x1ca2afd200000000),
  4369. 143: uint64(0x2af32df600000000),
  4370. 144: uint64(0xfad277d300000000),
  4371. 145: uint64(0xcc83f5f700000000),
  4372. 146: uint64(0x9670739a00000000),
  4373. 147: uint64(0xa021f1be00000000),
  4374. 148: uint64(0x22967e4100000000),
  4375. 149: uint64(0x14c7fc6500000000),
  4376. 150: uint64(0x4e347a0800000000),
  4377. 151: uint64(0x7865f82c00000000),
  4378. 152: uint64(0x0b5d142c00000000),
  4379. 153: uint64(0x3d0c960800000000),
  4380. 154: uint64(0x67ff106500000000),
  4381. 155: uint64(0x51ae924100000000),
  4382. 156: uint64(0xd3191dbe00000000),
  4383. 157: uint64(0xe5489f9a00000000),
  4384. 158: uint64(0xbfbb19f700000000),
  4385. 159: uint64(0x89ea9bd300000000),
  4386. 160: uint64(0x1ff8adbd00000000),
  4387. 161: uint64(0x29a92f9900000000),
  4388. 162: uint64(0x735aa9f400000000),
  4389. 163: uint64(0x450b2bd000000000),
  4390. 164: uint64(0xc7bca42f00000000),
  4391. 165: uint64(0xf1ed260b00000000),
  4392. 166: uint64(0xab1ea06600000000),
  4393. 167: uint64(0x9d4f224200000000),
  4394. 168: uint64(0xee77ce4200000000),
  4395. 169: uint64(0xd8264c6600000000),
  4396. 170: uint64(0x82d5ca0b00000000),
  4397. 171: uint64(0xb484482f00000000),
  4398. 172: uint64(0x3633c7d000000000),
  4399. 173: uint64(0x006245f400000000),
  4400. 174: uint64(0x5a91c39900000000),
  4401. 175: uint64(0x6cc041bd00000000),
  4402. 176: uint64(0xbce11b9800000000),
  4403. 177: uint64(0x8ab099bc00000000),
  4404. 178: uint64(0xd0431fd100000000),
  4405. 179: uint64(0xe6129df500000000),
  4406. 180: uint64(0x64a5120a00000000),
  4407. 181: uint64(0x52f4902e00000000),
  4408. 182: uint64(0x0807164300000000),
  4409. 183: uint64(0x3e56946700000000),
  4410. 184: uint64(0x4d6e786700000000),
  4411. 185: uint64(0x7b3ffa4300000000),
  4412. 186: uint64(0x21cc7c2e00000000),
  4413. 187: uint64(0x179dfe0a00000000),
  4414. 188: uint64(0x952a71f500000000),
  4415. 189: uint64(0xa37bf3d100000000),
  4416. 190: uint64(0xf98875bc00000000),
  4417. 191: uint64(0xcfd9f79800000000),
  4418. 192: uint64(0xd5ad196000000000),
  4419. 193: uint64(0xe3fc9b4400000000),
  4420. 194: uint64(0xb90f1d2900000000),
  4421. 195: uint64(0x8f5e9f0d00000000),
  4422. 196: uint64(0x0de910f200000000),
  4423. 197: uint64(0x3bb892d600000000),
  4424. 198: uint64(0x614b14bb00000000),
  4425. 199: uint64(0x571a969f00000000),
  4426. 200: uint64(0x24227a9f00000000),
  4427. 201: uint64(0x1273f8bb00000000),
  4428. 202: uint64(0x48807ed600000000),
  4429. 203: uint64(0x7ed1fcf200000000),
  4430. 204: uint64(0xfc66730d00000000),
  4431. 205: uint64(0xca37f12900000000),
  4432. 206: uint64(0x90c4774400000000),
  4433. 207: uint64(0xa695f56000000000),
  4434. 208: uint64(0x76b4af4500000000),
  4435. 209: uint64(0x40e52d6100000000),
  4436. 210: uint64(0x1a16ab0c00000000),
  4437. 211: uint64(0x2c47292800000000),
  4438. 212: uint64(0xaef0a6d700000000),
  4439. 213: uint64(0x98a124f300000000),
  4440. 214: uint64(0xc252a29e00000000),
  4441. 215: uint64(0xf40320ba00000000),
  4442. 216: uint64(0x873bccba00000000),
  4443. 217: uint64(0xb16a4e9e00000000),
  4444. 218: uint64(0xeb99c8f300000000),
  4445. 219: uint64(0xddc84ad700000000),
  4446. 220: uint64(0x5f7fc52800000000),
  4447. 221: uint64(0x692e470c00000000),
  4448. 222: uint64(0x33ddc16100000000),
  4449. 223: uint64(0x058c434500000000),
  4450. 224: uint64(0x939e752b00000000),
  4451. 225: uint64(0xa5cff70f00000000),
  4452. 226: uint64(0xff3c716200000000),
  4453. 227: uint64(0xc96df34600000000),
  4454. 228: uint64(0x4bda7cb900000000),
  4455. 229: uint64(0x7d8bfe9d00000000),
  4456. 230: uint64(0x277878f000000000),
  4457. 231: uint64(0x1129fad400000000),
  4458. 232: uint64(0x621116d400000000),
  4459. 233: uint64(0x544094f000000000),
  4460. 234: uint64(0x0eb3129d00000000),
  4461. 235: uint64(0x38e290b900000000),
  4462. 236: uint64(0xba551f4600000000),
  4463. 237: uint64(0x8c049d6200000000),
  4464. 238: uint64(0xd6f71b0f00000000),
  4465. 239: uint64(0xe0a6992b00000000),
  4466. 240: uint64(0x3087c30e00000000),
  4467. 241: uint64(0x06d6412a00000000),
  4468. 242: uint64(0x5c25c74700000000),
  4469. 243: uint64(0x6a74456300000000),
  4470. 244: uint64(0xe8c3ca9c00000000),
  4471. 245: uint64(0xde9248b800000000),
  4472. 246: uint64(0x8461ced500000000),
  4473. 247: uint64(0xb2304cf100000000),
  4474. 248: uint64(0xc108a0f100000000),
  4475. 249: uint64(0xf75922d500000000),
  4476. 250: uint64(0xadaaa4b800000000),
  4477. 251: uint64(0x9bfb269c00000000),
  4478. 252: uint64(0x194ca96300000000),
  4479. 253: uint64(0x2f1d2b4700000000),
  4480. 254: uint64(0x75eead2a00000000),
  4481. 255: uint64(0x43bf2f0e00000000),
  4482. },
  4483. 2: {
  4484. 1: uint64(0xc8179ecf00000000),
  4485. 2: uint64(0xd1294d4400000000),
  4486. 3: uint64(0x193ed38b00000000),
  4487. 4: uint64(0xa2539a8800000000),
  4488. 5: uint64(0x6a44044700000000),
  4489. 6: uint64(0x737ad7cc00000000),
  4490. 7: uint64(0xbb6d490300000000),
  4491. 8: uint64(0x05a145ca00000000),
  4492. 9: uint64(0xcdb6db0500000000),
  4493. 10: uint64(0xd488088e00000000),
  4494. 11: uint64(0x1c9f964100000000),
  4495. 12: uint64(0xa7f2df4200000000),
  4496. 13: uint64(0x6fe5418d00000000),
  4497. 14: uint64(0x76db920600000000),
  4498. 15: uint64(0xbecc0cc900000000),
  4499. 16: uint64(0x4b44fa4f00000000),
  4500. 17: uint64(0x8353648000000000),
  4501. 18: uint64(0x9a6db70b00000000),
  4502. 19: uint64(0x527a29c400000000),
  4503. 20: uint64(0xe91760c700000000),
  4504. 21: uint64(0x2100fe0800000000),
  4505. 22: uint64(0x383e2d8300000000),
  4506. 23: uint64(0xf029b34c00000000),
  4507. 24: uint64(0x4ee5bf8500000000),
  4508. 25: uint64(0x86f2214a00000000),
  4509. 26: uint64(0x9fccf2c100000000),
  4510. 27: uint64(0x57db6c0e00000000),
  4511. 28: uint64(0xecb6250d00000000),
  4512. 29: uint64(0x24a1bbc200000000),
  4513. 30: uint64(0x3d9f684900000000),
  4514. 31: uint64(0xf588f68600000000),
  4515. 32: uint64(0x9688f49f00000000),
  4516. 33: uint64(0x5e9f6a5000000000),
  4517. 34: uint64(0x47a1b9db00000000),
  4518. 35: uint64(0x8fb6271400000000),
  4519. 36: uint64(0x34db6e1700000000),
  4520. 37: uint64(0xfcccf0d800000000),
  4521. 38: uint64(0xe5f2235300000000),
  4522. 39: uint64(0x2de5bd9c00000000),
  4523. 40: uint64(0x9329b15500000000),
  4524. 41: uint64(0x5b3e2f9a00000000),
  4525. 42: uint64(0x4200fc1100000000),
  4526. 43: uint64(0x8a1762de00000000),
  4527. 44: uint64(0x317a2bdd00000000),
  4528. 45: uint64(0xf96db51200000000),
  4529. 46: uint64(0xe053669900000000),
  4530. 47: uint64(0x2844f85600000000),
  4531. 48: uint64(0xddcc0ed000000000),
  4532. 49: uint64(0x15db901f00000000),
  4533. 50: uint64(0x0ce5439400000000),
  4534. 51: uint64(0xc4f2dd5b00000000),
  4535. 52: uint64(0x7f9f945800000000),
  4536. 53: uint64(0xb7880a9700000000),
  4537. 54: uint64(0xaeb6d91c00000000),
  4538. 55: uint64(0x66a147d300000000),
  4539. 56: uint64(0xd86d4b1a00000000),
  4540. 57: uint64(0x107ad5d500000000),
  4541. 58: uint64(0x0944065e00000000),
  4542. 59: uint64(0xc153989100000000),
  4543. 60: uint64(0x7a3ed19200000000),
  4544. 61: uint64(0xb2294f5d00000000),
  4545. 62: uint64(0xab179cd600000000),
  4546. 63: uint64(0x6300021900000000),
  4547. 64: uint64(0x6d1798e400000000),
  4548. 65: uint64(0xa500062b00000000),
  4549. 66: uint64(0xbc3ed5a000000000),
  4550. 67: uint64(0x74294b6f00000000),
  4551. 68: uint64(0xcf44026c00000000),
  4552. 69: uint64(0x07539ca300000000),
  4553. 70: uint64(0x1e6d4f2800000000),
  4554. 71: uint64(0xd67ad1e700000000),
  4555. 72: uint64(0x68b6dd2e00000000),
  4556. 73: uint64(0xa0a143e100000000),
  4557. 74: uint64(0xb99f906a00000000),
  4558. 75: uint64(0x71880ea500000000),
  4559. 76: uint64(0xcae547a600000000),
  4560. 77: uint64(0x02f2d96900000000),
  4561. 78: uint64(0x1bcc0ae200000000),
  4562. 79: uint64(0xd3db942d00000000),
  4563. 80: uint64(0x265362ab00000000),
  4564. 81: uint64(0xee44fc6400000000),
  4565. 82: uint64(0xf77a2fef00000000),
  4566. 83: uint64(0x3f6db12000000000),
  4567. 84: uint64(0x8400f82300000000),
  4568. 85: uint64(0x4c1766ec00000000),
  4569. 86: uint64(0x5529b56700000000),
  4570. 87: uint64(0x9d3e2ba800000000),
  4571. 88: uint64(0x23f2276100000000),
  4572. 89: uint64(0xebe5b9ae00000000),
  4573. 90: uint64(0xf2db6a2500000000),
  4574. 91: uint64(0x3accf4ea00000000),
  4575. 92: uint64(0x81a1bde900000000),
  4576. 93: uint64(0x49b6232600000000),
  4577. 94: uint64(0x5088f0ad00000000),
  4578. 95: uint64(0x989f6e6200000000),
  4579. 96: uint64(0xfb9f6c7b00000000),
  4580. 97: uint64(0x3388f2b400000000),
  4581. 98: uint64(0x2ab6213f00000000),
  4582. 99: uint64(0xe2a1bff000000000),
  4583. 100: uint64(0x59ccf6f300000000),
  4584. 101: uint64(0x91db683c00000000),
  4585. 102: uint64(0x88e5bbb700000000),
  4586. 103: uint64(0x40f2257800000000),
  4587. 104: uint64(0xfe3e29b100000000),
  4588. 105: uint64(0x3629b77e00000000),
  4589. 106: uint64(0x2f1764f500000000),
  4590. 107: uint64(0xe700fa3a00000000),
  4591. 108: uint64(0x5c6db33900000000),
  4592. 109: uint64(0x947a2df600000000),
  4593. 110: uint64(0x8d44fe7d00000000),
  4594. 111: uint64(0x455360b200000000),
  4595. 112: uint64(0xb0db963400000000),
  4596. 113: uint64(0x78cc08fb00000000),
  4597. 114: uint64(0x61f2db7000000000),
  4598. 115: uint64(0xa9e545bf00000000),
  4599. 116: uint64(0x12880cbc00000000),
  4600. 117: uint64(0xda9f927300000000),
  4601. 118: uint64(0xc3a141f800000000),
  4602. 119: uint64(0x0bb6df3700000000),
  4603. 120: uint64(0xb57ad3fe00000000),
  4604. 121: uint64(0x7d6d4d3100000000),
  4605. 122: uint64(0x64539eba00000000),
  4606. 123: uint64(0xac44007500000000),
  4607. 124: uint64(0x1729497600000000),
  4608. 125: uint64(0xdf3ed7b900000000),
  4609. 126: uint64(0xc600043200000000),
  4610. 127: uint64(0x0e179afd00000000),
  4611. 128: uint64(0x9b28411200000000),
  4612. 129: uint64(0x533fdfdd00000000),
  4613. 130: uint64(0x4a010c5600000000),
  4614. 131: uint64(0x8216929900000000),
  4615. 132: uint64(0x397bdb9a00000000),
  4616. 133: uint64(0xf16c455500000000),
  4617. 134: uint64(0xe85296de00000000),
  4618. 135: uint64(0x2045081100000000),
  4619. 136: uint64(0x9e8904d800000000),
  4620. 137: uint64(0x569e9a1700000000),
  4621. 138: uint64(0x4fa0499c00000000),
  4622. 139: uint64(0x87b7d75300000000),
  4623. 140: uint64(0x3cda9e5000000000),
  4624. 141: uint64(0xf4cd009f00000000),
  4625. 142: uint64(0xedf3d31400000000),
  4626. 143: uint64(0x25e44ddb00000000),
  4627. 144: uint64(0xd06cbb5d00000000),
  4628. 145: uint64(0x187b259200000000),
  4629. 146: uint64(0x0145f61900000000),
  4630. 147: uint64(0xc95268d600000000),
  4631. 148: uint64(0x723f21d500000000),
  4632. 149: uint64(0xba28bf1a00000000),
  4633. 150: uint64(0xa3166c9100000000),
  4634. 151: uint64(0x6b01f25e00000000),
  4635. 152: uint64(0xd5cdfe9700000000),
  4636. 153: uint64(0x1dda605800000000),
  4637. 154: uint64(0x04e4b3d300000000),
  4638. 155: uint64(0xccf32d1c00000000),
  4639. 156: uint64(0x779e641f00000000),
  4640. 157: uint64(0xbf89fad000000000),
  4641. 158: uint64(0xa6b7295b00000000),
  4642. 159: uint64(0x6ea0b79400000000),
  4643. 160: uint64(0x0da0b58d00000000),
  4644. 161: uint64(0xc5b72b4200000000),
  4645. 162: uint64(0xdc89f8c900000000),
  4646. 163: uint64(0x149e660600000000),
  4647. 164: uint64(0xaff32f0500000000),
  4648. 165: uint64(0x67e4b1ca00000000),
  4649. 166: uint64(0x7eda624100000000),
  4650. 167: uint64(0xb6cdfc8e00000000),
  4651. 168: uint64(0x0801f04700000000),
  4652. 169: uint64(0xc0166e8800000000),
  4653. 170: uint64(0xd928bd0300000000),
  4654. 171: uint64(0x113f23cc00000000),
  4655. 172: uint64(0xaa526acf00000000),
  4656. 173: uint64(0x6245f40000000000),
  4657. 174: uint64(0x7b7b278b00000000),
  4658. 175: uint64(0xb36cb94400000000),
  4659. 176: uint64(0x46e44fc200000000),
  4660. 177: uint64(0x8ef3d10d00000000),
  4661. 178: uint64(0x97cd028600000000),
  4662. 179: uint64(0x5fda9c4900000000),
  4663. 180: uint64(0xe4b7d54a00000000),
  4664. 181: uint64(0x2ca04b8500000000),
  4665. 182: uint64(0x359e980e00000000),
  4666. 183: uint64(0xfd8906c100000000),
  4667. 184: uint64(0x43450a0800000000),
  4668. 185: uint64(0x8b5294c700000000),
  4669. 186: uint64(0x926c474c00000000),
  4670. 187: uint64(0x5a7bd98300000000),
  4671. 188: uint64(0xe116908000000000),
  4672. 189: uint64(0x29010e4f00000000),
  4673. 190: uint64(0x303fddc400000000),
  4674. 191: uint64(0xf828430b00000000),
  4675. 192: uint64(0xf63fd9f600000000),
  4676. 193: uint64(0x3e28473900000000),
  4677. 194: uint64(0x271694b200000000),
  4678. 195: uint64(0xef010a7d00000000),
  4679. 196: uint64(0x546c437e00000000),
  4680. 197: uint64(0x9c7bddb100000000),
  4681. 198: uint64(0x85450e3a00000000),
  4682. 199: uint64(0x4d5290f500000000),
  4683. 200: uint64(0xf39e9c3c00000000),
  4684. 201: uint64(0x3b8902f300000000),
  4685. 202: uint64(0x22b7d17800000000),
  4686. 203: uint64(0xeaa04fb700000000),
  4687. 204: uint64(0x51cd06b400000000),
  4688. 205: uint64(0x99da987b00000000),
  4689. 206: uint64(0x80e44bf000000000),
  4690. 207: uint64(0x48f3d53f00000000),
  4691. 208: uint64(0xbd7b23b900000000),
  4692. 209: uint64(0x756cbd7600000000),
  4693. 210: uint64(0x6c526efd00000000),
  4694. 211: uint64(0xa445f03200000000),
  4695. 212: uint64(0x1f28b93100000000),
  4696. 213: uint64(0xd73f27fe00000000),
  4697. 214: uint64(0xce01f47500000000),
  4698. 215: uint64(0x06166aba00000000),
  4699. 216: uint64(0xb8da667300000000),
  4700. 217: uint64(0x70cdf8bc00000000),
  4701. 218: uint64(0x69f32b3700000000),
  4702. 219: uint64(0xa1e4b5f800000000),
  4703. 220: uint64(0x1a89fcfb00000000),
  4704. 221: uint64(0xd29e623400000000),
  4705. 222: uint64(0xcba0b1bf00000000),
  4706. 223: uint64(0x03b72f7000000000),
  4707. 224: uint64(0x60b72d6900000000),
  4708. 225: uint64(0xa8a0b3a600000000),
  4709. 226: uint64(0xb19e602d00000000),
  4710. 227: uint64(0x7989fee200000000),
  4711. 228: uint64(0xc2e4b7e100000000),
  4712. 229: uint64(0x0af3292e00000000),
  4713. 230: uint64(0x13cdfaa500000000),
  4714. 231: uint64(0xdbda646a00000000),
  4715. 232: uint64(0x651668a300000000),
  4716. 233: uint64(0xad01f66c00000000),
  4717. 234: uint64(0xb43f25e700000000),
  4718. 235: uint64(0x7c28bb2800000000),
  4719. 236: uint64(0xc745f22b00000000),
  4720. 237: uint64(0x0f526ce400000000),
  4721. 238: uint64(0x166cbf6f00000000),
  4722. 239: uint64(0xde7b21a000000000),
  4723. 240: uint64(0x2bf3d72600000000),
  4724. 241: uint64(0xe3e449e900000000),
  4725. 242: uint64(0xfada9a6200000000),
  4726. 243: uint64(0x32cd04ad00000000),
  4727. 244: uint64(0x89a04dae00000000),
  4728. 245: uint64(0x41b7d36100000000),
  4729. 246: uint64(0x588900ea00000000),
  4730. 247: uint64(0x909e9e2500000000),
  4731. 248: uint64(0x2e5292ec00000000),
  4732. 249: uint64(0xe6450c2300000000),
  4733. 250: uint64(0xff7bdfa800000000),
  4734. 251: uint64(0x376c416700000000),
  4735. 252: uint64(0x8c01086400000000),
  4736. 253: uint64(0x441696ab00000000),
  4737. 254: uint64(0x5d28452000000000),
  4738. 255: uint64(0x953fdbef00000000),
  4739. },
  4740. 3: {
  4741. 1: uint64(0x95d4709500000000),
  4742. 2: uint64(0x6baf90f100000000),
  4743. 3: uint64(0xfe7be06400000000),
  4744. 4: uint64(0x9758503800000000),
  4745. 5: uint64(0x028c20ad00000000),
  4746. 6: uint64(0xfcf7c0c900000000),
  4747. 7: uint64(0x6923b05c00000000),
  4748. 8: uint64(0x2eb1a07000000000),
  4749. 9: uint64(0xbb65d0e500000000),
  4750. 10: uint64(0x451e308100000000),
  4751. 11: uint64(0xd0ca401400000000),
  4752. 12: uint64(0xb9e9f04800000000),
  4753. 13: uint64(0x2c3d80dd00000000),
  4754. 14: uint64(0xd24660b900000000),
  4755. 15: uint64(0x4792102c00000000),
  4756. 16: uint64(0x5c6241e100000000),
  4757. 17: uint64(0xc9b6317400000000),
  4758. 18: uint64(0x37cdd11000000000),
  4759. 19: uint64(0xa219a18500000000),
  4760. 20: uint64(0xcb3a11d900000000),
  4761. 21: uint64(0x5eee614c00000000),
  4762. 22: uint64(0xa095812800000000),
  4763. 23: uint64(0x3541f1bd00000000),
  4764. 24: uint64(0x72d3e19100000000),
  4765. 25: uint64(0xe707910400000000),
  4766. 26: uint64(0x197c716000000000),
  4767. 27: uint64(0x8ca801f500000000),
  4768. 28: uint64(0xe58bb1a900000000),
  4769. 29: uint64(0x705fc13c00000000),
  4770. 30: uint64(0x8e24215800000000),
  4771. 31: uint64(0x1bf051cd00000000),
  4772. 32: uint64(0xf9c2f31900000000),
  4773. 33: uint64(0x6c16838c00000000),
  4774. 34: uint64(0x926d63e800000000),
  4775. 35: uint64(0x07b9137d00000000),
  4776. 36: uint64(0x6e9aa32100000000),
  4777. 37: uint64(0xfb4ed3b400000000),
  4778. 38: uint64(0x053533d000000000),
  4779. 39: uint64(0x90e1434500000000),
  4780. 40: uint64(0xd773536900000000),
  4781. 41: uint64(0x42a723fc00000000),
  4782. 42: uint64(0xbcdcc39800000000),
  4783. 43: uint64(0x2908b30d00000000),
  4784. 44: uint64(0x402b035100000000),
  4785. 45: uint64(0xd5ff73c400000000),
  4786. 46: uint64(0x2b8493a000000000),
  4787. 47: uint64(0xbe50e33500000000),
  4788. 48: uint64(0xa5a0b2f800000000),
  4789. 49: uint64(0x3074c26d00000000),
  4790. 50: uint64(0xce0f220900000000),
  4791. 51: uint64(0x5bdb529c00000000),
  4792. 52: uint64(0x32f8e2c000000000),
  4793. 53: uint64(0xa72c925500000000),
  4794. 54: uint64(0x5957723100000000),
  4795. 55: uint64(0xcc8302a400000000),
  4796. 56: uint64(0x8b11128800000000),
  4797. 57: uint64(0x1ec5621d00000000),
  4798. 58: uint64(0xe0be827900000000),
  4799. 59: uint64(0x756af2ec00000000),
  4800. 60: uint64(0x1c4942b000000000),
  4801. 61: uint64(0x899d322500000000),
  4802. 62: uint64(0x77e6d24100000000),
  4803. 63: uint64(0xe232a2d400000000),
  4804. 64: uint64(0xf285e73300000000),
  4805. 65: uint64(0x675197a600000000),
  4806. 66: uint64(0x992a77c200000000),
  4807. 67: uint64(0x0cfe075700000000),
  4808. 68: uint64(0x65ddb70b00000000),
  4809. 69: uint64(0xf009c79e00000000),
  4810. 70: uint64(0x0e7227fa00000000),
  4811. 71: uint64(0x9ba6576f00000000),
  4812. 72: uint64(0xdc34474300000000),
  4813. 73: uint64(0x49e037d600000000),
  4814. 74: uint64(0xb79bd7b200000000),
  4815. 75: uint64(0x224fa72700000000),
  4816. 76: uint64(0x4b6c177b00000000),
  4817. 77: uint64(0xdeb867ee00000000),
  4818. 78: uint64(0x20c3878a00000000),
  4819. 79: uint64(0xb517f71f00000000),
  4820. 80: uint64(0xaee7a6d200000000),
  4821. 81: uint64(0x3b33d64700000000),
  4822. 82: uint64(0xc548362300000000),
  4823. 83: uint64(0x509c46b600000000),
  4824. 84: uint64(0x39bff6ea00000000),
  4825. 85: uint64(0xac6b867f00000000),
  4826. 86: uint64(0x5210661b00000000),
  4827. 87: uint64(0xc7c4168e00000000),
  4828. 88: uint64(0x805606a200000000),
  4829. 89: uint64(0x1582763700000000),
  4830. 90: uint64(0xebf9965300000000),
  4831. 91: uint64(0x7e2de6c600000000),
  4832. 92: uint64(0x170e569a00000000),
  4833. 93: uint64(0x82da260f00000000),
  4834. 94: uint64(0x7ca1c66b00000000),
  4835. 95: uint64(0xe975b6fe00000000),
  4836. 96: uint64(0x0b47142a00000000),
  4837. 97: uint64(0x9e9364bf00000000),
  4838. 98: uint64(0x60e884db00000000),
  4839. 99: uint64(0xf53cf44e00000000),
  4840. 100: uint64(0x9c1f441200000000),
  4841. 101: uint64(0x09cb348700000000),
  4842. 102: uint64(0xf7b0d4e300000000),
  4843. 103: uint64(0x6264a47600000000),
  4844. 104: uint64(0x25f6b45a00000000),
  4845. 105: uint64(0xb022c4cf00000000),
  4846. 106: uint64(0x4e5924ab00000000),
  4847. 107: uint64(0xdb8d543e00000000),
  4848. 108: uint64(0xb2aee46200000000),
  4849. 109: uint64(0x277a94f700000000),
  4850. 110: uint64(0xd901749300000000),
  4851. 111: uint64(0x4cd5040600000000),
  4852. 112: uint64(0x572555cb00000000),
  4853. 113: uint64(0xc2f1255e00000000),
  4854. 114: uint64(0x3c8ac53a00000000),
  4855. 115: uint64(0xa95eb5af00000000),
  4856. 116: uint64(0xc07d05f300000000),
  4857. 117: uint64(0x55a9756600000000),
  4858. 118: uint64(0xabd2950200000000),
  4859. 119: uint64(0x3e06e59700000000),
  4860. 120: uint64(0x7994f5bb00000000),
  4861. 121: uint64(0xec40852e00000000),
  4862. 122: uint64(0x123b654a00000000),
  4863. 123: uint64(0x87ef15df00000000),
  4864. 124: uint64(0xeecca58300000000),
  4865. 125: uint64(0x7b18d51600000000),
  4866. 126: uint64(0x8563357200000000),
  4867. 127: uint64(0x10b745e700000000),
  4868. 128: uint64(0xe40bcf6700000000),
  4869. 129: uint64(0x71dfbff200000000),
  4870. 130: uint64(0x8fa45f9600000000),
  4871. 131: uint64(0x1a702f0300000000),
  4872. 132: uint64(0x73539f5f00000000),
  4873. 133: uint64(0xe687efca00000000),
  4874. 134: uint64(0x18fc0fae00000000),
  4875. 135: uint64(0x8d287f3b00000000),
  4876. 136: uint64(0xcaba6f1700000000),
  4877. 137: uint64(0x5f6e1f8200000000),
  4878. 138: uint64(0xa115ffe600000000),
  4879. 139: uint64(0x34c18f7300000000),
  4880. 140: uint64(0x5de23f2f00000000),
  4881. 141: uint64(0xc8364fba00000000),
  4882. 142: uint64(0x364dafde00000000),
  4883. 143: uint64(0xa399df4b00000000),
  4884. 144: uint64(0xb8698e8600000000),
  4885. 145: uint64(0x2dbdfe1300000000),
  4886. 146: uint64(0xd3c61e7700000000),
  4887. 147: uint64(0x46126ee200000000),
  4888. 148: uint64(0x2f31debe00000000),
  4889. 149: uint64(0xbae5ae2b00000000),
  4890. 150: uint64(0x449e4e4f00000000),
  4891. 151: uint64(0xd14a3eda00000000),
  4892. 152: uint64(0x96d82ef600000000),
  4893. 153: uint64(0x030c5e6300000000),
  4894. 154: uint64(0xfd77be0700000000),
  4895. 155: uint64(0x68a3ce9200000000),
  4896. 156: uint64(0x01807ece00000000),
  4897. 157: uint64(0x94540e5b00000000),
  4898. 158: uint64(0x6a2fee3f00000000),
  4899. 159: uint64(0xfffb9eaa00000000),
  4900. 160: uint64(0x1dc93c7e00000000),
  4901. 161: uint64(0x881d4ceb00000000),
  4902. 162: uint64(0x7666ac8f00000000),
  4903. 163: uint64(0xe3b2dc1a00000000),
  4904. 164: uint64(0x8a916c4600000000),
  4905. 165: uint64(0x1f451cd300000000),
  4906. 166: uint64(0xe13efcb700000000),
  4907. 167: uint64(0x74ea8c2200000000),
  4908. 168: uint64(0x33789c0e00000000),
  4909. 169: uint64(0xa6acec9b00000000),
  4910. 170: uint64(0x58d70cff00000000),
  4911. 171: uint64(0xcd037c6a00000000),
  4912. 172: uint64(0xa420cc3600000000),
  4913. 173: uint64(0x31f4bca300000000),
  4914. 174: uint64(0xcf8f5cc700000000),
  4915. 175: uint64(0x5a5b2c5200000000),
  4916. 176: uint64(0x41ab7d9f00000000),
  4917. 177: uint64(0xd47f0d0a00000000),
  4918. 178: uint64(0x2a04ed6e00000000),
  4919. 179: uint64(0xbfd09dfb00000000),
  4920. 180: uint64(0xd6f32da700000000),
  4921. 181: uint64(0x43275d3200000000),
  4922. 182: uint64(0xbd5cbd5600000000),
  4923. 183: uint64(0x2888cdc300000000),
  4924. 184: uint64(0x6f1addef00000000),
  4925. 185: uint64(0xfacead7a00000000),
  4926. 186: uint64(0x04b54d1e00000000),
  4927. 187: uint64(0x91613d8b00000000),
  4928. 188: uint64(0xf8428dd700000000),
  4929. 189: uint64(0x6d96fd4200000000),
  4930. 190: uint64(0x93ed1d2600000000),
  4931. 191: uint64(0x06396db300000000),
  4932. 192: uint64(0x168e285400000000),
  4933. 193: uint64(0x835a58c100000000),
  4934. 194: uint64(0x7d21b8a500000000),
  4935. 195: uint64(0xe8f5c83000000000),
  4936. 196: uint64(0x81d6786c00000000),
  4937. 197: uint64(0x140208f900000000),
  4938. 198: uint64(0xea79e89d00000000),
  4939. 199: uint64(0x7fad980800000000),
  4940. 200: uint64(0x383f882400000000),
  4941. 201: uint64(0xadebf8b100000000),
  4942. 202: uint64(0x539018d500000000),
  4943. 203: uint64(0xc644684000000000),
  4944. 204: uint64(0xaf67d81c00000000),
  4945. 205: uint64(0x3ab3a88900000000),
  4946. 206: uint64(0xc4c848ed00000000),
  4947. 207: uint64(0x511c387800000000),
  4948. 208: uint64(0x4aec69b500000000),
  4949. 209: uint64(0xdf38192000000000),
  4950. 210: uint64(0x2143f94400000000),
  4951. 211: uint64(0xb49789d100000000),
  4952. 212: uint64(0xddb4398d00000000),
  4953. 213: uint64(0x4860491800000000),
  4954. 214: uint64(0xb61ba97c00000000),
  4955. 215: uint64(0x23cfd9e900000000),
  4956. 216: uint64(0x645dc9c500000000),
  4957. 217: uint64(0xf189b95000000000),
  4958. 218: uint64(0x0ff2593400000000),
  4959. 219: uint64(0x9a2629a100000000),
  4960. 220: uint64(0xf30599fd00000000),
  4961. 221: uint64(0x66d1e96800000000),
  4962. 222: uint64(0x98aa090c00000000),
  4963. 223: uint64(0x0d7e799900000000),
  4964. 224: uint64(0xef4cdb4d00000000),
  4965. 225: uint64(0x7a98abd800000000),
  4966. 226: uint64(0x84e34bbc00000000),
  4967. 227: uint64(0x11373b2900000000),
  4968. 228: uint64(0x78148b7500000000),
  4969. 229: uint64(0xedc0fbe000000000),
  4970. 230: uint64(0x13bb1b8400000000),
  4971. 231: uint64(0x866f6b1100000000),
  4972. 232: uint64(0xc1fd7b3d00000000),
  4973. 233: uint64(0x54290ba800000000),
  4974. 234: uint64(0xaa52ebcc00000000),
  4975. 235: uint64(0x3f869b5900000000),
  4976. 236: uint64(0x56a52b0500000000),
  4977. 237: uint64(0xc3715b9000000000),
  4978. 238: uint64(0x3d0abbf400000000),
  4979. 239: uint64(0xa8decb6100000000),
  4980. 240: uint64(0xb32e9aac00000000),
  4981. 241: uint64(0x26faea3900000000),
  4982. 242: uint64(0xd8810a5d00000000),
  4983. 243: uint64(0x4d557ac800000000),
  4984. 244: uint64(0x2476ca9400000000),
  4985. 245: uint64(0xb1a2ba0100000000),
  4986. 246: uint64(0x4fd95a6500000000),
  4987. 247: uint64(0xda0d2af000000000),
  4988. 248: uint64(0x9d9f3adc00000000),
  4989. 249: uint64(0x084b4a4900000000),
  4990. 250: uint64(0xf630aa2d00000000),
  4991. 251: uint64(0x63e4dab800000000),
  4992. 252: uint64(0x0ac76ae400000000),
  4993. 253: uint64(0x9f131a7100000000),
  4994. 254: uint64(0x6168fa1500000000),
  4995. 255: uint64(0xf4bc8a8000000000),
  4996. },
  4997. 4: {
  4998. 1: uint64(0x1f17f08000000000),
  4999. 2: uint64(0x7f2891da00000000),
  5000. 3: uint64(0x603f615a00000000),
  5001. 4: uint64(0xbf56536e00000000),
  5002. 5: uint64(0xa041a3ee00000000),
  5003. 6: uint64(0xc07ec2b400000000),
  5004. 7: uint64(0xdf69323400000000),
  5005. 8: uint64(0x7eada6dc00000000),
  5006. 9: uint64(0x61ba565c00000000),
  5007. 10: uint64(0x0185370600000000),
  5008. 11: uint64(0x1e92c78600000000),
  5009. 12: uint64(0xc1fbf5b200000000),
  5010. 13: uint64(0xdeec053200000000),
  5011. 14: uint64(0xbed3646800000000),
  5012. 15: uint64(0xa1c494e800000000),
  5013. 16: uint64(0xbd5c3c6200000000),
  5014. 17: uint64(0xa24bcce200000000),
  5015. 18: uint64(0xc274adb800000000),
  5016. 19: uint64(0xdd635d3800000000),
  5017. 20: uint64(0x020a6f0c00000000),
  5018. 21: uint64(0x1d1d9f8c00000000),
  5019. 22: uint64(0x7d22fed600000000),
  5020. 23: uint64(0x62350e5600000000),
  5021. 24: uint64(0xc3f19abe00000000),
  5022. 25: uint64(0xdce66a3e00000000),
  5023. 26: uint64(0xbcd90b6400000000),
  5024. 27: uint64(0xa3cefbe400000000),
  5025. 28: uint64(0x7ca7c9d000000000),
  5026. 29: uint64(0x63b0395000000000),
  5027. 30: uint64(0x038f580a00000000),
  5028. 31: uint64(0x1c98a88a00000000),
  5029. 32: uint64(0x7ab978c400000000),
  5030. 33: uint64(0x65ae884400000000),
  5031. 34: uint64(0x0591e91e00000000),
  5032. 35: uint64(0x1a86199e00000000),
  5033. 36: uint64(0xc5ef2baa00000000),
  5034. 37: uint64(0xdaf8db2a00000000),
  5035. 38: uint64(0xbac7ba7000000000),
  5036. 39: uint64(0xa5d04af000000000),
  5037. 40: uint64(0x0414de1800000000),
  5038. 41: uint64(0x1b032e9800000000),
  5039. 42: uint64(0x7b3c4fc200000000),
  5040. 43: uint64(0x642bbf4200000000),
  5041. 44: uint64(0xbb428d7600000000),
  5042. 45: uint64(0xa4557df600000000),
  5043. 46: uint64(0xc46a1cac00000000),
  5044. 47: uint64(0xdb7dec2c00000000),
  5045. 48: uint64(0xc7e544a600000000),
  5046. 49: uint64(0xd8f2b42600000000),
  5047. 50: uint64(0xb8cdd57c00000000),
  5048. 51: uint64(0xa7da25fc00000000),
  5049. 52: uint64(0x78b317c800000000),
  5050. 53: uint64(0x67a4e74800000000),
  5051. 54: uint64(0x079b861200000000),
  5052. 55: uint64(0x188c769200000000),
  5053. 56: uint64(0xb948e27a00000000),
  5054. 57: uint64(0xa65f12fa00000000),
  5055. 58: uint64(0xc66073a000000000),
  5056. 59: uint64(0xd977832000000000),
  5057. 60: uint64(0x061eb11400000000),
  5058. 61: uint64(0x1909419400000000),
  5059. 62: uint64(0x793620ce00000000),
  5060. 63: uint64(0x6621d04e00000000),
  5061. 64: uint64(0xb574805300000000),
  5062. 65: uint64(0xaa6370d300000000),
  5063. 66: uint64(0xca5c118900000000),
  5064. 67: uint64(0xd54be10900000000),
  5065. 68: uint64(0x0a22d33d00000000),
  5066. 69: uint64(0x153523bd00000000),
  5067. 70: uint64(0x750a42e700000000),
  5068. 71: uint64(0x6a1db26700000000),
  5069. 72: uint64(0xcbd9268f00000000),
  5070. 73: uint64(0xd4ced60f00000000),
  5071. 74: uint64(0xb4f1b75500000000),
  5072. 75: uint64(0xabe647d500000000),
  5073. 76: uint64(0x748f75e100000000),
  5074. 77: uint64(0x6b98856100000000),
  5075. 78: uint64(0x0ba7e43b00000000),
  5076. 79: uint64(0x14b014bb00000000),
  5077. 80: uint64(0x0828bc3100000000),
  5078. 81: uint64(0x173f4cb100000000),
  5079. 82: uint64(0x77002deb00000000),
  5080. 83: uint64(0x6817dd6b00000000),
  5081. 84: uint64(0xb77eef5f00000000),
  5082. 85: uint64(0xa8691fdf00000000),
  5083. 86: uint64(0xc8567e8500000000),
  5084. 87: uint64(0xd7418e0500000000),
  5085. 88: uint64(0x76851aed00000000),
  5086. 89: uint64(0x6992ea6d00000000),
  5087. 90: uint64(0x09ad8b3700000000),
  5088. 91: uint64(0x16ba7bb700000000),
  5089. 92: uint64(0xc9d3498300000000),
  5090. 93: uint64(0xd6c4b90300000000),
  5091. 94: uint64(0xb6fbd85900000000),
  5092. 95: uint64(0xa9ec28d900000000),
  5093. 96: uint64(0xcfcdf89700000000),
  5094. 97: uint64(0xd0da081700000000),
  5095. 98: uint64(0xb0e5694d00000000),
  5096. 99: uint64(0xaff299cd00000000),
  5097. 100: uint64(0x709babf900000000),
  5098. 101: uint64(0x6f8c5b7900000000),
  5099. 102: uint64(0x0fb33a2300000000),
  5100. 103: uint64(0x10a4caa300000000),
  5101. 104: uint64(0xb1605e4b00000000),
  5102. 105: uint64(0xae77aecb00000000),
  5103. 106: uint64(0xce48cf9100000000),
  5104. 107: uint64(0xd15f3f1100000000),
  5105. 108: uint64(0x0e360d2500000000),
  5106. 109: uint64(0x1121fda500000000),
  5107. 110: uint64(0x711e9cff00000000),
  5108. 111: uint64(0x6e096c7f00000000),
  5109. 112: uint64(0x7291c4f500000000),
  5110. 113: uint64(0x6d86347500000000),
  5111. 114: uint64(0x0db9552f00000000),
  5112. 115: uint64(0x12aea5af00000000),
  5113. 116: uint64(0xcdc7979b00000000),
  5114. 117: uint64(0xd2d0671b00000000),
  5115. 118: uint64(0xb2ef064100000000),
  5116. 119: uint64(0xadf8f6c100000000),
  5117. 120: uint64(0x0c3c622900000000),
  5118. 121: uint64(0x132b92a900000000),
  5119. 122: uint64(0x7314f3f300000000),
  5120. 123: uint64(0x6c03037300000000),
  5121. 124: uint64(0xb36a314700000000),
  5122. 125: uint64(0xac7dc1c700000000),
  5123. 126: uint64(0xcc42a09d00000000),
  5124. 127: uint64(0xd355501d00000000),
  5125. 128: uint64(0x6ae900a700000000),
  5126. 129: uint64(0x75fef02700000000),
  5127. 130: uint64(0x15c1917d00000000),
  5128. 131: uint64(0x0ad661fd00000000),
  5129. 132: uint64(0xd5bf53c900000000),
  5130. 133: uint64(0xcaa8a34900000000),
  5131. 134: uint64(0xaa97c21300000000),
  5132. 135: uint64(0xb580329300000000),
  5133. 136: uint64(0x1444a67b00000000),
  5134. 137: uint64(0x0b5356fb00000000),
  5135. 138: uint64(0x6b6c37a100000000),
  5136. 139: uint64(0x747bc72100000000),
  5137. 140: uint64(0xab12f51500000000),
  5138. 141: uint64(0xb405059500000000),
  5139. 142: uint64(0xd43a64cf00000000),
  5140. 143: uint64(0xcb2d944f00000000),
  5141. 144: uint64(0xd7b53cc500000000),
  5142. 145: uint64(0xc8a2cc4500000000),
  5143. 146: uint64(0xa89dad1f00000000),
  5144. 147: uint64(0xb78a5d9f00000000),
  5145. 148: uint64(0x68e36fab00000000),
  5146. 149: uint64(0x77f49f2b00000000),
  5147. 150: uint64(0x17cbfe7100000000),
  5148. 151: uint64(0x08dc0ef100000000),
  5149. 152: uint64(0xa9189a1900000000),
  5150. 153: uint64(0xb60f6a9900000000),
  5151. 154: uint64(0xd6300bc300000000),
  5152. 155: uint64(0xc927fb4300000000),
  5153. 156: uint64(0x164ec97700000000),
  5154. 157: uint64(0x095939f700000000),
  5155. 158: uint64(0x696658ad00000000),
  5156. 159: uint64(0x7671a82d00000000),
  5157. 160: uint64(0x1050786300000000),
  5158. 161: uint64(0x0f4788e300000000),
  5159. 162: uint64(0x6f78e9b900000000),
  5160. 163: uint64(0x706f193900000000),
  5161. 164: uint64(0xaf062b0d00000000),
  5162. 165: uint64(0xb011db8d00000000),
  5163. 166: uint64(0xd02ebad700000000),
  5164. 167: uint64(0xcf394a5700000000),
  5165. 168: uint64(0x6efddebf00000000),
  5166. 169: uint64(0x71ea2e3f00000000),
  5167. 170: uint64(0x11d54f6500000000),
  5168. 171: uint64(0x0ec2bfe500000000),
  5169. 172: uint64(0xd1ab8dd100000000),
  5170. 173: uint64(0xcebc7d5100000000),
  5171. 174: uint64(0xae831c0b00000000),
  5172. 175: uint64(0xb194ec8b00000000),
  5173. 176: uint64(0xad0c440100000000),
  5174. 177: uint64(0xb21bb48100000000),
  5175. 178: uint64(0xd224d5db00000000),
  5176. 179: uint64(0xcd33255b00000000),
  5177. 180: uint64(0x125a176f00000000),
  5178. 181: uint64(0x0d4de7ef00000000),
  5179. 182: uint64(0x6d7286b500000000),
  5180. 183: uint64(0x7265763500000000),
  5181. 184: uint64(0xd3a1e2dd00000000),
  5182. 185: uint64(0xccb6125d00000000),
  5183. 186: uint64(0xac89730700000000),
  5184. 187: uint64(0xb39e838700000000),
  5185. 188: uint64(0x6cf7b1b300000000),
  5186. 189: uint64(0x73e0413300000000),
  5187. 190: uint64(0x13df206900000000),
  5188. 191: uint64(0x0cc8d0e900000000),
  5189. 192: uint64(0xdf9d80f400000000),
  5190. 193: uint64(0xc08a707400000000),
  5191. 194: uint64(0xa0b5112e00000000),
  5192. 195: uint64(0xbfa2e1ae00000000),
  5193. 196: uint64(0x60cbd39a00000000),
  5194. 197: uint64(0x7fdc231a00000000),
  5195. 198: uint64(0x1fe3424000000000),
  5196. 199: uint64(0x00f4b2c000000000),
  5197. 200: uint64(0xa130262800000000),
  5198. 201: uint64(0xbe27d6a800000000),
  5199. 202: uint64(0xde18b7f200000000),
  5200. 203: uint64(0xc10f477200000000),
  5201. 204: uint64(0x1e66754600000000),
  5202. 205: uint64(0x017185c600000000),
  5203. 206: uint64(0x614ee49c00000000),
  5204. 207: uint64(0x7e59141c00000000),
  5205. 208: uint64(0x62c1bc9600000000),
  5206. 209: uint64(0x7dd64c1600000000),
  5207. 210: uint64(0x1de92d4c00000000),
  5208. 211: uint64(0x02feddcc00000000),
  5209. 212: uint64(0xdd97eff800000000),
  5210. 213: uint64(0xc2801f7800000000),
  5211. 214: uint64(0xa2bf7e2200000000),
  5212. 215: uint64(0xbda88ea200000000),
  5213. 216: uint64(0x1c6c1a4a00000000),
  5214. 217: uint64(0x037beaca00000000),
  5215. 218: uint64(0x63448b9000000000),
  5216. 219: uint64(0x7c537b1000000000),
  5217. 220: uint64(0xa33a492400000000),
  5218. 221: uint64(0xbc2db9a400000000),
  5219. 222: uint64(0xdc12d8fe00000000),
  5220. 223: uint64(0xc305287e00000000),
  5221. 224: uint64(0xa524f83000000000),
  5222. 225: uint64(0xba3308b000000000),
  5223. 226: uint64(0xda0c69ea00000000),
  5224. 227: uint64(0xc51b996a00000000),
  5225. 228: uint64(0x1a72ab5e00000000),
  5226. 229: uint64(0x05655bde00000000),
  5227. 230: uint64(0x655a3a8400000000),
  5228. 231: uint64(0x7a4dca0400000000),
  5229. 232: uint64(0xdb895eec00000000),
  5230. 233: uint64(0xc49eae6c00000000),
  5231. 234: uint64(0xa4a1cf3600000000),
  5232. 235: uint64(0xbbb63fb600000000),
  5233. 236: uint64(0x64df0d8200000000),
  5234. 237: uint64(0x7bc8fd0200000000),
  5235. 238: uint64(0x1bf79c5800000000),
  5236. 239: uint64(0x04e06cd800000000),
  5237. 240: uint64(0x1878c45200000000),
  5238. 241: uint64(0x076f34d200000000),
  5239. 242: uint64(0x6750558800000000),
  5240. 243: uint64(0x7847a50800000000),
  5241. 244: uint64(0xa72e973c00000000),
  5242. 245: uint64(0xb83967bc00000000),
  5243. 246: uint64(0xd80606e600000000),
  5244. 247: uint64(0xc711f66600000000),
  5245. 248: uint64(0x66d5628e00000000),
  5246. 249: uint64(0x79c2920e00000000),
  5247. 250: uint64(0x19fdf35400000000),
  5248. 251: uint64(0x06ea03d400000000),
  5249. 252: uint64(0xd98331e000000000),
  5250. 253: uint64(0xc694c16000000000),
  5251. 254: uint64(0xa6aba03a00000000),
  5252. 255: uint64(0xb9bc50ba00000000),
  5253. },
  5254. 5: {
  5255. 1: uint64(0xe2fd888d00000000),
  5256. 2: uint64(0x85fd60c000000000),
  5257. 3: uint64(0x6700e84d00000000),
  5258. 4: uint64(0x4bfdb05b00000000),
  5259. 5: uint64(0xa90038d600000000),
  5260. 6: uint64(0xce00d09b00000000),
  5261. 7: uint64(0x2cfd581600000000),
  5262. 8: uint64(0x96fa61b700000000),
  5263. 9: uint64(0x7407e93a00000000),
  5264. 10: uint64(0x1307017700000000),
  5265. 11: uint64(0xf1fa89fa00000000),
  5266. 12: uint64(0xdd07d1ec00000000),
  5267. 13: uint64(0x3ffa596100000000),
  5268. 14: uint64(0x58fab12c00000000),
  5269. 15: uint64(0xba0739a100000000),
  5270. 16: uint64(0x6df3b2b500000000),
  5271. 17: uint64(0x8f0e3a3800000000),
  5272. 18: uint64(0xe80ed27500000000),
  5273. 19: uint64(0x0af35af800000000),
  5274. 20: uint64(0x260e02ee00000000),
  5275. 21: uint64(0xc4f38a6300000000),
  5276. 22: uint64(0xa3f3622e00000000),
  5277. 23: uint64(0x410eeaa300000000),
  5278. 24: uint64(0xfb09d30200000000),
  5279. 25: uint64(0x19f45b8f00000000),
  5280. 26: uint64(0x7ef4b3c200000000),
  5281. 27: uint64(0x9c093b4f00000000),
  5282. 28: uint64(0xb0f4635900000000),
  5283. 29: uint64(0x5209ebd400000000),
  5284. 30: uint64(0x3509039900000000),
  5285. 31: uint64(0xd7f48b1400000000),
  5286. 32: uint64(0x9be014b000000000),
  5287. 33: uint64(0x791d9c3d00000000),
  5288. 34: uint64(0x1e1d747000000000),
  5289. 35: uint64(0xfce0fcfd00000000),
  5290. 36: uint64(0xd01da4eb00000000),
  5291. 37: uint64(0x32e02c6600000000),
  5292. 38: uint64(0x55e0c42b00000000),
  5293. 39: uint64(0xb71d4ca600000000),
  5294. 40: uint64(0x0d1a750700000000),
  5295. 41: uint64(0xefe7fd8a00000000),
  5296. 42: uint64(0x88e715c700000000),
  5297. 43: uint64(0x6a1a9d4a00000000),
  5298. 44: uint64(0x46e7c55c00000000),
  5299. 45: uint64(0xa41a4dd100000000),
  5300. 46: uint64(0xc31aa59c00000000),
  5301. 47: uint64(0x21e72d1100000000),
  5302. 48: uint64(0xf613a60500000000),
  5303. 49: uint64(0x14ee2e8800000000),
  5304. 50: uint64(0x73eec6c500000000),
  5305. 51: uint64(0x91134e4800000000),
  5306. 52: uint64(0xbdee165e00000000),
  5307. 53: uint64(0x5f139ed300000000),
  5308. 54: uint64(0x3813769e00000000),
  5309. 55: uint64(0xdaeefe1300000000),
  5310. 56: uint64(0x60e9c7b200000000),
  5311. 57: uint64(0x82144f3f00000000),
  5312. 58: uint64(0xe514a77200000000),
  5313. 59: uint64(0x07e92fff00000000),
  5314. 60: uint64(0x2b1477e900000000),
  5315. 61: uint64(0xc9e9ff6400000000),
  5316. 62: uint64(0xaee9172900000000),
  5317. 63: uint64(0x4c149fa400000000),
  5318. 64: uint64(0x77c758bb00000000),
  5319. 65: uint64(0x953ad03600000000),
  5320. 66: uint64(0xf23a387b00000000),
  5321. 67: uint64(0x10c7b0f600000000),
  5322. 68: uint64(0x3c3ae8e000000000),
  5323. 69: uint64(0xdec7606d00000000),
  5324. 70: uint64(0xb9c7882000000000),
  5325. 71: uint64(0x5b3a00ad00000000),
  5326. 72: uint64(0xe13d390c00000000),
  5327. 73: uint64(0x03c0b18100000000),
  5328. 74: uint64(0x64c059cc00000000),
  5329. 75: uint64(0x863dd14100000000),
  5330. 76: uint64(0xaac0895700000000),
  5331. 77: uint64(0x483d01da00000000),
  5332. 78: uint64(0x2f3de99700000000),
  5333. 79: uint64(0xcdc0611a00000000),
  5334. 80: uint64(0x1a34ea0e00000000),
  5335. 81: uint64(0xf8c9628300000000),
  5336. 82: uint64(0x9fc98ace00000000),
  5337. 83: uint64(0x7d34024300000000),
  5338. 84: uint64(0x51c95a5500000000),
  5339. 85: uint64(0xb334d2d800000000),
  5340. 86: uint64(0xd4343a9500000000),
  5341. 87: uint64(0x36c9b21800000000),
  5342. 88: uint64(0x8cce8bb900000000),
  5343. 89: uint64(0x6e33033400000000),
  5344. 90: uint64(0x0933eb7900000000),
  5345. 91: uint64(0xebce63f400000000),
  5346. 92: uint64(0xc7333be200000000),
  5347. 93: uint64(0x25ceb36f00000000),
  5348. 94: uint64(0x42ce5b2200000000),
  5349. 95: uint64(0xa033d3af00000000),
  5350. 96: uint64(0xec274c0b00000000),
  5351. 97: uint64(0x0edac48600000000),
  5352. 98: uint64(0x69da2ccb00000000),
  5353. 99: uint64(0x8b27a44600000000),
  5354. 100: uint64(0xa7dafc5000000000),
  5355. 101: uint64(0x452774dd00000000),
  5356. 102: uint64(0x22279c9000000000),
  5357. 103: uint64(0xc0da141d00000000),
  5358. 104: uint64(0x7add2dbc00000000),
  5359. 105: uint64(0x9820a53100000000),
  5360. 106: uint64(0xff204d7c00000000),
  5361. 107: uint64(0x1dddc5f100000000),
  5362. 108: uint64(0x31209de700000000),
  5363. 109: uint64(0xd3dd156a00000000),
  5364. 110: uint64(0xb4ddfd2700000000),
  5365. 111: uint64(0x562075aa00000000),
  5366. 112: uint64(0x81d4febe00000000),
  5367. 113: uint64(0x6329763300000000),
  5368. 114: uint64(0x04299e7e00000000),
  5369. 115: uint64(0xe6d416f300000000),
  5370. 116: uint64(0xca294ee500000000),
  5371. 117: uint64(0x28d4c66800000000),
  5372. 118: uint64(0x4fd42e2500000000),
  5373. 119: uint64(0xad29a6a800000000),
  5374. 120: uint64(0x172e9f0900000000),
  5375. 121: uint64(0xf5d3178400000000),
  5376. 122: uint64(0x92d3ffc900000000),
  5377. 123: uint64(0x702e774400000000),
  5378. 124: uint64(0x5cd32f5200000000),
  5379. 125: uint64(0xbe2ea7df00000000),
  5380. 126: uint64(0xd92e4f9200000000),
  5381. 127: uint64(0x3bd3c71f00000000),
  5382. 128: uint64(0xaf88c0ad00000000),
  5383. 129: uint64(0x4d75482000000000),
  5384. 130: uint64(0x2a75a06d00000000),
  5385. 131: uint64(0xc88828e000000000),
  5386. 132: uint64(0xe47570f600000000),
  5387. 133: uint64(0x0688f87b00000000),
  5388. 134: uint64(0x6188103600000000),
  5389. 135: uint64(0x837598bb00000000),
  5390. 136: uint64(0x3972a11a00000000),
  5391. 137: uint64(0xdb8f299700000000),
  5392. 138: uint64(0xbc8fc1da00000000),
  5393. 139: uint64(0x5e72495700000000),
  5394. 140: uint64(0x728f114100000000),
  5395. 141: uint64(0x907299cc00000000),
  5396. 142: uint64(0xf772718100000000),
  5397. 143: uint64(0x158ff90c00000000),
  5398. 144: uint64(0xc27b721800000000),
  5399. 145: uint64(0x2086fa9500000000),
  5400. 146: uint64(0x478612d800000000),
  5401. 147: uint64(0xa57b9a5500000000),
  5402. 148: uint64(0x8986c24300000000),
  5403. 149: uint64(0x6b7b4ace00000000),
  5404. 150: uint64(0x0c7ba28300000000),
  5405. 151: uint64(0xee862a0e00000000),
  5406. 152: uint64(0x548113af00000000),
  5407. 153: uint64(0xb67c9b2200000000),
  5408. 154: uint64(0xd17c736f00000000),
  5409. 155: uint64(0x3381fbe200000000),
  5410. 156: uint64(0x1f7ca3f400000000),
  5411. 157: uint64(0xfd812b7900000000),
  5412. 158: uint64(0x9a81c33400000000),
  5413. 159: uint64(0x787c4bb900000000),
  5414. 160: uint64(0x3468d41d00000000),
  5415. 161: uint64(0xd6955c9000000000),
  5416. 162: uint64(0xb195b4dd00000000),
  5417. 163: uint64(0x53683c5000000000),
  5418. 164: uint64(0x7f95644600000000),
  5419. 165: uint64(0x9d68eccb00000000),
  5420. 166: uint64(0xfa68048600000000),
  5421. 167: uint64(0x18958c0b00000000),
  5422. 168: uint64(0xa292b5aa00000000),
  5423. 169: uint64(0x406f3d2700000000),
  5424. 170: uint64(0x276fd56a00000000),
  5425. 171: uint64(0xc5925de700000000),
  5426. 172: uint64(0xe96f05f100000000),
  5427. 173: uint64(0x0b928d7c00000000),
  5428. 174: uint64(0x6c92653100000000),
  5429. 175: uint64(0x8e6fedbc00000000),
  5430. 176: uint64(0x599b66a800000000),
  5431. 177: uint64(0xbb66ee2500000000),
  5432. 178: uint64(0xdc66066800000000),
  5433. 179: uint64(0x3e9b8ee500000000),
  5434. 180: uint64(0x1266d6f300000000),
  5435. 181: uint64(0xf09b5e7e00000000),
  5436. 182: uint64(0x979bb63300000000),
  5437. 183: uint64(0x75663ebe00000000),
  5438. 184: uint64(0xcf61071f00000000),
  5439. 185: uint64(0x2d9c8f9200000000),
  5440. 186: uint64(0x4a9c67df00000000),
  5441. 187: uint64(0xa861ef5200000000),
  5442. 188: uint64(0x849cb74400000000),
  5443. 189: uint64(0x66613fc900000000),
  5444. 190: uint64(0x0161d78400000000),
  5445. 191: uint64(0xe39c5f0900000000),
  5446. 192: uint64(0xd84f981600000000),
  5447. 193: uint64(0x3ab2109b00000000),
  5448. 194: uint64(0x5db2f8d600000000),
  5449. 195: uint64(0xbf4f705b00000000),
  5450. 196: uint64(0x93b2284d00000000),
  5451. 197: uint64(0x714fa0c000000000),
  5452. 198: uint64(0x164f488d00000000),
  5453. 199: uint64(0xf4b2c00000000000),
  5454. 200: uint64(0x4eb5f9a100000000),
  5455. 201: uint64(0xac48712c00000000),
  5456. 202: uint64(0xcb48996100000000),
  5457. 203: uint64(0x29b511ec00000000),
  5458. 204: uint64(0x054849fa00000000),
  5459. 205: uint64(0xe7b5c17700000000),
  5460. 206: uint64(0x80b5293a00000000),
  5461. 207: uint64(0x6248a1b700000000),
  5462. 208: uint64(0xb5bc2aa300000000),
  5463. 209: uint64(0x5741a22e00000000),
  5464. 210: uint64(0x30414a6300000000),
  5465. 211: uint64(0xd2bcc2ee00000000),
  5466. 212: uint64(0xfe419af800000000),
  5467. 213: uint64(0x1cbc127500000000),
  5468. 214: uint64(0x7bbcfa3800000000),
  5469. 215: uint64(0x994172b500000000),
  5470. 216: uint64(0x23464b1400000000),
  5471. 217: uint64(0xc1bbc39900000000),
  5472. 218: uint64(0xa6bb2bd400000000),
  5473. 219: uint64(0x4446a35900000000),
  5474. 220: uint64(0x68bbfb4f00000000),
  5475. 221: uint64(0x8a4673c200000000),
  5476. 222: uint64(0xed469b8f00000000),
  5477. 223: uint64(0x0fbb130200000000),
  5478. 224: uint64(0x43af8ca600000000),
  5479. 225: uint64(0xa152042b00000000),
  5480. 226: uint64(0xc652ec6600000000),
  5481. 227: uint64(0x24af64eb00000000),
  5482. 228: uint64(0x08523cfd00000000),
  5483. 229: uint64(0xeaafb47000000000),
  5484. 230: uint64(0x8daf5c3d00000000),
  5485. 231: uint64(0x6f52d4b000000000),
  5486. 232: uint64(0xd555ed1100000000),
  5487. 233: uint64(0x37a8659c00000000),
  5488. 234: uint64(0x50a88dd100000000),
  5489. 235: uint64(0xb255055c00000000),
  5490. 236: uint64(0x9ea85d4a00000000),
  5491. 237: uint64(0x7c55d5c700000000),
  5492. 238: uint64(0x1b553d8a00000000),
  5493. 239: uint64(0xf9a8b50700000000),
  5494. 240: uint64(0x2e5c3e1300000000),
  5495. 241: uint64(0xcca1b69e00000000),
  5496. 242: uint64(0xaba15ed300000000),
  5497. 243: uint64(0x495cd65e00000000),
  5498. 244: uint64(0x65a18e4800000000),
  5499. 245: uint64(0x875c06c500000000),
  5500. 246: uint64(0xe05cee8800000000),
  5501. 247: uint64(0x02a1660500000000),
  5502. 248: uint64(0xb8a65fa400000000),
  5503. 249: uint64(0x5a5bd72900000000),
  5504. 250: uint64(0x3d5b3f6400000000),
  5505. 251: uint64(0xdfa6b7e900000000),
  5506. 252: uint64(0xf35befff00000000),
  5507. 253: uint64(0x11a6677200000000),
  5508. 254: uint64(0x76a68f3f00000000),
  5509. 255: uint64(0x945b07b200000000),
  5510. },
  5511. 6: {
  5512. 1: uint64(0xa90b894e00000000),
  5513. 2: uint64(0x5217129d00000000),
  5514. 3: uint64(0xfb1c9bd300000000),
  5515. 4: uint64(0xe52855e100000000),
  5516. 5: uint64(0x4c23dcaf00000000),
  5517. 6: uint64(0xb73f477c00000000),
  5518. 7: uint64(0x1e34ce3200000000),
  5519. 8: uint64(0x8b57db1900000000),
  5520. 9: uint64(0x225c525700000000),
  5521. 10: uint64(0xd940c98400000000),
  5522. 11: uint64(0x704b40ca00000000),
  5523. 12: uint64(0x6e7f8ef800000000),
  5524. 13: uint64(0xc77407b600000000),
  5525. 14: uint64(0x3c689c6500000000),
  5526. 15: uint64(0x9563152b00000000),
  5527. 16: uint64(0x16afb63300000000),
  5528. 17: uint64(0xbfa43f7d00000000),
  5529. 18: uint64(0x44b8a4ae00000000),
  5530. 19: uint64(0xedb32de000000000),
  5531. 20: uint64(0xf387e3d200000000),
  5532. 21: uint64(0x5a8c6a9c00000000),
  5533. 22: uint64(0xa190f14f00000000),
  5534. 23: uint64(0x089b780100000000),
  5535. 24: uint64(0x9df86d2a00000000),
  5536. 25: uint64(0x34f3e46400000000),
  5537. 26: uint64(0xcfef7fb700000000),
  5538. 27: uint64(0x66e4f6f900000000),
  5539. 28: uint64(0x78d038cb00000000),
  5540. 29: uint64(0xd1dbb18500000000),
  5541. 30: uint64(0x2ac72a5600000000),
  5542. 31: uint64(0x83cca31800000000),
  5543. 32: uint64(0x2c5e6d6700000000),
  5544. 33: uint64(0x8555e42900000000),
  5545. 34: uint64(0x7e497ffa00000000),
  5546. 35: uint64(0xd742f6b400000000),
  5547. 36: uint64(0xc976388600000000),
  5548. 37: uint64(0x607db1c800000000),
  5549. 38: uint64(0x9b612a1b00000000),
  5550. 39: uint64(0x326aa35500000000),
  5551. 40: uint64(0xa709b67e00000000),
  5552. 41: uint64(0x0e023f3000000000),
  5553. 42: uint64(0xf51ea4e300000000),
  5554. 43: uint64(0x5c152dad00000000),
  5555. 44: uint64(0x4221e39f00000000),
  5556. 45: uint64(0xeb2a6ad100000000),
  5557. 46: uint64(0x1036f10200000000),
  5558. 47: uint64(0xb93d784c00000000),
  5559. 48: uint64(0x3af1db5400000000),
  5560. 49: uint64(0x93fa521a00000000),
  5561. 50: uint64(0x68e6c9c900000000),
  5562. 51: uint64(0xc1ed408700000000),
  5563. 52: uint64(0xdfd98eb500000000),
  5564. 53: uint64(0x76d207fb00000000),
  5565. 54: uint64(0x8dce9c2800000000),
  5566. 55: uint64(0x24c5156600000000),
  5567. 56: uint64(0xb1a6004d00000000),
  5568. 57: uint64(0x18ad890300000000),
  5569. 58: uint64(0xe3b112d000000000),
  5570. 59: uint64(0x4aba9b9e00000000),
  5571. 60: uint64(0x548e55ac00000000),
  5572. 61: uint64(0xfd85dce200000000),
  5573. 62: uint64(0x0699473100000000),
  5574. 63: uint64(0xaf92ce7f00000000),
  5575. 64: uint64(0x58bcdace00000000),
  5576. 65: uint64(0xf1b7538000000000),
  5577. 66: uint64(0x0aabc85300000000),
  5578. 67: uint64(0xa3a0411d00000000),
  5579. 68: uint64(0xbd948f2f00000000),
  5580. 69: uint64(0x149f066100000000),
  5581. 70: uint64(0xef839db200000000),
  5582. 71: uint64(0x468814fc00000000),
  5583. 72: uint64(0xd3eb01d700000000),
  5584. 73: uint64(0x7ae0889900000000),
  5585. 74: uint64(0x81fc134a00000000),
  5586. 75: uint64(0x28f79a0400000000),
  5587. 76: uint64(0x36c3543600000000),
  5588. 77: uint64(0x9fc8dd7800000000),
  5589. 78: uint64(0x64d446ab00000000),
  5590. 79: uint64(0xcddfcfe500000000),
  5591. 80: uint64(0x4e136cfd00000000),
  5592. 81: uint64(0xe718e5b300000000),
  5593. 82: uint64(0x1c047e6000000000),
  5594. 83: uint64(0xb50ff72e00000000),
  5595. 84: uint64(0xab3b391c00000000),
  5596. 85: uint64(0x0230b05200000000),
  5597. 86: uint64(0xf92c2b8100000000),
  5598. 87: uint64(0x5027a2cf00000000),
  5599. 88: uint64(0xc544b7e400000000),
  5600. 89: uint64(0x6c4f3eaa00000000),
  5601. 90: uint64(0x9753a57900000000),
  5602. 91: uint64(0x3e582c3700000000),
  5603. 92: uint64(0x206ce20500000000),
  5604. 93: uint64(0x89676b4b00000000),
  5605. 94: uint64(0x727bf09800000000),
  5606. 95: uint64(0xdb7079d600000000),
  5607. 96: uint64(0x74e2b7a900000000),
  5608. 97: uint64(0xdde93ee700000000),
  5609. 98: uint64(0x26f5a53400000000),
  5610. 99: uint64(0x8ffe2c7a00000000),
  5611. 100: uint64(0x91cae24800000000),
  5612. 101: uint64(0x38c16b0600000000),
  5613. 102: uint64(0xc3ddf0d500000000),
  5614. 103: uint64(0x6ad6799b00000000),
  5615. 104: uint64(0xffb56cb000000000),
  5616. 105: uint64(0x56bee5fe00000000),
  5617. 106: uint64(0xada27e2d00000000),
  5618. 107: uint64(0x04a9f76300000000),
  5619. 108: uint64(0x1a9d395100000000),
  5620. 109: uint64(0xb396b01f00000000),
  5621. 110: uint64(0x488a2bcc00000000),
  5622. 111: uint64(0xe181a28200000000),
  5623. 112: uint64(0x624d019a00000000),
  5624. 113: uint64(0xcb4688d400000000),
  5625. 114: uint64(0x305a130700000000),
  5626. 115: uint64(0x99519a4900000000),
  5627. 116: uint64(0x8765547b00000000),
  5628. 117: uint64(0x2e6edd3500000000),
  5629. 118: uint64(0xd57246e600000000),
  5630. 119: uint64(0x7c79cfa800000000),
  5631. 120: uint64(0xe91ada8300000000),
  5632. 121: uint64(0x401153cd00000000),
  5633. 122: uint64(0xbb0dc81e00000000),
  5634. 123: uint64(0x1206415000000000),
  5635. 124: uint64(0x0c328f6200000000),
  5636. 125: uint64(0xa539062c00000000),
  5637. 126: uint64(0x5e259dff00000000),
  5638. 127: uint64(0xf72e14b100000000),
  5639. 128: uint64(0xf17ec44600000000),
  5640. 129: uint64(0x58754d0800000000),
  5641. 130: uint64(0xa369d6db00000000),
  5642. 131: uint64(0x0a625f9500000000),
  5643. 132: uint64(0x145691a700000000),
  5644. 133: uint64(0xbd5d18e900000000),
  5645. 134: uint64(0x4641833a00000000),
  5646. 135: uint64(0xef4a0a7400000000),
  5647. 136: uint64(0x7a291f5f00000000),
  5648. 137: uint64(0xd322961100000000),
  5649. 138: uint64(0x283e0dc200000000),
  5650. 139: uint64(0x8135848c00000000),
  5651. 140: uint64(0x9f014abe00000000),
  5652. 141: uint64(0x360ac3f000000000),
  5653. 142: uint64(0xcd16582300000000),
  5654. 143: uint64(0x641dd16d00000000),
  5655. 144: uint64(0xe7d1727500000000),
  5656. 145: uint64(0x4edafb3b00000000),
  5657. 146: uint64(0xb5c660e800000000),
  5658. 147: uint64(0x1ccde9a600000000),
  5659. 148: uint64(0x02f9279400000000),
  5660. 149: uint64(0xabf2aeda00000000),
  5661. 150: uint64(0x50ee350900000000),
  5662. 151: uint64(0xf9e5bc4700000000),
  5663. 152: uint64(0x6c86a96c00000000),
  5664. 153: uint64(0xc58d202200000000),
  5665. 154: uint64(0x3e91bbf100000000),
  5666. 155: uint64(0x979a32bf00000000),
  5667. 156: uint64(0x89aefc8d00000000),
  5668. 157: uint64(0x20a575c300000000),
  5669. 158: uint64(0xdbb9ee1000000000),
  5670. 159: uint64(0x72b2675e00000000),
  5671. 160: uint64(0xdd20a92100000000),
  5672. 161: uint64(0x742b206f00000000),
  5673. 162: uint64(0x8f37bbbc00000000),
  5674. 163: uint64(0x263c32f200000000),
  5675. 164: uint64(0x3808fcc000000000),
  5676. 165: uint64(0x9103758e00000000),
  5677. 166: uint64(0x6a1fee5d00000000),
  5678. 167: uint64(0xc314671300000000),
  5679. 168: uint64(0x5677723800000000),
  5680. 169: uint64(0xff7cfb7600000000),
  5681. 170: uint64(0x046060a500000000),
  5682. 171: uint64(0xad6be9eb00000000),
  5683. 172: uint64(0xb35f27d900000000),
  5684. 173: uint64(0x1a54ae9700000000),
  5685. 174: uint64(0xe148354400000000),
  5686. 175: uint64(0x4843bc0a00000000),
  5687. 176: uint64(0xcb8f1f1200000000),
  5688. 177: uint64(0x6284965c00000000),
  5689. 178: uint64(0x99980d8f00000000),
  5690. 179: uint64(0x309384c100000000),
  5691. 180: uint64(0x2ea74af300000000),
  5692. 181: uint64(0x87acc3bd00000000),
  5693. 182: uint64(0x7cb0586e00000000),
  5694. 183: uint64(0xd5bbd12000000000),
  5695. 184: uint64(0x40d8c40b00000000),
  5696. 185: uint64(0xe9d34d4500000000),
  5697. 186: uint64(0x12cfd69600000000),
  5698. 187: uint64(0xbbc45fd800000000),
  5699. 188: uint64(0xa5f091ea00000000),
  5700. 189: uint64(0x0cfb18a400000000),
  5701. 190: uint64(0xf7e7837700000000),
  5702. 191: uint64(0x5eec0a3900000000),
  5703. 192: uint64(0xa9c21e8800000000),
  5704. 193: uint64(0x00c997c600000000),
  5705. 194: uint64(0xfbd50c1500000000),
  5706. 195: uint64(0x52de855b00000000),
  5707. 196: uint64(0x4cea4b6900000000),
  5708. 197: uint64(0xe5e1c22700000000),
  5709. 198: uint64(0x1efd59f400000000),
  5710. 199: uint64(0xb7f6d0ba00000000),
  5711. 200: uint64(0x2295c59100000000),
  5712. 201: uint64(0x8b9e4cdf00000000),
  5713. 202: uint64(0x7082d70c00000000),
  5714. 203: uint64(0xd9895e4200000000),
  5715. 204: uint64(0xc7bd907000000000),
  5716. 205: uint64(0x6eb6193e00000000),
  5717. 206: uint64(0x95aa82ed00000000),
  5718. 207: uint64(0x3ca10ba300000000),
  5719. 208: uint64(0xbf6da8bb00000000),
  5720. 209: uint64(0x166621f500000000),
  5721. 210: uint64(0xed7aba2600000000),
  5722. 211: uint64(0x4471336800000000),
  5723. 212: uint64(0x5a45fd5a00000000),
  5724. 213: uint64(0xf34e741400000000),
  5725. 214: uint64(0x0852efc700000000),
  5726. 215: uint64(0xa159668900000000),
  5727. 216: uint64(0x343a73a200000000),
  5728. 217: uint64(0x9d31faec00000000),
  5729. 218: uint64(0x662d613f00000000),
  5730. 219: uint64(0xcf26e87100000000),
  5731. 220: uint64(0xd112264300000000),
  5732. 221: uint64(0x7819af0d00000000),
  5733. 222: uint64(0x830534de00000000),
  5734. 223: uint64(0x2a0ebd9000000000),
  5735. 224: uint64(0x859c73ef00000000),
  5736. 225: uint64(0x2c97faa100000000),
  5737. 226: uint64(0xd78b617200000000),
  5738. 227: uint64(0x7e80e83c00000000),
  5739. 228: uint64(0x60b4260e00000000),
  5740. 229: uint64(0xc9bfaf4000000000),
  5741. 230: uint64(0x32a3349300000000),
  5742. 231: uint64(0x9ba8bddd00000000),
  5743. 232: uint64(0x0ecba8f600000000),
  5744. 233: uint64(0xa7c021b800000000),
  5745. 234: uint64(0x5cdcba6b00000000),
  5746. 235: uint64(0xf5d7332500000000),
  5747. 236: uint64(0xebe3fd1700000000),
  5748. 237: uint64(0x42e8745900000000),
  5749. 238: uint64(0xb9f4ef8a00000000),
  5750. 239: uint64(0x10ff66c400000000),
  5751. 240: uint64(0x9333c5dc00000000),
  5752. 241: uint64(0x3a384c9200000000),
  5753. 242: uint64(0xc124d74100000000),
  5754. 243: uint64(0x682f5e0f00000000),
  5755. 244: uint64(0x761b903d00000000),
  5756. 245: uint64(0xdf10197300000000),
  5757. 246: uint64(0x240c82a000000000),
  5758. 247: uint64(0x8d070bee00000000),
  5759. 248: uint64(0x18641ec500000000),
  5760. 249: uint64(0xb16f978b00000000),
  5761. 250: uint64(0x4a730c5800000000),
  5762. 251: uint64(0xe378851600000000),
  5763. 252: uint64(0xfd4c4b2400000000),
  5764. 253: uint64(0x5447c26a00000000),
  5765. 254: uint64(0xaf5b59b900000000),
  5766. 255: uint64(0x0650d0f700000000),
  5767. },
  5768. 7: {
  5769. 1: uint64(0x479244af00000000),
  5770. 2: uint64(0xcf22f88500000000),
  5771. 3: uint64(0x88b0bc2a00000000),
  5772. 4: uint64(0xdf4381d000000000),
  5773. 5: uint64(0x98d1c57f00000000),
  5774. 6: uint64(0x1061795500000000),
  5775. 7: uint64(0x57f33dfa00000000),
  5776. 8: uint64(0xff81737a00000000),
  5777. 9: uint64(0xb81337d500000000),
  5778. 10: uint64(0x30a38bff00000000),
  5779. 11: uint64(0x7731cf5000000000),
  5780. 12: uint64(0x20c2f2aa00000000),
  5781. 13: uint64(0x6750b60500000000),
  5782. 14: uint64(0xefe00a2f00000000),
  5783. 15: uint64(0xa8724e8000000000),
  5784. 16: uint64(0xfe03e7f400000000),
  5785. 17: uint64(0xb991a35b00000000),
  5786. 18: uint64(0x31211f7100000000),
  5787. 19: uint64(0x76b35bde00000000),
  5788. 20: uint64(0x2140662400000000),
  5789. 21: uint64(0x66d2228b00000000),
  5790. 22: uint64(0xee629ea100000000),
  5791. 23: uint64(0xa9f0da0e00000000),
  5792. 24: uint64(0x0182948e00000000),
  5793. 25: uint64(0x4610d02100000000),
  5794. 26: uint64(0xcea06c0b00000000),
  5795. 27: uint64(0x893228a400000000),
  5796. 28: uint64(0xdec1155e00000000),
  5797. 29: uint64(0x995351f100000000),
  5798. 30: uint64(0x11e3eddb00000000),
  5799. 31: uint64(0x5671a97400000000),
  5800. 32: uint64(0xbd01bf3200000000),
  5801. 33: uint64(0xfa93fb9d00000000),
  5802. 34: uint64(0x722347b700000000),
  5803. 35: uint64(0x35b1031800000000),
  5804. 36: uint64(0x62423ee200000000),
  5805. 37: uint64(0x25d07a4d00000000),
  5806. 38: uint64(0xad60c66700000000),
  5807. 39: uint64(0xeaf282c800000000),
  5808. 40: uint64(0x4280cc4800000000),
  5809. 41: uint64(0x051288e700000000),
  5810. 42: uint64(0x8da234cd00000000),
  5811. 43: uint64(0xca30706200000000),
  5812. 44: uint64(0x9dc34d9800000000),
  5813. 45: uint64(0xda51093700000000),
  5814. 46: uint64(0x52e1b51d00000000),
  5815. 47: uint64(0x1573f1b200000000),
  5816. 48: uint64(0x430258c600000000),
  5817. 49: uint64(0x04901c6900000000),
  5818. 50: uint64(0x8c20a04300000000),
  5819. 51: uint64(0xcbb2e4ec00000000),
  5820. 52: uint64(0x9c41d91600000000),
  5821. 53: uint64(0xdbd39db900000000),
  5822. 54: uint64(0x5363219300000000),
  5823. 55: uint64(0x14f1653c00000000),
  5824. 56: uint64(0xbc832bbc00000000),
  5825. 57: uint64(0xfb116f1300000000),
  5826. 58: uint64(0x73a1d33900000000),
  5827. 59: uint64(0x3433979600000000),
  5828. 60: uint64(0x63c0aa6c00000000),
  5829. 61: uint64(0x2452eec300000000),
  5830. 62: uint64(0xace252e900000000),
  5831. 63: uint64(0xeb70164600000000),
  5832. 64: uint64(0x7a037e6500000000),
  5833. 65: uint64(0x3d913aca00000000),
  5834. 66: uint64(0xb52186e000000000),
  5835. 67: uint64(0xf2b3c24f00000000),
  5836. 68: uint64(0xa540ffb500000000),
  5837. 69: uint64(0xe2d2bb1a00000000),
  5838. 70: uint64(0x6a62073000000000),
  5839. 71: uint64(0x2df0439f00000000),
  5840. 72: uint64(0x85820d1f00000000),
  5841. 73: uint64(0xc21049b000000000),
  5842. 74: uint64(0x4aa0f59a00000000),
  5843. 75: uint64(0x0d32b13500000000),
  5844. 76: uint64(0x5ac18ccf00000000),
  5845. 77: uint64(0x1d53c86000000000),
  5846. 78: uint64(0x95e3744a00000000),
  5847. 79: uint64(0xd27130e500000000),
  5848. 80: uint64(0x8400999100000000),
  5849. 81: uint64(0xc392dd3e00000000),
  5850. 82: uint64(0x4b22611400000000),
  5851. 83: uint64(0x0cb025bb00000000),
  5852. 84: uint64(0x5b43184100000000),
  5853. 85: uint64(0x1cd15cee00000000),
  5854. 86: uint64(0x9461e0c400000000),
  5855. 87: uint64(0xd3f3a46b00000000),
  5856. 88: uint64(0x7b81eaeb00000000),
  5857. 89: uint64(0x3c13ae4400000000),
  5858. 90: uint64(0xb4a3126e00000000),
  5859. 91: uint64(0xf33156c100000000),
  5860. 92: uint64(0xa4c26b3b00000000),
  5861. 93: uint64(0xe3502f9400000000),
  5862. 94: uint64(0x6be093be00000000),
  5863. 95: uint64(0x2c72d71100000000),
  5864. 96: uint64(0xc702c15700000000),
  5865. 97: uint64(0x809085f800000000),
  5866. 98: uint64(0x082039d200000000),
  5867. 99: uint64(0x4fb27d7d00000000),
  5868. 100: uint64(0x1841408700000000),
  5869. 101: uint64(0x5fd3042800000000),
  5870. 102: uint64(0xd763b80200000000),
  5871. 103: uint64(0x90f1fcad00000000),
  5872. 104: uint64(0x3883b22d00000000),
  5873. 105: uint64(0x7f11f68200000000),
  5874. 106: uint64(0xf7a14aa800000000),
  5875. 107: uint64(0xb0330e0700000000),
  5876. 108: uint64(0xe7c033fd00000000),
  5877. 109: uint64(0xa052775200000000),
  5878. 110: uint64(0x28e2cb7800000000),
  5879. 111: uint64(0x6f708fd700000000),
  5880. 112: uint64(0x390126a300000000),
  5881. 113: uint64(0x7e93620c00000000),
  5882. 114: uint64(0xf623de2600000000),
  5883. 115: uint64(0xb1b19a8900000000),
  5884. 116: uint64(0xe642a77300000000),
  5885. 117: uint64(0xa1d0e3dc00000000),
  5886. 118: uint64(0x29605ff600000000),
  5887. 119: uint64(0x6ef21b5900000000),
  5888. 120: uint64(0xc68055d900000000),
  5889. 121: uint64(0x8112117600000000),
  5890. 122: uint64(0x09a2ad5c00000000),
  5891. 123: uint64(0x4e30e9f300000000),
  5892. 124: uint64(0x19c3d40900000000),
  5893. 125: uint64(0x5e5190a600000000),
  5894. 126: uint64(0xd6e12c8c00000000),
  5895. 127: uint64(0x9173682300000000),
  5896. 128: uint64(0xf406fcca00000000),
  5897. 129: uint64(0xb394b86500000000),
  5898. 130: uint64(0x3b24044f00000000),
  5899. 131: uint64(0x7cb640e000000000),
  5900. 132: uint64(0x2b457d1a00000000),
  5901. 133: uint64(0x6cd739b500000000),
  5902. 134: uint64(0xe467859f00000000),
  5903. 135: uint64(0xa3f5c13000000000),
  5904. 136: uint64(0x0b878fb000000000),
  5905. 137: uint64(0x4c15cb1f00000000),
  5906. 138: uint64(0xc4a5773500000000),
  5907. 139: uint64(0x8337339a00000000),
  5908. 140: uint64(0xd4c40e6000000000),
  5909. 141: uint64(0x93564acf00000000),
  5910. 142: uint64(0x1be6f6e500000000),
  5911. 143: uint64(0x5c74b24a00000000),
  5912. 144: uint64(0x0a051b3e00000000),
  5913. 145: uint64(0x4d975f9100000000),
  5914. 146: uint64(0xc527e3bb00000000),
  5915. 147: uint64(0x82b5a71400000000),
  5916. 148: uint64(0xd5469aee00000000),
  5917. 149: uint64(0x92d4de4100000000),
  5918. 150: uint64(0x1a64626b00000000),
  5919. 151: uint64(0x5df626c400000000),
  5920. 152: uint64(0xf584684400000000),
  5921. 153: uint64(0xb2162ceb00000000),
  5922. 154: uint64(0x3aa690c100000000),
  5923. 155: uint64(0x7d34d46e00000000),
  5924. 156: uint64(0x2ac7e99400000000),
  5925. 157: uint64(0x6d55ad3b00000000),
  5926. 158: uint64(0xe5e5111100000000),
  5927. 159: uint64(0xa27755be00000000),
  5928. 160: uint64(0x490743f800000000),
  5929. 161: uint64(0x0e95075700000000),
  5930. 162: uint64(0x8625bb7d00000000),
  5931. 163: uint64(0xc1b7ffd200000000),
  5932. 164: uint64(0x9644c22800000000),
  5933. 165: uint64(0xd1d6868700000000),
  5934. 166: uint64(0x59663aad00000000),
  5935. 167: uint64(0x1ef47e0200000000),
  5936. 168: uint64(0xb686308200000000),
  5937. 169: uint64(0xf114742d00000000),
  5938. 170: uint64(0x79a4c80700000000),
  5939. 171: uint64(0x3e368ca800000000),
  5940. 172: uint64(0x69c5b15200000000),
  5941. 173: uint64(0x2e57f5fd00000000),
  5942. 174: uint64(0xa6e749d700000000),
  5943. 175: uint64(0xe1750d7800000000),
  5944. 176: uint64(0xb704a40c00000000),
  5945. 177: uint64(0xf096e0a300000000),
  5946. 178: uint64(0x78265c8900000000),
  5947. 179: uint64(0x3fb4182600000000),
  5948. 180: uint64(0x684725dc00000000),
  5949. 181: uint64(0x2fd5617300000000),
  5950. 182: uint64(0xa765dd5900000000),
  5951. 183: uint64(0xe0f799f600000000),
  5952. 184: uint64(0x4885d77600000000),
  5953. 185: uint64(0x0f1793d900000000),
  5954. 186: uint64(0x87a72ff300000000),
  5955. 187: uint64(0xc0356b5c00000000),
  5956. 188: uint64(0x97c656a600000000),
  5957. 189: uint64(0xd054120900000000),
  5958. 190: uint64(0x58e4ae2300000000),
  5959. 191: uint64(0x1f76ea8c00000000),
  5960. 192: uint64(0x8e0582af00000000),
  5961. 193: uint64(0xc997c60000000000),
  5962. 194: uint64(0x41277a2a00000000),
  5963. 195: uint64(0x06b53e8500000000),
  5964. 196: uint64(0x5146037f00000000),
  5965. 197: uint64(0x16d447d000000000),
  5966. 198: uint64(0x9e64fbfa00000000),
  5967. 199: uint64(0xd9f6bf5500000000),
  5968. 200: uint64(0x7184f1d500000000),
  5969. 201: uint64(0x3616b57a00000000),
  5970. 202: uint64(0xbea6095000000000),
  5971. 203: uint64(0xf9344dff00000000),
  5972. 204: uint64(0xaec7700500000000),
  5973. 205: uint64(0xe95534aa00000000),
  5974. 206: uint64(0x61e5888000000000),
  5975. 207: uint64(0x2677cc2f00000000),
  5976. 208: uint64(0x7006655b00000000),
  5977. 209: uint64(0x379421f400000000),
  5978. 210: uint64(0xbf249dde00000000),
  5979. 211: uint64(0xf8b6d97100000000),
  5980. 212: uint64(0xaf45e48b00000000),
  5981. 213: uint64(0xe8d7a02400000000),
  5982. 214: uint64(0x60671c0e00000000),
  5983. 215: uint64(0x27f558a100000000),
  5984. 216: uint64(0x8f87162100000000),
  5985. 217: uint64(0xc815528e00000000),
  5986. 218: uint64(0x40a5eea400000000),
  5987. 219: uint64(0x0737aa0b00000000),
  5988. 220: uint64(0x50c497f100000000),
  5989. 221: uint64(0x1756d35e00000000),
  5990. 222: uint64(0x9fe66f7400000000),
  5991. 223: uint64(0xd8742bdb00000000),
  5992. 224: uint64(0x33043d9d00000000),
  5993. 225: uint64(0x7496793200000000),
  5994. 226: uint64(0xfc26c51800000000),
  5995. 227: uint64(0xbbb481b700000000),
  5996. 228: uint64(0xec47bc4d00000000),
  5997. 229: uint64(0xabd5f8e200000000),
  5998. 230: uint64(0x236544c800000000),
  5999. 231: uint64(0x64f7006700000000),
  6000. 232: uint64(0xcc854ee700000000),
  6001. 233: uint64(0x8b170a4800000000),
  6002. 234: uint64(0x03a7b66200000000),
  6003. 235: uint64(0x4435f2cd00000000),
  6004. 236: uint64(0x13c6cf3700000000),
  6005. 237: uint64(0x54548b9800000000),
  6006. 238: uint64(0xdce437b200000000),
  6007. 239: uint64(0x9b76731d00000000),
  6008. 240: uint64(0xcd07da6900000000),
  6009. 241: uint64(0x8a959ec600000000),
  6010. 242: uint64(0x022522ec00000000),
  6011. 243: uint64(0x45b7664300000000),
  6012. 244: uint64(0x12445bb900000000),
  6013. 245: uint64(0x55d61f1600000000),
  6014. 246: uint64(0xdd66a33c00000000),
  6015. 247: uint64(0x9af4e79300000000),
  6016. 248: uint64(0x3286a91300000000),
  6017. 249: uint64(0x7514edbc00000000),
  6018. 250: uint64(0xfda4519600000000),
  6019. 251: uint64(0xba36153900000000),
  6020. 252: uint64(0xedc528c300000000),
  6021. 253: uint64(0xaa576c6c00000000),
  6022. 254: uint64(0x22e7d04600000000),
  6023. 255: uint64(0x657594e900000000),
  6024. },
  6025. }
  6026. var _x2n_table = [32]Tz_crc_t{
  6027. 0: uint32(0x40000000),
  6028. 1: uint32(0x20000000),
  6029. 2: uint32(0x08000000),
  6030. 3: uint32(0x00800000),
  6031. 4: uint32(0x00008000),
  6032. 5: uint32(0xedb88320),
  6033. 6: uint32(0xb1e6b092),
  6034. 7: uint32(0xa06a2517),
  6035. 8: uint32(0xed627dae),
  6036. 9: uint32(0x88d14467),
  6037. 10: uint32(0xd7bbfe6a),
  6038. 11: uint32(0xec447f11),
  6039. 12: uint32(0x8e7ea170),
  6040. 13: uint32(0x6427800e),
  6041. 14: uint32(0x4d47bae0),
  6042. 15: uint32(0x09fe548f),
  6043. 16: uint32(0x83852d0f),
  6044. 17: uint32(0x30362f1a),
  6045. 18: uint32(0x7b5a9cc3),
  6046. 19: uint32(0x31fec169),
  6047. 20: uint32(0x9fec022a),
  6048. 21: uint32(0x6c8dedc4),
  6049. 22: uint32(0x15d6874d),
  6050. 23: uint32(0x5fde7a4e),
  6051. 24: uint32(0xbad90e37),
  6052. 25: uint32(0x2e4e5eef),
  6053. 26: uint32(0x4eaba214),
  6054. 27: uint32(0xa8a472c0),
  6055. 28: uint32(0x429a969e),
  6056. 29: uint32(0x148d302a),
  6057. 30: uint32(0xc40ba6d0),
  6058. 31: uint32(0xc4e22c3c),
  6059. }
  6060. /* CRC polynomial. */
  6061. // C documentation
  6062. //
  6063. // /*
  6064. // Return a(x) multiplied by b(x) modulo p(x), where p(x) is the CRC polynomial,
  6065. // reflected. For speed, this requires that a not be zero.
  6066. // */
  6067. func _multmodp(tls *libc.TLS, a Tz_crc_t, b Tz_crc_t) (r Tz_crc_t) {
  6068. var m, p Tz_crc_t
  6069. var v2 uint32
  6070. _, _, _ = m, p, v2
  6071. m = libc.Uint32FromInt32(1) << libc.Int32FromInt32(31)
  6072. p = uint32(0)
  6073. for {
  6074. if a&m != 0 {
  6075. p ^= b
  6076. if a&(m-uint32(1)) == uint32(0) {
  6077. break
  6078. }
  6079. }
  6080. m >>= uint32(1)
  6081. if b&uint32(1) != 0 {
  6082. v2 = b>>libc.Int32FromInt32(1) ^ uint32(m_POLY)
  6083. } else {
  6084. v2 = b >> int32(1)
  6085. }
  6086. b = v2
  6087. goto _1
  6088. _1:
  6089. }
  6090. return p
  6091. }
  6092. // C documentation
  6093. //
  6094. // /*
  6095. // Return x^(n * 2^k) modulo p(x). Requires that x2n_table[] has been
  6096. // initialized.
  6097. // */
  6098. func _x2nmodp(tls *libc.TLS, n Toff_t, k uint32) (r Tz_crc_t) {
  6099. var p Tz_crc_t
  6100. _ = p
  6101. p = libc.Uint32FromInt32(1) << libc.Int32FromInt32(31) /* x^0 == 1 */
  6102. for n != 0 {
  6103. if n&int64(1) != 0 {
  6104. p = _multmodp(tls, _x2n_table[k&uint32(31)], p)
  6105. }
  6106. n >>= int64(1)
  6107. k++
  6108. }
  6109. return p
  6110. }
  6111. // C documentation
  6112. //
  6113. // /* =========================================================================
  6114. // * This function can be used by asm versions of crc32(), and to force the
  6115. // * generation of the CRC tables in a threaded application.
  6116. // */
  6117. func Xget_crc_table(tls *libc.TLS) (r uintptr) {
  6118. return uintptr(unsafe.Pointer(&_crc_table))
  6119. }
  6120. /* =========================================================================
  6121. * Use ARM machine instructions if available. This will compute the CRC about
  6122. * ten times faster than the braided calculation. This code does not check for
  6123. * the presence of the CRC instruction at run time. __ARM_FEATURE_CRC32 will
  6124. * only be defined if the compilation specifies an ARM processor architecture
  6125. * that has the instructions. For example, compiling with -march=armv8.1-a or
  6126. * -march=armv8-a+crc, or -march=native if the compile machine has the crc32
  6127. * instructions.
  6128. */
  6129. // C documentation
  6130. //
  6131. // /*
  6132. // Return the CRC of the W bytes in the word_t data, taking the
  6133. // least-significant byte of the word as the first byte of data, without any pre
  6134. // or post conditioning. This is used to combine the CRCs of each braid.
  6135. // */
  6136. func _crc_word(tls *libc.TLS, data Tz_word_t) (r Tz_crc_t) {
  6137. var k int32
  6138. _ = k
  6139. k = 0
  6140. for {
  6141. if !(k < int32(m_W)) {
  6142. break
  6143. }
  6144. data = data>>libc.Int32FromInt32(8) ^ uint64(_crc_table[data&uint64(0xff)])
  6145. goto _1
  6146. _1:
  6147. ;
  6148. k++
  6149. }
  6150. return uint32(data)
  6151. }
  6152. func _crc_word_big(tls *libc.TLS, data Tz_word_t) (r Tz_word_t) {
  6153. var k int32
  6154. _ = k
  6155. k = 0
  6156. for {
  6157. if !(k < int32(m_W)) {
  6158. break
  6159. }
  6160. data = data<<libc.Int32FromInt32(8) ^ _crc_big_table[data>>((libc.Int32FromInt32(m_W)-libc.Int32FromInt32(1))<<libc.Int32FromInt32(3))&uint64(0xff)]
  6161. goto _1
  6162. _1:
  6163. ;
  6164. k++
  6165. }
  6166. return data
  6167. }
  6168. // C documentation
  6169. //
  6170. // /* ========================================================================= */
  6171. func Xcrc32_z(tls *libc.TLS, crc uint64, buf uintptr, len1 Tz_size_t) (r uint64) {
  6172. bp := tls.Alloc(16)
  6173. defer tls.Free(16)
  6174. var blks, v2, v4 Tz_size_t
  6175. var comb, crc01, crc11, crc21, crc31, crc41, word0, word01, word1, word11, word2, word21, word3, word31, word4, word41 Tz_word_t
  6176. var crc0, crc1, crc2, crc3, crc4 Tz_crc_t
  6177. var k int32
  6178. var words, v1, v10, v11, v12, v13, v14, v6, v7, v8, v9 uintptr
  6179. var _ /* endian at bp+0 */ uint32
  6180. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  6181. /* Return initial CRC, if requested. */
  6182. if buf == uintptr(m_Z_NULL) {
  6183. return uint64(0)
  6184. }
  6185. /* Pre-condition the CRC */
  6186. crc = ^crc & uint64(0xffffffff)
  6187. /* If provided enough bytes, do a braided CRC calculation. */
  6188. if len1 >= libc.Uint64FromInt32(libc.Int32FromInt32(m_N)*libc.Int32FromInt32(m_W)+libc.Int32FromInt32(m_W)-libc.Int32FromInt32(1)) {
  6189. /* Compute the CRC up to a z_word_t boundary. */
  6190. for len1 != 0 && uint64(buf)&libc.Uint64FromInt32(libc.Int32FromInt32(m_W)-libc.Int32FromInt32(1)) != uint64(0) {
  6191. len1--
  6192. v1 = buf
  6193. buf++
  6194. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v1))))&uint64(0xff)])
  6195. }
  6196. /* Compute the CRC on as many N z_word_t blocks as are available. */
  6197. blks = len1 / libc.Uint64FromInt32(libc.Int32FromInt32(m_N)*libc.Int32FromInt32(m_W))
  6198. len1 -= blks * uint64(m_N) * uint64(m_W)
  6199. words = buf
  6200. /* Do endian check at execution time instead of compile time, since ARM
  6201. processors can change the endianness at execution time. If the
  6202. compiler knows what the endianness will be, it can optimize out the
  6203. check and the unused branch. */
  6204. *(*uint32)(unsafe.Pointer(bp)) = uint32(1)
  6205. if *(*uint8)(unsafe.Pointer(bp)) != 0 {
  6206. /* Initialize the CRC for each braid. */
  6207. crc0 = uint32(crc)
  6208. crc1 = uint32(0)
  6209. crc2 = uint32(0)
  6210. crc3 = uint32(0)
  6211. crc4 = uint32(0)
  6212. /*
  6213. Process the first blks-1 blocks, computing the CRCs on each braid
  6214. independently.
  6215. */
  6216. for {
  6217. blks--
  6218. v2 = blks
  6219. if !(v2 != 0) {
  6220. break
  6221. }
  6222. /* Load the word for each braid into registers. */
  6223. word0 = uint64(crc0) ^ *(*Tz_word_t)(unsafe.Pointer(words))
  6224. word1 = uint64(crc1) ^ *(*Tz_word_t)(unsafe.Pointer(words + 1*8))
  6225. word2 = uint64(crc2) ^ *(*Tz_word_t)(unsafe.Pointer(words + 2*8))
  6226. word3 = uint64(crc3) ^ *(*Tz_word_t)(unsafe.Pointer(words + 3*8))
  6227. word4 = uint64(crc4) ^ *(*Tz_word_t)(unsafe.Pointer(words + 4*8))
  6228. words += uintptr(m_N) * 8
  6229. /* Compute and update the CRC for each word. The loop should
  6230. get unrolled. */
  6231. crc0 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word0&uint64(0xff))*4))
  6232. crc1 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word1&uint64(0xff))*4))
  6233. crc2 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word2&uint64(0xff))*4))
  6234. crc3 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word3&uint64(0xff))*4))
  6235. crc4 = *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(word4&uint64(0xff))*4))
  6236. k = int32(1)
  6237. for {
  6238. if !(k < int32(m_W)) {
  6239. break
  6240. }
  6241. crc0 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word0>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  6242. crc1 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word1>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  6243. crc2 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word2>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  6244. crc3 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word3>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  6245. crc4 ^= *(*Tz_crc_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_table)) + uintptr(k)*1024 + uintptr(word4>>(k<<libc.Int32FromInt32(3))&uint64(0xff))*4))
  6246. goto _3
  6247. _3:
  6248. ;
  6249. k++
  6250. }
  6251. }
  6252. /*
  6253. Process the last block, combining the CRCs of the N braids at the
  6254. same time.
  6255. */
  6256. crc = uint64(_crc_word(tls, uint64(crc0)^*(*Tz_word_t)(unsafe.Pointer(words))))
  6257. crc = uint64(_crc_word(tls, uint64(crc1)^*(*Tz_word_t)(unsafe.Pointer(words + 1*8))^crc))
  6258. crc = uint64(_crc_word(tls, uint64(crc2)^*(*Tz_word_t)(unsafe.Pointer(words + 2*8))^crc))
  6259. crc = uint64(_crc_word(tls, uint64(crc3)^*(*Tz_word_t)(unsafe.Pointer(words + 3*8))^crc))
  6260. crc = uint64(_crc_word(tls, uint64(crc4)^*(*Tz_word_t)(unsafe.Pointer(words + 4*8))^crc))
  6261. words += uintptr(m_N) * 8
  6262. } else {
  6263. /* Initialize the CRC for each braid. */
  6264. crc01 = _byte_swap(tls, crc)
  6265. crc11 = uint64(0)
  6266. crc21 = uint64(0)
  6267. crc31 = uint64(0)
  6268. crc41 = uint64(0)
  6269. /*
  6270. Process the first blks-1 blocks, computing the CRCs on each braid
  6271. independently.
  6272. */
  6273. for {
  6274. blks--
  6275. v4 = blks
  6276. if !(v4 != 0) {
  6277. break
  6278. }
  6279. /* Load the word for each braid into registers. */
  6280. word01 = crc01 ^ *(*Tz_word_t)(unsafe.Pointer(words))
  6281. word11 = crc11 ^ *(*Tz_word_t)(unsafe.Pointer(words + 1*8))
  6282. word21 = crc21 ^ *(*Tz_word_t)(unsafe.Pointer(words + 2*8))
  6283. word31 = crc31 ^ *(*Tz_word_t)(unsafe.Pointer(words + 3*8))
  6284. word41 = crc41 ^ *(*Tz_word_t)(unsafe.Pointer(words + 4*8))
  6285. words += uintptr(m_N) * 8
  6286. /* Compute and update the CRC for each word. The loop should
  6287. get unrolled. */
  6288. crc01 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word01&uint64(0xff))*8))
  6289. crc11 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word11&uint64(0xff))*8))
  6290. crc21 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word21&uint64(0xff))*8))
  6291. crc31 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word31&uint64(0xff))*8))
  6292. crc41 = *(*Tz_word_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&_crc_braid_big_table)) + uintptr(word41&uint64(0xff))*8))
  6293. k = int32(1)
  6294. for {
  6295. if !(k < int32(m_W)) {
  6296. break
  6297. }
  6298. 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))
  6299. 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))
  6300. 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))
  6301. 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))
  6302. 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))
  6303. goto _5
  6304. _5:
  6305. ;
  6306. k++
  6307. }
  6308. }
  6309. /*
  6310. Process the last block, combining the CRCs of the N braids at the
  6311. same time.
  6312. */
  6313. comb = _crc_word_big(tls, crc01^*(*Tz_word_t)(unsafe.Pointer(words)))
  6314. comb = _crc_word_big(tls, crc11^*(*Tz_word_t)(unsafe.Pointer(words + 1*8))^comb)
  6315. comb = _crc_word_big(tls, crc21^*(*Tz_word_t)(unsafe.Pointer(words + 2*8))^comb)
  6316. comb = _crc_word_big(tls, crc31^*(*Tz_word_t)(unsafe.Pointer(words + 3*8))^comb)
  6317. comb = _crc_word_big(tls, crc41^*(*Tz_word_t)(unsafe.Pointer(words + 4*8))^comb)
  6318. words += uintptr(m_N) * 8
  6319. crc = _byte_swap(tls, comb)
  6320. }
  6321. /*
  6322. Update the pointer to the remaining bytes to process.
  6323. */
  6324. buf = words
  6325. }
  6326. /* Complete the computation of the CRC on any remaining bytes. */
  6327. for len1 >= uint64(8) {
  6328. len1 -= uint64(8)
  6329. v6 = buf
  6330. buf++
  6331. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v6))))&uint64(0xff)])
  6332. v7 = buf
  6333. buf++
  6334. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v7))))&uint64(0xff)])
  6335. v8 = buf
  6336. buf++
  6337. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v8))))&uint64(0xff)])
  6338. v9 = buf
  6339. buf++
  6340. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v9))))&uint64(0xff)])
  6341. v10 = buf
  6342. buf++
  6343. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v10))))&uint64(0xff)])
  6344. v11 = buf
  6345. buf++
  6346. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v11))))&uint64(0xff)])
  6347. v12 = buf
  6348. buf++
  6349. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v12))))&uint64(0xff)])
  6350. v13 = buf
  6351. buf++
  6352. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v13))))&uint64(0xff)])
  6353. }
  6354. for len1 != 0 {
  6355. len1--
  6356. v14 = buf
  6357. buf++
  6358. crc = crc>>int32(8) ^ uint64(_crc_table[(crc^uint64(*(*uint8)(unsafe.Pointer(v14))))&uint64(0xff)])
  6359. }
  6360. /* Return the CRC, post-conditioned. */
  6361. return crc ^ uint64(0xffffffff)
  6362. }
  6363. // C documentation
  6364. //
  6365. // /* ========================================================================= */
  6366. func Xcrc32(tls *libc.TLS, crc uint64, buf uintptr, len1 TuInt) (r uint64) {
  6367. return Xcrc32_z(tls, crc, buf, uint64(len1))
  6368. }
  6369. // C documentation
  6370. //
  6371. // /* ========================================================================= */
  6372. func Xcrc32_combine64(tls *libc.TLS, crc1 TuLong, crc2 TuLong, len2 Toff_t) (r TuLong) {
  6373. return uint64(_multmodp(tls, _x2nmodp(tls, len2, uint32(3)), uint32(crc1))) ^ crc2&uint64(0xffffffff)
  6374. }
  6375. // C documentation
  6376. //
  6377. // /* ========================================================================= */
  6378. func Xcrc32_combine(tls *libc.TLS, crc1 TuLong, crc2 TuLong, len2 Toff_t) (r TuLong) {
  6379. return Xcrc32_combine64(tls, crc1, crc2, len2)
  6380. }
  6381. // C documentation
  6382. //
  6383. // /* ========================================================================= */
  6384. func Xcrc32_combine_gen64(tls *libc.TLS, len2 Toff_t) (r TuLong) {
  6385. return uint64(_x2nmodp(tls, len2, uint32(3)))
  6386. }
  6387. // C documentation
  6388. //
  6389. // /* ========================================================================= */
  6390. func Xcrc32_combine_gen(tls *libc.TLS, len2 Toff_t) (r TuLong) {
  6391. return Xcrc32_combine_gen64(tls, len2)
  6392. }
  6393. // C documentation
  6394. //
  6395. // /* ========================================================================= */
  6396. func Xcrc32_combine_op(tls *libc.TLS, crc1 TuLong, crc2 TuLong, op TuLong) (r TuLong) {
  6397. return uint64(_multmodp(tls, uint32(op), uint32(crc1))) ^ crc2&uint64(0xffffffff)
  6398. }
  6399. const m_BL_CODES = 19
  6400. const m_BUSY_STATE = 113
  6401. const m_Buf_size = 16
  6402. const m_COMMENT_STATE = 91
  6403. const m_D_CODES = 30
  6404. const m_EXTRA_STATE = 69
  6405. const m_FINISH_STATE = 666
  6406. const m_GZIP_STATE = 57
  6407. const m_HCRC_STATE = 103
  6408. const m_INIT_STATE = 42
  6409. const m_LENGTH_CODES = 29
  6410. const m_LITERALS = 256
  6411. const m_LIT_BUFS = 4
  6412. const m_MAX_BITS = 15
  6413. const m_MAX_STORED = 65535
  6414. const m_NAME_STATE = 73
  6415. const m_NIL = 0
  6416. const m_PRESET_DICT1 = 32
  6417. const m_TOO_FAR = 4096
  6418. const m_WIN_INIT = "MAX_MATCH"
  6419. const m_max_insert_length = "max_lazy_match"
  6420. type Tinternal_state = struct {
  6421. Fstrm Tz_streamp
  6422. Fstatus int32
  6423. Fpending_buf uintptr
  6424. Fpending_buf_size Tulg
  6425. Fpending_out uintptr
  6426. Fpending Tulg
  6427. Fwrap int32
  6428. Fgzhead Tgz_headerp
  6429. Fgzindex Tulg
  6430. Fmethod TByte
  6431. Flast_flush int32
  6432. Fw_size TuInt
  6433. Fw_bits TuInt
  6434. Fw_mask TuInt
  6435. Fwindow uintptr
  6436. Fwindow_size Tulg
  6437. Fprev uintptr
  6438. Fhead uintptr
  6439. Fins_h TuInt
  6440. Fhash_size TuInt
  6441. Fhash_bits TuInt
  6442. Fhash_mask TuInt
  6443. Fhash_shift TuInt
  6444. Fblock_start int64
  6445. Fmatch_length TuInt
  6446. Fprev_match TIPos
  6447. Fmatch_available int32
  6448. Fstrstart TuInt
  6449. Fmatch_start TuInt
  6450. Flookahead TuInt
  6451. Fprev_length TuInt
  6452. Fmax_chain_length TuInt
  6453. Fmax_lazy_match TuInt
  6454. Flevel int32
  6455. Fstrategy int32
  6456. Fgood_match TuInt
  6457. Fnice_match int32
  6458. Fdyn_ltree [573]Tct_data_s
  6459. Fdyn_dtree [61]Tct_data_s
  6460. Fbl_tree [39]Tct_data_s
  6461. Fl_desc Ttree_desc_s
  6462. Fd_desc Ttree_desc_s
  6463. Fbl_desc Ttree_desc_s
  6464. Fbl_count [16]Tush
  6465. Fheap [573]int32
  6466. Fheap_len int32
  6467. Fheap_max int32
  6468. Fdepth [573]Tuch
  6469. Fsym_buf uintptr
  6470. Flit_bufsize TuInt
  6471. Fsym_next TuInt
  6472. Fsym_end TuInt
  6473. Fopt_len Tulg
  6474. Fstatic_len Tulg
  6475. Fmatches TuInt
  6476. Finsert TuInt
  6477. Fbi_buf Tush
  6478. Fbi_valid int32
  6479. Fhigh_water Tulg
  6480. }
  6481. type Tct_data = struct {
  6482. Ffc struct {
  6483. Fcode [0]Tush
  6484. Ffreq Tush
  6485. }
  6486. Fdl struct {
  6487. Flen1 [0]Tush
  6488. Fdad Tush
  6489. }
  6490. }
  6491. type Tct_data_s = Tct_data
  6492. type Ttree_desc = struct {
  6493. Fdyn_tree uintptr
  6494. Fmax_code int32
  6495. Fstat_desc uintptr
  6496. }
  6497. type Ttree_desc_s = Ttree_desc
  6498. type TPos = uint16
  6499. type TPosf = uint16
  6500. type TIPos = uint32
  6501. type Tdeflate_state = struct {
  6502. Fstrm Tz_streamp
  6503. Fstatus int32
  6504. Fpending_buf uintptr
  6505. Fpending_buf_size Tulg
  6506. Fpending_out uintptr
  6507. Fpending Tulg
  6508. Fwrap int32
  6509. Fgzhead Tgz_headerp
  6510. Fgzindex Tulg
  6511. Fmethod TByte
  6512. Flast_flush int32
  6513. Fw_size TuInt
  6514. Fw_bits TuInt
  6515. Fw_mask TuInt
  6516. Fwindow uintptr
  6517. Fwindow_size Tulg
  6518. Fprev uintptr
  6519. Fhead uintptr
  6520. Fins_h TuInt
  6521. Fhash_size TuInt
  6522. Fhash_bits TuInt
  6523. Fhash_mask TuInt
  6524. Fhash_shift TuInt
  6525. Fblock_start int64
  6526. Fmatch_length TuInt
  6527. Fprev_match TIPos
  6528. Fmatch_available int32
  6529. Fstrstart TuInt
  6530. Fmatch_start TuInt
  6531. Flookahead TuInt
  6532. Fprev_length TuInt
  6533. Fmax_chain_length TuInt
  6534. Fmax_lazy_match TuInt
  6535. Flevel int32
  6536. Fstrategy int32
  6537. Fgood_match TuInt
  6538. Fnice_match int32
  6539. Fdyn_ltree [573]Tct_data_s
  6540. Fdyn_dtree [61]Tct_data_s
  6541. Fbl_tree [39]Tct_data_s
  6542. Fl_desc Ttree_desc_s
  6543. Fd_desc Ttree_desc_s
  6544. Fbl_desc Ttree_desc_s
  6545. Fbl_count [16]Tush
  6546. Fheap [573]int32
  6547. Fheap_len int32
  6548. Fheap_max int32
  6549. Fdepth [573]Tuch
  6550. Fsym_buf uintptr
  6551. Flit_bufsize TuInt
  6552. Fsym_next TuInt
  6553. Fsym_end TuInt
  6554. Fopt_len Tulg
  6555. Fstatic_len Tulg
  6556. Fmatches TuInt
  6557. Finsert TuInt
  6558. Fbi_buf Tush
  6559. Fbi_valid int32
  6560. Fhigh_water Tulg
  6561. }
  6562. /*
  6563. If you use the zlib library in a product, an acknowledgment is welcome
  6564. in the documentation of your product. If for some reason you cannot
  6565. include such an acknowledgment, I would appreciate that you keep this
  6566. copyright string in the executable of your product.
  6567. */
  6568. type Tblock_state = int32
  6569. const _need_more = 0
  6570. const /* block not completed, need more input or more output */
  6571. _block_done = 1
  6572. const /* block flush performed */
  6573. _finish_started = 2
  6574. const /* finish started, need only more output at next deflate */
  6575. _finish_done = 3
  6576. type Tcompress_func = uintptr
  6577. /* ===========================================================================
  6578. * Local data
  6579. */
  6580. /* Tail of hash chains */
  6581. /* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
  6582. // C documentation
  6583. //
  6584. // /* Values for max_lazy_match, good_match and max_chain_length, depending on
  6585. // * the desired pack level (0..9). The values given below have been tuned to
  6586. // * exclude worst case performance for pathological files. Better values may be
  6587. // * found for specific files.
  6588. // */
  6589. type Tconfig = struct {
  6590. Fgood_length Tush
  6591. Fmax_lazy Tush
  6592. Fnice_length Tush
  6593. Fmax_chain Tush
  6594. Ffunc1 Tcompress_func
  6595. }
  6596. /* ===========================================================================
  6597. * Local data
  6598. */
  6599. /* Tail of hash chains */
  6600. /* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
  6601. // C documentation
  6602. //
  6603. // /* Values for max_lazy_match, good_match and max_chain_length, depending on
  6604. // * the desired pack level (0..9). The values given below have been tuned to
  6605. // * exclude worst case performance for pathological files. Better values may be
  6606. // * found for specific files.
  6607. // */
  6608. type Tconfig_s = Tconfig
  6609. var _configuration_table = [10]Tconfig{
  6610. 0: {},
  6611. 1: {
  6612. Fgood_length: uint16(4),
  6613. Fmax_lazy: uint16(4),
  6614. Fnice_length: uint16(8),
  6615. Fmax_chain: uint16(4),
  6616. },
  6617. 2: {
  6618. Fgood_length: uint16(4),
  6619. Fmax_lazy: uint16(5),
  6620. Fnice_length: uint16(16),
  6621. Fmax_chain: uint16(8),
  6622. },
  6623. 3: {
  6624. Fgood_length: uint16(4),
  6625. Fmax_lazy: uint16(6),
  6626. Fnice_length: uint16(32),
  6627. Fmax_chain: uint16(32),
  6628. },
  6629. 4: {
  6630. Fgood_length: uint16(4),
  6631. Fmax_lazy: uint16(4),
  6632. Fnice_length: uint16(16),
  6633. Fmax_chain: uint16(16),
  6634. },
  6635. 5: {
  6636. Fgood_length: uint16(8),
  6637. Fmax_lazy: uint16(16),
  6638. Fnice_length: uint16(32),
  6639. Fmax_chain: uint16(32),
  6640. },
  6641. 6: {
  6642. Fgood_length: uint16(8),
  6643. Fmax_lazy: uint16(16),
  6644. Fnice_length: uint16(128),
  6645. Fmax_chain: uint16(128),
  6646. },
  6647. 7: {
  6648. Fgood_length: uint16(8),
  6649. Fmax_lazy: uint16(32),
  6650. Fnice_length: uint16(128),
  6651. Fmax_chain: uint16(256),
  6652. },
  6653. 8: {
  6654. Fgood_length: uint16(32),
  6655. Fmax_lazy: uint16(128),
  6656. Fnice_length: uint16(258),
  6657. Fmax_chain: uint16(1024),
  6658. },
  6659. 9: {
  6660. Fgood_length: uint16(32),
  6661. Fmax_lazy: uint16(258),
  6662. Fnice_length: uint16(258),
  6663. Fmax_chain: uint16(4096),
  6664. },
  6665. }
  6666. func init() {
  6667. p := unsafe.Pointer(&_configuration_table)
  6668. *(*uintptr)(unsafe.Add(p, 8)) = __ccgo_fp(_deflate_stored)
  6669. *(*uintptr)(unsafe.Add(p, 24)) = __ccgo_fp(_deflate_fast)
  6670. *(*uintptr)(unsafe.Add(p, 40)) = __ccgo_fp(_deflate_fast)
  6671. *(*uintptr)(unsafe.Add(p, 56)) = __ccgo_fp(_deflate_fast)
  6672. *(*uintptr)(unsafe.Add(p, 72)) = __ccgo_fp(_deflate_slow)
  6673. *(*uintptr)(unsafe.Add(p, 88)) = __ccgo_fp(_deflate_slow)
  6674. *(*uintptr)(unsafe.Add(p, 104)) = __ccgo_fp(_deflate_slow)
  6675. *(*uintptr)(unsafe.Add(p, 120)) = __ccgo_fp(_deflate_slow)
  6676. *(*uintptr)(unsafe.Add(p, 136)) = __ccgo_fp(_deflate_slow)
  6677. *(*uintptr)(unsafe.Add(p, 152)) = __ccgo_fp(_deflate_slow)
  6678. }
  6679. /* max compression */
  6680. /* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4
  6681. * For deflate_fast() (levels <= 3) good is ignored and lazy has a different
  6682. * meaning.
  6683. */
  6684. /* rank Z_BLOCK between Z_NO_FLUSH and Z_PARTIAL_FLUSH */
  6685. /* ===========================================================================
  6686. * Update a hash value with the given input byte
  6687. * IN assertion: all calls to UPDATE_HASH are made with consecutive input
  6688. * characters, so that a running hash key can be computed from the previous
  6689. * key instead of complete recalculation each time.
  6690. */
  6691. /* ===========================================================================
  6692. * Insert string str in the dictionary and set match_head to the previous head
  6693. * of the hash chain (the most recent string with same hash key). Return
  6694. * the previous length of the hash chain.
  6695. * If this file is compiled with -DFASTEST, the compression level is forced
  6696. * to 1, and no hash chains are maintained.
  6697. * IN assertion: all calls to INSERT_STRING are made with consecutive input
  6698. * characters and the first MIN_MATCH bytes of str are valid (except for
  6699. * the last MIN_MATCH-1 bytes of the input file).
  6700. */
  6701. /* ===========================================================================
  6702. * Initialize the hash table (avoiding 64K overflow for 16 bit systems).
  6703. * prev[] will be initialized on the fly.
  6704. */
  6705. // C documentation
  6706. //
  6707. // /* ===========================================================================
  6708. // * Slide the hash table when sliding the window down (could be avoided with 32
  6709. // * bit values at the expense of memory usage). We slide even when level == 0 to
  6710. // * keep the hash table consistent if we switch back to level > 0 later.
  6711. // */
  6712. func _slide_hash(tls *libc.TLS, s uintptr) {
  6713. var m, n, v1, v4, v5, v8 uint32
  6714. var p, v3, v7 uintptr
  6715. var wsize TuInt
  6716. _, _, _, _, _, _, _, _, _, _ = m, n, p, wsize, v1, v3, v4, v5, v7, v8
  6717. wsize = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  6718. n = (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size
  6719. p = (*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr(n)*2
  6720. for {
  6721. p -= 2
  6722. v3 = p
  6723. m = uint32(*(*TPosf)(unsafe.Pointer(v3)))
  6724. if m >= wsize {
  6725. v4 = m - wsize
  6726. } else {
  6727. v4 = uint32(m_NIL)
  6728. }
  6729. *(*TPosf)(unsafe.Pointer(p)) = uint16(v4)
  6730. goto _2
  6731. _2:
  6732. ;
  6733. n--
  6734. v1 = n
  6735. if !(v1 != 0) {
  6736. break
  6737. }
  6738. }
  6739. n = wsize
  6740. p = (*Tdeflate_state)(unsafe.Pointer(s)).Fprev + uintptr(n)*2
  6741. for {
  6742. p -= 2
  6743. v7 = p
  6744. m = uint32(*(*TPosf)(unsafe.Pointer(v7)))
  6745. if m >= wsize {
  6746. v8 = m - wsize
  6747. } else {
  6748. v8 = uint32(m_NIL)
  6749. }
  6750. *(*TPosf)(unsafe.Pointer(p)) = uint16(v8)
  6751. /* If n is not on any hash chain, prev[n] is garbage but
  6752. * its value will never be used.
  6753. */
  6754. goto _6
  6755. _6:
  6756. ;
  6757. n--
  6758. v5 = n
  6759. if !(v5 != 0) {
  6760. break
  6761. }
  6762. }
  6763. }
  6764. // C documentation
  6765. //
  6766. // /* ===========================================================================
  6767. // * Read a new buffer from the current input stream, update the adler32
  6768. // * and total number of bytes read. All deflate() input goes through
  6769. // * this function so some applications may wish to modify it to avoid
  6770. // * allocating a large strm->next_in buffer and copying from it.
  6771. // * (See also flush_pending()).
  6772. // */
  6773. func _read_buf(tls *libc.TLS, strm Tz_streamp, buf uintptr, size uint32) (r uint32) {
  6774. var len1 uint32
  6775. _ = len1
  6776. len1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  6777. if len1 > size {
  6778. len1 = size
  6779. }
  6780. if len1 == uint32(0) {
  6781. return uint32(0)
  6782. }
  6783. *(*TuInt)(unsafe.Pointer(strm + 8)) -= len1
  6784. libc.Xmemcpy(tls, buf, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, uint64(len1))
  6785. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap == int32(1) {
  6786. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, buf, len1)
  6787. } else {
  6788. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap == int32(2) {
  6789. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, buf, len1)
  6790. }
  6791. }
  6792. *(*uintptr)(unsafe.Pointer(strm)) += uintptr(len1)
  6793. *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(len1)
  6794. return len1
  6795. }
  6796. // C documentation
  6797. //
  6798. // /* ===========================================================================
  6799. // * Fill the window when the lookahead becomes insufficient.
  6800. // * Updates strstart and lookahead.
  6801. // *
  6802. // * IN assertion: lookahead < MIN_LOOKAHEAD
  6803. // * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
  6804. // * At least one byte has been read, or avail_in == 0; reads are
  6805. // * performed for at least two bytes (required for the zip translate_eol
  6806. // * option -- not supported here).
  6807. // */
  6808. func _fill_window(tls *libc.TLS, s uintptr) {
  6809. var curr, init1 Tulg
  6810. var more, n uint32
  6811. var str, wsize TuInt
  6812. _, _, _, _, _, _ = curr, init1, more, n, str, wsize /* Amount of free space at the end of the window. */
  6813. wsize = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  6814. 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) {
  6815. more = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead) - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
  6816. /* Deal with !@#$% 64K limit: */
  6817. if uint64(4) <= uint64(2) {
  6818. if more == uint32(0) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart == uint32(0) && (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  6819. more = wsize
  6820. } else {
  6821. if more == libc.Uint32FromInt32(-libc.Int32FromInt32(1)) {
  6822. /* Very unlikely, but possible on 16 bit machine if
  6823. * strstart == 0 && lookahead == 1 (input done a byte at time)
  6824. */
  6825. more--
  6826. }
  6827. }
  6828. }
  6829. /* If the window is almost full and there is insufficient lookahead,
  6830. * move the upper half to the lower one to make room in the upper half.
  6831. */
  6832. 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))) {
  6833. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr(wsize), uint64(wsize-more))
  6834. *(*TuInt)(unsafe.Pointer(s + 176)) -= wsize
  6835. *(*TuInt)(unsafe.Pointer(s + 172)) -= wsize /* we now have strstart >= MAX_DIST */
  6836. *(*int64)(unsafe.Pointer(s + 152)) -= libc.Int64FromUint32(wsize)
  6837. if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
  6838. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  6839. }
  6840. _slide_hash(tls, s)
  6841. more += wsize
  6842. }
  6843. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) {
  6844. break
  6845. }
  6846. /* If there was no sliding:
  6847. * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
  6848. * more == window_size - lookahead - strstart
  6849. * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)
  6850. * => more >= window_size - 2*WSIZE + 2
  6851. * In the BIG_MEM or MMAP case (not yet supported),
  6852. * window_size == input_size + MIN_LOOKAHEAD &&
  6853. * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
  6854. * Otherwise, window_size == 2*WSIZE so more >= 2.
  6855. * If there was sliding, more >= WSIZE. So in all cases, more >= 2.
  6856. */
  6857. 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)
  6858. *(*TuInt)(unsafe.Pointer(s + 180)) += n
  6859. /* Initialize the hash value now that we have some input: */
  6860. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead+(*Tdeflate_state)(unsafe.Pointer(s)).Finsert >= uint32(m_MIN_MATCH) {
  6861. str = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
  6862. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(str))))
  6863. (*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
  6864. for (*Tdeflate_state)(unsafe.Pointer(s)).Finsert != 0 {
  6865. (*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
  6866. *(*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))
  6867. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16(str)
  6868. str++
  6869. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert--
  6870. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead+(*Tdeflate_state)(unsafe.Pointer(s)).Finsert < uint32(m_MIN_MATCH) {
  6871. break
  6872. }
  6873. }
  6874. }
  6875. /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
  6876. * but this is not important since only literal bytes will be emitted.
  6877. */
  6878. }
  6879. /* If the WIN_INIT bytes after the end of the current data have never been
  6880. * written, then zero those bytes in order to avoid memory check reports of
  6881. * the use of uninitialized (or uninitialised as Julian writes) bytes by
  6882. * the longest match routines. Update the high water mark for the next
  6883. * time through here. WIN_INIT is set to MAX_MATCH since the longest match
  6884. * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.
  6885. */
  6886. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size {
  6887. curr = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead)
  6888. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < curr {
  6889. /* Previous high water mark below current data -- zero WIN_INIT
  6890. * bytes or up to end of window, whichever is less.
  6891. */
  6892. init1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - curr
  6893. if init1 > uint64(m_MAX_MATCH) {
  6894. init1 = uint64(m_MAX_MATCH)
  6895. }
  6896. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr(curr), 0, uint64(uint32(init1)))
  6897. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = curr + init1
  6898. } else {
  6899. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < curr+uint64(m_MAX_MATCH) {
  6900. /* High water mark at or above current data, but below current data
  6901. * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up
  6902. * to end of window, whichever is less.
  6903. */
  6904. init1 = curr + uint64(m_MAX_MATCH) - (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water
  6905. if init1 > (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size-(*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water {
  6906. init1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water
  6907. }
  6908. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water), 0, uint64(uint32(init1)))
  6909. *(*Tulg)(unsafe.Pointer(s + 5944)) += init1
  6910. }
  6911. }
  6912. }
  6913. }
  6914. // C documentation
  6915. //
  6916. // /* ========================================================================= */
  6917. func XdeflateInit_(tls *libc.TLS, strm Tz_streamp, level int32, version uintptr, stream_size int32) (r int32) {
  6918. 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)
  6919. /* To do: ignore strm->next_in if we use it as window */
  6920. }
  6921. // C documentation
  6922. //
  6923. // /* ========================================================================= */
  6924. 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) {
  6925. var s uintptr
  6926. var wrap int32
  6927. _, _ = s, wrap
  6928. wrap = int32(1)
  6929. if version == uintptr(m_Z_NULL) || libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(version))) != libc.Int32FromUint8(_my_version[0]) || libc.Uint64FromInt32(stream_size) != uint64(112) {
  6930. return -int32(6)
  6931. }
  6932. if strm == uintptr(m_Z_NULL) {
  6933. return -int32(2)
  6934. }
  6935. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
  6936. if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
  6937. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
  6938. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
  6939. }
  6940. if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  6941. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
  6942. }
  6943. if level == -int32(1) {
  6944. level = int32(6)
  6945. }
  6946. if windowBits < 0 { /* suppress zlib wrapper */
  6947. wrap = 0
  6948. if windowBits < -int32(15) {
  6949. return -int32(2)
  6950. }
  6951. windowBits = -windowBits
  6952. } else {
  6953. if windowBits > int32(15) {
  6954. wrap = int32(2) /* write gzip wrapper instead */
  6955. windowBits -= int32(16)
  6956. }
  6957. }
  6958. 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) {
  6959. return -int32(2)
  6960. }
  6961. if windowBits == int32(8) {
  6962. windowBits = int32(9)
  6963. } /* until 256-byte window bug fixed */
  6964. 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)))
  6965. if s == uintptr(m_Z_NULL) {
  6966. return -int32(4)
  6967. }
  6968. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = s
  6969. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm = strm
  6970. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_INIT_STATE) /* to pass state test in deflateReset() */
  6971. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = wrap
  6972. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead = uintptr(m_Z_NULL)
  6973. (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits = libc.Uint32FromInt32(windowBits)
  6974. (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size = libc.Uint32FromInt32(int32(1) << (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits)
  6975. (*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - uint32(1)
  6976. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits = libc.Uint32FromInt32(memLevel) + uint32(7)
  6977. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size = libc.Uint32FromInt32(int32(1) << (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits)
  6978. (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_mask = (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size - uint32(1)
  6979. (*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)
  6980. (*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)))
  6981. (*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)))
  6982. (*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)))
  6983. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64(0) /* nothing written to s->window yet */
  6984. (*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize = libc.Uint32FromInt32(int32(1) << (memLevel + int32(6))) /* 16K elements by default */
  6985. /* We overlay pending_buf and sym_buf. This works since the average size
  6986. * for length/distance pairs over any compressed block is assured to be 31
  6987. * bits or less.
  6988. *
  6989. * Analysis: The longest fixed codes are a length code of 8 bits plus 5
  6990. * extra bits, for lengths 131 to 257. The longest fixed distance codes are
  6991. * 5 bits plus 13 extra bits, for distances 16385 to 32768. The longest
  6992. * possible fixed-codes length/distance pair is then 31 bits total.
  6993. *
  6994. * sym_buf starts one-fourth of the way into pending_buf. So there are
  6995. * three bytes in sym_buf for every four bytes in pending_buf. Each symbol
  6996. * in sym_buf is three bytes -- two for the distance and one for the
  6997. * literal/length. As each symbol is consumed, the pointer to the next
  6998. * sym_buf value to read moves forward three bytes. From that symbol, up to
  6999. * 31 bits are written to pending_buf. The closest the written pending_buf
  7000. * bits gets to the next sym_buf symbol to read is just before the last
  7001. * code is written. At that time, 31*(n - 2) bits have been written, just
  7002. * after 24*(n - 2) bits have been consumed from sym_buf. sym_buf starts at
  7003. * 8*n bits into pending_buf. (Note that the symbol buffer fills when n - 1
  7004. * symbols are written.) The closest the writing gets to what is unread is
  7005. * then n + 14 bits. Here n is lit_bufsize, which is 16384 by default, and
  7006. * can range from 128 to 32768.
  7007. *
  7008. * Therefore, at a minimum, there are 142 bits of space between what is
  7009. * written and what is read in the overlain buffers, so the symbols cannot
  7010. * be overwritten by the compressed data. That space is actually 139 bits,
  7011. * due to the three-bit fixed-code block header.
  7012. *
  7013. * That covers the case where either Z_FIXED is specified, forcing fixed
  7014. * codes, or when the use of fixed codes is chosen, because that choice
  7015. * results in a smaller compressed block than dynamic codes. That latter
  7016. * condition then assures that the above analysis also covers all dynamic
  7017. * blocks. A dynamic-code block will only be chosen to be emitted if it has
  7018. * fewer bits than a fixed-code block would for the same set of symbols.
  7019. * Therefore its average symbol length is assured to be less than 31. So
  7020. * the compressed data for a dynamic block also cannot overwrite the
  7021. * symbols from which it is being constructed.
  7022. */
  7023. (*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)))
  7024. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize) * uint64(4)
  7025. 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) {
  7026. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_FINISH_STATE)
  7027. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(4)]
  7028. XdeflateEnd(tls, strm)
  7029. return -int32(4)
  7030. }
  7031. (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize)
  7032. (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end = ((*Tdeflate_state)(unsafe.Pointer(s)).Flit_bufsize - uint32(1)) * uint32(3)
  7033. /* We avoid equality with lit_bufsize*3 because of wraparound at 64K
  7034. * on 16 bit machines and because stored blocks are restricted to
  7035. * 64K-1 bytes.
  7036. */
  7037. (*Tdeflate_state)(unsafe.Pointer(s)).Flevel = level
  7038. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy = strategy
  7039. (*Tdeflate_state)(unsafe.Pointer(s)).Fmethod = libc.Uint8FromInt32(method)
  7040. return XdeflateReset(tls, strm)
  7041. }
  7042. var _my_version = [6]uint8{'1', '.', '3', '.', '1'}
  7043. // C documentation
  7044. //
  7045. // /* =========================================================================
  7046. // * Check for a valid deflate stream state. Return 0 if ok, 1 if not.
  7047. // */
  7048. func _deflateStateCheck(tls *libc.TLS, strm Tz_streamp) (r int32) {
  7049. var s uintptr
  7050. _ = s
  7051. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) || (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  7052. return int32(1)
  7053. }
  7054. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7055. 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) {
  7056. return int32(1)
  7057. }
  7058. return 0
  7059. }
  7060. // C documentation
  7061. //
  7062. // /* ========================================================================= */
  7063. func XdeflateSetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength TuInt) (r int32) {
  7064. var avail uint32
  7065. var n, str, v1, v3 TuInt
  7066. var next, s uintptr
  7067. var wrap int32
  7068. _, _, _, _, _, _, _, _ = avail, n, next, s, str, wrap, v1, v3
  7069. if _deflateStateCheck(tls, strm) != 0 || dictionary == uintptr(m_Z_NULL) {
  7070. return -int32(2)
  7071. }
  7072. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7073. wrap = (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap
  7074. if wrap == int32(2) || wrap == int32(1) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus != int32(m_INIT_STATE) || (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead != 0 {
  7075. return -int32(2)
  7076. }
  7077. /* when using zlib wrappers, compute Adler-32 for provided dictionary */
  7078. if wrap == int32(1) {
  7079. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fadler, dictionary, dictLength)
  7080. }
  7081. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = 0 /* avoid computing Adler-32 in read_buf */
  7082. /* if dictionary would fill window, just replace the history */
  7083. if dictLength >= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
  7084. if wrap == 0 { /* already empty otherwise */
  7085. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  7086. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2))
  7087. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
  7088. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
  7089. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  7090. }
  7091. dictionary += uintptr(dictLength - (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size) /* use the tail */
  7092. dictLength = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  7093. }
  7094. /* insert dictionary into window and hash */
  7095. avail = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  7096. next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  7097. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = dictLength
  7098. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = dictionary
  7099. _fill_window(tls, s)
  7100. for (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  7101. str = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  7102. n = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead - libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1))
  7103. for {
  7104. (*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
  7105. *(*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))
  7106. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2)) = uint16(str)
  7107. str++
  7108. goto _2
  7109. _2:
  7110. ;
  7111. n--
  7112. v1 = n
  7113. if !(v1 != 0) {
  7114. break
  7115. }
  7116. }
  7117. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = str
  7118. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  7119. _fill_window(tls, s)
  7120. }
  7121. *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  7122. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  7123. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  7124. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = uint32(0)
  7125. v3 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  7126. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = v3
  7127. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = v3
  7128. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  7129. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  7130. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = avail
  7131. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = wrap
  7132. return m_Z_OK
  7133. }
  7134. // C documentation
  7135. //
  7136. // /* ========================================================================= */
  7137. func XdeflateGetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength uintptr) (r int32) {
  7138. var len1 TuInt
  7139. var s uintptr
  7140. _, _ = len1, s
  7141. if _deflateStateCheck(tls, strm) != 0 {
  7142. return -int32(2)
  7143. }
  7144. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7145. len1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart + (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  7146. if len1 > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
  7147. len1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  7148. }
  7149. if dictionary != uintptr(m_Z_NULL) && len1 != 0 {
  7150. 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))
  7151. }
  7152. if dictLength != uintptr(m_Z_NULL) {
  7153. *(*TuInt)(unsafe.Pointer(dictLength)) = len1
  7154. }
  7155. return m_Z_OK
  7156. }
  7157. // C documentation
  7158. //
  7159. // /* ========================================================================= */
  7160. func XdeflateResetKeep(tls *libc.TLS, strm Tz_streamp) (r int32) {
  7161. var s uintptr
  7162. var v1 TuLong
  7163. var v2 int32
  7164. var v3 uint64
  7165. _, _, _, _ = s, v1, v2, v3
  7166. if _deflateStateCheck(tls, strm) != 0 {
  7167. return -int32(2)
  7168. }
  7169. v1 = libc.Uint64FromInt32(0)
  7170. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = v1
  7171. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = v1
  7172. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* use zfree if we ever allocate msg dynamically */
  7173. (*Tz_stream)(unsafe.Pointer(strm)).Fdata_type = int32(m_Z_UNKNOWN)
  7174. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7175. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending = uint64(0)
  7176. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf
  7177. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap < 0 {
  7178. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = -(*Tdeflate_state)(unsafe.Pointer(s)).Fwrap /* was made negative by deflate(..., Z_FINISH); */
  7179. }
  7180. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
  7181. v2 = int32(m_GZIP_STATE)
  7182. } else {
  7183. v2 = int32(m_INIT_STATE)
  7184. }
  7185. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = v2
  7186. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
  7187. v3 = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  7188. } else {
  7189. v3 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  7190. }
  7191. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v3
  7192. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(2)
  7193. x__tr_init(tls, s)
  7194. return m_Z_OK
  7195. }
  7196. // C documentation
  7197. //
  7198. // /* ===========================================================================
  7199. // * Initialize the "longest match" routines for a new zlib stream
  7200. // */
  7201. func _lm_init(tls *libc.TLS, s uintptr) {
  7202. var v1 TuInt
  7203. _ = v1
  7204. (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size = libc.Uint64FromInt64(2) * uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
  7205. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  7206. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2))
  7207. /* Set the default configuration parameters:
  7208. */
  7209. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fmax_lazy)
  7210. (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fgood_length)
  7211. (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = libc.Int32FromUint16(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fnice_length)
  7212. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = uint32(_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Fmax_chain)
  7213. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
  7214. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
  7215. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead = uint32(0)
  7216. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  7217. v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  7218. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = v1
  7219. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = v1
  7220. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  7221. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(0)
  7222. }
  7223. // C documentation
  7224. //
  7225. // /* ========================================================================= */
  7226. func XdeflateReset(tls *libc.TLS, strm Tz_streamp) (r int32) {
  7227. var ret int32
  7228. _ = ret
  7229. ret = XdeflateResetKeep(tls, strm)
  7230. if ret == m_Z_OK {
  7231. _lm_init(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fstate)
  7232. }
  7233. return ret
  7234. }
  7235. // C documentation
  7236. //
  7237. // /* ========================================================================= */
  7238. func XdeflateSetHeader(tls *libc.TLS, strm Tz_streamp, head Tgz_headerp) (r int32) {
  7239. if _deflateStateCheck(tls, strm) != 0 || (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwrap != int32(2) {
  7240. return -int32(2)
  7241. }
  7242. (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fgzhead = head
  7243. return m_Z_OK
  7244. }
  7245. // C documentation
  7246. //
  7247. // /* ========================================================================= */
  7248. func XdeflatePending(tls *libc.TLS, strm Tz_streamp, pending uintptr, bits uintptr) (r int32) {
  7249. if _deflateStateCheck(tls, strm) != 0 {
  7250. return -int32(2)
  7251. }
  7252. if pending != uintptr(m_Z_NULL) {
  7253. *(*uint32)(unsafe.Pointer(pending)) = uint32((*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fpending)
  7254. }
  7255. if bits != uintptr(m_Z_NULL) {
  7256. *(*int32)(unsafe.Pointer(bits)) = (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fbi_valid
  7257. }
  7258. return m_Z_OK
  7259. }
  7260. // C documentation
  7261. //
  7262. // /* ========================================================================= */
  7263. func XdeflatePrime(tls *libc.TLS, strm Tz_streamp, bits int32, value int32) (r int32) {
  7264. var put int32
  7265. var s, p1 uintptr
  7266. _, _, _ = put, s, p1
  7267. if _deflateStateCheck(tls, strm) != 0 {
  7268. return -int32(2)
  7269. }
  7270. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7271. 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)) {
  7272. return -int32(5)
  7273. }
  7274. for cond := true; cond; cond = bits != 0 {
  7275. put = int32(m_Buf_size) - (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid
  7276. if put > bits {
  7277. put = bits
  7278. }
  7279. p1 = s + 5936
  7280. *(*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)))
  7281. *(*int32)(unsafe.Pointer(s + 5940)) += put
  7282. x__tr_flush_bits(tls, s)
  7283. value >>= put
  7284. bits -= put
  7285. }
  7286. return m_Z_OK
  7287. }
  7288. // C documentation
  7289. //
  7290. // /* ========================================================================= */
  7291. func XdeflateParams(tls *libc.TLS, strm Tz_streamp, level int32, strategy int32) (r int32) {
  7292. var err int32
  7293. var func1 Tcompress_func
  7294. var s uintptr
  7295. _, _, _ = err, func1, s
  7296. if _deflateStateCheck(tls, strm) != 0 {
  7297. return -int32(2)
  7298. }
  7299. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7300. if level == -int32(1) {
  7301. level = int32(6)
  7302. }
  7303. if level < 0 || level > int32(9) || strategy < 0 || strategy > int32(m_Z_FIXED) {
  7304. return -int32(2)
  7305. }
  7306. func1 = _configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Ffunc1
  7307. if (strategy != (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy || func1 != _configuration_table[level].Ffunc1) && (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush != -int32(2) {
  7308. /* Flush the last buffer: */
  7309. err = Xdeflate(tls, strm, int32(m_Z_BLOCK))
  7310. if err == -int32(2) {
  7311. return err
  7312. }
  7313. 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 {
  7314. return -int32(5)
  7315. }
  7316. }
  7317. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel != level {
  7318. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches != uint32(0) {
  7319. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches == uint32(1) {
  7320. _slide_hash(tls, s)
  7321. } else {
  7322. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  7323. libc.Xmemset(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fhead, 0, uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-libc.Uint32FromInt32(1))*uint64(2))
  7324. }
  7325. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = uint32(0)
  7326. }
  7327. (*Tdeflate_state)(unsafe.Pointer(s)).Flevel = level
  7328. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = uint32(_configuration_table[level].Fmax_lazy)
  7329. (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = uint32(_configuration_table[level].Fgood_length)
  7330. (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = libc.Int32FromUint16(_configuration_table[level].Fnice_length)
  7331. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = uint32(_configuration_table[level].Fmax_chain)
  7332. }
  7333. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy = strategy
  7334. return m_Z_OK
  7335. }
  7336. // C documentation
  7337. //
  7338. // /* ========================================================================= */
  7339. func XdeflateTune(tls *libc.TLS, strm Tz_streamp, good_length int32, max_lazy int32, nice_length int32, max_chain int32) (r int32) {
  7340. var s uintptr
  7341. _ = s
  7342. if _deflateStateCheck(tls, strm) != 0 {
  7343. return -int32(2)
  7344. }
  7345. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7346. (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match = libc.Uint32FromInt32(good_length)
  7347. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_lazy_match = libc.Uint32FromInt32(max_lazy)
  7348. (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match = nice_length
  7349. (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length = libc.Uint32FromInt32(max_chain)
  7350. return m_Z_OK
  7351. }
  7352. // C documentation
  7353. //
  7354. // /* =========================================================================
  7355. // * For the default windowBits of 15 and memLevel of 8, this function returns a
  7356. // * close to exact, as well as small, upper bound on the compressed size. This
  7357. // * is an expansion of ~0.03%, plus a small constant.
  7358. // *
  7359. // * For any setting other than those defaults for windowBits and memLevel, one
  7360. // * of two worst case bounds is returned. This is at most an expansion of ~4% or
  7361. // * ~13%, plus a small constant.
  7362. // *
  7363. // * Both the 0.03% and 4% derive from the overhead of stored blocks. The first
  7364. // * one is for stored blocks of 16383 bytes (memLevel == 8), whereas the second
  7365. // * is for stored blocks of 127 bytes (the worst case memLevel == 1). The
  7366. // * expansion results from five bytes of header for each stored block.
  7367. // *
  7368. // * The larger expansion of 13% results from a window size less than or equal to
  7369. // * the symbols buffer size (windowBits <= memLevel + 7). In that case some of
  7370. // * the data being compressed may have slid out of the sliding window, impeding
  7371. // * a stored block from being emitted. Then the only choice is a fixed or
  7372. // * dynamic block, where a fixed block limits the maximum expansion to 9 bits
  7373. // * per 8-bit byte, plus 10 bits for every block. The smallest block size for
  7374. // * which this can occur is 255 (memLevel == 2).
  7375. // *
  7376. // * Shifts are used to approximate divisions, for speed.
  7377. // */
  7378. func XdeflateBound(tls *libc.TLS, strm Tz_streamp, sourceLen TuLong) (r TuLong) {
  7379. var fixedlen, storelen, wraplen TuLong
  7380. var s, str, v3, v5 uintptr
  7381. var v1, v7 uint64
  7382. var v2 int32
  7383. _, _, _, _, _, _, _, _, _, _ = fixedlen, s, storelen, str, wraplen, v1, v2, v3, v5, v7
  7384. /* upper bound for fixed blocks with 9-bit literals and length 255
  7385. (memLevel == 2, which is the lowest that may not use stored blocks) --
  7386. ~13% overhead plus a small constant */
  7387. fixedlen = sourceLen + sourceLen>>libc.Int32FromInt32(3) + sourceLen>>libc.Int32FromInt32(8) + sourceLen>>libc.Int32FromInt32(9) + uint64(4)
  7388. /* upper bound for stored blocks with length 127 (memLevel == 1) --
  7389. ~4% overhead plus a small constant */
  7390. storelen = sourceLen + sourceLen>>libc.Int32FromInt32(5) + sourceLen>>libc.Int32FromInt32(7) + sourceLen>>libc.Int32FromInt32(11) + uint64(7)
  7391. /* if can't get parameters, return larger bound plus a zlib wrapper */
  7392. if _deflateStateCheck(tls, strm) != 0 {
  7393. if fixedlen > storelen {
  7394. v1 = fixedlen
  7395. } else {
  7396. v1 = storelen
  7397. }
  7398. return v1 + uint64(6)
  7399. }
  7400. /* compute wrapper length */
  7401. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7402. switch (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap {
  7403. case 0: /* raw deflate */
  7404. wraplen = uint64(0)
  7405. case int32(1): /* zlib wrapper */
  7406. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != 0 {
  7407. v2 = int32(4)
  7408. } else {
  7409. v2 = 0
  7410. }
  7411. wraplen = libc.Uint64FromInt32(int32(6) + v2)
  7412. case int32(2): /* gzip wrapper */
  7413. wraplen = uint64(18)
  7414. if (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead != uintptr(m_Z_NULL) {
  7415. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
  7416. wraplen += uint64(uint32(2) + (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len)
  7417. }
  7418. str = (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname
  7419. if str != uintptr(m_Z_NULL) {
  7420. for {
  7421. wraplen++
  7422. goto _4
  7423. _4:
  7424. ;
  7425. v3 = str
  7426. str++
  7427. if !(*(*TBytef)(unsafe.Pointer(v3)) != 0) {
  7428. break
  7429. }
  7430. }
  7431. }
  7432. str = (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment
  7433. if str != uintptr(m_Z_NULL) {
  7434. for {
  7435. wraplen++
  7436. goto _6
  7437. _6:
  7438. ;
  7439. v5 = str
  7440. str++
  7441. if !(*(*TBytef)(unsafe.Pointer(v5)) != 0) {
  7442. break
  7443. }
  7444. }
  7445. }
  7446. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  7447. wraplen += uint64(2)
  7448. }
  7449. }
  7450. default: /* for compiler happiness */
  7451. wraplen = uint64(6)
  7452. }
  7453. /* if not default parameters, return one of the conservative bounds */
  7454. 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)) {
  7455. if (*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits <= (*Tdeflate_state)(unsafe.Pointer(s)).Fhash_bits && (*Tdeflate_state)(unsafe.Pointer(s)).Flevel != 0 {
  7456. v7 = fixedlen
  7457. } else {
  7458. v7 = storelen
  7459. }
  7460. return v7 + wraplen
  7461. }
  7462. /* default settings: return tight bound for that case -- ~0.03% overhead
  7463. plus a small constant */
  7464. return sourceLen + sourceLen>>libc.Int32FromInt32(12) + sourceLen>>libc.Int32FromInt32(14) + sourceLen>>libc.Int32FromInt32(25) + uint64(13) - uint64(6) + wraplen
  7465. }
  7466. // C documentation
  7467. //
  7468. // /* =========================================================================
  7469. // * Put a short in the pending buffer. The 16-bit value is put in MSB order.
  7470. // * IN assertion: the stream state is correct and there is enough room in
  7471. // * pending_buf.
  7472. // */
  7473. func _putShortMSB(tls *libc.TLS, s uintptr, b TuInt) {
  7474. var v1, v3 Tulg
  7475. var v2, v4 uintptr
  7476. _, _, _, _ = v1, v2, v3, v4
  7477. v2 = s + 40
  7478. v1 = *(*Tulg)(unsafe.Pointer(v2))
  7479. *(*Tulg)(unsafe.Pointer(v2))++
  7480. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v1))) = uint8(b >> libc.Int32FromInt32(8))
  7481. v4 = s + 40
  7482. v3 = *(*Tulg)(unsafe.Pointer(v4))
  7483. *(*Tulg)(unsafe.Pointer(v4))++
  7484. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v3))) = uint8(b & libc.Uint32FromInt32(0xff))
  7485. }
  7486. // C documentation
  7487. //
  7488. // /* =========================================================================
  7489. // * Flush as much pending output as possible. All deflate() output, except for
  7490. // * some deflate_stored() output, goes through this function so some
  7491. // * applications may wish to modify it to avoid allocating a large
  7492. // * strm->next_out buffer and copying into it. (See also read_buf()).
  7493. // */
  7494. func _flush_pending(tls *libc.TLS, strm Tz_streamp) {
  7495. var len1 uint32
  7496. var s uintptr
  7497. _, _ = len1, s
  7498. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7499. x__tr_flush_bits(tls, s)
  7500. len1 = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending)
  7501. if len1 > (*Tz_stream)(unsafe.Pointer(strm)).Favail_out {
  7502. len1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  7503. }
  7504. if len1 == uint32(0) {
  7505. return
  7506. }
  7507. libc.Xmemcpy(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out, uint64(len1))
  7508. *(*uintptr)(unsafe.Pointer(strm + 24)) += uintptr(len1)
  7509. *(*uintptr)(unsafe.Pointer(s + 32)) += uintptr(len1)
  7510. *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(len1)
  7511. *(*TuInt)(unsafe.Pointer(strm + 32)) -= len1
  7512. *(*Tulg)(unsafe.Pointer(s + 40)) -= uint64(len1)
  7513. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == uint64(0) {
  7514. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_out = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf
  7515. }
  7516. }
  7517. /* ===========================================================================
  7518. * Update the header CRC with the bytes s->pending_buf[beg..s->pending - 1].
  7519. */
  7520. // C documentation
  7521. //
  7522. // /* ========================================================================= */
  7523. func Xdeflate(tls *libc.TLS, strm Tz_streamp, flush int32) (r int32) {
  7524. 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
  7525. var bstate Tblock_state
  7526. var copy1, header, left, level_flags TuInt
  7527. var old_flush, val, val1, v1, v2, v22, v23, v28, v29, v30, v31, v32, v43, v44, v63, v64, v65, v82 int32
  7528. 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
  7529. var v3 bool
  7530. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  7531. if _deflateStateCheck(tls, strm) != 0 || flush > int32(m_Z_BLOCK) || flush < 0 {
  7532. return -int32(2)
  7533. }
  7534. s = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  7535. 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) {
  7536. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(2)]
  7537. return -libc.Int32FromInt32(2)
  7538. }
  7539. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  7540. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
  7541. return -libc.Int32FromInt32(5)
  7542. }
  7543. old_flush = (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush
  7544. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = flush
  7545. /* Flush as much pending output as possible */
  7546. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7547. _flush_pending(tls, strm)
  7548. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  7549. /* Since avail_out is 0, deflate will be called again with
  7550. * more output space, but possibly with both pending and
  7551. * avail_in equal to zero. There won't be anything to do,
  7552. * but this is not an error situation so make sure we
  7553. * return OK instead of BUF_ERROR at next call of deflate:
  7554. */
  7555. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7556. return m_Z_OK
  7557. }
  7558. /* Make sure there is something to do and avoid duplicate consecutive
  7559. * flushes. For repeated and useless calls with Z_FINISH, we keep
  7560. * returning Z_STREAM_END instead of Z_BUF_ERROR.
  7561. */
  7562. } else {
  7563. if v3 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0); v3 {
  7564. if flush > int32(4) {
  7565. v1 = int32(9)
  7566. } else {
  7567. v1 = 0
  7568. }
  7569. if old_flush > int32(4) {
  7570. v2 = int32(9)
  7571. } else {
  7572. v2 = 0
  7573. }
  7574. }
  7575. if v3 && flush*int32(2)-v1 <= old_flush*int32(2)-v2 && flush != int32(m_Z_FINISH) {
  7576. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
  7577. return -libc.Int32FromInt32(5)
  7578. }
  7579. }
  7580. /* User must not provide more input after the first FINISH: */
  7581. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_FINISH_STATE) && (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != uint32(0) {
  7582. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = Xz_errmsg[libc.Int32FromInt32(2) - -libc.Int32FromInt32(5)]
  7583. return -libc.Int32FromInt32(5)
  7584. }
  7585. /* Write the header */
  7586. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_INIT_STATE) && (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == 0 {
  7587. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  7588. }
  7589. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_INIT_STATE) {
  7590. /* zlib header */
  7591. header = (uint32(m_Z_DEFLATED) + ((*Tdeflate_state)(unsafe.Pointer(s)).Fw_bits-uint32(8))<<int32(4)) << int32(8)
  7592. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
  7593. level_flags = uint32(0)
  7594. } else {
  7595. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(6) {
  7596. level_flags = uint32(1)
  7597. } else {
  7598. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(6) {
  7599. level_flags = uint32(2)
  7600. } else {
  7601. level_flags = uint32(3)
  7602. }
  7603. }
  7604. }
  7605. header |= level_flags << libc.Int32FromInt32(6)
  7606. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != uint32(0) {
  7607. header |= uint32(m_PRESET_DICT1)
  7608. }
  7609. header += uint32(31) - header%uint32(31)
  7610. _putShortMSB(tls, s, header)
  7611. /* Save the adler32 of the preset dictionary: */
  7612. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart != uint32(0) {
  7613. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler>>libc.Int32FromInt32(16)))
  7614. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler&libc.Uint64FromInt32(0xffff)))
  7615. }
  7616. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  7617. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  7618. /* Compression must start with an empty pending buffer */
  7619. _flush_pending(tls, strm)
  7620. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7621. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7622. return m_Z_OK
  7623. }
  7624. }
  7625. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_GZIP_STATE) {
  7626. /* gzip header */
  7627. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  7628. v5 = s + 40
  7629. v4 = *(*Tulg)(unsafe.Pointer(v5))
  7630. *(*Tulg)(unsafe.Pointer(v5))++
  7631. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v4))) = libc.Uint8FromInt32(libc.Int32FromInt32(31))
  7632. v7 = s + 40
  7633. v6 = *(*Tulg)(unsafe.Pointer(v7))
  7634. *(*Tulg)(unsafe.Pointer(v7))++
  7635. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v6))) = libc.Uint8FromInt32(libc.Int32FromInt32(139))
  7636. v9 = s + 40
  7637. v8 = *(*Tulg)(unsafe.Pointer(v9))
  7638. *(*Tulg)(unsafe.Pointer(v9))++
  7639. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v8))) = libc.Uint8FromInt32(libc.Int32FromInt32(8))
  7640. if (*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead == uintptr(m_Z_NULL) {
  7641. v11 = s + 40
  7642. v10 = *(*Tulg)(unsafe.Pointer(v11))
  7643. *(*Tulg)(unsafe.Pointer(v11))++
  7644. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v10))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  7645. v13 = s + 40
  7646. v12 = *(*Tulg)(unsafe.Pointer(v13))
  7647. *(*Tulg)(unsafe.Pointer(v13))++
  7648. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v12))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  7649. v15 = s + 40
  7650. v14 = *(*Tulg)(unsafe.Pointer(v15))
  7651. *(*Tulg)(unsafe.Pointer(v15))++
  7652. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v14))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  7653. v17 = s + 40
  7654. v16 = *(*Tulg)(unsafe.Pointer(v17))
  7655. *(*Tulg)(unsafe.Pointer(v17))++
  7656. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v16))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  7657. v19 = s + 40
  7658. v18 = *(*Tulg)(unsafe.Pointer(v19))
  7659. *(*Tulg)(unsafe.Pointer(v19))++
  7660. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v18))) = libc.Uint8FromInt32(libc.Int32FromInt32(0))
  7661. v21 = s + 40
  7662. v20 = *(*Tulg)(unsafe.Pointer(v21))
  7663. *(*Tulg)(unsafe.Pointer(v21))++
  7664. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(9) {
  7665. v22 = int32(2)
  7666. } else {
  7667. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
  7668. v23 = int32(4)
  7669. } else {
  7670. v23 = 0
  7671. }
  7672. v22 = v23
  7673. }
  7674. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v20))) = libc.Uint8FromInt32(v22)
  7675. v25 = s + 40
  7676. v24 = *(*Tulg)(unsafe.Pointer(v25))
  7677. *(*Tulg)(unsafe.Pointer(v25))++
  7678. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v24))) = libc.Uint8FromInt32(libc.Int32FromInt32(m_OS_CODE))
  7679. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  7680. /* Compression must start with an empty pending buffer */
  7681. _flush_pending(tls, strm)
  7682. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7683. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7684. return m_Z_OK
  7685. }
  7686. } else {
  7687. v27 = s + 40
  7688. v26 = *(*Tulg)(unsafe.Pointer(v27))
  7689. *(*Tulg)(unsafe.Pointer(v27))++
  7690. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Ftext != 0 {
  7691. v28 = int32(1)
  7692. } else {
  7693. v28 = 0
  7694. }
  7695. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  7696. v29 = int32(2)
  7697. } else {
  7698. v29 = 0
  7699. }
  7700. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra == uintptr(m_Z_NULL) {
  7701. v30 = 0
  7702. } else {
  7703. v30 = int32(4)
  7704. }
  7705. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname == uintptr(m_Z_NULL) {
  7706. v31 = 0
  7707. } else {
  7708. v31 = int32(8)
  7709. }
  7710. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment == uintptr(m_Z_NULL) {
  7711. v32 = 0
  7712. } else {
  7713. v32 = int32(16)
  7714. }
  7715. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v26))) = libc.Uint8FromInt32(v28 + v29 + v30 + v31 + v32)
  7716. v34 = s + 40
  7717. v33 = *(*Tulg)(unsafe.Pointer(v34))
  7718. *(*Tulg)(unsafe.Pointer(v34))++
  7719. *(*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))
  7720. v36 = s + 40
  7721. v35 = *(*Tulg)(unsafe.Pointer(v36))
  7722. *(*Tulg)(unsafe.Pointer(v36))++
  7723. *(*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))
  7724. v38 = s + 40
  7725. v37 = *(*Tulg)(unsafe.Pointer(v38))
  7726. *(*Tulg)(unsafe.Pointer(v38))++
  7727. *(*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))
  7728. v40 = s + 40
  7729. v39 = *(*Tulg)(unsafe.Pointer(v40))
  7730. *(*Tulg)(unsafe.Pointer(v40))++
  7731. *(*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))
  7732. v42 = s + 40
  7733. v41 = *(*Tulg)(unsafe.Pointer(v42))
  7734. *(*Tulg)(unsafe.Pointer(v42))++
  7735. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == int32(9) {
  7736. v43 = int32(2)
  7737. } else {
  7738. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy >= int32(m_Z_HUFFMAN_ONLY) || (*Tdeflate_state)(unsafe.Pointer(s)).Flevel < int32(2) {
  7739. v44 = int32(4)
  7740. } else {
  7741. v44 = 0
  7742. }
  7743. v43 = v44
  7744. }
  7745. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v41))) = libc.Uint8FromInt32(v43)
  7746. v46 = s + 40
  7747. v45 = *(*Tulg)(unsafe.Pointer(v46))
  7748. *(*Tulg)(unsafe.Pointer(v46))++
  7749. *(*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))
  7750. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
  7751. v48 = s + 40
  7752. v47 = *(*Tulg)(unsafe.Pointer(v48))
  7753. *(*Tulg)(unsafe.Pointer(v48))++
  7754. *(*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))
  7755. v50 = s + 40
  7756. v49 = *(*Tulg)(unsafe.Pointer(v50))
  7757. *(*Tulg)(unsafe.Pointer(v50))++
  7758. *(*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))
  7759. }
  7760. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  7761. (*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))
  7762. }
  7763. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
  7764. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_EXTRA_STATE)
  7765. }
  7766. }
  7767. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_EXTRA_STATE) {
  7768. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra != uintptr(m_Z_NULL) {
  7769. beg = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending /* start of bytes to update crc */
  7770. left = uint32(uint64((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fextra_len&libc.Uint32FromInt32(0xffff)) - (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex)
  7771. for (*Tdeflate_state)(unsafe.Pointer(s)).Fpending+uint64(left) > (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  7772. copy1 = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - (*Tdeflate_state)(unsafe.Pointer(s)).Fpending)
  7773. 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))
  7774. (*Tdeflate_state)(unsafe.Pointer(s)).Fpending = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size
  7775. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg {
  7776. (*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))
  7777. }
  7778. *(*Tulg)(unsafe.Pointer(s + 64)) += uint64(copy1)
  7779. _flush_pending(tls, strm)
  7780. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7781. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7782. return m_Z_OK
  7783. }
  7784. beg = uint64(0)
  7785. left -= copy1
  7786. }
  7787. 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))
  7788. *(*Tulg)(unsafe.Pointer(s + 40)) += uint64(left)
  7789. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg {
  7790. (*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))
  7791. }
  7792. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
  7793. }
  7794. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_NAME_STATE)
  7795. }
  7796. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_NAME_STATE) {
  7797. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname != uintptr(m_Z_NULL) {
  7798. beg1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending
  7799. for cond := true; cond; cond = val != 0 {
  7800. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  7801. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg1 {
  7802. (*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))
  7803. }
  7804. _flush_pending(tls, strm)
  7805. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7806. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7807. return m_Z_OK
  7808. }
  7809. beg1 = uint64(0)
  7810. }
  7811. v52 = s + 64
  7812. v51 = *(*Tulg)(unsafe.Pointer(v52))
  7813. *(*Tulg)(unsafe.Pointer(v52))++
  7814. val = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fname + uintptr(v51))))
  7815. v54 = s + 40
  7816. v53 = *(*Tulg)(unsafe.Pointer(v54))
  7817. *(*Tulg)(unsafe.Pointer(v54))++
  7818. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v53))) = libc.Uint8FromInt32(val)
  7819. }
  7820. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg1 {
  7821. (*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))
  7822. }
  7823. (*Tdeflate_state)(unsafe.Pointer(s)).Fgzindex = uint64(0)
  7824. }
  7825. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_COMMENT_STATE)
  7826. }
  7827. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_COMMENT_STATE) {
  7828. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment != uintptr(m_Z_NULL) {
  7829. beg2 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending
  7830. for cond := true; cond; cond = val1 != 0 {
  7831. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending == (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  7832. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg2 {
  7833. (*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))
  7834. }
  7835. _flush_pending(tls, strm)
  7836. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7837. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7838. return m_Z_OK
  7839. }
  7840. beg2 = uint64(0)
  7841. }
  7842. v56 = s + 64
  7843. v55 = *(*Tulg)(unsafe.Pointer(v56))
  7844. *(*Tulg)(unsafe.Pointer(v56))++
  7845. val1 = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fcomment + uintptr(v55))))
  7846. v58 = s + 40
  7847. v57 = *(*Tulg)(unsafe.Pointer(v58))
  7848. *(*Tulg)(unsafe.Pointer(v58))++
  7849. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v57))) = libc.Uint8FromInt32(val1)
  7850. }
  7851. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 && (*Tdeflate_state)(unsafe.Pointer(s)).Fpending > beg2 {
  7852. (*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))
  7853. }
  7854. }
  7855. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_HCRC_STATE)
  7856. }
  7857. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus == int32(m_HCRC_STATE) {
  7858. if (*Tgz_header)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fgzhead)).Fhcrc != 0 {
  7859. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending+uint64(2) > (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size {
  7860. _flush_pending(tls, strm)
  7861. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7862. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7863. return m_Z_OK
  7864. }
  7865. }
  7866. v60 = s + 40
  7867. v59 = *(*Tulg)(unsafe.Pointer(v60))
  7868. *(*Tulg)(unsafe.Pointer(v60))++
  7869. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v59))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler & libc.Uint64FromInt32(0xff))
  7870. v62 = s + 40
  7871. v61 = *(*Tulg)(unsafe.Pointer(v62))
  7872. *(*Tulg)(unsafe.Pointer(v62))++
  7873. *(*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))
  7874. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  7875. }
  7876. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_BUSY_STATE)
  7877. /* Compression must start with an empty pending buffer */
  7878. _flush_pending(tls, strm)
  7879. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7880. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1)
  7881. return m_Z_OK
  7882. }
  7883. }
  7884. /* Start a new block or continue the current one.
  7885. */
  7886. 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) {
  7887. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel == 0 {
  7888. v63 = _deflate_stored(tls, s, flush)
  7889. } else {
  7890. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_HUFFMAN_ONLY) {
  7891. v64 = _deflate_huff(tls, s, flush)
  7892. } else {
  7893. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_RLE) {
  7894. v65 = _deflate_rle(tls, s, flush)
  7895. } else {
  7896. v65 = (*(*func(*libc.TLS, uintptr, int32) Tblock_state)(unsafe.Pointer(&struct{ uintptr }{_configuration_table[(*Tdeflate_state)(unsafe.Pointer(s)).Flevel].Ffunc1})))(tls, s, flush)
  7897. }
  7898. v64 = v65
  7899. }
  7900. v63 = v64
  7901. }
  7902. bstate = v63
  7903. if bstate == int32(_finish_started) || bstate == int32(_finish_done) {
  7904. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatus = int32(m_FINISH_STATE)
  7905. }
  7906. if bstate == int32(_need_more) || bstate == int32(_finish_started) {
  7907. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  7908. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1) /* avoid BUF_ERROR next call, see above */
  7909. }
  7910. return m_Z_OK
  7911. /* If flush != Z_NO_FLUSH && avail_out == 0, the next call
  7912. * of deflate should use the same flush parameter to make sure
  7913. * that the flush is complete. So we don't have to output an
  7914. * empty block here, this will be done at next call. This also
  7915. * ensures that for a very small output buffer, we emit at most
  7916. * one empty block.
  7917. */
  7918. }
  7919. if bstate == int32(_block_done) {
  7920. if flush == int32(m_Z_PARTIAL_FLUSH) {
  7921. x__tr_align(tls, s)
  7922. } else {
  7923. if flush != int32(m_Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */
  7924. x__tr_stored_block(tls, s, libc.UintptrFromInt32(0), uint64(0), 0)
  7925. /* For a full flush, this empty block will be recognized
  7926. * as a special marker by inflate_sync().
  7927. */
  7928. if flush == int32(m_Z_FULL_FLUSH) {
  7929. *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fhash_size-uint32(1))*2)) = uint16(m_NIL)
  7930. 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 */
  7931. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  7932. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = uint32(0)
  7933. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = 0
  7934. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  7935. }
  7936. }
  7937. }
  7938. }
  7939. _flush_pending(tls, strm)
  7940. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  7941. (*Tdeflate_state)(unsafe.Pointer(s)).Flast_flush = -int32(1) /* avoid BUF_ERROR at next call, see above */
  7942. return m_Z_OK
  7943. }
  7944. }
  7945. }
  7946. if flush != int32(m_Z_FINISH) {
  7947. return m_Z_OK
  7948. }
  7949. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap <= 0 {
  7950. return int32(m_Z_STREAM_END)
  7951. }
  7952. /* Write the trailer */
  7953. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap == int32(2) {
  7954. v67 = s + 40
  7955. v66 = *(*Tulg)(unsafe.Pointer(v67))
  7956. *(*Tulg)(unsafe.Pointer(v67))++
  7957. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v66))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Fadler & libc.Uint64FromInt32(0xff))
  7958. v69 = s + 40
  7959. v68 = *(*Tulg)(unsafe.Pointer(v69))
  7960. *(*Tulg)(unsafe.Pointer(v69))++
  7961. *(*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))
  7962. v71 = s + 40
  7963. v70 = *(*Tulg)(unsafe.Pointer(v71))
  7964. *(*Tulg)(unsafe.Pointer(v71))++
  7965. *(*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))
  7966. v73 = s + 40
  7967. v72 = *(*Tulg)(unsafe.Pointer(v73))
  7968. *(*Tulg)(unsafe.Pointer(v73))++
  7969. *(*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))
  7970. v75 = s + 40
  7971. v74 = *(*Tulg)(unsafe.Pointer(v75))
  7972. *(*Tulg)(unsafe.Pointer(v75))++
  7973. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v74))) = uint8((*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in & libc.Uint64FromInt32(0xff))
  7974. v77 = s + 40
  7975. v76 = *(*Tulg)(unsafe.Pointer(v77))
  7976. *(*Tulg)(unsafe.Pointer(v77))++
  7977. *(*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))
  7978. v79 = s + 40
  7979. v78 = *(*Tulg)(unsafe.Pointer(v79))
  7980. *(*Tulg)(unsafe.Pointer(v79))++
  7981. *(*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))
  7982. v81 = s + 40
  7983. v80 = *(*Tulg)(unsafe.Pointer(v81))
  7984. *(*Tulg)(unsafe.Pointer(v81))++
  7985. *(*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))
  7986. } else {
  7987. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler>>libc.Int32FromInt32(16)))
  7988. _putShortMSB(tls, s, uint32((*Tz_stream)(unsafe.Pointer(strm)).Fadler&libc.Uint64FromInt32(0xffff)))
  7989. }
  7990. _flush_pending(tls, strm)
  7991. /* If avail_out is zero, the application will call deflate again
  7992. * to flush the rest.
  7993. */
  7994. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap > 0 {
  7995. (*Tdeflate_state)(unsafe.Pointer(s)).Fwrap = -(*Tdeflate_state)(unsafe.Pointer(s)).Fwrap
  7996. } /* write the trailer only once! */
  7997. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending != uint64(0) {
  7998. v82 = m_Z_OK
  7999. } else {
  8000. v82 = int32(m_Z_STREAM_END)
  8001. }
  8002. return v82
  8003. }
  8004. // C documentation
  8005. //
  8006. // /* ========================================================================= */
  8007. func XdeflateEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
  8008. var status, v1 int32
  8009. _, _ = status, v1
  8010. if _deflateStateCheck(tls, strm) != 0 {
  8011. return -int32(2)
  8012. }
  8013. status = (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fstatus
  8014. /* Deallocate in reverse order of allocations: */
  8015. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fpending_buf != 0 {
  8016. (*(*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)
  8017. }
  8018. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fhead != 0 {
  8019. (*(*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)
  8020. }
  8021. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fprev != 0 {
  8022. (*(*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)
  8023. }
  8024. if (*Tinternal_state)(unsafe.Pointer((*Tz_stream)(unsafe.Pointer(strm)).Fstate)).Fwindow != 0 {
  8025. (*(*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)
  8026. }
  8027. (*(*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)
  8028. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  8029. if status == int32(m_BUSY_STATE) {
  8030. v1 = -int32(3)
  8031. } else {
  8032. v1 = m_Z_OK
  8033. }
  8034. return v1
  8035. }
  8036. // C documentation
  8037. //
  8038. // /* =========================================================================
  8039. // * Copy the source state to the destination state.
  8040. // * To simplify the source, this is not supported for 16-bit MSDOS (which
  8041. // * doesn't have enough memory anyway to duplicate compression states).
  8042. // */
  8043. func XdeflateCopy(tls *libc.TLS, dest Tz_streamp, source Tz_streamp) (r int32) {
  8044. var ds, ss uintptr
  8045. _, _ = ds, ss
  8046. if _deflateStateCheck(tls, source) != 0 || dest == uintptr(m_Z_NULL) {
  8047. return -int32(2)
  8048. }
  8049. ss = (*Tz_stream)(unsafe.Pointer(source)).Fstate
  8050. libc.Xmemcpy(tls, dest, source, uint64(112))
  8051. 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)))
  8052. if ds == uintptr(m_Z_NULL) {
  8053. return -int32(4)
  8054. }
  8055. (*Tz_stream)(unsafe.Pointer(dest)).Fstate = ds
  8056. libc.Xmemcpy(tls, ds, ss, uint64(5952))
  8057. (*Tdeflate_state)(unsafe.Pointer(ds)).Fstrm = dest
  8058. (*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)))
  8059. (*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)))
  8060. (*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)))
  8061. (*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)))
  8062. 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) {
  8063. XdeflateEnd(tls, dest)
  8064. return -int32(4)
  8065. }
  8066. /* following zmemcpy do not work for 16-bit MSDOS */
  8067. 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))
  8068. 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))
  8069. 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))
  8070. 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)))
  8071. (*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))
  8072. (*Tdeflate_state)(unsafe.Pointer(ds)).Fsym_buf = (*Tdeflate_state)(unsafe.Pointer(ds)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(ds)).Flit_bufsize)
  8073. (*Tdeflate_state)(unsafe.Pointer(ds)).Fl_desc.Fdyn_tree = ds + 212
  8074. (*Tdeflate_state)(unsafe.Pointer(ds)).Fd_desc.Fdyn_tree = ds + 2504
  8075. (*Tdeflate_state)(unsafe.Pointer(ds)).Fbl_desc.Fdyn_tree = ds + 2748
  8076. return m_Z_OK
  8077. }
  8078. // C documentation
  8079. //
  8080. // /* ===========================================================================
  8081. // * Set match_start to the longest match starting at the given string and
  8082. // * return its length. Matches shorter or equal to prev_length are discarded,
  8083. // * in which case the result is equal to prev_length and match_start is
  8084. // * garbage.
  8085. // * IN assertions: cur_match is the head of the hash chain for the current
  8086. // * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
  8087. // * OUT assertion: the match length is not greater than s->lookahead.
  8088. // */
  8089. func _longest_match(tls *libc.TLS, s uintptr, cur_match TIPos) (r TuInt) {
  8090. var best_len, len1, nice_match int32
  8091. var chain_length, v1, v3 uint32
  8092. var limit, v2 TIPos
  8093. var match, prev, scan, strend, v10, v11, v13, v14, v16, v17, v19, v20, v22, v23, v25, v26, v28, v29, v6, v8, v9 uintptr
  8094. var scan_end, scan_end1 TByte
  8095. var wmask TuInt
  8096. var v12, v15, v18, v21, v24, v27, v30, v4, v7 bool
  8097. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  8098. chain_length = (*Tdeflate_state)(unsafe.Pointer(s)).Fmax_chain_length /* max hash chain length */
  8099. scan = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) /* length of current match */
  8100. best_len = libc.Int32FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length) /* best match length so far */
  8101. nice_match = (*Tdeflate_state)(unsafe.Pointer(s)).Fnice_match
  8102. 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)) {
  8103. 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)))
  8104. } else {
  8105. v1 = uint32(m_NIL)
  8106. } /* stop if match long enough */
  8107. limit = v1
  8108. /* Stop when cur_match becomes <= limit. To simplify the code,
  8109. * we prevent matches with the string of window index 0.
  8110. */
  8111. prev = (*Tdeflate_state)(unsafe.Pointer(s)).Fprev
  8112. wmask = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_mask
  8113. strend = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uintptr(m_MAX_MATCH)
  8114. scan_end1 = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len-int32(1))))
  8115. scan_end = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len)))
  8116. /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
  8117. * It is easy to get rid of this optimization if necessary.
  8118. */
  8119. /* Do not waste too much time if we already have a good match: */
  8120. if (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length >= (*Tdeflate_state)(unsafe.Pointer(s)).Fgood_match {
  8121. chain_length >>= uint32(2)
  8122. }
  8123. /* Do not look for matches beyond the end of the input. This is necessary
  8124. * to make deflate deterministic.
  8125. */
  8126. if libc.Uint32FromInt32(nice_match) > (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
  8127. nice_match = libc.Int32FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Flookahead)
  8128. }
  8129. for {
  8130. match = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(cur_match)
  8131. /* Skip to next match if the match length cannot increase
  8132. * or if the match length is less than 2. Note that the checks below
  8133. * for insufficient lookahead only occur occasionally for performance
  8134. * reasons. Therefore uninitialized memory will be accessed, and
  8135. * conditional jumps will be made that depend on those values.
  8136. * However the length of the match is limited to the lookahead, so
  8137. * the output of deflate is not affected by the uninitialized values.
  8138. */
  8139. 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 {
  8140. match++
  8141. v6 = match
  8142. }
  8143. if v7 || libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v6))) != libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(scan + 1))) {
  8144. goto _5
  8145. }
  8146. /* The check at best_len - 1 can be removed because it will be made
  8147. * again later. (This heuristic is not always a win.)
  8148. * It is not necessary to compare scan[2] and match[2] since they
  8149. * are always equal when the other bytes match, given that
  8150. * the hash keys are equal and that HASH_BITS >= 8.
  8151. */
  8152. scan += uintptr(2)
  8153. /* The check at best_len - 1 can be removed because it will be made
  8154. * again later. (This heuristic is not always a win.)
  8155. * It is not necessary to compare scan[2] and match[2] since they
  8156. * are always equal when the other bytes match, given that
  8157. * the hash keys are equal and that HASH_BITS >= 8.
  8158. */
  8159. match++
  8160. /* We check for insufficient lookahead only every 8th comparison;
  8161. * the 256th check will be made at strstart + 258.
  8162. */
  8163. for {
  8164. goto _31
  8165. _31:
  8166. ;
  8167. scan++
  8168. v8 = scan
  8169. match++
  8170. v9 = match
  8171. if v12 = libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v8))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v9))); v12 {
  8172. scan++
  8173. v10 = scan
  8174. match++
  8175. v11 = match
  8176. }
  8177. if v15 = v12 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v10))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v11))); v15 {
  8178. scan++
  8179. v13 = scan
  8180. match++
  8181. v14 = match
  8182. }
  8183. if v18 = v15 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v13))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v14))); v18 {
  8184. scan++
  8185. v16 = scan
  8186. match++
  8187. v17 = match
  8188. }
  8189. if v21 = v18 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v16))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v17))); v21 {
  8190. scan++
  8191. v19 = scan
  8192. match++
  8193. v20 = match
  8194. }
  8195. if v24 = v21 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v19))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v20))); v24 {
  8196. scan++
  8197. v22 = scan
  8198. match++
  8199. v23 = match
  8200. }
  8201. if v27 = v24 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v22))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v23))); v27 {
  8202. scan++
  8203. v25 = scan
  8204. match++
  8205. v26 = match
  8206. }
  8207. if v30 = v27 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v25))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v26))); v30 {
  8208. scan++
  8209. v28 = scan
  8210. match++
  8211. v29 = match
  8212. }
  8213. if !(v30 && libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v28))) == libc.Int32FromUint8(*(*TBytef)(unsafe.Pointer(v29))) && scan < strend) {
  8214. break
  8215. }
  8216. }
  8217. len1 = int32(m_MAX_MATCH) - int32(int64(strend)-int64(scan))
  8218. scan = strend - uintptr(m_MAX_MATCH)
  8219. if len1 > best_len {
  8220. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start = cur_match
  8221. best_len = len1
  8222. if len1 >= nice_match {
  8223. break
  8224. }
  8225. scan_end1 = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len-int32(1))))
  8226. scan_end = *(*TBytef)(unsafe.Pointer(scan + uintptr(best_len)))
  8227. }
  8228. goto _5
  8229. _5:
  8230. ;
  8231. v2 = uint32(*(*TPosf)(unsafe.Pointer(prev + uintptr(cur_match&wmask)*2)))
  8232. cur_match = v2
  8233. if v4 = v2 > limit; v4 {
  8234. chain_length--
  8235. v3 = chain_length
  8236. }
  8237. if !(v4 && v3 != uint32(0)) {
  8238. break
  8239. }
  8240. }
  8241. if libc.Uint32FromInt32(best_len) <= (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
  8242. return libc.Uint32FromInt32(best_len)
  8243. }
  8244. return (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  8245. }
  8246. /* ===========================================================================
  8247. * Flush the current block, with given end-of-file flag.
  8248. * IN assertion: strstart is set to the end of the current match.
  8249. */
  8250. /* Same but force premature exit if necessary. */
  8251. /* Maximum stored block length in deflate format (not including header). */
  8252. /* Minimum of a and b. */
  8253. // C documentation
  8254. //
  8255. // /* ===========================================================================
  8256. // * Copy without compression as much as possible from the input stream, return
  8257. // * the current block state.
  8258. // *
  8259. // * In case deflateParams() is used to later switch to a non-zero compression
  8260. // * level, s->matches (otherwise unused when storing) keeps track of the number
  8261. // * of hash table slides to perform. If s->matches is 1, then one hash table
  8262. // * slide will be done when switching. If s->matches is 2, the maximum value
  8263. // * allowed here, then the hash table will be cleared, since two or more slides
  8264. // * is the same as a clear.
  8265. // *
  8266. // * deflate_stored() is written to minimize the number of times an input byte is
  8267. // * copied. It is most efficient with large input and output buffers, which
  8268. // * maximizes the opportunities to have a single copy from next_in to next_out.
  8269. // */
  8270. func _deflate_stored(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  8271. var have, last, left, len1, min_block, used, v3, v4, v6, v7 uint32
  8272. var v1, v5 uint64
  8273. var v2, v8, v9 int32
  8274. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = have, last, left, len1, min_block, used, v1, v2, v3, v4, v5, v6, v7, v8, v9
  8275. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size-uint64(5) > uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size) {
  8276. v1 = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
  8277. } else {
  8278. v1 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - uint64(5)
  8279. }
  8280. /* Smallest worthy block size when not flushing or finishing. By default
  8281. * this is 32K. This can be as small as 507 bytes for memLevel == 1. For
  8282. * large input and output buffers, the stored block size will be larger.
  8283. */
  8284. min_block = uint32(v1)
  8285. last = uint32(0)
  8286. used = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
  8287. for cond := true; cond; cond = last == uint32(0) {
  8288. /* Set len to the maximum size block that we can copy directly with the
  8289. * available input data and output space. Set left to how much of that
  8290. * would be copied from what's left in the window.
  8291. */
  8292. len1 = uint32(m_MAX_STORED) /* maximum deflate stored block length */
  8293. have = libc.Uint32FromInt32(((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid + int32(42)) >> int32(3)) /* number of header bytes */
  8294. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out < have { /* need room for header */
  8295. break
  8296. }
  8297. /* maximum stored block length that will fit in avail_out: */
  8298. have = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out - have
  8299. left = libc.Uint32FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start) /* bytes left in window */
  8300. if uint64(len1) > uint64(left)+uint64((*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in) {
  8301. len1 = left + (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
  8302. } /* limit len to the input */
  8303. if len1 > have {
  8304. len1 = have
  8305. } /* limit len to the output */
  8306. /* If the stored block would be less than min_block in length, or if
  8307. * unable to copy all of the available input when flushing, then try
  8308. * copying to the window and the pending buffer instead. Also don't
  8309. * write an empty block when flushing -- deflate() does that.
  8310. */
  8311. 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) {
  8312. break
  8313. }
  8314. /* Make a dummy stored block in pending to get the header bytes,
  8315. * including any pending bits. This also updates the debugging counts.
  8316. */
  8317. if flush == int32(m_Z_FINISH) && len1 == left+(*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in {
  8318. v2 = int32(1)
  8319. } else {
  8320. v2 = 0
  8321. }
  8322. last = libc.Uint32FromInt32(v2)
  8323. x__tr_stored_block(tls, s, libc.UintptrFromInt32(0), uint64(0), libc.Int32FromUint32(last))
  8324. /* Replace the lengths in the dummy stored block with len. */
  8325. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(4)))) = uint8(len1)
  8326. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(3)))) = uint8(len1 >> int32(8))
  8327. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(2)))) = uint8(^len1)
  8328. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending-uint64(1)))) = uint8(^len1 >> int32(8))
  8329. /* Write the stored block header bytes. */
  8330. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8331. /* Copy uncompressed bytes from the window to next_out. */
  8332. if left != 0 {
  8333. if left > len1 {
  8334. left = len1
  8335. }
  8336. 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))
  8337. *(*uintptr)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 24)) += uintptr(left)
  8338. *(*TuInt)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 32)) -= left
  8339. *(*TuLong)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 40)) += uint64(left)
  8340. *(*int64)(unsafe.Pointer(s + 152)) += libc.Int64FromUint32(left)
  8341. len1 -= left
  8342. }
  8343. /* Copy uncompressed bytes directly from next_in to next_out, updating
  8344. * the check value.
  8345. */
  8346. if len1 != 0 {
  8347. _read_buf(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm, (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fnext_out, len1)
  8348. *(*uintptr)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 24)) += uintptr(len1)
  8349. *(*TuInt)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 32)) -= len1
  8350. *(*TuLong)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm + 40)) += uint64(len1)
  8351. }
  8352. }
  8353. /* Update the sliding window with the last s->w_size bytes of the copied
  8354. * data, or append all of the copied data to the existing window if less
  8355. * than s->w_size bytes were copied. Also update the number of bytes to
  8356. * insert in the hash tables, in the event that deflateParams() switches to
  8357. * a non-zero compression level.
  8358. */
  8359. used -= (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in /* number of input bytes directly copied */
  8360. if used != 0 {
  8361. /* If any input was used, then no unused input remains in the window,
  8362. * therefore s->block_start == s->strstart.
  8363. */
  8364. if used >= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size { /* supplant the previous history */
  8365. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = uint32(2) /* clear hash */
  8366. 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))
  8367. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8368. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8369. } else {
  8370. if (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size-uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) <= uint64(used) {
  8371. /* Slide the window down. */
  8372. *(*TuInt)(unsafe.Pointer(s + 172)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8373. 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))
  8374. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches < uint32(2) {
  8375. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
  8376. } /* add a pending slide_hash() */
  8377. if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
  8378. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8379. }
  8380. }
  8381. 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))
  8382. *(*TuInt)(unsafe.Pointer(s + 172)) += used
  8383. if used > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-(*Tdeflate_state)(unsafe.Pointer(s)).Finsert {
  8384. v3 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
  8385. } else {
  8386. v3 = used
  8387. }
  8388. *(*TuInt)(unsafe.Pointer(s + 5932)) += v3
  8389. }
  8390. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8391. }
  8392. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) {
  8393. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8394. }
  8395. /* If the last block was written to next_out, then done. */
  8396. if last != 0 {
  8397. return int32(_finish_done)
  8398. }
  8399. /* If flushing and all input has been consumed, then done. */
  8400. 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 {
  8401. return int32(_block_done)
  8402. }
  8403. /* Fill the window with any remaining input. */
  8404. have = uint32((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow_size - uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))
  8405. 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) {
  8406. /* Slide the window down. */
  8407. *(*int64)(unsafe.Pointer(s + 152)) -= libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fw_size)
  8408. *(*TuInt)(unsafe.Pointer(s + 172)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8409. 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))
  8410. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches < uint32(2) {
  8411. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
  8412. } /* add a pending slide_hash() */
  8413. have += (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size /* more space now */
  8414. if (*Tdeflate_state)(unsafe.Pointer(s)).Finsert > (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart {
  8415. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8416. }
  8417. }
  8418. if have > (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in {
  8419. have = (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in
  8420. }
  8421. if have != 0 {
  8422. _read_buf(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm, (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart), have)
  8423. *(*TuInt)(unsafe.Pointer(s + 172)) += have
  8424. if have > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size-(*Tdeflate_state)(unsafe.Pointer(s)).Finsert {
  8425. v4 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size - (*Tdeflate_state)(unsafe.Pointer(s)).Finsert
  8426. } else {
  8427. v4 = have
  8428. }
  8429. *(*TuInt)(unsafe.Pointer(s + 5932)) += v4
  8430. }
  8431. if (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water < uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) {
  8432. (*Tdeflate_state)(unsafe.Pointer(s)).Fhigh_water = uint64((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8433. }
  8434. /* There was not enough avail_out to write a complete worthy or flushed
  8435. * stored block to next_out. Write a stored block to pending instead, if we
  8436. * have enough input for a worthy block, or if flushing and there is enough
  8437. * room for the remaining input as a stored block in the pending buffer.
  8438. */
  8439. have = libc.Uint32FromInt32(((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid + int32(42)) >> int32(3)) /* number of header bytes */
  8440. /* maximum stored block length that will fit in pending: */
  8441. if (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size-uint64(have) > libc.Uint64FromInt32(libc.Int32FromInt32(m_MAX_STORED)) {
  8442. v5 = libc.Uint64FromInt32(libc.Int32FromInt32(m_MAX_STORED))
  8443. } else {
  8444. v5 = (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf_size - uint64(have)
  8445. }
  8446. have = uint32(v5)
  8447. if have > (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size {
  8448. v6 = (*Tdeflate_state)(unsafe.Pointer(s)).Fw_size
  8449. } else {
  8450. v6 = have
  8451. }
  8452. min_block = v6
  8453. left = libc.Uint32FromInt64(libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start)
  8454. 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 {
  8455. if left > have {
  8456. v7 = have
  8457. } else {
  8458. v7 = left
  8459. }
  8460. len1 = v7
  8461. if flush == int32(m_Z_FINISH) && (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_in == uint32(0) && len1 == left {
  8462. v8 = int32(1)
  8463. } else {
  8464. v8 = 0
  8465. }
  8466. last = libc.Uint32FromInt32(v8)
  8467. 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))
  8468. *(*int64)(unsafe.Pointer(s + 152)) += libc.Int64FromUint32(len1)
  8469. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8470. }
  8471. /* We've done all we can with the available input and output. */
  8472. if last != 0 {
  8473. v9 = int32(_finish_started)
  8474. } else {
  8475. v9 = int32(_need_more)
  8476. }
  8477. return v9
  8478. }
  8479. // C documentation
  8480. //
  8481. // /* ===========================================================================
  8482. // * Compress as much as possible from the input stream, return the current
  8483. // * block state.
  8484. // * This function does not perform lazy evaluation of matches and inserts
  8485. // * new strings in the dictionary only for unmatched strings or for short
  8486. // * matches. It is used only for the fast compression options.
  8487. // */
  8488. func _deflate_fast(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  8489. var bflush, v9 int32
  8490. var cc, len1 Tuch
  8491. var dist Tush
  8492. var hash_head TIPos
  8493. var v10, v14, v16, v18, v3, v5, v7 TuInt
  8494. var v11, v15, v17, v19, v20, v22, v23, v4, v6, v8 uintptr
  8495. var v13, v2 TPosf
  8496. var v21 uint32
  8497. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
  8498. for {
  8499. /* Make sure that we always have enough lookahead, except
  8500. * at the end of the input file. We need MAX_MATCH bytes
  8501. * for the next match, plus MIN_MATCH bytes to insert the
  8502. * string following the next match.
  8503. */
  8504. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  8505. _fill_window(tls, s)
  8506. 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 {
  8507. return int32(_need_more)
  8508. }
  8509. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  8510. break
  8511. } /* flush the current block */
  8512. }
  8513. /* Insert the string window[strstart .. strstart + 2] in the
  8514. * dictionary, and set hash_head to the head of the hash chain:
  8515. */
  8516. hash_head = uint32(m_NIL)
  8517. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  8518. (*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
  8519. v2 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  8520. *(*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
  8521. hash_head = uint32(v2)
  8522. *(*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)
  8523. }
  8524. /* Find the longest match, discarding those <= prev_length.
  8525. * At this point we have always match_length < MIN_MATCH
  8526. */
  8527. 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)) {
  8528. /* To simplify the code, we prevent matches with the string
  8529. * of window index 0 (in particular we have to avoid a match
  8530. * of the string with itself at the start of the input file).
  8531. */
  8532. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = _longest_match(tls, s, hash_head)
  8533. /* longest_match() sets match_start */
  8534. }
  8535. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length >= uint32(m_MIN_MATCH) {
  8536. len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length - libc.Uint32FromInt32(m_MIN_MATCH))
  8537. dist = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start)
  8538. v4 = s + 5900
  8539. v3 = *(*TuInt)(unsafe.Pointer(v4))
  8540. *(*TuInt)(unsafe.Pointer(v4))++
  8541. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist)
  8542. v6 = s + 5900
  8543. v5 = *(*TuInt)(unsafe.Pointer(v6))
  8544. *(*TuInt)(unsafe.Pointer(v6))++
  8545. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
  8546. v8 = s + 5900
  8547. v7 = *(*TuInt)(unsafe.Pointer(v8))
  8548. *(*TuInt)(unsafe.Pointer(v8))++
  8549. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v7))) = len1
  8550. dist--
  8551. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
  8552. if libc.Int32FromUint16(dist) < int32(256) {
  8553. v9 = libc.Int32FromUint8(x__dist_code[dist])
  8554. } else {
  8555. v9 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
  8556. }
  8557. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v9)*4))++
  8558. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8559. *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  8560. /* Insert new strings in the hash table only if the match length
  8561. * is not too large. This saves time but degrades compression.
  8562. */
  8563. 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) {
  8564. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length-- /* string at strstart already in table */
  8565. for {
  8566. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8567. (*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
  8568. v13 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  8569. *(*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
  8570. hash_head = uint32(v13)
  8571. *(*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)
  8572. /* strstart never exceeds WSIZE-MAX_MATCH, so there are
  8573. * always MIN_MATCH bytes ahead.
  8574. */
  8575. goto _12
  8576. _12:
  8577. ;
  8578. v11 = s + 160
  8579. *(*TuInt)(unsafe.Pointer(v11))--
  8580. v10 = *(*TuInt)(unsafe.Pointer(v11))
  8581. if !(v10 != uint32(0)) {
  8582. break
  8583. }
  8584. }
  8585. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8586. } else {
  8587. *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  8588. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  8589. (*Tdeflate_state)(unsafe.Pointer(s)).Fins_h = uint32(*(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart))))
  8590. (*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
  8591. /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
  8592. * matter since it will be recomputed at next deflate call.
  8593. */
  8594. }
  8595. } else {
  8596. /* No match, output a literal byte */
  8597. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
  8598. v15 = s + 5900
  8599. v14 = *(*TuInt)(unsafe.Pointer(v15))
  8600. *(*TuInt)(unsafe.Pointer(v15))++
  8601. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v14))) = uint8(0)
  8602. v17 = s + 5900
  8603. v16 = *(*TuInt)(unsafe.Pointer(v17))
  8604. *(*TuInt)(unsafe.Pointer(v17))++
  8605. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v16))) = uint8(0)
  8606. v19 = s + 5900
  8607. v18 = *(*TuInt)(unsafe.Pointer(v19))
  8608. *(*TuInt)(unsafe.Pointer(v19))++
  8609. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v18))) = cc
  8610. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  8611. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8612. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  8613. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8614. }
  8615. if bflush != 0 {
  8616. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8617. v20 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8618. } else {
  8619. v20 = libc.UintptrFromInt32(m_Z_NULL)
  8620. }
  8621. 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)
  8622. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8623. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8624. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8625. return int32(_need_more)
  8626. }
  8627. }
  8628. goto _1
  8629. _1:
  8630. }
  8631. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart < libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1)) {
  8632. v21 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8633. } else {
  8634. v21 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8635. }
  8636. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = v21
  8637. if flush == int32(m_Z_FINISH) {
  8638. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8639. v22 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8640. } else {
  8641. v22 = libc.UintptrFromInt32(m_Z_NULL)
  8642. }
  8643. 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))
  8644. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8645. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8646. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8647. return int32(_finish_started)
  8648. }
  8649. return int32(_finish_done)
  8650. }
  8651. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  8652. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8653. v23 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8654. } else {
  8655. v23 = libc.UintptrFromInt32(m_Z_NULL)
  8656. }
  8657. 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)
  8658. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8659. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8660. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8661. return int32(_need_more)
  8662. }
  8663. }
  8664. return int32(_block_done)
  8665. }
  8666. // C documentation
  8667. //
  8668. // /* ===========================================================================
  8669. // * Same as above, but achieves better compression. We use a lazy
  8670. // * evaluation for matches: a match is finally adopted only if there is
  8671. // * no better match at the next window position.
  8672. // */
  8673. func _deflate_slow(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  8674. var bflush, v9 int32
  8675. var cc, cc1, len1 Tuch
  8676. var dist Tush
  8677. var hash_head TIPos
  8678. var max_insert, v10, v13, v17, v19, v21, v24, v26, v28, v3, v5, v7 TuInt
  8679. var v11, v14, v16, v18, v20, v22, v23, v25, v27, v29, v31, v32, v4, v6, v8 uintptr
  8680. var v15, v2 TPosf
  8681. var v30 uint32
  8682. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
  8683. /* Process the input block. */
  8684. for {
  8685. /* Make sure that we always have enough lookahead, except
  8686. * at the end of the input file. We need MAX_MATCH bytes
  8687. * for the next match, plus MIN_MATCH bytes to insert the
  8688. * string following the next match.
  8689. */
  8690. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead < libc.Uint32FromInt32(libc.Int32FromInt32(m_MAX_MATCH)+libc.Int32FromInt32(m_MIN_MATCH)+libc.Int32FromInt32(1)) {
  8691. _fill_window(tls, s)
  8692. 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 {
  8693. return int32(_need_more)
  8694. }
  8695. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  8696. break
  8697. } /* flush the current block */
  8698. }
  8699. /* Insert the string window[strstart .. strstart + 2] in the
  8700. * dictionary, and set hash_head to the head of the hash chain:
  8701. */
  8702. hash_head = uint32(m_NIL)
  8703. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) {
  8704. (*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
  8705. v2 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  8706. *(*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
  8707. hash_head = uint32(v2)
  8708. *(*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)
  8709. }
  8710. /* Find the longest match, discarding those <= prev_length.
  8711. */
  8712. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length = (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  8713. /* Find the longest match, discarding those <= prev_length.
  8714. */
  8715. (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_match = (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_start
  8716. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8717. 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)) {
  8718. /* To simplify the code, we prevent matches with the string
  8719. * of window index 0 (in particular we have to avoid a match
  8720. * of the string with itself at the start of the input file).
  8721. */
  8722. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = _longest_match(tls, s, hash_head)
  8723. /* longest_match() sets match_start */
  8724. 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)) {
  8725. /* If prev_match is also MIN_MATCH, match_start is garbage
  8726. * but we will ignore the current match anyway.
  8727. */
  8728. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8729. }
  8730. }
  8731. /* If there was a match at the previous step and the current
  8732. * match is not better, output the previous match:
  8733. */
  8734. 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 {
  8735. max_insert = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart + (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead - uint32(m_MIN_MATCH)
  8736. /* Do not insert strings in hash table beyond this. */
  8737. len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length - libc.Uint32FromInt32(m_MIN_MATCH))
  8738. dist = uint16((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart - libc.Uint32FromInt32(1) - (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_match)
  8739. v4 = s + 5900
  8740. v3 = *(*TuInt)(unsafe.Pointer(v4))
  8741. *(*TuInt)(unsafe.Pointer(v4))++
  8742. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist)
  8743. v6 = s + 5900
  8744. v5 = *(*TuInt)(unsafe.Pointer(v6))
  8745. *(*TuInt)(unsafe.Pointer(v6))++
  8746. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
  8747. v8 = s + 5900
  8748. v7 = *(*TuInt)(unsafe.Pointer(v8))
  8749. *(*TuInt)(unsafe.Pointer(v8))++
  8750. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v7))) = len1
  8751. dist--
  8752. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
  8753. if libc.Int32FromUint16(dist) < int32(256) {
  8754. v9 = libc.Int32FromUint8(x__dist_code[dist])
  8755. } else {
  8756. v9 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
  8757. }
  8758. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v9)*4))++
  8759. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8760. /* Insert in hash table all strings up to the end of the match.
  8761. * strstart - 1 and strstart are already inserted. If there is not
  8762. * enough lookahead, the last two strings are not inserted in
  8763. * the hash table.
  8764. */
  8765. *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fprev_length - uint32(1)
  8766. *(*TuInt)(unsafe.Pointer(s + 184)) -= uint32(2)
  8767. for {
  8768. v14 = s + 172
  8769. *(*TuInt)(unsafe.Pointer(v14))++
  8770. v13 = *(*TuInt)(unsafe.Pointer(v14))
  8771. if v13 <= max_insert {
  8772. (*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
  8773. v15 = *(*TPosf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fhead + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fins_h)*2))
  8774. *(*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
  8775. hash_head = uint32(v15)
  8776. *(*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)
  8777. }
  8778. goto _12
  8779. _12:
  8780. ;
  8781. v11 = s + 184
  8782. *(*TuInt)(unsafe.Pointer(v11))--
  8783. v10 = *(*TuInt)(unsafe.Pointer(v11))
  8784. if !(v10 != uint32(0)) {
  8785. break
  8786. }
  8787. }
  8788. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  8789. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8790. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8791. if bflush != 0 {
  8792. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8793. v16 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8794. } else {
  8795. v16 = libc.UintptrFromInt32(m_Z_NULL)
  8796. }
  8797. 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)
  8798. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8799. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8800. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8801. return int32(_need_more)
  8802. }
  8803. }
  8804. } else {
  8805. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available != 0 {
  8806. /* If there was no match at the previous position, output a
  8807. * single literal. If there was a match but the current match
  8808. * is longer, truncate the previous match to a single literal.
  8809. */
  8810. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-uint32(1))))
  8811. v18 = s + 5900
  8812. v17 = *(*TuInt)(unsafe.Pointer(v18))
  8813. *(*TuInt)(unsafe.Pointer(v18))++
  8814. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v17))) = uint8(0)
  8815. v20 = s + 5900
  8816. v19 = *(*TuInt)(unsafe.Pointer(v20))
  8817. *(*TuInt)(unsafe.Pointer(v20))++
  8818. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v19))) = uint8(0)
  8819. v22 = s + 5900
  8820. v21 = *(*TuInt)(unsafe.Pointer(v22))
  8821. *(*TuInt)(unsafe.Pointer(v22))++
  8822. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v21))) = cc
  8823. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  8824. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8825. if bflush != 0 {
  8826. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8827. v23 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8828. } else {
  8829. v23 = libc.UintptrFromInt32(m_Z_NULL)
  8830. }
  8831. 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)
  8832. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8833. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8834. }
  8835. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8836. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  8837. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8838. return int32(_need_more)
  8839. }
  8840. } else {
  8841. /* There is no previous match to compare with, wait for
  8842. * the next step to decide.
  8843. */
  8844. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = int32(1)
  8845. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  8846. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  8847. }
  8848. }
  8849. goto _1
  8850. _1:
  8851. }
  8852. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available != 0 {
  8853. cc1 = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart-uint32(1))))
  8854. v25 = s + 5900
  8855. v24 = *(*TuInt)(unsafe.Pointer(v25))
  8856. *(*TuInt)(unsafe.Pointer(v25))++
  8857. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v24))) = uint8(0)
  8858. v27 = s + 5900
  8859. v26 = *(*TuInt)(unsafe.Pointer(v27))
  8860. *(*TuInt)(unsafe.Pointer(v27))++
  8861. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v26))) = uint8(0)
  8862. v29 = s + 5900
  8863. v28 = *(*TuInt)(unsafe.Pointer(v29))
  8864. *(*TuInt)(unsafe.Pointer(v29))++
  8865. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v28))) = cc1
  8866. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc1)*4))++
  8867. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  8868. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_available = 0
  8869. }
  8870. if (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart < libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH)-libc.Int32FromInt32(1)) {
  8871. v30 = (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart
  8872. } else {
  8873. v30 = libc.Uint32FromInt32(libc.Int32FromInt32(m_MIN_MATCH) - libc.Int32FromInt32(1))
  8874. }
  8875. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = v30
  8876. if flush == int32(m_Z_FINISH) {
  8877. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8878. v31 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8879. } else {
  8880. v31 = libc.UintptrFromInt32(m_Z_NULL)
  8881. }
  8882. 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))
  8883. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8884. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8885. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8886. return int32(_finish_started)
  8887. }
  8888. return int32(_finish_done)
  8889. }
  8890. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  8891. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  8892. v32 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  8893. } else {
  8894. v32 = libc.UintptrFromInt32(m_Z_NULL)
  8895. }
  8896. 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)
  8897. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  8898. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  8899. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  8900. return int32(_need_more)
  8901. }
  8902. }
  8903. return int32(_block_done)
  8904. }
  8905. // C documentation
  8906. //
  8907. // /* ===========================================================================
  8908. // * For Z_RLE, simply look for runs of bytes, generate matches only of distance
  8909. // * one. Do not maintain a hash table. (It will be regenerated if this run of
  8910. // * deflate switches away from Z_RLE.)
  8911. // */
  8912. func _deflate_rle(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  8913. var bflush, v29 int32
  8914. var cc, len1 Tuch
  8915. var dist Tush
  8916. var prev, v23, v25, v27, v30, v32, v34 TuInt
  8917. var scan, strend, v10, v12, v14, v16, v18, v2, v20, v24, v26, v28, v3, v31, v33, v35, v36, v37, v38, v5, v7, v8 uintptr
  8918. var v11, v13, v15, v17, v19, v21, v4, v6, v9 bool
  8919. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
  8920. for {
  8921. /* Make sure that we always have enough lookahead, except
  8922. * at the end of the input file. We need MAX_MATCH bytes
  8923. * for the longest run, plus one for the unrolled loop.
  8924. */
  8925. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead <= uint32(m_MAX_MATCH) {
  8926. _fill_window(tls, s)
  8927. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead <= uint32(m_MAX_MATCH) && flush == m_Z_NO_FLUSH {
  8928. return int32(_need_more)
  8929. }
  8930. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  8931. break
  8932. } /* flush the current block */
  8933. }
  8934. /* See how many times the previous byte repeats */
  8935. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  8936. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead >= uint32(m_MIN_MATCH) && (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart > uint32(0) {
  8937. scan = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) - uintptr(1)
  8938. prev = uint32(*(*TBytef)(unsafe.Pointer(scan)))
  8939. scan++
  8940. v2 = scan
  8941. if v4 = prev == uint32(*(*TBytef)(unsafe.Pointer(v2))); v4 {
  8942. scan++
  8943. v3 = scan
  8944. }
  8945. if v6 = v4 && prev == uint32(*(*TBytef)(unsafe.Pointer(v3))); v6 {
  8946. scan++
  8947. v5 = scan
  8948. }
  8949. if v6 && prev == uint32(*(*TBytef)(unsafe.Pointer(v5))) {
  8950. strend = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart) + uintptr(m_MAX_MATCH)
  8951. for {
  8952. goto _22
  8953. _22:
  8954. ;
  8955. scan++
  8956. v7 = scan
  8957. if v9 = prev == uint32(*(*TBytef)(unsafe.Pointer(v7))); v9 {
  8958. scan++
  8959. v8 = scan
  8960. }
  8961. if v11 = v9 && prev == uint32(*(*TBytef)(unsafe.Pointer(v8))); v11 {
  8962. scan++
  8963. v10 = scan
  8964. }
  8965. if v13 = v11 && prev == uint32(*(*TBytef)(unsafe.Pointer(v10))); v13 {
  8966. scan++
  8967. v12 = scan
  8968. }
  8969. if v15 = v13 && prev == uint32(*(*TBytef)(unsafe.Pointer(v12))); v15 {
  8970. scan++
  8971. v14 = scan
  8972. }
  8973. if v17 = v15 && prev == uint32(*(*TBytef)(unsafe.Pointer(v14))); v17 {
  8974. scan++
  8975. v16 = scan
  8976. }
  8977. if v19 = v17 && prev == uint32(*(*TBytef)(unsafe.Pointer(v16))); v19 {
  8978. scan++
  8979. v18 = scan
  8980. }
  8981. if v21 = v19 && prev == uint32(*(*TBytef)(unsafe.Pointer(v18))); v21 {
  8982. scan++
  8983. v20 = scan
  8984. }
  8985. if !(v21 && prev == uint32(*(*TBytef)(unsafe.Pointer(v20))) && scan < strend) {
  8986. break
  8987. }
  8988. }
  8989. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(m_MAX_MATCH) - libc.Uint32FromInt64(int64(strend)-int64(scan))
  8990. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length > (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead {
  8991. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead
  8992. }
  8993. }
  8994. }
  8995. /* Emit match if have run of MIN_MATCH or longer, else emit literal */
  8996. if (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length >= uint32(m_MIN_MATCH) {
  8997. len1 = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length - libc.Uint32FromInt32(m_MIN_MATCH))
  8998. dist = libc.Uint16FromInt32(libc.Int32FromInt32(1))
  8999. v24 = s + 5900
  9000. v23 = *(*TuInt)(unsafe.Pointer(v24))
  9001. *(*TuInt)(unsafe.Pointer(v24))++
  9002. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v23))) = uint8(dist)
  9003. v26 = s + 5900
  9004. v25 = *(*TuInt)(unsafe.Pointer(v26))
  9005. *(*TuInt)(unsafe.Pointer(v26))++
  9006. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v25))) = libc.Uint8FromInt32(libc.Int32FromUint16(dist) >> libc.Int32FromInt32(8))
  9007. v28 = s + 5900
  9008. v27 = *(*TuInt)(unsafe.Pointer(v28))
  9009. *(*TuInt)(unsafe.Pointer(v28))++
  9010. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v27))) = len1
  9011. dist--
  9012. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[len1])+int32(m_LITERALS)+int32(1))*4))++
  9013. if libc.Int32FromUint16(dist) < int32(256) {
  9014. v29 = libc.Int32FromUint8(x__dist_code[dist])
  9015. } else {
  9016. v29 = libc.Int32FromUint8(x__dist_code[int32(256)+libc.Int32FromUint16(dist)>>int32(7)])
  9017. }
  9018. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v29)*4))++
  9019. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  9020. *(*TuInt)(unsafe.Pointer(s + 180)) -= (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  9021. *(*TuInt)(unsafe.Pointer(s + 172)) += (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length
  9022. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  9023. } else {
  9024. /* No match, output a literal byte */
  9025. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
  9026. v31 = s + 5900
  9027. v30 = *(*TuInt)(unsafe.Pointer(v31))
  9028. *(*TuInt)(unsafe.Pointer(v31))++
  9029. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v30))) = uint8(0)
  9030. v33 = s + 5900
  9031. v32 = *(*TuInt)(unsafe.Pointer(v33))
  9032. *(*TuInt)(unsafe.Pointer(v33))++
  9033. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v32))) = uint8(0)
  9034. v35 = s + 5900
  9035. v34 = *(*TuInt)(unsafe.Pointer(v35))
  9036. *(*TuInt)(unsafe.Pointer(v35))++
  9037. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v34))) = cc
  9038. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  9039. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  9040. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  9041. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  9042. }
  9043. if bflush != 0 {
  9044. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  9045. v36 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  9046. } else {
  9047. v36 = libc.UintptrFromInt32(m_Z_NULL)
  9048. }
  9049. 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)
  9050. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9051. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9052. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  9053. return int32(_need_more)
  9054. }
  9055. }
  9056. goto _1
  9057. _1:
  9058. }
  9059. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  9060. if flush == int32(m_Z_FINISH) {
  9061. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  9062. v37 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  9063. } else {
  9064. v37 = libc.UintptrFromInt32(m_Z_NULL)
  9065. }
  9066. 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))
  9067. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9068. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9069. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  9070. return int32(_finish_started)
  9071. }
  9072. return int32(_finish_done)
  9073. }
  9074. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  9075. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  9076. v38 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  9077. } else {
  9078. v38 = libc.UintptrFromInt32(m_Z_NULL)
  9079. }
  9080. 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)
  9081. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9082. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9083. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  9084. return int32(_need_more)
  9085. }
  9086. }
  9087. return int32(_block_done)
  9088. }
  9089. // C documentation
  9090. //
  9091. // /* ===========================================================================
  9092. // * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.
  9093. // * (It will be regenerated if this run of deflate switches away from Huffman.)
  9094. // */
  9095. func _deflate_huff(tls *libc.TLS, s uintptr, flush int32) (r Tblock_state) {
  9096. var bflush int32
  9097. var cc Tuch
  9098. var v10, v3, v5, v7, v8, v9 uintptr
  9099. var v2, v4, v6 TuInt
  9100. _, _, _, _, _, _, _, _, _, _, _ = bflush, cc, v10, v2, v3, v4, v5, v6, v7, v8, v9 /* set if current block must be flushed */
  9101. for {
  9102. /* Make sure that we have a literal to write. */
  9103. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  9104. _fill_window(tls, s)
  9105. if (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead == uint32(0) {
  9106. if flush == m_Z_NO_FLUSH {
  9107. return int32(_need_more)
  9108. }
  9109. break /* flush the current block */
  9110. }
  9111. }
  9112. /* Output a literal byte */
  9113. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatch_length = uint32(0)
  9114. cc = *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)))
  9115. v3 = s + 5900
  9116. v2 = *(*TuInt)(unsafe.Pointer(v3))
  9117. *(*TuInt)(unsafe.Pointer(v3))++
  9118. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v2))) = uint8(0)
  9119. v5 = s + 5900
  9120. v4 = *(*TuInt)(unsafe.Pointer(v5))
  9121. *(*TuInt)(unsafe.Pointer(v5))++
  9122. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v4))) = uint8(0)
  9123. v7 = s + 5900
  9124. v6 = *(*TuInt)(unsafe.Pointer(v7))
  9125. *(*TuInt)(unsafe.Pointer(v7))++
  9126. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v6))) = cc
  9127. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(cc)*4))++
  9128. bflush = libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  9129. (*Tdeflate_state)(unsafe.Pointer(s)).Flookahead--
  9130. (*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart++
  9131. if bflush != 0 {
  9132. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  9133. v8 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  9134. } else {
  9135. v8 = libc.UintptrFromInt32(m_Z_NULL)
  9136. }
  9137. 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)
  9138. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9139. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9140. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  9141. return int32(_need_more)
  9142. }
  9143. }
  9144. goto _1
  9145. _1:
  9146. }
  9147. (*Tdeflate_state)(unsafe.Pointer(s)).Finsert = uint32(0)
  9148. if flush == int32(m_Z_FINISH) {
  9149. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  9150. v9 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  9151. } else {
  9152. v9 = libc.UintptrFromInt32(m_Z_NULL)
  9153. }
  9154. 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))
  9155. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9156. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9157. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  9158. return int32(_finish_started)
  9159. }
  9160. return int32(_finish_done)
  9161. }
  9162. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != 0 {
  9163. if (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start >= 0 {
  9164. v10 = (*Tdeflate_state)(unsafe.Pointer(s)).Fwindow + uintptr(libc.Uint32FromInt64((*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start))
  9165. } else {
  9166. v10 = libc.UintptrFromInt32(m_Z_NULL)
  9167. }
  9168. 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)
  9169. (*Tdeflate_state)(unsafe.Pointer(s)).Fblock_start = libc.Int64FromUint32((*Tdeflate_state)(unsafe.Pointer(s)).Fstrstart)
  9170. _flush_pending(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)
  9171. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Favail_out == uint32(0) {
  9172. return int32(_need_more)
  9173. }
  9174. }
  9175. return int32(_block_done)
  9176. }
  9177. const m_ENOUGH_DISTS = 592
  9178. const m_ENOUGH_LENS = 852
  9179. const m_PRESET_DICT2 = 0x20
  9180. type Tcode = struct {
  9181. Fop uint8
  9182. Fbits uint8
  9183. Fval uint16
  9184. }
  9185. type Tcodetype = int32
  9186. const _CODES = 0
  9187. const _LENS = 1
  9188. const _DISTS = 2
  9189. type Tinflate_mode = int32
  9190. const _HEAD = 16180
  9191. const _FLAGS = 16181
  9192. const _TIME = 16182
  9193. const _OS = 16183
  9194. const _EXLEN = 16184
  9195. const _EXTRA = 16185
  9196. const _NAME = 16186
  9197. const _COMMENT = 16187
  9198. const _HCRC = 16188
  9199. const _DICTID = 16189
  9200. const _DICT = 16190
  9201. const _TYPE = 16191
  9202. const _TYPEDO = 16192
  9203. const _STORED = 16193
  9204. const _COPY_ = 16194
  9205. const _COPY = 16195
  9206. const _TABLE = 16196
  9207. const _LENLENS = 16197
  9208. const _CODELENS = 16198
  9209. const _LEN_ = 16199
  9210. const _LEN = 16200
  9211. const _LENEXT = 16201
  9212. const _DIST = 16202
  9213. const _DISTEXT = 16203
  9214. const _MATCH = 16204
  9215. const _LIT = 16205
  9216. const _CHECK = 16206
  9217. const _LENGTH = 16207
  9218. const _DONE = 16208
  9219. const _BAD = 16209
  9220. const _MEM = 16210
  9221. const _SYNC = 16211
  9222. type Tinflate_state = struct {
  9223. Fstrm Tz_streamp
  9224. Fmode Tinflate_mode
  9225. Flast int32
  9226. Fwrap int32
  9227. Fhavedict int32
  9228. Fflags int32
  9229. Fdmax uint32
  9230. Fcheck uint64
  9231. Ftotal uint64
  9232. Fhead Tgz_headerp
  9233. Fwbits uint32
  9234. Fwsize uint32
  9235. Fwhave uint32
  9236. Fwnext uint32
  9237. Fwindow uintptr
  9238. Fhold uint64
  9239. Fbits uint32
  9240. Flength uint32
  9241. Foffset uint32
  9242. Fextra uint32
  9243. Flencode uintptr
  9244. Fdistcode uintptr
  9245. Flenbits uint32
  9246. Fdistbits uint32
  9247. Fncode uint32
  9248. Fnlen uint32
  9249. Fndist uint32
  9250. Fhave uint32
  9251. Fnext uintptr
  9252. Flens [320]uint16
  9253. Fwork [288]uint16
  9254. Fcodes [1444]Tcode
  9255. Fsane int32
  9256. Fback int32
  9257. Fwas uint32
  9258. }
  9259. // C documentation
  9260. //
  9261. // /*
  9262. // strm provides memory allocation functions in zalloc and zfree, or
  9263. // Z_NULL to use the library memory allocation functions.
  9264. //
  9265. // windowBits is in the range 8..15, and window is a user-supplied
  9266. // window and output buffer that is 2**windowBits bytes.
  9267. // */
  9268. func XinflateBackInit_(tls *libc.TLS, strm Tz_streamp, windowBits int32, window uintptr, version uintptr, stream_size int32) (r int32) {
  9269. var state uintptr
  9270. _ = state
  9271. 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)) {
  9272. return -int32(6)
  9273. }
  9274. if strm == uintptr(m_Z_NULL) || window == uintptr(m_Z_NULL) || windowBits < int32(8) || windowBits > int32(15) {
  9275. return -int32(2)
  9276. }
  9277. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* in case we return an error */
  9278. if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
  9279. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
  9280. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
  9281. }
  9282. if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  9283. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
  9284. }
  9285. 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)))
  9286. if state == uintptr(m_Z_NULL) {
  9287. return -int32(4)
  9288. }
  9289. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = state
  9290. (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(32768)
  9291. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = libc.Uint32FromInt32(windowBits)
  9292. (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(1) << windowBits
  9293. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = window
  9294. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  9295. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  9296. (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
  9297. return m_Z_OK
  9298. }
  9299. // C documentation
  9300. //
  9301. // /*
  9302. // Return state with length and distance decoding tables and index sizes set to
  9303. // fixed code decoding. Normally this returns fixed tables from inffixed.h.
  9304. // If BUILDFIXED is defined, then instead this routine builds the tables the
  9305. // first time it's called, and returns those tables the first time and
  9306. // thereafter. This reduces the size of the code by about 2K bytes, in
  9307. // exchange for a little execution time. However, BUILDFIXED should not be
  9308. // used for threaded applications, since the rewriting of the tables and virgin
  9309. // may not be thread-safe.
  9310. // */
  9311. func _fixedtables(tls *libc.TLS, state uintptr) {
  9312. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = uintptr(unsafe.Pointer(&_lenfix))
  9313. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  9314. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = uintptr(unsafe.Pointer(&_distfix))
  9315. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(5)
  9316. }
  9317. var _lenfix = [512]Tcode{
  9318. 0: {
  9319. Fop: uint8(96),
  9320. Fbits: uint8(7),
  9321. },
  9322. 1: {
  9323. Fbits: uint8(8),
  9324. Fval: uint16(80),
  9325. },
  9326. 2: {
  9327. Fbits: uint8(8),
  9328. Fval: uint16(16),
  9329. },
  9330. 3: {
  9331. Fop: uint8(20),
  9332. Fbits: uint8(8),
  9333. Fval: uint16(115),
  9334. },
  9335. 4: {
  9336. Fop: uint8(18),
  9337. Fbits: uint8(7),
  9338. Fval: uint16(31),
  9339. },
  9340. 5: {
  9341. Fbits: uint8(8),
  9342. Fval: uint16(112),
  9343. },
  9344. 6: {
  9345. Fbits: uint8(8),
  9346. Fval: uint16(48),
  9347. },
  9348. 7: {
  9349. Fbits: uint8(9),
  9350. Fval: uint16(192),
  9351. },
  9352. 8: {
  9353. Fop: uint8(16),
  9354. Fbits: uint8(7),
  9355. Fval: uint16(10),
  9356. },
  9357. 9: {
  9358. Fbits: uint8(8),
  9359. Fval: uint16(96),
  9360. },
  9361. 10: {
  9362. Fbits: uint8(8),
  9363. Fval: uint16(32),
  9364. },
  9365. 11: {
  9366. Fbits: uint8(9),
  9367. Fval: uint16(160),
  9368. },
  9369. 12: {
  9370. Fbits: uint8(8),
  9371. },
  9372. 13: {
  9373. Fbits: uint8(8),
  9374. Fval: uint16(128),
  9375. },
  9376. 14: {
  9377. Fbits: uint8(8),
  9378. Fval: uint16(64),
  9379. },
  9380. 15: {
  9381. Fbits: uint8(9),
  9382. Fval: uint16(224),
  9383. },
  9384. 16: {
  9385. Fop: uint8(16),
  9386. Fbits: uint8(7),
  9387. Fval: uint16(6),
  9388. },
  9389. 17: {
  9390. Fbits: uint8(8),
  9391. Fval: uint16(88),
  9392. },
  9393. 18: {
  9394. Fbits: uint8(8),
  9395. Fval: uint16(24),
  9396. },
  9397. 19: {
  9398. Fbits: uint8(9),
  9399. Fval: uint16(144),
  9400. },
  9401. 20: {
  9402. Fop: uint8(19),
  9403. Fbits: uint8(7),
  9404. Fval: uint16(59),
  9405. },
  9406. 21: {
  9407. Fbits: uint8(8),
  9408. Fval: uint16(120),
  9409. },
  9410. 22: {
  9411. Fbits: uint8(8),
  9412. Fval: uint16(56),
  9413. },
  9414. 23: {
  9415. Fbits: uint8(9),
  9416. Fval: uint16(208),
  9417. },
  9418. 24: {
  9419. Fop: uint8(17),
  9420. Fbits: uint8(7),
  9421. Fval: uint16(17),
  9422. },
  9423. 25: {
  9424. Fbits: uint8(8),
  9425. Fval: uint16(104),
  9426. },
  9427. 26: {
  9428. Fbits: uint8(8),
  9429. Fval: uint16(40),
  9430. },
  9431. 27: {
  9432. Fbits: uint8(9),
  9433. Fval: uint16(176),
  9434. },
  9435. 28: {
  9436. Fbits: uint8(8),
  9437. Fval: uint16(8),
  9438. },
  9439. 29: {
  9440. Fbits: uint8(8),
  9441. Fval: uint16(136),
  9442. },
  9443. 30: {
  9444. Fbits: uint8(8),
  9445. Fval: uint16(72),
  9446. },
  9447. 31: {
  9448. Fbits: uint8(9),
  9449. Fval: uint16(240),
  9450. },
  9451. 32: {
  9452. Fop: uint8(16),
  9453. Fbits: uint8(7),
  9454. Fval: uint16(4),
  9455. },
  9456. 33: {
  9457. Fbits: uint8(8),
  9458. Fval: uint16(84),
  9459. },
  9460. 34: {
  9461. Fbits: uint8(8),
  9462. Fval: uint16(20),
  9463. },
  9464. 35: {
  9465. Fop: uint8(21),
  9466. Fbits: uint8(8),
  9467. Fval: uint16(227),
  9468. },
  9469. 36: {
  9470. Fop: uint8(19),
  9471. Fbits: uint8(7),
  9472. Fval: uint16(43),
  9473. },
  9474. 37: {
  9475. Fbits: uint8(8),
  9476. Fval: uint16(116),
  9477. },
  9478. 38: {
  9479. Fbits: uint8(8),
  9480. Fval: uint16(52),
  9481. },
  9482. 39: {
  9483. Fbits: uint8(9),
  9484. Fval: uint16(200),
  9485. },
  9486. 40: {
  9487. Fop: uint8(17),
  9488. Fbits: uint8(7),
  9489. Fval: uint16(13),
  9490. },
  9491. 41: {
  9492. Fbits: uint8(8),
  9493. Fval: uint16(100),
  9494. },
  9495. 42: {
  9496. Fbits: uint8(8),
  9497. Fval: uint16(36),
  9498. },
  9499. 43: {
  9500. Fbits: uint8(9),
  9501. Fval: uint16(168),
  9502. },
  9503. 44: {
  9504. Fbits: uint8(8),
  9505. Fval: uint16(4),
  9506. },
  9507. 45: {
  9508. Fbits: uint8(8),
  9509. Fval: uint16(132),
  9510. },
  9511. 46: {
  9512. Fbits: uint8(8),
  9513. Fval: uint16(68),
  9514. },
  9515. 47: {
  9516. Fbits: uint8(9),
  9517. Fval: uint16(232),
  9518. },
  9519. 48: {
  9520. Fop: uint8(16),
  9521. Fbits: uint8(7),
  9522. Fval: uint16(8),
  9523. },
  9524. 49: {
  9525. Fbits: uint8(8),
  9526. Fval: uint16(92),
  9527. },
  9528. 50: {
  9529. Fbits: uint8(8),
  9530. Fval: uint16(28),
  9531. },
  9532. 51: {
  9533. Fbits: uint8(9),
  9534. Fval: uint16(152),
  9535. },
  9536. 52: {
  9537. Fop: uint8(20),
  9538. Fbits: uint8(7),
  9539. Fval: uint16(83),
  9540. },
  9541. 53: {
  9542. Fbits: uint8(8),
  9543. Fval: uint16(124),
  9544. },
  9545. 54: {
  9546. Fbits: uint8(8),
  9547. Fval: uint16(60),
  9548. },
  9549. 55: {
  9550. Fbits: uint8(9),
  9551. Fval: uint16(216),
  9552. },
  9553. 56: {
  9554. Fop: uint8(18),
  9555. Fbits: uint8(7),
  9556. Fval: uint16(23),
  9557. },
  9558. 57: {
  9559. Fbits: uint8(8),
  9560. Fval: uint16(108),
  9561. },
  9562. 58: {
  9563. Fbits: uint8(8),
  9564. Fval: uint16(44),
  9565. },
  9566. 59: {
  9567. Fbits: uint8(9),
  9568. Fval: uint16(184),
  9569. },
  9570. 60: {
  9571. Fbits: uint8(8),
  9572. Fval: uint16(12),
  9573. },
  9574. 61: {
  9575. Fbits: uint8(8),
  9576. Fval: uint16(140),
  9577. },
  9578. 62: {
  9579. Fbits: uint8(8),
  9580. Fval: uint16(76),
  9581. },
  9582. 63: {
  9583. Fbits: uint8(9),
  9584. Fval: uint16(248),
  9585. },
  9586. 64: {
  9587. Fop: uint8(16),
  9588. Fbits: uint8(7),
  9589. Fval: uint16(3),
  9590. },
  9591. 65: {
  9592. Fbits: uint8(8),
  9593. Fval: uint16(82),
  9594. },
  9595. 66: {
  9596. Fbits: uint8(8),
  9597. Fval: uint16(18),
  9598. },
  9599. 67: {
  9600. Fop: uint8(21),
  9601. Fbits: uint8(8),
  9602. Fval: uint16(163),
  9603. },
  9604. 68: {
  9605. Fop: uint8(19),
  9606. Fbits: uint8(7),
  9607. Fval: uint16(35),
  9608. },
  9609. 69: {
  9610. Fbits: uint8(8),
  9611. Fval: uint16(114),
  9612. },
  9613. 70: {
  9614. Fbits: uint8(8),
  9615. Fval: uint16(50),
  9616. },
  9617. 71: {
  9618. Fbits: uint8(9),
  9619. Fval: uint16(196),
  9620. },
  9621. 72: {
  9622. Fop: uint8(17),
  9623. Fbits: uint8(7),
  9624. Fval: uint16(11),
  9625. },
  9626. 73: {
  9627. Fbits: uint8(8),
  9628. Fval: uint16(98),
  9629. },
  9630. 74: {
  9631. Fbits: uint8(8),
  9632. Fval: uint16(34),
  9633. },
  9634. 75: {
  9635. Fbits: uint8(9),
  9636. Fval: uint16(164),
  9637. },
  9638. 76: {
  9639. Fbits: uint8(8),
  9640. Fval: uint16(2),
  9641. },
  9642. 77: {
  9643. Fbits: uint8(8),
  9644. Fval: uint16(130),
  9645. },
  9646. 78: {
  9647. Fbits: uint8(8),
  9648. Fval: uint16(66),
  9649. },
  9650. 79: {
  9651. Fbits: uint8(9),
  9652. Fval: uint16(228),
  9653. },
  9654. 80: {
  9655. Fop: uint8(16),
  9656. Fbits: uint8(7),
  9657. Fval: uint16(7),
  9658. },
  9659. 81: {
  9660. Fbits: uint8(8),
  9661. Fval: uint16(90),
  9662. },
  9663. 82: {
  9664. Fbits: uint8(8),
  9665. Fval: uint16(26),
  9666. },
  9667. 83: {
  9668. Fbits: uint8(9),
  9669. Fval: uint16(148),
  9670. },
  9671. 84: {
  9672. Fop: uint8(20),
  9673. Fbits: uint8(7),
  9674. Fval: uint16(67),
  9675. },
  9676. 85: {
  9677. Fbits: uint8(8),
  9678. Fval: uint16(122),
  9679. },
  9680. 86: {
  9681. Fbits: uint8(8),
  9682. Fval: uint16(58),
  9683. },
  9684. 87: {
  9685. Fbits: uint8(9),
  9686. Fval: uint16(212),
  9687. },
  9688. 88: {
  9689. Fop: uint8(18),
  9690. Fbits: uint8(7),
  9691. Fval: uint16(19),
  9692. },
  9693. 89: {
  9694. Fbits: uint8(8),
  9695. Fval: uint16(106),
  9696. },
  9697. 90: {
  9698. Fbits: uint8(8),
  9699. Fval: uint16(42),
  9700. },
  9701. 91: {
  9702. Fbits: uint8(9),
  9703. Fval: uint16(180),
  9704. },
  9705. 92: {
  9706. Fbits: uint8(8),
  9707. Fval: uint16(10),
  9708. },
  9709. 93: {
  9710. Fbits: uint8(8),
  9711. Fval: uint16(138),
  9712. },
  9713. 94: {
  9714. Fbits: uint8(8),
  9715. Fval: uint16(74),
  9716. },
  9717. 95: {
  9718. Fbits: uint8(9),
  9719. Fval: uint16(244),
  9720. },
  9721. 96: {
  9722. Fop: uint8(16),
  9723. Fbits: uint8(7),
  9724. Fval: uint16(5),
  9725. },
  9726. 97: {
  9727. Fbits: uint8(8),
  9728. Fval: uint16(86),
  9729. },
  9730. 98: {
  9731. Fbits: uint8(8),
  9732. Fval: uint16(22),
  9733. },
  9734. 99: {
  9735. Fop: uint8(64),
  9736. Fbits: uint8(8),
  9737. },
  9738. 100: {
  9739. Fop: uint8(19),
  9740. Fbits: uint8(7),
  9741. Fval: uint16(51),
  9742. },
  9743. 101: {
  9744. Fbits: uint8(8),
  9745. Fval: uint16(118),
  9746. },
  9747. 102: {
  9748. Fbits: uint8(8),
  9749. Fval: uint16(54),
  9750. },
  9751. 103: {
  9752. Fbits: uint8(9),
  9753. Fval: uint16(204),
  9754. },
  9755. 104: {
  9756. Fop: uint8(17),
  9757. Fbits: uint8(7),
  9758. Fval: uint16(15),
  9759. },
  9760. 105: {
  9761. Fbits: uint8(8),
  9762. Fval: uint16(102),
  9763. },
  9764. 106: {
  9765. Fbits: uint8(8),
  9766. Fval: uint16(38),
  9767. },
  9768. 107: {
  9769. Fbits: uint8(9),
  9770. Fval: uint16(172),
  9771. },
  9772. 108: {
  9773. Fbits: uint8(8),
  9774. Fval: uint16(6),
  9775. },
  9776. 109: {
  9777. Fbits: uint8(8),
  9778. Fval: uint16(134),
  9779. },
  9780. 110: {
  9781. Fbits: uint8(8),
  9782. Fval: uint16(70),
  9783. },
  9784. 111: {
  9785. Fbits: uint8(9),
  9786. Fval: uint16(236),
  9787. },
  9788. 112: {
  9789. Fop: uint8(16),
  9790. Fbits: uint8(7),
  9791. Fval: uint16(9),
  9792. },
  9793. 113: {
  9794. Fbits: uint8(8),
  9795. Fval: uint16(94),
  9796. },
  9797. 114: {
  9798. Fbits: uint8(8),
  9799. Fval: uint16(30),
  9800. },
  9801. 115: {
  9802. Fbits: uint8(9),
  9803. Fval: uint16(156),
  9804. },
  9805. 116: {
  9806. Fop: uint8(20),
  9807. Fbits: uint8(7),
  9808. Fval: uint16(99),
  9809. },
  9810. 117: {
  9811. Fbits: uint8(8),
  9812. Fval: uint16(126),
  9813. },
  9814. 118: {
  9815. Fbits: uint8(8),
  9816. Fval: uint16(62),
  9817. },
  9818. 119: {
  9819. Fbits: uint8(9),
  9820. Fval: uint16(220),
  9821. },
  9822. 120: {
  9823. Fop: uint8(18),
  9824. Fbits: uint8(7),
  9825. Fval: uint16(27),
  9826. },
  9827. 121: {
  9828. Fbits: uint8(8),
  9829. Fval: uint16(110),
  9830. },
  9831. 122: {
  9832. Fbits: uint8(8),
  9833. Fval: uint16(46),
  9834. },
  9835. 123: {
  9836. Fbits: uint8(9),
  9837. Fval: uint16(188),
  9838. },
  9839. 124: {
  9840. Fbits: uint8(8),
  9841. Fval: uint16(14),
  9842. },
  9843. 125: {
  9844. Fbits: uint8(8),
  9845. Fval: uint16(142),
  9846. },
  9847. 126: {
  9848. Fbits: uint8(8),
  9849. Fval: uint16(78),
  9850. },
  9851. 127: {
  9852. Fbits: uint8(9),
  9853. Fval: uint16(252),
  9854. },
  9855. 128: {
  9856. Fop: uint8(96),
  9857. Fbits: uint8(7),
  9858. },
  9859. 129: {
  9860. Fbits: uint8(8),
  9861. Fval: uint16(81),
  9862. },
  9863. 130: {
  9864. Fbits: uint8(8),
  9865. Fval: uint16(17),
  9866. },
  9867. 131: {
  9868. Fop: uint8(21),
  9869. Fbits: uint8(8),
  9870. Fval: uint16(131),
  9871. },
  9872. 132: {
  9873. Fop: uint8(18),
  9874. Fbits: uint8(7),
  9875. Fval: uint16(31),
  9876. },
  9877. 133: {
  9878. Fbits: uint8(8),
  9879. Fval: uint16(113),
  9880. },
  9881. 134: {
  9882. Fbits: uint8(8),
  9883. Fval: uint16(49),
  9884. },
  9885. 135: {
  9886. Fbits: uint8(9),
  9887. Fval: uint16(194),
  9888. },
  9889. 136: {
  9890. Fop: uint8(16),
  9891. Fbits: uint8(7),
  9892. Fval: uint16(10),
  9893. },
  9894. 137: {
  9895. Fbits: uint8(8),
  9896. Fval: uint16(97),
  9897. },
  9898. 138: {
  9899. Fbits: uint8(8),
  9900. Fval: uint16(33),
  9901. },
  9902. 139: {
  9903. Fbits: uint8(9),
  9904. Fval: uint16(162),
  9905. },
  9906. 140: {
  9907. Fbits: uint8(8),
  9908. Fval: uint16(1),
  9909. },
  9910. 141: {
  9911. Fbits: uint8(8),
  9912. Fval: uint16(129),
  9913. },
  9914. 142: {
  9915. Fbits: uint8(8),
  9916. Fval: uint16(65),
  9917. },
  9918. 143: {
  9919. Fbits: uint8(9),
  9920. Fval: uint16(226),
  9921. },
  9922. 144: {
  9923. Fop: uint8(16),
  9924. Fbits: uint8(7),
  9925. Fval: uint16(6),
  9926. },
  9927. 145: {
  9928. Fbits: uint8(8),
  9929. Fval: uint16(89),
  9930. },
  9931. 146: {
  9932. Fbits: uint8(8),
  9933. Fval: uint16(25),
  9934. },
  9935. 147: {
  9936. Fbits: uint8(9),
  9937. Fval: uint16(146),
  9938. },
  9939. 148: {
  9940. Fop: uint8(19),
  9941. Fbits: uint8(7),
  9942. Fval: uint16(59),
  9943. },
  9944. 149: {
  9945. Fbits: uint8(8),
  9946. Fval: uint16(121),
  9947. },
  9948. 150: {
  9949. Fbits: uint8(8),
  9950. Fval: uint16(57),
  9951. },
  9952. 151: {
  9953. Fbits: uint8(9),
  9954. Fval: uint16(210),
  9955. },
  9956. 152: {
  9957. Fop: uint8(17),
  9958. Fbits: uint8(7),
  9959. Fval: uint16(17),
  9960. },
  9961. 153: {
  9962. Fbits: uint8(8),
  9963. Fval: uint16(105),
  9964. },
  9965. 154: {
  9966. Fbits: uint8(8),
  9967. Fval: uint16(41),
  9968. },
  9969. 155: {
  9970. Fbits: uint8(9),
  9971. Fval: uint16(178),
  9972. },
  9973. 156: {
  9974. Fbits: uint8(8),
  9975. Fval: uint16(9),
  9976. },
  9977. 157: {
  9978. Fbits: uint8(8),
  9979. Fval: uint16(137),
  9980. },
  9981. 158: {
  9982. Fbits: uint8(8),
  9983. Fval: uint16(73),
  9984. },
  9985. 159: {
  9986. Fbits: uint8(9),
  9987. Fval: uint16(242),
  9988. },
  9989. 160: {
  9990. Fop: uint8(16),
  9991. Fbits: uint8(7),
  9992. Fval: uint16(4),
  9993. },
  9994. 161: {
  9995. Fbits: uint8(8),
  9996. Fval: uint16(85),
  9997. },
  9998. 162: {
  9999. Fbits: uint8(8),
  10000. Fval: uint16(21),
  10001. },
  10002. 163: {
  10003. Fop: uint8(16),
  10004. Fbits: uint8(8),
  10005. Fval: uint16(258),
  10006. },
  10007. 164: {
  10008. Fop: uint8(19),
  10009. Fbits: uint8(7),
  10010. Fval: uint16(43),
  10011. },
  10012. 165: {
  10013. Fbits: uint8(8),
  10014. Fval: uint16(117),
  10015. },
  10016. 166: {
  10017. Fbits: uint8(8),
  10018. Fval: uint16(53),
  10019. },
  10020. 167: {
  10021. Fbits: uint8(9),
  10022. Fval: uint16(202),
  10023. },
  10024. 168: {
  10025. Fop: uint8(17),
  10026. Fbits: uint8(7),
  10027. Fval: uint16(13),
  10028. },
  10029. 169: {
  10030. Fbits: uint8(8),
  10031. Fval: uint16(101),
  10032. },
  10033. 170: {
  10034. Fbits: uint8(8),
  10035. Fval: uint16(37),
  10036. },
  10037. 171: {
  10038. Fbits: uint8(9),
  10039. Fval: uint16(170),
  10040. },
  10041. 172: {
  10042. Fbits: uint8(8),
  10043. Fval: uint16(5),
  10044. },
  10045. 173: {
  10046. Fbits: uint8(8),
  10047. Fval: uint16(133),
  10048. },
  10049. 174: {
  10050. Fbits: uint8(8),
  10051. Fval: uint16(69),
  10052. },
  10053. 175: {
  10054. Fbits: uint8(9),
  10055. Fval: uint16(234),
  10056. },
  10057. 176: {
  10058. Fop: uint8(16),
  10059. Fbits: uint8(7),
  10060. Fval: uint16(8),
  10061. },
  10062. 177: {
  10063. Fbits: uint8(8),
  10064. Fval: uint16(93),
  10065. },
  10066. 178: {
  10067. Fbits: uint8(8),
  10068. Fval: uint16(29),
  10069. },
  10070. 179: {
  10071. Fbits: uint8(9),
  10072. Fval: uint16(154),
  10073. },
  10074. 180: {
  10075. Fop: uint8(20),
  10076. Fbits: uint8(7),
  10077. Fval: uint16(83),
  10078. },
  10079. 181: {
  10080. Fbits: uint8(8),
  10081. Fval: uint16(125),
  10082. },
  10083. 182: {
  10084. Fbits: uint8(8),
  10085. Fval: uint16(61),
  10086. },
  10087. 183: {
  10088. Fbits: uint8(9),
  10089. Fval: uint16(218),
  10090. },
  10091. 184: {
  10092. Fop: uint8(18),
  10093. Fbits: uint8(7),
  10094. Fval: uint16(23),
  10095. },
  10096. 185: {
  10097. Fbits: uint8(8),
  10098. Fval: uint16(109),
  10099. },
  10100. 186: {
  10101. Fbits: uint8(8),
  10102. Fval: uint16(45),
  10103. },
  10104. 187: {
  10105. Fbits: uint8(9),
  10106. Fval: uint16(186),
  10107. },
  10108. 188: {
  10109. Fbits: uint8(8),
  10110. Fval: uint16(13),
  10111. },
  10112. 189: {
  10113. Fbits: uint8(8),
  10114. Fval: uint16(141),
  10115. },
  10116. 190: {
  10117. Fbits: uint8(8),
  10118. Fval: uint16(77),
  10119. },
  10120. 191: {
  10121. Fbits: uint8(9),
  10122. Fval: uint16(250),
  10123. },
  10124. 192: {
  10125. Fop: uint8(16),
  10126. Fbits: uint8(7),
  10127. Fval: uint16(3),
  10128. },
  10129. 193: {
  10130. Fbits: uint8(8),
  10131. Fval: uint16(83),
  10132. },
  10133. 194: {
  10134. Fbits: uint8(8),
  10135. Fval: uint16(19),
  10136. },
  10137. 195: {
  10138. Fop: uint8(21),
  10139. Fbits: uint8(8),
  10140. Fval: uint16(195),
  10141. },
  10142. 196: {
  10143. Fop: uint8(19),
  10144. Fbits: uint8(7),
  10145. Fval: uint16(35),
  10146. },
  10147. 197: {
  10148. Fbits: uint8(8),
  10149. Fval: uint16(115),
  10150. },
  10151. 198: {
  10152. Fbits: uint8(8),
  10153. Fval: uint16(51),
  10154. },
  10155. 199: {
  10156. Fbits: uint8(9),
  10157. Fval: uint16(198),
  10158. },
  10159. 200: {
  10160. Fop: uint8(17),
  10161. Fbits: uint8(7),
  10162. Fval: uint16(11),
  10163. },
  10164. 201: {
  10165. Fbits: uint8(8),
  10166. Fval: uint16(99),
  10167. },
  10168. 202: {
  10169. Fbits: uint8(8),
  10170. Fval: uint16(35),
  10171. },
  10172. 203: {
  10173. Fbits: uint8(9),
  10174. Fval: uint16(166),
  10175. },
  10176. 204: {
  10177. Fbits: uint8(8),
  10178. Fval: uint16(3),
  10179. },
  10180. 205: {
  10181. Fbits: uint8(8),
  10182. Fval: uint16(131),
  10183. },
  10184. 206: {
  10185. Fbits: uint8(8),
  10186. Fval: uint16(67),
  10187. },
  10188. 207: {
  10189. Fbits: uint8(9),
  10190. Fval: uint16(230),
  10191. },
  10192. 208: {
  10193. Fop: uint8(16),
  10194. Fbits: uint8(7),
  10195. Fval: uint16(7),
  10196. },
  10197. 209: {
  10198. Fbits: uint8(8),
  10199. Fval: uint16(91),
  10200. },
  10201. 210: {
  10202. Fbits: uint8(8),
  10203. Fval: uint16(27),
  10204. },
  10205. 211: {
  10206. Fbits: uint8(9),
  10207. Fval: uint16(150),
  10208. },
  10209. 212: {
  10210. Fop: uint8(20),
  10211. Fbits: uint8(7),
  10212. Fval: uint16(67),
  10213. },
  10214. 213: {
  10215. Fbits: uint8(8),
  10216. Fval: uint16(123),
  10217. },
  10218. 214: {
  10219. Fbits: uint8(8),
  10220. Fval: uint16(59),
  10221. },
  10222. 215: {
  10223. Fbits: uint8(9),
  10224. Fval: uint16(214),
  10225. },
  10226. 216: {
  10227. Fop: uint8(18),
  10228. Fbits: uint8(7),
  10229. Fval: uint16(19),
  10230. },
  10231. 217: {
  10232. Fbits: uint8(8),
  10233. Fval: uint16(107),
  10234. },
  10235. 218: {
  10236. Fbits: uint8(8),
  10237. Fval: uint16(43),
  10238. },
  10239. 219: {
  10240. Fbits: uint8(9),
  10241. Fval: uint16(182),
  10242. },
  10243. 220: {
  10244. Fbits: uint8(8),
  10245. Fval: uint16(11),
  10246. },
  10247. 221: {
  10248. Fbits: uint8(8),
  10249. Fval: uint16(139),
  10250. },
  10251. 222: {
  10252. Fbits: uint8(8),
  10253. Fval: uint16(75),
  10254. },
  10255. 223: {
  10256. Fbits: uint8(9),
  10257. Fval: uint16(246),
  10258. },
  10259. 224: {
  10260. Fop: uint8(16),
  10261. Fbits: uint8(7),
  10262. Fval: uint16(5),
  10263. },
  10264. 225: {
  10265. Fbits: uint8(8),
  10266. Fval: uint16(87),
  10267. },
  10268. 226: {
  10269. Fbits: uint8(8),
  10270. Fval: uint16(23),
  10271. },
  10272. 227: {
  10273. Fop: uint8(64),
  10274. Fbits: uint8(8),
  10275. },
  10276. 228: {
  10277. Fop: uint8(19),
  10278. Fbits: uint8(7),
  10279. Fval: uint16(51),
  10280. },
  10281. 229: {
  10282. Fbits: uint8(8),
  10283. Fval: uint16(119),
  10284. },
  10285. 230: {
  10286. Fbits: uint8(8),
  10287. Fval: uint16(55),
  10288. },
  10289. 231: {
  10290. Fbits: uint8(9),
  10291. Fval: uint16(206),
  10292. },
  10293. 232: {
  10294. Fop: uint8(17),
  10295. Fbits: uint8(7),
  10296. Fval: uint16(15),
  10297. },
  10298. 233: {
  10299. Fbits: uint8(8),
  10300. Fval: uint16(103),
  10301. },
  10302. 234: {
  10303. Fbits: uint8(8),
  10304. Fval: uint16(39),
  10305. },
  10306. 235: {
  10307. Fbits: uint8(9),
  10308. Fval: uint16(174),
  10309. },
  10310. 236: {
  10311. Fbits: uint8(8),
  10312. Fval: uint16(7),
  10313. },
  10314. 237: {
  10315. Fbits: uint8(8),
  10316. Fval: uint16(135),
  10317. },
  10318. 238: {
  10319. Fbits: uint8(8),
  10320. Fval: uint16(71),
  10321. },
  10322. 239: {
  10323. Fbits: uint8(9),
  10324. Fval: uint16(238),
  10325. },
  10326. 240: {
  10327. Fop: uint8(16),
  10328. Fbits: uint8(7),
  10329. Fval: uint16(9),
  10330. },
  10331. 241: {
  10332. Fbits: uint8(8),
  10333. Fval: uint16(95),
  10334. },
  10335. 242: {
  10336. Fbits: uint8(8),
  10337. Fval: uint16(31),
  10338. },
  10339. 243: {
  10340. Fbits: uint8(9),
  10341. Fval: uint16(158),
  10342. },
  10343. 244: {
  10344. Fop: uint8(20),
  10345. Fbits: uint8(7),
  10346. Fval: uint16(99),
  10347. },
  10348. 245: {
  10349. Fbits: uint8(8),
  10350. Fval: uint16(127),
  10351. },
  10352. 246: {
  10353. Fbits: uint8(8),
  10354. Fval: uint16(63),
  10355. },
  10356. 247: {
  10357. Fbits: uint8(9),
  10358. Fval: uint16(222),
  10359. },
  10360. 248: {
  10361. Fop: uint8(18),
  10362. Fbits: uint8(7),
  10363. Fval: uint16(27),
  10364. },
  10365. 249: {
  10366. Fbits: uint8(8),
  10367. Fval: uint16(111),
  10368. },
  10369. 250: {
  10370. Fbits: uint8(8),
  10371. Fval: uint16(47),
  10372. },
  10373. 251: {
  10374. Fbits: uint8(9),
  10375. Fval: uint16(190),
  10376. },
  10377. 252: {
  10378. Fbits: uint8(8),
  10379. Fval: uint16(15),
  10380. },
  10381. 253: {
  10382. Fbits: uint8(8),
  10383. Fval: uint16(143),
  10384. },
  10385. 254: {
  10386. Fbits: uint8(8),
  10387. Fval: uint16(79),
  10388. },
  10389. 255: {
  10390. Fbits: uint8(9),
  10391. Fval: uint16(254),
  10392. },
  10393. 256: {
  10394. Fop: uint8(96),
  10395. Fbits: uint8(7),
  10396. },
  10397. 257: {
  10398. Fbits: uint8(8),
  10399. Fval: uint16(80),
  10400. },
  10401. 258: {
  10402. Fbits: uint8(8),
  10403. Fval: uint16(16),
  10404. },
  10405. 259: {
  10406. Fop: uint8(20),
  10407. Fbits: uint8(8),
  10408. Fval: uint16(115),
  10409. },
  10410. 260: {
  10411. Fop: uint8(18),
  10412. Fbits: uint8(7),
  10413. Fval: uint16(31),
  10414. },
  10415. 261: {
  10416. Fbits: uint8(8),
  10417. Fval: uint16(112),
  10418. },
  10419. 262: {
  10420. Fbits: uint8(8),
  10421. Fval: uint16(48),
  10422. },
  10423. 263: {
  10424. Fbits: uint8(9),
  10425. Fval: uint16(193),
  10426. },
  10427. 264: {
  10428. Fop: uint8(16),
  10429. Fbits: uint8(7),
  10430. Fval: uint16(10),
  10431. },
  10432. 265: {
  10433. Fbits: uint8(8),
  10434. Fval: uint16(96),
  10435. },
  10436. 266: {
  10437. Fbits: uint8(8),
  10438. Fval: uint16(32),
  10439. },
  10440. 267: {
  10441. Fbits: uint8(9),
  10442. Fval: uint16(161),
  10443. },
  10444. 268: {
  10445. Fbits: uint8(8),
  10446. },
  10447. 269: {
  10448. Fbits: uint8(8),
  10449. Fval: uint16(128),
  10450. },
  10451. 270: {
  10452. Fbits: uint8(8),
  10453. Fval: uint16(64),
  10454. },
  10455. 271: {
  10456. Fbits: uint8(9),
  10457. Fval: uint16(225),
  10458. },
  10459. 272: {
  10460. Fop: uint8(16),
  10461. Fbits: uint8(7),
  10462. Fval: uint16(6),
  10463. },
  10464. 273: {
  10465. Fbits: uint8(8),
  10466. Fval: uint16(88),
  10467. },
  10468. 274: {
  10469. Fbits: uint8(8),
  10470. Fval: uint16(24),
  10471. },
  10472. 275: {
  10473. Fbits: uint8(9),
  10474. Fval: uint16(145),
  10475. },
  10476. 276: {
  10477. Fop: uint8(19),
  10478. Fbits: uint8(7),
  10479. Fval: uint16(59),
  10480. },
  10481. 277: {
  10482. Fbits: uint8(8),
  10483. Fval: uint16(120),
  10484. },
  10485. 278: {
  10486. Fbits: uint8(8),
  10487. Fval: uint16(56),
  10488. },
  10489. 279: {
  10490. Fbits: uint8(9),
  10491. Fval: uint16(209),
  10492. },
  10493. 280: {
  10494. Fop: uint8(17),
  10495. Fbits: uint8(7),
  10496. Fval: uint16(17),
  10497. },
  10498. 281: {
  10499. Fbits: uint8(8),
  10500. Fval: uint16(104),
  10501. },
  10502. 282: {
  10503. Fbits: uint8(8),
  10504. Fval: uint16(40),
  10505. },
  10506. 283: {
  10507. Fbits: uint8(9),
  10508. Fval: uint16(177),
  10509. },
  10510. 284: {
  10511. Fbits: uint8(8),
  10512. Fval: uint16(8),
  10513. },
  10514. 285: {
  10515. Fbits: uint8(8),
  10516. Fval: uint16(136),
  10517. },
  10518. 286: {
  10519. Fbits: uint8(8),
  10520. Fval: uint16(72),
  10521. },
  10522. 287: {
  10523. Fbits: uint8(9),
  10524. Fval: uint16(241),
  10525. },
  10526. 288: {
  10527. Fop: uint8(16),
  10528. Fbits: uint8(7),
  10529. Fval: uint16(4),
  10530. },
  10531. 289: {
  10532. Fbits: uint8(8),
  10533. Fval: uint16(84),
  10534. },
  10535. 290: {
  10536. Fbits: uint8(8),
  10537. Fval: uint16(20),
  10538. },
  10539. 291: {
  10540. Fop: uint8(21),
  10541. Fbits: uint8(8),
  10542. Fval: uint16(227),
  10543. },
  10544. 292: {
  10545. Fop: uint8(19),
  10546. Fbits: uint8(7),
  10547. Fval: uint16(43),
  10548. },
  10549. 293: {
  10550. Fbits: uint8(8),
  10551. Fval: uint16(116),
  10552. },
  10553. 294: {
  10554. Fbits: uint8(8),
  10555. Fval: uint16(52),
  10556. },
  10557. 295: {
  10558. Fbits: uint8(9),
  10559. Fval: uint16(201),
  10560. },
  10561. 296: {
  10562. Fop: uint8(17),
  10563. Fbits: uint8(7),
  10564. Fval: uint16(13),
  10565. },
  10566. 297: {
  10567. Fbits: uint8(8),
  10568. Fval: uint16(100),
  10569. },
  10570. 298: {
  10571. Fbits: uint8(8),
  10572. Fval: uint16(36),
  10573. },
  10574. 299: {
  10575. Fbits: uint8(9),
  10576. Fval: uint16(169),
  10577. },
  10578. 300: {
  10579. Fbits: uint8(8),
  10580. Fval: uint16(4),
  10581. },
  10582. 301: {
  10583. Fbits: uint8(8),
  10584. Fval: uint16(132),
  10585. },
  10586. 302: {
  10587. Fbits: uint8(8),
  10588. Fval: uint16(68),
  10589. },
  10590. 303: {
  10591. Fbits: uint8(9),
  10592. Fval: uint16(233),
  10593. },
  10594. 304: {
  10595. Fop: uint8(16),
  10596. Fbits: uint8(7),
  10597. Fval: uint16(8),
  10598. },
  10599. 305: {
  10600. Fbits: uint8(8),
  10601. Fval: uint16(92),
  10602. },
  10603. 306: {
  10604. Fbits: uint8(8),
  10605. Fval: uint16(28),
  10606. },
  10607. 307: {
  10608. Fbits: uint8(9),
  10609. Fval: uint16(153),
  10610. },
  10611. 308: {
  10612. Fop: uint8(20),
  10613. Fbits: uint8(7),
  10614. Fval: uint16(83),
  10615. },
  10616. 309: {
  10617. Fbits: uint8(8),
  10618. Fval: uint16(124),
  10619. },
  10620. 310: {
  10621. Fbits: uint8(8),
  10622. Fval: uint16(60),
  10623. },
  10624. 311: {
  10625. Fbits: uint8(9),
  10626. Fval: uint16(217),
  10627. },
  10628. 312: {
  10629. Fop: uint8(18),
  10630. Fbits: uint8(7),
  10631. Fval: uint16(23),
  10632. },
  10633. 313: {
  10634. Fbits: uint8(8),
  10635. Fval: uint16(108),
  10636. },
  10637. 314: {
  10638. Fbits: uint8(8),
  10639. Fval: uint16(44),
  10640. },
  10641. 315: {
  10642. Fbits: uint8(9),
  10643. Fval: uint16(185),
  10644. },
  10645. 316: {
  10646. Fbits: uint8(8),
  10647. Fval: uint16(12),
  10648. },
  10649. 317: {
  10650. Fbits: uint8(8),
  10651. Fval: uint16(140),
  10652. },
  10653. 318: {
  10654. Fbits: uint8(8),
  10655. Fval: uint16(76),
  10656. },
  10657. 319: {
  10658. Fbits: uint8(9),
  10659. Fval: uint16(249),
  10660. },
  10661. 320: {
  10662. Fop: uint8(16),
  10663. Fbits: uint8(7),
  10664. Fval: uint16(3),
  10665. },
  10666. 321: {
  10667. Fbits: uint8(8),
  10668. Fval: uint16(82),
  10669. },
  10670. 322: {
  10671. Fbits: uint8(8),
  10672. Fval: uint16(18),
  10673. },
  10674. 323: {
  10675. Fop: uint8(21),
  10676. Fbits: uint8(8),
  10677. Fval: uint16(163),
  10678. },
  10679. 324: {
  10680. Fop: uint8(19),
  10681. Fbits: uint8(7),
  10682. Fval: uint16(35),
  10683. },
  10684. 325: {
  10685. Fbits: uint8(8),
  10686. Fval: uint16(114),
  10687. },
  10688. 326: {
  10689. Fbits: uint8(8),
  10690. Fval: uint16(50),
  10691. },
  10692. 327: {
  10693. Fbits: uint8(9),
  10694. Fval: uint16(197),
  10695. },
  10696. 328: {
  10697. Fop: uint8(17),
  10698. Fbits: uint8(7),
  10699. Fval: uint16(11),
  10700. },
  10701. 329: {
  10702. Fbits: uint8(8),
  10703. Fval: uint16(98),
  10704. },
  10705. 330: {
  10706. Fbits: uint8(8),
  10707. Fval: uint16(34),
  10708. },
  10709. 331: {
  10710. Fbits: uint8(9),
  10711. Fval: uint16(165),
  10712. },
  10713. 332: {
  10714. Fbits: uint8(8),
  10715. Fval: uint16(2),
  10716. },
  10717. 333: {
  10718. Fbits: uint8(8),
  10719. Fval: uint16(130),
  10720. },
  10721. 334: {
  10722. Fbits: uint8(8),
  10723. Fval: uint16(66),
  10724. },
  10725. 335: {
  10726. Fbits: uint8(9),
  10727. Fval: uint16(229),
  10728. },
  10729. 336: {
  10730. Fop: uint8(16),
  10731. Fbits: uint8(7),
  10732. Fval: uint16(7),
  10733. },
  10734. 337: {
  10735. Fbits: uint8(8),
  10736. Fval: uint16(90),
  10737. },
  10738. 338: {
  10739. Fbits: uint8(8),
  10740. Fval: uint16(26),
  10741. },
  10742. 339: {
  10743. Fbits: uint8(9),
  10744. Fval: uint16(149),
  10745. },
  10746. 340: {
  10747. Fop: uint8(20),
  10748. Fbits: uint8(7),
  10749. Fval: uint16(67),
  10750. },
  10751. 341: {
  10752. Fbits: uint8(8),
  10753. Fval: uint16(122),
  10754. },
  10755. 342: {
  10756. Fbits: uint8(8),
  10757. Fval: uint16(58),
  10758. },
  10759. 343: {
  10760. Fbits: uint8(9),
  10761. Fval: uint16(213),
  10762. },
  10763. 344: {
  10764. Fop: uint8(18),
  10765. Fbits: uint8(7),
  10766. Fval: uint16(19),
  10767. },
  10768. 345: {
  10769. Fbits: uint8(8),
  10770. Fval: uint16(106),
  10771. },
  10772. 346: {
  10773. Fbits: uint8(8),
  10774. Fval: uint16(42),
  10775. },
  10776. 347: {
  10777. Fbits: uint8(9),
  10778. Fval: uint16(181),
  10779. },
  10780. 348: {
  10781. Fbits: uint8(8),
  10782. Fval: uint16(10),
  10783. },
  10784. 349: {
  10785. Fbits: uint8(8),
  10786. Fval: uint16(138),
  10787. },
  10788. 350: {
  10789. Fbits: uint8(8),
  10790. Fval: uint16(74),
  10791. },
  10792. 351: {
  10793. Fbits: uint8(9),
  10794. Fval: uint16(245),
  10795. },
  10796. 352: {
  10797. Fop: uint8(16),
  10798. Fbits: uint8(7),
  10799. Fval: uint16(5),
  10800. },
  10801. 353: {
  10802. Fbits: uint8(8),
  10803. Fval: uint16(86),
  10804. },
  10805. 354: {
  10806. Fbits: uint8(8),
  10807. Fval: uint16(22),
  10808. },
  10809. 355: {
  10810. Fop: uint8(64),
  10811. Fbits: uint8(8),
  10812. },
  10813. 356: {
  10814. Fop: uint8(19),
  10815. Fbits: uint8(7),
  10816. Fval: uint16(51),
  10817. },
  10818. 357: {
  10819. Fbits: uint8(8),
  10820. Fval: uint16(118),
  10821. },
  10822. 358: {
  10823. Fbits: uint8(8),
  10824. Fval: uint16(54),
  10825. },
  10826. 359: {
  10827. Fbits: uint8(9),
  10828. Fval: uint16(205),
  10829. },
  10830. 360: {
  10831. Fop: uint8(17),
  10832. Fbits: uint8(7),
  10833. Fval: uint16(15),
  10834. },
  10835. 361: {
  10836. Fbits: uint8(8),
  10837. Fval: uint16(102),
  10838. },
  10839. 362: {
  10840. Fbits: uint8(8),
  10841. Fval: uint16(38),
  10842. },
  10843. 363: {
  10844. Fbits: uint8(9),
  10845. Fval: uint16(173),
  10846. },
  10847. 364: {
  10848. Fbits: uint8(8),
  10849. Fval: uint16(6),
  10850. },
  10851. 365: {
  10852. Fbits: uint8(8),
  10853. Fval: uint16(134),
  10854. },
  10855. 366: {
  10856. Fbits: uint8(8),
  10857. Fval: uint16(70),
  10858. },
  10859. 367: {
  10860. Fbits: uint8(9),
  10861. Fval: uint16(237),
  10862. },
  10863. 368: {
  10864. Fop: uint8(16),
  10865. Fbits: uint8(7),
  10866. Fval: uint16(9),
  10867. },
  10868. 369: {
  10869. Fbits: uint8(8),
  10870. Fval: uint16(94),
  10871. },
  10872. 370: {
  10873. Fbits: uint8(8),
  10874. Fval: uint16(30),
  10875. },
  10876. 371: {
  10877. Fbits: uint8(9),
  10878. Fval: uint16(157),
  10879. },
  10880. 372: {
  10881. Fop: uint8(20),
  10882. Fbits: uint8(7),
  10883. Fval: uint16(99),
  10884. },
  10885. 373: {
  10886. Fbits: uint8(8),
  10887. Fval: uint16(126),
  10888. },
  10889. 374: {
  10890. Fbits: uint8(8),
  10891. Fval: uint16(62),
  10892. },
  10893. 375: {
  10894. Fbits: uint8(9),
  10895. Fval: uint16(221),
  10896. },
  10897. 376: {
  10898. Fop: uint8(18),
  10899. Fbits: uint8(7),
  10900. Fval: uint16(27),
  10901. },
  10902. 377: {
  10903. Fbits: uint8(8),
  10904. Fval: uint16(110),
  10905. },
  10906. 378: {
  10907. Fbits: uint8(8),
  10908. Fval: uint16(46),
  10909. },
  10910. 379: {
  10911. Fbits: uint8(9),
  10912. Fval: uint16(189),
  10913. },
  10914. 380: {
  10915. Fbits: uint8(8),
  10916. Fval: uint16(14),
  10917. },
  10918. 381: {
  10919. Fbits: uint8(8),
  10920. Fval: uint16(142),
  10921. },
  10922. 382: {
  10923. Fbits: uint8(8),
  10924. Fval: uint16(78),
  10925. },
  10926. 383: {
  10927. Fbits: uint8(9),
  10928. Fval: uint16(253),
  10929. },
  10930. 384: {
  10931. Fop: uint8(96),
  10932. Fbits: uint8(7),
  10933. },
  10934. 385: {
  10935. Fbits: uint8(8),
  10936. Fval: uint16(81),
  10937. },
  10938. 386: {
  10939. Fbits: uint8(8),
  10940. Fval: uint16(17),
  10941. },
  10942. 387: {
  10943. Fop: uint8(21),
  10944. Fbits: uint8(8),
  10945. Fval: uint16(131),
  10946. },
  10947. 388: {
  10948. Fop: uint8(18),
  10949. Fbits: uint8(7),
  10950. Fval: uint16(31),
  10951. },
  10952. 389: {
  10953. Fbits: uint8(8),
  10954. Fval: uint16(113),
  10955. },
  10956. 390: {
  10957. Fbits: uint8(8),
  10958. Fval: uint16(49),
  10959. },
  10960. 391: {
  10961. Fbits: uint8(9),
  10962. Fval: uint16(195),
  10963. },
  10964. 392: {
  10965. Fop: uint8(16),
  10966. Fbits: uint8(7),
  10967. Fval: uint16(10),
  10968. },
  10969. 393: {
  10970. Fbits: uint8(8),
  10971. Fval: uint16(97),
  10972. },
  10973. 394: {
  10974. Fbits: uint8(8),
  10975. Fval: uint16(33),
  10976. },
  10977. 395: {
  10978. Fbits: uint8(9),
  10979. Fval: uint16(163),
  10980. },
  10981. 396: {
  10982. Fbits: uint8(8),
  10983. Fval: uint16(1),
  10984. },
  10985. 397: {
  10986. Fbits: uint8(8),
  10987. Fval: uint16(129),
  10988. },
  10989. 398: {
  10990. Fbits: uint8(8),
  10991. Fval: uint16(65),
  10992. },
  10993. 399: {
  10994. Fbits: uint8(9),
  10995. Fval: uint16(227),
  10996. },
  10997. 400: {
  10998. Fop: uint8(16),
  10999. Fbits: uint8(7),
  11000. Fval: uint16(6),
  11001. },
  11002. 401: {
  11003. Fbits: uint8(8),
  11004. Fval: uint16(89),
  11005. },
  11006. 402: {
  11007. Fbits: uint8(8),
  11008. Fval: uint16(25),
  11009. },
  11010. 403: {
  11011. Fbits: uint8(9),
  11012. Fval: uint16(147),
  11013. },
  11014. 404: {
  11015. Fop: uint8(19),
  11016. Fbits: uint8(7),
  11017. Fval: uint16(59),
  11018. },
  11019. 405: {
  11020. Fbits: uint8(8),
  11021. Fval: uint16(121),
  11022. },
  11023. 406: {
  11024. Fbits: uint8(8),
  11025. Fval: uint16(57),
  11026. },
  11027. 407: {
  11028. Fbits: uint8(9),
  11029. Fval: uint16(211),
  11030. },
  11031. 408: {
  11032. Fop: uint8(17),
  11033. Fbits: uint8(7),
  11034. Fval: uint16(17),
  11035. },
  11036. 409: {
  11037. Fbits: uint8(8),
  11038. Fval: uint16(105),
  11039. },
  11040. 410: {
  11041. Fbits: uint8(8),
  11042. Fval: uint16(41),
  11043. },
  11044. 411: {
  11045. Fbits: uint8(9),
  11046. Fval: uint16(179),
  11047. },
  11048. 412: {
  11049. Fbits: uint8(8),
  11050. Fval: uint16(9),
  11051. },
  11052. 413: {
  11053. Fbits: uint8(8),
  11054. Fval: uint16(137),
  11055. },
  11056. 414: {
  11057. Fbits: uint8(8),
  11058. Fval: uint16(73),
  11059. },
  11060. 415: {
  11061. Fbits: uint8(9),
  11062. Fval: uint16(243),
  11063. },
  11064. 416: {
  11065. Fop: uint8(16),
  11066. Fbits: uint8(7),
  11067. Fval: uint16(4),
  11068. },
  11069. 417: {
  11070. Fbits: uint8(8),
  11071. Fval: uint16(85),
  11072. },
  11073. 418: {
  11074. Fbits: uint8(8),
  11075. Fval: uint16(21),
  11076. },
  11077. 419: {
  11078. Fop: uint8(16),
  11079. Fbits: uint8(8),
  11080. Fval: uint16(258),
  11081. },
  11082. 420: {
  11083. Fop: uint8(19),
  11084. Fbits: uint8(7),
  11085. Fval: uint16(43),
  11086. },
  11087. 421: {
  11088. Fbits: uint8(8),
  11089. Fval: uint16(117),
  11090. },
  11091. 422: {
  11092. Fbits: uint8(8),
  11093. Fval: uint16(53),
  11094. },
  11095. 423: {
  11096. Fbits: uint8(9),
  11097. Fval: uint16(203),
  11098. },
  11099. 424: {
  11100. Fop: uint8(17),
  11101. Fbits: uint8(7),
  11102. Fval: uint16(13),
  11103. },
  11104. 425: {
  11105. Fbits: uint8(8),
  11106. Fval: uint16(101),
  11107. },
  11108. 426: {
  11109. Fbits: uint8(8),
  11110. Fval: uint16(37),
  11111. },
  11112. 427: {
  11113. Fbits: uint8(9),
  11114. Fval: uint16(171),
  11115. },
  11116. 428: {
  11117. Fbits: uint8(8),
  11118. Fval: uint16(5),
  11119. },
  11120. 429: {
  11121. Fbits: uint8(8),
  11122. Fval: uint16(133),
  11123. },
  11124. 430: {
  11125. Fbits: uint8(8),
  11126. Fval: uint16(69),
  11127. },
  11128. 431: {
  11129. Fbits: uint8(9),
  11130. Fval: uint16(235),
  11131. },
  11132. 432: {
  11133. Fop: uint8(16),
  11134. Fbits: uint8(7),
  11135. Fval: uint16(8),
  11136. },
  11137. 433: {
  11138. Fbits: uint8(8),
  11139. Fval: uint16(93),
  11140. },
  11141. 434: {
  11142. Fbits: uint8(8),
  11143. Fval: uint16(29),
  11144. },
  11145. 435: {
  11146. Fbits: uint8(9),
  11147. Fval: uint16(155),
  11148. },
  11149. 436: {
  11150. Fop: uint8(20),
  11151. Fbits: uint8(7),
  11152. Fval: uint16(83),
  11153. },
  11154. 437: {
  11155. Fbits: uint8(8),
  11156. Fval: uint16(125),
  11157. },
  11158. 438: {
  11159. Fbits: uint8(8),
  11160. Fval: uint16(61),
  11161. },
  11162. 439: {
  11163. Fbits: uint8(9),
  11164. Fval: uint16(219),
  11165. },
  11166. 440: {
  11167. Fop: uint8(18),
  11168. Fbits: uint8(7),
  11169. Fval: uint16(23),
  11170. },
  11171. 441: {
  11172. Fbits: uint8(8),
  11173. Fval: uint16(109),
  11174. },
  11175. 442: {
  11176. Fbits: uint8(8),
  11177. Fval: uint16(45),
  11178. },
  11179. 443: {
  11180. Fbits: uint8(9),
  11181. Fval: uint16(187),
  11182. },
  11183. 444: {
  11184. Fbits: uint8(8),
  11185. Fval: uint16(13),
  11186. },
  11187. 445: {
  11188. Fbits: uint8(8),
  11189. Fval: uint16(141),
  11190. },
  11191. 446: {
  11192. Fbits: uint8(8),
  11193. Fval: uint16(77),
  11194. },
  11195. 447: {
  11196. Fbits: uint8(9),
  11197. Fval: uint16(251),
  11198. },
  11199. 448: {
  11200. Fop: uint8(16),
  11201. Fbits: uint8(7),
  11202. Fval: uint16(3),
  11203. },
  11204. 449: {
  11205. Fbits: uint8(8),
  11206. Fval: uint16(83),
  11207. },
  11208. 450: {
  11209. Fbits: uint8(8),
  11210. Fval: uint16(19),
  11211. },
  11212. 451: {
  11213. Fop: uint8(21),
  11214. Fbits: uint8(8),
  11215. Fval: uint16(195),
  11216. },
  11217. 452: {
  11218. Fop: uint8(19),
  11219. Fbits: uint8(7),
  11220. Fval: uint16(35),
  11221. },
  11222. 453: {
  11223. Fbits: uint8(8),
  11224. Fval: uint16(115),
  11225. },
  11226. 454: {
  11227. Fbits: uint8(8),
  11228. Fval: uint16(51),
  11229. },
  11230. 455: {
  11231. Fbits: uint8(9),
  11232. Fval: uint16(199),
  11233. },
  11234. 456: {
  11235. Fop: uint8(17),
  11236. Fbits: uint8(7),
  11237. Fval: uint16(11),
  11238. },
  11239. 457: {
  11240. Fbits: uint8(8),
  11241. Fval: uint16(99),
  11242. },
  11243. 458: {
  11244. Fbits: uint8(8),
  11245. Fval: uint16(35),
  11246. },
  11247. 459: {
  11248. Fbits: uint8(9),
  11249. Fval: uint16(167),
  11250. },
  11251. 460: {
  11252. Fbits: uint8(8),
  11253. Fval: uint16(3),
  11254. },
  11255. 461: {
  11256. Fbits: uint8(8),
  11257. Fval: uint16(131),
  11258. },
  11259. 462: {
  11260. Fbits: uint8(8),
  11261. Fval: uint16(67),
  11262. },
  11263. 463: {
  11264. Fbits: uint8(9),
  11265. Fval: uint16(231),
  11266. },
  11267. 464: {
  11268. Fop: uint8(16),
  11269. Fbits: uint8(7),
  11270. Fval: uint16(7),
  11271. },
  11272. 465: {
  11273. Fbits: uint8(8),
  11274. Fval: uint16(91),
  11275. },
  11276. 466: {
  11277. Fbits: uint8(8),
  11278. Fval: uint16(27),
  11279. },
  11280. 467: {
  11281. Fbits: uint8(9),
  11282. Fval: uint16(151),
  11283. },
  11284. 468: {
  11285. Fop: uint8(20),
  11286. Fbits: uint8(7),
  11287. Fval: uint16(67),
  11288. },
  11289. 469: {
  11290. Fbits: uint8(8),
  11291. Fval: uint16(123),
  11292. },
  11293. 470: {
  11294. Fbits: uint8(8),
  11295. Fval: uint16(59),
  11296. },
  11297. 471: {
  11298. Fbits: uint8(9),
  11299. Fval: uint16(215),
  11300. },
  11301. 472: {
  11302. Fop: uint8(18),
  11303. Fbits: uint8(7),
  11304. Fval: uint16(19),
  11305. },
  11306. 473: {
  11307. Fbits: uint8(8),
  11308. Fval: uint16(107),
  11309. },
  11310. 474: {
  11311. Fbits: uint8(8),
  11312. Fval: uint16(43),
  11313. },
  11314. 475: {
  11315. Fbits: uint8(9),
  11316. Fval: uint16(183),
  11317. },
  11318. 476: {
  11319. Fbits: uint8(8),
  11320. Fval: uint16(11),
  11321. },
  11322. 477: {
  11323. Fbits: uint8(8),
  11324. Fval: uint16(139),
  11325. },
  11326. 478: {
  11327. Fbits: uint8(8),
  11328. Fval: uint16(75),
  11329. },
  11330. 479: {
  11331. Fbits: uint8(9),
  11332. Fval: uint16(247),
  11333. },
  11334. 480: {
  11335. Fop: uint8(16),
  11336. Fbits: uint8(7),
  11337. Fval: uint16(5),
  11338. },
  11339. 481: {
  11340. Fbits: uint8(8),
  11341. Fval: uint16(87),
  11342. },
  11343. 482: {
  11344. Fbits: uint8(8),
  11345. Fval: uint16(23),
  11346. },
  11347. 483: {
  11348. Fop: uint8(64),
  11349. Fbits: uint8(8),
  11350. },
  11351. 484: {
  11352. Fop: uint8(19),
  11353. Fbits: uint8(7),
  11354. Fval: uint16(51),
  11355. },
  11356. 485: {
  11357. Fbits: uint8(8),
  11358. Fval: uint16(119),
  11359. },
  11360. 486: {
  11361. Fbits: uint8(8),
  11362. Fval: uint16(55),
  11363. },
  11364. 487: {
  11365. Fbits: uint8(9),
  11366. Fval: uint16(207),
  11367. },
  11368. 488: {
  11369. Fop: uint8(17),
  11370. Fbits: uint8(7),
  11371. Fval: uint16(15),
  11372. },
  11373. 489: {
  11374. Fbits: uint8(8),
  11375. Fval: uint16(103),
  11376. },
  11377. 490: {
  11378. Fbits: uint8(8),
  11379. Fval: uint16(39),
  11380. },
  11381. 491: {
  11382. Fbits: uint8(9),
  11383. Fval: uint16(175),
  11384. },
  11385. 492: {
  11386. Fbits: uint8(8),
  11387. Fval: uint16(7),
  11388. },
  11389. 493: {
  11390. Fbits: uint8(8),
  11391. Fval: uint16(135),
  11392. },
  11393. 494: {
  11394. Fbits: uint8(8),
  11395. Fval: uint16(71),
  11396. },
  11397. 495: {
  11398. Fbits: uint8(9),
  11399. Fval: uint16(239),
  11400. },
  11401. 496: {
  11402. Fop: uint8(16),
  11403. Fbits: uint8(7),
  11404. Fval: uint16(9),
  11405. },
  11406. 497: {
  11407. Fbits: uint8(8),
  11408. Fval: uint16(95),
  11409. },
  11410. 498: {
  11411. Fbits: uint8(8),
  11412. Fval: uint16(31),
  11413. },
  11414. 499: {
  11415. Fbits: uint8(9),
  11416. Fval: uint16(159),
  11417. },
  11418. 500: {
  11419. Fop: uint8(20),
  11420. Fbits: uint8(7),
  11421. Fval: uint16(99),
  11422. },
  11423. 501: {
  11424. Fbits: uint8(8),
  11425. Fval: uint16(127),
  11426. },
  11427. 502: {
  11428. Fbits: uint8(8),
  11429. Fval: uint16(63),
  11430. },
  11431. 503: {
  11432. Fbits: uint8(9),
  11433. Fval: uint16(223),
  11434. },
  11435. 504: {
  11436. Fop: uint8(18),
  11437. Fbits: uint8(7),
  11438. Fval: uint16(27),
  11439. },
  11440. 505: {
  11441. Fbits: uint8(8),
  11442. Fval: uint16(111),
  11443. },
  11444. 506: {
  11445. Fbits: uint8(8),
  11446. Fval: uint16(47),
  11447. },
  11448. 507: {
  11449. Fbits: uint8(9),
  11450. Fval: uint16(191),
  11451. },
  11452. 508: {
  11453. Fbits: uint8(8),
  11454. Fval: uint16(15),
  11455. },
  11456. 509: {
  11457. Fbits: uint8(8),
  11458. Fval: uint16(143),
  11459. },
  11460. 510: {
  11461. Fbits: uint8(8),
  11462. Fval: uint16(79),
  11463. },
  11464. 511: {
  11465. Fbits: uint8(9),
  11466. Fval: uint16(255),
  11467. },
  11468. }
  11469. var _distfix = [32]Tcode{
  11470. 0: {
  11471. Fop: uint8(16),
  11472. Fbits: uint8(5),
  11473. Fval: uint16(1),
  11474. },
  11475. 1: {
  11476. Fop: uint8(23),
  11477. Fbits: uint8(5),
  11478. Fval: uint16(257),
  11479. },
  11480. 2: {
  11481. Fop: uint8(19),
  11482. Fbits: uint8(5),
  11483. Fval: uint16(17),
  11484. },
  11485. 3: {
  11486. Fop: uint8(27),
  11487. Fbits: uint8(5),
  11488. Fval: uint16(4097),
  11489. },
  11490. 4: {
  11491. Fop: uint8(17),
  11492. Fbits: uint8(5),
  11493. Fval: uint16(5),
  11494. },
  11495. 5: {
  11496. Fop: uint8(25),
  11497. Fbits: uint8(5),
  11498. Fval: uint16(1025),
  11499. },
  11500. 6: {
  11501. Fop: uint8(21),
  11502. Fbits: uint8(5),
  11503. Fval: uint16(65),
  11504. },
  11505. 7: {
  11506. Fop: uint8(29),
  11507. Fbits: uint8(5),
  11508. Fval: uint16(16385),
  11509. },
  11510. 8: {
  11511. Fop: uint8(16),
  11512. Fbits: uint8(5),
  11513. Fval: uint16(3),
  11514. },
  11515. 9: {
  11516. Fop: uint8(24),
  11517. Fbits: uint8(5),
  11518. Fval: uint16(513),
  11519. },
  11520. 10: {
  11521. Fop: uint8(20),
  11522. Fbits: uint8(5),
  11523. Fval: uint16(33),
  11524. },
  11525. 11: {
  11526. Fop: uint8(28),
  11527. Fbits: uint8(5),
  11528. Fval: uint16(8193),
  11529. },
  11530. 12: {
  11531. Fop: uint8(18),
  11532. Fbits: uint8(5),
  11533. Fval: uint16(9),
  11534. },
  11535. 13: {
  11536. Fop: uint8(26),
  11537. Fbits: uint8(5),
  11538. Fval: uint16(2049),
  11539. },
  11540. 14: {
  11541. Fop: uint8(22),
  11542. Fbits: uint8(5),
  11543. Fval: uint16(129),
  11544. },
  11545. 15: {
  11546. Fop: uint8(64),
  11547. Fbits: uint8(5),
  11548. },
  11549. 16: {
  11550. Fop: uint8(16),
  11551. Fbits: uint8(5),
  11552. Fval: uint16(2),
  11553. },
  11554. 17: {
  11555. Fop: uint8(23),
  11556. Fbits: uint8(5),
  11557. Fval: uint16(385),
  11558. },
  11559. 18: {
  11560. Fop: uint8(19),
  11561. Fbits: uint8(5),
  11562. Fval: uint16(25),
  11563. },
  11564. 19: {
  11565. Fop: uint8(27),
  11566. Fbits: uint8(5),
  11567. Fval: uint16(6145),
  11568. },
  11569. 20: {
  11570. Fop: uint8(17),
  11571. Fbits: uint8(5),
  11572. Fval: uint16(7),
  11573. },
  11574. 21: {
  11575. Fop: uint8(25),
  11576. Fbits: uint8(5),
  11577. Fval: uint16(1537),
  11578. },
  11579. 22: {
  11580. Fop: uint8(21),
  11581. Fbits: uint8(5),
  11582. Fval: uint16(97),
  11583. },
  11584. 23: {
  11585. Fop: uint8(29),
  11586. Fbits: uint8(5),
  11587. Fval: uint16(24577),
  11588. },
  11589. 24: {
  11590. Fop: uint8(16),
  11591. Fbits: uint8(5),
  11592. Fval: uint16(4),
  11593. },
  11594. 25: {
  11595. Fop: uint8(24),
  11596. Fbits: uint8(5),
  11597. Fval: uint16(769),
  11598. },
  11599. 26: {
  11600. Fop: uint8(20),
  11601. Fbits: uint8(5),
  11602. Fval: uint16(49),
  11603. },
  11604. 27: {
  11605. Fop: uint8(28),
  11606. Fbits: uint8(5),
  11607. Fval: uint16(12289),
  11608. },
  11609. 28: {
  11610. Fop: uint8(18),
  11611. Fbits: uint8(5),
  11612. Fval: uint16(13),
  11613. },
  11614. 29: {
  11615. Fop: uint8(26),
  11616. Fbits: uint8(5),
  11617. Fval: uint16(3073),
  11618. },
  11619. 30: {
  11620. Fop: uint8(22),
  11621. Fbits: uint8(5),
  11622. Fval: uint16(193),
  11623. },
  11624. 31: {
  11625. Fop: uint8(64),
  11626. Fbits: uint8(5),
  11627. },
  11628. }
  11629. /* Macros for inflateBack(): */
  11630. /* Load returned state from inflate_fast() */
  11631. /* Set state from registers for inflate_fast() */
  11632. /* Clear the input bit accumulator */
  11633. /* Assure that some input is available. If input is requested, but denied,
  11634. then return a Z_BUF_ERROR from inflateBack(). */
  11635. /* Get a byte of input into the bit accumulator, or return from inflateBack()
  11636. with an error if there is no input available. */
  11637. /* Assure that there are at least n bits in the bit accumulator. If there is
  11638. not enough available input to do that, then return from inflateBack() with
  11639. an error. */
  11640. /* Return the low n bits of the bit accumulator (n < 16) */
  11641. /* Remove n bits from the bit accumulator */
  11642. /* Remove zero to seven bits as needed to go to a byte boundary */
  11643. /* Assure that some output space is available, by writing out the window
  11644. if it's full. If the write fails, return from inflateBack() with a
  11645. Z_BUF_ERROR. */
  11646. // C documentation
  11647. //
  11648. // /*
  11649. // strm provides the memory allocation functions and window buffer on input,
  11650. // and provides information on the unused input on return. For Z_DATA_ERROR
  11651. // returns, strm will also provide an error message.
  11652. //
  11653. // in() and out() are the call-back input and output functions. When
  11654. // inflateBack() needs more input, it calls in(). When inflateBack() has
  11655. // filled the window with output, or when it completes with data in the
  11656. // window, it calls out() to write out the data. The application must not
  11657. // change the provided input until in() is called again or inflateBack()
  11658. // returns. The application must not change the window/output buffer until
  11659. // inflateBack() returns.
  11660. //
  11661. // in() and out() are called with a descriptor parameter provided in the
  11662. // inflateBack() call. This parameter can be a structure that provides the
  11663. // information required to do the read or write, as well as accumulated
  11664. // information on the input and output such as totals and check values.
  11665. //
  11666. // in() should return zero on failure. out() should return non-zero on
  11667. // failure. If either in() or out() fails, than inflateBack() returns a
  11668. // Z_BUF_ERROR. strm->next_in can be checked for Z_NULL to see whether it
  11669. // was in() or out() that caused in the error. Otherwise, inflateBack()
  11670. // returns Z_STREAM_END on success, Z_DATA_ERROR for an deflate format
  11671. // error, or Z_MEM_ERROR if it could not allocate memory for the state.
  11672. // inflateBack() can also return Z_STREAM_ERROR if the input parameters
  11673. // are not correct, i.e. strm is Z_NULL or the state was not initialized.
  11674. // */
  11675. func XinflateBack(tls *libc.TLS, strm Tz_streamp, in Tin_func, in_desc uintptr, out Tout_func, out_desc uintptr) (r int32) {
  11676. bp := tls.Alloc(16)
  11677. defer tls.Free(16)
  11678. var bits, copy1, have, left, len1, v1, v18, v20, v24, v29, v30, v43, v44 uint32
  11679. 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
  11680. var here, last Tcode
  11681. var hold uint64
  11682. var ret int32
  11683. var _ /* next at bp+0 */ uintptr
  11684. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
  11685. /* Check that the strm exists and that the state was initialized */
  11686. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fstate == uintptr(m_Z_NULL) {
  11687. return -int32(2)
  11688. }
  11689. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  11690. /* Reset the state */
  11691. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
  11692. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  11693. (*Tinflate_state)(unsafe.Pointer(state)).Flast = 0
  11694. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  11695. *(*uintptr)(unsafe.Pointer(bp)) = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  11696. if *(*uintptr)(unsafe.Pointer(bp)) != uintptr(m_Z_NULL) {
  11697. v1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  11698. } else {
  11699. v1 = uint32(0)
  11700. }
  11701. have = v1
  11702. hold = uint64(0)
  11703. bits = uint32(0)
  11704. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  11705. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  11706. /* Inflate until end of block marked as last */
  11707. for {
  11708. switch (*Tinflate_state)(unsafe.Pointer(state)).Fmode {
  11709. case int32(_TYPE):
  11710. goto _3
  11711. case int32(_STORED):
  11712. goto _4
  11713. case int32(_TABLE):
  11714. goto _5
  11715. case int32(_LEN):
  11716. goto _6
  11717. case int32(_DONE):
  11718. goto _7
  11719. case int32(_BAD):
  11720. goto _8
  11721. default:
  11722. goto _9
  11723. }
  11724. goto _10
  11725. _3:
  11726. ;
  11727. /* determine and dispatch block type */
  11728. if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
  11729. hold >>= uint64(bits & uint32(7))
  11730. bits -= bits & uint32(7)
  11731. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DONE)
  11732. goto _10
  11733. }
  11734. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  11735. if have == uint32(0) {
  11736. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11737. if have == uint32(0) {
  11738. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11739. ret = -int32(5)
  11740. goto inf_leave
  11741. }
  11742. }
  11743. have--
  11744. v11 = *(*uintptr)(unsafe.Pointer(bp))
  11745. *(*uintptr)(unsafe.Pointer(bp))++
  11746. hold += uint64(*(*uint8)(unsafe.Pointer(v11))) << bits
  11747. bits += uint32(8)
  11748. }
  11749. (*Tinflate_state)(unsafe.Pointer(state)).Flast = libc.Int32FromUint32(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(1) - libc.Uint32FromInt32(1)))
  11750. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(1))
  11751. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(1))
  11752. switch uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2) - libc.Uint32FromInt32(1)) {
  11753. case uint32(0): /* stored block */
  11754. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_STORED)
  11755. case uint32(1): /* fixed block */
  11756. _fixedtables(tls, state)
  11757. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN) /* decode codes */
  11758. case uint32(2): /* dynamic block */
  11759. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TABLE)
  11760. case uint32(3):
  11761. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 6
  11762. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11763. }
  11764. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  11765. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  11766. goto _10
  11767. _4:
  11768. ;
  11769. /* get and verify stored block length */
  11770. _14:
  11771. ;
  11772. hold >>= uint64(bits & uint32(7))
  11773. bits -= bits & uint32(7)
  11774. goto _13
  11775. _13:
  11776. ;
  11777. if 0 != 0 {
  11778. goto _14
  11779. }
  11780. goto _12
  11781. _12:
  11782. ; /* go to byte boundary */
  11783. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  11784. if have == uint32(0) {
  11785. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11786. if have == uint32(0) {
  11787. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11788. ret = -int32(5)
  11789. goto inf_leave
  11790. }
  11791. }
  11792. have--
  11793. v15 = *(*uintptr)(unsafe.Pointer(bp))
  11794. *(*uintptr)(unsafe.Pointer(bp))++
  11795. hold += uint64(*(*uint8)(unsafe.Pointer(v15))) << bits
  11796. bits += uint32(8)
  11797. }
  11798. if hold&uint64(0xffff) != hold>>int32(16)^uint64(0xffff) {
  11799. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 25
  11800. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11801. goto _10
  11802. }
  11803. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold) & uint32(0xffff)
  11804. hold = uint64(0)
  11805. bits = uint32(0)
  11806. /* copy stored block from input to output */
  11807. for (*Tinflate_state)(unsafe.Pointer(state)).Flength != uint32(0) {
  11808. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  11809. if have == uint32(0) {
  11810. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11811. if have == uint32(0) {
  11812. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11813. ret = -int32(5)
  11814. goto inf_leave
  11815. }
  11816. }
  11817. if left == uint32(0) {
  11818. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  11819. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  11820. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
  11821. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
  11822. ret = -int32(5)
  11823. goto inf_leave
  11824. }
  11825. }
  11826. if copy1 > have {
  11827. copy1 = have
  11828. }
  11829. if copy1 > left {
  11830. copy1 = left
  11831. }
  11832. libc.Xmemcpy(tls, put, *(*uintptr)(unsafe.Pointer(bp)), uint64(copy1))
  11833. have -= copy1
  11834. *(*uintptr)(unsafe.Pointer(bp)) += uintptr(copy1)
  11835. left -= copy1
  11836. put += uintptr(copy1)
  11837. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  11838. }
  11839. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  11840. goto _10
  11841. _5:
  11842. ;
  11843. /* get dynamic table entries descriptor */
  11844. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(14)) {
  11845. if have == uint32(0) {
  11846. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11847. if have == uint32(0) {
  11848. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11849. ret = -int32(5)
  11850. goto inf_leave
  11851. }
  11852. }
  11853. have--
  11854. v16 = *(*uintptr)(unsafe.Pointer(bp))
  11855. *(*uintptr)(unsafe.Pointer(bp))++
  11856. hold += uint64(*(*uint8)(unsafe.Pointer(v16))) << bits
  11857. bits += uint32(8)
  11858. }
  11859. (*Tinflate_state)(unsafe.Pointer(state)).Fnlen = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(257)
  11860. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  11861. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  11862. (*Tinflate_state)(unsafe.Pointer(state)).Fndist = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(1)
  11863. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  11864. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  11865. (*Tinflate_state)(unsafe.Pointer(state)).Fncode = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(4)
  11866. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
  11867. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
  11868. if (*Tinflate_state)(unsafe.Pointer(state)).Fnlen > uint32(286) || (*Tinflate_state)(unsafe.Pointer(state)).Fndist > uint32(30) {
  11869. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 54
  11870. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11871. goto _10
  11872. }
  11873. /* get code length code lengths (not a typo) */
  11874. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  11875. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fncode {
  11876. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  11877. if have == uint32(0) {
  11878. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11879. if have == uint32(0) {
  11880. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11881. ret = -int32(5)
  11882. goto inf_leave
  11883. }
  11884. }
  11885. have--
  11886. v17 = *(*uintptr)(unsafe.Pointer(bp))
  11887. *(*uintptr)(unsafe.Pointer(bp))++
  11888. hold += uint64(*(*uint8)(unsafe.Pointer(v17))) << bits
  11889. bits += uint32(8)
  11890. }
  11891. v19 = state + 140
  11892. v18 = *(*uint32)(unsafe.Pointer(v19))
  11893. *(*uint32)(unsafe.Pointer(v19))++
  11894. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order[v18])*2)) = uint16(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3) - libc.Uint32FromInt32(1)))
  11895. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  11896. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  11897. }
  11898. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < uint32(19) {
  11899. v21 = state + 140
  11900. v20 = *(*uint32)(unsafe.Pointer(v21))
  11901. *(*uint32)(unsafe.Pointer(v21))++
  11902. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order[v20])*2)) = uint16(0)
  11903. }
  11904. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  11905. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  11906. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(7)
  11907. ret = Xinflate_table(tls, int32(_CODES), state+152, uint32(19), state+144, state+120, state+792)
  11908. if ret != 0 {
  11909. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 90
  11910. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11911. goto _10
  11912. }
  11913. /* get length and distance code code lengths */
  11914. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  11915. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  11916. for {
  11917. 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))
  11918. if uint32(here.Fbits) <= bits {
  11919. break
  11920. }
  11921. if have == uint32(0) {
  11922. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11923. if have == uint32(0) {
  11924. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11925. ret = -int32(5)
  11926. goto inf_leave
  11927. }
  11928. }
  11929. have--
  11930. v23 = *(*uintptr)(unsafe.Pointer(bp))
  11931. *(*uintptr)(unsafe.Pointer(bp))++
  11932. hold += uint64(*(*uint8)(unsafe.Pointer(v23))) << bits
  11933. bits += uint32(8)
  11934. goto _22
  11935. _22:
  11936. }
  11937. if libc.Int32FromUint16(here.Fval) < int32(16) {
  11938. hold >>= uint64(here.Fbits)
  11939. bits -= uint32(here.Fbits)
  11940. v25 = state + 140
  11941. v24 = *(*uint32)(unsafe.Pointer(v25))
  11942. *(*uint32)(unsafe.Pointer(v25))++
  11943. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v24)*2)) = here.Fval
  11944. } else {
  11945. if libc.Int32FromUint16(here.Fval) == int32(16) {
  11946. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(2)) {
  11947. if have == uint32(0) {
  11948. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11949. if have == uint32(0) {
  11950. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11951. ret = -int32(5)
  11952. goto inf_leave
  11953. }
  11954. }
  11955. have--
  11956. v26 = *(*uintptr)(unsafe.Pointer(bp))
  11957. *(*uintptr)(unsafe.Pointer(bp))++
  11958. hold += uint64(*(*uint8)(unsafe.Pointer(v26))) << bits
  11959. bits += uint32(8)
  11960. }
  11961. hold >>= uint64(here.Fbits)
  11962. bits -= uint32(here.Fbits)
  11963. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave == uint32(0) {
  11964. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  11965. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  11966. break
  11967. }
  11968. len1 = uint32(*(*uint16)(unsafe.Pointer(state + 152 + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fhave-uint32(1))*2)))
  11969. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2)-libc.Uint32FromInt32(1))
  11970. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  11971. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  11972. } else {
  11973. if libc.Int32FromUint16(here.Fval) == int32(17) {
  11974. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(3)) {
  11975. if have == uint32(0) {
  11976. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11977. if have == uint32(0) {
  11978. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  11979. ret = -int32(5)
  11980. goto inf_leave
  11981. }
  11982. }
  11983. have--
  11984. v27 = *(*uintptr)(unsafe.Pointer(bp))
  11985. *(*uintptr)(unsafe.Pointer(bp))++
  11986. hold += uint64(*(*uint8)(unsafe.Pointer(v27))) << bits
  11987. bits += uint32(8)
  11988. }
  11989. hold >>= uint64(here.Fbits)
  11990. bits -= uint32(here.Fbits)
  11991. len1 = uint32(0)
  11992. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3)-libc.Uint32FromInt32(1))
  11993. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  11994. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  11995. } else {
  11996. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(7)) {
  11997. if have == uint32(0) {
  11998. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  11999. if have == uint32(0) {
  12000. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12001. ret = -int32(5)
  12002. goto inf_leave
  12003. }
  12004. }
  12005. have--
  12006. v28 = *(*uintptr)(unsafe.Pointer(bp))
  12007. *(*uintptr)(unsafe.Pointer(bp))++
  12008. hold += uint64(*(*uint8)(unsafe.Pointer(v28))) << bits
  12009. bits += uint32(8)
  12010. }
  12011. hold >>= uint64(here.Fbits)
  12012. bits -= uint32(here.Fbits)
  12013. len1 = uint32(0)
  12014. copy1 = uint32(11) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(7)-libc.Uint32FromInt32(1))
  12015. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(7))
  12016. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(7))
  12017. }
  12018. }
  12019. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave+copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  12020. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  12021. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12022. break
  12023. }
  12024. for {
  12025. v29 = copy1
  12026. copy1--
  12027. if !(v29 != 0) {
  12028. break
  12029. }
  12030. v31 = state + 140
  12031. v30 = *(*uint32)(unsafe.Pointer(v31))
  12032. *(*uint32)(unsafe.Pointer(v31))++
  12033. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v30)*2)) = uint16(len1)
  12034. }
  12035. }
  12036. }
  12037. /* handle error breaks in while */
  12038. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_BAD) {
  12039. goto _10
  12040. }
  12041. /* check for end-of-block code (better have one) */
  12042. if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(state + 152 + 256*2))) == 0 {
  12043. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 141
  12044. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12045. goto _10
  12046. }
  12047. /* build code tables -- note: do not change the lenbits or distbits
  12048. values here (9 and 6) without reading the comments in inftrees.h
  12049. concerning the ENOUGH constants, which depend on those values */
  12050. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  12051. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  12052. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  12053. ret = Xinflate_table(tls, int32(_LENS), state+152, (*Tinflate_state)(unsafe.Pointer(state)).Fnlen, state+144, state+120, state+792)
  12054. if ret != 0 {
  12055. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 178
  12056. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12057. goto _10
  12058. }
  12059. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  12060. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(6)
  12061. 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)
  12062. if ret != 0 {
  12063. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 206
  12064. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12065. goto _10
  12066. }
  12067. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  12068. /* fallthrough */
  12069. _6:
  12070. ;
  12071. /* use inflate_fast() if we have enough input and output */
  12072. if have >= uint32(6) && left >= uint32(258) {
  12073. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  12074. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  12075. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = *(*uintptr)(unsafe.Pointer(bp))
  12076. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  12077. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  12078. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  12079. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  12080. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - left
  12081. }
  12082. Xinflate_fast(tls, strm, (*Tinflate_state)(unsafe.Pointer(state)).Fwsize)
  12083. put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  12084. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  12085. *(*uintptr)(unsafe.Pointer(bp)) = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  12086. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  12087. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  12088. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  12089. goto _10
  12090. }
  12091. /* get a literal, length, or end-of-block code */
  12092. for {
  12093. 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))
  12094. if uint32(here.Fbits) <= bits {
  12095. break
  12096. }
  12097. if have == uint32(0) {
  12098. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12099. if have == uint32(0) {
  12100. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12101. ret = -int32(5)
  12102. goto inf_leave
  12103. }
  12104. }
  12105. have--
  12106. v33 = *(*uintptr)(unsafe.Pointer(bp))
  12107. *(*uintptr)(unsafe.Pointer(bp))++
  12108. hold += uint64(*(*uint8)(unsafe.Pointer(v33))) << bits
  12109. bits += uint32(8)
  12110. goto _32
  12111. _32:
  12112. }
  12113. if here.Fop != 0 && libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  12114. last = here
  12115. for {
  12116. 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))
  12117. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  12118. break
  12119. }
  12120. if have == uint32(0) {
  12121. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12122. if have == uint32(0) {
  12123. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12124. ret = -int32(5)
  12125. goto inf_leave
  12126. }
  12127. }
  12128. have--
  12129. v35 = *(*uintptr)(unsafe.Pointer(bp))
  12130. *(*uintptr)(unsafe.Pointer(bp))++
  12131. hold += uint64(*(*uint8)(unsafe.Pointer(v35))) << bits
  12132. bits += uint32(8)
  12133. goto _34
  12134. _34:
  12135. }
  12136. hold >>= uint64(last.Fbits)
  12137. bits -= uint32(last.Fbits)
  12138. }
  12139. hold >>= uint64(here.Fbits)
  12140. bits -= uint32(here.Fbits)
  12141. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(here.Fval)
  12142. /* process literal */
  12143. if libc.Int32FromUint8(here.Fop) == 0 {
  12144. if left == uint32(0) {
  12145. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  12146. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  12147. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
  12148. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
  12149. ret = -int32(5)
  12150. goto inf_leave
  12151. }
  12152. }
  12153. v36 = put
  12154. put++
  12155. *(*uint8)(unsafe.Pointer(v36)) = uint8((*Tinflate_state)(unsafe.Pointer(state)).Flength)
  12156. left--
  12157. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  12158. goto _10
  12159. }
  12160. /* process end of block */
  12161. if libc.Int32FromUint8(here.Fop)&int32(32) != 0 {
  12162. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  12163. goto _10
  12164. }
  12165. /* invalid code */
  12166. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  12167. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
  12168. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12169. goto _10
  12170. }
  12171. /* length code -- get extra bits, if any */
  12172. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  12173. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != uint32(0) {
  12174. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  12175. if have == uint32(0) {
  12176. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12177. if have == uint32(0) {
  12178. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12179. ret = -int32(5)
  12180. goto inf_leave
  12181. }
  12182. }
  12183. have--
  12184. v37 = *(*uintptr)(unsafe.Pointer(bp))
  12185. *(*uintptr)(unsafe.Pointer(bp))++
  12186. hold += uint64(*(*uint8)(unsafe.Pointer(v37))) << bits
  12187. bits += uint32(8)
  12188. }
  12189. *(*uint32)(unsafe.Pointer(state + 92)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  12190. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  12191. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  12192. }
  12193. /* get distance code */
  12194. for {
  12195. 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))
  12196. if uint32(here.Fbits) <= bits {
  12197. break
  12198. }
  12199. if have == uint32(0) {
  12200. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12201. if have == uint32(0) {
  12202. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12203. ret = -int32(5)
  12204. goto inf_leave
  12205. }
  12206. }
  12207. have--
  12208. v39 = *(*uintptr)(unsafe.Pointer(bp))
  12209. *(*uintptr)(unsafe.Pointer(bp))++
  12210. hold += uint64(*(*uint8)(unsafe.Pointer(v39))) << bits
  12211. bits += uint32(8)
  12212. goto _38
  12213. _38:
  12214. }
  12215. if libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  12216. last = here
  12217. for {
  12218. 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))
  12219. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  12220. break
  12221. }
  12222. if have == uint32(0) {
  12223. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12224. if have == uint32(0) {
  12225. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12226. ret = -int32(5)
  12227. goto inf_leave
  12228. }
  12229. }
  12230. have--
  12231. v41 = *(*uintptr)(unsafe.Pointer(bp))
  12232. *(*uintptr)(unsafe.Pointer(bp))++
  12233. hold += uint64(*(*uint8)(unsafe.Pointer(v41))) << bits
  12234. bits += uint32(8)
  12235. goto _40
  12236. _40:
  12237. }
  12238. hold >>= uint64(last.Fbits)
  12239. bits -= uint32(last.Fbits)
  12240. }
  12241. hold >>= uint64(here.Fbits)
  12242. bits -= uint32(here.Fbits)
  12243. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  12244. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
  12245. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12246. goto _10
  12247. }
  12248. (*Tinflate_state)(unsafe.Pointer(state)).Foffset = uint32(here.Fval)
  12249. /* get distance extra bits, if any */
  12250. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  12251. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != uint32(0) {
  12252. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  12253. if have == uint32(0) {
  12254. have = (*(*func(*libc.TLS, uintptr, uintptr) uint32)(unsafe.Pointer(&struct{ uintptr }{in})))(tls, in_desc, bp)
  12255. if have == uint32(0) {
  12256. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(m_Z_NULL)
  12257. ret = -int32(5)
  12258. goto inf_leave
  12259. }
  12260. }
  12261. have--
  12262. v42 = *(*uintptr)(unsafe.Pointer(bp))
  12263. *(*uintptr)(unsafe.Pointer(bp))++
  12264. hold += uint64(*(*uint8)(unsafe.Pointer(v42))) << bits
  12265. bits += uint32(8)
  12266. }
  12267. *(*uint32)(unsafe.Pointer(state + 96)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  12268. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  12269. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  12270. }
  12271. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  12272. v43 = left
  12273. } else {
  12274. v43 = uint32(0)
  12275. }
  12276. if (*Tinflate_state)(unsafe.Pointer(state)).Foffset > (*Tinflate_state)(unsafe.Pointer(state)).Fwsize-v43 {
  12277. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
  12278. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12279. goto _10
  12280. }
  12281. /* copy match from window to output */
  12282. for cond := true; cond; cond = (*Tinflate_state)(unsafe.Pointer(state)).Flength != uint32(0) {
  12283. if left == uint32(0) {
  12284. put = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  12285. left = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  12286. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = left
  12287. if (*(*func(*libc.TLS, uintptr, uintptr, uint32) int32)(unsafe.Pointer(&struct{ uintptr }{out})))(tls, out_desc, put, left) != 0 {
  12288. ret = -int32(5)
  12289. goto inf_leave
  12290. }
  12291. }
  12292. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - (*Tinflate_state)(unsafe.Pointer(state)).Foffset
  12293. if copy1 < left {
  12294. from = put + uintptr(copy1)
  12295. copy1 = left - copy1
  12296. } else {
  12297. from = put - uintptr((*Tinflate_state)(unsafe.Pointer(state)).Foffset)
  12298. copy1 = left
  12299. }
  12300. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Flength {
  12301. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  12302. }
  12303. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  12304. left -= copy1
  12305. for {
  12306. v46 = put
  12307. put++
  12308. v47 = from
  12309. from++
  12310. *(*uint8)(unsafe.Pointer(v46)) = *(*uint8)(unsafe.Pointer(v47))
  12311. goto _45
  12312. _45:
  12313. ;
  12314. copy1--
  12315. v44 = copy1
  12316. if !(v44 != 0) {
  12317. break
  12318. }
  12319. }
  12320. }
  12321. goto _10
  12322. _7:
  12323. ;
  12324. /* inflate stream terminated properly */
  12325. ret = int32(m_Z_STREAM_END)
  12326. goto inf_leave
  12327. _8:
  12328. ;
  12329. ret = -int32(3)
  12330. goto inf_leave
  12331. _9:
  12332. ;
  12333. /* can't happen, but makes compilers happy */
  12334. ret = -int32(2)
  12335. goto inf_leave
  12336. _10:
  12337. ;
  12338. goto _2
  12339. _2:
  12340. }
  12341. /* Write leftover output and return unused input */
  12342. goto inf_leave
  12343. inf_leave:
  12344. ;
  12345. if left < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  12346. 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) {
  12347. ret = -int32(5)
  12348. }
  12349. }
  12350. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = *(*uintptr)(unsafe.Pointer(bp))
  12351. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  12352. return ret
  12353. }
  12354. var _order = [19]uint16{
  12355. 0: uint16(16),
  12356. 1: uint16(17),
  12357. 2: uint16(18),
  12358. 4: uint16(8),
  12359. 5: uint16(7),
  12360. 6: uint16(9),
  12361. 7: uint16(6),
  12362. 8: uint16(10),
  12363. 9: uint16(5),
  12364. 10: uint16(11),
  12365. 11: uint16(4),
  12366. 12: uint16(12),
  12367. 13: uint16(3),
  12368. 14: uint16(13),
  12369. 15: uint16(2),
  12370. 16: uint16(14),
  12371. 17: uint16(1),
  12372. 18: uint16(15),
  12373. }
  12374. func XinflateBackEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
  12375. 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) {
  12376. return -int32(2)
  12377. }
  12378. (*(*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)
  12379. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  12380. return m_Z_OK
  12381. }
  12382. // C documentation
  12383. //
  12384. // /*
  12385. // Decode literal, length, and distance codes and write out the resulting
  12386. // literal and match bytes until either not enough input or output is
  12387. // available, an end-of-block is encountered, or a data error is encountered.
  12388. // When large enough input and output buffers are supplied to inflate(), for
  12389. // example, a 16K input buffer and a 64K output buffer, more than 95% of the
  12390. // inflate execution time is spent in this routine.
  12391. //
  12392. // Entry assumptions:
  12393. //
  12394. // state->mode == LEN
  12395. // strm->avail_in >= 6
  12396. // strm->avail_out >= 258
  12397. // start >= strm->avail_out
  12398. // state->bits < 8
  12399. //
  12400. // On return, state->mode is one of:
  12401. //
  12402. // LEN -- ran out of enough output space or enough available input
  12403. // TYPE -- reached end of block code, inflate() to interpret next block
  12404. // BAD -- error in block data
  12405. //
  12406. // Notes:
  12407. //
  12408. // - The maximum input bits used by a length/distance pair is 15 bits for the
  12409. // length code, 5 bits for the length extra, 15 bits for the distance code,
  12410. // and 13 bits for the distance extra. This totals 48 bits, or six bytes.
  12411. // Therefore if strm->avail_in >= 6, then there is enough input to avoid
  12412. // checking for available input while decoding.
  12413. //
  12414. // - The maximum bytes that a single length/distance pair can output is 258
  12415. // bytes, which is the maximum length that can be coded. inflate_fast()
  12416. // requires strm->avail_out >= 258 for each loop to avoid checking for
  12417. // output space.
  12418. // */
  12419. func Xinflate_fast(tls *libc.TLS, strm Tz_streamp, start uint32) {
  12420. 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
  12421. var bits, dist, dmask, len1, lmask, op, whave, wnext, wsize, v13, v17, v21, v9 uint32
  12422. var hold uint64
  12423. var v45, v46 int64
  12424. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
  12425. /* copy state to local variables */
  12426. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12427. in = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  12428. last = in + uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_in-libc.Uint32FromInt32(5))
  12429. out = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  12430. beg = out - uintptr(start-(*Tz_stream)(unsafe.Pointer(strm)).Favail_out)
  12431. end = out + uintptr((*Tz_stream)(unsafe.Pointer(strm)).Favail_out-libc.Uint32FromInt32(257))
  12432. wsize = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  12433. whave = (*Tinflate_state)(unsafe.Pointer(state)).Fwhave
  12434. wnext = (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
  12435. window = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow
  12436. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  12437. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  12438. lcode = (*Tinflate_state)(unsafe.Pointer(state)).Flencode
  12439. dcode = (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode
  12440. lmask = uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Flenbits - uint32(1)
  12441. dmask = uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fdistbits - uint32(1)
  12442. /* decode literals and length/distances until end-of-block or not enough
  12443. input data or output space */
  12444. for cond := true; cond; cond = in < last && out < end {
  12445. if bits < uint32(15) {
  12446. v1 = in
  12447. in++
  12448. hold += uint64(*(*uint8)(unsafe.Pointer(v1))) << bits
  12449. bits += uint32(8)
  12450. v2 = in
  12451. in++
  12452. hold += uint64(*(*uint8)(unsafe.Pointer(v2))) << bits
  12453. bits += uint32(8)
  12454. }
  12455. here = lcode + uintptr(hold&uint64(lmask))*4
  12456. goto dolen
  12457. dolen:
  12458. ;
  12459. op = uint32((*Tcode)(unsafe.Pointer(here)).Fbits)
  12460. hold >>= uint64(op)
  12461. bits -= op
  12462. op = uint32((*Tcode)(unsafe.Pointer(here)).Fop)
  12463. if op == uint32(0) { /* literal */
  12464. v3 = out
  12465. out++
  12466. *(*uint8)(unsafe.Pointer(v3)) = uint8((*Tcode)(unsafe.Pointer(here)).Fval)
  12467. } else {
  12468. if op&uint32(16) != 0 { /* length base */
  12469. len1 = uint32((*Tcode)(unsafe.Pointer(here)).Fval)
  12470. op &= uint32(15) /* number of extra bits */
  12471. if op != 0 {
  12472. if bits < op {
  12473. v4 = in
  12474. in++
  12475. hold += uint64(*(*uint8)(unsafe.Pointer(v4))) << bits
  12476. bits += uint32(8)
  12477. }
  12478. len1 += uint32(hold) & (uint32(1)<<op - uint32(1))
  12479. hold >>= uint64(op)
  12480. bits -= op
  12481. }
  12482. if bits < uint32(15) {
  12483. v5 = in
  12484. in++
  12485. hold += uint64(*(*uint8)(unsafe.Pointer(v5))) << bits
  12486. bits += uint32(8)
  12487. v6 = in
  12488. in++
  12489. hold += uint64(*(*uint8)(unsafe.Pointer(v6))) << bits
  12490. bits += uint32(8)
  12491. }
  12492. here = dcode + uintptr(hold&uint64(dmask))*4
  12493. goto dodist
  12494. dodist:
  12495. ;
  12496. op = uint32((*Tcode)(unsafe.Pointer(here)).Fbits)
  12497. hold >>= uint64(op)
  12498. bits -= op
  12499. op = uint32((*Tcode)(unsafe.Pointer(here)).Fop)
  12500. if op&uint32(16) != 0 { /* distance base */
  12501. dist = uint32((*Tcode)(unsafe.Pointer(here)).Fval)
  12502. op &= uint32(15) /* number of extra bits */
  12503. if bits < op {
  12504. v7 = in
  12505. in++
  12506. hold += uint64(*(*uint8)(unsafe.Pointer(v7))) << bits
  12507. bits += uint32(8)
  12508. if bits < op {
  12509. v8 = in
  12510. in++
  12511. hold += uint64(*(*uint8)(unsafe.Pointer(v8))) << bits
  12512. bits += uint32(8)
  12513. }
  12514. }
  12515. dist += uint32(hold) & (uint32(1)<<op - uint32(1))
  12516. hold >>= uint64(op)
  12517. bits -= op
  12518. op = libc.Uint32FromInt64(int64(out) - int64(beg)) /* max distance in output */
  12519. if dist > op { /* see if copy from window */
  12520. op = dist - op /* distance back in window */
  12521. if op > whave {
  12522. if (*Tinflate_state)(unsafe.Pointer(state)).Fsane != 0 {
  12523. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
  12524. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12525. break
  12526. }
  12527. }
  12528. from = window
  12529. if wnext == uint32(0) { /* very common case */
  12530. from += uintptr(wsize - op)
  12531. if op < len1 { /* some from window */
  12532. len1 -= op
  12533. for {
  12534. v11 = out
  12535. out++
  12536. v12 = from
  12537. from++
  12538. *(*uint8)(unsafe.Pointer(v11)) = *(*uint8)(unsafe.Pointer(v12))
  12539. goto _10
  12540. _10:
  12541. ;
  12542. op--
  12543. v9 = op
  12544. if !(v9 != 0) {
  12545. break
  12546. }
  12547. }
  12548. from = out - uintptr(dist) /* rest from output */
  12549. }
  12550. } else {
  12551. if wnext < op { /* wrap around window */
  12552. from += uintptr(wsize + wnext - op)
  12553. op -= wnext
  12554. if op < len1 { /* some from end of window */
  12555. len1 -= op
  12556. for {
  12557. v15 = out
  12558. out++
  12559. v16 = from
  12560. from++
  12561. *(*uint8)(unsafe.Pointer(v15)) = *(*uint8)(unsafe.Pointer(v16))
  12562. goto _14
  12563. _14:
  12564. ;
  12565. op--
  12566. v13 = op
  12567. if !(v13 != 0) {
  12568. break
  12569. }
  12570. }
  12571. from = window
  12572. if wnext < len1 { /* some from start of window */
  12573. op = wnext
  12574. len1 -= op
  12575. for {
  12576. v19 = out
  12577. out++
  12578. v20 = from
  12579. from++
  12580. *(*uint8)(unsafe.Pointer(v19)) = *(*uint8)(unsafe.Pointer(v20))
  12581. goto _18
  12582. _18:
  12583. ;
  12584. op--
  12585. v17 = op
  12586. if !(v17 != 0) {
  12587. break
  12588. }
  12589. }
  12590. from = out - uintptr(dist) /* rest from output */
  12591. }
  12592. }
  12593. } else { /* contiguous in window */
  12594. from += uintptr(wnext - op)
  12595. if op < len1 { /* some from window */
  12596. len1 -= op
  12597. for {
  12598. v23 = out
  12599. out++
  12600. v24 = from
  12601. from++
  12602. *(*uint8)(unsafe.Pointer(v23)) = *(*uint8)(unsafe.Pointer(v24))
  12603. goto _22
  12604. _22:
  12605. ;
  12606. op--
  12607. v21 = op
  12608. if !(v21 != 0) {
  12609. break
  12610. }
  12611. }
  12612. from = out - uintptr(dist) /* rest from output */
  12613. }
  12614. }
  12615. }
  12616. for len1 > uint32(2) {
  12617. v25 = out
  12618. out++
  12619. v26 = from
  12620. from++
  12621. *(*uint8)(unsafe.Pointer(v25)) = *(*uint8)(unsafe.Pointer(v26))
  12622. v27 = out
  12623. out++
  12624. v28 = from
  12625. from++
  12626. *(*uint8)(unsafe.Pointer(v27)) = *(*uint8)(unsafe.Pointer(v28))
  12627. v29 = out
  12628. out++
  12629. v30 = from
  12630. from++
  12631. *(*uint8)(unsafe.Pointer(v29)) = *(*uint8)(unsafe.Pointer(v30))
  12632. len1 -= uint32(3)
  12633. }
  12634. if len1 != 0 {
  12635. v31 = out
  12636. out++
  12637. v32 = from
  12638. from++
  12639. *(*uint8)(unsafe.Pointer(v31)) = *(*uint8)(unsafe.Pointer(v32))
  12640. if len1 > uint32(1) {
  12641. v33 = out
  12642. out++
  12643. v34 = from
  12644. from++
  12645. *(*uint8)(unsafe.Pointer(v33)) = *(*uint8)(unsafe.Pointer(v34))
  12646. }
  12647. }
  12648. } else {
  12649. from = out - uintptr(dist) /* copy direct from output */
  12650. for cond := true; cond; cond = len1 > uint32(2) { /* minimum length is three */
  12651. v35 = out
  12652. out++
  12653. v36 = from
  12654. from++
  12655. *(*uint8)(unsafe.Pointer(v35)) = *(*uint8)(unsafe.Pointer(v36))
  12656. v37 = out
  12657. out++
  12658. v38 = from
  12659. from++
  12660. *(*uint8)(unsafe.Pointer(v37)) = *(*uint8)(unsafe.Pointer(v38))
  12661. v39 = out
  12662. out++
  12663. v40 = from
  12664. from++
  12665. *(*uint8)(unsafe.Pointer(v39)) = *(*uint8)(unsafe.Pointer(v40))
  12666. len1 -= uint32(3)
  12667. }
  12668. if len1 != 0 {
  12669. v41 = out
  12670. out++
  12671. v42 = from
  12672. from++
  12673. *(*uint8)(unsafe.Pointer(v41)) = *(*uint8)(unsafe.Pointer(v42))
  12674. if len1 > uint32(1) {
  12675. v43 = out
  12676. out++
  12677. v44 = from
  12678. from++
  12679. *(*uint8)(unsafe.Pointer(v43)) = *(*uint8)(unsafe.Pointer(v44))
  12680. }
  12681. }
  12682. }
  12683. } else {
  12684. if op&uint32(64) == uint32(0) { /* 2nd level distance code */
  12685. here = dcode + uintptr((*Tcode)(unsafe.Pointer(here)).Fval)*4 + uintptr(hold&uint64(libc.Uint32FromUint32(1)<<op-libc.Uint32FromInt32(1)))*4
  12686. goto dodist
  12687. } else {
  12688. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
  12689. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12690. break
  12691. }
  12692. }
  12693. } else {
  12694. if op&uint32(64) == uint32(0) { /* 2nd level length code */
  12695. here = lcode + uintptr((*Tcode)(unsafe.Pointer(here)).Fval)*4 + uintptr(hold&uint64(libc.Uint32FromUint32(1)<<op-libc.Uint32FromInt32(1)))*4
  12696. goto dolen
  12697. } else {
  12698. if op&uint32(32) != 0 { /* end-of-block */
  12699. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  12700. break
  12701. } else {
  12702. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
  12703. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  12704. break
  12705. }
  12706. }
  12707. }
  12708. }
  12709. }
  12710. /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
  12711. len1 = bits >> int32(3)
  12712. in -= uintptr(len1)
  12713. bits -= len1 << int32(3)
  12714. hold &= uint64(uint32(1)<<bits - uint32(1))
  12715. /* update state and return */
  12716. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = in
  12717. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = out
  12718. if in < last {
  12719. v45 = int64(5) + (int64(last) - int64(in))
  12720. } else {
  12721. v45 = int64(5) - (int64(in) - int64(last))
  12722. }
  12723. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = libc.Uint32FromInt64(v45)
  12724. if out < end {
  12725. v46 = int64(257) + (int64(end) - int64(out))
  12726. } else {
  12727. v46 = int64(257) - (int64(out) - int64(end))
  12728. }
  12729. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = libc.Uint32FromInt64(v46)
  12730. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  12731. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  12732. return
  12733. }
  12734. func _inflateStateCheck(tls *libc.TLS, strm Tz_streamp) (r int32) {
  12735. var state uintptr
  12736. _ = state
  12737. if strm == uintptr(m_Z_NULL) || (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) || (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  12738. return int32(1)
  12739. }
  12740. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12741. 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) {
  12742. return int32(1)
  12743. }
  12744. return 0
  12745. }
  12746. func XinflateResetKeep(tls *libc.TLS, strm Tz_streamp) (r int32) {
  12747. var state, v3, v4 uintptr
  12748. var v1 TuLong
  12749. var v2 uint64
  12750. _, _, _, _, _ = state, v1, v2, v3, v4
  12751. if _inflateStateCheck(tls, strm) != 0 {
  12752. return -int32(2)
  12753. }
  12754. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12755. v2 = libc.Uint64FromInt32(0)
  12756. (*Tinflate_state)(unsafe.Pointer(state)).Ftotal = v2
  12757. v1 = v2
  12758. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = v1
  12759. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = v1
  12760. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL)
  12761. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 { /* to support ill-conceived Java test suite */
  12762. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = libc.Uint64FromInt32((*Tinflate_state)(unsafe.Pointer(state)).Fwrap & int32(1))
  12763. }
  12764. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_HEAD)
  12765. (*Tinflate_state)(unsafe.Pointer(state)).Flast = 0
  12766. (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict = 0
  12767. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = -int32(1)
  12768. (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(32768)
  12769. (*Tinflate_state)(unsafe.Pointer(state)).Fhead = uintptr(m_Z_NULL)
  12770. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = uint64(0)
  12771. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = uint32(0)
  12772. v4 = state + 1368
  12773. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = v4
  12774. v3 = v4
  12775. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = v3
  12776. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = v3
  12777. (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
  12778. (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
  12779. return m_Z_OK
  12780. }
  12781. func XinflateReset(tls *libc.TLS, strm Tz_streamp) (r int32) {
  12782. var state uintptr
  12783. _ = state
  12784. if _inflateStateCheck(tls, strm) != 0 {
  12785. return -int32(2)
  12786. }
  12787. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12788. (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(0)
  12789. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  12790. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  12791. return XinflateResetKeep(tls, strm)
  12792. }
  12793. func XinflateReset2(tls *libc.TLS, strm Tz_streamp, windowBits int32) (r int32) {
  12794. var state uintptr
  12795. var wrap int32
  12796. _, _ = state, wrap
  12797. /* get the state */
  12798. if _inflateStateCheck(tls, strm) != 0 {
  12799. return -int32(2)
  12800. }
  12801. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12802. /* extract wrap request from windowBits parameter */
  12803. if windowBits < 0 {
  12804. if windowBits < -int32(15) {
  12805. return -int32(2)
  12806. }
  12807. wrap = 0
  12808. windowBits = -windowBits
  12809. } else {
  12810. wrap = windowBits>>int32(4) + int32(5)
  12811. if windowBits < int32(48) {
  12812. windowBits &= int32(15)
  12813. }
  12814. }
  12815. /* set number of window bits, free window if different */
  12816. if windowBits != 0 && (windowBits < int32(8) || windowBits > int32(15)) {
  12817. return -int32(2)
  12818. }
  12819. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) && (*Tinflate_state)(unsafe.Pointer(state)).Fwbits != libc.Uint32FromInt32(windowBits) {
  12820. (*(*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)
  12821. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = uintptr(m_Z_NULL)
  12822. }
  12823. /* update state and reset the rest of it */
  12824. (*Tinflate_state)(unsafe.Pointer(state)).Fwrap = wrap
  12825. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = libc.Uint32FromInt32(windowBits)
  12826. return XinflateReset(tls, strm)
  12827. }
  12828. func XinflateInit2_(tls *libc.TLS, strm Tz_streamp, windowBits int32, version uintptr, stream_size int32) (r int32) {
  12829. var ret int32
  12830. var state uintptr
  12831. _, _ = ret, state
  12832. 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)) {
  12833. return -int32(6)
  12834. }
  12835. if strm == uintptr(m_Z_NULL) {
  12836. return -int32(2)
  12837. }
  12838. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = uintptr(m_Z_NULL) /* in case we return an error */
  12839. if (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc == libc.UintptrFromInt32(0) {
  12840. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = __ccgo_fp(Xzcalloc)
  12841. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = libc.UintptrFromInt32(0)
  12842. }
  12843. if (*Tz_stream)(unsafe.Pointer(strm)).Fzfree == libc.UintptrFromInt32(0) {
  12844. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = __ccgo_fp(Xzcfree)
  12845. }
  12846. 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)))
  12847. if state == uintptr(m_Z_NULL) {
  12848. return -int32(4)
  12849. }
  12850. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = state
  12851. (*Tinflate_state)(unsafe.Pointer(state)).Fstrm = strm
  12852. (*Tinflate_state)(unsafe.Pointer(state)).Fwindow = uintptr(m_Z_NULL)
  12853. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_HEAD) /* to pass state test in inflateReset2() */
  12854. ret = XinflateReset2(tls, strm, windowBits)
  12855. if ret != m_Z_OK {
  12856. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(strm)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(strm)).Fopaque, state)
  12857. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  12858. }
  12859. return ret
  12860. }
  12861. func XinflateInit_(tls *libc.TLS, strm Tz_streamp, version uintptr, stream_size int32) (r int32) {
  12862. return XinflateInit2_(tls, strm, int32(m_MAX_WBITS), version, stream_size)
  12863. }
  12864. func XinflatePrime(tls *libc.TLS, strm Tz_streamp, bits int32, value int32) (r int32) {
  12865. var state uintptr
  12866. _ = state
  12867. if _inflateStateCheck(tls, strm) != 0 {
  12868. return -int32(2)
  12869. }
  12870. if bits == 0 {
  12871. return m_Z_OK
  12872. }
  12873. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  12874. if bits < 0 {
  12875. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = uint64(0)
  12876. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = uint32(0)
  12877. return m_Z_OK
  12878. }
  12879. if bits > int32(16) || (*Tinflate_state)(unsafe.Pointer(state)).Fbits+libc.Uint32FromInt32(bits) > uint32(32) {
  12880. return -int32(2)
  12881. }
  12882. value = int32(int64(value) & (libc.Int64FromInt64(1)<<bits - libc.Int64FromInt32(1)))
  12883. *(*uint64)(unsafe.Pointer(state + 80)) += uint64(libc.Uint32FromInt32(value) << (*Tinflate_state)(unsafe.Pointer(state)).Fbits)
  12884. *(*uint32)(unsafe.Pointer(state + 88)) += libc.Uint32FromInt32(bits)
  12885. return m_Z_OK
  12886. }
  12887. // C documentation
  12888. //
  12889. // /*
  12890. // Return state with length and distance decoding tables and index sizes set to
  12891. // fixed code decoding. Normally this returns fixed tables from inffixed.h.
  12892. // If BUILDFIXED is defined, then instead this routine builds the tables the
  12893. // first time it's called, and returns those tables the first time and
  12894. // thereafter. This reduces the size of the code by about 2K bytes, in
  12895. // exchange for a little execution time. However, BUILDFIXED should not be
  12896. // used for threaded applications, since the rewriting of the tables and virgin
  12897. // may not be thread-safe.
  12898. // */
  12899. func _fixedtables1(tls *libc.TLS, state uintptr) {
  12900. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = uintptr(unsafe.Pointer(&_lenfix1))
  12901. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  12902. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = uintptr(unsafe.Pointer(&_distfix1))
  12903. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(5)
  12904. }
  12905. var _lenfix1 = [512]Tcode{
  12906. 0: {
  12907. Fop: uint8(96),
  12908. Fbits: uint8(7),
  12909. },
  12910. 1: {
  12911. Fbits: uint8(8),
  12912. Fval: uint16(80),
  12913. },
  12914. 2: {
  12915. Fbits: uint8(8),
  12916. Fval: uint16(16),
  12917. },
  12918. 3: {
  12919. Fop: uint8(20),
  12920. Fbits: uint8(8),
  12921. Fval: uint16(115),
  12922. },
  12923. 4: {
  12924. Fop: uint8(18),
  12925. Fbits: uint8(7),
  12926. Fval: uint16(31),
  12927. },
  12928. 5: {
  12929. Fbits: uint8(8),
  12930. Fval: uint16(112),
  12931. },
  12932. 6: {
  12933. Fbits: uint8(8),
  12934. Fval: uint16(48),
  12935. },
  12936. 7: {
  12937. Fbits: uint8(9),
  12938. Fval: uint16(192),
  12939. },
  12940. 8: {
  12941. Fop: uint8(16),
  12942. Fbits: uint8(7),
  12943. Fval: uint16(10),
  12944. },
  12945. 9: {
  12946. Fbits: uint8(8),
  12947. Fval: uint16(96),
  12948. },
  12949. 10: {
  12950. Fbits: uint8(8),
  12951. Fval: uint16(32),
  12952. },
  12953. 11: {
  12954. Fbits: uint8(9),
  12955. Fval: uint16(160),
  12956. },
  12957. 12: {
  12958. Fbits: uint8(8),
  12959. },
  12960. 13: {
  12961. Fbits: uint8(8),
  12962. Fval: uint16(128),
  12963. },
  12964. 14: {
  12965. Fbits: uint8(8),
  12966. Fval: uint16(64),
  12967. },
  12968. 15: {
  12969. Fbits: uint8(9),
  12970. Fval: uint16(224),
  12971. },
  12972. 16: {
  12973. Fop: uint8(16),
  12974. Fbits: uint8(7),
  12975. Fval: uint16(6),
  12976. },
  12977. 17: {
  12978. Fbits: uint8(8),
  12979. Fval: uint16(88),
  12980. },
  12981. 18: {
  12982. Fbits: uint8(8),
  12983. Fval: uint16(24),
  12984. },
  12985. 19: {
  12986. Fbits: uint8(9),
  12987. Fval: uint16(144),
  12988. },
  12989. 20: {
  12990. Fop: uint8(19),
  12991. Fbits: uint8(7),
  12992. Fval: uint16(59),
  12993. },
  12994. 21: {
  12995. Fbits: uint8(8),
  12996. Fval: uint16(120),
  12997. },
  12998. 22: {
  12999. Fbits: uint8(8),
  13000. Fval: uint16(56),
  13001. },
  13002. 23: {
  13003. Fbits: uint8(9),
  13004. Fval: uint16(208),
  13005. },
  13006. 24: {
  13007. Fop: uint8(17),
  13008. Fbits: uint8(7),
  13009. Fval: uint16(17),
  13010. },
  13011. 25: {
  13012. Fbits: uint8(8),
  13013. Fval: uint16(104),
  13014. },
  13015. 26: {
  13016. Fbits: uint8(8),
  13017. Fval: uint16(40),
  13018. },
  13019. 27: {
  13020. Fbits: uint8(9),
  13021. Fval: uint16(176),
  13022. },
  13023. 28: {
  13024. Fbits: uint8(8),
  13025. Fval: uint16(8),
  13026. },
  13027. 29: {
  13028. Fbits: uint8(8),
  13029. Fval: uint16(136),
  13030. },
  13031. 30: {
  13032. Fbits: uint8(8),
  13033. Fval: uint16(72),
  13034. },
  13035. 31: {
  13036. Fbits: uint8(9),
  13037. Fval: uint16(240),
  13038. },
  13039. 32: {
  13040. Fop: uint8(16),
  13041. Fbits: uint8(7),
  13042. Fval: uint16(4),
  13043. },
  13044. 33: {
  13045. Fbits: uint8(8),
  13046. Fval: uint16(84),
  13047. },
  13048. 34: {
  13049. Fbits: uint8(8),
  13050. Fval: uint16(20),
  13051. },
  13052. 35: {
  13053. Fop: uint8(21),
  13054. Fbits: uint8(8),
  13055. Fval: uint16(227),
  13056. },
  13057. 36: {
  13058. Fop: uint8(19),
  13059. Fbits: uint8(7),
  13060. Fval: uint16(43),
  13061. },
  13062. 37: {
  13063. Fbits: uint8(8),
  13064. Fval: uint16(116),
  13065. },
  13066. 38: {
  13067. Fbits: uint8(8),
  13068. Fval: uint16(52),
  13069. },
  13070. 39: {
  13071. Fbits: uint8(9),
  13072. Fval: uint16(200),
  13073. },
  13074. 40: {
  13075. Fop: uint8(17),
  13076. Fbits: uint8(7),
  13077. Fval: uint16(13),
  13078. },
  13079. 41: {
  13080. Fbits: uint8(8),
  13081. Fval: uint16(100),
  13082. },
  13083. 42: {
  13084. Fbits: uint8(8),
  13085. Fval: uint16(36),
  13086. },
  13087. 43: {
  13088. Fbits: uint8(9),
  13089. Fval: uint16(168),
  13090. },
  13091. 44: {
  13092. Fbits: uint8(8),
  13093. Fval: uint16(4),
  13094. },
  13095. 45: {
  13096. Fbits: uint8(8),
  13097. Fval: uint16(132),
  13098. },
  13099. 46: {
  13100. Fbits: uint8(8),
  13101. Fval: uint16(68),
  13102. },
  13103. 47: {
  13104. Fbits: uint8(9),
  13105. Fval: uint16(232),
  13106. },
  13107. 48: {
  13108. Fop: uint8(16),
  13109. Fbits: uint8(7),
  13110. Fval: uint16(8),
  13111. },
  13112. 49: {
  13113. Fbits: uint8(8),
  13114. Fval: uint16(92),
  13115. },
  13116. 50: {
  13117. Fbits: uint8(8),
  13118. Fval: uint16(28),
  13119. },
  13120. 51: {
  13121. Fbits: uint8(9),
  13122. Fval: uint16(152),
  13123. },
  13124. 52: {
  13125. Fop: uint8(20),
  13126. Fbits: uint8(7),
  13127. Fval: uint16(83),
  13128. },
  13129. 53: {
  13130. Fbits: uint8(8),
  13131. Fval: uint16(124),
  13132. },
  13133. 54: {
  13134. Fbits: uint8(8),
  13135. Fval: uint16(60),
  13136. },
  13137. 55: {
  13138. Fbits: uint8(9),
  13139. Fval: uint16(216),
  13140. },
  13141. 56: {
  13142. Fop: uint8(18),
  13143. Fbits: uint8(7),
  13144. Fval: uint16(23),
  13145. },
  13146. 57: {
  13147. Fbits: uint8(8),
  13148. Fval: uint16(108),
  13149. },
  13150. 58: {
  13151. Fbits: uint8(8),
  13152. Fval: uint16(44),
  13153. },
  13154. 59: {
  13155. Fbits: uint8(9),
  13156. Fval: uint16(184),
  13157. },
  13158. 60: {
  13159. Fbits: uint8(8),
  13160. Fval: uint16(12),
  13161. },
  13162. 61: {
  13163. Fbits: uint8(8),
  13164. Fval: uint16(140),
  13165. },
  13166. 62: {
  13167. Fbits: uint8(8),
  13168. Fval: uint16(76),
  13169. },
  13170. 63: {
  13171. Fbits: uint8(9),
  13172. Fval: uint16(248),
  13173. },
  13174. 64: {
  13175. Fop: uint8(16),
  13176. Fbits: uint8(7),
  13177. Fval: uint16(3),
  13178. },
  13179. 65: {
  13180. Fbits: uint8(8),
  13181. Fval: uint16(82),
  13182. },
  13183. 66: {
  13184. Fbits: uint8(8),
  13185. Fval: uint16(18),
  13186. },
  13187. 67: {
  13188. Fop: uint8(21),
  13189. Fbits: uint8(8),
  13190. Fval: uint16(163),
  13191. },
  13192. 68: {
  13193. Fop: uint8(19),
  13194. Fbits: uint8(7),
  13195. Fval: uint16(35),
  13196. },
  13197. 69: {
  13198. Fbits: uint8(8),
  13199. Fval: uint16(114),
  13200. },
  13201. 70: {
  13202. Fbits: uint8(8),
  13203. Fval: uint16(50),
  13204. },
  13205. 71: {
  13206. Fbits: uint8(9),
  13207. Fval: uint16(196),
  13208. },
  13209. 72: {
  13210. Fop: uint8(17),
  13211. Fbits: uint8(7),
  13212. Fval: uint16(11),
  13213. },
  13214. 73: {
  13215. Fbits: uint8(8),
  13216. Fval: uint16(98),
  13217. },
  13218. 74: {
  13219. Fbits: uint8(8),
  13220. Fval: uint16(34),
  13221. },
  13222. 75: {
  13223. Fbits: uint8(9),
  13224. Fval: uint16(164),
  13225. },
  13226. 76: {
  13227. Fbits: uint8(8),
  13228. Fval: uint16(2),
  13229. },
  13230. 77: {
  13231. Fbits: uint8(8),
  13232. Fval: uint16(130),
  13233. },
  13234. 78: {
  13235. Fbits: uint8(8),
  13236. Fval: uint16(66),
  13237. },
  13238. 79: {
  13239. Fbits: uint8(9),
  13240. Fval: uint16(228),
  13241. },
  13242. 80: {
  13243. Fop: uint8(16),
  13244. Fbits: uint8(7),
  13245. Fval: uint16(7),
  13246. },
  13247. 81: {
  13248. Fbits: uint8(8),
  13249. Fval: uint16(90),
  13250. },
  13251. 82: {
  13252. Fbits: uint8(8),
  13253. Fval: uint16(26),
  13254. },
  13255. 83: {
  13256. Fbits: uint8(9),
  13257. Fval: uint16(148),
  13258. },
  13259. 84: {
  13260. Fop: uint8(20),
  13261. Fbits: uint8(7),
  13262. Fval: uint16(67),
  13263. },
  13264. 85: {
  13265. Fbits: uint8(8),
  13266. Fval: uint16(122),
  13267. },
  13268. 86: {
  13269. Fbits: uint8(8),
  13270. Fval: uint16(58),
  13271. },
  13272. 87: {
  13273. Fbits: uint8(9),
  13274. Fval: uint16(212),
  13275. },
  13276. 88: {
  13277. Fop: uint8(18),
  13278. Fbits: uint8(7),
  13279. Fval: uint16(19),
  13280. },
  13281. 89: {
  13282. Fbits: uint8(8),
  13283. Fval: uint16(106),
  13284. },
  13285. 90: {
  13286. Fbits: uint8(8),
  13287. Fval: uint16(42),
  13288. },
  13289. 91: {
  13290. Fbits: uint8(9),
  13291. Fval: uint16(180),
  13292. },
  13293. 92: {
  13294. Fbits: uint8(8),
  13295. Fval: uint16(10),
  13296. },
  13297. 93: {
  13298. Fbits: uint8(8),
  13299. Fval: uint16(138),
  13300. },
  13301. 94: {
  13302. Fbits: uint8(8),
  13303. Fval: uint16(74),
  13304. },
  13305. 95: {
  13306. Fbits: uint8(9),
  13307. Fval: uint16(244),
  13308. },
  13309. 96: {
  13310. Fop: uint8(16),
  13311. Fbits: uint8(7),
  13312. Fval: uint16(5),
  13313. },
  13314. 97: {
  13315. Fbits: uint8(8),
  13316. Fval: uint16(86),
  13317. },
  13318. 98: {
  13319. Fbits: uint8(8),
  13320. Fval: uint16(22),
  13321. },
  13322. 99: {
  13323. Fop: uint8(64),
  13324. Fbits: uint8(8),
  13325. },
  13326. 100: {
  13327. Fop: uint8(19),
  13328. Fbits: uint8(7),
  13329. Fval: uint16(51),
  13330. },
  13331. 101: {
  13332. Fbits: uint8(8),
  13333. Fval: uint16(118),
  13334. },
  13335. 102: {
  13336. Fbits: uint8(8),
  13337. Fval: uint16(54),
  13338. },
  13339. 103: {
  13340. Fbits: uint8(9),
  13341. Fval: uint16(204),
  13342. },
  13343. 104: {
  13344. Fop: uint8(17),
  13345. Fbits: uint8(7),
  13346. Fval: uint16(15),
  13347. },
  13348. 105: {
  13349. Fbits: uint8(8),
  13350. Fval: uint16(102),
  13351. },
  13352. 106: {
  13353. Fbits: uint8(8),
  13354. Fval: uint16(38),
  13355. },
  13356. 107: {
  13357. Fbits: uint8(9),
  13358. Fval: uint16(172),
  13359. },
  13360. 108: {
  13361. Fbits: uint8(8),
  13362. Fval: uint16(6),
  13363. },
  13364. 109: {
  13365. Fbits: uint8(8),
  13366. Fval: uint16(134),
  13367. },
  13368. 110: {
  13369. Fbits: uint8(8),
  13370. Fval: uint16(70),
  13371. },
  13372. 111: {
  13373. Fbits: uint8(9),
  13374. Fval: uint16(236),
  13375. },
  13376. 112: {
  13377. Fop: uint8(16),
  13378. Fbits: uint8(7),
  13379. Fval: uint16(9),
  13380. },
  13381. 113: {
  13382. Fbits: uint8(8),
  13383. Fval: uint16(94),
  13384. },
  13385. 114: {
  13386. Fbits: uint8(8),
  13387. Fval: uint16(30),
  13388. },
  13389. 115: {
  13390. Fbits: uint8(9),
  13391. Fval: uint16(156),
  13392. },
  13393. 116: {
  13394. Fop: uint8(20),
  13395. Fbits: uint8(7),
  13396. Fval: uint16(99),
  13397. },
  13398. 117: {
  13399. Fbits: uint8(8),
  13400. Fval: uint16(126),
  13401. },
  13402. 118: {
  13403. Fbits: uint8(8),
  13404. Fval: uint16(62),
  13405. },
  13406. 119: {
  13407. Fbits: uint8(9),
  13408. Fval: uint16(220),
  13409. },
  13410. 120: {
  13411. Fop: uint8(18),
  13412. Fbits: uint8(7),
  13413. Fval: uint16(27),
  13414. },
  13415. 121: {
  13416. Fbits: uint8(8),
  13417. Fval: uint16(110),
  13418. },
  13419. 122: {
  13420. Fbits: uint8(8),
  13421. Fval: uint16(46),
  13422. },
  13423. 123: {
  13424. Fbits: uint8(9),
  13425. Fval: uint16(188),
  13426. },
  13427. 124: {
  13428. Fbits: uint8(8),
  13429. Fval: uint16(14),
  13430. },
  13431. 125: {
  13432. Fbits: uint8(8),
  13433. Fval: uint16(142),
  13434. },
  13435. 126: {
  13436. Fbits: uint8(8),
  13437. Fval: uint16(78),
  13438. },
  13439. 127: {
  13440. Fbits: uint8(9),
  13441. Fval: uint16(252),
  13442. },
  13443. 128: {
  13444. Fop: uint8(96),
  13445. Fbits: uint8(7),
  13446. },
  13447. 129: {
  13448. Fbits: uint8(8),
  13449. Fval: uint16(81),
  13450. },
  13451. 130: {
  13452. Fbits: uint8(8),
  13453. Fval: uint16(17),
  13454. },
  13455. 131: {
  13456. Fop: uint8(21),
  13457. Fbits: uint8(8),
  13458. Fval: uint16(131),
  13459. },
  13460. 132: {
  13461. Fop: uint8(18),
  13462. Fbits: uint8(7),
  13463. Fval: uint16(31),
  13464. },
  13465. 133: {
  13466. Fbits: uint8(8),
  13467. Fval: uint16(113),
  13468. },
  13469. 134: {
  13470. Fbits: uint8(8),
  13471. Fval: uint16(49),
  13472. },
  13473. 135: {
  13474. Fbits: uint8(9),
  13475. Fval: uint16(194),
  13476. },
  13477. 136: {
  13478. Fop: uint8(16),
  13479. Fbits: uint8(7),
  13480. Fval: uint16(10),
  13481. },
  13482. 137: {
  13483. Fbits: uint8(8),
  13484. Fval: uint16(97),
  13485. },
  13486. 138: {
  13487. Fbits: uint8(8),
  13488. Fval: uint16(33),
  13489. },
  13490. 139: {
  13491. Fbits: uint8(9),
  13492. Fval: uint16(162),
  13493. },
  13494. 140: {
  13495. Fbits: uint8(8),
  13496. Fval: uint16(1),
  13497. },
  13498. 141: {
  13499. Fbits: uint8(8),
  13500. Fval: uint16(129),
  13501. },
  13502. 142: {
  13503. Fbits: uint8(8),
  13504. Fval: uint16(65),
  13505. },
  13506. 143: {
  13507. Fbits: uint8(9),
  13508. Fval: uint16(226),
  13509. },
  13510. 144: {
  13511. Fop: uint8(16),
  13512. Fbits: uint8(7),
  13513. Fval: uint16(6),
  13514. },
  13515. 145: {
  13516. Fbits: uint8(8),
  13517. Fval: uint16(89),
  13518. },
  13519. 146: {
  13520. Fbits: uint8(8),
  13521. Fval: uint16(25),
  13522. },
  13523. 147: {
  13524. Fbits: uint8(9),
  13525. Fval: uint16(146),
  13526. },
  13527. 148: {
  13528. Fop: uint8(19),
  13529. Fbits: uint8(7),
  13530. Fval: uint16(59),
  13531. },
  13532. 149: {
  13533. Fbits: uint8(8),
  13534. Fval: uint16(121),
  13535. },
  13536. 150: {
  13537. Fbits: uint8(8),
  13538. Fval: uint16(57),
  13539. },
  13540. 151: {
  13541. Fbits: uint8(9),
  13542. Fval: uint16(210),
  13543. },
  13544. 152: {
  13545. Fop: uint8(17),
  13546. Fbits: uint8(7),
  13547. Fval: uint16(17),
  13548. },
  13549. 153: {
  13550. Fbits: uint8(8),
  13551. Fval: uint16(105),
  13552. },
  13553. 154: {
  13554. Fbits: uint8(8),
  13555. Fval: uint16(41),
  13556. },
  13557. 155: {
  13558. Fbits: uint8(9),
  13559. Fval: uint16(178),
  13560. },
  13561. 156: {
  13562. Fbits: uint8(8),
  13563. Fval: uint16(9),
  13564. },
  13565. 157: {
  13566. Fbits: uint8(8),
  13567. Fval: uint16(137),
  13568. },
  13569. 158: {
  13570. Fbits: uint8(8),
  13571. Fval: uint16(73),
  13572. },
  13573. 159: {
  13574. Fbits: uint8(9),
  13575. Fval: uint16(242),
  13576. },
  13577. 160: {
  13578. Fop: uint8(16),
  13579. Fbits: uint8(7),
  13580. Fval: uint16(4),
  13581. },
  13582. 161: {
  13583. Fbits: uint8(8),
  13584. Fval: uint16(85),
  13585. },
  13586. 162: {
  13587. Fbits: uint8(8),
  13588. Fval: uint16(21),
  13589. },
  13590. 163: {
  13591. Fop: uint8(16),
  13592. Fbits: uint8(8),
  13593. Fval: uint16(258),
  13594. },
  13595. 164: {
  13596. Fop: uint8(19),
  13597. Fbits: uint8(7),
  13598. Fval: uint16(43),
  13599. },
  13600. 165: {
  13601. Fbits: uint8(8),
  13602. Fval: uint16(117),
  13603. },
  13604. 166: {
  13605. Fbits: uint8(8),
  13606. Fval: uint16(53),
  13607. },
  13608. 167: {
  13609. Fbits: uint8(9),
  13610. Fval: uint16(202),
  13611. },
  13612. 168: {
  13613. Fop: uint8(17),
  13614. Fbits: uint8(7),
  13615. Fval: uint16(13),
  13616. },
  13617. 169: {
  13618. Fbits: uint8(8),
  13619. Fval: uint16(101),
  13620. },
  13621. 170: {
  13622. Fbits: uint8(8),
  13623. Fval: uint16(37),
  13624. },
  13625. 171: {
  13626. Fbits: uint8(9),
  13627. Fval: uint16(170),
  13628. },
  13629. 172: {
  13630. Fbits: uint8(8),
  13631. Fval: uint16(5),
  13632. },
  13633. 173: {
  13634. Fbits: uint8(8),
  13635. Fval: uint16(133),
  13636. },
  13637. 174: {
  13638. Fbits: uint8(8),
  13639. Fval: uint16(69),
  13640. },
  13641. 175: {
  13642. Fbits: uint8(9),
  13643. Fval: uint16(234),
  13644. },
  13645. 176: {
  13646. Fop: uint8(16),
  13647. Fbits: uint8(7),
  13648. Fval: uint16(8),
  13649. },
  13650. 177: {
  13651. Fbits: uint8(8),
  13652. Fval: uint16(93),
  13653. },
  13654. 178: {
  13655. Fbits: uint8(8),
  13656. Fval: uint16(29),
  13657. },
  13658. 179: {
  13659. Fbits: uint8(9),
  13660. Fval: uint16(154),
  13661. },
  13662. 180: {
  13663. Fop: uint8(20),
  13664. Fbits: uint8(7),
  13665. Fval: uint16(83),
  13666. },
  13667. 181: {
  13668. Fbits: uint8(8),
  13669. Fval: uint16(125),
  13670. },
  13671. 182: {
  13672. Fbits: uint8(8),
  13673. Fval: uint16(61),
  13674. },
  13675. 183: {
  13676. Fbits: uint8(9),
  13677. Fval: uint16(218),
  13678. },
  13679. 184: {
  13680. Fop: uint8(18),
  13681. Fbits: uint8(7),
  13682. Fval: uint16(23),
  13683. },
  13684. 185: {
  13685. Fbits: uint8(8),
  13686. Fval: uint16(109),
  13687. },
  13688. 186: {
  13689. Fbits: uint8(8),
  13690. Fval: uint16(45),
  13691. },
  13692. 187: {
  13693. Fbits: uint8(9),
  13694. Fval: uint16(186),
  13695. },
  13696. 188: {
  13697. Fbits: uint8(8),
  13698. Fval: uint16(13),
  13699. },
  13700. 189: {
  13701. Fbits: uint8(8),
  13702. Fval: uint16(141),
  13703. },
  13704. 190: {
  13705. Fbits: uint8(8),
  13706. Fval: uint16(77),
  13707. },
  13708. 191: {
  13709. Fbits: uint8(9),
  13710. Fval: uint16(250),
  13711. },
  13712. 192: {
  13713. Fop: uint8(16),
  13714. Fbits: uint8(7),
  13715. Fval: uint16(3),
  13716. },
  13717. 193: {
  13718. Fbits: uint8(8),
  13719. Fval: uint16(83),
  13720. },
  13721. 194: {
  13722. Fbits: uint8(8),
  13723. Fval: uint16(19),
  13724. },
  13725. 195: {
  13726. Fop: uint8(21),
  13727. Fbits: uint8(8),
  13728. Fval: uint16(195),
  13729. },
  13730. 196: {
  13731. Fop: uint8(19),
  13732. Fbits: uint8(7),
  13733. Fval: uint16(35),
  13734. },
  13735. 197: {
  13736. Fbits: uint8(8),
  13737. Fval: uint16(115),
  13738. },
  13739. 198: {
  13740. Fbits: uint8(8),
  13741. Fval: uint16(51),
  13742. },
  13743. 199: {
  13744. Fbits: uint8(9),
  13745. Fval: uint16(198),
  13746. },
  13747. 200: {
  13748. Fop: uint8(17),
  13749. Fbits: uint8(7),
  13750. Fval: uint16(11),
  13751. },
  13752. 201: {
  13753. Fbits: uint8(8),
  13754. Fval: uint16(99),
  13755. },
  13756. 202: {
  13757. Fbits: uint8(8),
  13758. Fval: uint16(35),
  13759. },
  13760. 203: {
  13761. Fbits: uint8(9),
  13762. Fval: uint16(166),
  13763. },
  13764. 204: {
  13765. Fbits: uint8(8),
  13766. Fval: uint16(3),
  13767. },
  13768. 205: {
  13769. Fbits: uint8(8),
  13770. Fval: uint16(131),
  13771. },
  13772. 206: {
  13773. Fbits: uint8(8),
  13774. Fval: uint16(67),
  13775. },
  13776. 207: {
  13777. Fbits: uint8(9),
  13778. Fval: uint16(230),
  13779. },
  13780. 208: {
  13781. Fop: uint8(16),
  13782. Fbits: uint8(7),
  13783. Fval: uint16(7),
  13784. },
  13785. 209: {
  13786. Fbits: uint8(8),
  13787. Fval: uint16(91),
  13788. },
  13789. 210: {
  13790. Fbits: uint8(8),
  13791. Fval: uint16(27),
  13792. },
  13793. 211: {
  13794. Fbits: uint8(9),
  13795. Fval: uint16(150),
  13796. },
  13797. 212: {
  13798. Fop: uint8(20),
  13799. Fbits: uint8(7),
  13800. Fval: uint16(67),
  13801. },
  13802. 213: {
  13803. Fbits: uint8(8),
  13804. Fval: uint16(123),
  13805. },
  13806. 214: {
  13807. Fbits: uint8(8),
  13808. Fval: uint16(59),
  13809. },
  13810. 215: {
  13811. Fbits: uint8(9),
  13812. Fval: uint16(214),
  13813. },
  13814. 216: {
  13815. Fop: uint8(18),
  13816. Fbits: uint8(7),
  13817. Fval: uint16(19),
  13818. },
  13819. 217: {
  13820. Fbits: uint8(8),
  13821. Fval: uint16(107),
  13822. },
  13823. 218: {
  13824. Fbits: uint8(8),
  13825. Fval: uint16(43),
  13826. },
  13827. 219: {
  13828. Fbits: uint8(9),
  13829. Fval: uint16(182),
  13830. },
  13831. 220: {
  13832. Fbits: uint8(8),
  13833. Fval: uint16(11),
  13834. },
  13835. 221: {
  13836. Fbits: uint8(8),
  13837. Fval: uint16(139),
  13838. },
  13839. 222: {
  13840. Fbits: uint8(8),
  13841. Fval: uint16(75),
  13842. },
  13843. 223: {
  13844. Fbits: uint8(9),
  13845. Fval: uint16(246),
  13846. },
  13847. 224: {
  13848. Fop: uint8(16),
  13849. Fbits: uint8(7),
  13850. Fval: uint16(5),
  13851. },
  13852. 225: {
  13853. Fbits: uint8(8),
  13854. Fval: uint16(87),
  13855. },
  13856. 226: {
  13857. Fbits: uint8(8),
  13858. Fval: uint16(23),
  13859. },
  13860. 227: {
  13861. Fop: uint8(64),
  13862. Fbits: uint8(8),
  13863. },
  13864. 228: {
  13865. Fop: uint8(19),
  13866. Fbits: uint8(7),
  13867. Fval: uint16(51),
  13868. },
  13869. 229: {
  13870. Fbits: uint8(8),
  13871. Fval: uint16(119),
  13872. },
  13873. 230: {
  13874. Fbits: uint8(8),
  13875. Fval: uint16(55),
  13876. },
  13877. 231: {
  13878. Fbits: uint8(9),
  13879. Fval: uint16(206),
  13880. },
  13881. 232: {
  13882. Fop: uint8(17),
  13883. Fbits: uint8(7),
  13884. Fval: uint16(15),
  13885. },
  13886. 233: {
  13887. Fbits: uint8(8),
  13888. Fval: uint16(103),
  13889. },
  13890. 234: {
  13891. Fbits: uint8(8),
  13892. Fval: uint16(39),
  13893. },
  13894. 235: {
  13895. Fbits: uint8(9),
  13896. Fval: uint16(174),
  13897. },
  13898. 236: {
  13899. Fbits: uint8(8),
  13900. Fval: uint16(7),
  13901. },
  13902. 237: {
  13903. Fbits: uint8(8),
  13904. Fval: uint16(135),
  13905. },
  13906. 238: {
  13907. Fbits: uint8(8),
  13908. Fval: uint16(71),
  13909. },
  13910. 239: {
  13911. Fbits: uint8(9),
  13912. Fval: uint16(238),
  13913. },
  13914. 240: {
  13915. Fop: uint8(16),
  13916. Fbits: uint8(7),
  13917. Fval: uint16(9),
  13918. },
  13919. 241: {
  13920. Fbits: uint8(8),
  13921. Fval: uint16(95),
  13922. },
  13923. 242: {
  13924. Fbits: uint8(8),
  13925. Fval: uint16(31),
  13926. },
  13927. 243: {
  13928. Fbits: uint8(9),
  13929. Fval: uint16(158),
  13930. },
  13931. 244: {
  13932. Fop: uint8(20),
  13933. Fbits: uint8(7),
  13934. Fval: uint16(99),
  13935. },
  13936. 245: {
  13937. Fbits: uint8(8),
  13938. Fval: uint16(127),
  13939. },
  13940. 246: {
  13941. Fbits: uint8(8),
  13942. Fval: uint16(63),
  13943. },
  13944. 247: {
  13945. Fbits: uint8(9),
  13946. Fval: uint16(222),
  13947. },
  13948. 248: {
  13949. Fop: uint8(18),
  13950. Fbits: uint8(7),
  13951. Fval: uint16(27),
  13952. },
  13953. 249: {
  13954. Fbits: uint8(8),
  13955. Fval: uint16(111),
  13956. },
  13957. 250: {
  13958. Fbits: uint8(8),
  13959. Fval: uint16(47),
  13960. },
  13961. 251: {
  13962. Fbits: uint8(9),
  13963. Fval: uint16(190),
  13964. },
  13965. 252: {
  13966. Fbits: uint8(8),
  13967. Fval: uint16(15),
  13968. },
  13969. 253: {
  13970. Fbits: uint8(8),
  13971. Fval: uint16(143),
  13972. },
  13973. 254: {
  13974. Fbits: uint8(8),
  13975. Fval: uint16(79),
  13976. },
  13977. 255: {
  13978. Fbits: uint8(9),
  13979. Fval: uint16(254),
  13980. },
  13981. 256: {
  13982. Fop: uint8(96),
  13983. Fbits: uint8(7),
  13984. },
  13985. 257: {
  13986. Fbits: uint8(8),
  13987. Fval: uint16(80),
  13988. },
  13989. 258: {
  13990. Fbits: uint8(8),
  13991. Fval: uint16(16),
  13992. },
  13993. 259: {
  13994. Fop: uint8(20),
  13995. Fbits: uint8(8),
  13996. Fval: uint16(115),
  13997. },
  13998. 260: {
  13999. Fop: uint8(18),
  14000. Fbits: uint8(7),
  14001. Fval: uint16(31),
  14002. },
  14003. 261: {
  14004. Fbits: uint8(8),
  14005. Fval: uint16(112),
  14006. },
  14007. 262: {
  14008. Fbits: uint8(8),
  14009. Fval: uint16(48),
  14010. },
  14011. 263: {
  14012. Fbits: uint8(9),
  14013. Fval: uint16(193),
  14014. },
  14015. 264: {
  14016. Fop: uint8(16),
  14017. Fbits: uint8(7),
  14018. Fval: uint16(10),
  14019. },
  14020. 265: {
  14021. Fbits: uint8(8),
  14022. Fval: uint16(96),
  14023. },
  14024. 266: {
  14025. Fbits: uint8(8),
  14026. Fval: uint16(32),
  14027. },
  14028. 267: {
  14029. Fbits: uint8(9),
  14030. Fval: uint16(161),
  14031. },
  14032. 268: {
  14033. Fbits: uint8(8),
  14034. },
  14035. 269: {
  14036. Fbits: uint8(8),
  14037. Fval: uint16(128),
  14038. },
  14039. 270: {
  14040. Fbits: uint8(8),
  14041. Fval: uint16(64),
  14042. },
  14043. 271: {
  14044. Fbits: uint8(9),
  14045. Fval: uint16(225),
  14046. },
  14047. 272: {
  14048. Fop: uint8(16),
  14049. Fbits: uint8(7),
  14050. Fval: uint16(6),
  14051. },
  14052. 273: {
  14053. Fbits: uint8(8),
  14054. Fval: uint16(88),
  14055. },
  14056. 274: {
  14057. Fbits: uint8(8),
  14058. Fval: uint16(24),
  14059. },
  14060. 275: {
  14061. Fbits: uint8(9),
  14062. Fval: uint16(145),
  14063. },
  14064. 276: {
  14065. Fop: uint8(19),
  14066. Fbits: uint8(7),
  14067. Fval: uint16(59),
  14068. },
  14069. 277: {
  14070. Fbits: uint8(8),
  14071. Fval: uint16(120),
  14072. },
  14073. 278: {
  14074. Fbits: uint8(8),
  14075. Fval: uint16(56),
  14076. },
  14077. 279: {
  14078. Fbits: uint8(9),
  14079. Fval: uint16(209),
  14080. },
  14081. 280: {
  14082. Fop: uint8(17),
  14083. Fbits: uint8(7),
  14084. Fval: uint16(17),
  14085. },
  14086. 281: {
  14087. Fbits: uint8(8),
  14088. Fval: uint16(104),
  14089. },
  14090. 282: {
  14091. Fbits: uint8(8),
  14092. Fval: uint16(40),
  14093. },
  14094. 283: {
  14095. Fbits: uint8(9),
  14096. Fval: uint16(177),
  14097. },
  14098. 284: {
  14099. Fbits: uint8(8),
  14100. Fval: uint16(8),
  14101. },
  14102. 285: {
  14103. Fbits: uint8(8),
  14104. Fval: uint16(136),
  14105. },
  14106. 286: {
  14107. Fbits: uint8(8),
  14108. Fval: uint16(72),
  14109. },
  14110. 287: {
  14111. Fbits: uint8(9),
  14112. Fval: uint16(241),
  14113. },
  14114. 288: {
  14115. Fop: uint8(16),
  14116. Fbits: uint8(7),
  14117. Fval: uint16(4),
  14118. },
  14119. 289: {
  14120. Fbits: uint8(8),
  14121. Fval: uint16(84),
  14122. },
  14123. 290: {
  14124. Fbits: uint8(8),
  14125. Fval: uint16(20),
  14126. },
  14127. 291: {
  14128. Fop: uint8(21),
  14129. Fbits: uint8(8),
  14130. Fval: uint16(227),
  14131. },
  14132. 292: {
  14133. Fop: uint8(19),
  14134. Fbits: uint8(7),
  14135. Fval: uint16(43),
  14136. },
  14137. 293: {
  14138. Fbits: uint8(8),
  14139. Fval: uint16(116),
  14140. },
  14141. 294: {
  14142. Fbits: uint8(8),
  14143. Fval: uint16(52),
  14144. },
  14145. 295: {
  14146. Fbits: uint8(9),
  14147. Fval: uint16(201),
  14148. },
  14149. 296: {
  14150. Fop: uint8(17),
  14151. Fbits: uint8(7),
  14152. Fval: uint16(13),
  14153. },
  14154. 297: {
  14155. Fbits: uint8(8),
  14156. Fval: uint16(100),
  14157. },
  14158. 298: {
  14159. Fbits: uint8(8),
  14160. Fval: uint16(36),
  14161. },
  14162. 299: {
  14163. Fbits: uint8(9),
  14164. Fval: uint16(169),
  14165. },
  14166. 300: {
  14167. Fbits: uint8(8),
  14168. Fval: uint16(4),
  14169. },
  14170. 301: {
  14171. Fbits: uint8(8),
  14172. Fval: uint16(132),
  14173. },
  14174. 302: {
  14175. Fbits: uint8(8),
  14176. Fval: uint16(68),
  14177. },
  14178. 303: {
  14179. Fbits: uint8(9),
  14180. Fval: uint16(233),
  14181. },
  14182. 304: {
  14183. Fop: uint8(16),
  14184. Fbits: uint8(7),
  14185. Fval: uint16(8),
  14186. },
  14187. 305: {
  14188. Fbits: uint8(8),
  14189. Fval: uint16(92),
  14190. },
  14191. 306: {
  14192. Fbits: uint8(8),
  14193. Fval: uint16(28),
  14194. },
  14195. 307: {
  14196. Fbits: uint8(9),
  14197. Fval: uint16(153),
  14198. },
  14199. 308: {
  14200. Fop: uint8(20),
  14201. Fbits: uint8(7),
  14202. Fval: uint16(83),
  14203. },
  14204. 309: {
  14205. Fbits: uint8(8),
  14206. Fval: uint16(124),
  14207. },
  14208. 310: {
  14209. Fbits: uint8(8),
  14210. Fval: uint16(60),
  14211. },
  14212. 311: {
  14213. Fbits: uint8(9),
  14214. Fval: uint16(217),
  14215. },
  14216. 312: {
  14217. Fop: uint8(18),
  14218. Fbits: uint8(7),
  14219. Fval: uint16(23),
  14220. },
  14221. 313: {
  14222. Fbits: uint8(8),
  14223. Fval: uint16(108),
  14224. },
  14225. 314: {
  14226. Fbits: uint8(8),
  14227. Fval: uint16(44),
  14228. },
  14229. 315: {
  14230. Fbits: uint8(9),
  14231. Fval: uint16(185),
  14232. },
  14233. 316: {
  14234. Fbits: uint8(8),
  14235. Fval: uint16(12),
  14236. },
  14237. 317: {
  14238. Fbits: uint8(8),
  14239. Fval: uint16(140),
  14240. },
  14241. 318: {
  14242. Fbits: uint8(8),
  14243. Fval: uint16(76),
  14244. },
  14245. 319: {
  14246. Fbits: uint8(9),
  14247. Fval: uint16(249),
  14248. },
  14249. 320: {
  14250. Fop: uint8(16),
  14251. Fbits: uint8(7),
  14252. Fval: uint16(3),
  14253. },
  14254. 321: {
  14255. Fbits: uint8(8),
  14256. Fval: uint16(82),
  14257. },
  14258. 322: {
  14259. Fbits: uint8(8),
  14260. Fval: uint16(18),
  14261. },
  14262. 323: {
  14263. Fop: uint8(21),
  14264. Fbits: uint8(8),
  14265. Fval: uint16(163),
  14266. },
  14267. 324: {
  14268. Fop: uint8(19),
  14269. Fbits: uint8(7),
  14270. Fval: uint16(35),
  14271. },
  14272. 325: {
  14273. Fbits: uint8(8),
  14274. Fval: uint16(114),
  14275. },
  14276. 326: {
  14277. Fbits: uint8(8),
  14278. Fval: uint16(50),
  14279. },
  14280. 327: {
  14281. Fbits: uint8(9),
  14282. Fval: uint16(197),
  14283. },
  14284. 328: {
  14285. Fop: uint8(17),
  14286. Fbits: uint8(7),
  14287. Fval: uint16(11),
  14288. },
  14289. 329: {
  14290. Fbits: uint8(8),
  14291. Fval: uint16(98),
  14292. },
  14293. 330: {
  14294. Fbits: uint8(8),
  14295. Fval: uint16(34),
  14296. },
  14297. 331: {
  14298. Fbits: uint8(9),
  14299. Fval: uint16(165),
  14300. },
  14301. 332: {
  14302. Fbits: uint8(8),
  14303. Fval: uint16(2),
  14304. },
  14305. 333: {
  14306. Fbits: uint8(8),
  14307. Fval: uint16(130),
  14308. },
  14309. 334: {
  14310. Fbits: uint8(8),
  14311. Fval: uint16(66),
  14312. },
  14313. 335: {
  14314. Fbits: uint8(9),
  14315. Fval: uint16(229),
  14316. },
  14317. 336: {
  14318. Fop: uint8(16),
  14319. Fbits: uint8(7),
  14320. Fval: uint16(7),
  14321. },
  14322. 337: {
  14323. Fbits: uint8(8),
  14324. Fval: uint16(90),
  14325. },
  14326. 338: {
  14327. Fbits: uint8(8),
  14328. Fval: uint16(26),
  14329. },
  14330. 339: {
  14331. Fbits: uint8(9),
  14332. Fval: uint16(149),
  14333. },
  14334. 340: {
  14335. Fop: uint8(20),
  14336. Fbits: uint8(7),
  14337. Fval: uint16(67),
  14338. },
  14339. 341: {
  14340. Fbits: uint8(8),
  14341. Fval: uint16(122),
  14342. },
  14343. 342: {
  14344. Fbits: uint8(8),
  14345. Fval: uint16(58),
  14346. },
  14347. 343: {
  14348. Fbits: uint8(9),
  14349. Fval: uint16(213),
  14350. },
  14351. 344: {
  14352. Fop: uint8(18),
  14353. Fbits: uint8(7),
  14354. Fval: uint16(19),
  14355. },
  14356. 345: {
  14357. Fbits: uint8(8),
  14358. Fval: uint16(106),
  14359. },
  14360. 346: {
  14361. Fbits: uint8(8),
  14362. Fval: uint16(42),
  14363. },
  14364. 347: {
  14365. Fbits: uint8(9),
  14366. Fval: uint16(181),
  14367. },
  14368. 348: {
  14369. Fbits: uint8(8),
  14370. Fval: uint16(10),
  14371. },
  14372. 349: {
  14373. Fbits: uint8(8),
  14374. Fval: uint16(138),
  14375. },
  14376. 350: {
  14377. Fbits: uint8(8),
  14378. Fval: uint16(74),
  14379. },
  14380. 351: {
  14381. Fbits: uint8(9),
  14382. Fval: uint16(245),
  14383. },
  14384. 352: {
  14385. Fop: uint8(16),
  14386. Fbits: uint8(7),
  14387. Fval: uint16(5),
  14388. },
  14389. 353: {
  14390. Fbits: uint8(8),
  14391. Fval: uint16(86),
  14392. },
  14393. 354: {
  14394. Fbits: uint8(8),
  14395. Fval: uint16(22),
  14396. },
  14397. 355: {
  14398. Fop: uint8(64),
  14399. Fbits: uint8(8),
  14400. },
  14401. 356: {
  14402. Fop: uint8(19),
  14403. Fbits: uint8(7),
  14404. Fval: uint16(51),
  14405. },
  14406. 357: {
  14407. Fbits: uint8(8),
  14408. Fval: uint16(118),
  14409. },
  14410. 358: {
  14411. Fbits: uint8(8),
  14412. Fval: uint16(54),
  14413. },
  14414. 359: {
  14415. Fbits: uint8(9),
  14416. Fval: uint16(205),
  14417. },
  14418. 360: {
  14419. Fop: uint8(17),
  14420. Fbits: uint8(7),
  14421. Fval: uint16(15),
  14422. },
  14423. 361: {
  14424. Fbits: uint8(8),
  14425. Fval: uint16(102),
  14426. },
  14427. 362: {
  14428. Fbits: uint8(8),
  14429. Fval: uint16(38),
  14430. },
  14431. 363: {
  14432. Fbits: uint8(9),
  14433. Fval: uint16(173),
  14434. },
  14435. 364: {
  14436. Fbits: uint8(8),
  14437. Fval: uint16(6),
  14438. },
  14439. 365: {
  14440. Fbits: uint8(8),
  14441. Fval: uint16(134),
  14442. },
  14443. 366: {
  14444. Fbits: uint8(8),
  14445. Fval: uint16(70),
  14446. },
  14447. 367: {
  14448. Fbits: uint8(9),
  14449. Fval: uint16(237),
  14450. },
  14451. 368: {
  14452. Fop: uint8(16),
  14453. Fbits: uint8(7),
  14454. Fval: uint16(9),
  14455. },
  14456. 369: {
  14457. Fbits: uint8(8),
  14458. Fval: uint16(94),
  14459. },
  14460. 370: {
  14461. Fbits: uint8(8),
  14462. Fval: uint16(30),
  14463. },
  14464. 371: {
  14465. Fbits: uint8(9),
  14466. Fval: uint16(157),
  14467. },
  14468. 372: {
  14469. Fop: uint8(20),
  14470. Fbits: uint8(7),
  14471. Fval: uint16(99),
  14472. },
  14473. 373: {
  14474. Fbits: uint8(8),
  14475. Fval: uint16(126),
  14476. },
  14477. 374: {
  14478. Fbits: uint8(8),
  14479. Fval: uint16(62),
  14480. },
  14481. 375: {
  14482. Fbits: uint8(9),
  14483. Fval: uint16(221),
  14484. },
  14485. 376: {
  14486. Fop: uint8(18),
  14487. Fbits: uint8(7),
  14488. Fval: uint16(27),
  14489. },
  14490. 377: {
  14491. Fbits: uint8(8),
  14492. Fval: uint16(110),
  14493. },
  14494. 378: {
  14495. Fbits: uint8(8),
  14496. Fval: uint16(46),
  14497. },
  14498. 379: {
  14499. Fbits: uint8(9),
  14500. Fval: uint16(189),
  14501. },
  14502. 380: {
  14503. Fbits: uint8(8),
  14504. Fval: uint16(14),
  14505. },
  14506. 381: {
  14507. Fbits: uint8(8),
  14508. Fval: uint16(142),
  14509. },
  14510. 382: {
  14511. Fbits: uint8(8),
  14512. Fval: uint16(78),
  14513. },
  14514. 383: {
  14515. Fbits: uint8(9),
  14516. Fval: uint16(253),
  14517. },
  14518. 384: {
  14519. Fop: uint8(96),
  14520. Fbits: uint8(7),
  14521. },
  14522. 385: {
  14523. Fbits: uint8(8),
  14524. Fval: uint16(81),
  14525. },
  14526. 386: {
  14527. Fbits: uint8(8),
  14528. Fval: uint16(17),
  14529. },
  14530. 387: {
  14531. Fop: uint8(21),
  14532. Fbits: uint8(8),
  14533. Fval: uint16(131),
  14534. },
  14535. 388: {
  14536. Fop: uint8(18),
  14537. Fbits: uint8(7),
  14538. Fval: uint16(31),
  14539. },
  14540. 389: {
  14541. Fbits: uint8(8),
  14542. Fval: uint16(113),
  14543. },
  14544. 390: {
  14545. Fbits: uint8(8),
  14546. Fval: uint16(49),
  14547. },
  14548. 391: {
  14549. Fbits: uint8(9),
  14550. Fval: uint16(195),
  14551. },
  14552. 392: {
  14553. Fop: uint8(16),
  14554. Fbits: uint8(7),
  14555. Fval: uint16(10),
  14556. },
  14557. 393: {
  14558. Fbits: uint8(8),
  14559. Fval: uint16(97),
  14560. },
  14561. 394: {
  14562. Fbits: uint8(8),
  14563. Fval: uint16(33),
  14564. },
  14565. 395: {
  14566. Fbits: uint8(9),
  14567. Fval: uint16(163),
  14568. },
  14569. 396: {
  14570. Fbits: uint8(8),
  14571. Fval: uint16(1),
  14572. },
  14573. 397: {
  14574. Fbits: uint8(8),
  14575. Fval: uint16(129),
  14576. },
  14577. 398: {
  14578. Fbits: uint8(8),
  14579. Fval: uint16(65),
  14580. },
  14581. 399: {
  14582. Fbits: uint8(9),
  14583. Fval: uint16(227),
  14584. },
  14585. 400: {
  14586. Fop: uint8(16),
  14587. Fbits: uint8(7),
  14588. Fval: uint16(6),
  14589. },
  14590. 401: {
  14591. Fbits: uint8(8),
  14592. Fval: uint16(89),
  14593. },
  14594. 402: {
  14595. Fbits: uint8(8),
  14596. Fval: uint16(25),
  14597. },
  14598. 403: {
  14599. Fbits: uint8(9),
  14600. Fval: uint16(147),
  14601. },
  14602. 404: {
  14603. Fop: uint8(19),
  14604. Fbits: uint8(7),
  14605. Fval: uint16(59),
  14606. },
  14607. 405: {
  14608. Fbits: uint8(8),
  14609. Fval: uint16(121),
  14610. },
  14611. 406: {
  14612. Fbits: uint8(8),
  14613. Fval: uint16(57),
  14614. },
  14615. 407: {
  14616. Fbits: uint8(9),
  14617. Fval: uint16(211),
  14618. },
  14619. 408: {
  14620. Fop: uint8(17),
  14621. Fbits: uint8(7),
  14622. Fval: uint16(17),
  14623. },
  14624. 409: {
  14625. Fbits: uint8(8),
  14626. Fval: uint16(105),
  14627. },
  14628. 410: {
  14629. Fbits: uint8(8),
  14630. Fval: uint16(41),
  14631. },
  14632. 411: {
  14633. Fbits: uint8(9),
  14634. Fval: uint16(179),
  14635. },
  14636. 412: {
  14637. Fbits: uint8(8),
  14638. Fval: uint16(9),
  14639. },
  14640. 413: {
  14641. Fbits: uint8(8),
  14642. Fval: uint16(137),
  14643. },
  14644. 414: {
  14645. Fbits: uint8(8),
  14646. Fval: uint16(73),
  14647. },
  14648. 415: {
  14649. Fbits: uint8(9),
  14650. Fval: uint16(243),
  14651. },
  14652. 416: {
  14653. Fop: uint8(16),
  14654. Fbits: uint8(7),
  14655. Fval: uint16(4),
  14656. },
  14657. 417: {
  14658. Fbits: uint8(8),
  14659. Fval: uint16(85),
  14660. },
  14661. 418: {
  14662. Fbits: uint8(8),
  14663. Fval: uint16(21),
  14664. },
  14665. 419: {
  14666. Fop: uint8(16),
  14667. Fbits: uint8(8),
  14668. Fval: uint16(258),
  14669. },
  14670. 420: {
  14671. Fop: uint8(19),
  14672. Fbits: uint8(7),
  14673. Fval: uint16(43),
  14674. },
  14675. 421: {
  14676. Fbits: uint8(8),
  14677. Fval: uint16(117),
  14678. },
  14679. 422: {
  14680. Fbits: uint8(8),
  14681. Fval: uint16(53),
  14682. },
  14683. 423: {
  14684. Fbits: uint8(9),
  14685. Fval: uint16(203),
  14686. },
  14687. 424: {
  14688. Fop: uint8(17),
  14689. Fbits: uint8(7),
  14690. Fval: uint16(13),
  14691. },
  14692. 425: {
  14693. Fbits: uint8(8),
  14694. Fval: uint16(101),
  14695. },
  14696. 426: {
  14697. Fbits: uint8(8),
  14698. Fval: uint16(37),
  14699. },
  14700. 427: {
  14701. Fbits: uint8(9),
  14702. Fval: uint16(171),
  14703. },
  14704. 428: {
  14705. Fbits: uint8(8),
  14706. Fval: uint16(5),
  14707. },
  14708. 429: {
  14709. Fbits: uint8(8),
  14710. Fval: uint16(133),
  14711. },
  14712. 430: {
  14713. Fbits: uint8(8),
  14714. Fval: uint16(69),
  14715. },
  14716. 431: {
  14717. Fbits: uint8(9),
  14718. Fval: uint16(235),
  14719. },
  14720. 432: {
  14721. Fop: uint8(16),
  14722. Fbits: uint8(7),
  14723. Fval: uint16(8),
  14724. },
  14725. 433: {
  14726. Fbits: uint8(8),
  14727. Fval: uint16(93),
  14728. },
  14729. 434: {
  14730. Fbits: uint8(8),
  14731. Fval: uint16(29),
  14732. },
  14733. 435: {
  14734. Fbits: uint8(9),
  14735. Fval: uint16(155),
  14736. },
  14737. 436: {
  14738. Fop: uint8(20),
  14739. Fbits: uint8(7),
  14740. Fval: uint16(83),
  14741. },
  14742. 437: {
  14743. Fbits: uint8(8),
  14744. Fval: uint16(125),
  14745. },
  14746. 438: {
  14747. Fbits: uint8(8),
  14748. Fval: uint16(61),
  14749. },
  14750. 439: {
  14751. Fbits: uint8(9),
  14752. Fval: uint16(219),
  14753. },
  14754. 440: {
  14755. Fop: uint8(18),
  14756. Fbits: uint8(7),
  14757. Fval: uint16(23),
  14758. },
  14759. 441: {
  14760. Fbits: uint8(8),
  14761. Fval: uint16(109),
  14762. },
  14763. 442: {
  14764. Fbits: uint8(8),
  14765. Fval: uint16(45),
  14766. },
  14767. 443: {
  14768. Fbits: uint8(9),
  14769. Fval: uint16(187),
  14770. },
  14771. 444: {
  14772. Fbits: uint8(8),
  14773. Fval: uint16(13),
  14774. },
  14775. 445: {
  14776. Fbits: uint8(8),
  14777. Fval: uint16(141),
  14778. },
  14779. 446: {
  14780. Fbits: uint8(8),
  14781. Fval: uint16(77),
  14782. },
  14783. 447: {
  14784. Fbits: uint8(9),
  14785. Fval: uint16(251),
  14786. },
  14787. 448: {
  14788. Fop: uint8(16),
  14789. Fbits: uint8(7),
  14790. Fval: uint16(3),
  14791. },
  14792. 449: {
  14793. Fbits: uint8(8),
  14794. Fval: uint16(83),
  14795. },
  14796. 450: {
  14797. Fbits: uint8(8),
  14798. Fval: uint16(19),
  14799. },
  14800. 451: {
  14801. Fop: uint8(21),
  14802. Fbits: uint8(8),
  14803. Fval: uint16(195),
  14804. },
  14805. 452: {
  14806. Fop: uint8(19),
  14807. Fbits: uint8(7),
  14808. Fval: uint16(35),
  14809. },
  14810. 453: {
  14811. Fbits: uint8(8),
  14812. Fval: uint16(115),
  14813. },
  14814. 454: {
  14815. Fbits: uint8(8),
  14816. Fval: uint16(51),
  14817. },
  14818. 455: {
  14819. Fbits: uint8(9),
  14820. Fval: uint16(199),
  14821. },
  14822. 456: {
  14823. Fop: uint8(17),
  14824. Fbits: uint8(7),
  14825. Fval: uint16(11),
  14826. },
  14827. 457: {
  14828. Fbits: uint8(8),
  14829. Fval: uint16(99),
  14830. },
  14831. 458: {
  14832. Fbits: uint8(8),
  14833. Fval: uint16(35),
  14834. },
  14835. 459: {
  14836. Fbits: uint8(9),
  14837. Fval: uint16(167),
  14838. },
  14839. 460: {
  14840. Fbits: uint8(8),
  14841. Fval: uint16(3),
  14842. },
  14843. 461: {
  14844. Fbits: uint8(8),
  14845. Fval: uint16(131),
  14846. },
  14847. 462: {
  14848. Fbits: uint8(8),
  14849. Fval: uint16(67),
  14850. },
  14851. 463: {
  14852. Fbits: uint8(9),
  14853. Fval: uint16(231),
  14854. },
  14855. 464: {
  14856. Fop: uint8(16),
  14857. Fbits: uint8(7),
  14858. Fval: uint16(7),
  14859. },
  14860. 465: {
  14861. Fbits: uint8(8),
  14862. Fval: uint16(91),
  14863. },
  14864. 466: {
  14865. Fbits: uint8(8),
  14866. Fval: uint16(27),
  14867. },
  14868. 467: {
  14869. Fbits: uint8(9),
  14870. Fval: uint16(151),
  14871. },
  14872. 468: {
  14873. Fop: uint8(20),
  14874. Fbits: uint8(7),
  14875. Fval: uint16(67),
  14876. },
  14877. 469: {
  14878. Fbits: uint8(8),
  14879. Fval: uint16(123),
  14880. },
  14881. 470: {
  14882. Fbits: uint8(8),
  14883. Fval: uint16(59),
  14884. },
  14885. 471: {
  14886. Fbits: uint8(9),
  14887. Fval: uint16(215),
  14888. },
  14889. 472: {
  14890. Fop: uint8(18),
  14891. Fbits: uint8(7),
  14892. Fval: uint16(19),
  14893. },
  14894. 473: {
  14895. Fbits: uint8(8),
  14896. Fval: uint16(107),
  14897. },
  14898. 474: {
  14899. Fbits: uint8(8),
  14900. Fval: uint16(43),
  14901. },
  14902. 475: {
  14903. Fbits: uint8(9),
  14904. Fval: uint16(183),
  14905. },
  14906. 476: {
  14907. Fbits: uint8(8),
  14908. Fval: uint16(11),
  14909. },
  14910. 477: {
  14911. Fbits: uint8(8),
  14912. Fval: uint16(139),
  14913. },
  14914. 478: {
  14915. Fbits: uint8(8),
  14916. Fval: uint16(75),
  14917. },
  14918. 479: {
  14919. Fbits: uint8(9),
  14920. Fval: uint16(247),
  14921. },
  14922. 480: {
  14923. Fop: uint8(16),
  14924. Fbits: uint8(7),
  14925. Fval: uint16(5),
  14926. },
  14927. 481: {
  14928. Fbits: uint8(8),
  14929. Fval: uint16(87),
  14930. },
  14931. 482: {
  14932. Fbits: uint8(8),
  14933. Fval: uint16(23),
  14934. },
  14935. 483: {
  14936. Fop: uint8(64),
  14937. Fbits: uint8(8),
  14938. },
  14939. 484: {
  14940. Fop: uint8(19),
  14941. Fbits: uint8(7),
  14942. Fval: uint16(51),
  14943. },
  14944. 485: {
  14945. Fbits: uint8(8),
  14946. Fval: uint16(119),
  14947. },
  14948. 486: {
  14949. Fbits: uint8(8),
  14950. Fval: uint16(55),
  14951. },
  14952. 487: {
  14953. Fbits: uint8(9),
  14954. Fval: uint16(207),
  14955. },
  14956. 488: {
  14957. Fop: uint8(17),
  14958. Fbits: uint8(7),
  14959. Fval: uint16(15),
  14960. },
  14961. 489: {
  14962. Fbits: uint8(8),
  14963. Fval: uint16(103),
  14964. },
  14965. 490: {
  14966. Fbits: uint8(8),
  14967. Fval: uint16(39),
  14968. },
  14969. 491: {
  14970. Fbits: uint8(9),
  14971. Fval: uint16(175),
  14972. },
  14973. 492: {
  14974. Fbits: uint8(8),
  14975. Fval: uint16(7),
  14976. },
  14977. 493: {
  14978. Fbits: uint8(8),
  14979. Fval: uint16(135),
  14980. },
  14981. 494: {
  14982. Fbits: uint8(8),
  14983. Fval: uint16(71),
  14984. },
  14985. 495: {
  14986. Fbits: uint8(9),
  14987. Fval: uint16(239),
  14988. },
  14989. 496: {
  14990. Fop: uint8(16),
  14991. Fbits: uint8(7),
  14992. Fval: uint16(9),
  14993. },
  14994. 497: {
  14995. Fbits: uint8(8),
  14996. Fval: uint16(95),
  14997. },
  14998. 498: {
  14999. Fbits: uint8(8),
  15000. Fval: uint16(31),
  15001. },
  15002. 499: {
  15003. Fbits: uint8(9),
  15004. Fval: uint16(159),
  15005. },
  15006. 500: {
  15007. Fop: uint8(20),
  15008. Fbits: uint8(7),
  15009. Fval: uint16(99),
  15010. },
  15011. 501: {
  15012. Fbits: uint8(8),
  15013. Fval: uint16(127),
  15014. },
  15015. 502: {
  15016. Fbits: uint8(8),
  15017. Fval: uint16(63),
  15018. },
  15019. 503: {
  15020. Fbits: uint8(9),
  15021. Fval: uint16(223),
  15022. },
  15023. 504: {
  15024. Fop: uint8(18),
  15025. Fbits: uint8(7),
  15026. Fval: uint16(27),
  15027. },
  15028. 505: {
  15029. Fbits: uint8(8),
  15030. Fval: uint16(111),
  15031. },
  15032. 506: {
  15033. Fbits: uint8(8),
  15034. Fval: uint16(47),
  15035. },
  15036. 507: {
  15037. Fbits: uint8(9),
  15038. Fval: uint16(191),
  15039. },
  15040. 508: {
  15041. Fbits: uint8(8),
  15042. Fval: uint16(15),
  15043. },
  15044. 509: {
  15045. Fbits: uint8(8),
  15046. Fval: uint16(143),
  15047. },
  15048. 510: {
  15049. Fbits: uint8(8),
  15050. Fval: uint16(79),
  15051. },
  15052. 511: {
  15053. Fbits: uint8(9),
  15054. Fval: uint16(255),
  15055. },
  15056. }
  15057. var _distfix1 = [32]Tcode{
  15058. 0: {
  15059. Fop: uint8(16),
  15060. Fbits: uint8(5),
  15061. Fval: uint16(1),
  15062. },
  15063. 1: {
  15064. Fop: uint8(23),
  15065. Fbits: uint8(5),
  15066. Fval: uint16(257),
  15067. },
  15068. 2: {
  15069. Fop: uint8(19),
  15070. Fbits: uint8(5),
  15071. Fval: uint16(17),
  15072. },
  15073. 3: {
  15074. Fop: uint8(27),
  15075. Fbits: uint8(5),
  15076. Fval: uint16(4097),
  15077. },
  15078. 4: {
  15079. Fop: uint8(17),
  15080. Fbits: uint8(5),
  15081. Fval: uint16(5),
  15082. },
  15083. 5: {
  15084. Fop: uint8(25),
  15085. Fbits: uint8(5),
  15086. Fval: uint16(1025),
  15087. },
  15088. 6: {
  15089. Fop: uint8(21),
  15090. Fbits: uint8(5),
  15091. Fval: uint16(65),
  15092. },
  15093. 7: {
  15094. Fop: uint8(29),
  15095. Fbits: uint8(5),
  15096. Fval: uint16(16385),
  15097. },
  15098. 8: {
  15099. Fop: uint8(16),
  15100. Fbits: uint8(5),
  15101. Fval: uint16(3),
  15102. },
  15103. 9: {
  15104. Fop: uint8(24),
  15105. Fbits: uint8(5),
  15106. Fval: uint16(513),
  15107. },
  15108. 10: {
  15109. Fop: uint8(20),
  15110. Fbits: uint8(5),
  15111. Fval: uint16(33),
  15112. },
  15113. 11: {
  15114. Fop: uint8(28),
  15115. Fbits: uint8(5),
  15116. Fval: uint16(8193),
  15117. },
  15118. 12: {
  15119. Fop: uint8(18),
  15120. Fbits: uint8(5),
  15121. Fval: uint16(9),
  15122. },
  15123. 13: {
  15124. Fop: uint8(26),
  15125. Fbits: uint8(5),
  15126. Fval: uint16(2049),
  15127. },
  15128. 14: {
  15129. Fop: uint8(22),
  15130. Fbits: uint8(5),
  15131. Fval: uint16(129),
  15132. },
  15133. 15: {
  15134. Fop: uint8(64),
  15135. Fbits: uint8(5),
  15136. },
  15137. 16: {
  15138. Fop: uint8(16),
  15139. Fbits: uint8(5),
  15140. Fval: uint16(2),
  15141. },
  15142. 17: {
  15143. Fop: uint8(23),
  15144. Fbits: uint8(5),
  15145. Fval: uint16(385),
  15146. },
  15147. 18: {
  15148. Fop: uint8(19),
  15149. Fbits: uint8(5),
  15150. Fval: uint16(25),
  15151. },
  15152. 19: {
  15153. Fop: uint8(27),
  15154. Fbits: uint8(5),
  15155. Fval: uint16(6145),
  15156. },
  15157. 20: {
  15158. Fop: uint8(17),
  15159. Fbits: uint8(5),
  15160. Fval: uint16(7),
  15161. },
  15162. 21: {
  15163. Fop: uint8(25),
  15164. Fbits: uint8(5),
  15165. Fval: uint16(1537),
  15166. },
  15167. 22: {
  15168. Fop: uint8(21),
  15169. Fbits: uint8(5),
  15170. Fval: uint16(97),
  15171. },
  15172. 23: {
  15173. Fop: uint8(29),
  15174. Fbits: uint8(5),
  15175. Fval: uint16(24577),
  15176. },
  15177. 24: {
  15178. Fop: uint8(16),
  15179. Fbits: uint8(5),
  15180. Fval: uint16(4),
  15181. },
  15182. 25: {
  15183. Fop: uint8(24),
  15184. Fbits: uint8(5),
  15185. Fval: uint16(769),
  15186. },
  15187. 26: {
  15188. Fop: uint8(20),
  15189. Fbits: uint8(5),
  15190. Fval: uint16(49),
  15191. },
  15192. 27: {
  15193. Fop: uint8(28),
  15194. Fbits: uint8(5),
  15195. Fval: uint16(12289),
  15196. },
  15197. 28: {
  15198. Fop: uint8(18),
  15199. Fbits: uint8(5),
  15200. Fval: uint16(13),
  15201. },
  15202. 29: {
  15203. Fop: uint8(26),
  15204. Fbits: uint8(5),
  15205. Fval: uint16(3073),
  15206. },
  15207. 30: {
  15208. Fop: uint8(22),
  15209. Fbits: uint8(5),
  15210. Fval: uint16(193),
  15211. },
  15212. 31: {
  15213. Fop: uint8(64),
  15214. Fbits: uint8(5),
  15215. },
  15216. }
  15217. // C documentation
  15218. //
  15219. // /*
  15220. // Update the window with the last wsize (normally 32K) bytes written before
  15221. // returning. If window does not exist yet, create it. This is only called
  15222. // when a window is already in use, or when output has been written during this
  15223. // inflate call, but the end of the deflate stream has not been reached yet.
  15224. // It is also called to create a window for dictionary data when a dictionary
  15225. // is loaded.
  15226. //
  15227. // Providing output buffers larger than 32K to inflate() should provide a speed
  15228. // advantage, since only the last 32K of output is copied to the sliding window
  15229. // upon return from inflate(), and since all distances after the first 32K of
  15230. // output will fall in the output data, making match copies simpler and faster.
  15231. // The advantage may be dependent on the size of the processor's data caches.
  15232. // */
  15233. func _updatewindow(tls *libc.TLS, strm Tz_streamp, end uintptr, copy1 uint32) (r int32) {
  15234. var dist uint32
  15235. var state uintptr
  15236. _, _ = dist, state
  15237. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  15238. /* if it hasn't been done already, allocate space for the window */
  15239. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow == uintptr(m_Z_NULL) {
  15240. (*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)))
  15241. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow == uintptr(m_Z_NULL) {
  15242. return int32(1)
  15243. }
  15244. }
  15245. /* if window not in use yet, initialize */
  15246. if (*Tinflate_state)(unsafe.Pointer(state)).Fwsize == uint32(0) {
  15247. (*Tinflate_state)(unsafe.Pointer(state)).Fwsize = uint32(1) << (*Tinflate_state)(unsafe.Pointer(state)).Fwbits
  15248. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  15249. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = uint32(0)
  15250. }
  15251. /* copy state->wsize or less output bytes into the circular window */
  15252. if copy1 >= (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  15253. libc.Xmemcpy(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, end-uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwsize), uint64((*Tinflate_state)(unsafe.Pointer(state)).Fwsize))
  15254. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  15255. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  15256. } else {
  15257. dist = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize - (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
  15258. if dist > copy1 {
  15259. dist = copy1
  15260. }
  15261. libc.Xmemcpy(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow+uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext), end-uintptr(copy1), uint64(dist))
  15262. copy1 -= dist
  15263. if copy1 != 0 {
  15264. libc.Xmemcpy(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, end-uintptr(copy1), uint64(copy1))
  15265. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = copy1
  15266. (*Tinflate_state)(unsafe.Pointer(state)).Fwhave = (*Tinflate_state)(unsafe.Pointer(state)).Fwsize
  15267. } else {
  15268. *(*uint32)(unsafe.Pointer(state + 68)) += dist
  15269. if (*Tinflate_state)(unsafe.Pointer(state)).Fwnext == (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  15270. (*Tinflate_state)(unsafe.Pointer(state)).Fwnext = uint32(0)
  15271. }
  15272. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave < (*Tinflate_state)(unsafe.Pointer(state)).Fwsize {
  15273. *(*uint32)(unsafe.Pointer(state + 64)) += dist
  15274. }
  15275. }
  15276. }
  15277. return 0
  15278. }
  15279. /* Macros for inflate(): */
  15280. /* check function to use adler32() for zlib or crc32() for gzip */
  15281. /* check macros for header crc */
  15282. /* Load registers with state in inflate() for speed */
  15283. /* Restore state from registers in inflate() */
  15284. /* Clear the input bit accumulator */
  15285. /* Get a byte of input into the bit accumulator, or return from inflate()
  15286. if there is no input available. */
  15287. /* Assure that there are at least n bits in the bit accumulator. If there is
  15288. not enough available input to do that, then return from inflate(). */
  15289. /* Return the low n bits of the bit accumulator (n < 16) */
  15290. /* Remove n bits from the bit accumulator */
  15291. /* Remove zero to seven bits as needed to go to a byte boundary */
  15292. /*
  15293. inflate() uses a state machine to process as much input data and generate as
  15294. much output data as possible before returning. The state machine is
  15295. structured roughly as follows:
  15296. for (;;) switch (state) {
  15297. ...
  15298. case STATEn:
  15299. if (not enough input data or output space to make progress)
  15300. return;
  15301. ... make progress ...
  15302. state = STATEm;
  15303. break;
  15304. ...
  15305. }
  15306. so when inflate() is called again, the same case is attempted again, and
  15307. if the appropriate resources are provided, the machine proceeds to the
  15308. next state. The NEEDBITS() macro is usually the way the state evaluates
  15309. whether it can proceed or should return. NEEDBITS() does the return if
  15310. the requested bits are not available. The typical use of the BITS macros
  15311. is:
  15312. NEEDBITS(n);
  15313. ... do something with BITS(n) ...
  15314. DROPBITS(n);
  15315. where NEEDBITS(n) either returns from inflate() if there isn't enough
  15316. input left to load n bits into the accumulator, or it continues. BITS(n)
  15317. gives the low n bits in the accumulator. When done, DROPBITS(n) drops
  15318. the low n bits off the accumulator. INITBITS() clears the accumulator
  15319. and sets the number of available bits to zero. BYTEBITS() discards just
  15320. enough bits to put the accumulator on a byte boundary. After BYTEBITS()
  15321. and a NEEDBITS(8), then BITS(8) would return the next byte in the stream.
  15322. NEEDBITS(n) uses PULLBYTE() to get an available byte of input, or to return
  15323. if there is no input available. The decoding of variable length codes uses
  15324. PULLBYTE() directly in order to pull just enough bytes to decode the next
  15325. code, and no more.
  15326. Some states loop until they get enough input, making sure that enough
  15327. state information is maintained to continue the loop where it left off
  15328. if NEEDBITS() returns in the loop. For example, want, need, and keep
  15329. would all have to actually be part of the saved state in case NEEDBITS()
  15330. returns:
  15331. case STATEw:
  15332. while (want < need) {
  15333. NEEDBITS(n);
  15334. keep[want++] = BITS(n);
  15335. DROPBITS(n);
  15336. }
  15337. state = STATEx;
  15338. case STATEx:
  15339. As shown above, if the next state is also the next case, then the break
  15340. is omitted.
  15341. A state may also return if there is not enough output space available to
  15342. complete that state. Those states are copying stored data, writing a
  15343. literal byte, and copying a matching string.
  15344. When returning, a "goto inf_leave" is used to update the total counters,
  15345. update the check value, and determine whether any progress has been made
  15346. during that inflate() call in order to return the proper return code.
  15347. Progress is defined as a change in either strm->avail_in or strm->avail_out.
  15348. When there is a window, goto inf_leave will update the window with the last
  15349. output written. If a goto inf_leave occurs in the middle of decompression
  15350. and there is no window currently, goto inf_leave will create one and copy
  15351. output to the window for the next call of inflate().
  15352. In this implementation, the flush parameter of inflate() only affects the
  15353. return code (per zlib.h). inflate() always writes as much as possible to
  15354. strm->next_out, given the space available and the provided input--the effect
  15355. documented in zlib.h of Z_SYNC_FLUSH. Furthermore, inflate() always defers
  15356. the allocation of and copying into a sliding window until necessary, which
  15357. provides the effect documented in zlib.h for Z_FINISH when the entire input
  15358. stream available. So the only thing the flush parameter actually does is:
  15359. when flush is set to Z_FINISH, inflate() cannot return Z_OK. Instead it
  15360. will return Z_BUF_ERROR if it has not reached the end of the stream.
  15361. */
  15362. func Xinflate(tls *libc.TLS, strm Tz_streamp, flush int32) (r int32) {
  15363. bp := tls.Alloc(16)
  15364. defer tls.Free(16)
  15365. var bits, copy1, have, in, left, len1, out, v46, v48, v49, v50, v52, v53, v64, v66, v70, v75, v76, v90 uint32
  15366. 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
  15367. var here, last Tcode
  15368. var hold, v101, v102, v37, v56, v58, v59, v96, v97, v98 uint64
  15369. var ret, v103, v104, v105, v38 int32
  15370. var v47, v99 bool
  15371. var _ /* hbuf at bp+0 */ [4]uint8
  15372. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
  15373. 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) {
  15374. return -int32(2)
  15375. }
  15376. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  15377. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
  15378. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPEDO)
  15379. } /* skip check */
  15380. put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  15381. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  15382. next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  15383. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  15384. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  15385. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  15386. in = have
  15387. out = left
  15388. ret = m_Z_OK
  15389. for {
  15390. switch (*Tinflate_state)(unsafe.Pointer(state)).Fmode {
  15391. case int32(_HEAD):
  15392. goto _2
  15393. case int32(_FLAGS):
  15394. goto _3
  15395. case int32(_TIME):
  15396. goto _4
  15397. case int32(_OS):
  15398. goto _5
  15399. case int32(_EXLEN):
  15400. goto _6
  15401. case int32(_EXTRA):
  15402. goto _7
  15403. case int32(_NAME):
  15404. goto _8
  15405. case int32(_COMMENT):
  15406. goto _9
  15407. case int32(_HCRC):
  15408. goto _10
  15409. case int32(_DICTID):
  15410. goto _11
  15411. case int32(_DICT):
  15412. goto _12
  15413. case int32(_TYPE):
  15414. goto _13
  15415. case int32(_TYPEDO):
  15416. goto _14
  15417. case int32(_STORED):
  15418. goto _15
  15419. case int32(_COPY_):
  15420. goto _16
  15421. case int32(_COPY):
  15422. goto _17
  15423. case int32(_TABLE):
  15424. goto _18
  15425. case int32(_LENLENS):
  15426. goto _19
  15427. case int32(_CODELENS):
  15428. goto _20
  15429. case int32(_LEN_):
  15430. goto _21
  15431. case int32(_LEN):
  15432. goto _22
  15433. case int32(_LENEXT):
  15434. goto _23
  15435. case int32(_DIST):
  15436. goto _24
  15437. case int32(_DISTEXT):
  15438. goto _25
  15439. case int32(_MATCH):
  15440. goto _26
  15441. case int32(_LIT):
  15442. goto _27
  15443. case int32(_CHECK):
  15444. goto _28
  15445. case int32(_LENGTH):
  15446. goto _29
  15447. case int32(_DONE):
  15448. goto _30
  15449. case int32(_BAD):
  15450. goto _31
  15451. case int32(_MEM):
  15452. goto _32
  15453. default:
  15454. goto _33
  15455. case int32(_SYNC):
  15456. goto _34
  15457. }
  15458. goto _35
  15459. _2:
  15460. ;
  15461. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap == 0 {
  15462. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPEDO)
  15463. goto _35
  15464. }
  15465. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  15466. if have == uint32(0) {
  15467. goto inf_leave
  15468. }
  15469. have--
  15470. v36 = next
  15471. next++
  15472. hold += uint64(*(*uint8)(unsafe.Pointer(v36))) << bits
  15473. bits += uint32(8)
  15474. }
  15475. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(2) != 0 && hold == uint64(0x8b1f) { /* gzip header */
  15476. if (*Tinflate_state)(unsafe.Pointer(state)).Fwbits == uint32(0) {
  15477. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = uint32(15)
  15478. }
  15479. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  15480. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  15481. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  15482. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  15483. hold = uint64(0)
  15484. bits = uint32(0)
  15485. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_FLAGS)
  15486. goto _35
  15487. }
  15488. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15489. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fdone = -int32(1)
  15490. }
  15491. 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 {
  15492. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 308
  15493. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15494. goto _35
  15495. }
  15496. if uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) != uint32(m_Z_DEFLATED) {
  15497. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 331
  15498. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15499. goto _35
  15500. }
  15501. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
  15502. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
  15503. len1 = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(8)
  15504. if (*Tinflate_state)(unsafe.Pointer(state)).Fwbits == uint32(0) {
  15505. (*Tinflate_state)(unsafe.Pointer(state)).Fwbits = len1
  15506. }
  15507. if len1 > uint32(15) || len1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwbits {
  15508. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 358
  15509. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15510. goto _35
  15511. }
  15512. (*Tinflate_state)(unsafe.Pointer(state)).Fdmax = uint32(1) << len1
  15513. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = 0 /* indicate zlib header */
  15514. v37 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  15515. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v37
  15516. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v37
  15517. if hold&uint64(0x200) != 0 {
  15518. v38 = int32(_DICTID)
  15519. } else {
  15520. v38 = int32(_TYPE)
  15521. }
  15522. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = v38
  15523. hold = uint64(0)
  15524. bits = uint32(0)
  15525. goto _35
  15526. _3:
  15527. ;
  15528. _41:
  15529. ;
  15530. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  15531. if have == uint32(0) {
  15532. goto inf_leave
  15533. }
  15534. have--
  15535. v42 = next
  15536. next++
  15537. hold += uint64(*(*uint8)(unsafe.Pointer(v42))) << bits
  15538. bits += uint32(8)
  15539. }
  15540. goto _40
  15541. _40:
  15542. ;
  15543. if 0 != 0 {
  15544. goto _41
  15545. }
  15546. goto _39
  15547. _39:
  15548. ;
  15549. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = libc.Int32FromUint64(hold)
  15550. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0xff) != int32(m_Z_DEFLATED) {
  15551. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 331
  15552. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15553. goto _35
  15554. }
  15555. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0xe000) != 0 {
  15556. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 378
  15557. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15558. goto _35
  15559. }
  15560. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15561. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Ftext = libc.Int32FromUint64(hold >> libc.Int32FromInt32(8) & libc.Uint64FromInt32(1))
  15562. }
  15563. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15564. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  15565. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  15566. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  15567. }
  15568. hold = uint64(0)
  15569. bits = uint32(0)
  15570. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TIME)
  15571. /* fallthrough */
  15572. _4:
  15573. ;
  15574. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  15575. if have == uint32(0) {
  15576. goto inf_leave
  15577. }
  15578. have--
  15579. v43 = next
  15580. next++
  15581. hold += uint64(*(*uint8)(unsafe.Pointer(v43))) << bits
  15582. bits += uint32(8)
  15583. }
  15584. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15585. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Ftime = hold
  15586. }
  15587. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15588. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  15589. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  15590. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(2)] = uint8(hold >> libc.Int32FromInt32(16))
  15591. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(3)] = uint8(hold >> libc.Int32FromInt32(24))
  15592. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(4))
  15593. }
  15594. hold = uint64(0)
  15595. bits = uint32(0)
  15596. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_OS)
  15597. /* fallthrough */
  15598. _5:
  15599. ;
  15600. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  15601. if have == uint32(0) {
  15602. goto inf_leave
  15603. }
  15604. have--
  15605. v44 = next
  15606. next++
  15607. hold += uint64(*(*uint8)(unsafe.Pointer(v44))) << bits
  15608. bits += uint32(8)
  15609. }
  15610. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15611. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fxflags = libc.Int32FromUint64(hold & libc.Uint64FromInt32(0xff))
  15612. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fos = libc.Int32FromUint64(hold >> libc.Int32FromInt32(8))
  15613. }
  15614. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15615. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  15616. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  15617. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  15618. }
  15619. hold = uint64(0)
  15620. bits = uint32(0)
  15621. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_EXLEN)
  15622. /* fallthrough */
  15623. _6:
  15624. ;
  15625. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0400) != 0 {
  15626. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  15627. if have == uint32(0) {
  15628. goto inf_leave
  15629. }
  15630. have--
  15631. v45 = next
  15632. next++
  15633. hold += uint64(*(*uint8)(unsafe.Pointer(v45))) << bits
  15634. bits += uint32(8)
  15635. }
  15636. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold)
  15637. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15638. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_len = uint32(hold)
  15639. }
  15640. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15641. (*(*[4]uint8)(unsafe.Pointer(bp)))[0] = uint8(hold)
  15642. (*(*[4]uint8)(unsafe.Pointer(bp)))[int32(1)] = uint8(hold >> libc.Int32FromInt32(8))
  15643. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, bp, uint32(2))
  15644. }
  15645. hold = uint64(0)
  15646. bits = uint32(0)
  15647. } else {
  15648. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15649. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra = uintptr(m_Z_NULL)
  15650. }
  15651. }
  15652. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_EXTRA)
  15653. /* fallthrough */
  15654. _7:
  15655. ;
  15656. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0400) != 0 {
  15657. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  15658. if copy1 > have {
  15659. copy1 = have
  15660. }
  15661. if copy1 != 0 {
  15662. 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 {
  15663. v46 = (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_len - (*Tinflate_state)(unsafe.Pointer(state)).Flength
  15664. len1 = v46
  15665. }
  15666. if v47 && v46 < (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max {
  15667. if len1+copy1 > (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max {
  15668. v48 = (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra_max - len1
  15669. } else {
  15670. v48 = copy1
  15671. }
  15672. libc.Xmemcpy(tls, (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fextra+uintptr(len1), next, uint64(v48))
  15673. }
  15674. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15675. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
  15676. }
  15677. have -= copy1
  15678. next += uintptr(copy1)
  15679. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  15680. }
  15681. if (*Tinflate_state)(unsafe.Pointer(state)).Flength != 0 {
  15682. goto inf_leave
  15683. }
  15684. }
  15685. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(0)
  15686. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_NAME)
  15687. /* fallthrough */
  15688. _8:
  15689. ;
  15690. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0800) != 0 {
  15691. if have == uint32(0) {
  15692. goto inf_leave
  15693. }
  15694. copy1 = uint32(0)
  15695. for cond := true; cond; cond = len1 != 0 && copy1 < have {
  15696. v49 = copy1
  15697. copy1++
  15698. len1 = uint32(*(*uint8)(unsafe.Pointer(next + uintptr(v49))))
  15699. 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 {
  15700. v51 = state + 92
  15701. v50 = *(*uint32)(unsafe.Pointer(v51))
  15702. *(*uint32)(unsafe.Pointer(v51))++
  15703. *(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname + uintptr(v50))) = uint8(len1)
  15704. }
  15705. }
  15706. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15707. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
  15708. }
  15709. have -= copy1
  15710. next += uintptr(copy1)
  15711. if len1 != 0 {
  15712. goto inf_leave
  15713. }
  15714. } else {
  15715. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15716. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fname = uintptr(m_Z_NULL)
  15717. }
  15718. }
  15719. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(0)
  15720. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COMMENT)
  15721. /* fallthrough */
  15722. _9:
  15723. ;
  15724. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x1000) != 0 {
  15725. if have == uint32(0) {
  15726. goto inf_leave
  15727. }
  15728. copy1 = uint32(0)
  15729. for cond := true; cond; cond = len1 != 0 && copy1 < have {
  15730. v52 = copy1
  15731. copy1++
  15732. len1 = uint32(*(*uint8)(unsafe.Pointer(next + uintptr(v52))))
  15733. 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 {
  15734. v54 = state + 92
  15735. v53 = *(*uint32)(unsafe.Pointer(v54))
  15736. *(*uint32)(unsafe.Pointer(v54))++
  15737. *(*TBytef)(unsafe.Pointer((*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment + uintptr(v53))) = uint8(len1)
  15738. }
  15739. }
  15740. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 {
  15741. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, next, copy1)
  15742. }
  15743. have -= copy1
  15744. next += uintptr(copy1)
  15745. if len1 != 0 {
  15746. goto inf_leave
  15747. }
  15748. } else {
  15749. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15750. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fcomment = uintptr(m_Z_NULL)
  15751. }
  15752. }
  15753. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_HCRC)
  15754. /* fallthrough */
  15755. _10:
  15756. ;
  15757. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags&int32(0x0200) != 0 {
  15758. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(16)) {
  15759. if have == uint32(0) {
  15760. goto inf_leave
  15761. }
  15762. have--
  15763. v55 = next
  15764. next++
  15765. hold += uint64(*(*uint8)(unsafe.Pointer(v55))) << bits
  15766. bits += uint32(8)
  15767. }
  15768. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && hold != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck&uint64(0xffff) {
  15769. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 403
  15770. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15771. goto _35
  15772. }
  15773. hold = uint64(0)
  15774. bits = uint32(0)
  15775. }
  15776. if (*Tinflate_state)(unsafe.Pointer(state)).Fhead != uintptr(m_Z_NULL) {
  15777. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fhcrc = (*Tinflate_state)(unsafe.Pointer(state)).Fflags >> libc.Int32FromInt32(9) & libc.Int32FromInt32(1)
  15778. (*Tgz_header)(unsafe.Pointer((*Tinflate_state)(unsafe.Pointer(state)).Fhead)).Fdone = int32(1)
  15779. }
  15780. v56 = Xcrc32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  15781. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v56
  15782. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v56
  15783. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  15784. goto _35
  15785. _11:
  15786. ;
  15787. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  15788. if have == uint32(0) {
  15789. goto inf_leave
  15790. }
  15791. have--
  15792. v57 = next
  15793. next++
  15794. hold += uint64(*(*uint8)(unsafe.Pointer(v57))) << bits
  15795. bits += uint32(8)
  15796. }
  15797. 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)
  15798. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v58
  15799. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v58
  15800. hold = uint64(0)
  15801. bits = uint32(0)
  15802. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DICT)
  15803. /* fallthrough */
  15804. _12:
  15805. ;
  15806. if (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict == 0 {
  15807. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  15808. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  15809. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  15810. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  15811. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  15812. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  15813. return int32(m_Z_NEED_DICT)
  15814. }
  15815. v59 = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  15816. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v59
  15817. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v59
  15818. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  15819. /* fallthrough */
  15820. _13:
  15821. ;
  15822. if flush == int32(m_Z_BLOCK) || flush == int32(m_Z_TREES) {
  15823. goto inf_leave
  15824. }
  15825. /* fallthrough */
  15826. _14:
  15827. ;
  15828. if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
  15829. hold >>= uint64(bits & uint32(7))
  15830. bits -= bits & uint32(7)
  15831. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_CHECK)
  15832. goto _35
  15833. }
  15834. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  15835. if have == uint32(0) {
  15836. goto inf_leave
  15837. }
  15838. have--
  15839. v60 = next
  15840. next++
  15841. hold += uint64(*(*uint8)(unsafe.Pointer(v60))) << bits
  15842. bits += uint32(8)
  15843. }
  15844. (*Tinflate_state)(unsafe.Pointer(state)).Flast = libc.Int32FromUint32(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(1) - libc.Uint32FromInt32(1)))
  15845. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(1))
  15846. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(1))
  15847. switch uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2) - libc.Uint32FromInt32(1)) {
  15848. case uint32(0): /* stored block */
  15849. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_STORED)
  15850. case uint32(1): /* fixed block */
  15851. _fixedtables1(tls, state)
  15852. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN_) /* decode codes */
  15853. if flush == int32(m_Z_TREES) {
  15854. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  15855. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  15856. goto inf_leave
  15857. }
  15858. case uint32(2): /* dynamic block */
  15859. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TABLE)
  15860. case uint32(3):
  15861. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 6
  15862. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15863. }
  15864. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  15865. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  15866. goto _35
  15867. _15:
  15868. ;
  15869. hold >>= uint64(bits & uint32(7))
  15870. bits -= bits & uint32(7) /* go to byte boundary */
  15871. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  15872. if have == uint32(0) {
  15873. goto inf_leave
  15874. }
  15875. have--
  15876. v61 = next
  15877. next++
  15878. hold += uint64(*(*uint8)(unsafe.Pointer(v61))) << bits
  15879. bits += uint32(8)
  15880. }
  15881. if hold&uint64(0xffff) != hold>>int32(16)^uint64(0xffff) {
  15882. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 25
  15883. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15884. goto _35
  15885. }
  15886. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(hold) & uint32(0xffff)
  15887. hold = uint64(0)
  15888. bits = uint32(0)
  15889. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COPY_)
  15890. if flush == int32(m_Z_TREES) {
  15891. goto inf_leave
  15892. }
  15893. /* fallthrough */
  15894. _16:
  15895. ;
  15896. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_COPY)
  15897. /* fallthrough */
  15898. _17:
  15899. ;
  15900. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  15901. if copy1 != 0 {
  15902. if copy1 > have {
  15903. copy1 = have
  15904. }
  15905. if copy1 > left {
  15906. copy1 = left
  15907. }
  15908. if copy1 == uint32(0) {
  15909. goto inf_leave
  15910. }
  15911. libc.Xmemcpy(tls, put, next, uint64(copy1))
  15912. have -= copy1
  15913. next += uintptr(copy1)
  15914. left -= copy1
  15915. put += uintptr(copy1)
  15916. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  15917. goto _35
  15918. }
  15919. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  15920. goto _35
  15921. _18:
  15922. ;
  15923. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(14)) {
  15924. if have == uint32(0) {
  15925. goto inf_leave
  15926. }
  15927. have--
  15928. v62 = next
  15929. next++
  15930. hold += uint64(*(*uint8)(unsafe.Pointer(v62))) << bits
  15931. bits += uint32(8)
  15932. }
  15933. (*Tinflate_state)(unsafe.Pointer(state)).Fnlen = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(257)
  15934. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  15935. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  15936. (*Tinflate_state)(unsafe.Pointer(state)).Fndist = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(5)-libc.Uint32FromInt32(1)) + uint32(1)
  15937. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(5))
  15938. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(5))
  15939. (*Tinflate_state)(unsafe.Pointer(state)).Fncode = uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(4)-libc.Uint32FromInt32(1)) + uint32(4)
  15940. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(4))
  15941. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(4))
  15942. if (*Tinflate_state)(unsafe.Pointer(state)).Fnlen > uint32(286) || (*Tinflate_state)(unsafe.Pointer(state)).Fndist > uint32(30) {
  15943. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 54
  15944. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15945. goto _35
  15946. }
  15947. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  15948. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENLENS)
  15949. /* fallthrough */
  15950. _19:
  15951. ;
  15952. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fncode {
  15953. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(3)) {
  15954. if have == uint32(0) {
  15955. goto inf_leave
  15956. }
  15957. have--
  15958. v63 = next
  15959. next++
  15960. hold += uint64(*(*uint8)(unsafe.Pointer(v63))) << bits
  15961. bits += uint32(8)
  15962. }
  15963. v65 = state + 140
  15964. v64 = *(*uint32)(unsafe.Pointer(v65))
  15965. *(*uint32)(unsafe.Pointer(v65))++
  15966. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order1[v64])*2)) = uint16(uint32(hold) & (libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3) - libc.Uint32FromInt32(1)))
  15967. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  15968. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  15969. }
  15970. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < uint32(19) {
  15971. v67 = state + 140
  15972. v66 = *(*uint32)(unsafe.Pointer(v67))
  15973. *(*uint32)(unsafe.Pointer(v67))++
  15974. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(_order1[v66])*2)) = uint16(0)
  15975. }
  15976. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  15977. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  15978. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(7)
  15979. ret = Xinflate_table(tls, int32(_CODES), state+152, uint32(19), state+144, state+120, state+792)
  15980. if ret != 0 {
  15981. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 90
  15982. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  15983. goto _35
  15984. }
  15985. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  15986. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_CODELENS)
  15987. /* fallthrough */
  15988. _20:
  15989. ;
  15990. for (*Tinflate_state)(unsafe.Pointer(state)).Fhave < (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  15991. for {
  15992. 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))
  15993. if uint32(here.Fbits) <= bits {
  15994. break
  15995. }
  15996. if have == uint32(0) {
  15997. goto inf_leave
  15998. }
  15999. have--
  16000. v69 = next
  16001. next++
  16002. hold += uint64(*(*uint8)(unsafe.Pointer(v69))) << bits
  16003. bits += uint32(8)
  16004. goto _68
  16005. _68:
  16006. }
  16007. if libc.Int32FromUint16(here.Fval) < int32(16) {
  16008. hold >>= uint64(here.Fbits)
  16009. bits -= uint32(here.Fbits)
  16010. v71 = state + 140
  16011. v70 = *(*uint32)(unsafe.Pointer(v71))
  16012. *(*uint32)(unsafe.Pointer(v71))++
  16013. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v70)*2)) = here.Fval
  16014. } else {
  16015. if libc.Int32FromUint16(here.Fval) == int32(16) {
  16016. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(2)) {
  16017. if have == uint32(0) {
  16018. goto inf_leave
  16019. }
  16020. have--
  16021. v72 = next
  16022. next++
  16023. hold += uint64(*(*uint8)(unsafe.Pointer(v72))) << bits
  16024. bits += uint32(8)
  16025. }
  16026. hold >>= uint64(here.Fbits)
  16027. bits -= uint32(here.Fbits)
  16028. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave == uint32(0) {
  16029. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  16030. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16031. break
  16032. }
  16033. len1 = uint32(*(*uint16)(unsafe.Pointer(state + 152 + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fhave-uint32(1))*2)))
  16034. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(2)-libc.Uint32FromInt32(1))
  16035. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(2))
  16036. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(2))
  16037. } else {
  16038. if libc.Int32FromUint16(here.Fval) == int32(17) {
  16039. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(3)) {
  16040. if have == uint32(0) {
  16041. goto inf_leave
  16042. }
  16043. have--
  16044. v73 = next
  16045. next++
  16046. hold += uint64(*(*uint8)(unsafe.Pointer(v73))) << bits
  16047. bits += uint32(8)
  16048. }
  16049. hold >>= uint64(here.Fbits)
  16050. bits -= uint32(here.Fbits)
  16051. len1 = uint32(0)
  16052. copy1 = uint32(3) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(3)-libc.Uint32FromInt32(1))
  16053. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(3))
  16054. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(3))
  16055. } else {
  16056. for bits < libc.Uint32FromInt32(libc.Int32FromUint8(here.Fbits)+libc.Int32FromInt32(7)) {
  16057. if have == uint32(0) {
  16058. goto inf_leave
  16059. }
  16060. have--
  16061. v74 = next
  16062. next++
  16063. hold += uint64(*(*uint8)(unsafe.Pointer(v74))) << bits
  16064. bits += uint32(8)
  16065. }
  16066. hold >>= uint64(here.Fbits)
  16067. bits -= uint32(here.Fbits)
  16068. len1 = uint32(0)
  16069. copy1 = uint32(11) + uint32(hold)&(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(7)-libc.Uint32FromInt32(1))
  16070. hold >>= libc.Uint64FromInt32(libc.Int32FromInt32(7))
  16071. bits -= libc.Uint32FromInt32(libc.Int32FromInt32(7))
  16072. }
  16073. }
  16074. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave+copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fnlen+(*Tinflate_state)(unsafe.Pointer(state)).Fndist {
  16075. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 115
  16076. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16077. break
  16078. }
  16079. for {
  16080. v75 = copy1
  16081. copy1--
  16082. if !(v75 != 0) {
  16083. break
  16084. }
  16085. v77 = state + 140
  16086. v76 = *(*uint32)(unsafe.Pointer(v77))
  16087. *(*uint32)(unsafe.Pointer(v77))++
  16088. *(*uint16)(unsafe.Pointer(state + 152 + uintptr(v76)*2)) = uint16(len1)
  16089. }
  16090. }
  16091. }
  16092. /* handle error breaks in while */
  16093. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_BAD) {
  16094. goto _35
  16095. }
  16096. /* check for end-of-block code (better have one) */
  16097. if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(state + 152 + 256*2))) == 0 {
  16098. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 141
  16099. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16100. goto _35
  16101. }
  16102. /* build code tables -- note: do not change the lenbits or distbits
  16103. values here (9 and 6) without reading the comments in inftrees.h
  16104. concerning the ENOUGH constants, which depend on those values */
  16105. (*Tinflate_state)(unsafe.Pointer(state)).Fnext = state + 1368
  16106. (*Tinflate_state)(unsafe.Pointer(state)).Flencode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  16107. (*Tinflate_state)(unsafe.Pointer(state)).Flenbits = uint32(9)
  16108. ret = Xinflate_table(tls, int32(_LENS), state+152, (*Tinflate_state)(unsafe.Pointer(state)).Fnlen, state+144, state+120, state+792)
  16109. if ret != 0 {
  16110. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 178
  16111. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16112. goto _35
  16113. }
  16114. (*Tinflate_state)(unsafe.Pointer(state)).Fdistcode = (*Tinflate_state)(unsafe.Pointer(state)).Fnext
  16115. (*Tinflate_state)(unsafe.Pointer(state)).Fdistbits = uint32(6)
  16116. 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)
  16117. if ret != 0 {
  16118. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 206
  16119. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16120. goto _35
  16121. }
  16122. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN_)
  16123. if flush == int32(m_Z_TREES) {
  16124. goto inf_leave
  16125. }
  16126. /* fallthrough */
  16127. _21:
  16128. ;
  16129. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  16130. /* fallthrough */
  16131. _22:
  16132. ;
  16133. if have >= uint32(6) && left >= uint32(258) {
  16134. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  16135. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  16136. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  16137. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  16138. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  16139. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  16140. Xinflate_fast(tls, strm, out)
  16141. put = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  16142. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  16143. next = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  16144. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  16145. hold = (*Tinflate_state)(unsafe.Pointer(state)).Fhold
  16146. bits = (*Tinflate_state)(unsafe.Pointer(state)).Fbits
  16147. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
  16148. (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
  16149. }
  16150. goto _35
  16151. }
  16152. (*Tinflate_state)(unsafe.Pointer(state)).Fback = 0
  16153. for {
  16154. 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))
  16155. if uint32(here.Fbits) <= bits {
  16156. break
  16157. }
  16158. if have == uint32(0) {
  16159. goto inf_leave
  16160. }
  16161. have--
  16162. v79 = next
  16163. next++
  16164. hold += uint64(*(*uint8)(unsafe.Pointer(v79))) << bits
  16165. bits += uint32(8)
  16166. goto _78
  16167. _78:
  16168. }
  16169. if here.Fop != 0 && libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  16170. last = here
  16171. for {
  16172. 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))
  16173. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  16174. break
  16175. }
  16176. if have == uint32(0) {
  16177. goto inf_leave
  16178. }
  16179. have--
  16180. v81 = next
  16181. next++
  16182. hold += uint64(*(*uint8)(unsafe.Pointer(v81))) << bits
  16183. bits += uint32(8)
  16184. goto _80
  16185. _80:
  16186. }
  16187. hold >>= uint64(last.Fbits)
  16188. bits -= uint32(last.Fbits)
  16189. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(last.Fbits)
  16190. }
  16191. hold >>= uint64(here.Fbits)
  16192. bits -= uint32(here.Fbits)
  16193. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(here.Fbits)
  16194. (*Tinflate_state)(unsafe.Pointer(state)).Flength = uint32(here.Fval)
  16195. if libc.Int32FromUint8(here.Fop) == 0 {
  16196. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LIT)
  16197. goto _35
  16198. }
  16199. if libc.Int32FromUint8(here.Fop)&int32(32) != 0 {
  16200. (*Tinflate_state)(unsafe.Pointer(state)).Fback = -int32(1)
  16201. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  16202. goto _35
  16203. }
  16204. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  16205. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 228
  16206. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16207. goto _35
  16208. }
  16209. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  16210. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENEXT)
  16211. /* fallthrough */
  16212. _23:
  16213. ;
  16214. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != 0 {
  16215. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  16216. if have == uint32(0) {
  16217. goto inf_leave
  16218. }
  16219. have--
  16220. v82 = next
  16221. next++
  16222. hold += uint64(*(*uint8)(unsafe.Pointer(v82))) << bits
  16223. bits += uint32(8)
  16224. }
  16225. *(*uint32)(unsafe.Pointer(state + 92)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  16226. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  16227. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  16228. p83 = state + 7148
  16229. *(*int32)(unsafe.Pointer(p83)) = int32(uint32(*(*int32)(unsafe.Pointer(p83))) + (*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  16230. }
  16231. (*Tinflate_state)(unsafe.Pointer(state)).Fwas = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16232. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DIST)
  16233. /* fallthrough */
  16234. _24:
  16235. ;
  16236. for {
  16237. 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))
  16238. if uint32(here.Fbits) <= bits {
  16239. break
  16240. }
  16241. if have == uint32(0) {
  16242. goto inf_leave
  16243. }
  16244. have--
  16245. v85 = next
  16246. next++
  16247. hold += uint64(*(*uint8)(unsafe.Pointer(v85))) << bits
  16248. bits += uint32(8)
  16249. goto _84
  16250. _84:
  16251. }
  16252. if libc.Int32FromUint8(here.Fop)&int32(0xf0) == 0 {
  16253. last = here
  16254. for {
  16255. 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))
  16256. if libc.Uint32FromInt32(libc.Int32FromUint8(last.Fbits)+libc.Int32FromUint8(here.Fbits)) <= bits {
  16257. break
  16258. }
  16259. if have == uint32(0) {
  16260. goto inf_leave
  16261. }
  16262. have--
  16263. v87 = next
  16264. next++
  16265. hold += uint64(*(*uint8)(unsafe.Pointer(v87))) << bits
  16266. bits += uint32(8)
  16267. goto _86
  16268. _86:
  16269. }
  16270. hold >>= uint64(last.Fbits)
  16271. bits -= uint32(last.Fbits)
  16272. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(last.Fbits)
  16273. }
  16274. hold >>= uint64(here.Fbits)
  16275. bits -= uint32(here.Fbits)
  16276. *(*int32)(unsafe.Pointer(state + 7148)) += libc.Int32FromUint8(here.Fbits)
  16277. if libc.Int32FromUint8(here.Fop)&int32(64) != 0 {
  16278. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 256
  16279. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16280. goto _35
  16281. }
  16282. (*Tinflate_state)(unsafe.Pointer(state)).Foffset = uint32(here.Fval)
  16283. (*Tinflate_state)(unsafe.Pointer(state)).Fextra = uint32(here.Fop) & uint32(15)
  16284. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DISTEXT)
  16285. /* fallthrough */
  16286. _25:
  16287. ;
  16288. if (*Tinflate_state)(unsafe.Pointer(state)).Fextra != 0 {
  16289. for bits < (*Tinflate_state)(unsafe.Pointer(state)).Fextra {
  16290. if have == uint32(0) {
  16291. goto inf_leave
  16292. }
  16293. have--
  16294. v88 = next
  16295. next++
  16296. hold += uint64(*(*uint8)(unsafe.Pointer(v88))) << bits
  16297. bits += uint32(8)
  16298. }
  16299. *(*uint32)(unsafe.Pointer(state + 96)) += uint32(hold) & (uint32(1)<<(*Tinflate_state)(unsafe.Pointer(state)).Fextra - uint32(1))
  16300. hold >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  16301. bits -= (*Tinflate_state)(unsafe.Pointer(state)).Fextra
  16302. p89 = state + 7148
  16303. *(*int32)(unsafe.Pointer(p89)) = int32(uint32(*(*int32)(unsafe.Pointer(p89))) + (*Tinflate_state)(unsafe.Pointer(state)).Fextra)
  16304. }
  16305. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MATCH)
  16306. /* fallthrough */
  16307. _26:
  16308. ;
  16309. if left == uint32(0) {
  16310. goto inf_leave
  16311. }
  16312. copy1 = out - left
  16313. if (*Tinflate_state)(unsafe.Pointer(state)).Foffset > copy1 { /* copy from window */
  16314. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Foffset - copy1
  16315. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwhave {
  16316. if (*Tinflate_state)(unsafe.Pointer(state)).Fsane != 0 {
  16317. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 278
  16318. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16319. goto _35
  16320. }
  16321. }
  16322. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Fwnext {
  16323. copy1 -= (*Tinflate_state)(unsafe.Pointer(state)).Fwnext
  16324. from = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwsize-copy1)
  16325. } else {
  16326. from = (*Tinflate_state)(unsafe.Pointer(state)).Fwindow + uintptr((*Tinflate_state)(unsafe.Pointer(state)).Fwnext-copy1)
  16327. }
  16328. if copy1 > (*Tinflate_state)(unsafe.Pointer(state)).Flength {
  16329. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16330. }
  16331. } else { /* copy from output */
  16332. from = put - uintptr((*Tinflate_state)(unsafe.Pointer(state)).Foffset)
  16333. copy1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16334. }
  16335. if copy1 > left {
  16336. copy1 = left
  16337. }
  16338. left -= copy1
  16339. *(*uint32)(unsafe.Pointer(state + 92)) -= copy1
  16340. for {
  16341. v92 = put
  16342. put++
  16343. v93 = from
  16344. from++
  16345. *(*uint8)(unsafe.Pointer(v92)) = *(*uint8)(unsafe.Pointer(v93))
  16346. goto _91
  16347. _91:
  16348. ;
  16349. copy1--
  16350. v90 = copy1
  16351. if !(v90 != 0) {
  16352. break
  16353. }
  16354. }
  16355. if (*Tinflate_state)(unsafe.Pointer(state)).Flength == uint32(0) {
  16356. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  16357. }
  16358. goto _35
  16359. _27:
  16360. ;
  16361. if left == uint32(0) {
  16362. goto inf_leave
  16363. }
  16364. v94 = put
  16365. put++
  16366. *(*uint8)(unsafe.Pointer(v94)) = uint8((*Tinflate_state)(unsafe.Pointer(state)).Flength)
  16367. left--
  16368. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LEN)
  16369. goto _35
  16370. _28:
  16371. ;
  16372. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 {
  16373. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  16374. if have == uint32(0) {
  16375. goto inf_leave
  16376. }
  16377. have--
  16378. v95 = next
  16379. next++
  16380. hold += uint64(*(*uint8)(unsafe.Pointer(v95))) << bits
  16381. bits += uint32(8)
  16382. }
  16383. out -= left
  16384. *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(out)
  16385. *(*uint64)(unsafe.Pointer(state + 40)) += uint64(out)
  16386. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && out != 0 {
  16387. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  16388. v97 = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, put-uintptr(out), out)
  16389. } else {
  16390. v97 = Xadler32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, put-uintptr(out), out)
  16391. }
  16392. v96 = v97
  16393. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v96
  16394. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v96
  16395. }
  16396. out = left
  16397. if v99 = (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0; v99 {
  16398. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  16399. v98 = hold
  16400. } else {
  16401. v98 = hold>>int32(24)&uint64(0xff) + hold>>int32(8)&uint64(0xff00) + hold&uint64(0xff00)<<int32(8) + hold&uint64(0xff)<<int32(24)
  16402. }
  16403. }
  16404. if v99 && v98 != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck {
  16405. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 423
  16406. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16407. goto _35
  16408. }
  16409. hold = uint64(0)
  16410. bits = uint32(0)
  16411. }
  16412. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_LENGTH)
  16413. /* fallthrough */
  16414. _29:
  16415. ;
  16416. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  16417. for bits < libc.Uint32FromInt32(libc.Int32FromInt32(32)) {
  16418. if have == uint32(0) {
  16419. goto inf_leave
  16420. }
  16421. have--
  16422. v100 = next
  16423. next++
  16424. hold += uint64(*(*uint8)(unsafe.Pointer(v100))) << bits
  16425. bits += uint32(8)
  16426. }
  16427. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && hold != (*Tinflate_state)(unsafe.Pointer(state)).Ftotal&uint64(0xffffffff) {
  16428. (*Tz_stream)(unsafe.Pointer(strm)).Fmsg = __ccgo_ts + 444
  16429. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_BAD)
  16430. goto _35
  16431. }
  16432. hold = uint64(0)
  16433. bits = uint32(0)
  16434. }
  16435. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_DONE)
  16436. /* fallthrough */
  16437. _30:
  16438. ;
  16439. ret = int32(m_Z_STREAM_END)
  16440. goto inf_leave
  16441. _31:
  16442. ;
  16443. ret = -int32(3)
  16444. goto inf_leave
  16445. _32:
  16446. ;
  16447. return -int32(4)
  16448. _34:
  16449. ;
  16450. /* fallthrough */
  16451. _33:
  16452. ;
  16453. return -int32(2)
  16454. _35:
  16455. ;
  16456. goto _1
  16457. _1:
  16458. }
  16459. /*
  16460. Return from inflate(), updating the total counts and the check value.
  16461. If there was no progress during the inflate() call, return a buffer
  16462. error. Call updatewindow() to create and/or update the window state.
  16463. Note: a memory error from inflate() is non-recoverable.
  16464. */
  16465. goto inf_leave
  16466. inf_leave:
  16467. ;
  16468. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = put
  16469. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = left
  16470. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = next
  16471. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = have
  16472. (*Tinflate_state)(unsafe.Pointer(state)).Fhold = hold
  16473. (*Tinflate_state)(unsafe.Pointer(state)).Fbits = bits
  16474. 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)) {
  16475. if _updatewindow(tls, strm, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out, out-(*Tz_stream)(unsafe.Pointer(strm)).Favail_out) != 0 {
  16476. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MEM)
  16477. return -int32(4)
  16478. }
  16479. }
  16480. in -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  16481. out -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  16482. *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(in)
  16483. *(*TuLong)(unsafe.Pointer(strm + 40)) += uint64(out)
  16484. *(*uint64)(unsafe.Pointer(state + 40)) += uint64(out)
  16485. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(4) != 0 && out != 0 {
  16486. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags != 0 {
  16487. v102 = Xcrc32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out-uintptr(out), out)
  16488. } else {
  16489. v102 = Xadler32(tls, (*Tinflate_state)(unsafe.Pointer(state)).Fcheck, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out-uintptr(out), out)
  16490. }
  16491. v101 = v102
  16492. (*Tinflate_state)(unsafe.Pointer(state)).Fcheck = v101
  16493. (*Tz_stream)(unsafe.Pointer(strm)).Fadler = v101
  16494. }
  16495. if (*Tinflate_state)(unsafe.Pointer(state)).Flast != 0 {
  16496. v103 = int32(64)
  16497. } else {
  16498. v103 = 0
  16499. }
  16500. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_TYPE) {
  16501. v104 = int32(128)
  16502. } else {
  16503. v104 = 0
  16504. }
  16505. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_LEN_) || (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_COPY_) {
  16506. v105 = int32(256)
  16507. } else {
  16508. v105 = 0
  16509. }
  16510. (*Tz_stream)(unsafe.Pointer(strm)).Fdata_type = libc.Int32FromUint32((*Tinflate_state)(unsafe.Pointer(state)).Fbits) + v103 + v104 + v105
  16511. if (in == uint32(0) && out == uint32(0) || flush == int32(m_Z_FINISH)) && ret == m_Z_OK {
  16512. ret = -int32(5)
  16513. }
  16514. return ret
  16515. }
  16516. var _order1 = [19]uint16{
  16517. 0: uint16(16),
  16518. 1: uint16(17),
  16519. 2: uint16(18),
  16520. 4: uint16(8),
  16521. 5: uint16(7),
  16522. 6: uint16(9),
  16523. 7: uint16(6),
  16524. 8: uint16(10),
  16525. 9: uint16(5),
  16526. 10: uint16(11),
  16527. 11: uint16(4),
  16528. 12: uint16(12),
  16529. 13: uint16(3),
  16530. 14: uint16(13),
  16531. 15: uint16(2),
  16532. 16: uint16(14),
  16533. 17: uint16(1),
  16534. 18: uint16(15),
  16535. }
  16536. func XinflateEnd(tls *libc.TLS, strm Tz_streamp) (r int32) {
  16537. var state uintptr
  16538. _ = state
  16539. if _inflateStateCheck(tls, strm) != 0 {
  16540. return -int32(2)
  16541. }
  16542. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16543. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) {
  16544. (*(*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)
  16545. }
  16546. (*(*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)
  16547. (*Tz_stream)(unsafe.Pointer(strm)).Fstate = uintptr(m_Z_NULL)
  16548. return m_Z_OK
  16549. }
  16550. func XinflateGetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength uintptr) (r int32) {
  16551. var state uintptr
  16552. _ = state
  16553. /* check state */
  16554. if _inflateStateCheck(tls, strm) != 0 {
  16555. return -int32(2)
  16556. }
  16557. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16558. /* copy dictionary */
  16559. if (*Tinflate_state)(unsafe.Pointer(state)).Fwhave != 0 && dictionary != uintptr(m_Z_NULL) {
  16560. 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))
  16561. 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))
  16562. }
  16563. if dictLength != uintptr(m_Z_NULL) {
  16564. *(*TuInt)(unsafe.Pointer(dictLength)) = (*Tinflate_state)(unsafe.Pointer(state)).Fwhave
  16565. }
  16566. return m_Z_OK
  16567. }
  16568. func XinflateSetDictionary(tls *libc.TLS, strm Tz_streamp, dictionary uintptr, dictLength TuInt) (r int32) {
  16569. var dictid uint64
  16570. var ret int32
  16571. var state uintptr
  16572. _, _, _ = dictid, ret, state
  16573. /* check state */
  16574. if _inflateStateCheck(tls, strm) != 0 {
  16575. return -int32(2)
  16576. }
  16577. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16578. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fmode != int32(_DICT) {
  16579. return -int32(2)
  16580. }
  16581. /* check for correct dictionary identifier */
  16582. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_DICT) {
  16583. dictid = Xadler32(tls, uint64(0), uintptr(m_Z_NULL), uint32(0))
  16584. dictid = Xadler32(tls, dictid, dictionary, dictLength)
  16585. if dictid != (*Tinflate_state)(unsafe.Pointer(state)).Fcheck {
  16586. return -int32(3)
  16587. }
  16588. }
  16589. /* copy dictionary to window using updatewindow(), which will amend the
  16590. existing dictionary if appropriate */
  16591. ret = _updatewindow(tls, strm, dictionary+uintptr(dictLength), dictLength)
  16592. if ret != 0 {
  16593. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_MEM)
  16594. return -int32(4)
  16595. }
  16596. (*Tinflate_state)(unsafe.Pointer(state)).Fhavedict = int32(1)
  16597. return m_Z_OK
  16598. }
  16599. func XinflateGetHeader(tls *libc.TLS, strm Tz_streamp, head Tgz_headerp) (r int32) {
  16600. var state uintptr
  16601. _ = state
  16602. /* check state */
  16603. if _inflateStateCheck(tls, strm) != 0 {
  16604. return -int32(2)
  16605. }
  16606. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16607. if (*Tinflate_state)(unsafe.Pointer(state)).Fwrap&int32(2) == 0 {
  16608. return -int32(2)
  16609. }
  16610. /* save header structure */
  16611. (*Tinflate_state)(unsafe.Pointer(state)).Fhead = head
  16612. (*Tgz_header)(unsafe.Pointer(head)).Fdone = 0
  16613. return m_Z_OK
  16614. }
  16615. // C documentation
  16616. //
  16617. // /*
  16618. // Search buf[0..len-1] for the pattern: 0, 0, 0xff, 0xff. Return when found
  16619. // or when out of input. When called, *have is the number of pattern bytes
  16620. // found in order so far, in 0..3. On return *have is updated to the new
  16621. // state. If on return *have equals four, then the pattern was found and the
  16622. // return value is how many bytes were read including the last byte of the
  16623. // pattern. If *have is less than four, then the pattern has not been found
  16624. // yet and the return value is len. In the latter case, syncsearch() can be
  16625. // called again with more data and the *have state. *have is initialized to
  16626. // zero for the first call.
  16627. // */
  16628. func _syncsearch(tls *libc.TLS, have uintptr, buf uintptr, len1 uint32) (r uint32) {
  16629. var got, next uint32
  16630. var v1 int32
  16631. _, _, _ = got, next, v1
  16632. got = *(*uint32)(unsafe.Pointer(have))
  16633. next = uint32(0)
  16634. for next < len1 && got < uint32(4) {
  16635. if got < uint32(2) {
  16636. v1 = 0
  16637. } else {
  16638. v1 = int32(0xff)
  16639. }
  16640. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(buf + uintptr(next)))) == v1 {
  16641. got++
  16642. } else {
  16643. if *(*uint8)(unsafe.Pointer(buf + uintptr(next))) != 0 {
  16644. got = uint32(0)
  16645. } else {
  16646. got = uint32(4) - got
  16647. }
  16648. }
  16649. next++
  16650. }
  16651. *(*uint32)(unsafe.Pointer(have)) = got
  16652. return next
  16653. }
  16654. func XinflateSync(tls *libc.TLS, strm Tz_streamp) (r int32) {
  16655. bp := tls.Alloc(16)
  16656. defer tls.Free(16)
  16657. var flags int32
  16658. var in, out uint64
  16659. var len1, v1 uint32
  16660. var state uintptr
  16661. var _ /* buf at bp+0 */ [4]uint8
  16662. _, _, _, _, _, _ = flags, in, len1, out, state, v1
  16663. /* check parameters */
  16664. if _inflateStateCheck(tls, strm) != 0 {
  16665. return -int32(2)
  16666. }
  16667. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16668. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) && (*Tinflate_state)(unsafe.Pointer(state)).Fbits < uint32(8) {
  16669. return -int32(5)
  16670. }
  16671. /* if first time, start search in bit buffer */
  16672. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode != int32(_SYNC) {
  16673. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_SYNC)
  16674. *(*uint64)(unsafe.Pointer(state + 80)) >>= uint64((*Tinflate_state)(unsafe.Pointer(state)).Fbits & uint32(7))
  16675. *(*uint32)(unsafe.Pointer(state + 88)) -= (*Tinflate_state)(unsafe.Pointer(state)).Fbits & uint32(7)
  16676. len1 = uint32(0)
  16677. for (*Tinflate_state)(unsafe.Pointer(state)).Fbits >= uint32(8) {
  16678. v1 = len1
  16679. len1++
  16680. (*(*[4]uint8)(unsafe.Pointer(bp)))[v1] = uint8((*Tinflate_state)(unsafe.Pointer(state)).Fhold)
  16681. *(*uint64)(unsafe.Pointer(state + 80)) >>= uint64(8)
  16682. *(*uint32)(unsafe.Pointer(state + 88)) -= uint32(8)
  16683. }
  16684. (*Tinflate_state)(unsafe.Pointer(state)).Fhave = uint32(0)
  16685. _syncsearch(tls, state+140, bp, len1)
  16686. }
  16687. /* search available input */
  16688. len1 = _syncsearch(tls, state+140, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, (*Tz_stream)(unsafe.Pointer(strm)).Favail_in)
  16689. *(*TuInt)(unsafe.Pointer(strm + 8)) -= len1
  16690. *(*uintptr)(unsafe.Pointer(strm)) += uintptr(len1)
  16691. *(*TuLong)(unsafe.Pointer(strm + 16)) += uint64(len1)
  16692. /* return no joy or set up to restart inflate() on a new block */
  16693. if (*Tinflate_state)(unsafe.Pointer(state)).Fhave != uint32(4) {
  16694. return -int32(3)
  16695. }
  16696. if (*Tinflate_state)(unsafe.Pointer(state)).Fflags == -int32(1) {
  16697. (*Tinflate_state)(unsafe.Pointer(state)).Fwrap = 0
  16698. } else {
  16699. *(*int32)(unsafe.Pointer(state + 16)) &= ^libc.Int32FromInt32(4)
  16700. } /* no point in computing a check value now */
  16701. flags = (*Tinflate_state)(unsafe.Pointer(state)).Fflags
  16702. in = (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in
  16703. out = (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out
  16704. XinflateReset(tls, strm)
  16705. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_in = in
  16706. (*Tz_stream)(unsafe.Pointer(strm)).Ftotal_out = out
  16707. (*Tinflate_state)(unsafe.Pointer(state)).Fflags = flags
  16708. (*Tinflate_state)(unsafe.Pointer(state)).Fmode = int32(_TYPE)
  16709. return m_Z_OK
  16710. }
  16711. // C documentation
  16712. //
  16713. // /*
  16714. // Returns true if inflate is currently at the end of a block generated by
  16715. // Z_SYNC_FLUSH or Z_FULL_FLUSH. This function is used by one PPP
  16716. // implementation to provide an additional safety check. PPP uses
  16717. // Z_SYNC_FLUSH but removes the length bytes of the resulting empty stored
  16718. // block. When decompressing, PPP checks that at the end of input packet,
  16719. // inflate is waiting for these length bytes.
  16720. // */
  16721. func XinflateSyncPoint(tls *libc.TLS, strm Tz_streamp) (r int32) {
  16722. var state uintptr
  16723. _ = state
  16724. if _inflateStateCheck(tls, strm) != 0 {
  16725. return -int32(2)
  16726. }
  16727. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16728. return libc.BoolInt32((*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_STORED) && (*Tinflate_state)(unsafe.Pointer(state)).Fbits == uint32(0))
  16729. }
  16730. func XinflateCopy(tls *libc.TLS, dest Tz_streamp, source Tz_streamp) (r int32) {
  16731. var copy1, state, window uintptr
  16732. var wsize uint32
  16733. _, _, _, _ = copy1, state, window, wsize
  16734. /* check input */
  16735. if _inflateStateCheck(tls, source) != 0 || dest == uintptr(m_Z_NULL) {
  16736. return -int32(2)
  16737. }
  16738. state = (*Tz_stream)(unsafe.Pointer(source)).Fstate
  16739. /* allocate space */
  16740. 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)))
  16741. if copy1 == uintptr(m_Z_NULL) {
  16742. return -int32(4)
  16743. }
  16744. window = uintptr(m_Z_NULL)
  16745. if (*Tinflate_state)(unsafe.Pointer(state)).Fwindow != uintptr(m_Z_NULL) {
  16746. 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)))
  16747. if window == uintptr(m_Z_NULL) {
  16748. (*(*func(*libc.TLS, Tvoidpf, Tvoidpf))(unsafe.Pointer(&struct{ uintptr }{(*Tz_stream)(unsafe.Pointer(source)).Fzfree})))(tls, (*Tz_stream)(unsafe.Pointer(source)).Fopaque, copy1)
  16749. return -int32(4)
  16750. }
  16751. }
  16752. /* copy state */
  16753. libc.Xmemcpy(tls, dest, source, uint64(112))
  16754. libc.Xmemcpy(tls, copy1, state, uint64(7160))
  16755. (*Tinflate_state)(unsafe.Pointer(copy1)).Fstrm = dest
  16756. 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 {
  16757. (*Tinflate_state)(unsafe.Pointer(copy1)).Flencode = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Flencode)-t__predefined_ptrdiff_t(state+1368))/4)*4
  16758. (*Tinflate_state)(unsafe.Pointer(copy1)).Fdistcode = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Fdistcode)-t__predefined_ptrdiff_t(state+1368))/4)*4
  16759. }
  16760. (*Tinflate_state)(unsafe.Pointer(copy1)).Fnext = copy1 + 1368 + uintptr((int64((*Tinflate_state)(unsafe.Pointer(state)).Fnext)-t__predefined_ptrdiff_t(state+1368))/4)*4
  16761. if window != uintptr(m_Z_NULL) {
  16762. wsize = uint32(1) << (*Tinflate_state)(unsafe.Pointer(state)).Fwbits
  16763. libc.Xmemcpy(tls, window, (*Tinflate_state)(unsafe.Pointer(state)).Fwindow, uint64(wsize))
  16764. }
  16765. (*Tinflate_state)(unsafe.Pointer(copy1)).Fwindow = window
  16766. (*Tz_stream)(unsafe.Pointer(dest)).Fstate = copy1
  16767. return m_Z_OK
  16768. }
  16769. func XinflateUndermine(tls *libc.TLS, strm Tz_streamp, subvert int32) (r int32) {
  16770. var state uintptr
  16771. _ = state
  16772. if _inflateStateCheck(tls, strm) != 0 {
  16773. return -int32(2)
  16774. }
  16775. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16776. _ = subvert
  16777. (*Tinflate_state)(unsafe.Pointer(state)).Fsane = int32(1)
  16778. return -int32(3)
  16779. }
  16780. func XinflateValidate(tls *libc.TLS, strm Tz_streamp, check int32) (r int32) {
  16781. var state uintptr
  16782. _ = state
  16783. if _inflateStateCheck(tls, strm) != 0 {
  16784. return -int32(2)
  16785. }
  16786. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16787. if check != 0 && (*Tinflate_state)(unsafe.Pointer(state)).Fwrap != 0 {
  16788. *(*int32)(unsafe.Pointer(state + 16)) |= int32(4)
  16789. } else {
  16790. *(*int32)(unsafe.Pointer(state + 16)) &= ^libc.Int32FromInt32(4)
  16791. }
  16792. return m_Z_OK
  16793. }
  16794. func XinflateMark(tls *libc.TLS, strm Tz_streamp) (r int64) {
  16795. var state uintptr
  16796. var v1, v2 uint32
  16797. _, _, _ = state, v1, v2
  16798. if _inflateStateCheck(tls, strm) != 0 {
  16799. return -(libc.Int64FromInt64(1) << libc.Int32FromInt32(16))
  16800. }
  16801. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16802. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_COPY) {
  16803. v1 = (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16804. } else {
  16805. if (*Tinflate_state)(unsafe.Pointer(state)).Fmode == int32(_MATCH) {
  16806. v2 = (*Tinflate_state)(unsafe.Pointer(state)).Fwas - (*Tinflate_state)(unsafe.Pointer(state)).Flength
  16807. } else {
  16808. v2 = uint32(0)
  16809. }
  16810. v1 = v2
  16811. }
  16812. return libc.Int64FromUint64(libc.Uint64FromInt64(int64((*Tinflate_state)(unsafe.Pointer(state)).Fback))<<libc.Int32FromInt32(16)) + libc.Int64FromUint32(v1)
  16813. }
  16814. func XinflateCodesUsed(tls *libc.TLS, strm Tz_streamp) (r uint64) {
  16815. var state uintptr
  16816. _ = state
  16817. if _inflateStateCheck(tls, strm) != 0 {
  16818. return libc.Uint64FromInt32(-libc.Int32FromInt32(1))
  16819. }
  16820. state = (*Tz_stream)(unsafe.Pointer(strm)).Fstate
  16821. return libc.Uint64FromInt64((int64((*Tinflate_state)(unsafe.Pointer(state)).Fnext) - t__predefined_ptrdiff_t(state+1368)) / 4)
  16822. }
  16823. const m_MAXBITS = 15
  16824. /*
  16825. If you use the zlib library in a product, an acknowledgment is welcome
  16826. in the documentation of your product. If for some reason you cannot
  16827. include such an acknowledgment, I would appreciate that you keep this
  16828. copyright string in the executable of your product.
  16829. */
  16830. // C documentation
  16831. //
  16832. // /*
  16833. // Build a set of tables to decode the provided canonical Huffman code.
  16834. // The code lengths are lens[0..codes-1]. The result starts at *table,
  16835. // whose indices are 0..2^bits-1. work is a writable array of at least
  16836. // lens shorts, which is used as a work area. type is the type of code
  16837. // to be generated, CODES, LENS, or DISTS. On return, zero is success,
  16838. // -1 is an invalid code, and +1 means that ENOUGH isn't enough. table
  16839. // on return points to the next available entry's address. bits is the
  16840. // requested root table index bits, and on return it is the actual root
  16841. // table index bits. It will differ if the request is greater than the
  16842. // longest code or if it is less than the shortest code.
  16843. // */
  16844. func Xinflate_table(tls *libc.TLS, type1 Tcodetype, lens uintptr, codes uint32, table uintptr, bits uintptr, work uintptr) (r int32) {
  16845. bp := tls.Alloc(64)
  16846. defer tls.Free(64)
  16847. var base, extra, next, v13, v14, v17, v4, v5, v6, v7 uintptr
  16848. var curr, drop, fill, huff, incr, len1, low, mask, match, max, min, root, sym, used uint32
  16849. var here Tcode
  16850. var left int32
  16851. var v12, v16 uint16
  16852. var _ /* count at bp+0 */ [16]uint16
  16853. var _ /* offs at bp+32 */ [16]uint16
  16854. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
  16855. /*
  16856. Process a set of code lengths to create a canonical Huffman code. The
  16857. code lengths are lens[0..codes-1]. Each length corresponds to the
  16858. symbols 0..codes-1. The Huffman code is generated by first sorting the
  16859. symbols by length from short to long, and retaining the symbol order
  16860. for codes with equal lengths. Then the code starts with all zero bits
  16861. for the first code of the shortest length, and the codes are integer
  16862. increments for the same length, and zeros are appended as the length
  16863. increases. For the deflate format, these bits are stored backwards
  16864. from their more natural integer increment ordering, and so when the
  16865. decoding tables are built in the large loop below, the integer codes
  16866. are incremented backwards.
  16867. This routine assumes, but does not check, that all of the entries in
  16868. lens[] are in the range 0..MAXBITS. The caller must assure this.
  16869. 1..MAXBITS is interpreted as that code length. zero means that that
  16870. symbol does not occur in this code.
  16871. The codes are sorted by computing a count of codes for each length,
  16872. creating from that a table of starting indices for each length in the
  16873. sorted table, and then entering the symbols in order in the sorted
  16874. table. The sorted table is work[], with that space being provided by
  16875. the caller.
  16876. The length counts are used for other purposes as well, i.e. finding
  16877. the minimum and maximum length codes, determining if there are any
  16878. codes at all, checking for a valid set of lengths, and looking ahead
  16879. at length counts to determine sub-table sizes when building the
  16880. decoding tables.
  16881. */
  16882. /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */
  16883. len1 = uint32(0)
  16884. for {
  16885. if !(len1 <= uint32(m_MAXBITS)) {
  16886. break
  16887. }
  16888. (*(*[16]uint16)(unsafe.Pointer(bp)))[len1] = uint16(0)
  16889. goto _1
  16890. _1:
  16891. ;
  16892. len1++
  16893. }
  16894. sym = uint32(0)
  16895. for {
  16896. if !(sym < codes) {
  16897. break
  16898. }
  16899. (*(*[16]uint16)(unsafe.Pointer(bp)))[*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2))]++
  16900. goto _2
  16901. _2:
  16902. ;
  16903. sym++
  16904. }
  16905. /* bound code lengths, force root to be within code lengths */
  16906. root = *(*uint32)(unsafe.Pointer(bits))
  16907. max = uint32(m_MAXBITS)
  16908. for {
  16909. if !(max >= uint32(1)) {
  16910. break
  16911. }
  16912. if libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[max]) != 0 {
  16913. break
  16914. }
  16915. goto _3
  16916. _3:
  16917. ;
  16918. max--
  16919. }
  16920. if root > max {
  16921. root = max
  16922. }
  16923. if max == uint32(0) { /* no symbols to code at all */
  16924. here.Fop = libc.Uint8FromInt32(64) /* invalid code marker */
  16925. here.Fbits = libc.Uint8FromInt32(1)
  16926. here.Fval = libc.Uint16FromInt32(0)
  16927. v5 = table
  16928. v4 = *(*uintptr)(unsafe.Pointer(v5))
  16929. *(*uintptr)(unsafe.Pointer(v5)) += 4
  16930. *(*Tcode)(unsafe.Pointer(v4)) = here /* make a table to force an error */
  16931. v7 = table
  16932. v6 = *(*uintptr)(unsafe.Pointer(v7))
  16933. *(*uintptr)(unsafe.Pointer(v7)) += 4
  16934. *(*Tcode)(unsafe.Pointer(v6)) = here
  16935. *(*uint32)(unsafe.Pointer(bits)) = uint32(1)
  16936. return 0 /* no symbols, but wait for decoding to report error */
  16937. }
  16938. min = uint32(1)
  16939. for {
  16940. if !(min < max) {
  16941. break
  16942. }
  16943. if libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[min]) != 0 {
  16944. break
  16945. }
  16946. goto _8
  16947. _8:
  16948. ;
  16949. min++
  16950. }
  16951. if root < min {
  16952. root = min
  16953. }
  16954. /* check for an over-subscribed or incomplete set of lengths */
  16955. left = int32(1)
  16956. len1 = uint32(1)
  16957. for {
  16958. if !(len1 <= uint32(m_MAXBITS)) {
  16959. break
  16960. }
  16961. left <<= int32(1)
  16962. left -= libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[len1])
  16963. if left < 0 {
  16964. return -int32(1)
  16965. } /* over-subscribed */
  16966. goto _9
  16967. _9:
  16968. ;
  16969. len1++
  16970. }
  16971. if left > 0 && (type1 == int32(_CODES) || max != uint32(1)) {
  16972. return -int32(1)
  16973. } /* incomplete set */
  16974. /* generate offsets into symbol table for each length for sorting */
  16975. (*(*[16]uint16)(unsafe.Pointer(bp + 32)))[int32(1)] = uint16(0)
  16976. len1 = uint32(1)
  16977. for {
  16978. if !(len1 < uint32(m_MAXBITS)) {
  16979. break
  16980. }
  16981. (*(*[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]))
  16982. goto _10
  16983. _10:
  16984. ;
  16985. len1++
  16986. }
  16987. /* sort symbols by length, by symbol order within each length */
  16988. sym = uint32(0)
  16989. for {
  16990. if !(sym < codes) {
  16991. break
  16992. }
  16993. if libc.Int32FromUint16(*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2))) != 0 {
  16994. v13 = bp + 32 + uintptr(*(*uint16)(unsafe.Pointer(lens + uintptr(sym)*2)))*2
  16995. v12 = *(*uint16)(unsafe.Pointer(v13))
  16996. *(*uint16)(unsafe.Pointer(v13))++
  16997. *(*uint16)(unsafe.Pointer(work + uintptr(v12)*2)) = uint16(sym)
  16998. }
  16999. goto _11
  17000. _11:
  17001. ;
  17002. sym++
  17003. }
  17004. /*
  17005. Create and fill in decoding tables. In this loop, the table being
  17006. filled is at next and has curr index bits. The code being used is huff
  17007. with length len. That code is converted to an index by dropping drop
  17008. bits off of the bottom. For codes where len is less than drop + curr,
  17009. those top drop + curr - len bits are incremented through all values to
  17010. fill the table with replicated entries.
  17011. root is the number of index bits for the root table. When len exceeds
  17012. root, sub-tables are created pointed to by the root entry with an index
  17013. of the low root bits of huff. This is saved in low to check for when a
  17014. new sub-table should be started. drop is zero when the root table is
  17015. being filled, and drop is root when sub-tables are being filled.
  17016. When a new sub-table is needed, it is necessary to look ahead in the
  17017. code lengths to determine what size sub-table is needed. The length
  17018. counts are used for this, and so count[] is decremented as codes are
  17019. entered in the tables.
  17020. used keeps track of how many table entries have been allocated from the
  17021. provided *table space. It is checked for LENS and DIST tables against
  17022. the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in
  17023. the initial root table size constants. See the comments in inftrees.h
  17024. for more information.
  17025. sym increments through all symbols, and the loop terminates when
  17026. all codes of length max, i.e. all codes, have been processed. This
  17027. routine permits incomplete codes, so another loop after this one fills
  17028. in the rest of the decoding tables with invalid code markers.
  17029. */
  17030. /* set up for code type */
  17031. switch type1 {
  17032. case int32(_CODES):
  17033. v14 = work
  17034. extra = v14
  17035. base = v14 /* dummy value--not used */
  17036. match = uint32(20)
  17037. case int32(_LENS):
  17038. base = uintptr(unsafe.Pointer(&_lbase))
  17039. extra = uintptr(unsafe.Pointer(&_lext))
  17040. match = uint32(257)
  17041. default: /* DISTS */
  17042. base = uintptr(unsafe.Pointer(&_dbase))
  17043. extra = uintptr(unsafe.Pointer(&_dext))
  17044. match = uint32(0)
  17045. }
  17046. /* initialize state for loop */
  17047. huff = uint32(0) /* starting code */
  17048. sym = uint32(0) /* starting code symbol */
  17049. len1 = min /* starting code length */
  17050. next = *(*uintptr)(unsafe.Pointer(table)) /* current table to fill in */
  17051. curr = root /* current table index bits */
  17052. drop = uint32(0) /* current bits to drop from code for index */
  17053. low = libc.Uint32FromInt32(-libc.Int32FromInt32(1)) /* trigger new sub-table when len > root */
  17054. used = uint32(1) << root /* use root table entries */
  17055. mask = used - uint32(1) /* mask for comparing low */
  17056. /* check available table space */
  17057. if type1 == int32(_LENS) && used > uint32(m_ENOUGH_LENS) || type1 == int32(_DISTS) && used > uint32(m_ENOUGH_DISTS) {
  17058. return int32(1)
  17059. }
  17060. /* process all codes and make table entries */
  17061. for {
  17062. /* create table entry */
  17063. here.Fbits = uint8(len1 - drop)
  17064. if uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))+uint32(1) < match {
  17065. here.Fop = libc.Uint8FromInt32(0)
  17066. here.Fval = *(*uint16)(unsafe.Pointer(work + uintptr(sym)*2))
  17067. } else {
  17068. if uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2))) >= match {
  17069. here.Fop = uint8(*(*uint16)(unsafe.Pointer(extra + uintptr(uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))-match)*2)))
  17070. here.Fval = *(*uint16)(unsafe.Pointer(base + uintptr(uint32(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))-match)*2))
  17071. } else {
  17072. here.Fop = libc.Uint8FromInt32(libc.Int32FromInt32(32) + libc.Int32FromInt32(64)) /* end of block */
  17073. here.Fval = uint16(0)
  17074. }
  17075. }
  17076. /* replicate for those indices with low len bits equal to huff */
  17077. incr = uint32(1) << (len1 - drop)
  17078. fill = uint32(1) << curr
  17079. min = fill /* save offset to next table */
  17080. for cond := true; cond; cond = fill != uint32(0) {
  17081. fill -= incr
  17082. *(*Tcode)(unsafe.Pointer(next + uintptr(huff>>drop+fill)*4)) = here
  17083. }
  17084. /* backwards increment the len-bit code huff */
  17085. incr = uint32(1) << (len1 - uint32(1))
  17086. for huff&incr != 0 {
  17087. incr >>= uint32(1)
  17088. }
  17089. if incr != uint32(0) {
  17090. huff &= incr - uint32(1)
  17091. huff += incr
  17092. } else {
  17093. huff = uint32(0)
  17094. }
  17095. /* go to next symbol, update count, len */
  17096. sym++
  17097. v17 = bp + uintptr(len1)*2
  17098. *(*uint16)(unsafe.Pointer(v17))--
  17099. v16 = *(*uint16)(unsafe.Pointer(v17))
  17100. if libc.Int32FromUint16(v16) == 0 {
  17101. if len1 == max {
  17102. break
  17103. }
  17104. len1 = uint32(*(*uint16)(unsafe.Pointer(lens + uintptr(*(*uint16)(unsafe.Pointer(work + uintptr(sym)*2)))*2)))
  17105. }
  17106. /* create new sub-table if needed */
  17107. if len1 > root && huff&mask != low {
  17108. /* if first time, transition to sub-tables */
  17109. if drop == uint32(0) {
  17110. drop = root
  17111. }
  17112. /* increment past last table */
  17113. next += uintptr(min) * 4 /* here min is 1 << curr */
  17114. /* determine length of next table */
  17115. curr = len1 - drop
  17116. left = libc.Int32FromInt32(1) << curr
  17117. for curr+drop < max {
  17118. left -= libc.Int32FromUint16((*(*[16]uint16)(unsafe.Pointer(bp)))[curr+drop])
  17119. if left <= 0 {
  17120. break
  17121. }
  17122. curr++
  17123. left <<= int32(1)
  17124. }
  17125. /* check for enough space */
  17126. used += uint32(1) << curr
  17127. if type1 == int32(_LENS) && used > uint32(m_ENOUGH_LENS) || type1 == int32(_DISTS) && used > uint32(m_ENOUGH_DISTS) {
  17128. return int32(1)
  17129. }
  17130. /* point entry in root table to sub-table */
  17131. low = huff & mask
  17132. (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fop = uint8(curr)
  17133. (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fbits = uint8(root)
  17134. (*(*Tcode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(table)) + uintptr(low)*4))).Fval = libc.Uint16FromInt64((int64(next) - int64(*(*uintptr)(unsafe.Pointer(table)))) / 4)
  17135. }
  17136. goto _15
  17137. _15:
  17138. }
  17139. /* fill in remaining table entry if code is incomplete (guaranteed to have
  17140. at most one remaining entry, since if the code is incomplete, the
  17141. maximum code length that was allowed to get this far is one bit) */
  17142. if huff != uint32(0) {
  17143. here.Fop = libc.Uint8FromInt32(64) /* invalid code marker */
  17144. here.Fbits = uint8(len1 - drop)
  17145. here.Fval = libc.Uint16FromInt32(0)
  17146. *(*Tcode)(unsafe.Pointer(next + uintptr(huff)*4)) = here
  17147. }
  17148. /* set return parameters */
  17149. *(*uintptr)(unsafe.Pointer(table)) += uintptr(used) * 4
  17150. *(*uint32)(unsafe.Pointer(bits)) = root
  17151. return 0
  17152. }
  17153. var _lbase = [31]uint16{
  17154. 0: uint16(3),
  17155. 1: uint16(4),
  17156. 2: uint16(5),
  17157. 3: uint16(6),
  17158. 4: uint16(7),
  17159. 5: uint16(8),
  17160. 6: uint16(9),
  17161. 7: uint16(10),
  17162. 8: uint16(11),
  17163. 9: uint16(13),
  17164. 10: uint16(15),
  17165. 11: uint16(17),
  17166. 12: uint16(19),
  17167. 13: uint16(23),
  17168. 14: uint16(27),
  17169. 15: uint16(31),
  17170. 16: uint16(35),
  17171. 17: uint16(43),
  17172. 18: uint16(51),
  17173. 19: uint16(59),
  17174. 20: uint16(67),
  17175. 21: uint16(83),
  17176. 22: uint16(99),
  17177. 23: uint16(115),
  17178. 24: uint16(131),
  17179. 25: uint16(163),
  17180. 26: uint16(195),
  17181. 27: uint16(227),
  17182. 28: uint16(258),
  17183. }
  17184. var _lext = [31]uint16{
  17185. 0: uint16(16),
  17186. 1: uint16(16),
  17187. 2: uint16(16),
  17188. 3: uint16(16),
  17189. 4: uint16(16),
  17190. 5: uint16(16),
  17191. 6: uint16(16),
  17192. 7: uint16(16),
  17193. 8: uint16(17),
  17194. 9: uint16(17),
  17195. 10: uint16(17),
  17196. 11: uint16(17),
  17197. 12: uint16(18),
  17198. 13: uint16(18),
  17199. 14: uint16(18),
  17200. 15: uint16(18),
  17201. 16: uint16(19),
  17202. 17: uint16(19),
  17203. 18: uint16(19),
  17204. 19: uint16(19),
  17205. 20: uint16(20),
  17206. 21: uint16(20),
  17207. 22: uint16(20),
  17208. 23: uint16(20),
  17209. 24: uint16(21),
  17210. 25: uint16(21),
  17211. 26: uint16(21),
  17212. 27: uint16(21),
  17213. 28: uint16(16),
  17214. 29: uint16(203),
  17215. 30: uint16(77),
  17216. }
  17217. var _dbase = [32]uint16{
  17218. 0: uint16(1),
  17219. 1: uint16(2),
  17220. 2: uint16(3),
  17221. 3: uint16(4),
  17222. 4: uint16(5),
  17223. 5: uint16(7),
  17224. 6: uint16(9),
  17225. 7: uint16(13),
  17226. 8: uint16(17),
  17227. 9: uint16(25),
  17228. 10: uint16(33),
  17229. 11: uint16(49),
  17230. 12: uint16(65),
  17231. 13: uint16(97),
  17232. 14: uint16(129),
  17233. 15: uint16(193),
  17234. 16: uint16(257),
  17235. 17: uint16(385),
  17236. 18: uint16(513),
  17237. 19: uint16(769),
  17238. 20: uint16(1025),
  17239. 21: uint16(1537),
  17240. 22: uint16(2049),
  17241. 23: uint16(3073),
  17242. 24: uint16(4097),
  17243. 25: uint16(6145),
  17244. 26: uint16(8193),
  17245. 27: uint16(12289),
  17246. 28: uint16(16385),
  17247. 29: uint16(24577),
  17248. }
  17249. var _dext = [32]uint16{
  17250. 0: uint16(16),
  17251. 1: uint16(16),
  17252. 2: uint16(16),
  17253. 3: uint16(16),
  17254. 4: uint16(17),
  17255. 5: uint16(17),
  17256. 6: uint16(18),
  17257. 7: uint16(18),
  17258. 8: uint16(19),
  17259. 9: uint16(19),
  17260. 10: uint16(20),
  17261. 11: uint16(20),
  17262. 12: uint16(21),
  17263. 13: uint16(21),
  17264. 14: uint16(22),
  17265. 15: uint16(22),
  17266. 16: uint16(23),
  17267. 17: uint16(23),
  17268. 18: uint16(24),
  17269. 19: uint16(24),
  17270. 20: uint16(25),
  17271. 21: uint16(25),
  17272. 22: uint16(26),
  17273. 23: uint16(26),
  17274. 24: uint16(27),
  17275. 25: uint16(27),
  17276. 26: uint16(28),
  17277. 27: uint16(28),
  17278. 28: uint16(29),
  17279. 29: uint16(29),
  17280. 30: uint16(64),
  17281. 31: uint16(64),
  17282. }
  17283. const m_DIST_CODE_LEN = 512
  17284. const m_END_BLOCK = 256
  17285. const m_MAX_BL_BITS = 7
  17286. const m_REPZ_11_138 = 18
  17287. const m_REPZ_3_10 = 17
  17288. const m_REP_3_6 = 16
  17289. const m_SMALLEST = 1
  17290. const m_TCONST = "const"
  17291. type Tstatic_tree_desc = struct {
  17292. Fstatic_tree uintptr
  17293. Fextra_bits uintptr
  17294. Fextra_base int32
  17295. Felems int32
  17296. Fmax_length int32
  17297. }
  17298. type Tstatic_tree_desc_s = Tstatic_tree_desc
  17299. /* ===========================================================================
  17300. * Constants
  17301. */
  17302. /* Bit length codes must not exceed MAX_BL_BITS bits */
  17303. /* end of block literal code */
  17304. /* repeat previous bit length 3-6 times (2 bits of repeat count) */
  17305. /* repeat a zero length 3-10 times (3 bits of repeat count) */
  17306. /* repeat a zero length 11-138 times (7 bits of repeat count) */
  17307. var _extra_lbits = [29]int32{
  17308. 8: int32(1),
  17309. 9: int32(1),
  17310. 10: int32(1),
  17311. 11: int32(1),
  17312. 12: int32(2),
  17313. 13: int32(2),
  17314. 14: int32(2),
  17315. 15: int32(2),
  17316. 16: int32(3),
  17317. 17: int32(3),
  17318. 18: int32(3),
  17319. 19: int32(3),
  17320. 20: int32(4),
  17321. 21: int32(4),
  17322. 22: int32(4),
  17323. 23: int32(4),
  17324. 24: int32(5),
  17325. 25: int32(5),
  17326. 26: int32(5),
  17327. 27: int32(5),
  17328. }
  17329. var _extra_dbits = [30]int32{
  17330. 4: int32(1),
  17331. 5: int32(1),
  17332. 6: int32(2),
  17333. 7: int32(2),
  17334. 8: int32(3),
  17335. 9: int32(3),
  17336. 10: int32(4),
  17337. 11: int32(4),
  17338. 12: int32(5),
  17339. 13: int32(5),
  17340. 14: int32(6),
  17341. 15: int32(6),
  17342. 16: int32(7),
  17343. 17: int32(7),
  17344. 18: int32(8),
  17345. 19: int32(8),
  17346. 20: int32(9),
  17347. 21: int32(9),
  17348. 22: int32(10),
  17349. 23: int32(10),
  17350. 24: int32(11),
  17351. 25: int32(11),
  17352. 26: int32(12),
  17353. 27: int32(12),
  17354. 28: int32(13),
  17355. 29: int32(13),
  17356. }
  17357. var _extra_blbits = [19]int32{
  17358. 16: int32(2),
  17359. 17: int32(3),
  17360. 18: int32(7),
  17361. }
  17362. var _bl_order = [19]Tuch{
  17363. 0: uint8(16),
  17364. 1: uint8(17),
  17365. 2: uint8(18),
  17366. 4: uint8(8),
  17367. 5: uint8(7),
  17368. 6: uint8(9),
  17369. 7: uint8(6),
  17370. 8: uint8(10),
  17371. 9: uint8(5),
  17372. 10: uint8(11),
  17373. 11: uint8(4),
  17374. 12: uint8(12),
  17375. 13: uint8(3),
  17376. 14: uint8(13),
  17377. 15: uint8(2),
  17378. 16: uint8(14),
  17379. 17: uint8(1),
  17380. 18: uint8(15),
  17381. }
  17382. var _static_ltree = [288]Tct_data{
  17383. 0: {
  17384. Ffc: *(*struct {
  17385. Fcode [0]Tush
  17386. Ffreq Tush
  17387. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(12)})),
  17388. Fdl: *(*struct {
  17389. Flen1 [0]Tush
  17390. Fdad Tush
  17391. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17392. },
  17393. 1: {
  17394. Ffc: *(*struct {
  17395. Fcode [0]Tush
  17396. Ffreq Tush
  17397. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(140)})),
  17398. Fdl: *(*struct {
  17399. Flen1 [0]Tush
  17400. Fdad Tush
  17401. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17402. },
  17403. 2: {
  17404. Ffc: *(*struct {
  17405. Fcode [0]Tush
  17406. Ffreq Tush
  17407. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(76)})),
  17408. Fdl: *(*struct {
  17409. Flen1 [0]Tush
  17410. Fdad Tush
  17411. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17412. },
  17413. 3: {
  17414. Ffc: *(*struct {
  17415. Fcode [0]Tush
  17416. Ffreq Tush
  17417. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(204)})),
  17418. Fdl: *(*struct {
  17419. Flen1 [0]Tush
  17420. Fdad Tush
  17421. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17422. },
  17423. 4: {
  17424. Ffc: *(*struct {
  17425. Fcode [0]Tush
  17426. Ffreq Tush
  17427. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(44)})),
  17428. Fdl: *(*struct {
  17429. Flen1 [0]Tush
  17430. Fdad Tush
  17431. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17432. },
  17433. 5: {
  17434. Ffc: *(*struct {
  17435. Fcode [0]Tush
  17436. Ffreq Tush
  17437. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(172)})),
  17438. Fdl: *(*struct {
  17439. Flen1 [0]Tush
  17440. Fdad Tush
  17441. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17442. },
  17443. 6: {
  17444. Ffc: *(*struct {
  17445. Fcode [0]Tush
  17446. Ffreq Tush
  17447. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(108)})),
  17448. Fdl: *(*struct {
  17449. Flen1 [0]Tush
  17450. Fdad Tush
  17451. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17452. },
  17453. 7: {
  17454. Ffc: *(*struct {
  17455. Fcode [0]Tush
  17456. Ffreq Tush
  17457. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(236)})),
  17458. Fdl: *(*struct {
  17459. Flen1 [0]Tush
  17460. Fdad Tush
  17461. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17462. },
  17463. 8: {
  17464. Ffc: *(*struct {
  17465. Fcode [0]Tush
  17466. Ffreq Tush
  17467. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(28)})),
  17468. Fdl: *(*struct {
  17469. Flen1 [0]Tush
  17470. Fdad Tush
  17471. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17472. },
  17473. 9: {
  17474. Ffc: *(*struct {
  17475. Fcode [0]Tush
  17476. Ffreq Tush
  17477. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(156)})),
  17478. Fdl: *(*struct {
  17479. Flen1 [0]Tush
  17480. Fdad Tush
  17481. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17482. },
  17483. 10: {
  17484. Ffc: *(*struct {
  17485. Fcode [0]Tush
  17486. Ffreq Tush
  17487. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(92)})),
  17488. Fdl: *(*struct {
  17489. Flen1 [0]Tush
  17490. Fdad Tush
  17491. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17492. },
  17493. 11: {
  17494. Ffc: *(*struct {
  17495. Fcode [0]Tush
  17496. Ffreq Tush
  17497. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(220)})),
  17498. Fdl: *(*struct {
  17499. Flen1 [0]Tush
  17500. Fdad Tush
  17501. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17502. },
  17503. 12: {
  17504. Ffc: *(*struct {
  17505. Fcode [0]Tush
  17506. Ffreq Tush
  17507. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(60)})),
  17508. Fdl: *(*struct {
  17509. Flen1 [0]Tush
  17510. Fdad Tush
  17511. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17512. },
  17513. 13: {
  17514. Ffc: *(*struct {
  17515. Fcode [0]Tush
  17516. Ffreq Tush
  17517. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(188)})),
  17518. Fdl: *(*struct {
  17519. Flen1 [0]Tush
  17520. Fdad Tush
  17521. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17522. },
  17523. 14: {
  17524. Ffc: *(*struct {
  17525. Fcode [0]Tush
  17526. Ffreq Tush
  17527. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(124)})),
  17528. Fdl: *(*struct {
  17529. Flen1 [0]Tush
  17530. Fdad Tush
  17531. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17532. },
  17533. 15: {
  17534. Ffc: *(*struct {
  17535. Fcode [0]Tush
  17536. Ffreq Tush
  17537. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(252)})),
  17538. Fdl: *(*struct {
  17539. Flen1 [0]Tush
  17540. Fdad Tush
  17541. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17542. },
  17543. 16: {
  17544. Ffc: *(*struct {
  17545. Fcode [0]Tush
  17546. Ffreq Tush
  17547. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(2)})),
  17548. Fdl: *(*struct {
  17549. Flen1 [0]Tush
  17550. Fdad Tush
  17551. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17552. },
  17553. 17: {
  17554. Ffc: *(*struct {
  17555. Fcode [0]Tush
  17556. Ffreq Tush
  17557. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(130)})),
  17558. Fdl: *(*struct {
  17559. Flen1 [0]Tush
  17560. Fdad Tush
  17561. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17562. },
  17563. 18: {
  17564. Ffc: *(*struct {
  17565. Fcode [0]Tush
  17566. Ffreq Tush
  17567. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(66)})),
  17568. Fdl: *(*struct {
  17569. Flen1 [0]Tush
  17570. Fdad Tush
  17571. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17572. },
  17573. 19: {
  17574. Ffc: *(*struct {
  17575. Fcode [0]Tush
  17576. Ffreq Tush
  17577. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(194)})),
  17578. Fdl: *(*struct {
  17579. Flen1 [0]Tush
  17580. Fdad Tush
  17581. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17582. },
  17583. 20: {
  17584. Ffc: *(*struct {
  17585. Fcode [0]Tush
  17586. Ffreq Tush
  17587. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(34)})),
  17588. Fdl: *(*struct {
  17589. Flen1 [0]Tush
  17590. Fdad Tush
  17591. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17592. },
  17593. 21: {
  17594. Ffc: *(*struct {
  17595. Fcode [0]Tush
  17596. Ffreq Tush
  17597. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(162)})),
  17598. Fdl: *(*struct {
  17599. Flen1 [0]Tush
  17600. Fdad Tush
  17601. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17602. },
  17603. 22: {
  17604. Ffc: *(*struct {
  17605. Fcode [0]Tush
  17606. Ffreq Tush
  17607. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(98)})),
  17608. Fdl: *(*struct {
  17609. Flen1 [0]Tush
  17610. Fdad Tush
  17611. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17612. },
  17613. 23: {
  17614. Ffc: *(*struct {
  17615. Fcode [0]Tush
  17616. Ffreq Tush
  17617. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(226)})),
  17618. Fdl: *(*struct {
  17619. Flen1 [0]Tush
  17620. Fdad Tush
  17621. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17622. },
  17623. 24: {
  17624. Ffc: *(*struct {
  17625. Fcode [0]Tush
  17626. Ffreq Tush
  17627. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(18)})),
  17628. Fdl: *(*struct {
  17629. Flen1 [0]Tush
  17630. Fdad Tush
  17631. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17632. },
  17633. 25: {
  17634. Ffc: *(*struct {
  17635. Fcode [0]Tush
  17636. Ffreq Tush
  17637. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(146)})),
  17638. Fdl: *(*struct {
  17639. Flen1 [0]Tush
  17640. Fdad Tush
  17641. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17642. },
  17643. 26: {
  17644. Ffc: *(*struct {
  17645. Fcode [0]Tush
  17646. Ffreq Tush
  17647. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(82)})),
  17648. Fdl: *(*struct {
  17649. Flen1 [0]Tush
  17650. Fdad Tush
  17651. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17652. },
  17653. 27: {
  17654. Ffc: *(*struct {
  17655. Fcode [0]Tush
  17656. Ffreq Tush
  17657. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(210)})),
  17658. Fdl: *(*struct {
  17659. Flen1 [0]Tush
  17660. Fdad Tush
  17661. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17662. },
  17663. 28: {
  17664. Ffc: *(*struct {
  17665. Fcode [0]Tush
  17666. Ffreq Tush
  17667. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(50)})),
  17668. Fdl: *(*struct {
  17669. Flen1 [0]Tush
  17670. Fdad Tush
  17671. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17672. },
  17673. 29: {
  17674. Ffc: *(*struct {
  17675. Fcode [0]Tush
  17676. Ffreq Tush
  17677. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(178)})),
  17678. Fdl: *(*struct {
  17679. Flen1 [0]Tush
  17680. Fdad Tush
  17681. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17682. },
  17683. 30: {
  17684. Ffc: *(*struct {
  17685. Fcode [0]Tush
  17686. Ffreq Tush
  17687. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(114)})),
  17688. Fdl: *(*struct {
  17689. Flen1 [0]Tush
  17690. Fdad Tush
  17691. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17692. },
  17693. 31: {
  17694. Ffc: *(*struct {
  17695. Fcode [0]Tush
  17696. Ffreq Tush
  17697. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(242)})),
  17698. Fdl: *(*struct {
  17699. Flen1 [0]Tush
  17700. Fdad Tush
  17701. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17702. },
  17703. 32: {
  17704. Ffc: *(*struct {
  17705. Fcode [0]Tush
  17706. Ffreq Tush
  17707. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(10)})),
  17708. Fdl: *(*struct {
  17709. Flen1 [0]Tush
  17710. Fdad Tush
  17711. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17712. },
  17713. 33: {
  17714. Ffc: *(*struct {
  17715. Fcode [0]Tush
  17716. Ffreq Tush
  17717. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(138)})),
  17718. Fdl: *(*struct {
  17719. Flen1 [0]Tush
  17720. Fdad Tush
  17721. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17722. },
  17723. 34: {
  17724. Ffc: *(*struct {
  17725. Fcode [0]Tush
  17726. Ffreq Tush
  17727. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(74)})),
  17728. Fdl: *(*struct {
  17729. Flen1 [0]Tush
  17730. Fdad Tush
  17731. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17732. },
  17733. 35: {
  17734. Ffc: *(*struct {
  17735. Fcode [0]Tush
  17736. Ffreq Tush
  17737. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(202)})),
  17738. Fdl: *(*struct {
  17739. Flen1 [0]Tush
  17740. Fdad Tush
  17741. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17742. },
  17743. 36: {
  17744. Ffc: *(*struct {
  17745. Fcode [0]Tush
  17746. Ffreq Tush
  17747. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(42)})),
  17748. Fdl: *(*struct {
  17749. Flen1 [0]Tush
  17750. Fdad Tush
  17751. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17752. },
  17753. 37: {
  17754. Ffc: *(*struct {
  17755. Fcode [0]Tush
  17756. Ffreq Tush
  17757. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(170)})),
  17758. Fdl: *(*struct {
  17759. Flen1 [0]Tush
  17760. Fdad Tush
  17761. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17762. },
  17763. 38: {
  17764. Ffc: *(*struct {
  17765. Fcode [0]Tush
  17766. Ffreq Tush
  17767. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(106)})),
  17768. Fdl: *(*struct {
  17769. Flen1 [0]Tush
  17770. Fdad Tush
  17771. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17772. },
  17773. 39: {
  17774. Ffc: *(*struct {
  17775. Fcode [0]Tush
  17776. Ffreq Tush
  17777. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(234)})),
  17778. Fdl: *(*struct {
  17779. Flen1 [0]Tush
  17780. Fdad Tush
  17781. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17782. },
  17783. 40: {
  17784. Ffc: *(*struct {
  17785. Fcode [0]Tush
  17786. Ffreq Tush
  17787. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(26)})),
  17788. Fdl: *(*struct {
  17789. Flen1 [0]Tush
  17790. Fdad Tush
  17791. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17792. },
  17793. 41: {
  17794. Ffc: *(*struct {
  17795. Fcode [0]Tush
  17796. Ffreq Tush
  17797. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(154)})),
  17798. Fdl: *(*struct {
  17799. Flen1 [0]Tush
  17800. Fdad Tush
  17801. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17802. },
  17803. 42: {
  17804. Ffc: *(*struct {
  17805. Fcode [0]Tush
  17806. Ffreq Tush
  17807. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(90)})),
  17808. Fdl: *(*struct {
  17809. Flen1 [0]Tush
  17810. Fdad Tush
  17811. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17812. },
  17813. 43: {
  17814. Ffc: *(*struct {
  17815. Fcode [0]Tush
  17816. Ffreq Tush
  17817. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(218)})),
  17818. Fdl: *(*struct {
  17819. Flen1 [0]Tush
  17820. Fdad Tush
  17821. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17822. },
  17823. 44: {
  17824. Ffc: *(*struct {
  17825. Fcode [0]Tush
  17826. Ffreq Tush
  17827. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(58)})),
  17828. Fdl: *(*struct {
  17829. Flen1 [0]Tush
  17830. Fdad Tush
  17831. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17832. },
  17833. 45: {
  17834. Ffc: *(*struct {
  17835. Fcode [0]Tush
  17836. Ffreq Tush
  17837. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(186)})),
  17838. Fdl: *(*struct {
  17839. Flen1 [0]Tush
  17840. Fdad Tush
  17841. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17842. },
  17843. 46: {
  17844. Ffc: *(*struct {
  17845. Fcode [0]Tush
  17846. Ffreq Tush
  17847. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(122)})),
  17848. Fdl: *(*struct {
  17849. Flen1 [0]Tush
  17850. Fdad Tush
  17851. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17852. },
  17853. 47: {
  17854. Ffc: *(*struct {
  17855. Fcode [0]Tush
  17856. Ffreq Tush
  17857. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(250)})),
  17858. Fdl: *(*struct {
  17859. Flen1 [0]Tush
  17860. Fdad Tush
  17861. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17862. },
  17863. 48: {
  17864. Ffc: *(*struct {
  17865. Fcode [0]Tush
  17866. Ffreq Tush
  17867. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(6)})),
  17868. Fdl: *(*struct {
  17869. Flen1 [0]Tush
  17870. Fdad Tush
  17871. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17872. },
  17873. 49: {
  17874. Ffc: *(*struct {
  17875. Fcode [0]Tush
  17876. Ffreq Tush
  17877. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(134)})),
  17878. Fdl: *(*struct {
  17879. Flen1 [0]Tush
  17880. Fdad Tush
  17881. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17882. },
  17883. 50: {
  17884. Ffc: *(*struct {
  17885. Fcode [0]Tush
  17886. Ffreq Tush
  17887. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(70)})),
  17888. Fdl: *(*struct {
  17889. Flen1 [0]Tush
  17890. Fdad Tush
  17891. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17892. },
  17893. 51: {
  17894. Ffc: *(*struct {
  17895. Fcode [0]Tush
  17896. Ffreq Tush
  17897. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(198)})),
  17898. Fdl: *(*struct {
  17899. Flen1 [0]Tush
  17900. Fdad Tush
  17901. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17902. },
  17903. 52: {
  17904. Ffc: *(*struct {
  17905. Fcode [0]Tush
  17906. Ffreq Tush
  17907. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(38)})),
  17908. Fdl: *(*struct {
  17909. Flen1 [0]Tush
  17910. Fdad Tush
  17911. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17912. },
  17913. 53: {
  17914. Ffc: *(*struct {
  17915. Fcode [0]Tush
  17916. Ffreq Tush
  17917. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(166)})),
  17918. Fdl: *(*struct {
  17919. Flen1 [0]Tush
  17920. Fdad Tush
  17921. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17922. },
  17923. 54: {
  17924. Ffc: *(*struct {
  17925. Fcode [0]Tush
  17926. Ffreq Tush
  17927. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(102)})),
  17928. Fdl: *(*struct {
  17929. Flen1 [0]Tush
  17930. Fdad Tush
  17931. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17932. },
  17933. 55: {
  17934. Ffc: *(*struct {
  17935. Fcode [0]Tush
  17936. Ffreq Tush
  17937. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(230)})),
  17938. Fdl: *(*struct {
  17939. Flen1 [0]Tush
  17940. Fdad Tush
  17941. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17942. },
  17943. 56: {
  17944. Ffc: *(*struct {
  17945. Fcode [0]Tush
  17946. Ffreq Tush
  17947. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(22)})),
  17948. Fdl: *(*struct {
  17949. Flen1 [0]Tush
  17950. Fdad Tush
  17951. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17952. },
  17953. 57: {
  17954. Ffc: *(*struct {
  17955. Fcode [0]Tush
  17956. Ffreq Tush
  17957. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(150)})),
  17958. Fdl: *(*struct {
  17959. Flen1 [0]Tush
  17960. Fdad Tush
  17961. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17962. },
  17963. 58: {
  17964. Ffc: *(*struct {
  17965. Fcode [0]Tush
  17966. Ffreq Tush
  17967. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(86)})),
  17968. Fdl: *(*struct {
  17969. Flen1 [0]Tush
  17970. Fdad Tush
  17971. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17972. },
  17973. 59: {
  17974. Ffc: *(*struct {
  17975. Fcode [0]Tush
  17976. Ffreq Tush
  17977. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(214)})),
  17978. Fdl: *(*struct {
  17979. Flen1 [0]Tush
  17980. Fdad Tush
  17981. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17982. },
  17983. 60: {
  17984. Ffc: *(*struct {
  17985. Fcode [0]Tush
  17986. Ffreq Tush
  17987. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(54)})),
  17988. Fdl: *(*struct {
  17989. Flen1 [0]Tush
  17990. Fdad Tush
  17991. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  17992. },
  17993. 61: {
  17994. Ffc: *(*struct {
  17995. Fcode [0]Tush
  17996. Ffreq Tush
  17997. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(182)})),
  17998. Fdl: *(*struct {
  17999. Flen1 [0]Tush
  18000. Fdad Tush
  18001. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18002. },
  18003. 62: {
  18004. Ffc: *(*struct {
  18005. Fcode [0]Tush
  18006. Ffreq Tush
  18007. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(118)})),
  18008. Fdl: *(*struct {
  18009. Flen1 [0]Tush
  18010. Fdad Tush
  18011. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18012. },
  18013. 63: {
  18014. Ffc: *(*struct {
  18015. Fcode [0]Tush
  18016. Ffreq Tush
  18017. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(246)})),
  18018. Fdl: *(*struct {
  18019. Flen1 [0]Tush
  18020. Fdad Tush
  18021. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18022. },
  18023. 64: {
  18024. Ffc: *(*struct {
  18025. Fcode [0]Tush
  18026. Ffreq Tush
  18027. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(14)})),
  18028. Fdl: *(*struct {
  18029. Flen1 [0]Tush
  18030. Fdad Tush
  18031. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18032. },
  18033. 65: {
  18034. Ffc: *(*struct {
  18035. Fcode [0]Tush
  18036. Ffreq Tush
  18037. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(142)})),
  18038. Fdl: *(*struct {
  18039. Flen1 [0]Tush
  18040. Fdad Tush
  18041. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18042. },
  18043. 66: {
  18044. Ffc: *(*struct {
  18045. Fcode [0]Tush
  18046. Ffreq Tush
  18047. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(78)})),
  18048. Fdl: *(*struct {
  18049. Flen1 [0]Tush
  18050. Fdad Tush
  18051. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18052. },
  18053. 67: {
  18054. Ffc: *(*struct {
  18055. Fcode [0]Tush
  18056. Ffreq Tush
  18057. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(206)})),
  18058. Fdl: *(*struct {
  18059. Flen1 [0]Tush
  18060. Fdad Tush
  18061. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18062. },
  18063. 68: {
  18064. Ffc: *(*struct {
  18065. Fcode [0]Tush
  18066. Ffreq Tush
  18067. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(46)})),
  18068. Fdl: *(*struct {
  18069. Flen1 [0]Tush
  18070. Fdad Tush
  18071. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18072. },
  18073. 69: {
  18074. Ffc: *(*struct {
  18075. Fcode [0]Tush
  18076. Ffreq Tush
  18077. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(174)})),
  18078. Fdl: *(*struct {
  18079. Flen1 [0]Tush
  18080. Fdad Tush
  18081. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18082. },
  18083. 70: {
  18084. Ffc: *(*struct {
  18085. Fcode [0]Tush
  18086. Ffreq Tush
  18087. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(110)})),
  18088. Fdl: *(*struct {
  18089. Flen1 [0]Tush
  18090. Fdad Tush
  18091. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18092. },
  18093. 71: {
  18094. Ffc: *(*struct {
  18095. Fcode [0]Tush
  18096. Ffreq Tush
  18097. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(238)})),
  18098. Fdl: *(*struct {
  18099. Flen1 [0]Tush
  18100. Fdad Tush
  18101. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18102. },
  18103. 72: {
  18104. Ffc: *(*struct {
  18105. Fcode [0]Tush
  18106. Ffreq Tush
  18107. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(30)})),
  18108. Fdl: *(*struct {
  18109. Flen1 [0]Tush
  18110. Fdad Tush
  18111. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18112. },
  18113. 73: {
  18114. Ffc: *(*struct {
  18115. Fcode [0]Tush
  18116. Ffreq Tush
  18117. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(158)})),
  18118. Fdl: *(*struct {
  18119. Flen1 [0]Tush
  18120. Fdad Tush
  18121. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18122. },
  18123. 74: {
  18124. Ffc: *(*struct {
  18125. Fcode [0]Tush
  18126. Ffreq Tush
  18127. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(94)})),
  18128. Fdl: *(*struct {
  18129. Flen1 [0]Tush
  18130. Fdad Tush
  18131. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18132. },
  18133. 75: {
  18134. Ffc: *(*struct {
  18135. Fcode [0]Tush
  18136. Ffreq Tush
  18137. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(222)})),
  18138. Fdl: *(*struct {
  18139. Flen1 [0]Tush
  18140. Fdad Tush
  18141. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18142. },
  18143. 76: {
  18144. Ffc: *(*struct {
  18145. Fcode [0]Tush
  18146. Ffreq Tush
  18147. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(62)})),
  18148. Fdl: *(*struct {
  18149. Flen1 [0]Tush
  18150. Fdad Tush
  18151. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18152. },
  18153. 77: {
  18154. Ffc: *(*struct {
  18155. Fcode [0]Tush
  18156. Ffreq Tush
  18157. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(190)})),
  18158. Fdl: *(*struct {
  18159. Flen1 [0]Tush
  18160. Fdad Tush
  18161. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18162. },
  18163. 78: {
  18164. Ffc: *(*struct {
  18165. Fcode [0]Tush
  18166. Ffreq Tush
  18167. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(126)})),
  18168. Fdl: *(*struct {
  18169. Flen1 [0]Tush
  18170. Fdad Tush
  18171. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18172. },
  18173. 79: {
  18174. Ffc: *(*struct {
  18175. Fcode [0]Tush
  18176. Ffreq Tush
  18177. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(254)})),
  18178. Fdl: *(*struct {
  18179. Flen1 [0]Tush
  18180. Fdad Tush
  18181. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18182. },
  18183. 80: {
  18184. Ffc: *(*struct {
  18185. Fcode [0]Tush
  18186. Ffreq Tush
  18187. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(1)})),
  18188. Fdl: *(*struct {
  18189. Flen1 [0]Tush
  18190. Fdad Tush
  18191. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18192. },
  18193. 81: {
  18194. Ffc: *(*struct {
  18195. Fcode [0]Tush
  18196. Ffreq Tush
  18197. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(129)})),
  18198. Fdl: *(*struct {
  18199. Flen1 [0]Tush
  18200. Fdad Tush
  18201. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18202. },
  18203. 82: {
  18204. Ffc: *(*struct {
  18205. Fcode [0]Tush
  18206. Ffreq Tush
  18207. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(65)})),
  18208. Fdl: *(*struct {
  18209. Flen1 [0]Tush
  18210. Fdad Tush
  18211. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18212. },
  18213. 83: {
  18214. Ffc: *(*struct {
  18215. Fcode [0]Tush
  18216. Ffreq Tush
  18217. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(193)})),
  18218. Fdl: *(*struct {
  18219. Flen1 [0]Tush
  18220. Fdad Tush
  18221. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18222. },
  18223. 84: {
  18224. Ffc: *(*struct {
  18225. Fcode [0]Tush
  18226. Ffreq Tush
  18227. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(33)})),
  18228. Fdl: *(*struct {
  18229. Flen1 [0]Tush
  18230. Fdad Tush
  18231. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18232. },
  18233. 85: {
  18234. Ffc: *(*struct {
  18235. Fcode [0]Tush
  18236. Ffreq Tush
  18237. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(161)})),
  18238. Fdl: *(*struct {
  18239. Flen1 [0]Tush
  18240. Fdad Tush
  18241. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18242. },
  18243. 86: {
  18244. Ffc: *(*struct {
  18245. Fcode [0]Tush
  18246. Ffreq Tush
  18247. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(97)})),
  18248. Fdl: *(*struct {
  18249. Flen1 [0]Tush
  18250. Fdad Tush
  18251. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18252. },
  18253. 87: {
  18254. Ffc: *(*struct {
  18255. Fcode [0]Tush
  18256. Ffreq Tush
  18257. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(225)})),
  18258. Fdl: *(*struct {
  18259. Flen1 [0]Tush
  18260. Fdad Tush
  18261. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18262. },
  18263. 88: {
  18264. Ffc: *(*struct {
  18265. Fcode [0]Tush
  18266. Ffreq Tush
  18267. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(17)})),
  18268. Fdl: *(*struct {
  18269. Flen1 [0]Tush
  18270. Fdad Tush
  18271. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18272. },
  18273. 89: {
  18274. Ffc: *(*struct {
  18275. Fcode [0]Tush
  18276. Ffreq Tush
  18277. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(145)})),
  18278. Fdl: *(*struct {
  18279. Flen1 [0]Tush
  18280. Fdad Tush
  18281. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18282. },
  18283. 90: {
  18284. Ffc: *(*struct {
  18285. Fcode [0]Tush
  18286. Ffreq Tush
  18287. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(81)})),
  18288. Fdl: *(*struct {
  18289. Flen1 [0]Tush
  18290. Fdad Tush
  18291. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18292. },
  18293. 91: {
  18294. Ffc: *(*struct {
  18295. Fcode [0]Tush
  18296. Ffreq Tush
  18297. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(209)})),
  18298. Fdl: *(*struct {
  18299. Flen1 [0]Tush
  18300. Fdad Tush
  18301. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18302. },
  18303. 92: {
  18304. Ffc: *(*struct {
  18305. Fcode [0]Tush
  18306. Ffreq Tush
  18307. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(49)})),
  18308. Fdl: *(*struct {
  18309. Flen1 [0]Tush
  18310. Fdad Tush
  18311. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18312. },
  18313. 93: {
  18314. Ffc: *(*struct {
  18315. Fcode [0]Tush
  18316. Ffreq Tush
  18317. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(177)})),
  18318. Fdl: *(*struct {
  18319. Flen1 [0]Tush
  18320. Fdad Tush
  18321. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18322. },
  18323. 94: {
  18324. Ffc: *(*struct {
  18325. Fcode [0]Tush
  18326. Ffreq Tush
  18327. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(113)})),
  18328. Fdl: *(*struct {
  18329. Flen1 [0]Tush
  18330. Fdad Tush
  18331. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18332. },
  18333. 95: {
  18334. Ffc: *(*struct {
  18335. Fcode [0]Tush
  18336. Ffreq Tush
  18337. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(241)})),
  18338. Fdl: *(*struct {
  18339. Flen1 [0]Tush
  18340. Fdad Tush
  18341. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18342. },
  18343. 96: {
  18344. Ffc: *(*struct {
  18345. Fcode [0]Tush
  18346. Ffreq Tush
  18347. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18348. Fdl: *(*struct {
  18349. Flen1 [0]Tush
  18350. Fdad Tush
  18351. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18352. },
  18353. 97: {
  18354. Ffc: *(*struct {
  18355. Fcode [0]Tush
  18356. Ffreq Tush
  18357. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(137)})),
  18358. Fdl: *(*struct {
  18359. Flen1 [0]Tush
  18360. Fdad Tush
  18361. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18362. },
  18363. 98: {
  18364. Ffc: *(*struct {
  18365. Fcode [0]Tush
  18366. Ffreq Tush
  18367. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(73)})),
  18368. Fdl: *(*struct {
  18369. Flen1 [0]Tush
  18370. Fdad Tush
  18371. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18372. },
  18373. 99: {
  18374. Ffc: *(*struct {
  18375. Fcode [0]Tush
  18376. Ffreq Tush
  18377. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(201)})),
  18378. Fdl: *(*struct {
  18379. Flen1 [0]Tush
  18380. Fdad Tush
  18381. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18382. },
  18383. 100: {
  18384. Ffc: *(*struct {
  18385. Fcode [0]Tush
  18386. Ffreq Tush
  18387. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(41)})),
  18388. Fdl: *(*struct {
  18389. Flen1 [0]Tush
  18390. Fdad Tush
  18391. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18392. },
  18393. 101: {
  18394. Ffc: *(*struct {
  18395. Fcode [0]Tush
  18396. Ffreq Tush
  18397. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(169)})),
  18398. Fdl: *(*struct {
  18399. Flen1 [0]Tush
  18400. Fdad Tush
  18401. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18402. },
  18403. 102: {
  18404. Ffc: *(*struct {
  18405. Fcode [0]Tush
  18406. Ffreq Tush
  18407. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(105)})),
  18408. Fdl: *(*struct {
  18409. Flen1 [0]Tush
  18410. Fdad Tush
  18411. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18412. },
  18413. 103: {
  18414. Ffc: *(*struct {
  18415. Fcode [0]Tush
  18416. Ffreq Tush
  18417. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(233)})),
  18418. Fdl: *(*struct {
  18419. Flen1 [0]Tush
  18420. Fdad Tush
  18421. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18422. },
  18423. 104: {
  18424. Ffc: *(*struct {
  18425. Fcode [0]Tush
  18426. Ffreq Tush
  18427. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(25)})),
  18428. Fdl: *(*struct {
  18429. Flen1 [0]Tush
  18430. Fdad Tush
  18431. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18432. },
  18433. 105: {
  18434. Ffc: *(*struct {
  18435. Fcode [0]Tush
  18436. Ffreq Tush
  18437. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(153)})),
  18438. Fdl: *(*struct {
  18439. Flen1 [0]Tush
  18440. Fdad Tush
  18441. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18442. },
  18443. 106: {
  18444. Ffc: *(*struct {
  18445. Fcode [0]Tush
  18446. Ffreq Tush
  18447. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(89)})),
  18448. Fdl: *(*struct {
  18449. Flen1 [0]Tush
  18450. Fdad Tush
  18451. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18452. },
  18453. 107: {
  18454. Ffc: *(*struct {
  18455. Fcode [0]Tush
  18456. Ffreq Tush
  18457. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(217)})),
  18458. Fdl: *(*struct {
  18459. Flen1 [0]Tush
  18460. Fdad Tush
  18461. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18462. },
  18463. 108: {
  18464. Ffc: *(*struct {
  18465. Fcode [0]Tush
  18466. Ffreq Tush
  18467. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(57)})),
  18468. Fdl: *(*struct {
  18469. Flen1 [0]Tush
  18470. Fdad Tush
  18471. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18472. },
  18473. 109: {
  18474. Ffc: *(*struct {
  18475. Fcode [0]Tush
  18476. Ffreq Tush
  18477. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(185)})),
  18478. Fdl: *(*struct {
  18479. Flen1 [0]Tush
  18480. Fdad Tush
  18481. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18482. },
  18483. 110: {
  18484. Ffc: *(*struct {
  18485. Fcode [0]Tush
  18486. Ffreq Tush
  18487. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(121)})),
  18488. Fdl: *(*struct {
  18489. Flen1 [0]Tush
  18490. Fdad Tush
  18491. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18492. },
  18493. 111: {
  18494. Ffc: *(*struct {
  18495. Fcode [0]Tush
  18496. Ffreq Tush
  18497. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(249)})),
  18498. Fdl: *(*struct {
  18499. Flen1 [0]Tush
  18500. Fdad Tush
  18501. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18502. },
  18503. 112: {
  18504. Ffc: *(*struct {
  18505. Fcode [0]Tush
  18506. Ffreq Tush
  18507. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  18508. Fdl: *(*struct {
  18509. Flen1 [0]Tush
  18510. Fdad Tush
  18511. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18512. },
  18513. 113: {
  18514. Ffc: *(*struct {
  18515. Fcode [0]Tush
  18516. Ffreq Tush
  18517. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(133)})),
  18518. Fdl: *(*struct {
  18519. Flen1 [0]Tush
  18520. Fdad Tush
  18521. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18522. },
  18523. 114: {
  18524. Ffc: *(*struct {
  18525. Fcode [0]Tush
  18526. Ffreq Tush
  18527. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(69)})),
  18528. Fdl: *(*struct {
  18529. Flen1 [0]Tush
  18530. Fdad Tush
  18531. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18532. },
  18533. 115: {
  18534. Ffc: *(*struct {
  18535. Fcode [0]Tush
  18536. Ffreq Tush
  18537. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(197)})),
  18538. Fdl: *(*struct {
  18539. Flen1 [0]Tush
  18540. Fdad Tush
  18541. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18542. },
  18543. 116: {
  18544. Ffc: *(*struct {
  18545. Fcode [0]Tush
  18546. Ffreq Tush
  18547. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(37)})),
  18548. Fdl: *(*struct {
  18549. Flen1 [0]Tush
  18550. Fdad Tush
  18551. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18552. },
  18553. 117: {
  18554. Ffc: *(*struct {
  18555. Fcode [0]Tush
  18556. Ffreq Tush
  18557. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(165)})),
  18558. Fdl: *(*struct {
  18559. Flen1 [0]Tush
  18560. Fdad Tush
  18561. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18562. },
  18563. 118: {
  18564. Ffc: *(*struct {
  18565. Fcode [0]Tush
  18566. Ffreq Tush
  18567. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(101)})),
  18568. Fdl: *(*struct {
  18569. Flen1 [0]Tush
  18570. Fdad Tush
  18571. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18572. },
  18573. 119: {
  18574. Ffc: *(*struct {
  18575. Fcode [0]Tush
  18576. Ffreq Tush
  18577. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(229)})),
  18578. Fdl: *(*struct {
  18579. Flen1 [0]Tush
  18580. Fdad Tush
  18581. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18582. },
  18583. 120: {
  18584. Ffc: *(*struct {
  18585. Fcode [0]Tush
  18586. Ffreq Tush
  18587. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(21)})),
  18588. Fdl: *(*struct {
  18589. Flen1 [0]Tush
  18590. Fdad Tush
  18591. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18592. },
  18593. 121: {
  18594. Ffc: *(*struct {
  18595. Fcode [0]Tush
  18596. Ffreq Tush
  18597. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(149)})),
  18598. Fdl: *(*struct {
  18599. Flen1 [0]Tush
  18600. Fdad Tush
  18601. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18602. },
  18603. 122: {
  18604. Ffc: *(*struct {
  18605. Fcode [0]Tush
  18606. Ffreq Tush
  18607. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(85)})),
  18608. Fdl: *(*struct {
  18609. Flen1 [0]Tush
  18610. Fdad Tush
  18611. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18612. },
  18613. 123: {
  18614. Ffc: *(*struct {
  18615. Fcode [0]Tush
  18616. Ffreq Tush
  18617. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(213)})),
  18618. Fdl: *(*struct {
  18619. Flen1 [0]Tush
  18620. Fdad Tush
  18621. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18622. },
  18623. 124: {
  18624. Ffc: *(*struct {
  18625. Fcode [0]Tush
  18626. Ffreq Tush
  18627. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(53)})),
  18628. Fdl: *(*struct {
  18629. Flen1 [0]Tush
  18630. Fdad Tush
  18631. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18632. },
  18633. 125: {
  18634. Ffc: *(*struct {
  18635. Fcode [0]Tush
  18636. Ffreq Tush
  18637. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(181)})),
  18638. Fdl: *(*struct {
  18639. Flen1 [0]Tush
  18640. Fdad Tush
  18641. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18642. },
  18643. 126: {
  18644. Ffc: *(*struct {
  18645. Fcode [0]Tush
  18646. Ffreq Tush
  18647. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(117)})),
  18648. Fdl: *(*struct {
  18649. Flen1 [0]Tush
  18650. Fdad Tush
  18651. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18652. },
  18653. 127: {
  18654. Ffc: *(*struct {
  18655. Fcode [0]Tush
  18656. Ffreq Tush
  18657. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(245)})),
  18658. Fdl: *(*struct {
  18659. Flen1 [0]Tush
  18660. Fdad Tush
  18661. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18662. },
  18663. 128: {
  18664. Ffc: *(*struct {
  18665. Fcode [0]Tush
  18666. Ffreq Tush
  18667. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(13)})),
  18668. Fdl: *(*struct {
  18669. Flen1 [0]Tush
  18670. Fdad Tush
  18671. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18672. },
  18673. 129: {
  18674. Ffc: *(*struct {
  18675. Fcode [0]Tush
  18676. Ffreq Tush
  18677. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(141)})),
  18678. Fdl: *(*struct {
  18679. Flen1 [0]Tush
  18680. Fdad Tush
  18681. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18682. },
  18683. 130: {
  18684. Ffc: *(*struct {
  18685. Fcode [0]Tush
  18686. Ffreq Tush
  18687. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(77)})),
  18688. Fdl: *(*struct {
  18689. Flen1 [0]Tush
  18690. Fdad Tush
  18691. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18692. },
  18693. 131: {
  18694. Ffc: *(*struct {
  18695. Fcode [0]Tush
  18696. Ffreq Tush
  18697. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(205)})),
  18698. Fdl: *(*struct {
  18699. Flen1 [0]Tush
  18700. Fdad Tush
  18701. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18702. },
  18703. 132: {
  18704. Ffc: *(*struct {
  18705. Fcode [0]Tush
  18706. Ffreq Tush
  18707. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(45)})),
  18708. Fdl: *(*struct {
  18709. Flen1 [0]Tush
  18710. Fdad Tush
  18711. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18712. },
  18713. 133: {
  18714. Ffc: *(*struct {
  18715. Fcode [0]Tush
  18716. Ffreq Tush
  18717. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(173)})),
  18718. Fdl: *(*struct {
  18719. Flen1 [0]Tush
  18720. Fdad Tush
  18721. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18722. },
  18723. 134: {
  18724. Ffc: *(*struct {
  18725. Fcode [0]Tush
  18726. Ffreq Tush
  18727. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(109)})),
  18728. Fdl: *(*struct {
  18729. Flen1 [0]Tush
  18730. Fdad Tush
  18731. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18732. },
  18733. 135: {
  18734. Ffc: *(*struct {
  18735. Fcode [0]Tush
  18736. Ffreq Tush
  18737. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(237)})),
  18738. Fdl: *(*struct {
  18739. Flen1 [0]Tush
  18740. Fdad Tush
  18741. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18742. },
  18743. 136: {
  18744. Ffc: *(*struct {
  18745. Fcode [0]Tush
  18746. Ffreq Tush
  18747. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(29)})),
  18748. Fdl: *(*struct {
  18749. Flen1 [0]Tush
  18750. Fdad Tush
  18751. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18752. },
  18753. 137: {
  18754. Ffc: *(*struct {
  18755. Fcode [0]Tush
  18756. Ffreq Tush
  18757. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(157)})),
  18758. Fdl: *(*struct {
  18759. Flen1 [0]Tush
  18760. Fdad Tush
  18761. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18762. },
  18763. 138: {
  18764. Ffc: *(*struct {
  18765. Fcode [0]Tush
  18766. Ffreq Tush
  18767. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(93)})),
  18768. Fdl: *(*struct {
  18769. Flen1 [0]Tush
  18770. Fdad Tush
  18771. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18772. },
  18773. 139: {
  18774. Ffc: *(*struct {
  18775. Fcode [0]Tush
  18776. Ffreq Tush
  18777. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(221)})),
  18778. Fdl: *(*struct {
  18779. Flen1 [0]Tush
  18780. Fdad Tush
  18781. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18782. },
  18783. 140: {
  18784. Ffc: *(*struct {
  18785. Fcode [0]Tush
  18786. Ffreq Tush
  18787. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(61)})),
  18788. Fdl: *(*struct {
  18789. Flen1 [0]Tush
  18790. Fdad Tush
  18791. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18792. },
  18793. 141: {
  18794. Ffc: *(*struct {
  18795. Fcode [0]Tush
  18796. Ffreq Tush
  18797. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(189)})),
  18798. Fdl: *(*struct {
  18799. Flen1 [0]Tush
  18800. Fdad Tush
  18801. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18802. },
  18803. 142: {
  18804. Ffc: *(*struct {
  18805. Fcode [0]Tush
  18806. Ffreq Tush
  18807. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(125)})),
  18808. Fdl: *(*struct {
  18809. Flen1 [0]Tush
  18810. Fdad Tush
  18811. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18812. },
  18813. 143: {
  18814. Ffc: *(*struct {
  18815. Fcode [0]Tush
  18816. Ffreq Tush
  18817. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(253)})),
  18818. Fdl: *(*struct {
  18819. Flen1 [0]Tush
  18820. Fdad Tush
  18821. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  18822. },
  18823. 144: {
  18824. Ffc: *(*struct {
  18825. Fcode [0]Tush
  18826. Ffreq Tush
  18827. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(19)})),
  18828. Fdl: *(*struct {
  18829. Flen1 [0]Tush
  18830. Fdad Tush
  18831. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18832. },
  18833. 145: {
  18834. Ffc: *(*struct {
  18835. Fcode [0]Tush
  18836. Ffreq Tush
  18837. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(275)})),
  18838. Fdl: *(*struct {
  18839. Flen1 [0]Tush
  18840. Fdad Tush
  18841. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18842. },
  18843. 146: {
  18844. Ffc: *(*struct {
  18845. Fcode [0]Tush
  18846. Ffreq Tush
  18847. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(147)})),
  18848. Fdl: *(*struct {
  18849. Flen1 [0]Tush
  18850. Fdad Tush
  18851. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18852. },
  18853. 147: {
  18854. Ffc: *(*struct {
  18855. Fcode [0]Tush
  18856. Ffreq Tush
  18857. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(403)})),
  18858. Fdl: *(*struct {
  18859. Flen1 [0]Tush
  18860. Fdad Tush
  18861. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18862. },
  18863. 148: {
  18864. Ffc: *(*struct {
  18865. Fcode [0]Tush
  18866. Ffreq Tush
  18867. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(83)})),
  18868. Fdl: *(*struct {
  18869. Flen1 [0]Tush
  18870. Fdad Tush
  18871. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18872. },
  18873. 149: {
  18874. Ffc: *(*struct {
  18875. Fcode [0]Tush
  18876. Ffreq Tush
  18877. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(339)})),
  18878. Fdl: *(*struct {
  18879. Flen1 [0]Tush
  18880. Fdad Tush
  18881. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18882. },
  18883. 150: {
  18884. Ffc: *(*struct {
  18885. Fcode [0]Tush
  18886. Ffreq Tush
  18887. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(211)})),
  18888. Fdl: *(*struct {
  18889. Flen1 [0]Tush
  18890. Fdad Tush
  18891. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18892. },
  18893. 151: {
  18894. Ffc: *(*struct {
  18895. Fcode [0]Tush
  18896. Ffreq Tush
  18897. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(467)})),
  18898. Fdl: *(*struct {
  18899. Flen1 [0]Tush
  18900. Fdad Tush
  18901. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18902. },
  18903. 152: {
  18904. Ffc: *(*struct {
  18905. Fcode [0]Tush
  18906. Ffreq Tush
  18907. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(51)})),
  18908. Fdl: *(*struct {
  18909. Flen1 [0]Tush
  18910. Fdad Tush
  18911. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18912. },
  18913. 153: {
  18914. Ffc: *(*struct {
  18915. Fcode [0]Tush
  18916. Ffreq Tush
  18917. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(307)})),
  18918. Fdl: *(*struct {
  18919. Flen1 [0]Tush
  18920. Fdad Tush
  18921. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18922. },
  18923. 154: {
  18924. Ffc: *(*struct {
  18925. Fcode [0]Tush
  18926. Ffreq Tush
  18927. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(179)})),
  18928. Fdl: *(*struct {
  18929. Flen1 [0]Tush
  18930. Fdad Tush
  18931. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18932. },
  18933. 155: {
  18934. Ffc: *(*struct {
  18935. Fcode [0]Tush
  18936. Ffreq Tush
  18937. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(435)})),
  18938. Fdl: *(*struct {
  18939. Flen1 [0]Tush
  18940. Fdad Tush
  18941. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18942. },
  18943. 156: {
  18944. Ffc: *(*struct {
  18945. Fcode [0]Tush
  18946. Ffreq Tush
  18947. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(115)})),
  18948. Fdl: *(*struct {
  18949. Flen1 [0]Tush
  18950. Fdad Tush
  18951. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18952. },
  18953. 157: {
  18954. Ffc: *(*struct {
  18955. Fcode [0]Tush
  18956. Ffreq Tush
  18957. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(371)})),
  18958. Fdl: *(*struct {
  18959. Flen1 [0]Tush
  18960. Fdad Tush
  18961. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18962. },
  18963. 158: {
  18964. Ffc: *(*struct {
  18965. Fcode [0]Tush
  18966. Ffreq Tush
  18967. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(243)})),
  18968. Fdl: *(*struct {
  18969. Flen1 [0]Tush
  18970. Fdad Tush
  18971. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18972. },
  18973. 159: {
  18974. Ffc: *(*struct {
  18975. Fcode [0]Tush
  18976. Ffreq Tush
  18977. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(499)})),
  18978. Fdl: *(*struct {
  18979. Flen1 [0]Tush
  18980. Fdad Tush
  18981. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18982. },
  18983. 160: {
  18984. Ffc: *(*struct {
  18985. Fcode [0]Tush
  18986. Ffreq Tush
  18987. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(11)})),
  18988. Fdl: *(*struct {
  18989. Flen1 [0]Tush
  18990. Fdad Tush
  18991. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  18992. },
  18993. 161: {
  18994. Ffc: *(*struct {
  18995. Fcode [0]Tush
  18996. Ffreq Tush
  18997. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(267)})),
  18998. Fdl: *(*struct {
  18999. Flen1 [0]Tush
  19000. Fdad Tush
  19001. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19002. },
  19003. 162: {
  19004. Ffc: *(*struct {
  19005. Fcode [0]Tush
  19006. Ffreq Tush
  19007. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(139)})),
  19008. Fdl: *(*struct {
  19009. Flen1 [0]Tush
  19010. Fdad Tush
  19011. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19012. },
  19013. 163: {
  19014. Ffc: *(*struct {
  19015. Fcode [0]Tush
  19016. Ffreq Tush
  19017. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(395)})),
  19018. Fdl: *(*struct {
  19019. Flen1 [0]Tush
  19020. Fdad Tush
  19021. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19022. },
  19023. 164: {
  19024. Ffc: *(*struct {
  19025. Fcode [0]Tush
  19026. Ffreq Tush
  19027. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(75)})),
  19028. Fdl: *(*struct {
  19029. Flen1 [0]Tush
  19030. Fdad Tush
  19031. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19032. },
  19033. 165: {
  19034. Ffc: *(*struct {
  19035. Fcode [0]Tush
  19036. Ffreq Tush
  19037. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(331)})),
  19038. Fdl: *(*struct {
  19039. Flen1 [0]Tush
  19040. Fdad Tush
  19041. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19042. },
  19043. 166: {
  19044. Ffc: *(*struct {
  19045. Fcode [0]Tush
  19046. Ffreq Tush
  19047. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(203)})),
  19048. Fdl: *(*struct {
  19049. Flen1 [0]Tush
  19050. Fdad Tush
  19051. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19052. },
  19053. 167: {
  19054. Ffc: *(*struct {
  19055. Fcode [0]Tush
  19056. Ffreq Tush
  19057. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(459)})),
  19058. Fdl: *(*struct {
  19059. Flen1 [0]Tush
  19060. Fdad Tush
  19061. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19062. },
  19063. 168: {
  19064. Ffc: *(*struct {
  19065. Fcode [0]Tush
  19066. Ffreq Tush
  19067. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(43)})),
  19068. Fdl: *(*struct {
  19069. Flen1 [0]Tush
  19070. Fdad Tush
  19071. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19072. },
  19073. 169: {
  19074. Ffc: *(*struct {
  19075. Fcode [0]Tush
  19076. Ffreq Tush
  19077. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(299)})),
  19078. Fdl: *(*struct {
  19079. Flen1 [0]Tush
  19080. Fdad Tush
  19081. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19082. },
  19083. 170: {
  19084. Ffc: *(*struct {
  19085. Fcode [0]Tush
  19086. Ffreq Tush
  19087. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(171)})),
  19088. Fdl: *(*struct {
  19089. Flen1 [0]Tush
  19090. Fdad Tush
  19091. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19092. },
  19093. 171: {
  19094. Ffc: *(*struct {
  19095. Fcode [0]Tush
  19096. Ffreq Tush
  19097. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(427)})),
  19098. Fdl: *(*struct {
  19099. Flen1 [0]Tush
  19100. Fdad Tush
  19101. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19102. },
  19103. 172: {
  19104. Ffc: *(*struct {
  19105. Fcode [0]Tush
  19106. Ffreq Tush
  19107. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(107)})),
  19108. Fdl: *(*struct {
  19109. Flen1 [0]Tush
  19110. Fdad Tush
  19111. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19112. },
  19113. 173: {
  19114. Ffc: *(*struct {
  19115. Fcode [0]Tush
  19116. Ffreq Tush
  19117. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(363)})),
  19118. Fdl: *(*struct {
  19119. Flen1 [0]Tush
  19120. Fdad Tush
  19121. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19122. },
  19123. 174: {
  19124. Ffc: *(*struct {
  19125. Fcode [0]Tush
  19126. Ffreq Tush
  19127. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(235)})),
  19128. Fdl: *(*struct {
  19129. Flen1 [0]Tush
  19130. Fdad Tush
  19131. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19132. },
  19133. 175: {
  19134. Ffc: *(*struct {
  19135. Fcode [0]Tush
  19136. Ffreq Tush
  19137. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(491)})),
  19138. Fdl: *(*struct {
  19139. Flen1 [0]Tush
  19140. Fdad Tush
  19141. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19142. },
  19143. 176: {
  19144. Ffc: *(*struct {
  19145. Fcode [0]Tush
  19146. Ffreq Tush
  19147. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(27)})),
  19148. Fdl: *(*struct {
  19149. Flen1 [0]Tush
  19150. Fdad Tush
  19151. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19152. },
  19153. 177: {
  19154. Ffc: *(*struct {
  19155. Fcode [0]Tush
  19156. Ffreq Tush
  19157. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(283)})),
  19158. Fdl: *(*struct {
  19159. Flen1 [0]Tush
  19160. Fdad Tush
  19161. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19162. },
  19163. 178: {
  19164. Ffc: *(*struct {
  19165. Fcode [0]Tush
  19166. Ffreq Tush
  19167. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(155)})),
  19168. Fdl: *(*struct {
  19169. Flen1 [0]Tush
  19170. Fdad Tush
  19171. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19172. },
  19173. 179: {
  19174. Ffc: *(*struct {
  19175. Fcode [0]Tush
  19176. Ffreq Tush
  19177. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(411)})),
  19178. Fdl: *(*struct {
  19179. Flen1 [0]Tush
  19180. Fdad Tush
  19181. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19182. },
  19183. 180: {
  19184. Ffc: *(*struct {
  19185. Fcode [0]Tush
  19186. Ffreq Tush
  19187. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(91)})),
  19188. Fdl: *(*struct {
  19189. Flen1 [0]Tush
  19190. Fdad Tush
  19191. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19192. },
  19193. 181: {
  19194. Ffc: *(*struct {
  19195. Fcode [0]Tush
  19196. Ffreq Tush
  19197. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(347)})),
  19198. Fdl: *(*struct {
  19199. Flen1 [0]Tush
  19200. Fdad Tush
  19201. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19202. },
  19203. 182: {
  19204. Ffc: *(*struct {
  19205. Fcode [0]Tush
  19206. Ffreq Tush
  19207. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(219)})),
  19208. Fdl: *(*struct {
  19209. Flen1 [0]Tush
  19210. Fdad Tush
  19211. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19212. },
  19213. 183: {
  19214. Ffc: *(*struct {
  19215. Fcode [0]Tush
  19216. Ffreq Tush
  19217. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(475)})),
  19218. Fdl: *(*struct {
  19219. Flen1 [0]Tush
  19220. Fdad Tush
  19221. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19222. },
  19223. 184: {
  19224. Ffc: *(*struct {
  19225. Fcode [0]Tush
  19226. Ffreq Tush
  19227. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(59)})),
  19228. Fdl: *(*struct {
  19229. Flen1 [0]Tush
  19230. Fdad Tush
  19231. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19232. },
  19233. 185: {
  19234. Ffc: *(*struct {
  19235. Fcode [0]Tush
  19236. Ffreq Tush
  19237. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(315)})),
  19238. Fdl: *(*struct {
  19239. Flen1 [0]Tush
  19240. Fdad Tush
  19241. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19242. },
  19243. 186: {
  19244. Ffc: *(*struct {
  19245. Fcode [0]Tush
  19246. Ffreq Tush
  19247. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(187)})),
  19248. Fdl: *(*struct {
  19249. Flen1 [0]Tush
  19250. Fdad Tush
  19251. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19252. },
  19253. 187: {
  19254. Ffc: *(*struct {
  19255. Fcode [0]Tush
  19256. Ffreq Tush
  19257. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(443)})),
  19258. Fdl: *(*struct {
  19259. Flen1 [0]Tush
  19260. Fdad Tush
  19261. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19262. },
  19263. 188: {
  19264. Ffc: *(*struct {
  19265. Fcode [0]Tush
  19266. Ffreq Tush
  19267. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(123)})),
  19268. Fdl: *(*struct {
  19269. Flen1 [0]Tush
  19270. Fdad Tush
  19271. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19272. },
  19273. 189: {
  19274. Ffc: *(*struct {
  19275. Fcode [0]Tush
  19276. Ffreq Tush
  19277. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(379)})),
  19278. Fdl: *(*struct {
  19279. Flen1 [0]Tush
  19280. Fdad Tush
  19281. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19282. },
  19283. 190: {
  19284. Ffc: *(*struct {
  19285. Fcode [0]Tush
  19286. Ffreq Tush
  19287. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(251)})),
  19288. Fdl: *(*struct {
  19289. Flen1 [0]Tush
  19290. Fdad Tush
  19291. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19292. },
  19293. 191: {
  19294. Ffc: *(*struct {
  19295. Fcode [0]Tush
  19296. Ffreq Tush
  19297. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(507)})),
  19298. Fdl: *(*struct {
  19299. Flen1 [0]Tush
  19300. Fdad Tush
  19301. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19302. },
  19303. 192: {
  19304. Ffc: *(*struct {
  19305. Fcode [0]Tush
  19306. Ffreq Tush
  19307. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19308. Fdl: *(*struct {
  19309. Flen1 [0]Tush
  19310. Fdad Tush
  19311. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19312. },
  19313. 193: {
  19314. Ffc: *(*struct {
  19315. Fcode [0]Tush
  19316. Ffreq Tush
  19317. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(263)})),
  19318. Fdl: *(*struct {
  19319. Flen1 [0]Tush
  19320. Fdad Tush
  19321. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19322. },
  19323. 194: {
  19324. Ffc: *(*struct {
  19325. Fcode [0]Tush
  19326. Ffreq Tush
  19327. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(135)})),
  19328. Fdl: *(*struct {
  19329. Flen1 [0]Tush
  19330. Fdad Tush
  19331. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19332. },
  19333. 195: {
  19334. Ffc: *(*struct {
  19335. Fcode [0]Tush
  19336. Ffreq Tush
  19337. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(391)})),
  19338. Fdl: *(*struct {
  19339. Flen1 [0]Tush
  19340. Fdad Tush
  19341. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19342. },
  19343. 196: {
  19344. Ffc: *(*struct {
  19345. Fcode [0]Tush
  19346. Ffreq Tush
  19347. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(71)})),
  19348. Fdl: *(*struct {
  19349. Flen1 [0]Tush
  19350. Fdad Tush
  19351. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19352. },
  19353. 197: {
  19354. Ffc: *(*struct {
  19355. Fcode [0]Tush
  19356. Ffreq Tush
  19357. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(327)})),
  19358. Fdl: *(*struct {
  19359. Flen1 [0]Tush
  19360. Fdad Tush
  19361. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19362. },
  19363. 198: {
  19364. Ffc: *(*struct {
  19365. Fcode [0]Tush
  19366. Ffreq Tush
  19367. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(199)})),
  19368. Fdl: *(*struct {
  19369. Flen1 [0]Tush
  19370. Fdad Tush
  19371. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19372. },
  19373. 199: {
  19374. Ffc: *(*struct {
  19375. Fcode [0]Tush
  19376. Ffreq Tush
  19377. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(455)})),
  19378. Fdl: *(*struct {
  19379. Flen1 [0]Tush
  19380. Fdad Tush
  19381. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19382. },
  19383. 200: {
  19384. Ffc: *(*struct {
  19385. Fcode [0]Tush
  19386. Ffreq Tush
  19387. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(39)})),
  19388. Fdl: *(*struct {
  19389. Flen1 [0]Tush
  19390. Fdad Tush
  19391. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19392. },
  19393. 201: {
  19394. Ffc: *(*struct {
  19395. Fcode [0]Tush
  19396. Ffreq Tush
  19397. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(295)})),
  19398. Fdl: *(*struct {
  19399. Flen1 [0]Tush
  19400. Fdad Tush
  19401. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19402. },
  19403. 202: {
  19404. Ffc: *(*struct {
  19405. Fcode [0]Tush
  19406. Ffreq Tush
  19407. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(167)})),
  19408. Fdl: *(*struct {
  19409. Flen1 [0]Tush
  19410. Fdad Tush
  19411. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19412. },
  19413. 203: {
  19414. Ffc: *(*struct {
  19415. Fcode [0]Tush
  19416. Ffreq Tush
  19417. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(423)})),
  19418. Fdl: *(*struct {
  19419. Flen1 [0]Tush
  19420. Fdad Tush
  19421. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19422. },
  19423. 204: {
  19424. Ffc: *(*struct {
  19425. Fcode [0]Tush
  19426. Ffreq Tush
  19427. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(103)})),
  19428. Fdl: *(*struct {
  19429. Flen1 [0]Tush
  19430. Fdad Tush
  19431. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19432. },
  19433. 205: {
  19434. Ffc: *(*struct {
  19435. Fcode [0]Tush
  19436. Ffreq Tush
  19437. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(359)})),
  19438. Fdl: *(*struct {
  19439. Flen1 [0]Tush
  19440. Fdad Tush
  19441. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19442. },
  19443. 206: {
  19444. Ffc: *(*struct {
  19445. Fcode [0]Tush
  19446. Ffreq Tush
  19447. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(231)})),
  19448. Fdl: *(*struct {
  19449. Flen1 [0]Tush
  19450. Fdad Tush
  19451. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19452. },
  19453. 207: {
  19454. Ffc: *(*struct {
  19455. Fcode [0]Tush
  19456. Ffreq Tush
  19457. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(487)})),
  19458. Fdl: *(*struct {
  19459. Flen1 [0]Tush
  19460. Fdad Tush
  19461. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19462. },
  19463. 208: {
  19464. Ffc: *(*struct {
  19465. Fcode [0]Tush
  19466. Ffreq Tush
  19467. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(23)})),
  19468. Fdl: *(*struct {
  19469. Flen1 [0]Tush
  19470. Fdad Tush
  19471. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19472. },
  19473. 209: {
  19474. Ffc: *(*struct {
  19475. Fcode [0]Tush
  19476. Ffreq Tush
  19477. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(279)})),
  19478. Fdl: *(*struct {
  19479. Flen1 [0]Tush
  19480. Fdad Tush
  19481. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19482. },
  19483. 210: {
  19484. Ffc: *(*struct {
  19485. Fcode [0]Tush
  19486. Ffreq Tush
  19487. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(151)})),
  19488. Fdl: *(*struct {
  19489. Flen1 [0]Tush
  19490. Fdad Tush
  19491. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19492. },
  19493. 211: {
  19494. Ffc: *(*struct {
  19495. Fcode [0]Tush
  19496. Ffreq Tush
  19497. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(407)})),
  19498. Fdl: *(*struct {
  19499. Flen1 [0]Tush
  19500. Fdad Tush
  19501. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19502. },
  19503. 212: {
  19504. Ffc: *(*struct {
  19505. Fcode [0]Tush
  19506. Ffreq Tush
  19507. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(87)})),
  19508. Fdl: *(*struct {
  19509. Flen1 [0]Tush
  19510. Fdad Tush
  19511. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19512. },
  19513. 213: {
  19514. Ffc: *(*struct {
  19515. Fcode [0]Tush
  19516. Ffreq Tush
  19517. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(343)})),
  19518. Fdl: *(*struct {
  19519. Flen1 [0]Tush
  19520. Fdad Tush
  19521. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19522. },
  19523. 214: {
  19524. Ffc: *(*struct {
  19525. Fcode [0]Tush
  19526. Ffreq Tush
  19527. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(215)})),
  19528. Fdl: *(*struct {
  19529. Flen1 [0]Tush
  19530. Fdad Tush
  19531. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19532. },
  19533. 215: {
  19534. Ffc: *(*struct {
  19535. Fcode [0]Tush
  19536. Ffreq Tush
  19537. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(471)})),
  19538. Fdl: *(*struct {
  19539. Flen1 [0]Tush
  19540. Fdad Tush
  19541. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19542. },
  19543. 216: {
  19544. Ffc: *(*struct {
  19545. Fcode [0]Tush
  19546. Ffreq Tush
  19547. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(55)})),
  19548. Fdl: *(*struct {
  19549. Flen1 [0]Tush
  19550. Fdad Tush
  19551. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19552. },
  19553. 217: {
  19554. Ffc: *(*struct {
  19555. Fcode [0]Tush
  19556. Ffreq Tush
  19557. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(311)})),
  19558. Fdl: *(*struct {
  19559. Flen1 [0]Tush
  19560. Fdad Tush
  19561. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19562. },
  19563. 218: {
  19564. Ffc: *(*struct {
  19565. Fcode [0]Tush
  19566. Ffreq Tush
  19567. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(183)})),
  19568. Fdl: *(*struct {
  19569. Flen1 [0]Tush
  19570. Fdad Tush
  19571. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19572. },
  19573. 219: {
  19574. Ffc: *(*struct {
  19575. Fcode [0]Tush
  19576. Ffreq Tush
  19577. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(439)})),
  19578. Fdl: *(*struct {
  19579. Flen1 [0]Tush
  19580. Fdad Tush
  19581. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19582. },
  19583. 220: {
  19584. Ffc: *(*struct {
  19585. Fcode [0]Tush
  19586. Ffreq Tush
  19587. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(119)})),
  19588. Fdl: *(*struct {
  19589. Flen1 [0]Tush
  19590. Fdad Tush
  19591. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19592. },
  19593. 221: {
  19594. Ffc: *(*struct {
  19595. Fcode [0]Tush
  19596. Ffreq Tush
  19597. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(375)})),
  19598. Fdl: *(*struct {
  19599. Flen1 [0]Tush
  19600. Fdad Tush
  19601. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19602. },
  19603. 222: {
  19604. Ffc: *(*struct {
  19605. Fcode [0]Tush
  19606. Ffreq Tush
  19607. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(247)})),
  19608. Fdl: *(*struct {
  19609. Flen1 [0]Tush
  19610. Fdad Tush
  19611. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19612. },
  19613. 223: {
  19614. Ffc: *(*struct {
  19615. Fcode [0]Tush
  19616. Ffreq Tush
  19617. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(503)})),
  19618. Fdl: *(*struct {
  19619. Flen1 [0]Tush
  19620. Fdad Tush
  19621. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19622. },
  19623. 224: {
  19624. Ffc: *(*struct {
  19625. Fcode [0]Tush
  19626. Ffreq Tush
  19627. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(15)})),
  19628. Fdl: *(*struct {
  19629. Flen1 [0]Tush
  19630. Fdad Tush
  19631. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19632. },
  19633. 225: {
  19634. Ffc: *(*struct {
  19635. Fcode [0]Tush
  19636. Ffreq Tush
  19637. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(271)})),
  19638. Fdl: *(*struct {
  19639. Flen1 [0]Tush
  19640. Fdad Tush
  19641. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19642. },
  19643. 226: {
  19644. Ffc: *(*struct {
  19645. Fcode [0]Tush
  19646. Ffreq Tush
  19647. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(143)})),
  19648. Fdl: *(*struct {
  19649. Flen1 [0]Tush
  19650. Fdad Tush
  19651. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19652. },
  19653. 227: {
  19654. Ffc: *(*struct {
  19655. Fcode [0]Tush
  19656. Ffreq Tush
  19657. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(399)})),
  19658. Fdl: *(*struct {
  19659. Flen1 [0]Tush
  19660. Fdad Tush
  19661. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19662. },
  19663. 228: {
  19664. Ffc: *(*struct {
  19665. Fcode [0]Tush
  19666. Ffreq Tush
  19667. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(79)})),
  19668. Fdl: *(*struct {
  19669. Flen1 [0]Tush
  19670. Fdad Tush
  19671. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19672. },
  19673. 229: {
  19674. Ffc: *(*struct {
  19675. Fcode [0]Tush
  19676. Ffreq Tush
  19677. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(335)})),
  19678. Fdl: *(*struct {
  19679. Flen1 [0]Tush
  19680. Fdad Tush
  19681. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19682. },
  19683. 230: {
  19684. Ffc: *(*struct {
  19685. Fcode [0]Tush
  19686. Ffreq Tush
  19687. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(207)})),
  19688. Fdl: *(*struct {
  19689. Flen1 [0]Tush
  19690. Fdad Tush
  19691. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19692. },
  19693. 231: {
  19694. Ffc: *(*struct {
  19695. Fcode [0]Tush
  19696. Ffreq Tush
  19697. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(463)})),
  19698. Fdl: *(*struct {
  19699. Flen1 [0]Tush
  19700. Fdad Tush
  19701. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19702. },
  19703. 232: {
  19704. Ffc: *(*struct {
  19705. Fcode [0]Tush
  19706. Ffreq Tush
  19707. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(47)})),
  19708. Fdl: *(*struct {
  19709. Flen1 [0]Tush
  19710. Fdad Tush
  19711. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19712. },
  19713. 233: {
  19714. Ffc: *(*struct {
  19715. Fcode [0]Tush
  19716. Ffreq Tush
  19717. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(303)})),
  19718. Fdl: *(*struct {
  19719. Flen1 [0]Tush
  19720. Fdad Tush
  19721. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19722. },
  19723. 234: {
  19724. Ffc: *(*struct {
  19725. Fcode [0]Tush
  19726. Ffreq Tush
  19727. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(175)})),
  19728. Fdl: *(*struct {
  19729. Flen1 [0]Tush
  19730. Fdad Tush
  19731. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19732. },
  19733. 235: {
  19734. Ffc: *(*struct {
  19735. Fcode [0]Tush
  19736. Ffreq Tush
  19737. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(431)})),
  19738. Fdl: *(*struct {
  19739. Flen1 [0]Tush
  19740. Fdad Tush
  19741. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19742. },
  19743. 236: {
  19744. Ffc: *(*struct {
  19745. Fcode [0]Tush
  19746. Ffreq Tush
  19747. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(111)})),
  19748. Fdl: *(*struct {
  19749. Flen1 [0]Tush
  19750. Fdad Tush
  19751. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19752. },
  19753. 237: {
  19754. Ffc: *(*struct {
  19755. Fcode [0]Tush
  19756. Ffreq Tush
  19757. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(367)})),
  19758. Fdl: *(*struct {
  19759. Flen1 [0]Tush
  19760. Fdad Tush
  19761. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19762. },
  19763. 238: {
  19764. Ffc: *(*struct {
  19765. Fcode [0]Tush
  19766. Ffreq Tush
  19767. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(239)})),
  19768. Fdl: *(*struct {
  19769. Flen1 [0]Tush
  19770. Fdad Tush
  19771. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19772. },
  19773. 239: {
  19774. Ffc: *(*struct {
  19775. Fcode [0]Tush
  19776. Ffreq Tush
  19777. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(495)})),
  19778. Fdl: *(*struct {
  19779. Flen1 [0]Tush
  19780. Fdad Tush
  19781. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19782. },
  19783. 240: {
  19784. Ffc: *(*struct {
  19785. Fcode [0]Tush
  19786. Ffreq Tush
  19787. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(31)})),
  19788. Fdl: *(*struct {
  19789. Flen1 [0]Tush
  19790. Fdad Tush
  19791. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19792. },
  19793. 241: {
  19794. Ffc: *(*struct {
  19795. Fcode [0]Tush
  19796. Ffreq Tush
  19797. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(287)})),
  19798. Fdl: *(*struct {
  19799. Flen1 [0]Tush
  19800. Fdad Tush
  19801. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19802. },
  19803. 242: {
  19804. Ffc: *(*struct {
  19805. Fcode [0]Tush
  19806. Ffreq Tush
  19807. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(159)})),
  19808. Fdl: *(*struct {
  19809. Flen1 [0]Tush
  19810. Fdad Tush
  19811. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19812. },
  19813. 243: {
  19814. Ffc: *(*struct {
  19815. Fcode [0]Tush
  19816. Ffreq Tush
  19817. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(415)})),
  19818. Fdl: *(*struct {
  19819. Flen1 [0]Tush
  19820. Fdad Tush
  19821. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19822. },
  19823. 244: {
  19824. Ffc: *(*struct {
  19825. Fcode [0]Tush
  19826. Ffreq Tush
  19827. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(95)})),
  19828. Fdl: *(*struct {
  19829. Flen1 [0]Tush
  19830. Fdad Tush
  19831. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19832. },
  19833. 245: {
  19834. Ffc: *(*struct {
  19835. Fcode [0]Tush
  19836. Ffreq Tush
  19837. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(351)})),
  19838. Fdl: *(*struct {
  19839. Flen1 [0]Tush
  19840. Fdad Tush
  19841. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19842. },
  19843. 246: {
  19844. Ffc: *(*struct {
  19845. Fcode [0]Tush
  19846. Ffreq Tush
  19847. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(223)})),
  19848. Fdl: *(*struct {
  19849. Flen1 [0]Tush
  19850. Fdad Tush
  19851. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19852. },
  19853. 247: {
  19854. Ffc: *(*struct {
  19855. Fcode [0]Tush
  19856. Ffreq Tush
  19857. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(479)})),
  19858. Fdl: *(*struct {
  19859. Flen1 [0]Tush
  19860. Fdad Tush
  19861. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19862. },
  19863. 248: {
  19864. Ffc: *(*struct {
  19865. Fcode [0]Tush
  19866. Ffreq Tush
  19867. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(63)})),
  19868. Fdl: *(*struct {
  19869. Flen1 [0]Tush
  19870. Fdad Tush
  19871. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19872. },
  19873. 249: {
  19874. Ffc: *(*struct {
  19875. Fcode [0]Tush
  19876. Ffreq Tush
  19877. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(319)})),
  19878. Fdl: *(*struct {
  19879. Flen1 [0]Tush
  19880. Fdad Tush
  19881. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19882. },
  19883. 250: {
  19884. Ffc: *(*struct {
  19885. Fcode [0]Tush
  19886. Ffreq Tush
  19887. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(191)})),
  19888. Fdl: *(*struct {
  19889. Flen1 [0]Tush
  19890. Fdad Tush
  19891. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19892. },
  19893. 251: {
  19894. Ffc: *(*struct {
  19895. Fcode [0]Tush
  19896. Ffreq Tush
  19897. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(447)})),
  19898. Fdl: *(*struct {
  19899. Flen1 [0]Tush
  19900. Fdad Tush
  19901. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19902. },
  19903. 252: {
  19904. Ffc: *(*struct {
  19905. Fcode [0]Tush
  19906. Ffreq Tush
  19907. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(127)})),
  19908. Fdl: *(*struct {
  19909. Flen1 [0]Tush
  19910. Fdad Tush
  19911. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19912. },
  19913. 253: {
  19914. Ffc: *(*struct {
  19915. Fcode [0]Tush
  19916. Ffreq Tush
  19917. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(383)})),
  19918. Fdl: *(*struct {
  19919. Flen1 [0]Tush
  19920. Fdad Tush
  19921. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19922. },
  19923. 254: {
  19924. Ffc: *(*struct {
  19925. Fcode [0]Tush
  19926. Ffreq Tush
  19927. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(255)})),
  19928. Fdl: *(*struct {
  19929. Flen1 [0]Tush
  19930. Fdad Tush
  19931. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19932. },
  19933. 255: {
  19934. Ffc: *(*struct {
  19935. Fcode [0]Tush
  19936. Ffreq Tush
  19937. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(511)})),
  19938. Fdl: *(*struct {
  19939. Flen1 [0]Tush
  19940. Fdad Tush
  19941. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  19942. },
  19943. 256: {
  19944. Fdl: *(*struct {
  19945. Flen1 [0]Tush
  19946. Fdad Tush
  19947. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19948. },
  19949. 257: {
  19950. Ffc: *(*struct {
  19951. Fcode [0]Tush
  19952. Ffreq Tush
  19953. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(64)})),
  19954. Fdl: *(*struct {
  19955. Flen1 [0]Tush
  19956. Fdad Tush
  19957. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19958. },
  19959. 258: {
  19960. Ffc: *(*struct {
  19961. Fcode [0]Tush
  19962. Ffreq Tush
  19963. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(32)})),
  19964. Fdl: *(*struct {
  19965. Flen1 [0]Tush
  19966. Fdad Tush
  19967. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19968. },
  19969. 259: {
  19970. Ffc: *(*struct {
  19971. Fcode [0]Tush
  19972. Ffreq Tush
  19973. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(96)})),
  19974. Fdl: *(*struct {
  19975. Flen1 [0]Tush
  19976. Fdad Tush
  19977. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19978. },
  19979. 260: {
  19980. Ffc: *(*struct {
  19981. Fcode [0]Tush
  19982. Ffreq Tush
  19983. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(16)})),
  19984. Fdl: *(*struct {
  19985. Flen1 [0]Tush
  19986. Fdad Tush
  19987. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19988. },
  19989. 261: {
  19990. Ffc: *(*struct {
  19991. Fcode [0]Tush
  19992. Ffreq Tush
  19993. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(80)})),
  19994. Fdl: *(*struct {
  19995. Flen1 [0]Tush
  19996. Fdad Tush
  19997. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  19998. },
  19999. 262: {
  20000. Ffc: *(*struct {
  20001. Fcode [0]Tush
  20002. Ffreq Tush
  20003. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(48)})),
  20004. Fdl: *(*struct {
  20005. Flen1 [0]Tush
  20006. Fdad Tush
  20007. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20008. },
  20009. 263: {
  20010. Ffc: *(*struct {
  20011. Fcode [0]Tush
  20012. Ffreq Tush
  20013. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(112)})),
  20014. Fdl: *(*struct {
  20015. Flen1 [0]Tush
  20016. Fdad Tush
  20017. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20018. },
  20019. 264: {
  20020. Ffc: *(*struct {
  20021. Fcode [0]Tush
  20022. Ffreq Tush
  20023. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20024. Fdl: *(*struct {
  20025. Flen1 [0]Tush
  20026. Fdad Tush
  20027. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20028. },
  20029. 265: {
  20030. Ffc: *(*struct {
  20031. Fcode [0]Tush
  20032. Ffreq Tush
  20033. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(72)})),
  20034. Fdl: *(*struct {
  20035. Flen1 [0]Tush
  20036. Fdad Tush
  20037. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20038. },
  20039. 266: {
  20040. Ffc: *(*struct {
  20041. Fcode [0]Tush
  20042. Ffreq Tush
  20043. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(40)})),
  20044. Fdl: *(*struct {
  20045. Flen1 [0]Tush
  20046. Fdad Tush
  20047. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20048. },
  20049. 267: {
  20050. Ffc: *(*struct {
  20051. Fcode [0]Tush
  20052. Ffreq Tush
  20053. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(104)})),
  20054. Fdl: *(*struct {
  20055. Flen1 [0]Tush
  20056. Fdad Tush
  20057. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20058. },
  20059. 268: {
  20060. Ffc: *(*struct {
  20061. Fcode [0]Tush
  20062. Ffreq Tush
  20063. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(24)})),
  20064. Fdl: *(*struct {
  20065. Flen1 [0]Tush
  20066. Fdad Tush
  20067. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20068. },
  20069. 269: {
  20070. Ffc: *(*struct {
  20071. Fcode [0]Tush
  20072. Ffreq Tush
  20073. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(88)})),
  20074. Fdl: *(*struct {
  20075. Flen1 [0]Tush
  20076. Fdad Tush
  20077. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20078. },
  20079. 270: {
  20080. Ffc: *(*struct {
  20081. Fcode [0]Tush
  20082. Ffreq Tush
  20083. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(56)})),
  20084. Fdl: *(*struct {
  20085. Flen1 [0]Tush
  20086. Fdad Tush
  20087. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20088. },
  20089. 271: {
  20090. Ffc: *(*struct {
  20091. Fcode [0]Tush
  20092. Ffreq Tush
  20093. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(120)})),
  20094. Fdl: *(*struct {
  20095. Flen1 [0]Tush
  20096. Fdad Tush
  20097. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20098. },
  20099. 272: {
  20100. Ffc: *(*struct {
  20101. Fcode [0]Tush
  20102. Ffreq Tush
  20103. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(4)})),
  20104. Fdl: *(*struct {
  20105. Flen1 [0]Tush
  20106. Fdad Tush
  20107. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20108. },
  20109. 273: {
  20110. Ffc: *(*struct {
  20111. Fcode [0]Tush
  20112. Ffreq Tush
  20113. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(68)})),
  20114. Fdl: *(*struct {
  20115. Flen1 [0]Tush
  20116. Fdad Tush
  20117. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20118. },
  20119. 274: {
  20120. Ffc: *(*struct {
  20121. Fcode [0]Tush
  20122. Ffreq Tush
  20123. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(36)})),
  20124. Fdl: *(*struct {
  20125. Flen1 [0]Tush
  20126. Fdad Tush
  20127. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20128. },
  20129. 275: {
  20130. Ffc: *(*struct {
  20131. Fcode [0]Tush
  20132. Ffreq Tush
  20133. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(100)})),
  20134. Fdl: *(*struct {
  20135. Flen1 [0]Tush
  20136. Fdad Tush
  20137. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20138. },
  20139. 276: {
  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(7)})),
  20148. },
  20149. 277: {
  20150. Ffc: *(*struct {
  20151. Fcode [0]Tush
  20152. Ffreq Tush
  20153. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(84)})),
  20154. Fdl: *(*struct {
  20155. Flen1 [0]Tush
  20156. Fdad Tush
  20157. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20158. },
  20159. 278: {
  20160. Ffc: *(*struct {
  20161. Fcode [0]Tush
  20162. Ffreq Tush
  20163. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(52)})),
  20164. Fdl: *(*struct {
  20165. Flen1 [0]Tush
  20166. Fdad Tush
  20167. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20168. },
  20169. 279: {
  20170. Ffc: *(*struct {
  20171. Fcode [0]Tush
  20172. Ffreq Tush
  20173. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(116)})),
  20174. Fdl: *(*struct {
  20175. Flen1 [0]Tush
  20176. Fdad Tush
  20177. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20178. },
  20179. 280: {
  20180. Ffc: *(*struct {
  20181. Fcode [0]Tush
  20182. Ffreq Tush
  20183. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(3)})),
  20184. Fdl: *(*struct {
  20185. Flen1 [0]Tush
  20186. Fdad Tush
  20187. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20188. },
  20189. 281: {
  20190. Ffc: *(*struct {
  20191. Fcode [0]Tush
  20192. Ffreq Tush
  20193. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(131)})),
  20194. Fdl: *(*struct {
  20195. Flen1 [0]Tush
  20196. Fdad Tush
  20197. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20198. },
  20199. 282: {
  20200. Ffc: *(*struct {
  20201. Fcode [0]Tush
  20202. Ffreq Tush
  20203. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(67)})),
  20204. Fdl: *(*struct {
  20205. Flen1 [0]Tush
  20206. Fdad Tush
  20207. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20208. },
  20209. 283: {
  20210. Ffc: *(*struct {
  20211. Fcode [0]Tush
  20212. Ffreq Tush
  20213. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(195)})),
  20214. Fdl: *(*struct {
  20215. Flen1 [0]Tush
  20216. Fdad Tush
  20217. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20218. },
  20219. 284: {
  20220. Ffc: *(*struct {
  20221. Fcode [0]Tush
  20222. Ffreq Tush
  20223. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(35)})),
  20224. Fdl: *(*struct {
  20225. Flen1 [0]Tush
  20226. Fdad Tush
  20227. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20228. },
  20229. 285: {
  20230. Ffc: *(*struct {
  20231. Fcode [0]Tush
  20232. Ffreq Tush
  20233. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(163)})),
  20234. Fdl: *(*struct {
  20235. Flen1 [0]Tush
  20236. Fdad Tush
  20237. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20238. },
  20239. 286: {
  20240. Ffc: *(*struct {
  20241. Fcode [0]Tush
  20242. Ffreq Tush
  20243. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(99)})),
  20244. Fdl: *(*struct {
  20245. Flen1 [0]Tush
  20246. Fdad Tush
  20247. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20248. },
  20249. 287: {
  20250. Ffc: *(*struct {
  20251. Fcode [0]Tush
  20252. Ffreq Tush
  20253. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(227)})),
  20254. Fdl: *(*struct {
  20255. Flen1 [0]Tush
  20256. Fdad Tush
  20257. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20258. },
  20259. }
  20260. var _static_dtree = [30]Tct_data{
  20261. 0: {
  20262. Fdl: *(*struct {
  20263. Flen1 [0]Tush
  20264. Fdad Tush
  20265. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20266. },
  20267. 1: {
  20268. Ffc: *(*struct {
  20269. Fcode [0]Tush
  20270. Ffreq Tush
  20271. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(16)})),
  20272. Fdl: *(*struct {
  20273. Flen1 [0]Tush
  20274. Fdad Tush
  20275. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20276. },
  20277. 2: {
  20278. Ffc: *(*struct {
  20279. Fcode [0]Tush
  20280. Ffreq Tush
  20281. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(8)})),
  20282. Fdl: *(*struct {
  20283. Flen1 [0]Tush
  20284. Fdad Tush
  20285. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20286. },
  20287. 3: {
  20288. Ffc: *(*struct {
  20289. Fcode [0]Tush
  20290. Ffreq Tush
  20291. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(24)})),
  20292. Fdl: *(*struct {
  20293. Flen1 [0]Tush
  20294. Fdad Tush
  20295. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20296. },
  20297. 4: {
  20298. Ffc: *(*struct {
  20299. Fcode [0]Tush
  20300. Ffreq Tush
  20301. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(4)})),
  20302. Fdl: *(*struct {
  20303. Flen1 [0]Tush
  20304. Fdad Tush
  20305. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20306. },
  20307. 5: {
  20308. Ffc: *(*struct {
  20309. Fcode [0]Tush
  20310. Ffreq Tush
  20311. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(20)})),
  20312. Fdl: *(*struct {
  20313. Flen1 [0]Tush
  20314. Fdad Tush
  20315. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20316. },
  20317. 6: {
  20318. Ffc: *(*struct {
  20319. Fcode [0]Tush
  20320. Ffreq Tush
  20321. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(12)})),
  20322. Fdl: *(*struct {
  20323. Flen1 [0]Tush
  20324. Fdad Tush
  20325. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20326. },
  20327. 7: {
  20328. Ffc: *(*struct {
  20329. Fcode [0]Tush
  20330. Ffreq Tush
  20331. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(28)})),
  20332. Fdl: *(*struct {
  20333. Flen1 [0]Tush
  20334. Fdad Tush
  20335. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20336. },
  20337. 8: {
  20338. Ffc: *(*struct {
  20339. Fcode [0]Tush
  20340. Ffreq Tush
  20341. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(2)})),
  20342. Fdl: *(*struct {
  20343. Flen1 [0]Tush
  20344. Fdad Tush
  20345. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20346. },
  20347. 9: {
  20348. Ffc: *(*struct {
  20349. Fcode [0]Tush
  20350. Ffreq Tush
  20351. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(18)})),
  20352. Fdl: *(*struct {
  20353. Flen1 [0]Tush
  20354. Fdad Tush
  20355. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20356. },
  20357. 10: {
  20358. Ffc: *(*struct {
  20359. Fcode [0]Tush
  20360. Ffreq Tush
  20361. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(10)})),
  20362. Fdl: *(*struct {
  20363. Flen1 [0]Tush
  20364. Fdad Tush
  20365. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20366. },
  20367. 11: {
  20368. Ffc: *(*struct {
  20369. Fcode [0]Tush
  20370. Ffreq Tush
  20371. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(26)})),
  20372. Fdl: *(*struct {
  20373. Flen1 [0]Tush
  20374. Fdad Tush
  20375. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20376. },
  20377. 12: {
  20378. Ffc: *(*struct {
  20379. Fcode [0]Tush
  20380. Ffreq Tush
  20381. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(6)})),
  20382. Fdl: *(*struct {
  20383. Flen1 [0]Tush
  20384. Fdad Tush
  20385. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20386. },
  20387. 13: {
  20388. Ffc: *(*struct {
  20389. Fcode [0]Tush
  20390. Ffreq Tush
  20391. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(22)})),
  20392. Fdl: *(*struct {
  20393. Flen1 [0]Tush
  20394. Fdad Tush
  20395. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20396. },
  20397. 14: {
  20398. Ffc: *(*struct {
  20399. Fcode [0]Tush
  20400. Ffreq Tush
  20401. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(14)})),
  20402. Fdl: *(*struct {
  20403. Flen1 [0]Tush
  20404. Fdad Tush
  20405. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20406. },
  20407. 15: {
  20408. Ffc: *(*struct {
  20409. Fcode [0]Tush
  20410. Ffreq Tush
  20411. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(30)})),
  20412. Fdl: *(*struct {
  20413. Flen1 [0]Tush
  20414. Fdad Tush
  20415. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20416. },
  20417. 16: {
  20418. Ffc: *(*struct {
  20419. Fcode [0]Tush
  20420. Ffreq Tush
  20421. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(1)})),
  20422. Fdl: *(*struct {
  20423. Flen1 [0]Tush
  20424. Fdad Tush
  20425. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20426. },
  20427. 17: {
  20428. Ffc: *(*struct {
  20429. Fcode [0]Tush
  20430. Ffreq Tush
  20431. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(17)})),
  20432. Fdl: *(*struct {
  20433. Flen1 [0]Tush
  20434. Fdad Tush
  20435. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20436. },
  20437. 18: {
  20438. Ffc: *(*struct {
  20439. Fcode [0]Tush
  20440. Ffreq Tush
  20441. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(9)})),
  20442. Fdl: *(*struct {
  20443. Flen1 [0]Tush
  20444. Fdad Tush
  20445. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20446. },
  20447. 19: {
  20448. Ffc: *(*struct {
  20449. Fcode [0]Tush
  20450. Ffreq Tush
  20451. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(25)})),
  20452. Fdl: *(*struct {
  20453. Flen1 [0]Tush
  20454. Fdad Tush
  20455. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20456. },
  20457. 20: {
  20458. Ffc: *(*struct {
  20459. Fcode [0]Tush
  20460. Ffreq Tush
  20461. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20462. Fdl: *(*struct {
  20463. Flen1 [0]Tush
  20464. Fdad Tush
  20465. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20466. },
  20467. 21: {
  20468. Ffc: *(*struct {
  20469. Fcode [0]Tush
  20470. Ffreq Tush
  20471. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(21)})),
  20472. Fdl: *(*struct {
  20473. Flen1 [0]Tush
  20474. Fdad Tush
  20475. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20476. },
  20477. 22: {
  20478. Ffc: *(*struct {
  20479. Fcode [0]Tush
  20480. Ffreq Tush
  20481. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(13)})),
  20482. Fdl: *(*struct {
  20483. Flen1 [0]Tush
  20484. Fdad Tush
  20485. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20486. },
  20487. 23: {
  20488. Ffc: *(*struct {
  20489. Fcode [0]Tush
  20490. Ffreq Tush
  20491. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(29)})),
  20492. Fdl: *(*struct {
  20493. Flen1 [0]Tush
  20494. Fdad Tush
  20495. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20496. },
  20497. 24: {
  20498. Ffc: *(*struct {
  20499. Fcode [0]Tush
  20500. Ffreq Tush
  20501. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(3)})),
  20502. Fdl: *(*struct {
  20503. Flen1 [0]Tush
  20504. Fdad Tush
  20505. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20506. },
  20507. 25: {
  20508. Ffc: *(*struct {
  20509. Fcode [0]Tush
  20510. Ffreq Tush
  20511. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(19)})),
  20512. Fdl: *(*struct {
  20513. Flen1 [0]Tush
  20514. Fdad Tush
  20515. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20516. },
  20517. 26: {
  20518. Ffc: *(*struct {
  20519. Fcode [0]Tush
  20520. Ffreq Tush
  20521. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(11)})),
  20522. Fdl: *(*struct {
  20523. Flen1 [0]Tush
  20524. Fdad Tush
  20525. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20526. },
  20527. 27: {
  20528. Ffc: *(*struct {
  20529. Fcode [0]Tush
  20530. Ffreq Tush
  20531. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(27)})),
  20532. Fdl: *(*struct {
  20533. Flen1 [0]Tush
  20534. Fdad Tush
  20535. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20536. },
  20537. 28: {
  20538. Ffc: *(*struct {
  20539. Fcode [0]Tush
  20540. Ffreq Tush
  20541. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(7)})),
  20542. Fdl: *(*struct {
  20543. Flen1 [0]Tush
  20544. Fdad Tush
  20545. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20546. },
  20547. 29: {
  20548. Ffc: *(*struct {
  20549. Fcode [0]Tush
  20550. Ffreq Tush
  20551. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(23)})),
  20552. Fdl: *(*struct {
  20553. Flen1 [0]Tush
  20554. Fdad Tush
  20555. })(unsafe.Pointer(&struct{ f Tush }{f: uint16(5)})),
  20556. },
  20557. }
  20558. var _base_length = [29]int32{
  20559. 1: int32(1),
  20560. 2: int32(2),
  20561. 3: int32(3),
  20562. 4: int32(4),
  20563. 5: int32(5),
  20564. 6: int32(6),
  20565. 7: int32(7),
  20566. 8: int32(8),
  20567. 9: int32(10),
  20568. 10: int32(12),
  20569. 11: int32(14),
  20570. 12: int32(16),
  20571. 13: int32(20),
  20572. 14: int32(24),
  20573. 15: int32(28),
  20574. 16: int32(32),
  20575. 17: int32(40),
  20576. 18: int32(48),
  20577. 19: int32(56),
  20578. 20: int32(64),
  20579. 21: int32(80),
  20580. 22: int32(96),
  20581. 23: int32(112),
  20582. 24: int32(128),
  20583. 25: int32(160),
  20584. 26: int32(192),
  20585. 27: int32(224),
  20586. }
  20587. var _base_dist = [30]int32{
  20588. 1: int32(1),
  20589. 2: int32(2),
  20590. 3: int32(3),
  20591. 4: int32(4),
  20592. 5: int32(6),
  20593. 6: int32(8),
  20594. 7: int32(12),
  20595. 8: int32(16),
  20596. 9: int32(24),
  20597. 10: int32(32),
  20598. 11: int32(48),
  20599. 12: int32(64),
  20600. 13: int32(96),
  20601. 14: int32(128),
  20602. 15: int32(192),
  20603. 16: int32(256),
  20604. 17: int32(384),
  20605. 18: int32(512),
  20606. 19: int32(768),
  20607. 20: int32(1024),
  20608. 21: int32(1536),
  20609. 22: int32(2048),
  20610. 23: int32(3072),
  20611. 24: int32(4096),
  20612. 25: int32(6144),
  20613. 26: int32(8192),
  20614. 27: int32(12288),
  20615. 28: int32(16384),
  20616. 29: int32(24576),
  20617. }
  20618. var _static_l_desc = Tstatic_tree_desc{
  20619. Fstatic_tree: uintptr(unsafe.Pointer(&_static_ltree)),
  20620. Fextra_bits: uintptr(unsafe.Pointer(&_extra_lbits)),
  20621. Fextra_base: libc.Int32FromInt32(m_LITERALS) + libc.Int32FromInt32(1),
  20622. Felems: libc.Int32FromInt32(m_LITERALS) + libc.Int32FromInt32(1) + libc.Int32FromInt32(m_LENGTH_CODES),
  20623. Fmax_length: int32(m_MAX_BITS),
  20624. }
  20625. var _static_d_desc = Tstatic_tree_desc{
  20626. Fstatic_tree: uintptr(unsafe.Pointer(&_static_dtree)),
  20627. Fextra_bits: uintptr(unsafe.Pointer(&_extra_dbits)),
  20628. Felems: int32(m_D_CODES),
  20629. Fmax_length: int32(m_MAX_BITS),
  20630. }
  20631. var _static_bl_desc = Tstatic_tree_desc{
  20632. Fextra_bits: uintptr(unsafe.Pointer(&_extra_blbits)),
  20633. Felems: int32(m_BL_CODES),
  20634. Fmax_length: int32(m_MAX_BL_BITS),
  20635. }
  20636. /* ===========================================================================
  20637. * Output a short LSB first on the stream.
  20638. * IN assertion: there is enough room in pendingBuf.
  20639. */
  20640. // C documentation
  20641. //
  20642. // /* ===========================================================================
  20643. // * Reverse the first len bits of a code, using straightforward code (a faster
  20644. // * method would use a table)
  20645. // * IN assertion: 1 <= len <= 15
  20646. // */
  20647. func _bi_reverse(tls *libc.TLS, code uint32, len1 int32) (r uint32) {
  20648. var res uint32
  20649. var v1 int32
  20650. _, _ = res, v1
  20651. res = uint32(0)
  20652. for {
  20653. res |= code & uint32(1)
  20654. code >>= uint32(1)
  20655. res <<= uint32(1)
  20656. goto _2
  20657. _2:
  20658. ;
  20659. len1--
  20660. v1 = len1
  20661. if !(v1 > 0) {
  20662. break
  20663. }
  20664. }
  20665. return res >> int32(1)
  20666. }
  20667. // C documentation
  20668. //
  20669. // /* ===========================================================================
  20670. // * Flush the bit buffer, keeping at most 7 bits in it.
  20671. // */
  20672. func _bi_flush(tls *libc.TLS, s uintptr) {
  20673. var v1, v3, v5 Tulg
  20674. var v2, v4, v6, p7 uintptr
  20675. _, _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6, p7
  20676. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid == int32(16) {
  20677. v2 = s + 40
  20678. v1 = *(*Tulg)(unsafe.Pointer(v2))
  20679. *(*Tulg)(unsafe.Pointer(v2))++
  20680. *(*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))
  20681. v4 = s + 40
  20682. v3 = *(*Tulg)(unsafe.Pointer(v4))
  20683. *(*Tulg)(unsafe.Pointer(v4))++
  20684. *(*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))
  20685. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
  20686. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
  20687. } else {
  20688. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid >= int32(8) {
  20689. v6 = s + 40
  20690. v5 = *(*Tulg)(unsafe.Pointer(v6))
  20691. *(*Tulg)(unsafe.Pointer(v6))++
  20692. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf)
  20693. p7 = s + 5936
  20694. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) >> libc.Int32FromInt32(8))
  20695. *(*int32)(unsafe.Pointer(s + 5940)) -= int32(8)
  20696. }
  20697. }
  20698. }
  20699. // C documentation
  20700. //
  20701. // /* ===========================================================================
  20702. // * Flush the bit buffer and align the output on a byte boundary
  20703. // */
  20704. func _bi_windup(tls *libc.TLS, s uintptr) {
  20705. var v1, v3, v5 Tulg
  20706. var v2, v4, v6 uintptr
  20707. _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6
  20708. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > int32(8) {
  20709. v2 = s + 40
  20710. v1 = *(*Tulg)(unsafe.Pointer(v2))
  20711. *(*Tulg)(unsafe.Pointer(v2))++
  20712. *(*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))
  20713. v4 = s + 40
  20714. v3 = *(*Tulg)(unsafe.Pointer(v4))
  20715. *(*Tulg)(unsafe.Pointer(v4))++
  20716. *(*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))
  20717. } else {
  20718. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > 0 {
  20719. v6 = s + 40
  20720. v5 = *(*Tulg)(unsafe.Pointer(v6))
  20721. *(*Tulg)(unsafe.Pointer(v6))++
  20722. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v5))) = uint8((*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf)
  20723. }
  20724. }
  20725. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
  20726. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
  20727. }
  20728. // C documentation
  20729. //
  20730. // /* ===========================================================================
  20731. // * Generate the codes for a given tree and bit counts (which need not be
  20732. // * optimal).
  20733. // * IN assertion: the array bl_count contains the bit length statistics for
  20734. // * the given tree and the field len is set for all tree elements.
  20735. // * OUT assertion: the field code is set for all tree elements of non
  20736. // * zero code length.
  20737. // */
  20738. func _gen_codes(tls *libc.TLS, tree uintptr, max_code int32, bl_count uintptr) {
  20739. bp := tls.Alloc(32)
  20740. defer tls.Free(32)
  20741. var bits, len1, n int32
  20742. var code uint32
  20743. var v3 Tush
  20744. var v4 uintptr
  20745. var _ /* next_code at bp+0 */ [16]Tush
  20746. _, _, _, _, _, _ = bits, code, len1, n, v3, v4 /* next code value for each bit length */
  20747. code = uint32(0) /* code index */
  20748. /* The distribution counts are first used to generate the code values
  20749. * without bit reversal.
  20750. */
  20751. bits = int32(1)
  20752. for {
  20753. if !(bits <= int32(m_MAX_BITS)) {
  20754. break
  20755. }
  20756. code = (code + uint32(*(*Tushf)(unsafe.Pointer(bl_count + uintptr(bits-int32(1))*2)))) << int32(1)
  20757. (*(*[16]Tush)(unsafe.Pointer(bp)))[bits] = uint16(code)
  20758. goto _1
  20759. _1:
  20760. ;
  20761. bits++
  20762. }
  20763. /* Check that the bit counts in bl_count are consistent. The last code
  20764. * must be all ones.
  20765. */
  20766. n = 0
  20767. for {
  20768. if !(n <= max_code) {
  20769. break
  20770. }
  20771. len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)))
  20772. if len1 == 0 {
  20773. goto _2
  20774. }
  20775. /* Now reverse the bits */
  20776. v4 = bp + uintptr(len1)*2
  20777. v3 = *(*Tush)(unsafe.Pointer(v4))
  20778. *(*Tush)(unsafe.Pointer(v4))++
  20779. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4)) = uint16(_bi_reverse(tls, uint32(v3), len1))
  20780. goto _2
  20781. _2:
  20782. ;
  20783. n++
  20784. }
  20785. }
  20786. /* Send a code of the given tree. c and tree must not have side effects */
  20787. /* ===========================================================================
  20788. * Send a value on a given number of bits.
  20789. * IN assertion: length <= 16 and value fits in length bits.
  20790. */
  20791. /* the arguments must not have side effects */
  20792. // C documentation
  20793. //
  20794. // /* ===========================================================================
  20795. // * Initialize the various 'constant' tables.
  20796. // */
  20797. func _tr_static_init(tls *libc.TLS) {
  20798. }
  20799. /* ===========================================================================
  20800. * Generate the file trees.h describing the static trees.
  20801. */
  20802. // C documentation
  20803. //
  20804. // /* ===========================================================================
  20805. // * Initialize a new block.
  20806. // */
  20807. func _init_block(tls *libc.TLS, s uintptr) {
  20808. var n int32
  20809. var v4 Tulg
  20810. var v5 TuInt
  20811. _, _, _ = n, v4, v5 /* iterates over tree elements */
  20812. /* Initialize the trees. */
  20813. n = 0
  20814. for {
  20815. if !(n < libc.Int32FromInt32(m_LITERALS)+libc.Int32FromInt32(1)+libc.Int32FromInt32(m_LENGTH_CODES)) {
  20816. break
  20817. }
  20818. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4)) = uint16(0)
  20819. goto _1
  20820. _1:
  20821. ;
  20822. n++
  20823. }
  20824. n = 0
  20825. for {
  20826. if !(n < int32(m_D_CODES)) {
  20827. break
  20828. }
  20829. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(n)*4)) = uint16(0)
  20830. goto _2
  20831. _2:
  20832. ;
  20833. n++
  20834. }
  20835. n = 0
  20836. for {
  20837. if !(n < int32(m_BL_CODES)) {
  20838. break
  20839. }
  20840. *(*Tush)(unsafe.Pointer(s + 2748 + uintptr(n)*4)) = uint16(0)
  20841. goto _3
  20842. _3:
  20843. ;
  20844. n++
  20845. }
  20846. *(*Tush)(unsafe.Pointer(s + 212 + 256*4)) = uint16(1)
  20847. v4 = libc.Uint64FromInt64(0)
  20848. (*Tdeflate_state)(unsafe.Pointer(s)).Fstatic_len = v4
  20849. (*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len = v4
  20850. v5 = libc.Uint32FromInt32(0)
  20851. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches = v5
  20852. (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next = v5
  20853. }
  20854. // C documentation
  20855. //
  20856. // /* ===========================================================================
  20857. // * Initialize the tree data structures for a new zlib stream.
  20858. // */
  20859. func x__tr_init(tls *libc.TLS, s uintptr) {
  20860. _tr_static_init(tls)
  20861. (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fdyn_tree = s + 212
  20862. (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_l_desc))
  20863. (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fdyn_tree = s + 2504
  20864. (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_d_desc))
  20865. (*Tdeflate_state)(unsafe.Pointer(s)).Fbl_desc.Fdyn_tree = s + 2748
  20866. (*Tdeflate_state)(unsafe.Pointer(s)).Fbl_desc.Fstat_desc = uintptr(unsafe.Pointer(&_static_bl_desc))
  20867. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_buf = uint16(0)
  20868. (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid = 0
  20869. /* Initialize the first block of the first file: */
  20870. _init_block(tls, s)
  20871. }
  20872. /* Index within the heap array of least frequent node in the Huffman tree */
  20873. /* ===========================================================================
  20874. * Remove the smallest element from the heap and recreate the heap with
  20875. * one less element. Updates heap and heap_len.
  20876. */
  20877. /* ===========================================================================
  20878. * Compares to subtrees, using the tree depth as tie breaker when
  20879. * the subtrees have equal frequency. This minimizes the worst case length.
  20880. */
  20881. // C documentation
  20882. //
  20883. // /* ===========================================================================
  20884. // * Restore the heap property by moving down the tree starting at node k,
  20885. // * exchanging a node with the smallest of its two sons if necessary, stopping
  20886. // * when the heap property is re-established (each father smaller than its
  20887. // * two sons).
  20888. // */
  20889. func _pqdownheap(tls *libc.TLS, s uintptr, tree uintptr, k int32) {
  20890. var j, v int32
  20891. _, _ = j, v
  20892. v = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4))
  20893. j = k << int32(1) /* left son of k */
  20894. for j <= (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len {
  20895. /* Set j to the smallest of the two sons: */
  20896. 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))))))) {
  20897. j++
  20898. }
  20899. /* Exit if v is smaller than both sons */
  20900. 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)))))) {
  20901. break
  20902. }
  20903. /* Exchange v with the smallest son */
  20904. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4)) = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(j)*4))
  20905. k = j
  20906. /* And continue down the tree, setting j to the left son of k */
  20907. j <<= int32(1)
  20908. }
  20909. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(k)*4)) = v
  20910. }
  20911. // C documentation
  20912. //
  20913. // /* ===========================================================================
  20914. // * Compute the optimal bit lengths for a tree and update the total bit length
  20915. // * for the current block.
  20916. // * IN assertion: the fields freq and dad are set, heap[heap_max] and
  20917. // * above are the tree nodes sorted by increasing frequency.
  20918. // * OUT assertions: the field len is set to the optimal bit length, the
  20919. // * array bl_count contains the frequencies for each bit length.
  20920. // * The length opt_len is updated; static_len is also updated if stree is
  20921. // * not null.
  20922. // */
  20923. func _gen_bitlen(tls *libc.TLS, s uintptr, desc uintptr) {
  20924. var base, bits, h, m, max_code, max_length, n, overflow, xbits, v5 int32
  20925. var extra, stree, tree, p3 uintptr
  20926. var f Tush
  20927. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, bits, extra, f, h, m, max_code, max_length, n, overflow, stree, tree, xbits, v5, p3
  20928. tree = (*Ttree_desc)(unsafe.Pointer(desc)).Fdyn_tree
  20929. max_code = (*Ttree_desc)(unsafe.Pointer(desc)).Fmax_code
  20930. stree = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fstatic_tree
  20931. extra = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fextra_bits
  20932. base = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fextra_base
  20933. max_length = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fmax_length /* frequency */
  20934. overflow = 0 /* number of elements with bit length too large */
  20935. bits = 0
  20936. for {
  20937. if !(bits <= int32(m_MAX_BITS)) {
  20938. break
  20939. }
  20940. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2)) = uint16(0)
  20941. goto _1
  20942. _1:
  20943. ;
  20944. bits++
  20945. }
  20946. /* In a first pass, compute the optimal bit lengths (which may
  20947. * overflow in the case of the bit length tree).
  20948. */
  20949. *(*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 */
  20950. h = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_max + int32(1)
  20951. for {
  20952. if !(h < libc.Int32FromInt32(2)*(libc.Int32FromInt32(m_LITERALS)+libc.Int32FromInt32(1)+libc.Int32FromInt32(m_LENGTH_CODES))+libc.Int32FromInt32(1)) {
  20953. break
  20954. }
  20955. n = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(h)*4))
  20956. bits = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)))*4 + 2))) + int32(1)
  20957. if bits > max_length {
  20958. bits = max_length
  20959. overflow++
  20960. }
  20961. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = libc.Uint16FromInt32(bits)
  20962. /* We overwrite tree[n].Dad which is no longer needed */
  20963. if n > max_code {
  20964. goto _2
  20965. } /* not a leaf node */
  20966. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))++
  20967. xbits = 0
  20968. if n >= base {
  20969. xbits = *(*Tintf)(unsafe.Pointer(extra + uintptr(n-base)*4))
  20970. }
  20971. f = *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4))
  20972. *(*Tulg)(unsafe.Pointer(s + 5912)) += uint64(f) * uint64(libc.Uint32FromInt32(bits+xbits))
  20973. if stree != 0 {
  20974. *(*Tulg)(unsafe.Pointer(s + 5920)) += uint64(f) * uint64(libc.Uint32FromInt32(libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(stree + uintptr(n)*4 + 2)))+xbits))
  20975. }
  20976. goto _2
  20977. _2:
  20978. ;
  20979. h++
  20980. }
  20981. if overflow == 0 {
  20982. return
  20983. }
  20984. /* This happens for example on obj2 and pic of the Calgary corpus */
  20985. /* Find the first bit length which could increase: */
  20986. for cond := true; cond; cond = overflow > 0 {
  20987. bits = max_length - int32(1)
  20988. for libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))) == 0 {
  20989. bits--
  20990. }
  20991. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2))-- /* move one leaf down the tree */
  20992. p3 = s + 2976 + uintptr(bits+int32(1))*2
  20993. *(*Tush)(unsafe.Pointer(p3)) = Tush(int32(*(*Tush)(unsafe.Pointer(p3))) + libc.Int32FromInt32(2)) /* move one overflow item as its brother */
  20994. *(*Tush)(unsafe.Pointer(s + 2976 + uintptr(max_length)*2))--
  20995. /* The brother of the overflow item also moves one step up,
  20996. * but this does not affect bl_count[max_length]
  20997. */
  20998. overflow -= int32(2)
  20999. }
  21000. /* Now recompute all bit lengths, scanning in increasing frequency.
  21001. * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
  21002. * lengths instead of fixing only the wrong ones. This idea is taken
  21003. * from 'ar' written by Haruhiko Okumura.)
  21004. */
  21005. bits = max_length
  21006. for {
  21007. if !(bits != 0) {
  21008. break
  21009. }
  21010. n = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2976 + uintptr(bits)*2)))
  21011. for n != 0 {
  21012. h--
  21013. v5 = h
  21014. m = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v5)*4))
  21015. if m > max_code {
  21016. continue
  21017. }
  21018. if uint32(*(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2))) != libc.Uint32FromInt32(bits) {
  21019. *(*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)))
  21020. *(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)) = libc.Uint16FromInt32(bits)
  21021. }
  21022. n--
  21023. }
  21024. goto _4
  21025. _4:
  21026. ;
  21027. bits--
  21028. }
  21029. }
  21030. // C documentation
  21031. //
  21032. // /* ===========================================================================
  21033. // * Construct one Huffman tree and assigns the code bit strings and lengths.
  21034. // * Update the total bit length for the current block.
  21035. // * IN assertion: the field freq is set for all tree elements.
  21036. // * OUT assertions: the fields len and code are set to the optimal bit length
  21037. // * and corresponding code. The length opt_len is updated; static_len is
  21038. // * also updated if stree is not null. The field max_code is set.
  21039. // */
  21040. func _build_tree(tls *libc.TLS, s uintptr, desc uintptr) {
  21041. var elems, m, max_code, n, node, v11, v13, v15, v17, v19, v2, v20, v4, v5, v6, v7, v8 int32
  21042. var stree, tree, v12, v14, v16, v21, v3, v9 uintptr
  21043. var v18 Tush
  21044. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  21045. tree = (*Ttree_desc)(unsafe.Pointer(desc)).Fdyn_tree
  21046. stree = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Fstatic_tree
  21047. elems = (*Tstatic_tree_desc)(unsafe.Pointer((*Ttree_desc)(unsafe.Pointer(desc)).Fstat_desc)).Felems /* iterate over heap elements */
  21048. max_code = -int32(1) /* new node being created */
  21049. /* Construct the initial heap, with least frequent element in
  21050. * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n + 1].
  21051. * heap[0] is not used.
  21052. */
  21053. (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len = 0 /* new node being created */
  21054. /* Construct the initial heap, with least frequent element in
  21055. * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n + 1].
  21056. * heap[0] is not used.
  21057. */
  21058. (*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)
  21059. n = 0
  21060. for {
  21061. if !(n < elems) {
  21062. break
  21063. }
  21064. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n)*4))) != 0 {
  21065. v3 = s + 5300
  21066. *(*int32)(unsafe.Pointer(v3))++
  21067. v2 = *(*int32)(unsafe.Pointer(v3))
  21068. v4 = n
  21069. max_code = v4
  21070. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v2)*4)) = v4
  21071. *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n))) = uint8(0)
  21072. } else {
  21073. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = uint16(0)
  21074. }
  21075. goto _1
  21076. _1:
  21077. ;
  21078. n++
  21079. }
  21080. /* The pkzip format requires that at least one distance code exists,
  21081. * and that at least one bit should be sent even if there is only one
  21082. * possible code. So to avoid special checks later on we force at least
  21083. * two codes of non zero frequency.
  21084. */
  21085. for (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len < int32(2) {
  21086. if max_code < int32(2) {
  21087. max_code++
  21088. v7 = max_code
  21089. v6 = v7
  21090. } else {
  21091. v6 = 0
  21092. }
  21093. v5 = v6
  21094. v9 = s + 5300
  21095. *(*int32)(unsafe.Pointer(v9))++
  21096. v8 = *(*int32)(unsafe.Pointer(v9))
  21097. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v8)*4)) = v5
  21098. node = v5
  21099. *(*Tush)(unsafe.Pointer(tree + uintptr(node)*4)) = uint16(1)
  21100. *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(node))) = uint8(0)
  21101. (*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len--
  21102. if stree != 0 {
  21103. *(*Tulg)(unsafe.Pointer(s + 5920)) -= uint64(*(*Tush)(unsafe.Pointer(stree + uintptr(node)*4 + 2)))
  21104. }
  21105. /* node is 0 or 1 so it does not have extra bits */
  21106. }
  21107. (*Ttree_desc)(unsafe.Pointer(desc)).Fmax_code = max_code
  21108. /* The elements heap[heap_len/2 + 1 .. heap_len] are leaves of the tree,
  21109. * establish sub-heaps of increasing lengths:
  21110. */
  21111. n = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len / int32(2)
  21112. for {
  21113. if !(n >= int32(1)) {
  21114. break
  21115. }
  21116. _pqdownheap(tls, s, tree, n)
  21117. goto _10
  21118. _10:
  21119. ;
  21120. n--
  21121. }
  21122. /* Construct the Huffman tree by repeatedly combining the least two
  21123. * frequent nodes.
  21124. */
  21125. node = elems /* next internal node of the tree */
  21126. for cond := true; cond; cond = (*Tdeflate_state)(unsafe.Pointer(s)).Fheap_len >= int32(2) {
  21127. n = *(*int32)(unsafe.Pointer(s + 3008 + 1*4))
  21128. v12 = s + 5300
  21129. v11 = *(*int32)(unsafe.Pointer(v12))
  21130. *(*int32)(unsafe.Pointer(v12))--
  21131. *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) = *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v11)*4))
  21132. _pqdownheap(tls, s, tree, int32(m_SMALLEST)) /* n = node of least frequency */
  21133. m = *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) /* m = node of next least frequency */
  21134. v14 = s + 5304
  21135. *(*int32)(unsafe.Pointer(v14))--
  21136. v13 = *(*int32)(unsafe.Pointer(v14))
  21137. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v13)*4)) = n /* keep the nodes sorted by frequency */
  21138. v16 = s + 5304
  21139. *(*int32)(unsafe.Pointer(v16))--
  21140. v15 = *(*int32)(unsafe.Pointer(v16))
  21141. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v15)*4)) = m
  21142. /* Create a new node father of n and m */
  21143. *(*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))))
  21144. if libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n)))) >= libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(m)))) {
  21145. v17 = libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(n))))
  21146. } else {
  21147. v17 = libc.Int32FromUint8(*(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(m))))
  21148. }
  21149. *(*Tuch)(unsafe.Pointer(s + 5308 + uintptr(node))) = libc.Uint8FromInt32(v17 + libc.Int32FromInt32(1))
  21150. v18 = libc.Uint16FromInt32(node)
  21151. *(*Tush)(unsafe.Pointer(tree + uintptr(m)*4 + 2)) = v18
  21152. *(*Tush)(unsafe.Pointer(tree + uintptr(n)*4 + 2)) = v18
  21153. /* and insert the new node in the heap */
  21154. v19 = node
  21155. node++
  21156. *(*int32)(unsafe.Pointer(s + 3008 + 1*4)) = v19
  21157. _pqdownheap(tls, s, tree, int32(m_SMALLEST))
  21158. }
  21159. v21 = s + 5304
  21160. *(*int32)(unsafe.Pointer(v21))--
  21161. v20 = *(*int32)(unsafe.Pointer(v21))
  21162. *(*int32)(unsafe.Pointer(s + 3008 + uintptr(v20)*4)) = *(*int32)(unsafe.Pointer(s + 3008 + 1*4))
  21163. /* At this point, the fields freq and dad are set. We can now
  21164. * generate the bit lengths.
  21165. */
  21166. _gen_bitlen(tls, s, desc)
  21167. /* The field len is now set, we can generate the bit codes */
  21168. _gen_codes(tls, tree, max_code, s+2976)
  21169. }
  21170. // C documentation
  21171. //
  21172. // /* ===========================================================================
  21173. // * Scan a literal or distance tree to determine the frequencies of the codes
  21174. // * in the bit length tree.
  21175. // */
  21176. func _scan_tree(tls *libc.TLS, s uintptr, tree uintptr, max_code int32) {
  21177. var count, curlen, max_count, min_count, n, nextlen, prevlen, v2 int32
  21178. var p3 uintptr
  21179. _, _, _, _, _, _, _, _, _ = count, curlen, max_count, min_count, n, nextlen, prevlen, v2, p3 /* iterates over all tree elements */
  21180. prevlen = -int32(1) /* length of current code */
  21181. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + 2))) /* length of next code */
  21182. count = 0 /* repeat count of the current code */
  21183. max_count = int32(7) /* max repeat count */
  21184. min_count = int32(4) /* min repeat count */
  21185. if nextlen == 0 {
  21186. max_count = int32(138)
  21187. min_count = libc.Int32FromInt32(3)
  21188. }
  21189. *(*Tush)(unsafe.Pointer(tree + uintptr(max_code+int32(1))*4 + 2)) = libc.Uint16FromInt32(0xffff) /* guard */
  21190. n = 0
  21191. for {
  21192. if !(n <= max_code) {
  21193. break
  21194. }
  21195. curlen = nextlen
  21196. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n+int32(1))*4 + 2)))
  21197. count++
  21198. v2 = count
  21199. if v2 < max_count && curlen == nextlen {
  21200. goto _1
  21201. } else {
  21202. if count < min_count {
  21203. p3 = s + 2748 + uintptr(curlen)*4
  21204. *(*Tush)(unsafe.Pointer(p3)) = Tush(int32(*(*Tush)(unsafe.Pointer(p3))) + count)
  21205. } else {
  21206. if curlen != 0 {
  21207. if curlen != prevlen {
  21208. *(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4))++
  21209. }
  21210. *(*Tush)(unsafe.Pointer(s + 2748 + 16*4))++
  21211. } else {
  21212. if count <= int32(10) {
  21213. *(*Tush)(unsafe.Pointer(s + 2748 + 17*4))++
  21214. } else {
  21215. *(*Tush)(unsafe.Pointer(s + 2748 + 18*4))++
  21216. }
  21217. }
  21218. }
  21219. }
  21220. count = 0
  21221. prevlen = curlen
  21222. if nextlen == 0 {
  21223. max_count = int32(138)
  21224. min_count = libc.Int32FromInt32(3)
  21225. } else {
  21226. if curlen == nextlen {
  21227. max_count = int32(6)
  21228. min_count = libc.Int32FromInt32(3)
  21229. } else {
  21230. max_count = int32(7)
  21231. min_count = libc.Int32FromInt32(4)
  21232. }
  21233. }
  21234. goto _1
  21235. _1:
  21236. ;
  21237. n++
  21238. }
  21239. }
  21240. // C documentation
  21241. //
  21242. // /* ===========================================================================
  21243. // * Send a literal or distance tree in compressed form, using the codes in
  21244. // * bl_tree.
  21245. // */
  21246. func _send_tree(tls *libc.TLS, s uintptr, tree uintptr, max_code int32) {
  21247. 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
  21248. var v12, v14, v18, v20, v24, v26, v30, v32, v36, v38, v42, v44, v48, v50, v6, v8 Tulg
  21249. 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
  21250. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
  21251. prevlen = -int32(1) /* length of current code */
  21252. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + 2))) /* length of next code */
  21253. count = 0 /* repeat count of the current code */
  21254. max_count = int32(7) /* max repeat count */
  21255. min_count = int32(4) /* min repeat count */
  21256. /* tree[max_code + 1].Len = -1; */ /* guard already set */
  21257. if nextlen == 0 {
  21258. max_count = int32(138)
  21259. min_count = libc.Int32FromInt32(3)
  21260. }
  21261. n = 0
  21262. for {
  21263. if !(n <= max_code) {
  21264. break
  21265. }
  21266. curlen = nextlen
  21267. nextlen = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(tree + uintptr(n+int32(1))*4 + 2)))
  21268. count++
  21269. v2 = count
  21270. if v2 < max_count && curlen == nextlen {
  21271. goto _1
  21272. } else {
  21273. if count < min_count {
  21274. for {
  21275. len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4 + 2)))
  21276. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21277. val = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))
  21278. p5 = s + 5936
  21279. *(*Tush)(unsafe.Pointer(p5)) = Tush(int32(*(*Tush)(unsafe.Pointer(p5))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21280. v7 = s + 40
  21281. v6 = *(*Tulg)(unsafe.Pointer(v7))
  21282. *(*Tulg)(unsafe.Pointer(v7))++
  21283. *(*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))
  21284. v9 = s + 40
  21285. v8 = *(*Tulg)(unsafe.Pointer(v9))
  21286. *(*Tulg)(unsafe.Pointer(v9))++
  21287. *(*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))
  21288. (*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))
  21289. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21290. } else {
  21291. p10 = s + 5936
  21292. *(*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)
  21293. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21294. }
  21295. goto _4
  21296. _4:
  21297. ;
  21298. count--
  21299. v3 = count
  21300. if !(v3 != 0) {
  21301. break
  21302. }
  21303. }
  21304. } else {
  21305. if curlen != 0 {
  21306. if curlen != prevlen {
  21307. len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4 + 2)))
  21308. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  21309. val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(curlen)*4)))
  21310. p11 = s + 5936
  21311. *(*Tush)(unsafe.Pointer(p11)) = Tush(int32(*(*Tush)(unsafe.Pointer(p11))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21312. v13 = s + 40
  21313. v12 = *(*Tulg)(unsafe.Pointer(v13))
  21314. *(*Tulg)(unsafe.Pointer(v13))++
  21315. *(*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))
  21316. v15 = s + 40
  21317. v14 = *(*Tulg)(unsafe.Pointer(v15))
  21318. *(*Tulg)(unsafe.Pointer(v15))++
  21319. *(*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))
  21320. (*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))
  21321. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  21322. } else {
  21323. p16 = s + 5936
  21324. *(*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)
  21325. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  21326. }
  21327. count--
  21328. }
  21329. len2 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 16*4 + 2)))
  21330. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
  21331. val2 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 16*4)))
  21332. p17 = s + 5936
  21333. *(*Tush)(unsafe.Pointer(p17)) = Tush(int32(*(*Tush)(unsafe.Pointer(p17))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21334. v19 = s + 40
  21335. v18 = *(*Tulg)(unsafe.Pointer(v19))
  21336. *(*Tulg)(unsafe.Pointer(v19))++
  21337. *(*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))
  21338. v21 = s + 40
  21339. v20 = *(*Tulg)(unsafe.Pointer(v21))
  21340. *(*Tulg)(unsafe.Pointer(v21))++
  21341. *(*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))
  21342. (*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))
  21343. *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
  21344. } else {
  21345. p22 = s + 5936
  21346. *(*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)
  21347. *(*int32)(unsafe.Pointer(s + 5940)) += len2
  21348. }
  21349. len3 = int32(2)
  21350. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
  21351. val3 = count - int32(3)
  21352. p23 = s + 5936
  21353. *(*Tush)(unsafe.Pointer(p23)) = Tush(int32(*(*Tush)(unsafe.Pointer(p23))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21354. v25 = s + 40
  21355. v24 = *(*Tulg)(unsafe.Pointer(v25))
  21356. *(*Tulg)(unsafe.Pointer(v25))++
  21357. *(*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))
  21358. v27 = s + 40
  21359. v26 = *(*Tulg)(unsafe.Pointer(v27))
  21360. *(*Tulg)(unsafe.Pointer(v27))++
  21361. *(*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))
  21362. (*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))
  21363. *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
  21364. } else {
  21365. p28 = s + 5936
  21366. *(*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)
  21367. *(*int32)(unsafe.Pointer(s + 5940)) += len3
  21368. }
  21369. } else {
  21370. if count <= int32(10) {
  21371. len4 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 17*4 + 2)))
  21372. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len4 {
  21373. val4 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 17*4)))
  21374. p29 = s + 5936
  21375. *(*Tush)(unsafe.Pointer(p29)) = Tush(int32(*(*Tush)(unsafe.Pointer(p29))) | libc.Int32FromUint16(libc.Uint16FromInt32(val4))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21376. v31 = s + 40
  21377. v30 = *(*Tulg)(unsafe.Pointer(v31))
  21378. *(*Tulg)(unsafe.Pointer(v31))++
  21379. *(*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))
  21380. v33 = s + 40
  21381. v32 = *(*Tulg)(unsafe.Pointer(v33))
  21382. *(*Tulg)(unsafe.Pointer(v33))++
  21383. *(*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))
  21384. (*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))
  21385. *(*int32)(unsafe.Pointer(s + 5940)) += len4 - int32(m_Buf_size)
  21386. } else {
  21387. p34 = s + 5936
  21388. *(*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)
  21389. *(*int32)(unsafe.Pointer(s + 5940)) += len4
  21390. }
  21391. len5 = int32(3)
  21392. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len5 {
  21393. val5 = count - int32(3)
  21394. p35 = s + 5936
  21395. *(*Tush)(unsafe.Pointer(p35)) = Tush(int32(*(*Tush)(unsafe.Pointer(p35))) | libc.Int32FromUint16(libc.Uint16FromInt32(val5))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21396. v37 = s + 40
  21397. v36 = *(*Tulg)(unsafe.Pointer(v37))
  21398. *(*Tulg)(unsafe.Pointer(v37))++
  21399. *(*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))
  21400. v39 = s + 40
  21401. v38 = *(*Tulg)(unsafe.Pointer(v39))
  21402. *(*Tulg)(unsafe.Pointer(v39))++
  21403. *(*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))
  21404. (*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))
  21405. *(*int32)(unsafe.Pointer(s + 5940)) += len5 - int32(m_Buf_size)
  21406. } else {
  21407. p40 = s + 5936
  21408. *(*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)
  21409. *(*int32)(unsafe.Pointer(s + 5940)) += len5
  21410. }
  21411. } else {
  21412. len6 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 18*4 + 2)))
  21413. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len6 {
  21414. val6 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + 18*4)))
  21415. p41 = s + 5936
  21416. *(*Tush)(unsafe.Pointer(p41)) = Tush(int32(*(*Tush)(unsafe.Pointer(p41))) | libc.Int32FromUint16(libc.Uint16FromInt32(val6))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21417. v43 = s + 40
  21418. v42 = *(*Tulg)(unsafe.Pointer(v43))
  21419. *(*Tulg)(unsafe.Pointer(v43))++
  21420. *(*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))
  21421. v45 = s + 40
  21422. v44 = *(*Tulg)(unsafe.Pointer(v45))
  21423. *(*Tulg)(unsafe.Pointer(v45))++
  21424. *(*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))
  21425. (*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))
  21426. *(*int32)(unsafe.Pointer(s + 5940)) += len6 - int32(m_Buf_size)
  21427. } else {
  21428. p46 = s + 5936
  21429. *(*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)
  21430. *(*int32)(unsafe.Pointer(s + 5940)) += len6
  21431. }
  21432. len7 = int32(7)
  21433. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len7 {
  21434. val7 = count - int32(11)
  21435. p47 = s + 5936
  21436. *(*Tush)(unsafe.Pointer(p47)) = Tush(int32(*(*Tush)(unsafe.Pointer(p47))) | libc.Int32FromUint16(libc.Uint16FromInt32(val7))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21437. v49 = s + 40
  21438. v48 = *(*Tulg)(unsafe.Pointer(v49))
  21439. *(*Tulg)(unsafe.Pointer(v49))++
  21440. *(*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))
  21441. v51 = s + 40
  21442. v50 = *(*Tulg)(unsafe.Pointer(v51))
  21443. *(*Tulg)(unsafe.Pointer(v51))++
  21444. *(*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))
  21445. (*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))
  21446. *(*int32)(unsafe.Pointer(s + 5940)) += len7 - int32(m_Buf_size)
  21447. } else {
  21448. p52 = s + 5936
  21449. *(*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)
  21450. *(*int32)(unsafe.Pointer(s + 5940)) += len7
  21451. }
  21452. }
  21453. }
  21454. }
  21455. }
  21456. count = 0
  21457. prevlen = curlen
  21458. if nextlen == 0 {
  21459. max_count = int32(138)
  21460. min_count = libc.Int32FromInt32(3)
  21461. } else {
  21462. if curlen == nextlen {
  21463. max_count = int32(6)
  21464. min_count = libc.Int32FromInt32(3)
  21465. } else {
  21466. max_count = int32(7)
  21467. min_count = libc.Int32FromInt32(4)
  21468. }
  21469. }
  21470. goto _1
  21471. _1:
  21472. ;
  21473. n++
  21474. }
  21475. }
  21476. // C documentation
  21477. //
  21478. // /* ===========================================================================
  21479. // * Construct the Huffman tree for the bit lengths and return the index in
  21480. // * bl_order of the last bit length code to send.
  21481. // */
  21482. func _build_bl_tree(tls *libc.TLS, s uintptr) (r int32) {
  21483. var max_blindex int32
  21484. _ = max_blindex /* index of last bit length code of non zero freq */
  21485. /* Determine the bit length frequencies for literal and distance trees */
  21486. _scan_tree(tls, s, s+212, (*Tdeflate_state)(unsafe.Pointer(s)).Fl_desc.Fmax_code)
  21487. _scan_tree(tls, s, s+2504, (*Tdeflate_state)(unsafe.Pointer(s)).Fd_desc.Fmax_code)
  21488. /* Build the bit length tree: */
  21489. _build_tree(tls, s, s+2952)
  21490. /* opt_len now includes the length of the tree representations, except the
  21491. * lengths of the bit lengths codes and the 5 + 5 + 4 bits for the counts.
  21492. */
  21493. /* Determine the number of bit length codes to send. The pkzip format
  21494. * requires that at least 4 bit length codes be sent. (appnote.txt says
  21495. * 3 but the actual value used is 4.)
  21496. */
  21497. max_blindex = libc.Int32FromInt32(m_BL_CODES) - libc.Int32FromInt32(1)
  21498. for {
  21499. if !(max_blindex >= int32(3)) {
  21500. break
  21501. }
  21502. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(_bl_order[max_blindex])*4 + 2))) != 0 {
  21503. break
  21504. }
  21505. goto _1
  21506. _1:
  21507. ;
  21508. max_blindex--
  21509. }
  21510. /* Update opt_len to include the bit length tree and counts */
  21511. *(*Tulg)(unsafe.Pointer(s + 5912)) += uint64(3)*(libc.Uint64FromInt32(max_blindex)+uint64(1)) + uint64(5) + uint64(5) + uint64(4)
  21512. return max_blindex
  21513. }
  21514. // C documentation
  21515. //
  21516. // /* ===========================================================================
  21517. // * Send the header for a block using dynamic Huffman trees: the counts, the
  21518. // * lengths of the bit length codes, the literal tree and the distance tree.
  21519. // * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
  21520. // */
  21521. func _send_all_trees(tls *libc.TLS, s uintptr, lcodes int32, dcodes int32, blcodes int32) {
  21522. var len1, len11, len2, len3, rank, val, val1, val2, val3 int32
  21523. var v10, v14, v16, v2, v21, v23, v4, v8 Tulg
  21524. var v11, v15, v17, v22, v24, v3, v5, v9, p1, p12, p13, p18, p20, p25, p6, p7 uintptr
  21525. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
  21526. len1 = int32(5)
  21527. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21528. val = lcodes - int32(257)
  21529. p1 = s + 5936
  21530. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21531. v3 = s + 40
  21532. v2 = *(*Tulg)(unsafe.Pointer(v3))
  21533. *(*Tulg)(unsafe.Pointer(v3))++
  21534. *(*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))
  21535. v5 = s + 40
  21536. v4 = *(*Tulg)(unsafe.Pointer(v5))
  21537. *(*Tulg)(unsafe.Pointer(v5))++
  21538. *(*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))
  21539. (*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))
  21540. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21541. } else {
  21542. p6 = s + 5936
  21543. *(*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)
  21544. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21545. } /* not +255 as stated in appnote.txt */
  21546. len11 = int32(5)
  21547. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  21548. val1 = dcodes - int32(1)
  21549. p7 = s + 5936
  21550. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21551. v9 = s + 40
  21552. v8 = *(*Tulg)(unsafe.Pointer(v9))
  21553. *(*Tulg)(unsafe.Pointer(v9))++
  21554. *(*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))
  21555. v11 = s + 40
  21556. v10 = *(*Tulg)(unsafe.Pointer(v11))
  21557. *(*Tulg)(unsafe.Pointer(v11))++
  21558. *(*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))
  21559. (*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))
  21560. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  21561. } else {
  21562. p12 = s + 5936
  21563. *(*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)
  21564. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  21565. }
  21566. len2 = int32(4)
  21567. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
  21568. val2 = blcodes - int32(4)
  21569. p13 = s + 5936
  21570. *(*Tush)(unsafe.Pointer(p13)) = Tush(int32(*(*Tush)(unsafe.Pointer(p13))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21571. v15 = s + 40
  21572. v14 = *(*Tulg)(unsafe.Pointer(v15))
  21573. *(*Tulg)(unsafe.Pointer(v15))++
  21574. *(*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))
  21575. v17 = s + 40
  21576. v16 = *(*Tulg)(unsafe.Pointer(v17))
  21577. *(*Tulg)(unsafe.Pointer(v17))++
  21578. *(*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))
  21579. (*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))
  21580. *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
  21581. } else {
  21582. p18 = s + 5936
  21583. *(*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)
  21584. *(*int32)(unsafe.Pointer(s + 5940)) += len2
  21585. } /* not -3 as stated in appnote.txt */
  21586. rank = 0
  21587. for {
  21588. if !(rank < blcodes) {
  21589. break
  21590. }
  21591. len3 = int32(3)
  21592. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
  21593. val3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 2748 + uintptr(_bl_order[rank])*4 + 2)))
  21594. p20 = s + 5936
  21595. *(*Tush)(unsafe.Pointer(p20)) = Tush(int32(*(*Tush)(unsafe.Pointer(p20))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21596. v22 = s + 40
  21597. v21 = *(*Tulg)(unsafe.Pointer(v22))
  21598. *(*Tulg)(unsafe.Pointer(v22))++
  21599. *(*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))
  21600. v24 = s + 40
  21601. v23 = *(*Tulg)(unsafe.Pointer(v24))
  21602. *(*Tulg)(unsafe.Pointer(v24))++
  21603. *(*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))
  21604. (*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))
  21605. *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
  21606. } else {
  21607. p25 = s + 5936
  21608. *(*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)
  21609. *(*int32)(unsafe.Pointer(s + 5940)) += len3
  21610. }
  21611. goto _19
  21612. _19:
  21613. ;
  21614. rank++
  21615. }
  21616. _send_tree(tls, s, s+212, lcodes-int32(1)) /* literal tree */
  21617. _send_tree(tls, s, s+2504, dcodes-int32(1)) /* distance tree */
  21618. }
  21619. // C documentation
  21620. //
  21621. // /* ===========================================================================
  21622. // * Send a stored block
  21623. // */
  21624. func x__tr_stored_block(tls *libc.TLS, s uintptr, buf uintptr, stored_len Tulg, last int32) {
  21625. var len1, val int32
  21626. var v10, v12, v14, v3, v5, v8, p1, p6 uintptr
  21627. var v11, v13, v2, v4, v7, v9 Tulg
  21628. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, val, v10, v11, v12, v13, v14, v2, v3, v4, v5, v7, v8, v9, p1, p6
  21629. len1 = int32(3)
  21630. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21631. val = libc.Int32FromInt32(m_STORED_BLOCK)<<libc.Int32FromInt32(1) + last
  21632. p1 = s + 5936
  21633. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21634. v3 = s + 40
  21635. v2 = *(*Tulg)(unsafe.Pointer(v3))
  21636. *(*Tulg)(unsafe.Pointer(v3))++
  21637. *(*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))
  21638. v5 = s + 40
  21639. v4 = *(*Tulg)(unsafe.Pointer(v5))
  21640. *(*Tulg)(unsafe.Pointer(v5))++
  21641. *(*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))
  21642. (*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))
  21643. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21644. } else {
  21645. p6 = s + 5936
  21646. *(*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)
  21647. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21648. } /* send block type */
  21649. _bi_windup(tls, s) /* align on byte boundary */
  21650. v8 = s + 40
  21651. v7 = *(*Tulg)(unsafe.Pointer(v8))
  21652. *(*Tulg)(unsafe.Pointer(v8))++
  21653. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v7))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(stored_len)) & libc.Int32FromInt32(0xff))
  21654. v10 = s + 40
  21655. v9 = *(*Tulg)(unsafe.Pointer(v10))
  21656. *(*Tulg)(unsafe.Pointer(v10))++
  21657. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v9))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(stored_len)) >> libc.Int32FromInt32(8))
  21658. v12 = s + 40
  21659. v11 = *(*Tulg)(unsafe.Pointer(v12))
  21660. *(*Tulg)(unsafe.Pointer(v12))++
  21661. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v11))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(^stored_len)) & libc.Int32FromInt32(0xff))
  21662. v14 = s + 40
  21663. v13 = *(*Tulg)(unsafe.Pointer(v14))
  21664. *(*Tulg)(unsafe.Pointer(v14))++
  21665. *(*TBytef)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf + uintptr(v13))) = libc.Uint8FromInt32(libc.Int32FromUint16(uint16(^stored_len)) >> libc.Int32FromInt32(8))
  21666. if stored_len != 0 {
  21667. libc.Xmemcpy(tls, (*Tdeflate_state)(unsafe.Pointer(s)).Fpending_buf+uintptr((*Tdeflate_state)(unsafe.Pointer(s)).Fpending), buf, stored_len)
  21668. }
  21669. *(*Tulg)(unsafe.Pointer(s + 40)) += stored_len
  21670. }
  21671. // C documentation
  21672. //
  21673. // /* ===========================================================================
  21674. // * Flush the bits in the bit buffer to pending output (leaves at most 7 bits)
  21675. // */
  21676. func x__tr_flush_bits(tls *libc.TLS, s uintptr) {
  21677. _bi_flush(tls, s)
  21678. }
  21679. // C documentation
  21680. //
  21681. // /* ===========================================================================
  21682. // * Send one empty static block to give enough lookahead for inflate.
  21683. // * This takes 10 bits, of which 7 may remain in the bit buffer.
  21684. // */
  21685. func x__tr_align(tls *libc.TLS, s uintptr) {
  21686. var len1, len11, val, val1 int32
  21687. var v10, v2, v4, v8 Tulg
  21688. var v11, v3, v5, v9, p1, p12, p6, p7 uintptr
  21689. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = len1, len11, val, val1, v10, v11, v2, v3, v4, v5, v8, v9, p1, p12, p6, p7
  21690. len1 = int32(3)
  21691. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21692. val = libc.Int32FromInt32(m_STATIC_TREES) << libc.Int32FromInt32(1)
  21693. p1 = s + 5936
  21694. *(*Tush)(unsafe.Pointer(p1)) = Tush(int32(*(*Tush)(unsafe.Pointer(p1))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21695. v3 = s + 40
  21696. v2 = *(*Tulg)(unsafe.Pointer(v3))
  21697. *(*Tulg)(unsafe.Pointer(v3))++
  21698. *(*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))
  21699. v5 = s + 40
  21700. v4 = *(*Tulg)(unsafe.Pointer(v5))
  21701. *(*Tulg)(unsafe.Pointer(v5))++
  21702. *(*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))
  21703. (*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))
  21704. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21705. } else {
  21706. p6 = s + 5936
  21707. *(*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)
  21708. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21709. }
  21710. len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_ltree)) + 256*4 + 2)))
  21711. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  21712. val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_ltree)) + 256*4)))
  21713. p7 = s + 5936
  21714. *(*Tush)(unsafe.Pointer(p7)) = Tush(int32(*(*Tush)(unsafe.Pointer(p7))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21715. v9 = s + 40
  21716. v8 = *(*Tulg)(unsafe.Pointer(v9))
  21717. *(*Tulg)(unsafe.Pointer(v9))++
  21718. *(*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))
  21719. v11 = s + 40
  21720. v10 = *(*Tulg)(unsafe.Pointer(v11))
  21721. *(*Tulg)(unsafe.Pointer(v11))++
  21722. *(*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))
  21723. (*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))
  21724. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  21725. } else {
  21726. p12 = s + 5936
  21727. *(*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)
  21728. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  21729. }
  21730. _bi_flush(tls, s)
  21731. }
  21732. // C documentation
  21733. //
  21734. // /* ===========================================================================
  21735. // * Send the block data compressed using the given Huffman trees
  21736. // */
  21737. func _compress_block(tls *libc.TLS, s uintptr, ltree uintptr, dtree uintptr) {
  21738. var code, dist, sx, v1, v2, v3 uint32
  21739. var extra, lc, len1, len11, len2, len3, len4, len5, val, val1, val2, val3, val4, val5, v22 int32
  21740. var v11, v13, v17, v19, v24, v26, v30, v32, v36, v38, v5, v7 Tulg
  21741. 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
  21742. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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) */
  21743. sx = uint32(0) /* number of extra bits to send */
  21744. if (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next != uint32(0) {
  21745. for cond := true; cond; cond = sx < (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next {
  21746. v1 = sx
  21747. sx++
  21748. dist = libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v1)))) & int32(0xff))
  21749. v2 = sx
  21750. sx++
  21751. dist += libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v2))))&libc.Int32FromInt32(0xff)) << int32(8)
  21752. v3 = sx
  21753. sx++
  21754. lc = libc.Int32FromUint8(*(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))))
  21755. if dist == uint32(0) {
  21756. len1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(lc)*4 + 2)))
  21757. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  21758. val = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(lc)*4)))
  21759. p4 = s + 5936
  21760. *(*Tush)(unsafe.Pointer(p4)) = Tush(int32(*(*Tush)(unsafe.Pointer(p4))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21761. v6 = s + 40
  21762. v5 = *(*Tulg)(unsafe.Pointer(v6))
  21763. *(*Tulg)(unsafe.Pointer(v6))++
  21764. *(*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))
  21765. v8 = s + 40
  21766. v7 = *(*Tulg)(unsafe.Pointer(v8))
  21767. *(*Tulg)(unsafe.Pointer(v8))++
  21768. *(*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))
  21769. (*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))
  21770. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  21771. } else {
  21772. p9 = s + 5936
  21773. *(*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)
  21774. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  21775. } /* send a literal byte */
  21776. } else {
  21777. /* Here, lc is the match length - MIN_MATCH */
  21778. code = uint32(x__length_code[lc])
  21779. len11 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(code+uint32(m_LITERALS)+uint32(1))*4 + 2)))
  21780. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  21781. val1 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + uintptr(code+uint32(m_LITERALS)+uint32(1))*4)))
  21782. p10 = s + 5936
  21783. *(*Tush)(unsafe.Pointer(p10)) = Tush(int32(*(*Tush)(unsafe.Pointer(p10))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21784. v12 = s + 40
  21785. v11 = *(*Tulg)(unsafe.Pointer(v12))
  21786. *(*Tulg)(unsafe.Pointer(v12))++
  21787. *(*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))
  21788. v14 = s + 40
  21789. v13 = *(*Tulg)(unsafe.Pointer(v14))
  21790. *(*Tulg)(unsafe.Pointer(v14))++
  21791. *(*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))
  21792. (*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))
  21793. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  21794. } else {
  21795. p15 = s + 5936
  21796. *(*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)
  21797. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  21798. } /* send length code */
  21799. extra = _extra_lbits[code]
  21800. if extra != 0 {
  21801. lc -= _base_length[code]
  21802. len2 = extra
  21803. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len2 {
  21804. val2 = lc
  21805. p16 = s + 5936
  21806. *(*Tush)(unsafe.Pointer(p16)) = Tush(int32(*(*Tush)(unsafe.Pointer(p16))) | libc.Int32FromUint16(libc.Uint16FromInt32(val2))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21807. v18 = s + 40
  21808. v17 = *(*Tulg)(unsafe.Pointer(v18))
  21809. *(*Tulg)(unsafe.Pointer(v18))++
  21810. *(*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))
  21811. v20 = s + 40
  21812. v19 = *(*Tulg)(unsafe.Pointer(v20))
  21813. *(*Tulg)(unsafe.Pointer(v20))++
  21814. *(*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))
  21815. (*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))
  21816. *(*int32)(unsafe.Pointer(s + 5940)) += len2 - int32(m_Buf_size)
  21817. } else {
  21818. p21 = s + 5936
  21819. *(*Tush)(unsafe.Pointer(p21)) = Tush(int32(*(*Tush)(unsafe.Pointer(p21))) | libc.Int32FromUint16(libc.Uint16FromInt32(lc))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21820. *(*int32)(unsafe.Pointer(s + 5940)) += len2
  21821. } /* send the extra length bits */
  21822. }
  21823. dist-- /* dist is now the match distance - 1 */
  21824. if dist < uint32(256) {
  21825. v22 = libc.Int32FromUint8(x__dist_code[dist])
  21826. } else {
  21827. v22 = libc.Int32FromUint8(x__dist_code[uint32(256)+dist>>int32(7)])
  21828. }
  21829. code = libc.Uint32FromInt32(v22)
  21830. len3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(dtree + uintptr(code)*4 + 2)))
  21831. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len3 {
  21832. val3 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(dtree + uintptr(code)*4)))
  21833. p23 = s + 5936
  21834. *(*Tush)(unsafe.Pointer(p23)) = Tush(int32(*(*Tush)(unsafe.Pointer(p23))) | libc.Int32FromUint16(libc.Uint16FromInt32(val3))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21835. v25 = s + 40
  21836. v24 = *(*Tulg)(unsafe.Pointer(v25))
  21837. *(*Tulg)(unsafe.Pointer(v25))++
  21838. *(*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))
  21839. v27 = s + 40
  21840. v26 = *(*Tulg)(unsafe.Pointer(v27))
  21841. *(*Tulg)(unsafe.Pointer(v27))++
  21842. *(*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))
  21843. (*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))
  21844. *(*int32)(unsafe.Pointer(s + 5940)) += len3 - int32(m_Buf_size)
  21845. } else {
  21846. p28 = s + 5936
  21847. *(*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)
  21848. *(*int32)(unsafe.Pointer(s + 5940)) += len3
  21849. } /* send the distance code */
  21850. extra = _extra_dbits[code]
  21851. if extra != 0 {
  21852. dist -= libc.Uint32FromInt32(_base_dist[code])
  21853. len4 = extra
  21854. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len4 {
  21855. val4 = libc.Int32FromUint32(dist)
  21856. p29 = s + 5936
  21857. *(*Tush)(unsafe.Pointer(p29)) = Tush(int32(*(*Tush)(unsafe.Pointer(p29))) | libc.Int32FromUint16(libc.Uint16FromInt32(val4))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21858. v31 = s + 40
  21859. v30 = *(*Tulg)(unsafe.Pointer(v31))
  21860. *(*Tulg)(unsafe.Pointer(v31))++
  21861. *(*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))
  21862. v33 = s + 40
  21863. v32 = *(*Tulg)(unsafe.Pointer(v33))
  21864. *(*Tulg)(unsafe.Pointer(v33))++
  21865. *(*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))
  21866. (*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))
  21867. *(*int32)(unsafe.Pointer(s + 5940)) += len4 - int32(m_Buf_size)
  21868. } else {
  21869. p34 = s + 5936
  21870. *(*Tush)(unsafe.Pointer(p34)) = Tush(int32(*(*Tush)(unsafe.Pointer(p34))) | libc.Int32FromUint16(uint16(dist))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21871. *(*int32)(unsafe.Pointer(s + 5940)) += len4
  21872. } /* send the extra distance bits */
  21873. }
  21874. } /* literal or match pair ? */
  21875. /* Check for no overlay of pending_buf on needed symbols */
  21876. }
  21877. }
  21878. len5 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + 256*4 + 2)))
  21879. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len5 {
  21880. val5 = libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(ltree + 256*4)))
  21881. p35 = s + 5936
  21882. *(*Tush)(unsafe.Pointer(p35)) = Tush(int32(*(*Tush)(unsafe.Pointer(p35))) | libc.Int32FromUint16(libc.Uint16FromInt32(val5))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  21883. v37 = s + 40
  21884. v36 = *(*Tulg)(unsafe.Pointer(v37))
  21885. *(*Tulg)(unsafe.Pointer(v37))++
  21886. *(*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))
  21887. v39 = s + 40
  21888. v38 = *(*Tulg)(unsafe.Pointer(v39))
  21889. *(*Tulg)(unsafe.Pointer(v39))++
  21890. *(*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))
  21891. (*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))
  21892. *(*int32)(unsafe.Pointer(s + 5940)) += len5 - int32(m_Buf_size)
  21893. } else {
  21894. p40 = s + 5936
  21895. *(*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)
  21896. *(*int32)(unsafe.Pointer(s + 5940)) += len5
  21897. }
  21898. }
  21899. // C documentation
  21900. //
  21901. // /* ===========================================================================
  21902. // * Check if the data type is TEXT or BINARY, using the following algorithm:
  21903. // * - TEXT if the two conditions below are satisfied:
  21904. // * a) There are no non-portable control characters belonging to the
  21905. // * "block list" (0..6, 14..25, 28..31).
  21906. // * b) There is at least one printable character belonging to the
  21907. // * "allow list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).
  21908. // * - BINARY otherwise.
  21909. // * - The following partially-portable control characters form a
  21910. // * "gray list" that is ignored in this detection algorithm:
  21911. // * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).
  21912. // * IN assertion: the fields Freq of dyn_ltree are set.
  21913. // */
  21914. func _detect_data_type(tls *libc.TLS, s uintptr) (r int32) {
  21915. var block_mask uint64
  21916. var n int32
  21917. _, _ = block_mask, n
  21918. /* block_mask is the bit mask of block-listed bytes
  21919. * set bits 0..6, 14..25, and 28..31
  21920. * 0xf3ffc07f = binary 11110011111111111100000001111111
  21921. */
  21922. block_mask = uint64(0xf3ffc07f)
  21923. /* Check for non-textual ("block-listed") bytes. */
  21924. n = 0
  21925. for {
  21926. if !(n <= int32(31)) {
  21927. break
  21928. }
  21929. if block_mask&uint64(1) != 0 && libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4))) != 0 {
  21930. return m_Z_BINARY
  21931. }
  21932. goto _1
  21933. _1:
  21934. ;
  21935. n++
  21936. block_mask >>= uint64(1)
  21937. }
  21938. /* Check for textual ("allow-listed") bytes. */
  21939. 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 {
  21940. return int32(m_Z_TEXT)
  21941. }
  21942. n = int32(32)
  21943. for {
  21944. if !(n < int32(m_LITERALS)) {
  21945. break
  21946. }
  21947. if libc.Int32FromUint16(*(*Tush)(unsafe.Pointer(s + 212 + uintptr(n)*4))) != 0 {
  21948. return int32(m_Z_TEXT)
  21949. }
  21950. goto _2
  21951. _2:
  21952. ;
  21953. n++
  21954. }
  21955. /* There are no "block-listed" or "allow-listed" bytes:
  21956. * this stream either is empty or has tolerated ("gray-listed") bytes only.
  21957. */
  21958. return m_Z_BINARY
  21959. }
  21960. // C documentation
  21961. //
  21962. // /* ===========================================================================
  21963. // * Determine the best encoding for the current block: dynamic trees, static
  21964. // * trees or store, and write out the encoded block.
  21965. // */
  21966. func x__tr_flush_block(tls *libc.TLS, s uintptr, buf uintptr, stored_len Tulg, last int32) {
  21967. var len1, len11, max_blindex, val, val1 int32
  21968. var opt_lenb, static_lenb, v1, v11, v3, v5, v9 Tulg
  21969. var v10, v12, v4, v6, p13, p2, p7, p8 uintptr
  21970. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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 */
  21971. max_blindex = 0 /* index of last bit length code of non zero freq */
  21972. /* Build the Huffman trees unless a stored block is forced */
  21973. if (*Tdeflate_state)(unsafe.Pointer(s)).Flevel > 0 {
  21974. /* Check if the file is binary or text */
  21975. if (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fdata_type == int32(m_Z_UNKNOWN) {
  21976. (*Tz_stream)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fstrm)).Fdata_type = _detect_data_type(tls, s)
  21977. }
  21978. /* Construct the literal and distance trees */
  21979. _build_tree(tls, s, s+2904)
  21980. _build_tree(tls, s, s+2928)
  21981. /* At this point, opt_len and static_len are the total bit lengths of
  21982. * the compressed block data, excluding the tree representations.
  21983. */
  21984. /* Build the bit length tree for the above two trees, and get the index
  21985. * in bl_order of the last bit length code to send.
  21986. */
  21987. max_blindex = _build_bl_tree(tls, s)
  21988. /* Determine the best encoding. Compute the block lengths in bytes. */
  21989. opt_lenb = ((*Tdeflate_state)(unsafe.Pointer(s)).Fopt_len + uint64(3) + uint64(7)) >> int32(3)
  21990. static_lenb = ((*Tdeflate_state)(unsafe.Pointer(s)).Fstatic_len + uint64(3) + uint64(7)) >> int32(3)
  21991. if static_lenb <= opt_lenb || (*Tdeflate_state)(unsafe.Pointer(s)).Fstrategy == int32(m_Z_FIXED) {
  21992. opt_lenb = static_lenb
  21993. }
  21994. } else {
  21995. v1 = stored_len + libc.Uint64FromInt32(5)
  21996. static_lenb = v1
  21997. opt_lenb = v1 /* force a stored block */
  21998. }
  21999. if stored_len+uint64(4) <= opt_lenb && buf != libc.UintptrFromInt32(0) {
  22000. /* 4: two words for the lengths */
  22001. /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
  22002. * Otherwise we can't have processed more than WSIZE input bytes since
  22003. * the last block flush, because compression would have been
  22004. * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
  22005. * transform a block into a stored block.
  22006. */
  22007. x__tr_stored_block(tls, s, buf, stored_len, last)
  22008. } else {
  22009. if static_lenb == opt_lenb {
  22010. len1 = int32(3)
  22011. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len1 {
  22012. val = libc.Int32FromInt32(m_STATIC_TREES)<<libc.Int32FromInt32(1) + last
  22013. p2 = s + 5936
  22014. *(*Tush)(unsafe.Pointer(p2)) = Tush(int32(*(*Tush)(unsafe.Pointer(p2))) | libc.Int32FromUint16(libc.Uint16FromInt32(val))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22015. v4 = s + 40
  22016. v3 = *(*Tulg)(unsafe.Pointer(v4))
  22017. *(*Tulg)(unsafe.Pointer(v4))++
  22018. *(*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))
  22019. v6 = s + 40
  22020. v5 = *(*Tulg)(unsafe.Pointer(v6))
  22021. *(*Tulg)(unsafe.Pointer(v6))++
  22022. *(*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))
  22023. (*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))
  22024. *(*int32)(unsafe.Pointer(s + 5940)) += len1 - int32(m_Buf_size)
  22025. } else {
  22026. p7 = s + 5936
  22027. *(*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)
  22028. *(*int32)(unsafe.Pointer(s + 5940)) += len1
  22029. }
  22030. _compress_block(tls, s, uintptr(unsafe.Pointer(&_static_ltree)), uintptr(unsafe.Pointer(&_static_dtree)))
  22031. } else {
  22032. len11 = int32(3)
  22033. if (*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid > libc.Int32FromInt32(m_Buf_size)-len11 {
  22034. val1 = libc.Int32FromInt32(m_DYN_TREES)<<libc.Int32FromInt32(1) + last
  22035. p8 = s + 5936
  22036. *(*Tush)(unsafe.Pointer(p8)) = Tush(int32(*(*Tush)(unsafe.Pointer(p8))) | libc.Int32FromUint16(libc.Uint16FromInt32(val1))<<(*Tdeflate_state)(unsafe.Pointer(s)).Fbi_valid)
  22037. v10 = s + 40
  22038. v9 = *(*Tulg)(unsafe.Pointer(v10))
  22039. *(*Tulg)(unsafe.Pointer(v10))++
  22040. *(*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))
  22041. v12 = s + 40
  22042. v11 = *(*Tulg)(unsafe.Pointer(v12))
  22043. *(*Tulg)(unsafe.Pointer(v12))++
  22044. *(*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))
  22045. (*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))
  22046. *(*int32)(unsafe.Pointer(s + 5940)) += len11 - int32(m_Buf_size)
  22047. } else {
  22048. p13 = s + 5936
  22049. *(*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)
  22050. *(*int32)(unsafe.Pointer(s + 5940)) += len11
  22051. }
  22052. _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))
  22053. _compress_block(tls, s, s+212, s+2504)
  22054. }
  22055. }
  22056. /* The above check is made mod 2^32, for files larger than 512 MB
  22057. * and uLong implemented on 32 bits.
  22058. */
  22059. _init_block(tls, s)
  22060. if last != 0 {
  22061. _bi_windup(tls, s)
  22062. }
  22063. }
  22064. // C documentation
  22065. //
  22066. // /* ===========================================================================
  22067. // * Save the match info and tally the frequency counts. Return true if
  22068. // * the current block must be flushed.
  22069. // */
  22070. func x__tr_tally(tls *libc.TLS, s uintptr, dist uint32, lc uint32) (r int32) {
  22071. var v1, v3, v5 TuInt
  22072. var v2, v4, v6 uintptr
  22073. var v7 int32
  22074. _, _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6, v7
  22075. v2 = s + 5900
  22076. v1 = *(*TuInt)(unsafe.Pointer(v2))
  22077. *(*TuInt)(unsafe.Pointer(v2))++
  22078. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v1))) = uint8(dist)
  22079. v4 = s + 5900
  22080. v3 = *(*TuInt)(unsafe.Pointer(v4))
  22081. *(*TuInt)(unsafe.Pointer(v4))++
  22082. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v3))) = uint8(dist >> libc.Int32FromInt32(8))
  22083. v6 = s + 5900
  22084. v5 = *(*TuInt)(unsafe.Pointer(v6))
  22085. *(*TuInt)(unsafe.Pointer(v6))++
  22086. *(*Tuchf)(unsafe.Pointer((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_buf + uintptr(v5))) = uint8(lc)
  22087. if dist == uint32(0) {
  22088. /* lc is the unmatched char */
  22089. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(lc)*4))++
  22090. } else {
  22091. (*Tdeflate_state)(unsafe.Pointer(s)).Fmatches++
  22092. /* Here, lc is the match length - MIN_MATCH */
  22093. dist-- /* dist = match distance - 1 */
  22094. *(*Tush)(unsafe.Pointer(s + 212 + uintptr(libc.Int32FromUint8(x__length_code[lc])+int32(m_LITERALS)+int32(1))*4))++
  22095. if dist < uint32(256) {
  22096. v7 = libc.Int32FromUint8(x__dist_code[dist])
  22097. } else {
  22098. v7 = libc.Int32FromUint8(x__dist_code[uint32(256)+dist>>int32(7)])
  22099. }
  22100. *(*Tush)(unsafe.Pointer(s + 2504 + uintptr(v7)*4))++
  22101. }
  22102. return libc.BoolInt32((*Tdeflate_state)(unsafe.Pointer(s)).Fsym_next == (*Tdeflate_state)(unsafe.Pointer(s)).Fsym_end)
  22103. }
  22104. const m_AT_EACCESS = 0x0100
  22105. const m_AT_EMPTY_PATH = 0x4000
  22106. const m_AT_REMOVEDIR = 0x0800
  22107. const m_AT_RESOLVE_BENEATH = 0x2000
  22108. const m_AT_SYMLINK_FOLLOW = 0x0400
  22109. const m_AT_SYMLINK_NOFOLLOW = 0x0200
  22110. const m_BUFSIZ = 1024
  22111. const m_COPY = 1
  22112. const m_E2BIG = 7
  22113. const m_EACCES = 13
  22114. const m_EAGAIN = 35
  22115. const m_EBADF = 9
  22116. const m_EBADMSG = 89
  22117. const m_EBUSY = 16
  22118. const m_ECHILD = 10
  22119. const m_EDEADLK = 11
  22120. const m_EDOM = 33
  22121. const m_EEXIST = 17
  22122. const m_EFAULT = 14
  22123. const m_EFBIG = 27
  22124. const m_EINTR = 4
  22125. const m_EINVAL = 22
  22126. const m_EIO = 5
  22127. const m_EISDIR = 21
  22128. const m_EMFILE = 24
  22129. const m_EMLINK = 31
  22130. const m_EMULTIHOP = 90
  22131. const m_ENAMETOOLONG = 63
  22132. const m_ENFILE = 23
  22133. const m_ENODEV = 19
  22134. const m_ENOENT = 2
  22135. const m_ENOEXEC = 8
  22136. const m_ENOLCK = 77
  22137. const m_ENOLINK = 91
  22138. const m_ENOMEM = 12
  22139. const m_ENOSPC = 28
  22140. const m_ENOSYS = 78
  22141. const m_ENOTDIR = 20
  22142. const m_ENOTEMPTY = 66
  22143. const m_ENOTTY = 25
  22144. const m_ENXIO = 6
  22145. const m_EPERM = 1
  22146. const m_EPIPE = 32
  22147. const m_EPROTO = 92
  22148. const m_ERANGE = 34
  22149. const m_EROFS = 30
  22150. const m_ESPIPE = 29
  22151. const m_ESRCH = 3
  22152. const m_EXDEV = 18
  22153. const m_FAPPEND = "O_APPEND"
  22154. const m_FASYNC = "O_ASYNC"
  22155. const m_FDSYNC = "O_DSYNC"
  22156. const m_FD_CLOEXEC = 1
  22157. const m_FFSYNC = "O_FSYNC"
  22158. const m_FILENAME_MAX = 1024
  22159. const m_FNDELAY = "O_NONBLOCK"
  22160. const m_FNONBLOCK = "O_NONBLOCK"
  22161. const m_FOPEN_MAX = 20
  22162. const m_FRDAHEAD = "O_CREAT"
  22163. const m_FREAD = 0x0001
  22164. const m_FWRITE = 0x0002
  22165. const m_F_ADD_SEALS = 19
  22166. const m_F_CANCEL = 5
  22167. const m_F_DUP2FD = 10
  22168. const m_F_DUP2FD_CLOEXEC = 18
  22169. const m_F_DUPFD = 0
  22170. const m_F_DUPFD_CLOEXEC = 17
  22171. const m_F_GETFD = 1
  22172. const m_F_GETFL = 3
  22173. const m_F_GETLK = 11
  22174. const m_F_GETOWN = 5
  22175. const m_F_GET_SEALS = 20
  22176. const m_F_ISUNIONSTACK = 21
  22177. const m_F_KINFO = 22
  22178. const m_F_OGETLK = 7
  22179. const m_F_OSETLK = 8
  22180. const m_F_OSETLKW = 9
  22181. const m_F_RDAHEAD = 16
  22182. const m_F_RDLCK = 1
  22183. const m_F_READAHEAD = 15
  22184. const m_F_SEAL_GROW = 0x0004
  22185. const m_F_SEAL_SEAL = 0x0001
  22186. const m_F_SEAL_SHRINK = 0x0002
  22187. const m_F_SEAL_WRITE = 0x0008
  22188. const m_F_SETFD = 2
  22189. const m_F_SETFL = 4
  22190. const m_F_SETLK = 12
  22191. const m_F_SETLKW = 13
  22192. const m_F_SETLK_REMOTE = 14
  22193. const m_F_SETOWN = 6
  22194. const m_F_UNLCK = 2
  22195. const m_F_UNLCKSYS = 4
  22196. const m_F_WRLCK = 3
  22197. const m_GZBUFSIZE = 8192
  22198. const m_GZIP = 2
  22199. const m_GZ_APPEND = 1
  22200. const m_GZ_NONE = 0
  22201. const m_GZ_READ = 7247
  22202. const m_GZ_WRITE = 31153
  22203. const m_LOCK_EX = 0x02
  22204. const m_LOCK_NB = 0x04
  22205. const m_LOCK_SH = 0x01
  22206. const m_LOCK_UN = 0x08
  22207. const m_LOOK = 0
  22208. const m_L_ctermid = 1024
  22209. const m_L_cuserid = 17
  22210. const m_L_tmpnam = 1024
  22211. const m_O_ACCMODE = 0x0003
  22212. const m_O_APPEND = 0x0008
  22213. const m_O_ASYNC = 0x0040
  22214. const m_O_CLOEXEC = 0x00100000
  22215. const m_O_CREAT = 0x0200
  22216. const m_O_DIRECT = 0x00010000
  22217. const m_O_DIRECTORY = 0x00020000
  22218. const m_O_DSYNC = 0x01000000
  22219. const m_O_EMPTY_PATH = 0x02000000
  22220. const m_O_EXCL = 0x0800
  22221. const m_O_EXEC = 0x00040000
  22222. const m_O_EXLOCK = 0x0020
  22223. const m_O_FSYNC = 0x0080
  22224. const m_O_NDELAY = "O_NONBLOCK"
  22225. const m_O_NOCTTY = 0x8000
  22226. const m_O_NOFOLLOW = 0x0100
  22227. const m_O_NONBLOCK = 0x0004
  22228. const m_O_PATH = 0x00400000
  22229. const m_O_RDONLY = 0x0000
  22230. const m_O_RDWR = 0x0002
  22231. const m_O_RESOLVE_BENEATH = 0x00800000
  22232. const m_O_SEARCH = "O_EXEC"
  22233. const m_O_SHLOCK = 0x0010
  22234. const m_O_SYNC = 0x0080
  22235. const m_O_TRUNC = 0x0400
  22236. const m_O_TTY_INIT = 0x00080000
  22237. const m_O_VERIFY = 0x00200000
  22238. const m_O_WRONLY = 0x0001
  22239. const m_POSIX_FADV_DONTNEED = 4
  22240. const m_POSIX_FADV_NOREUSE = 5
  22241. const m_POSIX_FADV_NORMAL = 0
  22242. const m_POSIX_FADV_RANDOM = 1
  22243. const m_POSIX_FADV_SEQUENTIAL = 2
  22244. const m_POSIX_FADV_WILLNEED = 3
  22245. const m_P_tmpdir = "/tmp/"
  22246. const m_SPACECTL_DEALLOC = 1
  22247. const m_SPACECTL_F_SUPPORTED = 0
  22248. const m_TMP_MAX = 308915776
  22249. const m__IOFBF = 0
  22250. const m__IOLBF = 1
  22251. const m__IONBF = 2
  22252. const m__LARGEFILE_SOURCE = 1
  22253. const m___S2OAP = 0x0001
  22254. const m___SALC = 0x4000
  22255. const m___SAPP = 0x0100
  22256. const m___SEOF = 0x0020
  22257. const m___SERR = 0x0040
  22258. const m___SIGN = 0x8000
  22259. const m___SLBF = 0x0001
  22260. const m___SMBF = 0x0080
  22261. const m___SMOD = 0x2000
  22262. const m___SNBF = 0x0002
  22263. const m___SNPT = 0x0800
  22264. const m___SOFF = 0x1000
  22265. const m___SOPT = 0x0400
  22266. const m___SRD = 0x0004
  22267. const m___SRW = 0x0010
  22268. const m___SSTR = 0x0200
  22269. const m___SWR = 0x0008
  22270. const m_stderr = "__stderrp"
  22271. const m_stdin = "__stdinp"
  22272. const m_stdout = "__stdoutp"
  22273. type Tfpos_t = int64
  22274. type t__sbuf = struct {
  22275. F_base uintptr
  22276. F_size int32
  22277. }
  22278. type t__sFILE = struct {
  22279. F_p uintptr
  22280. F_r int32
  22281. F_w int32
  22282. F_flags int16
  22283. F_file int16
  22284. F_bf t__sbuf
  22285. F_lbfsize int32
  22286. F_cookie uintptr
  22287. F_close uintptr
  22288. F_read uintptr
  22289. F_seek uintptr
  22290. F_write uintptr
  22291. F_ub t__sbuf
  22292. F_up uintptr
  22293. F_ur int32
  22294. F_ubuf [3]uint8
  22295. F_nbuf [1]uint8
  22296. F_lb t__sbuf
  22297. F_blksize int32
  22298. F_offset Tfpos_t
  22299. F_fl_mutex uintptr
  22300. F_fl_owner uintptr
  22301. F_fl_count int32
  22302. F_orientation int32
  22303. F_mbstate t__mbstate_t
  22304. F_flags2 int32
  22305. }
  22306. type TFILE = struct {
  22307. F_p uintptr
  22308. F_r int32
  22309. F_w int32
  22310. F_flags int16
  22311. F_file int16
  22312. F_bf t__sbuf
  22313. F_lbfsize int32
  22314. F_cookie uintptr
  22315. F_close uintptr
  22316. F_read uintptr
  22317. F_seek uintptr
  22318. F_write uintptr
  22319. F_ub t__sbuf
  22320. F_up uintptr
  22321. F_ur int32
  22322. F_ubuf [3]uint8
  22323. F_nbuf [1]uint8
  22324. F_lb t__sbuf
  22325. F_blksize int32
  22326. F_offset Tfpos_t
  22327. F_fl_mutex uintptr
  22328. F_fl_owner uintptr
  22329. F_fl_count int32
  22330. F_orientation int32
  22331. F_mbstate t__mbstate_t
  22332. F_flags2 int32
  22333. }
  22334. type Tcookie_io_functions_t = struct {
  22335. Fread uintptr
  22336. Fwrite uintptr
  22337. Fseek uintptr
  22338. Fclose1 uintptr
  22339. }
  22340. type Tflock = struct {
  22341. Fl_start Toff_t
  22342. Fl_len Toff_t
  22343. Fl_pid Tpid_t
  22344. Fl_type int16
  22345. Fl_whence int16
  22346. Fl_sysid int32
  22347. }
  22348. type t__oflock = struct {
  22349. Fl_start Toff_t
  22350. Fl_len Toff_t
  22351. Fl_pid Tpid_t
  22352. Fl_type int16
  22353. Fl_whence int16
  22354. }
  22355. type Tspacectl_range = struct {
  22356. Fr_offset Toff_t
  22357. Fr_len Toff_t
  22358. }
  22359. type Tgz_state = struct {
  22360. Fx TgzFile_s
  22361. Fmode int32
  22362. Ffd int32
  22363. Fpath uintptr
  22364. Fsize uint32
  22365. Fwant uint32
  22366. Fin uintptr
  22367. Fout uintptr
  22368. Fdirect int32
  22369. Fhow int32
  22370. Fstart Toff_t
  22371. Feof int32
  22372. Fpast int32
  22373. Flevel int32
  22374. Fstrategy int32
  22375. Freset int32
  22376. Fskip Toff_t
  22377. Fseek int32
  22378. Ferr int32
  22379. Fmsg uintptr
  22380. Fstrm Tz_stream
  22381. }
  22382. type Tgz_statep = uintptr
  22383. func XzlibVersion(tls *libc.TLS) (r uintptr) {
  22384. return __ccgo_ts
  22385. }
  22386. func XzlibCompileFlags(tls *libc.TLS) (r TuLong) {
  22387. var flags TuLong
  22388. _ = flags
  22389. flags = uint64(0)
  22390. switch libc.Int32FromUint64(libc.Uint64FromInt64(4)) {
  22391. case int32(2):
  22392. case int32(4):
  22393. flags += uint64(1)
  22394. case int32(8):
  22395. flags += uint64(2)
  22396. default:
  22397. flags += uint64(3)
  22398. }
  22399. switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
  22400. case int32(2):
  22401. case int32(4):
  22402. flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(2))
  22403. case int32(8):
  22404. flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(2))
  22405. default:
  22406. flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(2))
  22407. }
  22408. switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
  22409. case int32(2):
  22410. case int32(4):
  22411. flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(4))
  22412. case int32(8):
  22413. flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(4))
  22414. default:
  22415. flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(4))
  22416. }
  22417. switch libc.Int32FromUint64(libc.Uint64FromInt64(8)) {
  22418. case int32(2):
  22419. case int32(4):
  22420. flags += libc.Uint64FromInt32(libc.Int32FromInt32(1) << libc.Int32FromInt32(6))
  22421. case int32(8):
  22422. flags += libc.Uint64FromInt32(libc.Int32FromInt32(2) << libc.Int32FromInt32(6))
  22423. default:
  22424. flags += libc.Uint64FromInt32(libc.Int32FromInt32(3) << libc.Int32FromInt32(6))
  22425. }
  22426. /*
  22427. #if defined(ASMV) || defined(ASMINF)
  22428. flags += 1 << 9;
  22429. #endif
  22430. */
  22431. return flags
  22432. }
  22433. // C documentation
  22434. //
  22435. // /* exported to allow conversion of error code to string for compress() and
  22436. // * uncompress()
  22437. // */
  22438. func XzError(tls *libc.TLS, err int32) (r uintptr) {
  22439. var v1 int32
  22440. _ = v1
  22441. if err < -int32(6) || err > int32(2) {
  22442. v1 = int32(9)
  22443. } else {
  22444. v1 = int32(2) - err
  22445. }
  22446. return Xz_errmsg[v1]
  22447. }
  22448. func Xzcalloc(tls *libc.TLS, opaque Tvoidpf, items uint32, size uint32) (r Tvoidpf) {
  22449. _ = opaque
  22450. return libc.Xmalloc(tls, uint64(items*size))
  22451. }
  22452. func Xzcfree(tls *libc.TLS, opaque Tvoidpf, ptr Tvoidpf) {
  22453. _ = opaque
  22454. libc.Xfree(tls, ptr)
  22455. }
  22456. // C documentation
  22457. //
  22458. // /* ===========================================================================
  22459. // Compresses the source buffer into the destination buffer. The level
  22460. // parameter has the same meaning as in deflateInit. sourceLen is the byte
  22461. // length of the source buffer. Upon entry, destLen is the total size of the
  22462. // destination buffer, which must be at least 0.1% larger than sourceLen plus
  22463. // 12 bytes. Upon exit, destLen is the actual size of the compressed buffer.
  22464. //
  22465. // compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
  22466. // memory, Z_BUF_ERROR if there was not enough room in the output buffer,
  22467. // Z_STREAM_ERROR if the level parameter is invalid.
  22468. // */
  22469. func Xcompress2(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen TuLong, level int32) (r int32) {
  22470. bp := tls.Alloc(112)
  22471. defer tls.Free(112)
  22472. var err, v3, v4 int32
  22473. var left TuLong
  22474. var max TuInt
  22475. var v1, v2 uint32
  22476. var _ /* stream at bp+0 */ Tz_stream
  22477. _, _, _, _, _, _, _ = err, left, max, v1, v2, v3, v4
  22478. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  22479. left = *(*TuLongf)(unsafe.Pointer(destLen))
  22480. *(*TuLongf)(unsafe.Pointer(destLen)) = uint64(0)
  22481. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzalloc = libc.UintptrFromInt32(0)
  22482. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzfree = libc.UintptrFromInt32(0)
  22483. (*(*Tz_stream)(unsafe.Pointer(bp))).Fopaque = libc.UintptrFromInt32(0)
  22484. err = XdeflateInit_(tls, bp, level, __ccgo_ts, libc.Int32FromInt64(112))
  22485. if err != m_Z_OK {
  22486. return err
  22487. }
  22488. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_out = dest
  22489. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = uint32(0)
  22490. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_in = source
  22491. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = uint32(0)
  22492. for cond := true; cond; cond = err == m_Z_OK {
  22493. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out == uint32(0) {
  22494. if left > uint64(max) {
  22495. v1 = max
  22496. } else {
  22497. v1 = uint32(left)
  22498. }
  22499. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = v1
  22500. left -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out)
  22501. }
  22502. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in == uint32(0) {
  22503. if sourceLen > uint64(max) {
  22504. v2 = max
  22505. } else {
  22506. v2 = uint32(sourceLen)
  22507. }
  22508. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = v2
  22509. sourceLen -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
  22510. }
  22511. if sourceLen != 0 {
  22512. v3 = m_Z_NO_FLUSH
  22513. } else {
  22514. v3 = int32(m_Z_FINISH)
  22515. }
  22516. err = Xdeflate(tls, bp, v3)
  22517. }
  22518. *(*TuLongf)(unsafe.Pointer(destLen)) = (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out
  22519. XdeflateEnd(tls, bp)
  22520. if err == int32(m_Z_STREAM_END) {
  22521. v4 = m_Z_OK
  22522. } else {
  22523. v4 = err
  22524. }
  22525. return v4
  22526. }
  22527. // C documentation
  22528. //
  22529. // /* ===========================================================================
  22530. // */
  22531. func Xcompress(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen TuLong) (r int32) {
  22532. return Xcompress2(tls, dest, destLen, source, sourceLen, -int32(1))
  22533. }
  22534. // C documentation
  22535. //
  22536. // /* ===========================================================================
  22537. // If the default memLevel or windowBits for deflateInit() is changed, then
  22538. // this function needs to be updated.
  22539. // */
  22540. func XcompressBound(tls *libc.TLS, sourceLen TuLong) (r TuLong) {
  22541. return sourceLen + sourceLen>>libc.Int32FromInt32(12) + sourceLen>>libc.Int32FromInt32(14) + sourceLen>>libc.Int32FromInt32(25) + uint64(13)
  22542. }
  22543. // C documentation
  22544. //
  22545. // /* ===========================================================================
  22546. // Decompresses the source buffer into the destination buffer. *sourceLen is
  22547. // the byte length of the source buffer. Upon entry, *destLen is the total size
  22548. // of the destination buffer, which must be large enough to hold the entire
  22549. // uncompressed data. (The size of the uncompressed data must have been saved
  22550. // previously by the compressor and transmitted to the decompressor by some
  22551. // mechanism outside the scope of this compression library.) Upon exit,
  22552. // *destLen is the size of the decompressed data and *sourceLen is the number
  22553. // of source bytes consumed. Upon return, source + *sourceLen points to the
  22554. // first unused input byte.
  22555. //
  22556. // uncompress returns Z_OK if success, Z_MEM_ERROR if there was not enough
  22557. // memory, Z_BUF_ERROR if there was not enough room in the output buffer, or
  22558. // Z_DATA_ERROR if the input data was corrupted, including if the input data is
  22559. // an incomplete zlib stream.
  22560. // */
  22561. func Xuncompress2(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, sourceLen uintptr) (r int32) {
  22562. bp := tls.Alloc(128)
  22563. defer tls.Free(128)
  22564. var err, v3, v4, v5 int32
  22565. var left, len1 TuLong
  22566. var max TuInt
  22567. var v1, v2 uint32
  22568. var _ /* buf at bp+112 */ [1]TByte
  22569. var _ /* stream at bp+0 */ Tz_stream
  22570. _, _, _, _, _, _, _, _, _ = err, left, len1, max, v1, v2, v3, v4, v5
  22571. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1)) /* for detection of incomplete stream when *destLen == 0 */
  22572. len1 = *(*TuLong)(unsafe.Pointer(sourceLen))
  22573. if *(*TuLongf)(unsafe.Pointer(destLen)) != 0 {
  22574. left = *(*TuLongf)(unsafe.Pointer(destLen))
  22575. *(*TuLongf)(unsafe.Pointer(destLen)) = uint64(0)
  22576. } else {
  22577. left = uint64(1)
  22578. dest = bp + 112
  22579. }
  22580. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_in = source
  22581. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = uint32(0)
  22582. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzalloc = libc.UintptrFromInt32(0)
  22583. (*(*Tz_stream)(unsafe.Pointer(bp))).Fzfree = libc.UintptrFromInt32(0)
  22584. (*(*Tz_stream)(unsafe.Pointer(bp))).Fopaque = libc.UintptrFromInt32(0)
  22585. err = XinflateInit_(tls, bp, __ccgo_ts, libc.Int32FromInt64(112))
  22586. if err != m_Z_OK {
  22587. return err
  22588. }
  22589. (*(*Tz_stream)(unsafe.Pointer(bp))).Fnext_out = dest
  22590. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = uint32(0)
  22591. for cond := true; cond; cond = err == m_Z_OK {
  22592. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out == uint32(0) {
  22593. if left > uint64(max) {
  22594. v1 = max
  22595. } else {
  22596. v1 = uint32(left)
  22597. }
  22598. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out = v1
  22599. left -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out)
  22600. }
  22601. if (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in == uint32(0) {
  22602. if len1 > uint64(max) {
  22603. v2 = max
  22604. } else {
  22605. v2 = uint32(len1)
  22606. }
  22607. (*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in = v2
  22608. len1 -= uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
  22609. }
  22610. err = Xinflate(tls, bp, m_Z_NO_FLUSH)
  22611. }
  22612. *(*TuLong)(unsafe.Pointer(sourceLen)) -= len1 + uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_in)
  22613. if dest != bp+112 {
  22614. *(*TuLongf)(unsafe.Pointer(destLen)) = (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out
  22615. } else {
  22616. if (*(*Tz_stream)(unsafe.Pointer(bp))).Ftotal_out != 0 && err == -int32(5) {
  22617. left = uint64(1)
  22618. }
  22619. }
  22620. XinflateEnd(tls, bp)
  22621. if err == int32(m_Z_STREAM_END) {
  22622. v3 = m_Z_OK
  22623. } else {
  22624. if err == int32(m_Z_NEED_DICT) {
  22625. v4 = -int32(3)
  22626. } else {
  22627. if err == -int32(5) && left+uint64((*(*Tz_stream)(unsafe.Pointer(bp))).Favail_out) != 0 {
  22628. v5 = -int32(3)
  22629. } else {
  22630. v5 = err
  22631. }
  22632. v4 = v5
  22633. }
  22634. v3 = v4
  22635. }
  22636. return v3
  22637. }
  22638. func Xuncompress(tls *libc.TLS, dest uintptr, destLen uintptr, source uintptr, _sourceLen TuLong) (r int32) {
  22639. bp := tls.Alloc(16)
  22640. defer tls.Free(16)
  22641. *(*TuLong)(unsafe.Pointer(bp)) = _sourceLen
  22642. return Xuncompress2(tls, dest, destLen, source, bp)
  22643. }
  22644. // C documentation
  22645. //
  22646. // /* gzclose() is in a separate file so that it is linked in only if it is used.
  22647. // That way the other gzclose functions can be used instead to avoid linking in
  22648. // unneeded compression or decompression routines. */
  22649. func Xgzclose(tls *libc.TLS, file TgzFile) (r int32) {
  22650. var state Tgz_statep
  22651. var v1 int32
  22652. _, _ = state, v1
  22653. if file == libc.UintptrFromInt32(0) {
  22654. return -int32(2)
  22655. }
  22656. state = file
  22657. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  22658. v1 = Xgzclose_r(tls, file)
  22659. } else {
  22660. v1 = Xgzclose_w(tls, file)
  22661. }
  22662. return v1
  22663. }
  22664. const m_LSEEK = "lseek"
  22665. const m_O_APPEND1 = 8
  22666. const m_O_CLOEXEC1 = 1048576
  22667. const m_O_CREAT1 = 512
  22668. const m_O_EXCL1 = 2048
  22669. const m_O_RDONLY1 = 0
  22670. const m_O_TRUNC1 = 1024
  22671. const m_O_WRONLY1 = 1
  22672. const m___INT_MAX1 = 2147483647
  22673. // C documentation
  22674. //
  22675. // /* Reset gzip file state */
  22676. func _gz_reset(tls *libc.TLS, state Tgz_statep) {
  22677. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0) /* no output data available */
  22678. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) { /* for reading ... */
  22679. (*Tgz_state)(unsafe.Pointer(state)).Feof = 0 /* not at end of file */
  22680. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0 /* have not read past end yet */
  22681. (*Tgz_state)(unsafe.Pointer(state)).Fhow = m_LOOK /* look for gzip header */
  22682. } else { /* for writing ... */
  22683. (*Tgz_state)(unsafe.Pointer(state)).Freset = 0
  22684. } /* no deflateReset pending */
  22685. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0 /* no seek request pending */
  22686. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0)) /* clear error */
  22687. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos = 0 /* no uncompressed data yet */
  22688. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0) /* no input data yet */
  22689. }
  22690. // C documentation
  22691. //
  22692. // /* Open a gzip file either by name or file descriptor. */
  22693. func _gz_open(tls *libc.TLS, path uintptr, fd int32, mode uintptr) (r TgzFile) {
  22694. bp := tls.Alloc(16)
  22695. defer tls.Free(16)
  22696. var cloexec, exclusive, oflag, v1, v2, v3, v4, v5 int32
  22697. var len1 Tz_size_t
  22698. var state Tgz_statep
  22699. _, _, _, _, _, _, _, _, _, _ = cloexec, exclusive, len1, oflag, state, v1, v2, v3, v4, v5
  22700. cloexec = 0
  22701. exclusive = 0
  22702. /* check input */
  22703. if path == libc.UintptrFromInt32(0) {
  22704. return libc.UintptrFromInt32(0)
  22705. }
  22706. /* allocate gzFile structure to return */
  22707. state = libc.Xmalloc(tls, uint64(240))
  22708. if state == libc.UintptrFromInt32(0) {
  22709. return libc.UintptrFromInt32(0)
  22710. }
  22711. (*Tgz_state)(unsafe.Pointer(state)).Fsize = uint32(0) /* no buffers allocated yet */
  22712. (*Tgz_state)(unsafe.Pointer(state)).Fwant = uint32(m_GZBUFSIZE) /* requested buffer size */
  22713. (*Tgz_state)(unsafe.Pointer(state)).Fmsg = libc.UintptrFromInt32(0) /* no error message yet */
  22714. /* interpret mode */
  22715. (*Tgz_state)(unsafe.Pointer(state)).Fmode = m_GZ_NONE
  22716. (*Tgz_state)(unsafe.Pointer(state)).Flevel = -int32(1)
  22717. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = m_Z_DEFAULT_STRATEGY
  22718. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = 0
  22719. for *(*uint8)(unsafe.Pointer(mode)) != 0 {
  22720. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(mode))) >= int32('0') && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(mode))) <= int32('9') {
  22721. (*Tgz_state)(unsafe.Pointer(state)).Flevel = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(mode))) - int32('0')
  22722. } else {
  22723. switch libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(mode))) {
  22724. case int32('r'):
  22725. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_READ)
  22726. case int32('w'):
  22727. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_WRITE)
  22728. case int32('a'):
  22729. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_APPEND)
  22730. case int32('+'): /* can't read and write at the same time */
  22731. libc.Xfree(tls, state)
  22732. return libc.UintptrFromInt32(0)
  22733. case int32('b'): /* ignore -- will request binary anyway */
  22734. case int32('e'):
  22735. cloexec = int32(1)
  22736. case int32('x'):
  22737. exclusive = int32(1)
  22738. case int32('f'):
  22739. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_FILTERED)
  22740. case int32('h'):
  22741. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_HUFFMAN_ONLY)
  22742. case int32('R'):
  22743. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_RLE)
  22744. case int32('F'):
  22745. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = int32(m_Z_FIXED)
  22746. case int32('T'):
  22747. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1)
  22748. default: /* could consider as an error, but just ignore */
  22749. }
  22750. }
  22751. mode++
  22752. }
  22753. /* must provide an "r", "w", or "a" */
  22754. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == m_GZ_NONE {
  22755. libc.Xfree(tls, state)
  22756. return libc.UintptrFromInt32(0)
  22757. }
  22758. /* can't force transparent read */
  22759. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  22760. if (*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0 {
  22761. libc.Xfree(tls, state)
  22762. return libc.UintptrFromInt32(0)
  22763. }
  22764. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1) /* for empty file */
  22765. }
  22766. /* save the path name for error messages */
  22767. len1 = libc.Xstrlen(tls, path)
  22768. (*Tgz_state)(unsafe.Pointer(state)).Fpath = libc.Xmalloc(tls, len1+uint64(1))
  22769. if (*Tgz_state)(unsafe.Pointer(state)).Fpath == libc.UintptrFromInt32(0) {
  22770. libc.Xfree(tls, state)
  22771. return libc.UintptrFromInt32(0)
  22772. }
  22773. libc.X__builtin_snprintf(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath, len1+uint64(1), __ccgo_ts+584, libc.VaList(bp+8, path))
  22774. /* compute the flags for open() */
  22775. if cloexec != 0 {
  22776. v1 = int32(m_O_CLOEXEC1)
  22777. } else {
  22778. v1 = 0
  22779. }
  22780. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  22781. v2 = m_O_RDONLY1
  22782. } else {
  22783. if exclusive != 0 {
  22784. v3 = int32(m_O_EXCL1)
  22785. } else {
  22786. v3 = 0
  22787. }
  22788. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_WRITE) {
  22789. v4 = int32(m_O_TRUNC1)
  22790. } else {
  22791. v4 = int32(m_O_APPEND1)
  22792. }
  22793. v2 = libc.Int32FromInt32(m_O_WRONLY1) | libc.Int32FromInt32(m_O_CREAT1) | v3 | v4
  22794. }
  22795. oflag = v1 | v2
  22796. /* open the file with the appropriate flags (or just use fd) */
  22797. if fd > -int32(1) {
  22798. v5 = fd
  22799. } else {
  22800. v5 = libc.Xopen(tls, path, oflag, libc.VaList(bp+8, int32(0666)))
  22801. }
  22802. (*Tgz_state)(unsafe.Pointer(state)).Ffd = v5
  22803. if (*Tgz_state)(unsafe.Pointer(state)).Ffd == -int32(1) {
  22804. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
  22805. libc.Xfree(tls, state)
  22806. return libc.UintptrFromInt32(0)
  22807. }
  22808. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_APPEND) {
  22809. libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(m_SEEK_END)) /* so gzoffset() is correct */
  22810. (*Tgz_state)(unsafe.Pointer(state)).Fmode = int32(m_GZ_WRITE) /* simplify later checks */
  22811. }
  22812. /* save the current position for rewinding (only if reading) */
  22813. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  22814. (*Tgz_state)(unsafe.Pointer(state)).Fstart = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(m_SEEK_CUR))
  22815. if (*Tgz_state)(unsafe.Pointer(state)).Fstart == int64(-int32(1)) {
  22816. (*Tgz_state)(unsafe.Pointer(state)).Fstart = 0
  22817. }
  22818. }
  22819. /* initialize stream */
  22820. _gz_reset(tls, state)
  22821. /* return stream */
  22822. return state
  22823. }
  22824. // C documentation
  22825. //
  22826. // /* -- see zlib.h -- */
  22827. func Xgzopen(tls *libc.TLS, path uintptr, mode uintptr) (r TgzFile) {
  22828. return _gz_open(tls, path, -int32(1), mode)
  22829. }
  22830. // C documentation
  22831. //
  22832. // /* -- see zlib.h -- */
  22833. func Xgzopen64(tls *libc.TLS, path uintptr, mode uintptr) (r TgzFile) {
  22834. return _gz_open(tls, path, -int32(1), mode)
  22835. }
  22836. // C documentation
  22837. //
  22838. // /* -- see zlib.h -- */
  22839. func Xgzdopen(tls *libc.TLS, fd int32, mode uintptr) (r TgzFile) {
  22840. bp := tls.Alloc(16)
  22841. defer tls.Free(16)
  22842. var gz TgzFile
  22843. var path, v1 uintptr
  22844. var v2 bool
  22845. _, _, _, _ = gz, path, v1, v2
  22846. if v2 = fd == -int32(1); !v2 {
  22847. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(7)+libc.Uint64FromInt32(3)*libc.Uint64FromInt64(4))
  22848. path = v1
  22849. }
  22850. if v2 || v1 == libc.UintptrFromInt32(0) {
  22851. return libc.UintptrFromInt32(0)
  22852. }
  22853. libc.X__builtin_snprintf(tls, path, libc.Uint64FromInt32(7)+libc.Uint64FromInt32(3)*libc.Uint64FromInt64(4), __ccgo_ts+587, libc.VaList(bp+8, fd))
  22854. gz = _gz_open(tls, path, fd, mode)
  22855. libc.Xfree(tls, path)
  22856. return gz
  22857. }
  22858. /* -- see zlib.h -- */
  22859. // C documentation
  22860. //
  22861. // /* -- see zlib.h -- */
  22862. func Xgzbuffer(tls *libc.TLS, file TgzFile, size uint32) (r int32) {
  22863. var state Tgz_statep
  22864. _ = state
  22865. /* get internal structure and check integrity */
  22866. if file == libc.UintptrFromInt32(0) {
  22867. return -int32(1)
  22868. }
  22869. state = file
  22870. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  22871. return -int32(1)
  22872. }
  22873. /* make sure we haven't already allocated memory */
  22874. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != uint32(0) {
  22875. return -int32(1)
  22876. }
  22877. /* check and set requested size */
  22878. if size<<int32(1) < size {
  22879. return -int32(1)
  22880. } /* need to be able to double it */
  22881. if size < uint32(8) {
  22882. size = uint32(8)
  22883. } /* needed to behave well with flushing */
  22884. (*Tgz_state)(unsafe.Pointer(state)).Fwant = size
  22885. return 0
  22886. }
  22887. // C documentation
  22888. //
  22889. // /* -- see zlib.h -- */
  22890. func Xgzrewind(tls *libc.TLS, file TgzFile) (r int32) {
  22891. var state Tgz_statep
  22892. _ = state
  22893. /* get internal structure */
  22894. if file == libc.UintptrFromInt32(0) {
  22895. return -int32(1)
  22896. }
  22897. state = file
  22898. /* check that we're reading and that there's no error */
  22899. 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) {
  22900. return -int32(1)
  22901. }
  22902. /* back up and start over */
  22903. if libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tgz_state)(unsafe.Pointer(state)).Fstart, m_SEEK_SET) == int64(-int32(1)) {
  22904. return -int32(1)
  22905. }
  22906. _gz_reset(tls, state)
  22907. return 0
  22908. }
  22909. // C documentation
  22910. //
  22911. // /* -- see zlib.h -- */
  22912. func Xgzseek64(tls *libc.TLS, file TgzFile, offset Toff_t, whence int32) (r Toff_t) {
  22913. var n, v1 uint32
  22914. var ret Toff_t
  22915. var state Tgz_statep
  22916. _, _, _, _ = n, ret, state, v1
  22917. /* get internal structure and check integrity */
  22918. if file == libc.UintptrFromInt32(0) {
  22919. return int64(-int32(1))
  22920. }
  22921. state = file
  22922. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  22923. return int64(-int32(1))
  22924. }
  22925. /* check that there's no error */
  22926. if (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  22927. return int64(-int32(1))
  22928. }
  22929. /* can only seek from start or relative to current position */
  22930. if whence != m_SEEK_SET && whence != int32(m_SEEK_CUR) {
  22931. return int64(-int32(1))
  22932. }
  22933. /* normalize offset to a SEEK_CUR specification */
  22934. if whence == m_SEEK_SET {
  22935. offset -= (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
  22936. } else {
  22937. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  22938. offset += (*Tgz_state)(unsafe.Pointer(state)).Fskip
  22939. }
  22940. }
  22941. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  22942. /* if within raw area while reading, just go there */
  22943. 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 {
  22944. ret = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, offset-libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave), int32(m_SEEK_CUR))
  22945. if ret == int64(-int32(1)) {
  22946. return int64(-int32(1))
  22947. }
  22948. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  22949. (*Tgz_state)(unsafe.Pointer(state)).Feof = 0
  22950. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  22951. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  22952. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  22953. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0)
  22954. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += offset
  22955. return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
  22956. }
  22957. /* calculate skip amount, rewinding if needed for back seek when reading */
  22958. if offset < 0 {
  22959. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) { /* writing -- can't go backwards */
  22960. return int64(-int32(1))
  22961. }
  22962. offset += (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos
  22963. if offset < 0 { /* before start of file! */
  22964. return int64(-int32(1))
  22965. }
  22966. if Xgzrewind(tls, file) == -int32(1) { /* rewind, then skip to offset */
  22967. return int64(-int32(1))
  22968. }
  22969. }
  22970. /* if reading, skip what's in output buffer (one less gzgetc() check) */
  22971. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  22972. 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 {
  22973. v1 = libc.Uint32FromInt64(offset)
  22974. } else {
  22975. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  22976. }
  22977. n = v1
  22978. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
  22979. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
  22980. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  22981. offset -= libc.Int64FromUint32(n)
  22982. }
  22983. /* request skip (if not zero) */
  22984. if offset != 0 {
  22985. (*Tgz_state)(unsafe.Pointer(state)).Fseek = int32(1)
  22986. (*Tgz_state)(unsafe.Pointer(state)).Fskip = offset
  22987. }
  22988. return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos + offset
  22989. }
  22990. // C documentation
  22991. //
  22992. // /* -- see zlib.h -- */
  22993. func Xgzseek(tls *libc.TLS, file TgzFile, offset Toff_t, whence int32) (r Toff_t) {
  22994. var ret Toff_t
  22995. var v1 int64
  22996. _, _ = ret, v1
  22997. ret = Xgzseek64(tls, file, offset, whence)
  22998. if ret == ret {
  22999. v1 = ret
  23000. } else {
  23001. v1 = int64(-int32(1))
  23002. }
  23003. return v1
  23004. }
  23005. // C documentation
  23006. //
  23007. // /* -- see zlib.h -- */
  23008. func Xgztell64(tls *libc.TLS, file TgzFile) (r Toff_t) {
  23009. var state Tgz_statep
  23010. var v1 int64
  23011. _, _ = state, v1
  23012. /* get internal structure and check integrity */
  23013. if file == libc.UintptrFromInt32(0) {
  23014. return int64(-int32(1))
  23015. }
  23016. state = file
  23017. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  23018. return int64(-int32(1))
  23019. }
  23020. /* return position */
  23021. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  23022. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fskip
  23023. } else {
  23024. v1 = 0
  23025. }
  23026. return (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos + v1
  23027. }
  23028. // C documentation
  23029. //
  23030. // /* -- see zlib.h -- */
  23031. func Xgztell(tls *libc.TLS, file TgzFile) (r Toff_t) {
  23032. var ret Toff_t
  23033. var v1 int64
  23034. _, _ = ret, v1
  23035. ret = Xgztell64(tls, file)
  23036. if ret == ret {
  23037. v1 = ret
  23038. } else {
  23039. v1 = int64(-int32(1))
  23040. }
  23041. return v1
  23042. }
  23043. // C documentation
  23044. //
  23045. // /* -- see zlib.h -- */
  23046. func Xgzoffset64(tls *libc.TLS, file TgzFile) (r Toff_t) {
  23047. var offset Toff_t
  23048. var state Tgz_statep
  23049. _, _ = offset, state
  23050. /* get internal structure and check integrity */
  23051. if file == libc.UintptrFromInt32(0) {
  23052. return int64(-int32(1))
  23053. }
  23054. state = file
  23055. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  23056. return int64(-int32(1))
  23057. }
  23058. /* compute and return effective offset in file */
  23059. offset = libc.Xlseek(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, 0, int32(m_SEEK_CUR))
  23060. if offset == int64(-int32(1)) {
  23061. return int64(-int32(1))
  23062. }
  23063. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) { /* reading */
  23064. offset -= libc.Int64FromUint32((*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in)
  23065. } /* don't count buffered input */
  23066. return offset
  23067. }
  23068. // C documentation
  23069. //
  23070. // /* -- see zlib.h -- */
  23071. func Xgzoffset(tls *libc.TLS, file TgzFile) (r Toff_t) {
  23072. var ret Toff_t
  23073. var v1 int64
  23074. _, _ = ret, v1
  23075. ret = Xgzoffset64(tls, file)
  23076. if ret == ret {
  23077. v1 = ret
  23078. } else {
  23079. v1 = int64(-int32(1))
  23080. }
  23081. return v1
  23082. }
  23083. // C documentation
  23084. //
  23085. // /* -- see zlib.h -- */
  23086. func Xgzeof(tls *libc.TLS, file TgzFile) (r int32) {
  23087. var state Tgz_statep
  23088. var v1 int32
  23089. _, _ = state, v1
  23090. /* get internal structure and check integrity */
  23091. if file == libc.UintptrFromInt32(0) {
  23092. return 0
  23093. }
  23094. state = file
  23095. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  23096. return 0
  23097. }
  23098. /* return end-of-file state */
  23099. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  23100. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fpast
  23101. } else {
  23102. v1 = 0
  23103. }
  23104. return v1
  23105. }
  23106. // C documentation
  23107. //
  23108. // /* -- see zlib.h -- */
  23109. func Xgzerror(tls *libc.TLS, file TgzFile, errnum uintptr) (r uintptr) {
  23110. var state Tgz_statep
  23111. var v1, v2 uintptr
  23112. _, _, _ = state, v1, v2
  23113. /* get internal structure and check integrity */
  23114. if file == libc.UintptrFromInt32(0) {
  23115. return libc.UintptrFromInt32(0)
  23116. }
  23117. state = file
  23118. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  23119. return libc.UintptrFromInt32(0)
  23120. }
  23121. /* return error information */
  23122. if errnum != libc.UintptrFromInt32(0) {
  23123. *(*int32)(unsafe.Pointer(errnum)) = (*Tgz_state)(unsafe.Pointer(state)).Ferr
  23124. }
  23125. if (*Tgz_state)(unsafe.Pointer(state)).Ferr == -int32(4) {
  23126. v1 = __ccgo_ts + 595
  23127. } else {
  23128. if (*Tgz_state)(unsafe.Pointer(state)).Fmsg == libc.UintptrFromInt32(0) {
  23129. v2 = __ccgo_ts + 494
  23130. } else {
  23131. v2 = (*Tgz_state)(unsafe.Pointer(state)).Fmsg
  23132. }
  23133. v1 = v2
  23134. }
  23135. return v1
  23136. }
  23137. // C documentation
  23138. //
  23139. // /* -- see zlib.h -- */
  23140. func Xgzclearerr(tls *libc.TLS, file TgzFile) {
  23141. var state Tgz_statep
  23142. _ = state
  23143. /* get internal structure and check integrity */
  23144. if file == libc.UintptrFromInt32(0) {
  23145. return
  23146. }
  23147. state = file
  23148. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) && (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  23149. return
  23150. }
  23151. /* clear error and end-of-file */
  23152. if (*Tgz_state)(unsafe.Pointer(state)).Fmode == int32(m_GZ_READ) {
  23153. (*Tgz_state)(unsafe.Pointer(state)).Feof = 0
  23154. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  23155. }
  23156. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  23157. }
  23158. // C documentation
  23159. //
  23160. // /* Create an error message in allocated memory and set state->err and
  23161. // state->msg accordingly. Free any previous error message already there. Do
  23162. // not try to free or allocate space if the error is Z_MEM_ERROR (out of
  23163. // memory). Simply save the error message as a static string. If there is an
  23164. // allocation failure constructing the error message, then convert the error to
  23165. // out of memory. */
  23166. func Xgz_error(tls *libc.TLS, state Tgz_statep, err int32, msg uintptr) {
  23167. bp := tls.Alloc(32)
  23168. defer tls.Free(32)
  23169. var v1 uintptr
  23170. _ = v1
  23171. /* free previously allocated message and clear */
  23172. if (*Tgz_state)(unsafe.Pointer(state)).Fmsg != libc.UintptrFromInt32(0) {
  23173. if (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(4) {
  23174. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fmsg)
  23175. }
  23176. (*Tgz_state)(unsafe.Pointer(state)).Fmsg = libc.UintptrFromInt32(0)
  23177. }
  23178. /* if fatal, set state->x.have to 0 so that the gzgetc() macro fails */
  23179. if err != m_Z_OK && err != -int32(5) {
  23180. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  23181. }
  23182. /* set error code, and if no message, then done */
  23183. (*Tgz_state)(unsafe.Pointer(state)).Ferr = err
  23184. if msg == libc.UintptrFromInt32(0) {
  23185. return
  23186. }
  23187. /* for an out of memory error, return literal string when requested */
  23188. if err == -int32(4) {
  23189. return
  23190. }
  23191. /* construct error message with path */
  23192. v1 = libc.Xmalloc(tls, libc.Xstrlen(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)+libc.Xstrlen(tls, msg)+uint64(3))
  23193. (*Tgz_state)(unsafe.Pointer(state)).Fmsg = v1
  23194. if v1 == libc.UintptrFromInt32(0) {
  23195. (*Tgz_state)(unsafe.Pointer(state)).Ferr = -int32(4)
  23196. return
  23197. }
  23198. 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))
  23199. }
  23200. // C documentation
  23201. //
  23202. // /* portably return maximum value for an int (when limits.h presumed not
  23203. // available) -- we need to do this to cover cases where 2's complement not
  23204. // used, since C standard permits 1's complement and sign-bit representations,
  23205. // otherwise we could just use ((unsigned)-1) >> 1 */
  23206. func Xgz_intmax(tls *libc.TLS) (r uint32) {
  23207. return uint32(m___INT_MAX1)
  23208. }
  23209. const m_O_APPEND2 = 0x0008
  23210. const m_O_CLOEXEC2 = 0x00100000
  23211. const m_O_CREAT2 = 0x0200
  23212. const m_O_EXCL2 = 0x0800
  23213. const m_O_RDONLY2 = 0x0000
  23214. const m_O_TRUNC2 = 0x0400
  23215. const m_O_WRONLY2 = 0x0001
  23216. const m___INT_MAX2 = 0x7fffffff
  23217. // C documentation
  23218. //
  23219. // /* Use read() to load a buffer -- return -1 on error, otherwise 0. Read from
  23220. // state->fd, and update state->eof, state->err, and state->msg as appropriate.
  23221. // This function needs to loop on read(), since read() is not guaranteed to
  23222. // read the number of bytes requested, depending on the type of descriptor. */
  23223. func _gz_load(tls *libc.TLS, state Tgz_statep, buf uintptr, len1 uint32, have uintptr) (r int32) {
  23224. var get, max uint32
  23225. var ret int32
  23226. _, _, _ = get, max, ret
  23227. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))>>libc.Int32FromInt32(2) + libc.Uint32FromInt32(1)
  23228. *(*uint32)(unsafe.Pointer(have)) = uint32(0)
  23229. for cond := true; cond; cond = *(*uint32)(unsafe.Pointer(have)) < len1 {
  23230. get = len1 - *(*uint32)(unsafe.Pointer(have))
  23231. if get > max {
  23232. get = max
  23233. }
  23234. ret = int32(libc.Xread(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, buf+uintptr(*(*uint32)(unsafe.Pointer(have))), uint64(get)))
  23235. if ret <= 0 {
  23236. break
  23237. }
  23238. *(*uint32)(unsafe.Pointer(have)) += libc.Uint32FromInt32(ret)
  23239. }
  23240. if ret < 0 {
  23241. Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls)))))
  23242. return -int32(1)
  23243. }
  23244. if ret == 0 {
  23245. (*Tgz_state)(unsafe.Pointer(state)).Feof = int32(1)
  23246. }
  23247. return 0
  23248. }
  23249. // C documentation
  23250. //
  23251. // /* Load up input buffer and set eof flag if last data loaded -- return -1 on
  23252. // error, 0 otherwise. Note that the eof flag is set when the end of the input
  23253. // file is reached, even though there may be unused data in the buffer. Once
  23254. // that data has been used, no more attempts will be made to read the file.
  23255. // If strm->avail_in != 0, then the current data is moved to the beginning of
  23256. // the input buffer, and then the remainder of the buffer is loaded with the
  23257. // available data from the input file. */
  23258. func _gz_avail(tls *libc.TLS, state Tgz_statep) (r int32) {
  23259. bp := tls.Alloc(16)
  23260. defer tls.Free(16)
  23261. var n, v1 uint32
  23262. var p, q, v3, v4 uintptr
  23263. var strm Tz_streamp
  23264. var _ /* got at bp+0 */ uint32
  23265. _, _, _, _, _, _, _ = n, p, q, strm, v1, v3, v4
  23266. strm = state + 128
  23267. if (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23268. return -int32(1)
  23269. }
  23270. if (*Tgz_state)(unsafe.Pointer(state)).Feof == 0 {
  23271. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 { /* copy what's there to the start */
  23272. p = (*Tgz_state)(unsafe.Pointer(state)).Fin
  23273. q = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in
  23274. n = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  23275. for {
  23276. v3 = p
  23277. p++
  23278. v4 = q
  23279. q++
  23280. *(*uint8)(unsafe.Pointer(v3)) = *(*uint8)(unsafe.Pointer(v4))
  23281. goto _2
  23282. _2:
  23283. ;
  23284. n--
  23285. v1 = n
  23286. if !(v1 != 0) {
  23287. break
  23288. }
  23289. }
  23290. }
  23291. 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) {
  23292. return -int32(1)
  23293. }
  23294. *(*TuInt)(unsafe.Pointer(strm + 8)) += *(*uint32)(unsafe.Pointer(bp))
  23295. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  23296. }
  23297. return 0
  23298. }
  23299. // C documentation
  23300. //
  23301. // /* Look for gzip header, set up for inflate or copy. state->x.have must be 0.
  23302. // If this is the first time in, allocate required memory. state->how will be
  23303. // left unchanged if there is no more input data available, will be set to COPY
  23304. // if there is no gzip header and direct copying will be performed, or it will
  23305. // be set to GZIP for decompression. If direct copying, then leftover input
  23306. // data from the input buffer will be copied to the output buffer. In that
  23307. // case, all further file reads will be directly to either the output buffer or
  23308. // a user buffer. If decompressing, the inflate state will be initialized.
  23309. // gz_look() will return 0 on success or -1 on failure. */
  23310. func _gz_look(tls *libc.TLS, state Tgz_statep) (r int32) {
  23311. var strm Tz_streamp
  23312. _ = strm
  23313. strm = state + 128
  23314. /* allocate read buffers and inflate memory */
  23315. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) {
  23316. /* allocate buffers */
  23317. (*Tgz_state)(unsafe.Pointer(state)).Fin = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant))
  23318. (*Tgz_state)(unsafe.Pointer(state)).Fout = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant<<int32(1)))
  23319. if (*Tgz_state)(unsafe.Pointer(state)).Fin == libc.UintptrFromInt32(0) || (*Tgz_state)(unsafe.Pointer(state)).Fout == libc.UintptrFromInt32(0) {
  23320. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  23321. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  23322. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23323. return -int32(1)
  23324. }
  23325. (*Tgz_state)(unsafe.Pointer(state)).Fsize = (*Tgz_state)(unsafe.Pointer(state)).Fwant
  23326. /* allocate inflate memory */
  23327. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fzalloc = uintptr(m_Z_NULL)
  23328. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fzfree = uintptr(m_Z_NULL)
  23329. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fopaque = uintptr(m_Z_NULL)
  23330. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = uint32(0)
  23331. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = uintptr(m_Z_NULL)
  23332. if XinflateInit2_(tls, state+128, libc.Int32FromInt32(15)+libc.Int32FromInt32(16), __ccgo_ts, libc.Int32FromInt64(112)) != m_Z_OK { /* gunzip */
  23333. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  23334. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  23335. (*Tgz_state)(unsafe.Pointer(state)).Fsize = uint32(0)
  23336. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23337. return -int32(1)
  23338. }
  23339. }
  23340. /* get at least the magic bytes in the input buffer */
  23341. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in < uint32(2) {
  23342. if _gz_avail(tls, state) == -int32(1) {
  23343. return -int32(1)
  23344. }
  23345. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  23346. return 0
  23347. }
  23348. }
  23349. /* look for gzip magic bytes -- if there, do gzip decoding (note: there is
  23350. a logical dilemma here when considering the case of a partially written
  23351. gzip file, to wit, if a single 31 byte is written, then we cannot tell
  23352. whether this is a single-byte file, or just a partially written gzip
  23353. file -- for here we assume that if a gzip file is being written, then
  23354. the header will be written in a single operation, so that reading a
  23355. single byte is sufficient indication that it is not a gzip file) */
  23356. 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) {
  23357. XinflateReset(tls, strm)
  23358. (*Tgz_state)(unsafe.Pointer(state)).Fhow = int32(m_GZIP)
  23359. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = 0
  23360. return 0
  23361. }
  23362. /* no gzip header -- if we were decoding gzip before, then this is trailing
  23363. garbage. Ignore the trailing garbage and finish. */
  23364. if (*Tgz_state)(unsafe.Pointer(state)).Fdirect == 0 {
  23365. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = uint32(0)
  23366. (*Tgz_state)(unsafe.Pointer(state)).Feof = int32(1)
  23367. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  23368. return 0
  23369. }
  23370. /* doing raw i/o, copy any leftover input to output -- this assumes that
  23371. the output buffer is larger than the input buffer, which also assures
  23372. space for gzungetc() */
  23373. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23374. 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))
  23375. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  23376. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = uint32(0)
  23377. (*Tgz_state)(unsafe.Pointer(state)).Fhow = int32(m_COPY)
  23378. (*Tgz_state)(unsafe.Pointer(state)).Fdirect = int32(1)
  23379. return 0
  23380. }
  23381. // C documentation
  23382. //
  23383. // /* Decompress from input to the provided next_out and avail_out in the state.
  23384. // On return, state->x.have and state->x.next point to the just decompressed
  23385. // data. If the gzip stream completes, state->how is reset to LOOK to look for
  23386. // the next gzip stream or raw data, once state->x.have is depleted. Returns 0
  23387. // on success, -1 on failure. */
  23388. func _gz_decomp(tls *libc.TLS, state Tgz_statep) (r int32) {
  23389. var had uint32
  23390. var ret int32
  23391. var strm Tz_streamp
  23392. var v1 uintptr
  23393. _, _, _, _ = had, ret, strm, v1
  23394. ret = m_Z_OK
  23395. strm = state + 128
  23396. /* fill output buffer up to end of deflate stream */
  23397. had = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  23398. for cond := true; cond; cond = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out != 0 && ret != int32(m_Z_STREAM_END) {
  23399. /* get more input for inflate() */
  23400. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) && _gz_avail(tls, state) == -int32(1) {
  23401. return -int32(1)
  23402. }
  23403. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  23404. Xgz_error(tls, state, -int32(5), __ccgo_ts+619)
  23405. break
  23406. }
  23407. /* decompress and handle errors */
  23408. ret = Xinflate(tls, strm, m_Z_NO_FLUSH)
  23409. if ret == -int32(2) || ret == int32(m_Z_NEED_DICT) {
  23410. Xgz_error(tls, state, -int32(2), __ccgo_ts+642)
  23411. return -int32(1)
  23412. }
  23413. if ret == -int32(4) {
  23414. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23415. return -int32(1)
  23416. }
  23417. if ret == -int32(3) { /* deflate stream invalid */
  23418. if (*Tz_stream)(unsafe.Pointer(strm)).Fmsg == libc.UintptrFromInt32(0) {
  23419. v1 = __ccgo_ts + 681
  23420. } else {
  23421. v1 = (*Tz_stream)(unsafe.Pointer(strm)).Fmsg
  23422. }
  23423. Xgz_error(tls, state, -int32(3), v1)
  23424. return -int32(1)
  23425. }
  23426. }
  23427. /* update available output */
  23428. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = had - (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  23429. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out - uintptr((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave)
  23430. /* if the gzip stream completed successfully, look for another */
  23431. if ret == int32(m_Z_STREAM_END) {
  23432. (*Tgz_state)(unsafe.Pointer(state)).Fhow = m_LOOK
  23433. }
  23434. /* good decompression */
  23435. return 0
  23436. }
  23437. // C documentation
  23438. //
  23439. // /* Fetch data and put it in the output buffer. Assumes state->x.have is 0.
  23440. // Data is either copied from the input file or decompressed from the input
  23441. // file depending on state->how. If state->how is LOOK, then a gzip header is
  23442. // looked for to determine whether to copy or decompress. Returns -1 on error,
  23443. // otherwise 0. gz_fetch() will leave state->how as COPY or GZIP unless the
  23444. // end of the input file has been reached and all data has been processed. */
  23445. func _gz_fetch(tls *libc.TLS, state Tgz_statep) (r int32) {
  23446. var strm Tz_streamp
  23447. _ = strm
  23448. strm = state + 128
  23449. 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) {
  23450. switch (*Tgz_state)(unsafe.Pointer(state)).Fhow {
  23451. case m_LOOK: /* -> LOOK, COPY (only if never GZIP), or GZIP */
  23452. if _gz_look(tls, state) == -int32(1) {
  23453. return -int32(1)
  23454. }
  23455. if (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK {
  23456. return 0
  23457. }
  23458. case int32(m_COPY): /* -> COPY */
  23459. if _gz_load(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fout, (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1), state) == -int32(1) {
  23460. return -int32(1)
  23461. }
  23462. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23463. return 0
  23464. case int32(m_GZIP): /* -> GZIP or LOOK (if end of gzip stream) */
  23465. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize << int32(1)
  23466. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23467. if _gz_decomp(tls, state) == -int32(1) {
  23468. return -int32(1)
  23469. }
  23470. }
  23471. }
  23472. return 0
  23473. }
  23474. // C documentation
  23475. //
  23476. // /* Skip len uncompressed bytes of output. Return -1 on error, 0 on success. */
  23477. func _gz_skip(tls *libc.TLS, state Tgz_statep, len1 Toff_t) (r int32) {
  23478. var n, v1 uint32
  23479. _, _ = n, v1
  23480. /* skip over len bytes or reach end-of-file, whichever comes first */
  23481. for len1 != 0 {
  23482. /* skip over whatever is in output buffer */
  23483. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
  23484. 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 {
  23485. v1 = libc.Uint32FromInt64(len1)
  23486. } else {
  23487. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  23488. }
  23489. n = v1
  23490. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
  23491. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
  23492. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  23493. len1 -= libc.Int64FromUint32(n)
  23494. } else {
  23495. if (*Tgz_state)(unsafe.Pointer(state)).Feof != 0 && (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
  23496. break
  23497. } else {
  23498. /* get more output, looking for header if required */
  23499. if _gz_fetch(tls, state) == -int32(1) {
  23500. return -int32(1)
  23501. }
  23502. }
  23503. }
  23504. }
  23505. return 0
  23506. }
  23507. // C documentation
  23508. //
  23509. // /* Read len bytes into buf from file, or less than len up to the end of the
  23510. // input. Return the number of bytes read. If zero is returned, either the
  23511. // end of file was reached, or there was an error. state->err must be
  23512. // consulted in that case to determine which. */
  23513. func _gz_read(tls *libc.TLS, state Tgz_statep, buf Tvoidp, len1 Tz_size_t) (r Tz_size_t) {
  23514. bp := tls.Alloc(16)
  23515. defer tls.Free(16)
  23516. var got Tz_size_t
  23517. var _ /* n at bp+0 */ uint32
  23518. _ = got
  23519. /* if len is zero, avoid unnecessary operations */
  23520. if len1 == uint64(0) {
  23521. return uint64(0)
  23522. }
  23523. /* process a skip request */
  23524. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  23525. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  23526. if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  23527. return uint64(0)
  23528. }
  23529. }
  23530. /* get len bytes to buf, or less than len if at the end */
  23531. got = uint64(0)
  23532. for cond := true; cond; cond = len1 != 0 {
  23533. /* set n to the maximum amount of len that fits in an unsigned int */
  23534. *(*uint32)(unsafe.Pointer(bp)) = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  23535. if uint64(*(*uint32)(unsafe.Pointer(bp))) > len1 {
  23536. *(*uint32)(unsafe.Pointer(bp)) = uint32(len1)
  23537. }
  23538. /* first just try copying data from the output buffer */
  23539. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
  23540. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave < *(*uint32)(unsafe.Pointer(bp)) {
  23541. *(*uint32)(unsafe.Pointer(bp)) = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  23542. }
  23543. libc.Xmemcpy(tls, buf, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(*(*uint32)(unsafe.Pointer(bp))))
  23544. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(*(*uint32)(unsafe.Pointer(bp)))
  23545. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= *(*uint32)(unsafe.Pointer(bp))
  23546. } else {
  23547. if (*Tgz_state)(unsafe.Pointer(state)).Feof != 0 && (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
  23548. (*Tgz_state)(unsafe.Pointer(state)).Fpast = int32(1) /* tried to read past end */
  23549. break
  23550. } else {
  23551. if (*Tgz_state)(unsafe.Pointer(state)).Fhow == m_LOOK || *(*uint32)(unsafe.Pointer(bp)) < (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1) {
  23552. /* get more output, looking for header if required */
  23553. if _gz_fetch(tls, state) == -int32(1) {
  23554. return uint64(0)
  23555. }
  23556. continue /* no progress yet -- go back to copy above */
  23557. /* the copy above assures that we will leave with space in the
  23558. output buffer, allowing at least one gzungetc() to succeed */
  23559. } else {
  23560. if (*Tgz_state)(unsafe.Pointer(state)).Fhow == int32(m_COPY) { /* read directly */
  23561. if _gz_load(tls, state, buf, *(*uint32)(unsafe.Pointer(bp)), bp) == -int32(1) {
  23562. return uint64(0)
  23563. }
  23564. } else { /* state->how == GZIP */
  23565. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_out = *(*uint32)(unsafe.Pointer(bp))
  23566. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_out = buf
  23567. if _gz_decomp(tls, state) == -int32(1) {
  23568. return uint64(0)
  23569. }
  23570. *(*uint32)(unsafe.Pointer(bp)) = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  23571. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(0)
  23572. }
  23573. }
  23574. }
  23575. }
  23576. /* update progress */
  23577. len1 -= uint64(*(*uint32)(unsafe.Pointer(bp)))
  23578. buf = buf + uintptr(*(*uint32)(unsafe.Pointer(bp)))
  23579. got += uint64(*(*uint32)(unsafe.Pointer(bp)))
  23580. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(*(*uint32)(unsafe.Pointer(bp)))
  23581. }
  23582. /* return number of bytes read into user buffer */
  23583. return got
  23584. }
  23585. // C documentation
  23586. //
  23587. // /* -- see zlib.h -- */
  23588. func Xgzread(tls *libc.TLS, file TgzFile, buf Tvoidp, len1 uint32) (r int32) {
  23589. var state Tgz_statep
  23590. _ = state
  23591. /* get internal structure */
  23592. if file == libc.UintptrFromInt32(0) {
  23593. return -int32(1)
  23594. }
  23595. state = file
  23596. /* check that we're reading and that there's no (serious) error */
  23597. 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) {
  23598. return -int32(1)
  23599. }
  23600. /* since an int is returned, make sure len fits in one, otherwise return
  23601. with an error (this avoids a flaw in the interface) */
  23602. if libc.Int32FromUint32(len1) < 0 {
  23603. Xgz_error(tls, state, -int32(2), __ccgo_ts+703)
  23604. return -int32(1)
  23605. }
  23606. /* read len or fewer bytes to buf */
  23607. len1 = uint32(_gz_read(tls, state, buf, uint64(len1)))
  23608. /* check for an error */
  23609. if len1 == uint32(0) && (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK && (*Tgz_state)(unsafe.Pointer(state)).Ferr != -int32(5) {
  23610. return -int32(1)
  23611. }
  23612. /* return the number of bytes read (this is assured to fit in an int) */
  23613. return libc.Int32FromUint32(len1)
  23614. }
  23615. // C documentation
  23616. //
  23617. // /* -- see zlib.h -- */
  23618. func Xgzfread(tls *libc.TLS, buf Tvoidp, size Tz_size_t, nitems Tz_size_t, file TgzFile) (r Tz_size_t) {
  23619. var len1 Tz_size_t
  23620. var state Tgz_statep
  23621. var v1 uint64
  23622. _, _, _ = len1, state, v1
  23623. /* get internal structure */
  23624. if file == libc.UintptrFromInt32(0) {
  23625. return uint64(0)
  23626. }
  23627. state = file
  23628. /* check that we're reading and that there's no (serious) error */
  23629. 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) {
  23630. return uint64(0)
  23631. }
  23632. /* compute bytes to read -- error on overflow */
  23633. len1 = nitems * size
  23634. if size != 0 && len1/size != nitems {
  23635. Xgz_error(tls, state, -int32(2), __ccgo_ts+734)
  23636. return uint64(0)
  23637. }
  23638. /* read len or fewer bytes to buf, return the number of full items read */
  23639. if len1 != 0 {
  23640. v1 = _gz_read(tls, state, buf, len1) / size
  23641. } else {
  23642. v1 = uint64(0)
  23643. }
  23644. return v1
  23645. }
  23646. // C documentation
  23647. //
  23648. // /* -- see zlib.h -- */
  23649. func Xgzgetc(tls *libc.TLS, file TgzFile) (r int32) {
  23650. bp := tls.Alloc(16)
  23651. defer tls.Free(16)
  23652. var state Tgz_statep
  23653. var v1, v2 uintptr
  23654. var v3 int32
  23655. var _ /* buf at bp+0 */ [1]uint8
  23656. _, _, _, _ = state, v1, v2, v3
  23657. /* get internal structure */
  23658. if file == libc.UintptrFromInt32(0) {
  23659. return -int32(1)
  23660. }
  23661. state = file
  23662. /* check that we're reading and that there's no (serious) error */
  23663. 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) {
  23664. return -int32(1)
  23665. }
  23666. /* try output buffer (no need to check for skip request) */
  23667. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave != 0 {
  23668. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave--
  23669. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos++
  23670. v2 = state + 8
  23671. v1 = *(*uintptr)(unsafe.Pointer(v2))
  23672. *(*uintptr)(unsafe.Pointer(v2))++
  23673. return libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(v1)))
  23674. }
  23675. /* nothing there -- try gz_read() */
  23676. if _gz_read(tls, state, bp, uint64(1)) < uint64(1) {
  23677. v3 = -int32(1)
  23678. } else {
  23679. v3 = libc.Int32FromUint8((*(*[1]uint8)(unsafe.Pointer(bp)))[0])
  23680. }
  23681. return v3
  23682. }
  23683. func Xgzgetc_(tls *libc.TLS, file TgzFile) (r int32) {
  23684. return Xgzgetc(tls, file)
  23685. }
  23686. // C documentation
  23687. //
  23688. // /* -- see zlib.h -- */
  23689. func Xgzungetc(tls *libc.TLS, c int32, file TgzFile) (r int32) {
  23690. var dest, src, v1, v2 uintptr
  23691. var state Tgz_statep
  23692. _, _, _, _, _ = dest, src, state, v1, v2
  23693. /* get internal structure */
  23694. if file == libc.UintptrFromInt32(0) {
  23695. return -int32(1)
  23696. }
  23697. state = file
  23698. /* in case this was just opened, set up the input buffer */
  23699. 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) {
  23700. _gz_look(tls, state)
  23701. }
  23702. /* check that we're reading and that there's no (serious) error */
  23703. 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) {
  23704. return -int32(1)
  23705. }
  23706. /* process a skip request */
  23707. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  23708. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  23709. if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  23710. return -int32(1)
  23711. }
  23712. }
  23713. /* can't push EOF */
  23714. if c < 0 {
  23715. return -int32(1)
  23716. }
  23717. /* if output buffer empty, put byte at end (allows more pushing) */
  23718. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) {
  23719. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave = uint32(1)
  23720. (*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)
  23721. *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) = libc.Uint8FromInt32(c)
  23722. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos--
  23723. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  23724. return c
  23725. }
  23726. /* if no room, give up (must have already done a gzungetc()) */
  23727. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == (*Tgz_state)(unsafe.Pointer(state)).Fsize<<int32(1) {
  23728. Xgz_error(tls, state, -int32(3), __ccgo_ts+767)
  23729. return -int32(1)
  23730. }
  23731. /* slide output data if needed and insert byte before existing data */
  23732. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext == (*Tgz_state)(unsafe.Pointer(state)).Fout {
  23733. src = (*Tgz_state)(unsafe.Pointer(state)).Fout + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave)
  23734. dest = (*Tgz_state)(unsafe.Pointer(state)).Fout + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize<<libc.Int32FromInt32(1))
  23735. for src > (*Tgz_state)(unsafe.Pointer(state)).Fout {
  23736. dest--
  23737. v1 = dest
  23738. src--
  23739. v2 = src
  23740. *(*uint8)(unsafe.Pointer(v1)) = *(*uint8)(unsafe.Pointer(v2))
  23741. }
  23742. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = dest
  23743. }
  23744. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave++
  23745. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext--
  23746. *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) = libc.Uint8FromInt32(c)
  23747. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos--
  23748. (*Tgz_state)(unsafe.Pointer(state)).Fpast = 0
  23749. return c
  23750. }
  23751. // C documentation
  23752. //
  23753. // /* -- see zlib.h -- */
  23754. func Xgzgets(tls *libc.TLS, file TgzFile, buf uintptr, len1 int32) (r uintptr) {
  23755. var eol, str uintptr
  23756. var left, n, v1 uint32
  23757. var state Tgz_statep
  23758. _, _, _, _, _, _ = eol, left, n, state, str, v1
  23759. /* check parameters and get internal structure */
  23760. if file == libc.UintptrFromInt32(0) || buf == libc.UintptrFromInt32(0) || len1 < int32(1) {
  23761. return libc.UintptrFromInt32(0)
  23762. }
  23763. state = file
  23764. /* check that we're reading and that there's no (serious) error */
  23765. 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) {
  23766. return libc.UintptrFromInt32(0)
  23767. }
  23768. /* process a skip request */
  23769. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  23770. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  23771. if _gz_skip(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  23772. return libc.UintptrFromInt32(0)
  23773. }
  23774. }
  23775. /* copy output bytes up to new line or len - 1, whichever comes first --
  23776. append a terminating zero to the string (we don't check for a zero in
  23777. the contents, let the user worry about that) */
  23778. str = buf
  23779. left = libc.Uint32FromInt32(len1) - uint32(1)
  23780. if left != 0 {
  23781. for cond := true; cond; cond = left != 0 && eol == libc.UintptrFromInt32(0) {
  23782. /* assure that something is in the output buffer */
  23783. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) && _gz_fetch(tls, state) == -int32(1) {
  23784. return libc.UintptrFromInt32(0)
  23785. } /* error */
  23786. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave == uint32(0) { /* end of file */
  23787. (*Tgz_state)(unsafe.Pointer(state)).Fpast = int32(1) /* read past end */
  23788. break /* return what we have */
  23789. }
  23790. /* look for end-of-line in current output buffer */
  23791. if (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave > left {
  23792. v1 = left
  23793. } else {
  23794. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave
  23795. }
  23796. n = v1
  23797. eol = libc.Xmemchr(tls, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, int32('\n'), uint64(n))
  23798. if eol != libc.UintptrFromInt32(0) {
  23799. n = libc.Uint32FromInt64(int64(eol)-int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext)) + uint32(1)
  23800. }
  23801. /* copy through end-of-line, or remainder if not found */
  23802. libc.Xmemcpy(tls, buf, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(n))
  23803. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fhave -= n
  23804. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(n)
  23805. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  23806. left -= n
  23807. buf += uintptr(n)
  23808. }
  23809. }
  23810. /* return terminated string, or if nothing, end of file */
  23811. if buf == str {
  23812. return libc.UintptrFromInt32(0)
  23813. }
  23814. *(*uint8)(unsafe.Pointer(buf)) = uint8(0)
  23815. return str
  23816. }
  23817. // C documentation
  23818. //
  23819. // /* -- see zlib.h -- */
  23820. func Xgzdirect(tls *libc.TLS, file TgzFile) (r int32) {
  23821. var state Tgz_statep
  23822. _ = state
  23823. /* get internal structure */
  23824. if file == libc.UintptrFromInt32(0) {
  23825. return 0
  23826. }
  23827. state = file
  23828. /* if the state is not known, but we can find out, then do so (this is
  23829. mainly for right after a gzopen() or gzdopen()) */
  23830. 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) {
  23831. _gz_look(tls, state)
  23832. }
  23833. /* return 1 if transparent, 0 if processing a gzip stream */
  23834. return (*Tgz_state)(unsafe.Pointer(state)).Fdirect
  23835. }
  23836. // C documentation
  23837. //
  23838. // /* -- see zlib.h -- */
  23839. func Xgzclose_r(tls *libc.TLS, file TgzFile) (r int32) {
  23840. var err, ret, v1, v2 int32
  23841. var state Tgz_statep
  23842. _, _, _, _, _ = err, ret, state, v1, v2
  23843. /* get internal structure */
  23844. if file == libc.UintptrFromInt32(0) {
  23845. return -int32(2)
  23846. }
  23847. state = file
  23848. /* check that we're reading */
  23849. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_READ) {
  23850. return -int32(2)
  23851. }
  23852. /* free memory and close file */
  23853. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  23854. XinflateEnd(tls, state+128)
  23855. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  23856. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  23857. }
  23858. if (*Tgz_state)(unsafe.Pointer(state)).Ferr == -int32(5) {
  23859. v1 = -int32(5)
  23860. } else {
  23861. v1 = m_Z_OK
  23862. }
  23863. err = v1
  23864. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  23865. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
  23866. ret = libc.Xclose(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd)
  23867. libc.Xfree(tls, state)
  23868. if ret != 0 {
  23869. v2 = -int32(1)
  23870. } else {
  23871. v2 = err
  23872. }
  23873. return v2
  23874. }
  23875. // C documentation
  23876. //
  23877. // /* Initialize state for writing a gzip file. Mark initialization by setting
  23878. // state->size to non-zero. Return -1 on a memory allocation failure, or 0 on
  23879. // success. */
  23880. func _gz_init(tls *libc.TLS, state Tgz_statep) (r int32) {
  23881. var ret int32
  23882. var strm Tz_streamp
  23883. _, _ = ret, strm
  23884. strm = state + 128
  23885. /* allocate input buffer (double size for gzprintf) */
  23886. (*Tgz_state)(unsafe.Pointer(state)).Fin = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant<<int32(1)))
  23887. if (*Tgz_state)(unsafe.Pointer(state)).Fin == libc.UintptrFromInt32(0) {
  23888. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23889. return -int32(1)
  23890. }
  23891. /* only need output buffer and deflate state if compressing */
  23892. if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
  23893. /* allocate output buffer */
  23894. (*Tgz_state)(unsafe.Pointer(state)).Fout = libc.Xmalloc(tls, uint64((*Tgz_state)(unsafe.Pointer(state)).Fwant))
  23895. if (*Tgz_state)(unsafe.Pointer(state)).Fout == libc.UintptrFromInt32(0) {
  23896. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  23897. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23898. return -int32(1)
  23899. }
  23900. /* allocate deflate memory, set up for gzip compression */
  23901. (*Tz_stream)(unsafe.Pointer(strm)).Fzalloc = uintptr(m_Z_NULL)
  23902. (*Tz_stream)(unsafe.Pointer(strm)).Fzfree = uintptr(m_Z_NULL)
  23903. (*Tz_stream)(unsafe.Pointer(strm)).Fopaque = uintptr(m_Z_NULL)
  23904. 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))
  23905. if ret != m_Z_OK {
  23906. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  23907. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  23908. Xgz_error(tls, state, -int32(4), __ccgo_ts+595)
  23909. return -int32(1)
  23910. }
  23911. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = libc.UintptrFromInt32(0)
  23912. }
  23913. /* mark state as initialized */
  23914. (*Tgz_state)(unsafe.Pointer(state)).Fsize = (*Tgz_state)(unsafe.Pointer(state)).Fwant
  23915. /* initialize write buffer if compressing */
  23916. if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
  23917. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  23918. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23919. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out
  23920. }
  23921. return 0
  23922. }
  23923. // C documentation
  23924. //
  23925. // /* Compress whatever is at avail_in and next_in and write to the output file.
  23926. // Return -1 if there is an error writing to the output file or if gz_init()
  23927. // fails to allocate memory, otherwise 0. flush is assumed to be a valid
  23928. // deflate() flush value. If flush is Z_FINISH, then the deflate() state is
  23929. // reset to start a new gzip stream. If gz->direct is true, then simply write
  23930. // to the output file without compressing, and ignore flush. */
  23931. func _gz_comp(tls *libc.TLS, state Tgz_statep, flush int32) (r int32) {
  23932. var have, max, put, v1, v2 uint32
  23933. var ret, writ int32
  23934. var strm Tz_streamp
  23935. _, _, _, _, _, _, _, _ = have, max, put, ret, strm, writ, v1, v2
  23936. max = libc.Uint32FromInt32(-libc.Int32FromInt32(1))>>libc.Int32FromInt32(2) + libc.Uint32FromInt32(1)
  23937. strm = state + 128
  23938. /* allocate memory if this is the first time through */
  23939. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
  23940. return -int32(1)
  23941. }
  23942. /* write directly if requested */
  23943. if (*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0 {
  23944. for (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 {
  23945. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in > max {
  23946. v1 = max
  23947. } else {
  23948. v1 = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in
  23949. }
  23950. put = v1
  23951. writ = int32(libc.Xwrite(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in, uint64(put)))
  23952. if writ < 0 {
  23953. Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls)))))
  23954. return -int32(1)
  23955. }
  23956. *(*TuInt)(unsafe.Pointer(strm + 8)) -= libc.Uint32FromInt32(writ)
  23957. *(*uintptr)(unsafe.Pointer(strm)) += uintptr(writ)
  23958. }
  23959. return 0
  23960. }
  23961. /* check for a pending reset */
  23962. if (*Tgz_state)(unsafe.Pointer(state)).Freset != 0 {
  23963. /* don't start a new gzip member unless there is data to write */
  23964. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  23965. return 0
  23966. }
  23967. XdeflateReset(tls, strm)
  23968. (*Tgz_state)(unsafe.Pointer(state)).Freset = 0
  23969. }
  23970. /* run deflate() on provided input until it produces no more output */
  23971. ret = m_Z_OK
  23972. for cond := true; cond; cond = have != 0 {
  23973. /* write out current buffer contents if full, or if flushing, but if
  23974. doing Z_FINISH then don't write until we get to Z_STREAM_END */
  23975. 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)) {
  23976. for (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out > (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext {
  23977. if int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_out)-int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext) > int64(libc.Int32FromUint32(max)) {
  23978. v2 = max
  23979. } else {
  23980. v2 = libc.Uint32FromInt64(int64((*Tz_stream)(unsafe.Pointer(strm)).Fnext_out) - int64((*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext))
  23981. }
  23982. put = v2
  23983. writ = int32(libc.Xwrite(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd, (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext, uint64(put)))
  23984. if writ < 0 {
  23985. Xgz_error(tls, state, -int32(1), libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls)))))
  23986. return -int32(1)
  23987. }
  23988. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext += uintptr(writ)
  23989. }
  23990. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_out == uint32(0) {
  23991. (*Tz_stream)(unsafe.Pointer(strm)).Favail_out = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  23992. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_out = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23993. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fnext = (*Tgz_state)(unsafe.Pointer(state)).Fout
  23994. }
  23995. }
  23996. /* compress */
  23997. have = (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  23998. ret = Xdeflate(tls, strm, flush)
  23999. if ret == -int32(2) {
  24000. Xgz_error(tls, state, -int32(2), __ccgo_ts+798)
  24001. return -int32(1)
  24002. }
  24003. have -= (*Tz_stream)(unsafe.Pointer(strm)).Favail_out
  24004. }
  24005. /* if that completed a deflate stream, allow another to start */
  24006. if flush == int32(m_Z_FINISH) {
  24007. (*Tgz_state)(unsafe.Pointer(state)).Freset = int32(1)
  24008. }
  24009. /* all done, no errors */
  24010. return 0
  24011. }
  24012. // C documentation
  24013. //
  24014. // /* Compress len zeros to output. Return -1 on a write error or memory
  24015. // allocation failure by gz_comp(), or 0 on success. */
  24016. func _gz_zero(tls *libc.TLS, state Tgz_statep, len1 Toff_t) (r int32) {
  24017. var first int32
  24018. var n, v1 uint32
  24019. var strm Tz_streamp
  24020. _, _, _, _ = first, n, strm, v1
  24021. strm = state + 128
  24022. /* consume whatever's left in the input buffer */
  24023. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  24024. return -int32(1)
  24025. }
  24026. /* compress len zeros (len guaranteed > 0) */
  24027. first = int32(1)
  24028. for len1 != 0 {
  24029. 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 {
  24030. v1 = libc.Uint32FromInt64(len1)
  24031. } else {
  24032. v1 = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  24033. }
  24034. n = v1
  24035. if first != 0 {
  24036. libc.Xmemset(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin, 0, uint64(n))
  24037. first = 0
  24038. }
  24039. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = n
  24040. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  24041. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  24042. if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  24043. return -int32(1)
  24044. }
  24045. len1 -= libc.Int64FromUint32(n)
  24046. }
  24047. return 0
  24048. }
  24049. // C documentation
  24050. //
  24051. // /* Write len bytes from buf to file. Return the number of bytes written. If
  24052. // the returned value is less than len, then there was an error. */
  24053. func _gz_write(tls *libc.TLS, state Tgz_statep, buf Tvoidpc, len1 Tz_size_t) (r Tz_size_t) {
  24054. var copy1, have, n uint32
  24055. var put Tz_size_t
  24056. _, _, _, _ = copy1, have, n, put
  24057. put = len1
  24058. /* if len is zero, avoid unnecessary operations */
  24059. if len1 == uint64(0) {
  24060. return uint64(0)
  24061. }
  24062. /* allocate memory if this is the first time through */
  24063. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
  24064. return uint64(0)
  24065. }
  24066. /* check for seek request */
  24067. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24068. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24069. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24070. return uint64(0)
  24071. }
  24072. }
  24073. /* for small len, copy to input buffer, otherwise compress directly */
  24074. if len1 < uint64((*Tgz_state)(unsafe.Pointer(state)).Fsize) {
  24075. /* copy to input buffer, compress when full */
  24076. for cond := true; cond; cond = len1 != 0 {
  24077. if (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in == uint32(0) {
  24078. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  24079. }
  24080. 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))
  24081. copy1 = (*Tgz_state)(unsafe.Pointer(state)).Fsize - have
  24082. if uint64(copy1) > len1 {
  24083. copy1 = uint32(len1)
  24084. }
  24085. libc.Xmemcpy(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin+uintptr(have), buf, uint64(copy1))
  24086. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in += copy1
  24087. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(copy1)
  24088. buf = buf + uintptr(copy1)
  24089. len1 -= uint64(copy1)
  24090. if len1 != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  24091. return uint64(0)
  24092. }
  24093. }
  24094. } else {
  24095. /* consume whatever's left in the input buffer */
  24096. if (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in != 0 && _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  24097. return uint64(0)
  24098. }
  24099. /* directly compress user buffer to file */
  24100. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Fnext_in = buf
  24101. for cond := true; cond; cond = len1 != 0 {
  24102. n = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  24103. if uint64(n) > len1 {
  24104. n = uint32(len1)
  24105. }
  24106. (*Tgz_state)(unsafe.Pointer(state)).Fstrm.Favail_in = n
  24107. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += libc.Int64FromUint32(n)
  24108. if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  24109. return uint64(0)
  24110. }
  24111. len1 -= uint64(n)
  24112. }
  24113. }
  24114. /* input was all buffered or compressed */
  24115. return put
  24116. }
  24117. // C documentation
  24118. //
  24119. // /* -- see zlib.h -- */
  24120. func Xgzwrite(tls *libc.TLS, file TgzFile, buf Tvoidpc, len1 uint32) (r int32) {
  24121. var state Tgz_statep
  24122. _ = state
  24123. /* get internal structure */
  24124. if file == libc.UintptrFromInt32(0) {
  24125. return 0
  24126. }
  24127. state = file
  24128. /* check that we're writing and that there's no error */
  24129. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24130. return 0
  24131. }
  24132. /* since an int is returned, make sure len fits in one, otherwise return
  24133. with an error (this avoids a flaw in the interface) */
  24134. if libc.Int32FromUint32(len1) < 0 {
  24135. Xgz_error(tls, state, -int32(3), __ccgo_ts+837)
  24136. return 0
  24137. }
  24138. /* write len bytes from buf (the return value will fit in an int) */
  24139. return libc.Int32FromUint64(_gz_write(tls, state, buf, uint64(len1)))
  24140. }
  24141. // C documentation
  24142. //
  24143. // /* -- see zlib.h -- */
  24144. func Xgzfwrite(tls *libc.TLS, buf Tvoidpc, size Tz_size_t, nitems Tz_size_t, file TgzFile) (r Tz_size_t) {
  24145. var len1 Tz_size_t
  24146. var state Tgz_statep
  24147. var v1 uint64
  24148. _, _, _ = len1, state, v1
  24149. /* get internal structure */
  24150. if file == libc.UintptrFromInt32(0) {
  24151. return uint64(0)
  24152. }
  24153. state = file
  24154. /* check that we're writing and that there's no error */
  24155. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24156. return uint64(0)
  24157. }
  24158. /* compute bytes to read -- error on overflow */
  24159. len1 = nitems * size
  24160. if size != 0 && len1/size != nitems {
  24161. Xgz_error(tls, state, -int32(2), __ccgo_ts+734)
  24162. return uint64(0)
  24163. }
  24164. /* write len bytes to buf, return the number of full items written */
  24165. if len1 != 0 {
  24166. v1 = _gz_write(tls, state, buf, len1) / size
  24167. } else {
  24168. v1 = uint64(0)
  24169. }
  24170. return v1
  24171. }
  24172. // C documentation
  24173. //
  24174. // /* -- see zlib.h -- */
  24175. func Xgzputc(tls *libc.TLS, file TgzFile, c int32) (r int32) {
  24176. bp := tls.Alloc(16)
  24177. defer tls.Free(16)
  24178. var have uint32
  24179. var state Tgz_statep
  24180. var strm Tz_streamp
  24181. var _ /* buf at bp+0 */ [1]uint8
  24182. _, _, _ = have, state, strm
  24183. /* get internal structure */
  24184. if file == libc.UintptrFromInt32(0) {
  24185. return -int32(1)
  24186. }
  24187. state = file
  24188. strm = state + 128
  24189. /* check that we're writing and that there's no error */
  24190. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24191. return -int32(1)
  24192. }
  24193. /* check for seek request */
  24194. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24195. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24196. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24197. return -int32(1)
  24198. }
  24199. }
  24200. /* try writing to input buffer for speed (state->size == 0 if buffer not
  24201. initialized) */
  24202. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  24203. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  24204. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  24205. }
  24206. 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))
  24207. if have < (*Tgz_state)(unsafe.Pointer(state)).Fsize {
  24208. *(*uint8)(unsafe.Pointer((*Tgz_state)(unsafe.Pointer(state)).Fin + uintptr(have))) = libc.Uint8FromInt32(c)
  24209. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in++
  24210. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos++
  24211. return c & int32(0xff)
  24212. }
  24213. }
  24214. /* no room in buffer or not initialized, use gz_write() */
  24215. (*(*[1]uint8)(unsafe.Pointer(bp)))[0] = libc.Uint8FromInt32(c)
  24216. if _gz_write(tls, state, bp, uint64(1)) != uint64(1) {
  24217. return -int32(1)
  24218. }
  24219. return c & int32(0xff)
  24220. }
  24221. // C documentation
  24222. //
  24223. // /* -- see zlib.h -- */
  24224. func Xgzputs(tls *libc.TLS, file TgzFile, s uintptr) (r int32) {
  24225. var len1, put Tz_size_t
  24226. var state Tgz_statep
  24227. var v1 int32
  24228. _, _, _, _ = len1, put, state, v1
  24229. /* get internal structure */
  24230. if file == libc.UintptrFromInt32(0) {
  24231. return -int32(1)
  24232. }
  24233. state = file
  24234. /* check that we're writing and that there's no error */
  24235. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24236. return -int32(1)
  24237. }
  24238. /* write string */
  24239. len1 = libc.Xstrlen(tls, s)
  24240. if libc.Int32FromUint64(len1) < 0 || uint64(uint32(len1)) != len1 {
  24241. Xgz_error(tls, state, -int32(2), __ccgo_ts+874)
  24242. return -int32(1)
  24243. }
  24244. put = _gz_write(tls, state, s, len1)
  24245. if put < len1 {
  24246. v1 = -int32(1)
  24247. } else {
  24248. v1 = libc.Int32FromUint64(len1)
  24249. }
  24250. return v1
  24251. }
  24252. /*-
  24253. * SPDX-License-Identifier: BSD-2-Clause
  24254. *
  24255. * Copyright (c) 2017 Poul-Henning Kamp. All rights reserved.
  24256. *
  24257. * Redistribution and use in source and binary forms, with or without
  24258. * modification, are permitted provided that the following conditions
  24259. * are met:
  24260. * 1. Redistributions of source code must retain the above copyright
  24261. * notice, this list of conditions and the following disclaimer.
  24262. * 2. Redistributions in binary form must reproduce the above copyright
  24263. * notice, this list of conditions and the following disclaimer in the
  24264. * documentation and/or other materials provided with the distribution.
  24265. *
  24266. * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  24267. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  24268. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  24269. * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  24270. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  24271. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  24272. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  24273. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  24274. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  24275. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  24276. * SUCH DAMAGE.
  24277. */
  24278. // C documentation
  24279. //
  24280. // /* -- see zlib.h -- */
  24281. func Xgzvprintf(tls *libc.TLS, file TgzFile, format uintptr, va Tva_list) (r int32) {
  24282. var left uint32
  24283. var len1 int32
  24284. var next uintptr
  24285. var state Tgz_statep
  24286. var strm Tz_streamp
  24287. _, _, _, _, _ = left, len1, next, state, strm
  24288. /* get internal structure */
  24289. if file == libc.UintptrFromInt32(0) {
  24290. return -int32(2)
  24291. }
  24292. state = file
  24293. strm = state + 128
  24294. /* check that we're writing and that there's no error */
  24295. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24296. return -int32(2)
  24297. }
  24298. /* make sure we have some buffer space */
  24299. if (*Tgz_state)(unsafe.Pointer(state)).Fsize == uint32(0) && _gz_init(tls, state) == -int32(1) {
  24300. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24301. }
  24302. /* check for seek request */
  24303. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24304. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24305. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24306. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24307. }
  24308. }
  24309. /* do the printf() into the input buffer, put length in len -- the input
  24310. buffer is double-sized just for this function, so there is guaranteed to
  24311. be state->size bytes available after the current contents */
  24312. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in == uint32(0) {
  24313. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  24314. }
  24315. 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)
  24316. *(*uint8)(unsafe.Pointer(next + uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize-uint32(1)))) = uint8(0)
  24317. len1 = libc.X__builtin_vsnprintf(tls, next, uint64((*Tgz_state)(unsafe.Pointer(state)).Fsize), format, va)
  24318. /* check that printf() results fit in buffer */
  24319. 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 {
  24320. return 0
  24321. }
  24322. /* update buffer and position, compress first half if past that */
  24323. *(*TuInt)(unsafe.Pointer(strm + 8)) += libc.Uint32FromInt32(len1)
  24324. (*Tgz_state)(unsafe.Pointer(state)).Fx.Fpos += int64(len1)
  24325. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in >= (*Tgz_state)(unsafe.Pointer(state)).Fsize {
  24326. left = (*Tz_stream)(unsafe.Pointer(strm)).Favail_in - (*Tgz_state)(unsafe.Pointer(state)).Fsize
  24327. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = (*Tgz_state)(unsafe.Pointer(state)).Fsize
  24328. if _gz_comp(tls, state, m_Z_NO_FLUSH) == -int32(1) {
  24329. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24330. }
  24331. libc.Xmemmove(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin, (*Tgz_state)(unsafe.Pointer(state)).Fin+uintptr((*Tgz_state)(unsafe.Pointer(state)).Fsize), uint64(left))
  24332. (*Tz_stream)(unsafe.Pointer(strm)).Fnext_in = (*Tgz_state)(unsafe.Pointer(state)).Fin
  24333. (*Tz_stream)(unsafe.Pointer(strm)).Favail_in = left
  24334. }
  24335. return len1
  24336. }
  24337. func Xgzprintf(tls *libc.TLS, file TgzFile, format uintptr, va1 uintptr) (r int32) {
  24338. var ret int32
  24339. var va Tva_list
  24340. _, _ = ret, va
  24341. va = va1
  24342. ret = Xgzvprintf(tls, file, format, va)
  24343. _ = va
  24344. return ret
  24345. }
  24346. // C documentation
  24347. //
  24348. // /* -- see zlib.h -- */
  24349. func Xgzflush(tls *libc.TLS, file TgzFile, flush int32) (r int32) {
  24350. var state Tgz_statep
  24351. _ = state
  24352. /* get internal structure */
  24353. if file == libc.UintptrFromInt32(0) {
  24354. return -int32(2)
  24355. }
  24356. state = file
  24357. /* check that we're writing and that there's no error */
  24358. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) || (*Tgz_state)(unsafe.Pointer(state)).Ferr != m_Z_OK {
  24359. return -int32(2)
  24360. }
  24361. /* check flush parameter */
  24362. if flush < 0 || flush > int32(m_Z_FINISH) {
  24363. return -int32(2)
  24364. }
  24365. /* check for seek request */
  24366. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24367. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24368. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24369. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24370. }
  24371. }
  24372. /* compress remaining data with requested flush */
  24373. _gz_comp(tls, state, flush)
  24374. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24375. }
  24376. // C documentation
  24377. //
  24378. // /* -- see zlib.h -- */
  24379. func Xgzsetparams(tls *libc.TLS, file TgzFile, level int32, strategy int32) (r int32) {
  24380. var state Tgz_statep
  24381. var strm Tz_streamp
  24382. _, _ = state, strm
  24383. /* get internal structure */
  24384. if file == libc.UintptrFromInt32(0) {
  24385. return -int32(2)
  24386. }
  24387. state = file
  24388. strm = state + 128
  24389. /* check that we're writing and that there's no error */
  24390. 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 {
  24391. return -int32(2)
  24392. }
  24393. /* if no change is requested, then do nothing */
  24394. if level == (*Tgz_state)(unsafe.Pointer(state)).Flevel && strategy == (*Tgz_state)(unsafe.Pointer(state)).Fstrategy {
  24395. return m_Z_OK
  24396. }
  24397. /* check for seek request */
  24398. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24399. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24400. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24401. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24402. }
  24403. }
  24404. /* change compression parameters for subsequent input */
  24405. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  24406. /* flush previous input with previous parameters before changing */
  24407. if (*Tz_stream)(unsafe.Pointer(strm)).Favail_in != 0 && _gz_comp(tls, state, int32(m_Z_BLOCK)) == -int32(1) {
  24408. return (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24409. }
  24410. XdeflateParams(tls, strm, level, strategy)
  24411. }
  24412. (*Tgz_state)(unsafe.Pointer(state)).Flevel = level
  24413. (*Tgz_state)(unsafe.Pointer(state)).Fstrategy = strategy
  24414. return m_Z_OK
  24415. }
  24416. // C documentation
  24417. //
  24418. // /* -- see zlib.h -- */
  24419. func Xgzclose_w(tls *libc.TLS, file TgzFile) (r int32) {
  24420. var ret int32
  24421. var state Tgz_statep
  24422. _, _ = ret, state
  24423. ret = m_Z_OK
  24424. /* get internal structure */
  24425. if file == libc.UintptrFromInt32(0) {
  24426. return -int32(2)
  24427. }
  24428. state = file
  24429. /* check that we're writing */
  24430. if (*Tgz_state)(unsafe.Pointer(state)).Fmode != int32(m_GZ_WRITE) {
  24431. return -int32(2)
  24432. }
  24433. /* check for seek request */
  24434. if (*Tgz_state)(unsafe.Pointer(state)).Fseek != 0 {
  24435. (*Tgz_state)(unsafe.Pointer(state)).Fseek = 0
  24436. if _gz_zero(tls, state, (*Tgz_state)(unsafe.Pointer(state)).Fskip) == -int32(1) {
  24437. ret = (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24438. }
  24439. }
  24440. /* flush, free memory, and close file */
  24441. if _gz_comp(tls, state, int32(m_Z_FINISH)) == -int32(1) {
  24442. ret = (*Tgz_state)(unsafe.Pointer(state)).Ferr
  24443. }
  24444. if (*Tgz_state)(unsafe.Pointer(state)).Fsize != 0 {
  24445. if !((*Tgz_state)(unsafe.Pointer(state)).Fdirect != 0) {
  24446. XdeflateEnd(tls, state+128)
  24447. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fout)
  24448. }
  24449. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fin)
  24450. }
  24451. Xgz_error(tls, state, m_Z_OK, libc.UintptrFromInt32(0))
  24452. libc.Xfree(tls, (*Tgz_state)(unsafe.Pointer(state)).Fpath)
  24453. if libc.Xclose(tls, (*Tgz_state)(unsafe.Pointer(state)).Ffd) == -int32(1) {
  24454. ret = -int32(1)
  24455. }
  24456. libc.Xfree(tls, state)
  24457. return ret
  24458. }
  24459. func __ccgo_fp(f interface{}) uintptr {
  24460. type iface [2]uintptr
  24461. return (*iface)(unsafe.Pointer(&f))[1]
  24462. }
  24463. var x__dist_code = [512]Tuch{
  24464. 1: uint8(1),
  24465. 2: uint8(2),
  24466. 3: uint8(3),
  24467. 4: uint8(4),
  24468. 5: uint8(4),
  24469. 6: uint8(5),
  24470. 7: uint8(5),
  24471. 8: uint8(6),
  24472. 9: uint8(6),
  24473. 10: uint8(6),
  24474. 11: uint8(6),
  24475. 12: uint8(7),
  24476. 13: uint8(7),
  24477. 14: uint8(7),
  24478. 15: uint8(7),
  24479. 16: uint8(8),
  24480. 17: uint8(8),
  24481. 18: uint8(8),
  24482. 19: uint8(8),
  24483. 20: uint8(8),
  24484. 21: uint8(8),
  24485. 22: uint8(8),
  24486. 23: uint8(8),
  24487. 24: uint8(9),
  24488. 25: uint8(9),
  24489. 26: uint8(9),
  24490. 27: uint8(9),
  24491. 28: uint8(9),
  24492. 29: uint8(9),
  24493. 30: uint8(9),
  24494. 31: uint8(9),
  24495. 32: uint8(10),
  24496. 33: uint8(10),
  24497. 34: uint8(10),
  24498. 35: uint8(10),
  24499. 36: uint8(10),
  24500. 37: uint8(10),
  24501. 38: uint8(10),
  24502. 39: uint8(10),
  24503. 40: uint8(10),
  24504. 41: uint8(10),
  24505. 42: uint8(10),
  24506. 43: uint8(10),
  24507. 44: uint8(10),
  24508. 45: uint8(10),
  24509. 46: uint8(10),
  24510. 47: uint8(10),
  24511. 48: uint8(11),
  24512. 49: uint8(11),
  24513. 50: uint8(11),
  24514. 51: uint8(11),
  24515. 52: uint8(11),
  24516. 53: uint8(11),
  24517. 54: uint8(11),
  24518. 55: uint8(11),
  24519. 56: uint8(11),
  24520. 57: uint8(11),
  24521. 58: uint8(11),
  24522. 59: uint8(11),
  24523. 60: uint8(11),
  24524. 61: uint8(11),
  24525. 62: uint8(11),
  24526. 63: uint8(11),
  24527. 64: uint8(12),
  24528. 65: uint8(12),
  24529. 66: uint8(12),
  24530. 67: uint8(12),
  24531. 68: uint8(12),
  24532. 69: uint8(12),
  24533. 70: uint8(12),
  24534. 71: uint8(12),
  24535. 72: uint8(12),
  24536. 73: uint8(12),
  24537. 74: uint8(12),
  24538. 75: uint8(12),
  24539. 76: uint8(12),
  24540. 77: uint8(12),
  24541. 78: uint8(12),
  24542. 79: uint8(12),
  24543. 80: uint8(12),
  24544. 81: uint8(12),
  24545. 82: uint8(12),
  24546. 83: uint8(12),
  24547. 84: uint8(12),
  24548. 85: uint8(12),
  24549. 86: uint8(12),
  24550. 87: uint8(12),
  24551. 88: uint8(12),
  24552. 89: uint8(12),
  24553. 90: uint8(12),
  24554. 91: uint8(12),
  24555. 92: uint8(12),
  24556. 93: uint8(12),
  24557. 94: uint8(12),
  24558. 95: uint8(12),
  24559. 96: uint8(13),
  24560. 97: uint8(13),
  24561. 98: uint8(13),
  24562. 99: uint8(13),
  24563. 100: uint8(13),
  24564. 101: uint8(13),
  24565. 102: uint8(13),
  24566. 103: uint8(13),
  24567. 104: uint8(13),
  24568. 105: uint8(13),
  24569. 106: uint8(13),
  24570. 107: uint8(13),
  24571. 108: uint8(13),
  24572. 109: uint8(13),
  24573. 110: uint8(13),
  24574. 111: uint8(13),
  24575. 112: uint8(13),
  24576. 113: uint8(13),
  24577. 114: uint8(13),
  24578. 115: uint8(13),
  24579. 116: uint8(13),
  24580. 117: uint8(13),
  24581. 118: uint8(13),
  24582. 119: uint8(13),
  24583. 120: uint8(13),
  24584. 121: uint8(13),
  24585. 122: uint8(13),
  24586. 123: uint8(13),
  24587. 124: uint8(13),
  24588. 125: uint8(13),
  24589. 126: uint8(13),
  24590. 127: uint8(13),
  24591. 128: uint8(14),
  24592. 129: uint8(14),
  24593. 130: uint8(14),
  24594. 131: uint8(14),
  24595. 132: uint8(14),
  24596. 133: uint8(14),
  24597. 134: uint8(14),
  24598. 135: uint8(14),
  24599. 136: uint8(14),
  24600. 137: uint8(14),
  24601. 138: uint8(14),
  24602. 139: uint8(14),
  24603. 140: uint8(14),
  24604. 141: uint8(14),
  24605. 142: uint8(14),
  24606. 143: uint8(14),
  24607. 144: uint8(14),
  24608. 145: uint8(14),
  24609. 146: uint8(14),
  24610. 147: uint8(14),
  24611. 148: uint8(14),
  24612. 149: uint8(14),
  24613. 150: uint8(14),
  24614. 151: uint8(14),
  24615. 152: uint8(14),
  24616. 153: uint8(14),
  24617. 154: uint8(14),
  24618. 155: uint8(14),
  24619. 156: uint8(14),
  24620. 157: uint8(14),
  24621. 158: uint8(14),
  24622. 159: uint8(14),
  24623. 160: uint8(14),
  24624. 161: uint8(14),
  24625. 162: uint8(14),
  24626. 163: uint8(14),
  24627. 164: uint8(14),
  24628. 165: uint8(14),
  24629. 166: uint8(14),
  24630. 167: uint8(14),
  24631. 168: uint8(14),
  24632. 169: uint8(14),
  24633. 170: uint8(14),
  24634. 171: uint8(14),
  24635. 172: uint8(14),
  24636. 173: uint8(14),
  24637. 174: uint8(14),
  24638. 175: uint8(14),
  24639. 176: uint8(14),
  24640. 177: uint8(14),
  24641. 178: uint8(14),
  24642. 179: uint8(14),
  24643. 180: uint8(14),
  24644. 181: uint8(14),
  24645. 182: uint8(14),
  24646. 183: uint8(14),
  24647. 184: uint8(14),
  24648. 185: uint8(14),
  24649. 186: uint8(14),
  24650. 187: uint8(14),
  24651. 188: uint8(14),
  24652. 189: uint8(14),
  24653. 190: uint8(14),
  24654. 191: uint8(14),
  24655. 192: uint8(15),
  24656. 193: uint8(15),
  24657. 194: uint8(15),
  24658. 195: uint8(15),
  24659. 196: uint8(15),
  24660. 197: uint8(15),
  24661. 198: uint8(15),
  24662. 199: uint8(15),
  24663. 200: uint8(15),
  24664. 201: uint8(15),
  24665. 202: uint8(15),
  24666. 203: uint8(15),
  24667. 204: uint8(15),
  24668. 205: uint8(15),
  24669. 206: uint8(15),
  24670. 207: uint8(15),
  24671. 208: uint8(15),
  24672. 209: uint8(15),
  24673. 210: uint8(15),
  24674. 211: uint8(15),
  24675. 212: uint8(15),
  24676. 213: uint8(15),
  24677. 214: uint8(15),
  24678. 215: uint8(15),
  24679. 216: uint8(15),
  24680. 217: uint8(15),
  24681. 218: uint8(15),
  24682. 219: uint8(15),
  24683. 220: uint8(15),
  24684. 221: uint8(15),
  24685. 222: uint8(15),
  24686. 223: uint8(15),
  24687. 224: uint8(15),
  24688. 225: uint8(15),
  24689. 226: uint8(15),
  24690. 227: uint8(15),
  24691. 228: uint8(15),
  24692. 229: uint8(15),
  24693. 230: uint8(15),
  24694. 231: uint8(15),
  24695. 232: uint8(15),
  24696. 233: uint8(15),
  24697. 234: uint8(15),
  24698. 235: uint8(15),
  24699. 236: uint8(15),
  24700. 237: uint8(15),
  24701. 238: uint8(15),
  24702. 239: uint8(15),
  24703. 240: uint8(15),
  24704. 241: uint8(15),
  24705. 242: uint8(15),
  24706. 243: uint8(15),
  24707. 244: uint8(15),
  24708. 245: uint8(15),
  24709. 246: uint8(15),
  24710. 247: uint8(15),
  24711. 248: uint8(15),
  24712. 249: uint8(15),
  24713. 250: uint8(15),
  24714. 251: uint8(15),
  24715. 252: uint8(15),
  24716. 253: uint8(15),
  24717. 254: uint8(15),
  24718. 255: uint8(15),
  24719. 258: uint8(16),
  24720. 259: uint8(17),
  24721. 260: uint8(18),
  24722. 261: uint8(18),
  24723. 262: uint8(19),
  24724. 263: uint8(19),
  24725. 264: uint8(20),
  24726. 265: uint8(20),
  24727. 266: uint8(20),
  24728. 267: uint8(20),
  24729. 268: uint8(21),
  24730. 269: uint8(21),
  24731. 270: uint8(21),
  24732. 271: uint8(21),
  24733. 272: uint8(22),
  24734. 273: uint8(22),
  24735. 274: uint8(22),
  24736. 275: uint8(22),
  24737. 276: uint8(22),
  24738. 277: uint8(22),
  24739. 278: uint8(22),
  24740. 279: uint8(22),
  24741. 280: uint8(23),
  24742. 281: uint8(23),
  24743. 282: uint8(23),
  24744. 283: uint8(23),
  24745. 284: uint8(23),
  24746. 285: uint8(23),
  24747. 286: uint8(23),
  24748. 287: uint8(23),
  24749. 288: uint8(24),
  24750. 289: uint8(24),
  24751. 290: uint8(24),
  24752. 291: uint8(24),
  24753. 292: uint8(24),
  24754. 293: uint8(24),
  24755. 294: uint8(24),
  24756. 295: uint8(24),
  24757. 296: uint8(24),
  24758. 297: uint8(24),
  24759. 298: uint8(24),
  24760. 299: uint8(24),
  24761. 300: uint8(24),
  24762. 301: uint8(24),
  24763. 302: uint8(24),
  24764. 303: uint8(24),
  24765. 304: uint8(25),
  24766. 305: uint8(25),
  24767. 306: uint8(25),
  24768. 307: uint8(25),
  24769. 308: uint8(25),
  24770. 309: uint8(25),
  24771. 310: uint8(25),
  24772. 311: uint8(25),
  24773. 312: uint8(25),
  24774. 313: uint8(25),
  24775. 314: uint8(25),
  24776. 315: uint8(25),
  24777. 316: uint8(25),
  24778. 317: uint8(25),
  24779. 318: uint8(25),
  24780. 319: uint8(25),
  24781. 320: uint8(26),
  24782. 321: uint8(26),
  24783. 322: uint8(26),
  24784. 323: uint8(26),
  24785. 324: uint8(26),
  24786. 325: uint8(26),
  24787. 326: uint8(26),
  24788. 327: uint8(26),
  24789. 328: uint8(26),
  24790. 329: uint8(26),
  24791. 330: uint8(26),
  24792. 331: uint8(26),
  24793. 332: uint8(26),
  24794. 333: uint8(26),
  24795. 334: uint8(26),
  24796. 335: uint8(26),
  24797. 336: uint8(26),
  24798. 337: uint8(26),
  24799. 338: uint8(26),
  24800. 339: uint8(26),
  24801. 340: uint8(26),
  24802. 341: uint8(26),
  24803. 342: uint8(26),
  24804. 343: uint8(26),
  24805. 344: uint8(26),
  24806. 345: uint8(26),
  24807. 346: uint8(26),
  24808. 347: uint8(26),
  24809. 348: uint8(26),
  24810. 349: uint8(26),
  24811. 350: uint8(26),
  24812. 351: uint8(26),
  24813. 352: uint8(27),
  24814. 353: uint8(27),
  24815. 354: uint8(27),
  24816. 355: uint8(27),
  24817. 356: uint8(27),
  24818. 357: uint8(27),
  24819. 358: uint8(27),
  24820. 359: uint8(27),
  24821. 360: uint8(27),
  24822. 361: uint8(27),
  24823. 362: uint8(27),
  24824. 363: uint8(27),
  24825. 364: uint8(27),
  24826. 365: uint8(27),
  24827. 366: uint8(27),
  24828. 367: uint8(27),
  24829. 368: uint8(27),
  24830. 369: uint8(27),
  24831. 370: uint8(27),
  24832. 371: uint8(27),
  24833. 372: uint8(27),
  24834. 373: uint8(27),
  24835. 374: uint8(27),
  24836. 375: uint8(27),
  24837. 376: uint8(27),
  24838. 377: uint8(27),
  24839. 378: uint8(27),
  24840. 379: uint8(27),
  24841. 380: uint8(27),
  24842. 381: uint8(27),
  24843. 382: uint8(27),
  24844. 383: uint8(27),
  24845. 384: uint8(28),
  24846. 385: uint8(28),
  24847. 386: uint8(28),
  24848. 387: uint8(28),
  24849. 388: uint8(28),
  24850. 389: uint8(28),
  24851. 390: uint8(28),
  24852. 391: uint8(28),
  24853. 392: uint8(28),
  24854. 393: uint8(28),
  24855. 394: uint8(28),
  24856. 395: uint8(28),
  24857. 396: uint8(28),
  24858. 397: uint8(28),
  24859. 398: uint8(28),
  24860. 399: uint8(28),
  24861. 400: uint8(28),
  24862. 401: uint8(28),
  24863. 402: uint8(28),
  24864. 403: uint8(28),
  24865. 404: uint8(28),
  24866. 405: uint8(28),
  24867. 406: uint8(28),
  24868. 407: uint8(28),
  24869. 408: uint8(28),
  24870. 409: uint8(28),
  24871. 410: uint8(28),
  24872. 411: uint8(28),
  24873. 412: uint8(28),
  24874. 413: uint8(28),
  24875. 414: uint8(28),
  24876. 415: uint8(28),
  24877. 416: uint8(28),
  24878. 417: uint8(28),
  24879. 418: uint8(28),
  24880. 419: uint8(28),
  24881. 420: uint8(28),
  24882. 421: uint8(28),
  24883. 422: uint8(28),
  24884. 423: uint8(28),
  24885. 424: uint8(28),
  24886. 425: uint8(28),
  24887. 426: uint8(28),
  24888. 427: uint8(28),
  24889. 428: uint8(28),
  24890. 429: uint8(28),
  24891. 430: uint8(28),
  24892. 431: uint8(28),
  24893. 432: uint8(28),
  24894. 433: uint8(28),
  24895. 434: uint8(28),
  24896. 435: uint8(28),
  24897. 436: uint8(28),
  24898. 437: uint8(28),
  24899. 438: uint8(28),
  24900. 439: uint8(28),
  24901. 440: uint8(28),
  24902. 441: uint8(28),
  24903. 442: uint8(28),
  24904. 443: uint8(28),
  24905. 444: uint8(28),
  24906. 445: uint8(28),
  24907. 446: uint8(28),
  24908. 447: uint8(28),
  24909. 448: uint8(29),
  24910. 449: uint8(29),
  24911. 450: uint8(29),
  24912. 451: uint8(29),
  24913. 452: uint8(29),
  24914. 453: uint8(29),
  24915. 454: uint8(29),
  24916. 455: uint8(29),
  24917. 456: uint8(29),
  24918. 457: uint8(29),
  24919. 458: uint8(29),
  24920. 459: uint8(29),
  24921. 460: uint8(29),
  24922. 461: uint8(29),
  24923. 462: uint8(29),
  24924. 463: uint8(29),
  24925. 464: uint8(29),
  24926. 465: uint8(29),
  24927. 466: uint8(29),
  24928. 467: uint8(29),
  24929. 468: uint8(29),
  24930. 469: uint8(29),
  24931. 470: uint8(29),
  24932. 471: uint8(29),
  24933. 472: uint8(29),
  24934. 473: uint8(29),
  24935. 474: uint8(29),
  24936. 475: uint8(29),
  24937. 476: uint8(29),
  24938. 477: uint8(29),
  24939. 478: uint8(29),
  24940. 479: uint8(29),
  24941. 480: uint8(29),
  24942. 481: uint8(29),
  24943. 482: uint8(29),
  24944. 483: uint8(29),
  24945. 484: uint8(29),
  24946. 485: uint8(29),
  24947. 486: uint8(29),
  24948. 487: uint8(29),
  24949. 488: uint8(29),
  24950. 489: uint8(29),
  24951. 490: uint8(29),
  24952. 491: uint8(29),
  24953. 492: uint8(29),
  24954. 493: uint8(29),
  24955. 494: uint8(29),
  24956. 495: uint8(29),
  24957. 496: uint8(29),
  24958. 497: uint8(29),
  24959. 498: uint8(29),
  24960. 499: uint8(29),
  24961. 500: uint8(29),
  24962. 501: uint8(29),
  24963. 502: uint8(29),
  24964. 503: uint8(29),
  24965. 504: uint8(29),
  24966. 505: uint8(29),
  24967. 506: uint8(29),
  24968. 507: uint8(29),
  24969. 508: uint8(29),
  24970. 509: uint8(29),
  24971. 510: uint8(29),
  24972. 511: uint8(29),
  24973. }
  24974. var x__length_code = [256]Tuch{
  24975. 1: uint8(1),
  24976. 2: uint8(2),
  24977. 3: uint8(3),
  24978. 4: uint8(4),
  24979. 5: uint8(5),
  24980. 6: uint8(6),
  24981. 7: uint8(7),
  24982. 8: uint8(8),
  24983. 9: uint8(8),
  24984. 10: uint8(9),
  24985. 11: uint8(9),
  24986. 12: uint8(10),
  24987. 13: uint8(10),
  24988. 14: uint8(11),
  24989. 15: uint8(11),
  24990. 16: uint8(12),
  24991. 17: uint8(12),
  24992. 18: uint8(12),
  24993. 19: uint8(12),
  24994. 20: uint8(13),
  24995. 21: uint8(13),
  24996. 22: uint8(13),
  24997. 23: uint8(13),
  24998. 24: uint8(14),
  24999. 25: uint8(14),
  25000. 26: uint8(14),
  25001. 27: uint8(14),
  25002. 28: uint8(15),
  25003. 29: uint8(15),
  25004. 30: uint8(15),
  25005. 31: uint8(15),
  25006. 32: uint8(16),
  25007. 33: uint8(16),
  25008. 34: uint8(16),
  25009. 35: uint8(16),
  25010. 36: uint8(16),
  25011. 37: uint8(16),
  25012. 38: uint8(16),
  25013. 39: uint8(16),
  25014. 40: uint8(17),
  25015. 41: uint8(17),
  25016. 42: uint8(17),
  25017. 43: uint8(17),
  25018. 44: uint8(17),
  25019. 45: uint8(17),
  25020. 46: uint8(17),
  25021. 47: uint8(17),
  25022. 48: uint8(18),
  25023. 49: uint8(18),
  25024. 50: uint8(18),
  25025. 51: uint8(18),
  25026. 52: uint8(18),
  25027. 53: uint8(18),
  25028. 54: uint8(18),
  25029. 55: uint8(18),
  25030. 56: uint8(19),
  25031. 57: uint8(19),
  25032. 58: uint8(19),
  25033. 59: uint8(19),
  25034. 60: uint8(19),
  25035. 61: uint8(19),
  25036. 62: uint8(19),
  25037. 63: uint8(19),
  25038. 64: uint8(20),
  25039. 65: uint8(20),
  25040. 66: uint8(20),
  25041. 67: uint8(20),
  25042. 68: uint8(20),
  25043. 69: uint8(20),
  25044. 70: uint8(20),
  25045. 71: uint8(20),
  25046. 72: uint8(20),
  25047. 73: uint8(20),
  25048. 74: uint8(20),
  25049. 75: uint8(20),
  25050. 76: uint8(20),
  25051. 77: uint8(20),
  25052. 78: uint8(20),
  25053. 79: uint8(20),
  25054. 80: uint8(21),
  25055. 81: uint8(21),
  25056. 82: uint8(21),
  25057. 83: uint8(21),
  25058. 84: uint8(21),
  25059. 85: uint8(21),
  25060. 86: uint8(21),
  25061. 87: uint8(21),
  25062. 88: uint8(21),
  25063. 89: uint8(21),
  25064. 90: uint8(21),
  25065. 91: uint8(21),
  25066. 92: uint8(21),
  25067. 93: uint8(21),
  25068. 94: uint8(21),
  25069. 95: uint8(21),
  25070. 96: uint8(22),
  25071. 97: uint8(22),
  25072. 98: uint8(22),
  25073. 99: uint8(22),
  25074. 100: uint8(22),
  25075. 101: uint8(22),
  25076. 102: uint8(22),
  25077. 103: uint8(22),
  25078. 104: uint8(22),
  25079. 105: uint8(22),
  25080. 106: uint8(22),
  25081. 107: uint8(22),
  25082. 108: uint8(22),
  25083. 109: uint8(22),
  25084. 110: uint8(22),
  25085. 111: uint8(22),
  25086. 112: uint8(23),
  25087. 113: uint8(23),
  25088. 114: uint8(23),
  25089. 115: uint8(23),
  25090. 116: uint8(23),
  25091. 117: uint8(23),
  25092. 118: uint8(23),
  25093. 119: uint8(23),
  25094. 120: uint8(23),
  25095. 121: uint8(23),
  25096. 122: uint8(23),
  25097. 123: uint8(23),
  25098. 124: uint8(23),
  25099. 125: uint8(23),
  25100. 126: uint8(23),
  25101. 127: uint8(23),
  25102. 128: uint8(24),
  25103. 129: uint8(24),
  25104. 130: uint8(24),
  25105. 131: uint8(24),
  25106. 132: uint8(24),
  25107. 133: uint8(24),
  25108. 134: uint8(24),
  25109. 135: uint8(24),
  25110. 136: uint8(24),
  25111. 137: uint8(24),
  25112. 138: uint8(24),
  25113. 139: uint8(24),
  25114. 140: uint8(24),
  25115. 141: uint8(24),
  25116. 142: uint8(24),
  25117. 143: uint8(24),
  25118. 144: uint8(24),
  25119. 145: uint8(24),
  25120. 146: uint8(24),
  25121. 147: uint8(24),
  25122. 148: uint8(24),
  25123. 149: uint8(24),
  25124. 150: uint8(24),
  25125. 151: uint8(24),
  25126. 152: uint8(24),
  25127. 153: uint8(24),
  25128. 154: uint8(24),
  25129. 155: uint8(24),
  25130. 156: uint8(24),
  25131. 157: uint8(24),
  25132. 158: uint8(24),
  25133. 159: uint8(24),
  25134. 160: uint8(25),
  25135. 161: uint8(25),
  25136. 162: uint8(25),
  25137. 163: uint8(25),
  25138. 164: uint8(25),
  25139. 165: uint8(25),
  25140. 166: uint8(25),
  25141. 167: uint8(25),
  25142. 168: uint8(25),
  25143. 169: uint8(25),
  25144. 170: uint8(25),
  25145. 171: uint8(25),
  25146. 172: uint8(25),
  25147. 173: uint8(25),
  25148. 174: uint8(25),
  25149. 175: uint8(25),
  25150. 176: uint8(25),
  25151. 177: uint8(25),
  25152. 178: uint8(25),
  25153. 179: uint8(25),
  25154. 180: uint8(25),
  25155. 181: uint8(25),
  25156. 182: uint8(25),
  25157. 183: uint8(25),
  25158. 184: uint8(25),
  25159. 185: uint8(25),
  25160. 186: uint8(25),
  25161. 187: uint8(25),
  25162. 188: uint8(25),
  25163. 189: uint8(25),
  25164. 190: uint8(25),
  25165. 191: uint8(25),
  25166. 192: uint8(26),
  25167. 193: uint8(26),
  25168. 194: uint8(26),
  25169. 195: uint8(26),
  25170. 196: uint8(26),
  25171. 197: uint8(26),
  25172. 198: uint8(26),
  25173. 199: uint8(26),
  25174. 200: uint8(26),
  25175. 201: uint8(26),
  25176. 202: uint8(26),
  25177. 203: uint8(26),
  25178. 204: uint8(26),
  25179. 205: uint8(26),
  25180. 206: uint8(26),
  25181. 207: uint8(26),
  25182. 208: uint8(26),
  25183. 209: uint8(26),
  25184. 210: uint8(26),
  25185. 211: uint8(26),
  25186. 212: uint8(26),
  25187. 213: uint8(26),
  25188. 214: uint8(26),
  25189. 215: uint8(26),
  25190. 216: uint8(26),
  25191. 217: uint8(26),
  25192. 218: uint8(26),
  25193. 219: uint8(26),
  25194. 220: uint8(26),
  25195. 221: uint8(26),
  25196. 222: uint8(26),
  25197. 223: uint8(26),
  25198. 224: uint8(27),
  25199. 225: uint8(27),
  25200. 226: uint8(27),
  25201. 227: uint8(27),
  25202. 228: uint8(27),
  25203. 229: uint8(27),
  25204. 230: uint8(27),
  25205. 231: uint8(27),
  25206. 232: uint8(27),
  25207. 233: uint8(27),
  25208. 234: uint8(27),
  25209. 235: uint8(27),
  25210. 236: uint8(27),
  25211. 237: uint8(27),
  25212. 238: uint8(27),
  25213. 239: uint8(27),
  25214. 240: uint8(27),
  25215. 241: uint8(27),
  25216. 242: uint8(27),
  25217. 243: uint8(27),
  25218. 244: uint8(27),
  25219. 245: uint8(27),
  25220. 246: uint8(27),
  25221. 247: uint8(27),
  25222. 248: uint8(27),
  25223. 249: uint8(27),
  25224. 250: uint8(27),
  25225. 251: uint8(27),
  25226. 252: uint8(27),
  25227. 253: uint8(27),
  25228. 254: uint8(27),
  25229. 255: uint8(28),
  25230. }
  25231. 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', ' '}
  25232. 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', ' '}
  25233. var Xz_errmsg = [10]uintptr{
  25234. 0: __ccgo_ts + 467,
  25235. 1: __ccgo_ts + 483,
  25236. 2: __ccgo_ts + 494,
  25237. 3: __ccgo_ts + 495,
  25238. 4: __ccgo_ts + 506,
  25239. 5: __ccgo_ts + 519,
  25240. 6: __ccgo_ts + 530,
  25241. 7: __ccgo_ts + 550,
  25242. 8: __ccgo_ts + 563,
  25243. 9: __ccgo_ts + 494,
  25244. }
  25245. var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
  25246. 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"