ccgo_linux_riscv64.go 1.7 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787287882878928790287912879228793287942879528796287972879828799288002880128802288032880428805288062880728808288092881028811288122881328814288152881628817288182881928820288212882228823288242882528826288272882828829288302883128832288332883428835288362883728838288392884028841288422884328844288452884628847288482884928850288512885228853288542885528856288572885828859288602886128862288632886428865288662886728868288692887028871288722887328874288752887628877288782887928880288812888228883288842888528886288872888828889288902889128892288932889428895288962889728898288992890028901289022890328904289052890628907289082890928910289112891228913289142891528916289172891828919289202892128922289232892428925289262892728928289292893028931289322893328934289352893628937289382893928940289412894228943289442894528946289472894828949289502895128952289532895428955289562895728958289592896028961289622896328964289652896628967289682896928970289712897228973289742897528976289772897828979289802898128982289832898428985289862898728988289892899028991289922899328994289952899628997289982899929000290012900229003290042900529006290072900829009290102901129012290132901429015290162901729018290192902029021290222902329024290252902629027290282902929030290312903229033290342903529036290372903829039290402904129042290432904429045290462904729048290492905029051290522905329054290552905629057290582905929060290612906229063290642906529066290672906829069290702907129072290732907429075290762907729078290792908029081290822908329084290852908629087290882908929090290912909229093290942909529096290972909829099291002910129102291032910429105291062910729108291092911029111291122911329114291152911629117291182911929120291212912229123291242912529126291272912829129291302913129132291332913429135291362913729138291392914029141291422914329144291452914629147291482914929150291512915229153291542915529156291572915829159291602916129162291632916429165291662916729168291692917029171291722917329174291752917629177291782917929180291812918229183291842918529186291872918829189291902919129192291932919429195291962919729198291992920029201292022920329204292052920629207292082920929210292112921229213292142921529216292172921829219292202922129222292232922429225292262922729228292292923029231292322923329234292352923629237292382923929240292412924229243292442924529246292472924829249292502925129252292532925429255292562925729258292592926029261292622926329264292652926629267292682926929270292712927229273292742927529276292772927829279292802928129282292832928429285292862928729288292892929029291292922929329294292952929629297292982929929300293012930229303293042930529306293072930829309293102931129312293132931429315293162931729318293192932029321293222932329324293252932629327293282932929330293312933229333293342933529336293372933829339293402934129342293432934429345293462934729348293492935029351293522935329354293552935629357293582935929360293612936229363293642936529366293672936829369293702937129372293732937429375293762937729378293792938029381293822938329384293852938629387293882938929390293912939229393293942939529396293972939829399294002940129402294032940429405294062940729408294092941029411294122941329414294152941629417294182941929420294212942229423294242942529426294272942829429294302943129432294332943429435294362943729438294392944029441294422944329444294452944629447294482944929450294512945229453294542945529456294572945829459294602946129462294632946429465294662946729468294692947029471294722947329474294752947629477294782947929480294812948229483294842948529486294872948829489294902949129492294932949429495294962949729498294992950029501295022950329504295052950629507295082950929510295112951229513295142951529516295172951829519295202952129522295232952429525295262952729528295292953029531295322953329534295352953629537295382953929540295412954229543295442954529546295472954829549295502955129552295532955429555295562955729558295592956029561295622956329564295652956629567295682956929570295712957229573295742957529576295772957829579295802958129582295832958429585295862958729588295892959029591295922959329594295952959629597295982959929600296012960229603296042960529606296072960829609296102961129612296132961429615296162961729618296192962029621296222962329624296252962629627296282962929630296312963229633296342963529636296372963829639296402964129642296432964429645296462964729648296492965029651296522965329654296552965629657296582965929660296612966229663296642966529666296672966829669296702967129672296732967429675296762967729678296792968029681296822968329684296852968629687296882968929690296912969229693296942969529696296972969829699297002970129702297032970429705297062970729708297092971029711297122971329714297152971629717297182971929720297212972229723297242972529726297272972829729297302973129732297332973429735297362973729738297392974029741297422974329744297452974629747297482974929750297512975229753297542975529756297572975829759297602976129762297632976429765297662976729768297692977029771297722977329774297752977629777297782977929780297812978229783297842978529786297872978829789297902979129792297932979429795297962979729798297992980029801298022980329804298052980629807298082980929810298112981229813298142981529816298172981829819298202982129822298232982429825298262982729828298292983029831298322983329834298352983629837298382983929840298412984229843298442984529846298472984829849298502985129852298532985429855298562985729858298592986029861298622986329864298652986629867298682986929870298712987229873298742987529876298772987829879298802988129882298832988429885298862988729888298892989029891298922989329894298952989629897298982989929900299012990229903299042990529906299072990829909299102991129912299132991429915299162991729918299192992029921299222992329924299252992629927299282992929930299312993229933299342993529936299372993829939299402994129942299432994429945299462994729948299492995029951299522995329954299552995629957299582995929960299612996229963299642996529966299672996829969299702997129972299732997429975299762997729978299792998029981299822998329984299852998629987299882998929990299912999229993299942999529996299972999829999300003000130002300033000430005300063000730008300093001030011300123001330014300153001630017300183001930020300213002230023300243002530026300273002830029300303003130032300333003430035300363003730038300393004030041300423004330044300453004630047300483004930050300513005230053300543005530056300573005830059300603006130062300633006430065300663006730068300693007030071300723007330074300753007630077300783007930080300813008230083300843008530086300873008830089300903009130092300933009430095300963009730098300993010030101301023010330104301053010630107301083010930110301113011230113301143011530116301173011830119301203012130122301233012430125301263012730128301293013030131301323013330134301353013630137301383013930140301413014230143301443014530146301473014830149301503015130152301533015430155301563015730158301593016030161301623016330164301653016630167301683016930170301713017230173301743017530176301773017830179301803018130182301833018430185301863018730188301893019030191301923019330194301953019630197301983019930200302013020230203302043020530206302073020830209302103021130212302133021430215302163021730218302193022030221302223022330224302253022630227302283022930230302313023230233302343023530236302373023830239302403024130242302433024430245302463024730248302493025030251302523025330254302553025630257302583025930260302613026230263302643026530266302673026830269302703027130272302733027430275302763027730278302793028030281302823028330284302853028630287302883028930290302913029230293302943029530296302973029830299303003030130302303033030430305303063030730308303093031030311303123031330314303153031630317303183031930320303213032230323303243032530326303273032830329303303033130332303333033430335303363033730338303393034030341303423034330344303453034630347303483034930350303513035230353303543035530356303573035830359303603036130362303633036430365303663036730368303693037030371303723037330374303753037630377303783037930380303813038230383303843038530386303873038830389303903039130392303933039430395303963039730398303993040030401304023040330404304053040630407304083040930410304113041230413304143041530416304173041830419304203042130422304233042430425304263042730428304293043030431304323043330434304353043630437304383043930440304413044230443304443044530446304473044830449304503045130452304533045430455304563045730458304593046030461304623046330464304653046630467304683046930470304713047230473304743047530476304773047830479304803048130482304833048430485304863048730488304893049030491304923049330494304953049630497304983049930500305013050230503305043050530506305073050830509305103051130512305133051430515305163051730518305193052030521305223052330524305253052630527305283052930530305313053230533305343053530536305373053830539305403054130542305433054430545305463054730548305493055030551305523055330554305553055630557305583055930560305613056230563305643056530566305673056830569305703057130572305733057430575305763057730578305793058030581305823058330584305853058630587305883058930590305913059230593305943059530596305973059830599306003060130602306033060430605306063060730608306093061030611306123061330614306153061630617306183061930620306213062230623306243062530626306273062830629306303063130632306333063430635306363063730638306393064030641306423064330644306453064630647306483064930650306513065230653306543065530656306573065830659306603066130662306633066430665306663066730668306693067030671306723067330674306753067630677306783067930680306813068230683306843068530686306873068830689306903069130692306933069430695306963069730698306993070030701307023070330704307053070630707307083070930710307113071230713307143071530716307173071830719307203072130722307233072430725307263072730728307293073030731307323073330734307353073630737307383073930740307413074230743307443074530746307473074830749307503075130752307533075430755307563075730758307593076030761307623076330764307653076630767307683076930770307713077230773307743077530776307773077830779307803078130782307833078430785307863078730788307893079030791307923079330794307953079630797307983079930800308013080230803308043080530806308073080830809308103081130812308133081430815308163081730818308193082030821308223082330824308253082630827308283082930830308313083230833308343083530836308373083830839308403084130842308433084430845308463084730848308493085030851308523085330854308553085630857308583085930860308613086230863308643086530866308673086830869308703087130872308733087430875308763087730878308793088030881308823088330884308853088630887308883088930890308913089230893308943089530896308973089830899309003090130902309033090430905309063090730908309093091030911309123091330914309153091630917309183091930920309213092230923309243092530926309273092830929309303093130932309333093430935309363093730938309393094030941309423094330944309453094630947309483094930950309513095230953309543095530956309573095830959309603096130962309633096430965309663096730968309693097030971309723097330974309753097630977309783097930980309813098230983309843098530986309873098830989309903099130992309933099430995309963099730998309993100031001310023100331004310053100631007310083100931010310113101231013310143101531016310173101831019310203102131022310233102431025310263102731028310293103031031310323103331034310353103631037310383103931040310413104231043310443104531046310473104831049310503105131052310533105431055310563105731058310593106031061310623106331064310653106631067310683106931070310713107231073310743107531076310773107831079310803108131082310833108431085310863108731088310893109031091310923109331094310953109631097310983109931100311013110231103311043110531106311073110831109311103111131112311133111431115311163111731118311193112031121311223112331124311253112631127311283112931130311313113231133311343113531136311373113831139311403114131142311433114431145311463114731148311493115031151311523115331154311553115631157311583115931160311613116231163311643116531166311673116831169311703117131172311733117431175311763117731178311793118031181311823118331184311853118631187311883118931190311913119231193311943119531196311973119831199312003120131202312033120431205312063120731208312093121031211312123121331214312153121631217312183121931220312213122231223312243122531226312273122831229312303123131232312333123431235312363123731238312393124031241312423124331244312453124631247312483124931250312513125231253312543125531256312573125831259312603126131262312633126431265312663126731268312693127031271312723127331274312753127631277312783127931280312813128231283312843128531286312873128831289312903129131292312933129431295312963129731298312993130031301313023130331304313053130631307313083130931310313113131231313313143131531316313173131831319313203132131322313233132431325313263132731328313293133031331313323133331334313353133631337313383133931340313413134231343313443134531346313473134831349313503135131352313533135431355313563135731358313593136031361313623136331364313653136631367313683136931370313713137231373313743137531376313773137831379313803138131382313833138431385313863138731388313893139031391313923139331394313953139631397313983139931400314013140231403314043140531406314073140831409314103141131412314133141431415314163141731418314193142031421314223142331424314253142631427314283142931430314313143231433314343143531436314373143831439314403144131442314433144431445314463144731448314493145031451314523145331454314553145631457314583145931460314613146231463314643146531466314673146831469314703147131472314733147431475314763147731478314793148031481314823148331484314853148631487314883148931490314913149231493314943149531496314973149831499315003150131502315033150431505315063150731508315093151031511315123151331514315153151631517315183151931520315213152231523315243152531526315273152831529315303153131532315333153431535315363153731538315393154031541315423154331544315453154631547315483154931550315513155231553315543155531556315573155831559315603156131562315633156431565315663156731568315693157031571315723157331574315753157631577315783157931580315813158231583315843158531586315873158831589315903159131592315933159431595315963159731598315993160031601316023160331604316053160631607316083160931610316113161231613316143161531616316173161831619316203162131622316233162431625316263162731628316293163031631316323163331634316353163631637316383163931640316413164231643316443164531646316473164831649316503165131652316533165431655316563165731658316593166031661316623166331664316653166631667316683166931670316713167231673316743167531676316773167831679316803168131682316833168431685316863168731688316893169031691316923169331694316953169631697316983169931700317013170231703317043170531706317073170831709317103171131712317133171431715317163171731718317193172031721317223172331724317253172631727317283172931730317313173231733317343173531736317373173831739317403174131742317433174431745317463174731748317493175031751317523175331754317553175631757317583175931760317613176231763317643176531766317673176831769317703177131772317733177431775317763177731778317793178031781317823178331784317853178631787317883178931790317913179231793317943179531796317973179831799318003180131802318033180431805318063180731808318093181031811318123181331814318153181631817318183181931820318213182231823318243182531826318273182831829318303183131832318333183431835318363183731838318393184031841318423184331844318453184631847318483184931850318513185231853318543185531856318573185831859318603186131862318633186431865318663186731868318693187031871318723187331874318753187631877318783187931880318813188231883318843188531886318873188831889318903189131892318933189431895318963189731898318993190031901319023190331904319053190631907319083190931910319113191231913319143191531916319173191831919319203192131922319233192431925319263192731928319293193031931319323193331934319353193631937319383193931940319413194231943319443194531946319473194831949319503195131952319533195431955319563195731958319593196031961319623196331964319653196631967319683196931970319713197231973319743197531976319773197831979319803198131982319833198431985319863198731988319893199031991319923199331994319953199631997319983199932000320013200232003320043200532006320073200832009320103201132012320133201432015320163201732018320193202032021320223202332024320253202632027320283202932030320313203232033320343203532036320373203832039320403204132042320433204432045320463204732048320493205032051320523205332054320553205632057320583205932060320613206232063320643206532066320673206832069320703207132072320733207432075320763207732078320793208032081320823208332084320853208632087320883208932090320913209232093320943209532096320973209832099321003210132102321033210432105321063210732108321093211032111321123211332114321153211632117321183211932120321213212232123321243212532126321273212832129321303213132132321333213432135321363213732138321393214032141321423214332144321453214632147321483214932150321513215232153321543215532156321573215832159321603216132162321633216432165321663216732168321693217032171321723217332174321753217632177321783217932180321813218232183321843218532186321873218832189321903219132192321933219432195321963219732198321993220032201322023220332204322053220632207322083220932210322113221232213322143221532216322173221832219322203222132222322233222432225322263222732228322293223032231322323223332234322353223632237322383223932240322413224232243322443224532246322473224832249322503225132252322533225432255322563225732258322593226032261322623226332264322653226632267322683226932270322713227232273322743227532276322773227832279322803228132282322833228432285322863228732288322893229032291322923229332294322953229632297322983229932300323013230232303323043230532306323073230832309323103231132312323133231432315323163231732318323193232032321323223232332324323253232632327323283232932330323313233232333323343233532336323373233832339323403234132342323433234432345323463234732348323493235032351323523235332354323553235632357323583235932360323613236232363323643236532366323673236832369323703237132372323733237432375323763237732378323793238032381323823238332384323853238632387323883238932390323913239232393323943239532396323973239832399324003240132402324033240432405324063240732408324093241032411324123241332414324153241632417324183241932420324213242232423324243242532426324273242832429324303243132432324333243432435324363243732438324393244032441324423244332444324453244632447324483244932450324513245232453324543245532456324573245832459324603246132462324633246432465324663246732468324693247032471324723247332474324753247632477324783247932480324813248232483324843248532486324873248832489324903249132492324933249432495324963249732498324993250032501325023250332504325053250632507325083250932510325113251232513325143251532516325173251832519325203252132522325233252432525325263252732528325293253032531325323253332534325353253632537325383253932540325413254232543325443254532546325473254832549325503255132552325533255432555325563255732558325593256032561325623256332564325653256632567325683256932570325713257232573325743257532576325773257832579325803258132582325833258432585325863258732588325893259032591325923259332594325953259632597325983259932600326013260232603326043260532606326073260832609326103261132612326133261432615326163261732618326193262032621326223262332624326253262632627326283262932630326313263232633326343263532636326373263832639326403264132642326433264432645326463264732648326493265032651326523265332654326553265632657326583265932660326613266232663326643266532666326673266832669326703267132672326733267432675326763267732678326793268032681326823268332684326853268632687326883268932690326913269232693326943269532696326973269832699327003270132702327033270432705327063270732708327093271032711327123271332714327153271632717327183271932720327213272232723327243272532726327273272832729327303273132732327333273432735327363273732738327393274032741327423274332744327453274632747327483274932750327513275232753327543275532756327573275832759327603276132762327633276432765327663276732768327693277032771327723277332774327753277632777327783277932780327813278232783327843278532786327873278832789327903279132792327933279432795327963279732798327993280032801328023280332804328053280632807328083280932810328113281232813328143281532816328173281832819328203282132822328233282432825328263282732828328293283032831328323283332834328353283632837328383283932840328413284232843328443284532846328473284832849328503285132852328533285432855328563285732858328593286032861328623286332864328653286632867328683286932870328713287232873328743287532876328773287832879328803288132882328833288432885328863288732888328893289032891328923289332894328953289632897328983289932900329013290232903329043290532906329073290832909329103291132912329133291432915329163291732918329193292032921329223292332924329253292632927329283292932930329313293232933329343293532936329373293832939329403294132942329433294432945329463294732948329493295032951329523295332954329553295632957329583295932960329613296232963329643296532966329673296832969329703297132972329733297432975329763297732978329793298032981329823298332984329853298632987329883298932990329913299232993329943299532996329973299832999330003300133002330033300433005330063300733008330093301033011330123301333014330153301633017330183301933020330213302233023330243302533026330273302833029330303303133032330333303433035330363303733038330393304033041330423304333044330453304633047330483304933050330513305233053330543305533056330573305833059330603306133062330633306433065330663306733068330693307033071330723307333074330753307633077330783307933080330813308233083330843308533086330873308833089330903309133092330933309433095330963309733098330993310033101331023310333104331053310633107331083310933110331113311233113331143311533116331173311833119331203312133122331233312433125331263312733128331293313033131331323313333134331353313633137331383313933140331413314233143331443314533146331473314833149331503315133152331533315433155331563315733158331593316033161331623316333164331653316633167331683316933170331713317233173331743317533176331773317833179331803318133182331833318433185331863318733188331893319033191331923319333194331953319633197331983319933200332013320233203332043320533206332073320833209332103321133212332133321433215332163321733218332193322033221332223322333224332253322633227332283322933230332313323233233332343323533236332373323833239332403324133242332433324433245332463324733248332493325033251332523325333254332553325633257332583325933260332613326233263332643326533266332673326833269332703327133272332733327433275332763327733278332793328033281332823328333284332853328633287332883328933290332913329233293332943329533296332973329833299333003330133302333033330433305333063330733308333093331033311333123331333314333153331633317333183331933320333213332233323333243332533326333273332833329333303333133332333333333433335333363333733338333393334033341333423334333344333453334633347333483334933350333513335233353333543335533356333573335833359333603336133362333633336433365333663336733368333693337033371333723337333374333753337633377333783337933380333813338233383333843338533386333873338833389333903339133392333933339433395333963339733398333993340033401334023340333404334053340633407334083340933410334113341233413334143341533416334173341833419334203342133422334233342433425334263342733428334293343033431334323343333434334353343633437334383343933440334413344233443334443344533446334473344833449334503345133452334533345433455334563345733458334593346033461334623346333464334653346633467334683346933470334713347233473334743347533476334773347833479334803348133482334833348433485334863348733488334893349033491334923349333494334953349633497334983349933500335013350233503335043350533506335073350833509335103351133512335133351433515335163351733518335193352033521335223352333524335253352633527335283352933530335313353233533335343353533536335373353833539335403354133542335433354433545335463354733548335493355033551335523355333554335553355633557335583355933560335613356233563335643356533566335673356833569335703357133572335733357433575335763357733578335793358033581335823358333584335853358633587335883358933590335913359233593335943359533596335973359833599336003360133602336033360433605336063360733608336093361033611336123361333614336153361633617336183361933620336213362233623336243362533626336273362833629336303363133632336333363433635336363363733638336393364033641336423364333644336453364633647336483364933650336513365233653336543365533656336573365833659336603366133662336633366433665336663366733668336693367033671336723367333674336753367633677336783367933680336813368233683336843368533686336873368833689336903369133692336933369433695336963369733698336993370033701337023370333704337053370633707337083370933710337113371233713337143371533716337173371833719337203372133722337233372433725337263372733728337293373033731337323373333734337353373633737337383373933740337413374233743337443374533746337473374833749337503375133752337533375433755337563375733758337593376033761337623376333764337653376633767337683376933770337713377233773337743377533776337773377833779337803378133782337833378433785337863378733788337893379033791337923379333794337953379633797337983379933800338013380233803338043380533806338073380833809338103381133812338133381433815338163381733818338193382033821338223382333824338253382633827338283382933830338313383233833338343383533836338373383833839338403384133842338433384433845338463384733848338493385033851338523385333854338553385633857338583385933860338613386233863338643386533866338673386833869338703387133872338733387433875338763387733878338793388033881338823388333884338853388633887338883388933890338913389233893338943389533896338973389833899339003390133902339033390433905339063390733908339093391033911339123391333914339153391633917339183391933920339213392233923339243392533926339273392833929339303393133932339333393433935339363393733938339393394033941339423394333944339453394633947339483394933950339513395233953339543395533956339573395833959339603396133962339633396433965339663396733968339693397033971339723397333974339753397633977339783397933980339813398233983339843398533986339873398833989339903399133992339933399433995339963399733998339993400034001340023400334004340053400634007340083400934010340113401234013340143401534016340173401834019340203402134022340233402434025340263402734028340293403034031340323403334034340353403634037340383403934040340413404234043340443404534046340473404834049340503405134052340533405434055340563405734058340593406034061340623406334064340653406634067340683406934070340713407234073340743407534076340773407834079340803408134082340833408434085340863408734088340893409034091340923409334094340953409634097340983409934100341013410234103341043410534106341073410834109341103411134112341133411434115341163411734118341193412034121341223412334124341253412634127341283412934130341313413234133341343413534136341373413834139341403414134142341433414434145341463414734148341493415034151341523415334154341553415634157341583415934160341613416234163341643416534166341673416834169341703417134172341733417434175341763417734178341793418034181341823418334184341853418634187341883418934190341913419234193341943419534196341973419834199342003420134202342033420434205342063420734208342093421034211342123421334214342153421634217342183421934220342213422234223342243422534226342273422834229342303423134232342333423434235342363423734238342393424034241342423424334244342453424634247342483424934250342513425234253342543425534256342573425834259342603426134262342633426434265342663426734268342693427034271342723427334274342753427634277342783427934280342813428234283342843428534286342873428834289342903429134292342933429434295342963429734298342993430034301343023430334304343053430634307343083430934310343113431234313343143431534316343173431834319343203432134322343233432434325343263432734328343293433034331343323433334334343353433634337343383433934340343413434234343343443434534346343473434834349343503435134352343533435434355343563435734358343593436034361343623436334364343653436634367343683436934370343713437234373343743437534376343773437834379343803438134382343833438434385343863438734388343893439034391343923439334394343953439634397343983439934400344013440234403344043440534406344073440834409344103441134412344133441434415344163441734418344193442034421344223442334424344253442634427344283442934430344313443234433344343443534436344373443834439344403444134442344433444434445344463444734448344493445034451344523445334454344553445634457344583445934460344613446234463344643446534466344673446834469344703447134472344733447434475344763447734478344793448034481344823448334484344853448634487344883448934490344913449234493344943449534496344973449834499345003450134502345033450434505345063450734508345093451034511345123451334514345153451634517345183451934520345213452234523345243452534526345273452834529345303453134532345333453434535345363453734538345393454034541345423454334544345453454634547345483454934550345513455234553345543455534556345573455834559345603456134562345633456434565345663456734568345693457034571345723457334574345753457634577345783457934580345813458234583345843458534586345873458834589345903459134592345933459434595345963459734598345993460034601346023460334604346053460634607346083460934610346113461234613346143461534616346173461834619346203462134622346233462434625346263462734628346293463034631346323463334634346353463634637346383463934640346413464234643346443464534646346473464834649346503465134652346533465434655346563465734658346593466034661346623466334664346653466634667346683466934670346713467234673346743467534676346773467834679346803468134682346833468434685346863468734688346893469034691346923469334694346953469634697346983469934700347013470234703347043470534706347073470834709347103471134712347133471434715347163471734718347193472034721347223472334724347253472634727347283472934730347313473234733347343473534736347373473834739347403474134742347433474434745347463474734748347493475034751347523475334754347553475634757347583475934760347613476234763347643476534766347673476834769347703477134772347733477434775347763477734778347793478034781347823478334784347853478634787347883478934790347913479234793347943479534796347973479834799348003480134802348033480434805348063480734808348093481034811348123481334814348153481634817348183481934820348213482234823348243482534826348273482834829348303483134832348333483434835348363483734838348393484034841348423484334844348453484634847348483484934850348513485234853348543485534856348573485834859348603486134862348633486434865348663486734868348693487034871348723487334874348753487634877348783487934880348813488234883348843488534886348873488834889348903489134892348933489434895348963489734898348993490034901349023490334904349053490634907349083490934910349113491234913349143491534916349173491834919349203492134922349233492434925349263492734928349293493034931349323493334934349353493634937349383493934940349413494234943349443494534946349473494834949349503495134952349533495434955349563495734958349593496034961349623496334964349653496634967349683496934970349713497234973349743497534976349773497834979349803498134982349833498434985349863498734988349893499034991349923499334994349953499634997349983499935000350013500235003350043500535006350073500835009350103501135012350133501435015350163501735018350193502035021350223502335024350253502635027350283502935030350313503235033350343503535036350373503835039350403504135042350433504435045350463504735048350493505035051350523505335054350553505635057350583505935060350613506235063350643506535066350673506835069350703507135072350733507435075350763507735078350793508035081350823508335084350853508635087350883508935090350913509235093350943509535096350973509835099351003510135102351033510435105351063510735108351093511035111351123511335114351153511635117351183511935120351213512235123351243512535126351273512835129351303513135132351333513435135351363513735138351393514035141351423514335144351453514635147351483514935150351513515235153351543515535156351573515835159351603516135162351633516435165351663516735168351693517035171351723517335174351753517635177351783517935180351813518235183351843518535186351873518835189351903519135192351933519435195351963519735198351993520035201352023520335204352053520635207352083520935210352113521235213352143521535216352173521835219352203522135222352233522435225352263522735228352293523035231352323523335234352353523635237352383523935240352413524235243352443524535246352473524835249352503525135252352533525435255352563525735258352593526035261352623526335264352653526635267352683526935270352713527235273352743527535276352773527835279352803528135282352833528435285352863528735288352893529035291352923529335294352953529635297352983529935300353013530235303353043530535306353073530835309353103531135312353133531435315353163531735318353193532035321353223532335324353253532635327353283532935330353313533235333353343533535336353373533835339353403534135342353433534435345353463534735348353493535035351353523535335354353553535635357353583535935360353613536235363353643536535366353673536835369353703537135372353733537435375353763537735378353793538035381353823538335384353853538635387353883538935390353913539235393353943539535396353973539835399354003540135402354033540435405354063540735408354093541035411354123541335414354153541635417354183541935420354213542235423354243542535426354273542835429354303543135432354333543435435354363543735438354393544035441354423544335444354453544635447354483544935450354513545235453354543545535456354573545835459354603546135462354633546435465354663546735468354693547035471354723547335474354753547635477354783547935480354813548235483354843548535486354873548835489354903549135492354933549435495354963549735498354993550035501355023550335504355053550635507355083550935510355113551235513355143551535516355173551835519355203552135522355233552435525355263552735528355293553035531355323553335534355353553635537355383553935540355413554235543355443554535546355473554835549355503555135552355533555435555355563555735558355593556035561355623556335564355653556635567355683556935570355713557235573355743557535576355773557835579355803558135582355833558435585355863558735588355893559035591355923559335594355953559635597355983559935600356013560235603356043560535606356073560835609356103561135612356133561435615356163561735618356193562035621356223562335624356253562635627356283562935630356313563235633356343563535636356373563835639356403564135642356433564435645356463564735648356493565035651356523565335654356553565635657356583565935660356613566235663356643566535666356673566835669356703567135672356733567435675356763567735678356793568035681356823568335684356853568635687356883568935690356913569235693356943569535696356973569835699357003570135702357033570435705357063570735708357093571035711357123571335714357153571635717357183571935720357213572235723357243572535726357273572835729357303573135732357333573435735357363573735738357393574035741357423574335744357453574635747357483574935750357513575235753357543575535756357573575835759357603576135762357633576435765357663576735768357693577035771357723577335774357753577635777357783577935780357813578235783357843578535786357873578835789357903579135792357933579435795357963579735798357993580035801358023580335804358053580635807358083580935810358113581235813358143581535816358173581835819358203582135822358233582435825358263582735828358293583035831358323583335834358353583635837358383583935840358413584235843358443584535846358473584835849358503585135852358533585435855358563585735858358593586035861358623586335864358653586635867358683586935870358713587235873358743587535876358773587835879358803588135882358833588435885358863588735888358893589035891358923589335894358953589635897358983589935900359013590235903359043590535906359073590835909359103591135912359133591435915359163591735918359193592035921359223592335924359253592635927359283592935930359313593235933359343593535936359373593835939359403594135942359433594435945359463594735948359493595035951359523595335954359553595635957359583595935960359613596235963359643596535966359673596835969359703597135972359733597435975359763597735978359793598035981359823598335984359853598635987359883598935990359913599235993359943599535996359973599835999360003600136002360033600436005360063600736008360093601036011360123601336014360153601636017360183601936020360213602236023360243602536026360273602836029360303603136032360333603436035360363603736038360393604036041360423604336044360453604636047360483604936050360513605236053360543605536056360573605836059360603606136062360633606436065360663606736068360693607036071360723607336074360753607636077360783607936080360813608236083360843608536086360873608836089360903609136092360933609436095360963609736098360993610036101361023610336104361053610636107361083610936110361113611236113361143611536116361173611836119361203612136122361233612436125361263612736128361293613036131361323613336134361353613636137361383613936140361413614236143361443614536146361473614836149361503615136152361533615436155361563615736158361593616036161361623616336164361653616636167361683616936170361713617236173361743617536176361773617836179361803618136182361833618436185361863618736188361893619036191361923619336194361953619636197361983619936200362013620236203362043620536206362073620836209362103621136212362133621436215362163621736218362193622036221362223622336224362253622636227362283622936230362313623236233362343623536236362373623836239362403624136242362433624436245362463624736248362493625036251362523625336254362553625636257362583625936260362613626236263362643626536266362673626836269362703627136272362733627436275362763627736278362793628036281362823628336284362853628636287362883628936290362913629236293362943629536296362973629836299363003630136302363033630436305363063630736308363093631036311363123631336314363153631636317363183631936320363213632236323363243632536326363273632836329363303633136332363333633436335363363633736338363393634036341363423634336344363453634636347363483634936350363513635236353363543635536356363573635836359363603636136362363633636436365363663636736368363693637036371363723637336374363753637636377363783637936380363813638236383363843638536386363873638836389363903639136392363933639436395363963639736398363993640036401364023640336404364053640636407364083640936410364113641236413364143641536416364173641836419364203642136422364233642436425364263642736428364293643036431364323643336434364353643636437364383643936440364413644236443364443644536446364473644836449364503645136452364533645436455364563645736458364593646036461364623646336464364653646636467364683646936470364713647236473364743647536476364773647836479364803648136482364833648436485364863648736488364893649036491364923649336494364953649636497364983649936500365013650236503365043650536506365073650836509365103651136512365133651436515365163651736518365193652036521365223652336524365253652636527365283652936530365313653236533365343653536536365373653836539365403654136542365433654436545365463654736548365493655036551365523655336554365553655636557365583655936560365613656236563365643656536566365673656836569365703657136572365733657436575365763657736578365793658036581365823658336584365853658636587365883658936590365913659236593365943659536596365973659836599366003660136602366033660436605366063660736608366093661036611366123661336614366153661636617366183661936620366213662236623366243662536626366273662836629366303663136632366333663436635366363663736638366393664036641366423664336644366453664636647366483664936650366513665236653366543665536656366573665836659366603666136662366633666436665366663666736668366693667036671366723667336674366753667636677366783667936680366813668236683366843668536686366873668836689366903669136692366933669436695366963669736698366993670036701367023670336704367053670636707367083670936710367113671236713367143671536716367173671836719367203672136722367233672436725367263672736728367293673036731367323673336734367353673636737367383673936740367413674236743367443674536746367473674836749367503675136752367533675436755367563675736758367593676036761367623676336764367653676636767367683676936770367713677236773367743677536776367773677836779367803678136782367833678436785367863678736788367893679036791367923679336794367953679636797367983679936800368013680236803368043680536806368073680836809368103681136812368133681436815368163681736818368193682036821368223682336824368253682636827368283682936830368313683236833368343683536836368373683836839368403684136842368433684436845368463684736848368493685036851368523685336854368553685636857368583685936860368613686236863368643686536866368673686836869368703687136872368733687436875368763687736878368793688036881368823688336884368853688636887368883688936890368913689236893368943689536896368973689836899369003690136902369033690436905369063690736908369093691036911369123691336914369153691636917369183691936920369213692236923369243692536926369273692836929369303693136932369333693436935369363693736938369393694036941369423694336944369453694636947369483694936950369513695236953369543695536956369573695836959369603696136962369633696436965369663696736968369693697036971369723697336974369753697636977369783697936980369813698236983369843698536986369873698836989369903699136992369933699436995369963699736998369993700037001370023700337004370053700637007370083700937010370113701237013370143701537016370173701837019370203702137022370233702437025370263702737028370293703037031370323703337034370353703637037370383703937040370413704237043370443704537046370473704837049370503705137052370533705437055370563705737058370593706037061370623706337064370653706637067370683706937070370713707237073370743707537076370773707837079370803708137082370833708437085370863708737088370893709037091370923709337094370953709637097370983709937100371013710237103371043710537106371073710837109371103711137112371133711437115371163711737118371193712037121371223712337124371253712637127371283712937130371313713237133371343713537136371373713837139371403714137142371433714437145371463714737148371493715037151371523715337154371553715637157371583715937160371613716237163371643716537166371673716837169371703717137172371733717437175371763717737178371793718037181371823718337184371853718637187371883718937190371913719237193371943719537196371973719837199372003720137202372033720437205372063720737208372093721037211372123721337214372153721637217372183721937220372213722237223372243722537226372273722837229372303723137232372333723437235372363723737238372393724037241372423724337244372453724637247372483724937250372513725237253372543725537256372573725837259372603726137262372633726437265372663726737268372693727037271372723727337274372753727637277372783727937280372813728237283372843728537286372873728837289372903729137292372933729437295372963729737298372993730037301373023730337304373053730637307373083730937310373113731237313373143731537316373173731837319373203732137322373233732437325373263732737328373293733037331373323733337334373353733637337373383733937340373413734237343373443734537346373473734837349373503735137352373533735437355373563735737358373593736037361373623736337364373653736637367373683736937370373713737237373373743737537376373773737837379373803738137382373833738437385373863738737388373893739037391373923739337394373953739637397373983739937400374013740237403374043740537406374073740837409374103741137412374133741437415374163741737418374193742037421374223742337424374253742637427374283742937430374313743237433374343743537436374373743837439374403744137442374433744437445374463744737448374493745037451374523745337454374553745637457374583745937460374613746237463374643746537466374673746837469374703747137472374733747437475374763747737478374793748037481374823748337484374853748637487374883748937490374913749237493374943749537496374973749837499375003750137502375033750437505375063750737508375093751037511375123751337514375153751637517375183751937520375213752237523375243752537526375273752837529375303753137532375333753437535375363753737538375393754037541375423754337544375453754637547375483754937550375513755237553375543755537556375573755837559375603756137562375633756437565375663756737568375693757037571375723757337574375753757637577375783757937580375813758237583375843758537586375873758837589375903759137592375933759437595375963759737598375993760037601376023760337604376053760637607376083760937610376113761237613376143761537616376173761837619376203762137622376233762437625376263762737628376293763037631376323763337634376353763637637376383763937640376413764237643376443764537646376473764837649376503765137652376533765437655376563765737658376593766037661376623766337664376653766637667376683766937670376713767237673376743767537676376773767837679376803768137682376833768437685376863768737688376893769037691376923769337694376953769637697376983769937700377013770237703377043770537706377073770837709377103771137712377133771437715377163771737718377193772037721377223772337724377253772637727377283772937730377313773237733377343773537736377373773837739377403774137742377433774437745377463774737748377493775037751377523775337754377553775637757377583775937760377613776237763377643776537766377673776837769377703777137772377733777437775377763777737778377793778037781377823778337784377853778637787377883778937790377913779237793377943779537796377973779837799378003780137802378033780437805378063780737808378093781037811378123781337814378153781637817378183781937820378213782237823378243782537826378273782837829378303783137832378333783437835378363783737838378393784037841378423784337844378453784637847378483784937850378513785237853378543785537856378573785837859378603786137862378633786437865378663786737868378693787037871378723787337874378753787637877378783787937880378813788237883378843788537886378873788837889378903789137892378933789437895378963789737898378993790037901379023790337904379053790637907379083790937910379113791237913379143791537916379173791837919379203792137922379233792437925379263792737928379293793037931379323793337934379353793637937379383793937940379413794237943379443794537946379473794837949379503795137952379533795437955379563795737958379593796037961379623796337964379653796637967379683796937970379713797237973379743797537976379773797837979379803798137982379833798437985379863798737988379893799037991379923799337994379953799637997379983799938000380013800238003380043800538006380073800838009380103801138012380133801438015380163801738018380193802038021380223802338024380253802638027380283802938030380313803238033380343803538036380373803838039380403804138042380433804438045380463804738048380493805038051380523805338054380553805638057380583805938060380613806238063380643806538066380673806838069380703807138072380733807438075380763807738078380793808038081380823808338084380853808638087380883808938090380913809238093380943809538096380973809838099381003810138102381033810438105381063810738108381093811038111381123811338114381153811638117381183811938120381213812238123381243812538126381273812838129381303813138132381333813438135381363813738138381393814038141381423814338144381453814638147381483814938150381513815238153381543815538156381573815838159381603816138162381633816438165381663816738168381693817038171381723817338174381753817638177381783817938180381813818238183381843818538186381873818838189381903819138192381933819438195381963819738198381993820038201382023820338204382053820638207382083820938210382113821238213382143821538216382173821838219382203822138222382233822438225382263822738228382293823038231382323823338234382353823638237382383823938240382413824238243382443824538246382473824838249382503825138252382533825438255382563825738258382593826038261382623826338264382653826638267382683826938270382713827238273382743827538276382773827838279382803828138282382833828438285382863828738288382893829038291382923829338294382953829638297382983829938300383013830238303383043830538306383073830838309383103831138312383133831438315383163831738318383193832038321383223832338324383253832638327383283832938330383313833238333383343833538336383373833838339383403834138342383433834438345383463834738348383493835038351383523835338354383553835638357383583835938360383613836238363383643836538366383673836838369383703837138372383733837438375383763837738378383793838038381383823838338384383853838638387383883838938390383913839238393383943839538396383973839838399384003840138402384033840438405384063840738408384093841038411384123841338414384153841638417384183841938420384213842238423384243842538426384273842838429384303843138432384333843438435384363843738438384393844038441384423844338444384453844638447384483844938450384513845238453384543845538456384573845838459384603846138462384633846438465384663846738468384693847038471384723847338474384753847638477384783847938480384813848238483384843848538486384873848838489384903849138492384933849438495384963849738498384993850038501385023850338504385053850638507385083850938510385113851238513385143851538516385173851838519385203852138522385233852438525385263852738528385293853038531385323853338534385353853638537385383853938540385413854238543385443854538546385473854838549385503855138552385533855438555385563855738558385593856038561385623856338564385653856638567385683856938570385713857238573385743857538576385773857838579385803858138582385833858438585385863858738588385893859038591385923859338594385953859638597385983859938600386013860238603386043860538606386073860838609386103861138612386133861438615386163861738618386193862038621386223862338624386253862638627386283862938630386313863238633386343863538636386373863838639386403864138642386433864438645386463864738648386493865038651386523865338654386553865638657386583865938660386613866238663386643866538666386673866838669386703867138672386733867438675386763867738678386793868038681386823868338684386853868638687386883868938690386913869238693386943869538696386973869838699387003870138702387033870438705387063870738708387093871038711387123871338714387153871638717387183871938720387213872238723387243872538726387273872838729387303873138732387333873438735387363873738738387393874038741387423874338744387453874638747387483874938750387513875238753387543875538756387573875838759387603876138762387633876438765387663876738768387693877038771387723877338774387753877638777387783877938780387813878238783387843878538786387873878838789387903879138792387933879438795387963879738798387993880038801388023880338804388053880638807388083880938810388113881238813388143881538816388173881838819388203882138822388233882438825388263882738828388293883038831388323883338834388353883638837388383883938840388413884238843388443884538846388473884838849388503885138852388533885438855388563885738858388593886038861388623886338864388653886638867388683886938870388713887238873388743887538876388773887838879388803888138882388833888438885388863888738888388893889038891388923889338894388953889638897388983889938900389013890238903389043890538906389073890838909389103891138912389133891438915389163891738918389193892038921389223892338924389253892638927389283892938930389313893238933389343893538936389373893838939389403894138942389433894438945389463894738948389493895038951389523895338954389553895638957389583895938960389613896238963389643896538966389673896838969389703897138972389733897438975389763897738978389793898038981389823898338984389853898638987389883898938990389913899238993389943899538996389973899838999390003900139002390033900439005390063900739008390093901039011390123901339014390153901639017390183901939020390213902239023390243902539026390273902839029390303903139032390333903439035390363903739038390393904039041390423904339044390453904639047390483904939050390513905239053390543905539056390573905839059390603906139062390633906439065390663906739068390693907039071390723907339074390753907639077390783907939080390813908239083390843908539086390873908839089390903909139092390933909439095390963909739098390993910039101391023910339104391053910639107391083910939110391113911239113391143911539116391173911839119391203912139122391233912439125391263912739128391293913039131391323913339134391353913639137391383913939140391413914239143391443914539146391473914839149391503915139152391533915439155391563915739158391593916039161391623916339164391653916639167391683916939170391713917239173391743917539176391773917839179391803918139182391833918439185391863918739188391893919039191391923919339194391953919639197391983919939200392013920239203392043920539206392073920839209392103921139212392133921439215392163921739218392193922039221392223922339224392253922639227392283922939230392313923239233392343923539236392373923839239392403924139242392433924439245392463924739248392493925039251392523925339254392553925639257392583925939260392613926239263392643926539266392673926839269392703927139272392733927439275392763927739278392793928039281392823928339284392853928639287392883928939290392913929239293392943929539296392973929839299393003930139302393033930439305393063930739308393093931039311393123931339314393153931639317393183931939320393213932239323393243932539326393273932839329393303933139332393333933439335393363933739338393393934039341393423934339344393453934639347393483934939350393513935239353393543935539356393573935839359393603936139362393633936439365393663936739368393693937039371393723937339374393753937639377393783937939380393813938239383393843938539386393873938839389393903939139392393933939439395393963939739398393993940039401394023940339404394053940639407394083940939410394113941239413394143941539416394173941839419394203942139422394233942439425394263942739428394293943039431394323943339434394353943639437394383943939440394413944239443394443944539446394473944839449394503945139452394533945439455394563945739458394593946039461394623946339464394653946639467394683946939470394713947239473394743947539476394773947839479394803948139482394833948439485394863948739488394893949039491394923949339494394953949639497394983949939500395013950239503395043950539506395073950839509395103951139512395133951439515395163951739518395193952039521395223952339524395253952639527395283952939530395313953239533395343953539536395373953839539395403954139542395433954439545395463954739548395493955039551395523955339554395553955639557395583955939560395613956239563395643956539566395673956839569395703957139572395733957439575395763957739578395793958039581395823958339584395853958639587395883958939590395913959239593395943959539596395973959839599396003960139602396033960439605396063960739608396093961039611396123961339614396153961639617396183961939620396213962239623396243962539626396273962839629396303963139632396333963439635396363963739638396393964039641396423964339644396453964639647396483964939650396513965239653396543965539656396573965839659396603966139662396633966439665396663966739668396693967039671396723967339674396753967639677396783967939680396813968239683396843968539686396873968839689396903969139692396933969439695396963969739698396993970039701397023970339704397053970639707397083970939710397113971239713397143971539716397173971839719397203972139722397233972439725397263972739728397293973039731397323973339734397353973639737397383973939740397413974239743397443974539746397473974839749397503975139752397533975439755397563975739758397593976039761397623976339764397653976639767397683976939770397713977239773397743977539776397773977839779397803978139782397833978439785397863978739788397893979039791397923979339794397953979639797397983979939800398013980239803398043980539806398073980839809398103981139812398133981439815398163981739818398193982039821398223982339824398253982639827398283982939830398313983239833398343983539836398373983839839398403984139842398433984439845398463984739848398493985039851398523985339854398553985639857398583985939860398613986239863398643986539866398673986839869398703987139872398733987439875398763987739878398793988039881398823988339884398853988639887398883988939890398913989239893398943989539896398973989839899399003990139902399033990439905399063990739908399093991039911399123991339914399153991639917399183991939920399213992239923399243992539926399273992839929399303993139932399333993439935399363993739938399393994039941399423994339944399453994639947399483994939950399513995239953399543995539956399573995839959399603996139962399633996439965399663996739968399693997039971399723997339974399753997639977399783997939980399813998239983399843998539986399873998839989399903999139992399933999439995399963999739998399994000040001400024000340004400054000640007400084000940010400114001240013400144001540016400174001840019400204002140022400234002440025400264002740028400294003040031400324003340034400354003640037400384003940040400414004240043400444004540046400474004840049400504005140052400534005440055400564005740058400594006040061400624006340064400654006640067400684006940070400714007240073400744007540076400774007840079400804008140082400834008440085400864008740088400894009040091400924009340094400954009640097400984009940100401014010240103401044010540106401074010840109401104011140112401134011440115401164011740118401194012040121401224012340124401254012640127401284012940130401314013240133401344013540136401374013840139401404014140142401434014440145401464014740148401494015040151401524015340154401554015640157401584015940160401614016240163401644016540166401674016840169401704017140172401734017440175401764017740178401794018040181401824018340184401854018640187401884018940190401914019240193401944019540196401974019840199402004020140202402034020440205402064020740208402094021040211402124021340214402154021640217402184021940220402214022240223402244022540226402274022840229402304023140232402334023440235402364023740238402394024040241402424024340244402454024640247402484024940250402514025240253402544025540256402574025840259402604026140262402634026440265402664026740268402694027040271402724027340274402754027640277402784027940280402814028240283402844028540286402874028840289402904029140292402934029440295402964029740298402994030040301403024030340304403054030640307403084030940310403114031240313403144031540316403174031840319403204032140322403234032440325403264032740328403294033040331403324033340334403354033640337403384033940340403414034240343403444034540346403474034840349403504035140352403534035440355403564035740358403594036040361403624036340364403654036640367403684036940370403714037240373403744037540376403774037840379403804038140382403834038440385403864038740388403894039040391403924039340394403954039640397403984039940400404014040240403404044040540406404074040840409404104041140412404134041440415404164041740418404194042040421404224042340424404254042640427404284042940430404314043240433404344043540436404374043840439404404044140442404434044440445404464044740448404494045040451404524045340454404554045640457404584045940460404614046240463404644046540466404674046840469404704047140472404734047440475404764047740478404794048040481404824048340484404854048640487404884048940490404914049240493404944049540496404974049840499405004050140502405034050440505405064050740508405094051040511405124051340514405154051640517405184051940520405214052240523405244052540526405274052840529405304053140532405334053440535405364053740538405394054040541405424054340544405454054640547405484054940550405514055240553405544055540556405574055840559405604056140562405634056440565405664056740568405694057040571405724057340574405754057640577405784057940580405814058240583405844058540586405874058840589405904059140592405934059440595405964059740598405994060040601406024060340604406054060640607406084060940610406114061240613406144061540616406174061840619406204062140622406234062440625406264062740628406294063040631406324063340634406354063640637406384063940640406414064240643406444064540646406474064840649406504065140652406534065440655406564065740658406594066040661406624066340664406654066640667406684066940670406714067240673406744067540676406774067840679406804068140682406834068440685406864068740688406894069040691406924069340694406954069640697406984069940700407014070240703407044070540706407074070840709407104071140712407134071440715407164071740718407194072040721407224072340724407254072640727407284072940730407314073240733407344073540736407374073840739407404074140742407434074440745407464074740748407494075040751407524075340754407554075640757407584075940760407614076240763407644076540766407674076840769407704077140772407734077440775407764077740778407794078040781407824078340784407854078640787407884078940790407914079240793407944079540796407974079840799408004080140802408034080440805408064080740808408094081040811408124081340814408154081640817408184081940820408214082240823408244082540826408274082840829408304083140832408334083440835408364083740838408394084040841408424084340844408454084640847408484084940850408514085240853408544085540856408574085840859408604086140862408634086440865408664086740868408694087040871408724087340874408754087640877408784087940880408814088240883408844088540886408874088840889408904089140892408934089440895408964089740898408994090040901409024090340904409054090640907409084090940910409114091240913409144091540916409174091840919409204092140922409234092440925409264092740928409294093040931409324093340934409354093640937409384093940940409414094240943409444094540946409474094840949409504095140952409534095440955409564095740958409594096040961409624096340964409654096640967409684096940970409714097240973409744097540976409774097840979409804098140982409834098440985409864098740988409894099040991409924099340994409954099640997409984099941000410014100241003410044100541006410074100841009410104101141012410134101441015410164101741018410194102041021410224102341024410254102641027410284102941030410314103241033410344103541036410374103841039410404104141042410434104441045410464104741048410494105041051410524105341054410554105641057410584105941060410614106241063410644106541066410674106841069410704107141072410734107441075410764107741078410794108041081410824108341084410854108641087410884108941090410914109241093410944109541096410974109841099411004110141102411034110441105411064110741108411094111041111411124111341114411154111641117411184111941120411214112241123411244112541126411274112841129411304113141132411334113441135411364113741138411394114041141411424114341144411454114641147411484114941150411514115241153411544115541156411574115841159411604116141162411634116441165411664116741168411694117041171411724117341174411754117641177411784117941180411814118241183411844118541186411874118841189411904119141192411934119441195411964119741198411994120041201412024120341204412054120641207412084120941210412114121241213412144121541216412174121841219412204122141222412234122441225412264122741228412294123041231412324123341234412354123641237412384123941240412414124241243412444124541246412474124841249412504125141252412534125441255412564125741258412594126041261412624126341264412654126641267412684126941270412714127241273412744127541276412774127841279412804128141282412834128441285412864128741288412894129041291412924129341294412954129641297412984129941300413014130241303413044130541306413074130841309413104131141312413134131441315413164131741318413194132041321413224132341324413254132641327413284132941330413314133241333413344133541336413374133841339413404134141342413434134441345413464134741348413494135041351413524135341354413554135641357413584135941360413614136241363413644136541366413674136841369413704137141372413734137441375413764137741378413794138041381413824138341384413854138641387413884138941390413914139241393413944139541396413974139841399414004140141402414034140441405414064140741408414094141041411414124141341414414154141641417414184141941420414214142241423414244142541426414274142841429414304143141432414334143441435414364143741438414394144041441414424144341444414454144641447414484144941450414514145241453414544145541456414574145841459414604146141462414634146441465414664146741468414694147041471414724147341474414754147641477414784147941480414814148241483414844148541486414874148841489414904149141492414934149441495414964149741498414994150041501415024150341504415054150641507415084150941510415114151241513415144151541516415174151841519415204152141522415234152441525415264152741528415294153041531415324153341534415354153641537415384153941540415414154241543415444154541546415474154841549415504155141552415534155441555415564155741558415594156041561415624156341564415654156641567415684156941570415714157241573415744157541576415774157841579415804158141582415834158441585415864158741588415894159041591415924159341594415954159641597415984159941600416014160241603416044160541606416074160841609416104161141612416134161441615416164161741618416194162041621416224162341624416254162641627416284162941630416314163241633416344163541636416374163841639416404164141642416434164441645416464164741648416494165041651416524165341654416554165641657416584165941660416614166241663416644166541666416674166841669416704167141672416734167441675416764167741678416794168041681416824168341684416854168641687416884168941690416914169241693416944169541696416974169841699417004170141702417034170441705417064170741708417094171041711417124171341714417154171641717417184171941720417214172241723417244172541726417274172841729417304173141732417334173441735417364173741738417394174041741417424174341744417454174641747417484174941750417514175241753417544175541756417574175841759417604176141762417634176441765417664176741768417694177041771417724177341774417754177641777417784177941780417814178241783417844178541786417874178841789417904179141792417934179441795417964179741798417994180041801418024180341804418054180641807418084180941810418114181241813418144181541816418174181841819418204182141822418234182441825418264182741828418294183041831418324183341834418354183641837418384183941840418414184241843418444184541846418474184841849418504185141852418534185441855418564185741858418594186041861418624186341864418654186641867418684186941870418714187241873418744187541876418774187841879418804188141882418834188441885418864188741888418894189041891418924189341894418954189641897418984189941900419014190241903419044190541906419074190841909419104191141912419134191441915419164191741918419194192041921419224192341924419254192641927419284192941930419314193241933419344193541936419374193841939419404194141942419434194441945419464194741948419494195041951419524195341954419554195641957419584195941960419614196241963419644196541966419674196841969419704197141972419734197441975419764197741978419794198041981419824198341984419854198641987419884198941990419914199241993419944199541996419974199841999420004200142002420034200442005420064200742008420094201042011420124201342014420154201642017420184201942020420214202242023420244202542026420274202842029420304203142032420334203442035420364203742038420394204042041420424204342044420454204642047420484204942050420514205242053420544205542056420574205842059420604206142062420634206442065420664206742068420694207042071420724207342074420754207642077420784207942080420814208242083420844208542086420874208842089420904209142092420934209442095420964209742098420994210042101421024210342104421054210642107421084210942110421114211242113421144211542116421174211842119421204212142122421234212442125421264212742128421294213042131421324213342134421354213642137421384213942140421414214242143421444214542146421474214842149421504215142152421534215442155421564215742158421594216042161421624216342164421654216642167421684216942170421714217242173421744217542176421774217842179421804218142182421834218442185421864218742188421894219042191421924219342194421954219642197421984219942200422014220242203422044220542206422074220842209422104221142212422134221442215422164221742218422194222042221422224222342224422254222642227422284222942230422314223242233422344223542236422374223842239422404224142242422434224442245422464224742248422494225042251422524225342254422554225642257422584225942260422614226242263422644226542266422674226842269422704227142272422734227442275422764227742278422794228042281422824228342284422854228642287422884228942290422914229242293422944229542296422974229842299423004230142302423034230442305423064230742308423094231042311423124231342314423154231642317423184231942320423214232242323423244232542326423274232842329423304233142332423334233442335423364233742338423394234042341423424234342344423454234642347423484234942350423514235242353423544235542356423574235842359423604236142362423634236442365423664236742368423694237042371423724237342374423754237642377423784237942380423814238242383423844238542386423874238842389423904239142392423934239442395423964239742398423994240042401424024240342404424054240642407424084240942410424114241242413424144241542416424174241842419424204242142422424234242442425424264242742428424294243042431424324243342434424354243642437424384243942440424414244242443424444244542446424474244842449424504245142452424534245442455424564245742458424594246042461424624246342464424654246642467424684246942470424714247242473424744247542476424774247842479424804248142482424834248442485424864248742488424894249042491424924249342494424954249642497424984249942500425014250242503425044250542506425074250842509425104251142512425134251442515425164251742518425194252042521425224252342524425254252642527425284252942530425314253242533425344253542536425374253842539425404254142542425434254442545425464254742548425494255042551425524255342554425554255642557425584255942560425614256242563425644256542566425674256842569425704257142572425734257442575425764257742578425794258042581425824258342584425854258642587425884258942590425914259242593425944259542596425974259842599426004260142602426034260442605426064260742608426094261042611426124261342614426154261642617426184261942620426214262242623426244262542626426274262842629426304263142632426334263442635426364263742638426394264042641426424264342644426454264642647426484264942650426514265242653426544265542656426574265842659426604266142662426634266442665426664266742668426694267042671426724267342674426754267642677426784267942680426814268242683426844268542686426874268842689426904269142692426934269442695426964269742698426994270042701427024270342704427054270642707427084270942710427114271242713427144271542716427174271842719427204272142722427234272442725427264272742728427294273042731427324273342734427354273642737427384273942740427414274242743427444274542746427474274842749427504275142752427534275442755427564275742758427594276042761427624276342764427654276642767427684276942770427714277242773427744277542776427774277842779427804278142782427834278442785427864278742788427894279042791427924279342794427954279642797427984279942800428014280242803428044280542806428074280842809428104281142812428134281442815428164281742818428194282042821428224282342824428254282642827428284282942830428314283242833428344283542836428374283842839428404284142842428434284442845428464284742848428494285042851428524285342854428554285642857428584285942860428614286242863428644286542866428674286842869428704287142872428734287442875428764287742878428794288042881428824288342884428854288642887428884288942890428914289242893428944289542896428974289842899429004290142902429034290442905429064290742908429094291042911429124291342914429154291642917429184291942920429214292242923429244292542926429274292842929429304293142932429334293442935429364293742938429394294042941429424294342944429454294642947429484294942950429514295242953429544295542956429574295842959429604296142962429634296442965429664296742968429694297042971429724297342974429754297642977429784297942980429814298242983429844298542986429874298842989429904299142992429934299442995429964299742998429994300043001430024300343004430054300643007430084300943010430114301243013430144301543016430174301843019430204302143022430234302443025430264302743028430294303043031430324303343034430354303643037430384303943040430414304243043430444304543046430474304843049430504305143052430534305443055430564305743058430594306043061430624306343064430654306643067430684306943070430714307243073430744307543076430774307843079430804308143082430834308443085430864308743088430894309043091430924309343094430954309643097430984309943100431014310243103431044310543106431074310843109431104311143112431134311443115431164311743118431194312043121431224312343124431254312643127431284312943130431314313243133431344313543136431374313843139431404314143142431434314443145431464314743148431494315043151431524315343154431554315643157431584315943160431614316243163431644316543166431674316843169431704317143172431734317443175431764317743178431794318043181431824318343184431854318643187431884318943190431914319243193431944319543196431974319843199432004320143202432034320443205432064320743208432094321043211432124321343214432154321643217432184321943220432214322243223432244322543226432274322843229432304323143232432334323443235432364323743238432394324043241432424324343244432454324643247432484324943250432514325243253432544325543256432574325843259432604326143262432634326443265432664326743268432694327043271432724327343274432754327643277432784327943280432814328243283432844328543286432874328843289432904329143292432934329443295432964329743298432994330043301433024330343304433054330643307433084330943310433114331243313433144331543316433174331843319433204332143322433234332443325433264332743328433294333043331433324333343334433354333643337433384333943340433414334243343433444334543346433474334843349433504335143352433534335443355433564335743358433594336043361433624336343364433654336643367433684336943370433714337243373433744337543376433774337843379433804338143382433834338443385433864338743388433894339043391433924339343394433954339643397433984339943400434014340243403434044340543406434074340843409434104341143412434134341443415434164341743418434194342043421434224342343424434254342643427434284342943430434314343243433434344343543436434374343843439434404344143442434434344443445434464344743448434494345043451434524345343454434554345643457434584345943460434614346243463434644346543466434674346843469434704347143472434734347443475434764347743478434794348043481434824348343484434854348643487434884348943490434914349243493434944349543496434974349843499435004350143502435034350443505435064350743508435094351043511435124351343514435154351643517435184351943520435214352243523435244352543526435274352843529435304353143532435334353443535435364353743538435394354043541435424354343544435454354643547435484354943550435514355243553435544355543556435574355843559435604356143562435634356443565435664356743568435694357043571435724357343574435754357643577435784357943580435814358243583435844358543586435874358843589435904359143592435934359443595435964359743598435994360043601436024360343604436054360643607436084360943610436114361243613436144361543616436174361843619436204362143622436234362443625436264362743628436294363043631436324363343634436354363643637436384363943640436414364243643436444364543646436474364843649436504365143652436534365443655436564365743658436594366043661436624366343664436654366643667436684366943670436714367243673436744367543676436774367843679436804368143682436834368443685436864368743688436894369043691436924369343694436954369643697436984369943700437014370243703437044370543706437074370843709437104371143712437134371443715437164371743718437194372043721437224372343724437254372643727437284372943730437314373243733437344373543736437374373843739437404374143742437434374443745437464374743748437494375043751437524375343754437554375643757437584375943760437614376243763437644376543766437674376843769437704377143772437734377443775437764377743778437794378043781437824378343784437854378643787437884378943790437914379243793437944379543796437974379843799438004380143802438034380443805438064380743808438094381043811438124381343814438154381643817438184381943820438214382243823438244382543826438274382843829438304383143832438334383443835438364383743838438394384043841438424384343844438454384643847438484384943850438514385243853438544385543856438574385843859438604386143862438634386443865438664386743868438694387043871438724387343874438754387643877438784387943880438814388243883438844388543886438874388843889438904389143892438934389443895438964389743898438994390043901439024390343904439054390643907439084390943910439114391243913439144391543916439174391843919439204392143922439234392443925439264392743928439294393043931439324393343934439354393643937439384393943940439414394243943439444394543946439474394843949439504395143952439534395443955439564395743958439594396043961439624396343964439654396643967439684396943970439714397243973439744397543976439774397843979439804398143982439834398443985439864398743988439894399043991439924399343994439954399643997439984399944000440014400244003440044400544006440074400844009440104401144012440134401444015440164401744018440194402044021440224402344024440254402644027440284402944030440314403244033440344403544036440374403844039440404404144042440434404444045440464404744048440494405044051440524405344054440554405644057440584405944060440614406244063440644406544066440674406844069440704407144072440734407444075440764407744078440794408044081440824408344084440854408644087440884408944090440914409244093440944409544096440974409844099441004410144102441034410444105441064410744108441094411044111441124411344114441154411644117441184411944120441214412244123441244412544126441274412844129441304413144132441334413444135441364413744138441394414044141441424414344144441454414644147441484414944150441514415244153441544415544156441574415844159441604416144162441634416444165441664416744168441694417044171441724417344174441754417644177441784417944180441814418244183441844418544186441874418844189441904419144192441934419444195441964419744198441994420044201442024420344204442054420644207442084420944210442114421244213442144421544216442174421844219442204422144222442234422444225442264422744228442294423044231442324423344234442354423644237442384423944240442414424244243442444424544246442474424844249442504425144252442534425444255442564425744258442594426044261442624426344264442654426644267442684426944270442714427244273442744427544276442774427844279442804428144282442834428444285442864428744288442894429044291442924429344294442954429644297442984429944300443014430244303443044430544306443074430844309443104431144312443134431444315443164431744318443194432044321443224432344324443254432644327443284432944330443314433244333443344433544336443374433844339443404434144342443434434444345443464434744348443494435044351443524435344354443554435644357443584435944360443614436244363443644436544366443674436844369443704437144372443734437444375443764437744378443794438044381443824438344384443854438644387443884438944390443914439244393443944439544396443974439844399444004440144402444034440444405444064440744408444094441044411444124441344414444154441644417444184441944420444214442244423444244442544426444274442844429444304443144432444334443444435444364443744438444394444044441444424444344444444454444644447444484444944450444514445244453444544445544456444574445844459444604446144462444634446444465444664446744468444694447044471444724447344474444754447644477444784447944480444814448244483444844448544486444874448844489444904449144492444934449444495444964449744498444994450044501445024450344504445054450644507445084450944510445114451244513445144451544516445174451844519445204452144522445234452444525445264452744528445294453044531445324453344534445354453644537445384453944540445414454244543445444454544546445474454844549445504455144552445534455444555445564455744558445594456044561445624456344564445654456644567445684456944570445714457244573445744457544576445774457844579445804458144582445834458444585445864458744588445894459044591445924459344594445954459644597445984459944600446014460244603446044460544606446074460844609446104461144612446134461444615446164461744618446194462044621446224462344624446254462644627446284462944630446314463244633446344463544636446374463844639446404464144642446434464444645446464464744648446494465044651446524465344654446554465644657446584465944660446614466244663446644466544666446674466844669446704467144672446734467444675446764467744678446794468044681446824468344684446854468644687446884468944690446914469244693446944469544696446974469844699447004470144702447034470444705447064470744708447094471044711447124471344714447154471644717447184471944720447214472244723447244472544726447274472844729447304473144732447334473444735447364473744738447394474044741447424474344744447454474644747447484474944750447514475244753447544475544756447574475844759447604476144762447634476444765447664476744768447694477044771447724477344774447754477644777447784477944780447814478244783447844478544786447874478844789447904479144792447934479444795447964479744798447994480044801448024480344804448054480644807448084480944810448114481244813448144481544816448174481844819448204482144822448234482444825448264482744828448294483044831448324483344834448354483644837448384483944840448414484244843448444484544846448474484844849448504485144852448534485444855448564485744858448594486044861448624486344864448654486644867448684486944870448714487244873448744487544876448774487844879448804488144882448834488444885448864488744888448894489044891448924489344894448954489644897448984489944900449014490244903449044490544906449074490844909449104491144912449134491444915449164491744918449194492044921449224492344924449254492644927449284492944930449314493244933449344493544936449374493844939449404494144942449434494444945449464494744948449494495044951449524495344954449554495644957449584495944960449614496244963449644496544966449674496844969449704497144972449734497444975449764497744978449794498044981449824498344984449854498644987449884498944990449914499244993449944499544996449974499844999450004500145002450034500445005450064500745008450094501045011450124501345014450154501645017450184501945020450214502245023450244502545026450274502845029450304503145032450334503445035450364503745038450394504045041450424504345044450454504645047450484504945050450514505245053450544505545056450574505845059450604506145062450634506445065450664506745068450694507045071450724507345074450754507645077450784507945080450814508245083450844508545086450874508845089450904509145092450934509445095450964509745098450994510045101451024510345104451054510645107451084510945110451114511245113451144511545116451174511845119451204512145122451234512445125451264512745128451294513045131451324513345134451354513645137451384513945140451414514245143451444514545146451474514845149451504515145152451534515445155451564515745158451594516045161451624516345164451654516645167451684516945170451714517245173451744517545176451774517845179451804518145182451834518445185451864518745188451894519045191451924519345194451954519645197451984519945200452014520245203452044520545206452074520845209452104521145212452134521445215452164521745218452194522045221452224522345224452254522645227452284522945230452314523245233452344523545236452374523845239452404524145242452434524445245452464524745248452494525045251452524525345254452554525645257452584525945260452614526245263452644526545266452674526845269452704527145272452734527445275452764527745278452794528045281452824528345284452854528645287452884528945290452914529245293452944529545296452974529845299453004530145302453034530445305453064530745308453094531045311453124531345314453154531645317453184531945320453214532245323453244532545326453274532845329453304533145332453334533445335453364533745338453394534045341453424534345344453454534645347453484534945350453514535245353453544535545356453574535845359453604536145362453634536445365453664536745368453694537045371453724537345374453754537645377453784537945380453814538245383453844538545386453874538845389453904539145392453934539445395453964539745398453994540045401454024540345404454054540645407454084540945410454114541245413454144541545416454174541845419454204542145422454234542445425454264542745428454294543045431454324543345434454354543645437454384543945440454414544245443454444544545446454474544845449454504545145452454534545445455454564545745458454594546045461454624546345464454654546645467454684546945470454714547245473454744547545476454774547845479454804548145482454834548445485454864548745488454894549045491454924549345494454954549645497454984549945500455014550245503455044550545506455074550845509455104551145512455134551445515455164551745518455194552045521455224552345524455254552645527455284552945530455314553245533455344553545536455374553845539455404554145542455434554445545455464554745548455494555045551455524555345554455554555645557455584555945560455614556245563455644556545566455674556845569455704557145572455734557445575455764557745578455794558045581455824558345584455854558645587455884558945590455914559245593455944559545596455974559845599456004560145602456034560445605456064560745608456094561045611456124561345614456154561645617456184561945620456214562245623456244562545626456274562845629456304563145632456334563445635456364563745638456394564045641456424564345644456454564645647456484564945650456514565245653456544565545656456574565845659456604566145662456634566445665456664566745668456694567045671456724567345674456754567645677456784567945680456814568245683456844568545686456874568845689456904569145692456934569445695456964569745698456994570045701457024570345704457054570645707457084570945710457114571245713457144571545716457174571845719457204572145722457234572445725457264572745728457294573045731457324573345734457354573645737457384573945740457414574245743457444574545746457474574845749457504575145752457534575445755457564575745758457594576045761457624576345764457654576645767457684576945770457714577245773457744577545776457774577845779457804578145782457834578445785457864578745788457894579045791457924579345794457954579645797457984579945800458014580245803458044580545806458074580845809458104581145812458134581445815458164581745818458194582045821458224582345824458254582645827458284582945830458314583245833458344583545836458374583845839458404584145842458434584445845458464584745848458494585045851458524585345854458554585645857458584585945860458614586245863458644586545866458674586845869458704587145872458734587445875458764587745878458794588045881458824588345884458854588645887458884588945890458914589245893458944589545896458974589845899459004590145902459034590445905459064590745908459094591045911459124591345914459154591645917459184591945920459214592245923459244592545926459274592845929459304593145932459334593445935459364593745938459394594045941459424594345944459454594645947459484594945950459514595245953459544595545956459574595845959459604596145962459634596445965459664596745968459694597045971459724597345974459754597645977459784597945980459814598245983459844598545986459874598845989459904599145992459934599445995459964599745998459994600046001460024600346004460054600646007460084600946010460114601246013460144601546016460174601846019460204602146022460234602446025460264602746028460294603046031460324603346034460354603646037460384603946040460414604246043460444604546046460474604846049460504605146052460534605446055460564605746058460594606046061460624606346064460654606646067460684606946070460714607246073460744607546076460774607846079460804608146082460834608446085460864608746088460894609046091460924609346094460954609646097460984609946100461014610246103461044610546106461074610846109461104611146112461134611446115461164611746118461194612046121461224612346124461254612646127461284612946130461314613246133461344613546136461374613846139461404614146142461434614446145461464614746148461494615046151461524615346154461554615646157461584615946160461614616246163461644616546166461674616846169461704617146172461734617446175461764617746178461794618046181461824618346184461854618646187461884618946190461914619246193461944619546196461974619846199462004620146202462034620446205462064620746208462094621046211462124621346214462154621646217462184621946220462214622246223462244622546226462274622846229462304623146232462334623446235462364623746238462394624046241462424624346244462454624646247462484624946250462514625246253462544625546256462574625846259462604626146262462634626446265462664626746268462694627046271462724627346274462754627646277462784627946280462814628246283462844628546286462874628846289462904629146292462934629446295462964629746298462994630046301463024630346304463054630646307463084630946310463114631246313463144631546316463174631846319463204632146322463234632446325463264632746328463294633046331463324633346334463354633646337463384633946340463414634246343463444634546346463474634846349463504635146352463534635446355463564635746358463594636046361463624636346364463654636646367463684636946370463714637246373463744637546376463774637846379463804638146382463834638446385463864638746388463894639046391463924639346394463954639646397463984639946400464014640246403464044640546406464074640846409464104641146412464134641446415464164641746418464194642046421464224642346424464254642646427464284642946430464314643246433464344643546436464374643846439464404644146442464434644446445464464644746448464494645046451464524645346454464554645646457464584645946460464614646246463464644646546466464674646846469464704647146472464734647446475464764647746478464794648046481464824648346484464854648646487464884648946490464914649246493464944649546496464974649846499465004650146502465034650446505465064650746508465094651046511465124651346514465154651646517465184651946520465214652246523465244652546526465274652846529465304653146532465334653446535465364653746538465394654046541465424654346544465454654646547465484654946550465514655246553465544655546556465574655846559465604656146562465634656446565465664656746568465694657046571465724657346574465754657646577465784657946580465814658246583465844658546586465874658846589465904659146592465934659446595465964659746598465994660046601466024660346604466054660646607466084660946610466114661246613466144661546616466174661846619466204662146622466234662446625466264662746628466294663046631466324663346634466354663646637466384663946640466414664246643466444664546646466474664846649466504665146652466534665446655466564665746658466594666046661466624666346664466654666646667466684666946670466714667246673466744667546676466774667846679466804668146682466834668446685466864668746688466894669046691466924669346694466954669646697466984669946700467014670246703467044670546706467074670846709467104671146712467134671446715467164671746718467194672046721467224672346724467254672646727467284672946730467314673246733467344673546736467374673846739467404674146742467434674446745467464674746748467494675046751467524675346754467554675646757467584675946760467614676246763467644676546766467674676846769467704677146772467734677446775467764677746778467794678046781467824678346784467854678646787467884678946790467914679246793467944679546796467974679846799468004680146802468034680446805468064680746808468094681046811468124681346814468154681646817468184681946820468214682246823468244682546826468274682846829468304683146832468334683446835468364683746838468394684046841468424684346844468454684646847468484684946850468514685246853468544685546856468574685846859468604686146862468634686446865468664686746868468694687046871468724687346874468754687646877468784687946880468814688246883468844688546886468874688846889468904689146892468934689446895468964689746898468994690046901469024690346904469054690646907469084690946910469114691246913469144691546916469174691846919469204692146922469234692446925469264692746928469294693046931469324693346934469354693646937469384693946940469414694246943469444694546946469474694846949469504695146952469534695446955469564695746958469594696046961469624696346964469654696646967469684696946970469714697246973469744697546976469774697846979469804698146982469834698446985469864698746988469894699046991469924699346994469954699646997469984699947000470014700247003470044700547006470074700847009470104701147012470134701447015470164701747018470194702047021470224702347024470254702647027470284702947030470314703247033470344703547036470374703847039470404704147042470434704447045470464704747048470494705047051470524705347054470554705647057470584705947060470614706247063470644706547066470674706847069470704707147072470734707447075470764707747078470794708047081470824708347084470854708647087470884708947090470914709247093470944709547096470974709847099471004710147102471034710447105471064710747108471094711047111471124711347114471154711647117471184711947120471214712247123471244712547126471274712847129471304713147132471334713447135471364713747138471394714047141471424714347144471454714647147471484714947150471514715247153471544715547156471574715847159471604716147162471634716447165471664716747168471694717047171471724717347174471754717647177471784717947180471814718247183471844718547186471874718847189471904719147192471934719447195471964719747198471994720047201472024720347204472054720647207472084720947210472114721247213472144721547216472174721847219472204722147222472234722447225472264722747228472294723047231472324723347234472354723647237472384723947240472414724247243472444724547246472474724847249472504725147252472534725447255472564725747258472594726047261472624726347264472654726647267472684726947270472714727247273472744727547276472774727847279472804728147282472834728447285472864728747288472894729047291472924729347294472954729647297472984729947300473014730247303473044730547306473074730847309473104731147312473134731447315473164731747318473194732047321473224732347324473254732647327473284732947330473314733247333473344733547336473374733847339473404734147342473434734447345473464734747348473494735047351473524735347354473554735647357473584735947360473614736247363473644736547366473674736847369473704737147372473734737447375473764737747378473794738047381473824738347384473854738647387473884738947390473914739247393473944739547396473974739847399474004740147402474034740447405474064740747408474094741047411474124741347414474154741647417474184741947420474214742247423474244742547426474274742847429474304743147432474334743447435474364743747438474394744047441474424744347444474454744647447474484744947450474514745247453474544745547456474574745847459474604746147462474634746447465474664746747468474694747047471474724747347474474754747647477474784747947480474814748247483474844748547486474874748847489474904749147492474934749447495474964749747498474994750047501475024750347504475054750647507475084750947510475114751247513475144751547516475174751847519475204752147522475234752447525475264752747528475294753047531475324753347534475354753647537475384753947540475414754247543475444754547546475474754847549475504755147552475534755447555475564755747558475594756047561475624756347564475654756647567475684756947570475714757247573475744757547576475774757847579475804758147582475834758447585475864758747588475894759047591475924759347594475954759647597475984759947600476014760247603476044760547606476074760847609476104761147612476134761447615476164761747618476194762047621476224762347624476254762647627476284762947630476314763247633476344763547636476374763847639476404764147642476434764447645476464764747648476494765047651476524765347654476554765647657476584765947660476614766247663476644766547666476674766847669476704767147672476734767447675476764767747678476794768047681476824768347684476854768647687476884768947690476914769247693476944769547696476974769847699477004770147702477034770447705477064770747708477094771047711477124771347714477154771647717477184771947720477214772247723477244772547726477274772847729477304773147732477334773447735477364773747738477394774047741477424774347744477454774647747477484774947750477514775247753477544775547756477574775847759477604776147762477634776447765477664776747768477694777047771477724777347774477754777647777477784777947780477814778247783477844778547786477874778847789477904779147792477934779447795477964779747798477994780047801478024780347804478054780647807478084780947810478114781247813478144781547816478174781847819478204782147822478234782447825478264782747828478294783047831478324783347834478354783647837478384783947840478414784247843478444784547846478474784847849478504785147852478534785447855478564785747858478594786047861478624786347864478654786647867478684786947870478714787247873478744787547876478774787847879478804788147882478834788447885478864788747888478894789047891478924789347894478954789647897478984789947900479014790247903479044790547906479074790847909479104791147912479134791447915479164791747918479194792047921479224792347924479254792647927479284792947930479314793247933479344793547936479374793847939479404794147942479434794447945479464794747948479494795047951479524795347954479554795647957479584795947960479614796247963479644796547966479674796847969479704797147972479734797447975479764797747978479794798047981479824798347984479854798647987479884798947990479914799247993479944799547996479974799847999480004800148002480034800448005480064800748008480094801048011480124801348014480154801648017480184801948020480214802248023480244802548026480274802848029480304803148032480334803448035480364803748038480394804048041480424804348044480454804648047480484804948050480514805248053480544805548056480574805848059480604806148062480634806448065480664806748068480694807048071480724807348074480754807648077480784807948080480814808248083480844808548086480874808848089480904809148092480934809448095480964809748098480994810048101481024810348104481054810648107481084810948110481114811248113481144811548116481174811848119481204812148122481234812448125481264812748128481294813048131481324813348134481354813648137481384813948140481414814248143481444814548146481474814848149481504815148152481534815448155481564815748158481594816048161481624816348164481654816648167481684816948170481714817248173481744817548176481774817848179481804818148182481834818448185481864818748188481894819048191481924819348194481954819648197481984819948200482014820248203482044820548206482074820848209482104821148212482134821448215482164821748218482194822048221482224822348224482254822648227482284822948230482314823248233482344823548236482374823848239482404824148242482434824448245482464824748248482494825048251482524825348254482554825648257482584825948260482614826248263482644826548266482674826848269482704827148272482734827448275482764827748278482794828048281482824828348284482854828648287482884828948290482914829248293482944829548296482974829848299483004830148302483034830448305483064830748308483094831048311483124831348314483154831648317483184831948320483214832248323483244832548326483274832848329483304833148332483334833448335483364833748338483394834048341483424834348344483454834648347483484834948350483514835248353483544835548356483574835848359483604836148362483634836448365483664836748368483694837048371483724837348374483754837648377483784837948380483814838248383483844838548386483874838848389483904839148392483934839448395483964839748398483994840048401484024840348404484054840648407484084840948410484114841248413484144841548416484174841848419484204842148422484234842448425484264842748428484294843048431484324843348434484354843648437484384843948440484414844248443484444844548446484474844848449484504845148452484534845448455484564845748458484594846048461484624846348464484654846648467484684846948470484714847248473484744847548476484774847848479484804848148482484834848448485484864848748488484894849048491484924849348494484954849648497484984849948500485014850248503485044850548506485074850848509485104851148512485134851448515485164851748518485194852048521485224852348524485254852648527485284852948530485314853248533485344853548536485374853848539485404854148542485434854448545485464854748548485494855048551485524855348554485554855648557485584855948560485614856248563485644856548566485674856848569485704857148572485734857448575485764857748578485794858048581485824858348584485854858648587485884858948590485914859248593485944859548596485974859848599486004860148602486034860448605486064860748608486094861048611486124861348614486154861648617486184861948620486214862248623486244862548626486274862848629486304863148632486334863448635486364863748638486394864048641486424864348644486454864648647486484864948650486514865248653486544865548656486574865848659486604866148662486634866448665486664866748668486694867048671486724867348674486754867648677486784867948680486814868248683486844868548686486874868848689486904869148692486934869448695486964869748698486994870048701487024870348704487054870648707487084870948710487114871248713487144871548716487174871848719487204872148722487234872448725487264872748728487294873048731487324873348734487354873648737487384873948740487414874248743487444874548746487474874848749487504875148752487534875448755487564875748758487594876048761487624876348764487654876648767487684876948770487714877248773487744877548776487774877848779487804878148782487834878448785487864878748788487894879048791487924879348794487954879648797487984879948800488014880248803488044880548806488074880848809488104881148812488134881448815488164881748818488194882048821488224882348824488254882648827488284882948830488314883248833488344883548836488374883848839488404884148842488434884448845488464884748848488494885048851488524885348854488554885648857488584885948860488614886248863488644886548866488674886848869488704887148872488734887448875488764887748878488794888048881488824888348884488854888648887488884888948890488914889248893488944889548896488974889848899489004890148902489034890448905489064890748908489094891048911489124891348914489154891648917489184891948920489214892248923489244892548926489274892848929489304893148932489334893448935489364893748938489394894048941489424894348944489454894648947489484894948950489514895248953489544895548956489574895848959489604896148962489634896448965489664896748968489694897048971489724897348974489754897648977489784897948980489814898248983489844898548986489874898848989489904899148992489934899448995489964899748998489994900049001490024900349004490054900649007
  1. // Code generated for linux/riscv64 by 'generator -D__sync_fetch_and_add(var, val)=__sync_fetch_and_add_impl(&(var), val) --predef int __sync_fetch_and_add_impl(int *p, int val); --predef int __sync_bool_compare_and_swap(void *p, void *old, void *new); --predef int initstate_r(unsigned int seed, char statebuf[], __SIZE_TYPE__ statelen, struct random_data *buf); --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-macro=m_ --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -extended-errors -ignore-unsupported-alignment -ignore-link-errors -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libexpat/include/linux/riscv64 -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libfreetype/include/linux/riscv64 -lexpat -lfreetype -o libfontconfig.go --package-name libfontconfig src/.libs/libfontconfig.a', DO NOT EDIT.
  2. //go:build linux && riscv64
  3. package libfontconfig
  4. import (
  5. "reflect"
  6. "unsafe"
  7. "modernc.org/libc"
  8. "modernc.org/libexpat"
  9. "modernc.org/libfreetype"
  10. )
  11. var _ reflect.Type
  12. var _ unsafe.Pointer
  13. const m_ALIGNOF_DOUBLE = 8
  14. const m_ALIGNOF_VOID_P = 8
  15. const m_ARG_MAX = 131072
  16. const m_BC_BASE_MAX = 99
  17. const m_BC_DIM_MAX = 2048
  18. const m_BC_SCALE_MAX = 99
  19. const m_BC_STRING_MAX = 1000
  20. const m_BIG_ENDIAN = "__BIG_ENDIAN"
  21. const m_BUFSIZ = 1024
  22. const m_BYTE_ORDER = "__BYTE_ORDER"
  23. const m_CHARCLASS_NAME_MAX = 14
  24. const m_CHAR_BIT = 8
  25. const m_CHAR_MAX = 255
  26. const m_CHAR_MIN = 0
  27. const m_CLOCKS_PER_SEC = 1000000
  28. const m_CLOCK_BOOTTIME = 7
  29. const m_CLOCK_BOOTTIME_ALARM = 9
  30. const m_CLOCK_MONOTONIC = 1
  31. const m_CLOCK_MONOTONIC_COARSE = 6
  32. const m_CLOCK_MONOTONIC_RAW = 4
  33. const m_CLOCK_PROCESS_CPUTIME_ID = 2
  34. const m_CLOCK_REALTIME = 0
  35. const m_CLOCK_REALTIME_ALARM = 8
  36. const m_CLOCK_REALTIME_COARSE = 5
  37. const m_CLOCK_SGI_CYCLE = 10
  38. const m_CLOCK_TAI = 11
  39. const m_CLOCK_THREAD_CPUTIME_ID = 3
  40. const m_COLL_WEIGHTS_MAX = 2
  41. const m_CONFIGDIR = "/etc/fonts/conf.d"
  42. const m_DBL_DECIMAL_DIG = 17
  43. const m_DBL_DIG = 15
  44. const m_DBL_EPSILON = 2.22044604925031308085e-16
  45. const m_DBL_HAS_SUBNORM = 1
  46. const m_DBL_MANT_DIG = 53
  47. const m_DBL_MAX = 1.79769313486231570815e+308
  48. const m_DBL_MAX_10_EXP = 308
  49. const m_DBL_MAX_EXP = 1024
  50. const m_DBL_MIN = 2.22507385850720138309e-308
  51. const m_DBL_TRUE_MIN = 4.94065645841246544177e-324
  52. const m_DECIMAL_DIG = 17
  53. const m_DELAYTIMER_MAX = 0x7fffffff
  54. const m_E2BIG = 7
  55. const m_EACCES = 13
  56. const m_EADDRINUSE = 98
  57. const m_EADDRNOTAVAIL = 99
  58. const m_EADV = 68
  59. const m_EAFNOSUPPORT = 97
  60. const m_EAGAIN = 11
  61. const m_EALREADY = 114
  62. const m_EBADE = 52
  63. const m_EBADF = 9
  64. const m_EBADFD = 77
  65. const m_EBADMSG = 74
  66. const m_EBADR = 53
  67. const m_EBADRQC = 56
  68. const m_EBADSLT = 57
  69. const m_EBFONT = 59
  70. const m_EBUSY = 16
  71. const m_ECANCELED = 125
  72. const m_ECHILD = 10
  73. const m_ECHRNG = 44
  74. const m_ECOMM = 70
  75. const m_ECONNABORTED = 103
  76. const m_ECONNREFUSED = 111
  77. const m_ECONNRESET = 104
  78. const m_EDEADLK = 35
  79. const m_EDEADLOCK = "EDEADLK"
  80. const m_EDESTADDRREQ = 89
  81. const m_EDOM = 33
  82. const m_EDOTDOT = 73
  83. const m_EDQUOT = 122
  84. const m_EEXIST = 17
  85. const m_EFAULT = 14
  86. const m_EFBIG = 27
  87. const m_EHOSTDOWN = 112
  88. const m_EHOSTUNREACH = 113
  89. const m_EHWPOISON = 133
  90. const m_EIDRM = 43
  91. const m_EILSEQ = 84
  92. const m_EINPROGRESS = 115
  93. const m_EINTR = 4
  94. const m_EINVAL = 22
  95. const m_EIO = 5
  96. const m_EISCONN = 106
  97. const m_EISDIR = 21
  98. const m_EISNAM = 120
  99. const m_EKEYEXPIRED = 127
  100. const m_EKEYREJECTED = 129
  101. const m_EKEYREVOKED = 128
  102. const m_EL2HLT = 51
  103. const m_EL2NSYNC = 45
  104. const m_EL3HLT = 46
  105. const m_EL3RST = 47
  106. const m_ELIBACC = 79
  107. const m_ELIBBAD = 80
  108. const m_ELIBEXEC = 83
  109. const m_ELIBMAX = 82
  110. const m_ELIBSCN = 81
  111. const m_ELNRNG = 48
  112. const m_ELOOP = 40
  113. const m_EMEDIUMTYPE = 124
  114. const m_EMFILE = 24
  115. const m_EMLINK = 31
  116. const m_EMSGSIZE = 90
  117. const m_EMULTIHOP = 72
  118. const m_ENABLE_NLS = 1
  119. const m_ENAMETOOLONG = 36
  120. const m_ENAVAIL = 119
  121. const m_ENETDOWN = 100
  122. const m_ENETRESET = 102
  123. const m_ENETUNREACH = 101
  124. const m_ENFILE = 23
  125. const m_ENOANO = 55
  126. const m_ENOBUFS = 105
  127. const m_ENOCSI = 50
  128. const m_ENODATA = 61
  129. const m_ENODEV = 19
  130. const m_ENOENT = 2
  131. const m_ENOEXEC = 8
  132. const m_ENOKEY = 126
  133. const m_ENOLCK = 37
  134. const m_ENOLINK = 67
  135. const m_ENOMEDIUM = 123
  136. const m_ENOMEM = 12
  137. const m_ENOMSG = 42
  138. const m_ENONET = 64
  139. const m_ENOPKG = 65
  140. const m_ENOPROTOOPT = 92
  141. const m_ENOSPC = 28
  142. const m_ENOSR = 63
  143. const m_ENOSTR = 60
  144. const m_ENOSYS = 38
  145. const m_ENOTBLK = 15
  146. const m_ENOTCONN = 107
  147. const m_ENOTDIR = 20
  148. const m_ENOTEMPTY = 39
  149. const m_ENOTNAM = 118
  150. const m_ENOTRECOVERABLE = 131
  151. const m_ENOTSOCK = 88
  152. const m_ENOTSUP = "EOPNOTSUPP"
  153. const m_ENOTTY = 25
  154. const m_ENOTUNIQ = 76
  155. const m_ENXIO = 6
  156. const m_EOPNOTSUPP = 95
  157. const m_EOVERFLOW = 75
  158. const m_EOWNERDEAD = 130
  159. const m_EPERM = 1
  160. const m_EPFNOSUPPORT = 96
  161. const m_EPIPE = 32
  162. const m_EPROTO = 71
  163. const m_EPROTONOSUPPORT = 93
  164. const m_EPROTOTYPE = 91
  165. const m_ERANGE = 34
  166. const m_EREMCHG = 78
  167. const m_EREMOTE = 66
  168. const m_EREMOTEIO = 121
  169. const m_ERESTART = 85
  170. const m_ERFKILL = 132
  171. const m_EROFS = 30
  172. const m_ESHUTDOWN = 108
  173. const m_ESOCKTNOSUPPORT = 94
  174. const m_ESPIPE = 29
  175. const m_ESRCH = 3
  176. const m_ESRMNT = 69
  177. const m_ESTALE = 116
  178. const m_ESTRPIPE = 86
  179. const m_ETIME = 62
  180. const m_ETIMEDOUT = 110
  181. const m_ETOOMANYREFS = 109
  182. const m_ETXTBSY = 26
  183. const m_EUCLEAN = 117
  184. const m_EUNATCH = 49
  185. const m_EUSERS = 87
  186. const m_EWOULDBLOCK = "EAGAIN"
  187. const m_EXDEV = 18
  188. const m_EXFULL = 54
  189. const m_EXIT_FAILURE = 1
  190. const m_EXIT_SUCCESS = 0
  191. const m_EXPR_NEST_MAX = 32
  192. const m_FCSS_ALLOW_DUPLICATES = 1
  193. const m_FCSS_DEFAULT = 0
  194. const m_FCSS_GROW_BY_64 = 2
  195. const m_FC_ADD_FONTS = "yes"
  196. const m_FC_ANTIALIAS = "antialias"
  197. const m_FC_ASPECT = "aspect"
  198. const m_FC_ATOMIC_INT_FORMAT = "d"
  199. const m_FC_AUTOHINT = "autohint"
  200. const m_FC_CACHEDIR = "/usr/var/cache/fontconfig"
  201. const m_FC_CACHE_MAGIC_ALLOC = 0xFC02FC05
  202. const m_FC_CACHE_MAGIC_MMAP = 0xFC02FC04
  203. const m_FC_CACHE_VERSION_NUMBER = 8
  204. const m_FC_CAPABILITY = "capability"
  205. const m_FC_CASE_FOLD_EVEN_ODD = 1
  206. const m_FC_CASE_FOLD_FULL = 2
  207. const m_FC_CASE_FOLD_RANGE = 0
  208. const m_FC_CHARCELL = 110
  209. const m_FC_CHARSET = "charset"
  210. const m_FC_CHARWIDTH = "charwidth"
  211. const m_FC_CHAR_HEIGHT = "charheight"
  212. const m_FC_CHAR_WIDTH = "FC_CHARWIDTH"
  213. const m_FC_COLOR = "color"
  214. const m_FC_CONFIG_PATH = "fonts.conf"
  215. const m_FC_DBG_CACHE = 16
  216. const m_FC_DBG_CACHEV = 32
  217. const m_FC_DBG_CONFIG = 1024
  218. const m_FC_DBG_EDIT = 4
  219. const m_FC_DBG_FONTSET = 8
  220. const m_FC_DBG_LANGSET = 2048
  221. const m_FC_DBG_MATCH = 1
  222. const m_FC_DBG_MATCH2 = 4096
  223. const m_FC_DBG_MATCHV = 2
  224. const m_FC_DBG_PARSE = 64
  225. const m_FC_DBG_SCAN = 128
  226. const m_FC_DBG_SCANV = 256
  227. const m_FC_DECORATIVE = "decorative"
  228. const m_FC_DEFAULT_FONTS = "<dir>/usr/share/fonts</dir>"
  229. const m_FC_DIR_SEPARATOR = '/'
  230. const m_FC_DIR_SEPARATOR_S = "/"
  231. const m_FC_DPI = "dpi"
  232. const m_FC_DUAL = 90
  233. const m_FC_EMBEDDED_BITMAP = "embeddedbitmap"
  234. const m_FC_EMBOLDEN = "embolden"
  235. const m_FC_EXT_OBJ_INDEX = 1024
  236. const m_FC_FAMILY = "family"
  237. const m_FC_FAMILYLANG = "familylang"
  238. const m_FC_FILE = "file"
  239. const m_FC_FONTFORMAT = "fontformat"
  240. const m_FC_FONTVERSION = "fontversion"
  241. const m_FC_FONT_FEATURES = "fontfeatures"
  242. const m_FC_FONT_HAS_HINT = "fonthashint"
  243. const m_FC_FONT_VARIATIONS = "fontvariations"
  244. const m_FC_FOUNDRY = "foundry"
  245. const m_FC_FT_FACE = "ftface"
  246. const m_FC_FULLNAME = "fullname"
  247. const m_FC_FULLNAMELANG = "fullnamelang"
  248. const m_FC_GLOBAL_ADVANCE = "globaladvance"
  249. const m_FC_GPERF_SIZE_T = "size_t"
  250. const m_FC_HASH = "hash"
  251. const m_FC_HINTING = "hinting"
  252. const m_FC_HINT_FULL = 3
  253. const m_FC_HINT_MEDIUM = 2
  254. const m_FC_HINT_NONE = 0
  255. const m_FC_HINT_SLIGHT = 1
  256. const m_FC_HINT_STYLE = "hintstyle"
  257. const m_FC_INDEX = "index"
  258. const m_FC_LANG = "lang"
  259. const m_FC_LCD_DEFAULT = 1
  260. const m_FC_LCD_FILTER = "lcdfilter"
  261. const m_FC_LCD_LEGACY = 3
  262. const m_FC_LCD_LIGHT = 2
  263. const m_FC_LCD_NONE = 0
  264. const m_FC_MAJOR = 2
  265. const m_FC_MATRIX = "matrix"
  266. const m_FC_MAX_FILE_LEN = 4096
  267. const m_FC_MINOR = 14
  268. const m_FC_MINSPACE = "minspace"
  269. const m_FC_MONO = 100
  270. const m_FC_MUTEX_IMPL_INIT = 0
  271. const m_FC_NAMELANG = "namelang"
  272. const m_FC_NO_MT = 1
  273. const m_FC_ORDER = "order"
  274. const m_FC_OUTLINE = "outline"
  275. const m_FC_PATH_MAX = "PATH_MAX"
  276. const m_FC_PIXEL_SIZE = "pixelsize"
  277. const m_FC_POSTSCRIPT_NAME = "postscriptname"
  278. const m_FC_PRGNAME = "prgname"
  279. const m_FC_PROPORTIONAL = 0
  280. const m_FC_RASTERIZER = "rasterizer"
  281. const m_FC_REVISION = 1
  282. const m_FC_RGBA = "rgba"
  283. const m_FC_RGBA_BGR = 2
  284. const m_FC_RGBA_NONE = 5
  285. const m_FC_RGBA_RGB = 1
  286. const m_FC_RGBA_UNKNOWN = 0
  287. const m_FC_RGBA_VBGR = 4
  288. const m_FC_RGBA_VRGB = 3
  289. const m_FC_SCALABLE = "scalable"
  290. const m_FC_SCALE = "scale"
  291. const m_FC_SEARCH_PATH_SEPARATOR = ':'
  292. const m_FC_SIZE = "size"
  293. const m_FC_SLANT = "slant"
  294. const m_FC_SLANT_ITALIC = 100
  295. const m_FC_SLANT_OBLIQUE = 110
  296. const m_FC_SLANT_ROMAN = 0
  297. const m_FC_SOURCE = "source"
  298. const m_FC_SPACING = "spacing"
  299. const m_FC_STMT_START = "do"
  300. const m_FC_STYLE = "style"
  301. const m_FC_STYLELANG = "stylelang"
  302. const m_FC_SYMBOL = "symbol"
  303. const m_FC_TEMPLATEDIR = "/usr/share/fontconfig/conf.avail"
  304. const m_FC_UINT64_FORMAT = "llu"
  305. const m_FC_UTF8_MAX_LEN = 6
  306. const m_FC_VARIABLE = "variable"
  307. const m_FC_VERTICAL_LAYOUT = "verticallayout"
  308. const m_FC_WEIGHT = "weight"
  309. const m_FC_WEIGHT_BLACK = 210
  310. const m_FC_WEIGHT_BOLD = 200
  311. const m_FC_WEIGHT_BOOK = 75
  312. const m_FC_WEIGHT_DEMIBOLD = 180
  313. const m_FC_WEIGHT_DEMILIGHT = 55
  314. const m_FC_WEIGHT_EXTRABLACK = 215
  315. const m_FC_WEIGHT_EXTRABOLD = 205
  316. const m_FC_WEIGHT_EXTRALIGHT = 40
  317. const m_FC_WEIGHT_HEAVY = "FC_WEIGHT_BLACK"
  318. const m_FC_WEIGHT_LIGHT = 50
  319. const m_FC_WEIGHT_MEDIUM = 100
  320. const m_FC_WEIGHT_NORMAL = "FC_WEIGHT_REGULAR"
  321. const m_FC_WEIGHT_REGULAR = 80
  322. const m_FC_WEIGHT_SEMIBOLD = "FC_WEIGHT_DEMIBOLD"
  323. const m_FC_WEIGHT_SEMILIGHT = "FC_WEIGHT_DEMILIGHT"
  324. const m_FC_WEIGHT_THIN = 0
  325. const m_FC_WEIGHT_ULTRABLACK = "FC_WEIGHT_EXTRABLACK"
  326. const m_FC_WEIGHT_ULTRABOLD = "FC_WEIGHT_EXTRABOLD"
  327. const m_FC_WEIGHT_ULTRALIGHT = "FC_WEIGHT_EXTRALIGHT"
  328. const m_FC_WIDTH = "width"
  329. const m_FC_WIDTH_CONDENSED = 75
  330. const m_FC_WIDTH_EXPANDED = 125
  331. const m_FC_WIDTH_EXTRACONDENSED = 63
  332. const m_FC_WIDTH_EXTRAEXPANDED = 150
  333. const m_FC_WIDTH_NORMAL = 100
  334. const m_FC_WIDTH_SEMICONDENSED = 87
  335. const m_FC_WIDTH_SEMIEXPANDED = 113
  336. const m_FC_WIDTH_ULTRACONDENSED = 50
  337. const m_FC_WIDTH_ULTRAEXPANDED = 200
  338. const m_FD_SETSIZE = 1024
  339. const m_FILENAME_MAX = 4096
  340. const m_FILESIZEBITS = 64
  341. const m_FLT_DECIMAL_DIG = 9
  342. const m_FLT_DIG = 6
  343. const m_FLT_EPSILON = 1.1920928955078125e-07
  344. const m_FLT_EVAL_METHOD = 0
  345. const m_FLT_HAS_SUBNORM = 1
  346. const m_FLT_MANT_DIG = 24
  347. const m_FLT_MAX = 3.40282346638528859812e+38
  348. const m_FLT_MAX_10_EXP = 38
  349. const m_FLT_MAX_EXP = 128
  350. const m_FLT_MIN = 1.17549435082228750797e-38
  351. const m_FLT_RADIX = 2
  352. const m_FLT_TRUE_MIN = 1.40129846432481707092e-45
  353. const m_FONTCONFIG_PATH = "/etc/fonts"
  354. const m_FOPEN_MAX = 1000
  355. const m_FP_FAST_FMA = 1
  356. const m_FP_FAST_FMAF = 1
  357. const m_FP_ILOGB0 = "FP_ILOGBNAN"
  358. const m_FP_INFINITE = 1
  359. const m_FP_NAN = 0
  360. const m_FP_NORMAL = 4
  361. const m_FP_SUBNORMAL = 3
  362. const m_FP_ZERO = 2
  363. const m_F_LOCK = 1
  364. const m_F_OK = 0
  365. const m_F_TEST = 3
  366. const m_F_TLOCK = 2
  367. const m_F_ULOCK = 0
  368. const m_FcBlanksAdd = "IA__FcBlanksAdd"
  369. const m_FcBlanksCreate = "IA__FcBlanksCreate"
  370. const m_FcBlanksDestroy = "IA__FcBlanksDestroy"
  371. const m_FcBlanksIsMember = "IA__FcBlanksIsMember"
  372. const m_FcCacheCopySet = "IA__FcCacheCopySet"
  373. const m_FcCacheCreateTagFile = "IA__FcCacheCreateTagFile"
  374. const m_FcCacheNumFont = "IA__FcCacheNumFont"
  375. const m_FcCacheNumSubdir = "IA__FcCacheNumSubdir"
  376. const m_FcCharSetAddChar = "IA__FcCharSetAddChar"
  377. const m_FcCharSetCopy = "IA__FcCharSetCopy"
  378. const m_FcCharSetCount = "IA__FcCharSetCount"
  379. const m_FcCharSetCoverage = "IA__FcCharSetCoverage"
  380. const m_FcCharSetCreate = "IA__FcCharSetCreate"
  381. const m_FcCharSetDelChar = "IA__FcCharSetDelChar"
  382. const m_FcCharSetDestroy = "IA__FcCharSetDestroy"
  383. const m_FcCharSetEqual = "IA__FcCharSetEqual"
  384. const m_FcCharSetFirstPage = "IA__FcCharSetFirstPage"
  385. const m_FcCharSetHasChar = "IA__FcCharSetHasChar"
  386. const m_FcCharSetIntersect = "IA__FcCharSetIntersect"
  387. const m_FcCharSetIntersectCount = "IA__FcCharSetIntersectCount"
  388. const m_FcCharSetIsSubset = "IA__FcCharSetIsSubset"
  389. const m_FcCharSetMerge = "IA__FcCharSetMerge"
  390. const m_FcCharSetNew = "IA__FcCharSetNew"
  391. const m_FcCharSetNextPage = "IA__FcCharSetNextPage"
  392. const m_FcCharSetSubtract = "IA__FcCharSetSubtract"
  393. const m_FcCharSetSubtractCount = "IA__FcCharSetSubtractCount"
  394. const m_FcCharSetUnion = "IA__FcCharSetUnion"
  395. const m_FcConfigAppFontAddDir = "IA__FcConfigAppFontAddDir"
  396. const m_FcConfigAppFontAddFile = "IA__FcConfigAppFontAddFile"
  397. const m_FcConfigAppFontClear = "IA__FcConfigAppFontClear"
  398. const m_FcConfigBuildFonts = "IA__FcConfigBuildFonts"
  399. const m_FcConfigCreate = "IA__FcConfigCreate"
  400. const m_FcConfigDestroy = "IA__FcConfigDestroy"
  401. const m_FcConfigEnableHome = "IA__FcConfigEnableHome"
  402. const m_FcConfigFileInfoIterGet = "IA__FcConfigFileInfoIterGet"
  403. const m_FcConfigFileInfoIterInit = "IA__FcConfigFileInfoIterInit"
  404. const m_FcConfigFileInfoIterNext = "IA__FcConfigFileInfoIterNext"
  405. const m_FcConfigFilename = "IA__FcConfigFilename"
  406. const m_FcConfigGetBlanks = "IA__FcConfigGetBlanks"
  407. const m_FcConfigGetCache = "IA__FcConfigGetCache"
  408. const m_FcConfigGetCacheDirs = "IA__FcConfigGetCacheDirs"
  409. const m_FcConfigGetConfigDirs = "IA__FcConfigGetConfigDirs"
  410. const m_FcConfigGetConfigFiles = "IA__FcConfigGetConfigFiles"
  411. const m_FcConfigGetCurrent = "IA__FcConfigGetCurrent"
  412. const m_FcConfigGetFilename = "IA__FcConfigGetFilename"
  413. const m_FcConfigGetFontDirs = "IA__FcConfigGetFontDirs"
  414. const m_FcConfigGetFonts = "IA__FcConfigGetFonts"
  415. const m_FcConfigGetRescanInterval = "IA__FcConfigGetRescanInterval"
  416. const m_FcConfigGetRescanInverval = "IA__FcConfigGetRescanInverval"
  417. const m_FcConfigGetSysRoot = "IA__FcConfigGetSysRoot"
  418. const m_FcConfigHome = "IA__FcConfigHome"
  419. const m_FcConfigParseAndLoad = "IA__FcConfigParseAndLoad"
  420. const m_FcConfigParseAndLoadFromMemory = "IA__FcConfigParseAndLoadFromMemory"
  421. const m_FcConfigReference = "IA__FcConfigReference"
  422. const m_FcConfigSetCurrent = "IA__FcConfigSetCurrent"
  423. const m_FcConfigSetRescanInterval = "IA__FcConfigSetRescanInterval"
  424. const m_FcConfigSetRescanInverval = "IA__FcConfigSetRescanInverval"
  425. const m_FcConfigSetSysRoot = "IA__FcConfigSetSysRoot"
  426. const m_FcConfigSubstitute = "IA__FcConfigSubstitute"
  427. const m_FcConfigSubstituteWithPat = "IA__FcConfigSubstituteWithPat"
  428. const m_FcConfigUptoDate = "IA__FcConfigUptoDate"
  429. const m_FcDefaultSubstitute = "IA__FcDefaultSubstitute"
  430. const m_FcDirCacheClean = "IA__FcDirCacheClean"
  431. const m_FcDirCacheCreateUUID = "IA__FcDirCacheCreateUUID"
  432. const m_FcDirCacheDeleteUUID = "IA__FcDirCacheDeleteUUID"
  433. const m_FcDirCacheLoad = "IA__FcDirCacheLoad"
  434. const m_FcDirCacheLoadFile = "IA__FcDirCacheLoadFile"
  435. const m_FcDirCacheRead = "IA__FcDirCacheRead"
  436. const m_FcDirCacheRescan = "IA__FcDirCacheRescan"
  437. const m_FcDirCacheUnlink = "IA__FcDirCacheUnlink"
  438. const m_FcDirCacheUnload = "IA__FcDirCacheUnload"
  439. const m_FcDirCacheValid = "IA__FcDirCacheValid"
  440. const m_FcDirSave = "IA__FcDirSave"
  441. const m_FcDirScan = "IA__FcDirScan"
  442. const m_FcDontCare = 2
  443. const m_FcFalse = 0
  444. const m_FcFileIsDir = "IA__FcFileIsDir"
  445. const m_FcFileScan = "IA__FcFileScan"
  446. const m_FcFini = "IA__FcFini"
  447. const m_FcFontList = "IA__FcFontList"
  448. const m_FcFontMatch = "IA__FcFontMatch"
  449. const m_FcFontRenderPrepare = "IA__FcFontRenderPrepare"
  450. const m_FcFontSetAdd = "IA__FcFontSetAdd"
  451. const m_FcFontSetCreate = "IA__FcFontSetCreate"
  452. const m_FcFontSetDestroy = "IA__FcFontSetDestroy"
  453. const m_FcFontSetList = "IA__FcFontSetList"
  454. const m_FcFontSetMatch = "IA__FcFontSetMatch"
  455. const m_FcFontSetPrint = "IA__FcFontSetPrint"
  456. const m_FcFontSetSort = "IA__FcFontSetSort"
  457. const m_FcFontSetSortDestroy = "IA__FcFontSetSortDestroy"
  458. const m_FcFontSort = "IA__FcFontSort"
  459. const m_FcFreeTypeQuery = "IA__FcFreeTypeQuery"
  460. const m_FcFreeTypeQueryAll = "IA__FcFreeTypeQueryAll"
  461. const m_FcGetDefaultLangs = "IA__FcGetDefaultLangs"
  462. const m_FcGetLangs = "IA__FcGetLangs"
  463. const m_FcGetVersion = "IA__FcGetVersion"
  464. const m_FcInit = "IA__FcInit"
  465. const m_FcInitBringUptoDate = "IA__FcInitBringUptoDate"
  466. const m_FcInitLoadConfig = "IA__FcInitLoadConfig"
  467. const m_FcInitLoadConfigAndFonts = "IA__FcInitLoadConfigAndFonts"
  468. const m_FcInitReinitialize = "IA__FcInitReinitialize"
  469. const m_FcLangGetCharSet = "IA__FcLangGetCharSet"
  470. const m_FcLangNormalize = "IA__FcLangNormalize"
  471. const m_FcLangSetAdd = "IA__FcLangSetAdd"
  472. const m_FcLangSetCompare = "IA__FcLangSetCompare"
  473. const m_FcLangSetContains = "IA__FcLangSetContains"
  474. const m_FcLangSetCopy = "IA__FcLangSetCopy"
  475. const m_FcLangSetCreate = "IA__FcLangSetCreate"
  476. const m_FcLangSetDel = "IA__FcLangSetDel"
  477. const m_FcLangSetDestroy = "IA__FcLangSetDestroy"
  478. const m_FcLangSetEqual = "IA__FcLangSetEqual"
  479. const m_FcLangSetGetLangs = "IA__FcLangSetGetLangs"
  480. const m_FcLangSetHasLang = "IA__FcLangSetHasLang"
  481. const m_FcLangSetHash = "IA__FcLangSetHash"
  482. const m_FcLangSetSubtract = "IA__FcLangSetSubtract"
  483. const m_FcLangSetUnion = "IA__FcLangSetUnion"
  484. const m_FcMatrixCopy = "IA__FcMatrixCopy"
  485. const m_FcMatrixEqual = "IA__FcMatrixEqual"
  486. const m_FcMatrixMultiply = "IA__FcMatrixMultiply"
  487. const m_FcMatrixRotate = "IA__FcMatrixRotate"
  488. const m_FcMatrixScale = "IA__FcMatrixScale"
  489. const m_FcMatrixShear = "IA__FcMatrixShear"
  490. const m_FcNameConstant = "IA__FcNameConstant"
  491. const m_FcNameGetConstant = "IA__FcNameGetConstant"
  492. const m_FcNameGetObjectType = "IA__FcNameGetObjectType"
  493. const m_FcNameParse = "IA__FcNameParse"
  494. const m_FcNameRegisterConstants = "IA__FcNameRegisterConstants"
  495. const m_FcNameRegisterObjectTypes = "IA__FcNameRegisterObjectTypes"
  496. const m_FcNameUnparse = "IA__FcNameUnparse"
  497. const m_FcNameUnregisterConstants = "IA__FcNameUnregisterConstants"
  498. const m_FcNameUnregisterObjectTypes = "IA__FcNameUnregisterObjectTypes"
  499. const m_FcObjectSetAdd = "IA__FcObjectSetAdd"
  500. const m_FcObjectSetBuild = "IA__FcObjectSetBuild"
  501. const m_FcObjectSetCreate = "IA__FcObjectSetCreate"
  502. const m_FcObjectSetDestroy = "IA__FcObjectSetDestroy"
  503. const m_FcObjectSetVaBuild = "IA__FcObjectSetVaBuild"
  504. const m_FcPatternAdd = "IA__FcPatternAdd"
  505. const m_FcPatternAddBool = "IA__FcPatternAddBool"
  506. const m_FcPatternAddCharSet = "IA__FcPatternAddCharSet"
  507. const m_FcPatternAddDouble = "IA__FcPatternAddDouble"
  508. const m_FcPatternAddInteger = "IA__FcPatternAddInteger"
  509. const m_FcPatternAddLangSet = "IA__FcPatternAddLangSet"
  510. const m_FcPatternAddMatrix = "IA__FcPatternAddMatrix"
  511. const m_FcPatternAddRange = "IA__FcPatternAddRange"
  512. const m_FcPatternAddString = "IA__FcPatternAddString"
  513. const m_FcPatternAddWeak = "IA__FcPatternAddWeak"
  514. const m_FcPatternBuild = "IA__FcPatternBuild"
  515. const m_FcPatternCreate = "IA__FcPatternCreate"
  516. const m_FcPatternDel = "IA__FcPatternDel"
  517. const m_FcPatternDestroy = "IA__FcPatternDestroy"
  518. const m_FcPatternDuplicate = "IA__FcPatternDuplicate"
  519. const m_FcPatternEqual = "IA__FcPatternEqual"
  520. const m_FcPatternEqualSubset = "IA__FcPatternEqualSubset"
  521. const m_FcPatternFilter = "IA__FcPatternFilter"
  522. const m_FcPatternFindIter = "IA__FcPatternFindIter"
  523. const m_FcPatternFormat = "IA__FcPatternFormat"
  524. const m_FcPatternGet = "IA__FcPatternGet"
  525. const m_FcPatternGetBool = "IA__FcPatternGetBool"
  526. const m_FcPatternGetCharSet = "IA__FcPatternGetCharSet"
  527. const m_FcPatternGetDouble = "IA__FcPatternGetDouble"
  528. const m_FcPatternGetInteger = "IA__FcPatternGetInteger"
  529. const m_FcPatternGetLangSet = "IA__FcPatternGetLangSet"
  530. const m_FcPatternGetMatrix = "IA__FcPatternGetMatrix"
  531. const m_FcPatternGetRange = "IA__FcPatternGetRange"
  532. const m_FcPatternGetString = "IA__FcPatternGetString"
  533. const m_FcPatternGetWithBinding = "IA__FcPatternGetWithBinding"
  534. const m_FcPatternHash = "IA__FcPatternHash"
  535. const m_FcPatternIterEqual = "IA__FcPatternIterEqual"
  536. const m_FcPatternIterGetObject = "IA__FcPatternIterGetObject"
  537. const m_FcPatternIterGetValue = "IA__FcPatternIterGetValue"
  538. const m_FcPatternIterIsValid = "IA__FcPatternIterIsValid"
  539. const m_FcPatternIterNext = "IA__FcPatternIterNext"
  540. const m_FcPatternIterStart = "IA__FcPatternIterStart"
  541. const m_FcPatternIterValueCount = "IA__FcPatternIterValueCount"
  542. const m_FcPatternObjectCount = "IA__FcPatternObjectCount"
  543. const m_FcPatternPrint = "IA__FcPatternPrint"
  544. const m_FcPatternReference = "IA__FcPatternReference"
  545. const m_FcPatternRemove = "IA__FcPatternRemove"
  546. const m_FcPatternVaBuild = "IA__FcPatternVaBuild"
  547. const m_FcRangeCopy = "IA__FcRangeCopy"
  548. const m_FcRangeCreateDouble = "IA__FcRangeCreateDouble"
  549. const m_FcRangeCreateInteger = "IA__FcRangeCreateInteger"
  550. const m_FcRangeDestroy = "IA__FcRangeDestroy"
  551. const m_FcRangeGetDouble = "IA__FcRangeGetDouble"
  552. const m_FcStrBasename = "IA__FcStrBasename"
  553. const m_FcStrBuildFilename = "IA__FcStrBuildFilename"
  554. const m_FcStrCmp = "IA__FcStrCmp"
  555. const m_FcStrCmpIgnoreCase = "IA__FcStrCmpIgnoreCase"
  556. const m_FcStrCopy = "IA__FcStrCopy"
  557. const m_FcStrCopyFilename = "IA__FcStrCopyFilename"
  558. const m_FcStrDirname = "IA__FcStrDirname"
  559. const m_FcStrDowncase = "IA__FcStrDowncase"
  560. const m_FcStrFree = "IA__FcStrFree"
  561. const m_FcStrListCreate = "IA__FcStrListCreate"
  562. const m_FcStrListDone = "IA__FcStrListDone"
  563. const m_FcStrListFirst = "IA__FcStrListFirst"
  564. const m_FcStrListNext = "IA__FcStrListNext"
  565. const m_FcStrPlus = "IA__FcStrPlus"
  566. const m_FcStrSetAdd = "IA__FcStrSetAdd"
  567. const m_FcStrSetAddFilename = "IA__FcStrSetAddFilename"
  568. const m_FcStrSetCreate = "IA__FcStrSetCreate"
  569. const m_FcStrSetDel = "IA__FcStrSetDel"
  570. const m_FcStrSetDestroy = "IA__FcStrSetDestroy"
  571. const m_FcStrSetEqual = "IA__FcStrSetEqual"
  572. const m_FcStrSetMember = "IA__FcStrSetMember"
  573. const m_FcStrStr = "IA__FcStrStr"
  574. const m_FcStrStrIgnoreCase = "IA__FcStrStrIgnoreCase"
  575. const m_FcTrue = 1
  576. const m_FcUcs4ToUtf8 = "IA__FcUcs4ToUtf8"
  577. const m_FcUtf16Len = "IA__FcUtf16Len"
  578. const m_FcUtf16ToUcs4 = "IA__FcUtf16ToUcs4"
  579. const m_FcUtf8Len = "IA__FcUtf8Len"
  580. const m_FcUtf8ToUcs4 = "IA__FcUtf8ToUcs4"
  581. const m_FcValueDestroy = "IA__FcValueDestroy"
  582. const m_FcValueEqual = "IA__FcValueEqual"
  583. const m_FcValuePrint = "IA__FcValuePrint"
  584. const m_FcValueSave = "IA__FcValueSave"
  585. const m_FcWeightFromOpenType = "IA__FcWeightFromOpenType"
  586. const m_FcWeightFromOpenTypeDouble = "IA__FcWeightFromOpenTypeDouble"
  587. const m_FcWeightToOpenType = "IA__FcWeightToOpenType"
  588. const m_FcWeightToOpenTypeDouble = "IA__FcWeightToOpenTypeDouble"
  589. const m_GETTEXT_PACKAGE = "fontconfig"
  590. const m_HAVE_CONFIG_H = 1
  591. const m_HAVE_DCGETTEXT = 1
  592. const m_HAVE_DIRENT_H = 1
  593. const m_HAVE_DLFCN_H = 1
  594. const m_HAVE_FCNTL_H = 1
  595. const m_HAVE_FSTATFS = 1
  596. const m_HAVE_FSTATVFS = 1
  597. const m_HAVE_FT_DONE_MM_VAR = 1
  598. const m_HAVE_FT_GET_BDF_PROPERTY = 1
  599. const m_HAVE_FT_GET_PS_FONT_INFO = 1
  600. const m_HAVE_FT_GET_X11_FONT_FORMAT = 1
  601. const m_HAVE_FT_HAS_PS_GLYPH_NAMES = 1
  602. const m_HAVE_GETOPT = 1
  603. const m_HAVE_GETOPT_LONG = 1
  604. const m_HAVE_GETPAGESIZE = 1
  605. const m_HAVE_GETTEXT = 1
  606. const m_HAVE_GNUC_ATTRIBUTE = 1
  607. const m_HAVE_INTEL_ATOMIC_PRIMITIVES = 1
  608. const m_HAVE_INTTYPES_H = 1
  609. const m_HAVE_LINK = 1
  610. const m_HAVE_LRAND48 = 1
  611. const m_HAVE_LSTAT = 1
  612. const m_HAVE_MKDTEMP = 1
  613. const m_HAVE_MKOSTEMP = 1
  614. const m_HAVE_MKSTEMP = 1
  615. const m_HAVE_MMAP = 1
  616. const m_HAVE_POSIX_FADVISE = 1
  617. const m_HAVE_PTHREAD = 1
  618. const m_HAVE_PTHREAD_PRIO_INHERIT = 1
  619. const m_HAVE_RAND = 1
  620. const m_HAVE_RANDOM = 1
  621. const m_HAVE_RANDOM_R = 1
  622. const m_HAVE_RAND_R = 1
  623. const m_HAVE_READLINK = 1
  624. const m_HAVE_STDATOMIC_PRIMITIVES = 1
  625. const m_HAVE_STDINT_H = 1
  626. const m_HAVE_STDIO_H = 1
  627. const m_HAVE_STDLIB_H = 1
  628. const m_HAVE_STRERROR = 1
  629. const m_HAVE_STRERROR_R = 1
  630. const m_HAVE_STRINGS_H = 1
  631. const m_HAVE_STRING_H = 1
  632. const m_HAVE_STRUCT_DIRENT_D_TYPE = 1
  633. const m_HAVE_STRUCT_STATFS_F_FLAGS = 1
  634. const m_HAVE_STRUCT_STAT_ST_MTIM = 1
  635. const m_HAVE_SYS_MOUNT_H = 1
  636. const m_HAVE_SYS_PARAM_H = 1
  637. const m_HAVE_SYS_STATFS_H = 1
  638. const m_HAVE_SYS_STATVFS_H = 1
  639. const m_HAVE_SYS_STAT_H = 1
  640. const m_HAVE_SYS_TYPES_H = 1
  641. const m_HAVE_SYS_VFS_H = 1
  642. const m_HAVE_UNISTD_H = 1
  643. const m_HAVE_VPRINTF = 1
  644. const m_HAVE_WARNING_CPP_DIRECTIVE = 1
  645. const m_HAVE_WCHAR_H = 1
  646. const m_HAVE_XML_SETDOCTYPEDECLHANDLER = 1
  647. const m_HOST_NAME_MAX = 255
  648. const m_HUGE = 3.40282346638528859812e+38
  649. const m_HUGE_VALF = "INFINITY"
  650. const m_INT16_MAX = 0x7fff
  651. const m_INT32_MAX = 0x7fffffff
  652. const m_INT64_MAX = 0x7fffffffffffffff
  653. const m_INT8_MAX = 0x7f
  654. const m_INTMAX_MAX = "INT64_MAX"
  655. const m_INTMAX_MIN = "INT64_MIN"
  656. const m_INTPTR_MAX = "INT64_MAX"
  657. const m_INTPTR_MIN = "INT64_MIN"
  658. const m_INT_FAST16_MAX = "INT32_MAX"
  659. const m_INT_FAST16_MIN = "INT32_MIN"
  660. const m_INT_FAST32_MAX = "INT32_MAX"
  661. const m_INT_FAST32_MIN = "INT32_MIN"
  662. const m_INT_FAST64_MAX = "INT64_MAX"
  663. const m_INT_FAST64_MIN = "INT64_MIN"
  664. const m_INT_FAST8_MAX = "INT8_MAX"
  665. const m_INT_FAST8_MIN = "INT8_MIN"
  666. const m_INT_LEAST16_MAX = "INT16_MAX"
  667. const m_INT_LEAST16_MIN = "INT16_MIN"
  668. const m_INT_LEAST32_MAX = "INT32_MAX"
  669. const m_INT_LEAST32_MIN = "INT32_MIN"
  670. const m_INT_LEAST64_MAX = "INT64_MAX"
  671. const m_INT_LEAST64_MIN = "INT64_MIN"
  672. const m_INT_LEAST8_MAX = "INT8_MAX"
  673. const m_INT_LEAST8_MIN = "INT8_MIN"
  674. const m_INT_MAX = 2147483647
  675. const m_IOV_MAX = 1024
  676. const m_LCK_NAME = ".LCK"
  677. const m_LDBL_DECIMAL_DIG = "DECIMAL_DIG"
  678. const m_LDBL_DIG = 15
  679. const m_LDBL_EPSILON = 2.22044604925031308085e-16
  680. const m_LDBL_HAS_SUBNORM = 1
  681. const m_LDBL_MANT_DIG = 53
  682. const m_LDBL_MAX = 1.79769313486231570815e+308
  683. const m_LDBL_MAX_10_EXP = 308
  684. const m_LDBL_MAX_EXP = 1024
  685. const m_LDBL_MIN = 2.22507385850720138309e-308
  686. const m_LDBL_TRUE_MIN = 4.94065645841246544177e-324
  687. const m_LINE_MAX = 4096
  688. const m_LITTLE_ENDIAN = "__LITTLE_ENDIAN"
  689. const m_LLONG_MAX = 0x7fffffffffffffff
  690. const m_LOGIN_NAME_MAX = 256
  691. const m_LONG_BIT = 64
  692. const m_LONG_MAX = "__LONG_MAX"
  693. const m_LT_OBJDIR = ".libs/"
  694. const m_L_INCR = 1
  695. const m_L_SET = 0
  696. const m_L_XTND = 2
  697. const m_L_ctermid = 20
  698. const m_L_cuserid = 20
  699. const m_L_tmpnam = 20
  700. const m_MATH_ERREXCEPT = 2
  701. const m_MATH_ERRNO = 1
  702. const m_MB_LEN_MAX = 4
  703. const m_MQ_PRIO_MAX = 32768
  704. const m_M_1_PI = 0.31830988618379067154
  705. const m_M_2_PI = 0.63661977236758134308
  706. const m_M_2_SQRTPI = 1.12837916709551257390
  707. const m_M_E = 2.7182818284590452354
  708. const m_M_LN10 = 2.30258509299404568402
  709. const m_M_LN2 = 0.69314718055994530942
  710. const m_M_LOG10E = 0.43429448190325182765
  711. const m_M_LOG2E = 1.4426950408889634074
  712. const m_M_PI = 3.14159265358979323846
  713. const m_M_PI_2 = 1.57079632679489661923
  714. const m_M_PI_4 = 0.78539816339744830962
  715. const m_M_SQRT1_2 = 0.70710678118654752440
  716. const m_M_SQRT2 = 1.41421356237309504880
  717. const m_NAME_MAX = 255
  718. const m_NDEBUG = 1
  719. const m_NEW_NAME = ".NEW"
  720. const m_NGROUPS_MAX = 32
  721. const m_NL_ARGMAX = 9
  722. const m_NL_LANGMAX = 32
  723. const m_NL_MSGMAX = 32767
  724. const m_NL_NMAX = 16
  725. const m_NL_SETMAX = 255
  726. const m_NL_TEXTMAX = 2048
  727. const m_NZERO = 20
  728. const m_PACKAGE = "fontconfig"
  729. const m_PACKAGE_BUGREPORT = "https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/new"
  730. const m_PACKAGE_NAME = "fontconfig"
  731. const m_PACKAGE_STRING = "fontconfig 2.14.1"
  732. const m_PACKAGE_TARNAME = "fontconfig"
  733. const m_PACKAGE_URL = ""
  734. const m_PACKAGE_VERSION = "2.14.1"
  735. const m_PATH_MAX = 4096
  736. const m_PDP_ENDIAN = "__PDP_ENDIAN"
  737. const m_PIPE_BUF = 4096
  738. const m_POSIX_CLOSE_RESTART = 0
  739. const m_PTHREAD_DESTRUCTOR_ITERATIONS = 4
  740. const m_PTHREAD_KEYS_MAX = 128
  741. const m_PTHREAD_STACK_MIN = 2048
  742. const m_PTRDIFF_MAX = "INT64_MAX"
  743. const m_PTRDIFF_MIN = "INT64_MIN"
  744. const m_P_tmpdir = "/tmp"
  745. const m_RAND_MAX = 0x7fffffff
  746. const m_RE_DUP_MAX = 255
  747. const m_R_OK = 4
  748. const m_SCHAR_MAX = 127
  749. const m_SEEK_DATA = 3
  750. const m_SEEK_HOLE = 4
  751. const m_SEM_NSEMS_MAX = 256
  752. const m_SEM_VALUE_MAX = 0x7fffffff
  753. const m_SHRT_MAX = 0x7fff
  754. const m_SIG_ATOMIC_MAX = "INT32_MAX"
  755. const m_SIG_ATOMIC_MIN = "INT32_MIN"
  756. const m_SIZEOF_VOID_P = 8
  757. const m_SIZE_MAX = "UINT64_MAX"
  758. const m_SSIZE_MAX = "LONG_MAX"
  759. const m_STATX_ALL = 0xfff
  760. const m_STATX_ATIME = 0x20
  761. const m_STATX_BASIC_STATS = 0x7ff
  762. const m_STATX_BLOCKS = 0x400
  763. const m_STATX_BTIME = 0x800
  764. const m_STATX_CTIME = 0x80
  765. const m_STATX_GID = 0x10
  766. const m_STATX_INO = 0x100
  767. const m_STATX_MODE = 2
  768. const m_STATX_MTIME = 0x40
  769. const m_STATX_NLINK = 4
  770. const m_STATX_SIZE = 0x200
  771. const m_STATX_TYPE = 1
  772. const m_STATX_UID = 8
  773. const m_STDC_HEADERS = 1
  774. const m_STDERR_FILENO = 2
  775. const m_STDIN_FILENO = 0
  776. const m_STDOUT_FILENO = 1
  777. const m_SYMLOOP_MAX = 40
  778. const m_S_IEXEC = "S_IXUSR"
  779. const m_S_IFBLK = 0060000
  780. const m_S_IFCHR = 0020000
  781. const m_S_IFDIR = 0040000
  782. const m_S_IFIFO = 0010000
  783. const m_S_IFLNK = 0120000
  784. const m_S_IFMT = 0170000
  785. const m_S_IFREG = 0100000
  786. const m_S_IFSOCK = 0140000
  787. const m_S_IREAD = "S_IRUSR"
  788. const m_S_IRGRP = 0040
  789. const m_S_IROTH = 0004
  790. const m_S_IRUSR = 0400
  791. const m_S_IRWXG = 0070
  792. const m_S_IRWXO = 0007
  793. const m_S_IRWXU = 0700
  794. const m_S_ISGID = 02000
  795. const m_S_ISUID = 04000
  796. const m_S_ISVTX = 01000
  797. const m_S_IWGRP = 0020
  798. const m_S_IWOTH = 0002
  799. const m_S_IWRITE = "S_IWUSR"
  800. const m_S_IWUSR = 0200
  801. const m_S_IXGRP = 0010
  802. const m_S_IXOTH = 0001
  803. const m_S_IXUSR = 0100
  804. const m_TIMER_ABSTIME = 1
  805. const m_TIME_UTC = 1
  806. const m_TMP_MAX = 10000
  807. const m_TMP_NAME = ".TMP-XXXXXX"
  808. const m_TTY_NAME_MAX = 32
  809. const m_TZNAME_MAX = 6
  810. const m_UCHAR_MAX = 255
  811. const m_UINT16_MAX = 0xffff
  812. const m_UINT32_MAX = "0xffffffffu"
  813. const m_UINT64_MAX = "0xffffffffffffffffu"
  814. const m_UINT8_MAX = 0xff
  815. const m_UINTMAX_MAX = "UINT64_MAX"
  816. const m_UINTPTR_MAX = "UINT64_MAX"
  817. const m_UINT_FAST16_MAX = "UINT32_MAX"
  818. const m_UINT_FAST32_MAX = "UINT32_MAX"
  819. const m_UINT_FAST64_MAX = "UINT64_MAX"
  820. const m_UINT_FAST8_MAX = "UINT8_MAX"
  821. const m_UINT_LEAST16_MAX = "UINT16_MAX"
  822. const m_UINT_LEAST32_MAX = "UINT32_MAX"
  823. const m_UINT_LEAST64_MAX = "UINT64_MAX"
  824. const m_UINT_LEAST8_MAX = "UINT8_MAX"
  825. const m_UINT_MAX = 0xffffffff
  826. const m_USE_ICONV = 0
  827. const m_USHRT_MAX = 0xffff
  828. const m_UTIME_NOW = 0x3fffffff
  829. const m_UTIME_OMIT = 0x3ffffffe
  830. const m_VERSION = "2.14.1"
  831. const m_WINT_MAX = "UINT32_MAX"
  832. const m_WINT_MIN = 0
  833. const m_WNOHANG = 1
  834. const m_WORD_BIT = 32
  835. const m_WUNTRACED = 2
  836. const m_W_OK = 2
  837. const m_X_OK = 1
  838. const m__ALL_SOURCE = 1
  839. const m__CS_GNU_LIBC_VERSION = 2
  840. const m__CS_GNU_LIBPTHREAD_VERSION = 3
  841. const m__CS_PATH = 0
  842. const m__CS_POSIX_V5_WIDTH_RESTRICTED_ENVS = 4
  843. const m__CS_POSIX_V6_ILP32_OFF32_CFLAGS = 1116
  844. const m__CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 1117
  845. const m__CS_POSIX_V6_ILP32_OFF32_LIBS = 1118
  846. const m__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = 1119
  847. const m__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 1120
  848. const m__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 1121
  849. const m__CS_POSIX_V6_ILP32_OFFBIG_LIBS = 1122
  850. const m__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 1123
  851. const m__CS_POSIX_V6_LP64_OFF64_CFLAGS = 1124
  852. const m__CS_POSIX_V6_LP64_OFF64_LDFLAGS = 1125
  853. const m__CS_POSIX_V6_LP64_OFF64_LIBS = 1126
  854. const m__CS_POSIX_V6_LP64_OFF64_LINTFLAGS = 1127
  855. const m__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 1128
  856. const m__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 1129
  857. const m__CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 1130
  858. const m__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 1131
  859. const m__CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 1
  860. const m__CS_POSIX_V7_ILP32_OFF32_CFLAGS = 1132
  861. const m__CS_POSIX_V7_ILP32_OFF32_LDFLAGS = 1133
  862. const m__CS_POSIX_V7_ILP32_OFF32_LIBS = 1134
  863. const m__CS_POSIX_V7_ILP32_OFF32_LINTFLAGS = 1135
  864. const m__CS_POSIX_V7_ILP32_OFFBIG_CFLAGS = 1136
  865. const m__CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS = 1137
  866. const m__CS_POSIX_V7_ILP32_OFFBIG_LIBS = 1138
  867. const m__CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = 1139
  868. const m__CS_POSIX_V7_LP64_OFF64_CFLAGS = 1140
  869. const m__CS_POSIX_V7_LP64_OFF64_LDFLAGS = 1141
  870. const m__CS_POSIX_V7_LP64_OFF64_LIBS = 1142
  871. const m__CS_POSIX_V7_LP64_OFF64_LINTFLAGS = 1143
  872. const m__CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS = 1144
  873. const m__CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS = 1145
  874. const m__CS_POSIX_V7_LPBIG_OFFBIG_LIBS = 1146
  875. const m__CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = 1147
  876. const m__CS_POSIX_V7_THREADS_CFLAGS = 1150
  877. const m__CS_POSIX_V7_THREADS_LDFLAGS = 1151
  878. const m__CS_POSIX_V7_WIDTH_RESTRICTED_ENVS = 5
  879. const m__CS_V6_ENV = 1148
  880. const m__CS_V7_ENV = 1149
  881. const m__DARWIN_C_SOURCE = 1
  882. const m__FONTCONFIG_SRC_FCSTDINT_H = 1
  883. const m__GENERATED_STDINT_H = "fontconfig 2.14.1"
  884. const m__GNU_SOURCE = 1
  885. const m__HPUX_ALT_XOPEN_SOCKET_API = 1
  886. const m__IOFBF = 0
  887. const m__IOLBF = 1
  888. const m__IONBF = 2
  889. const m__LP64 = 1
  890. const m__NETBSD_SOURCE = 1
  891. const m__OPENBSD_SOURCE = 1
  892. const m__PC_2_SYMLINKS = 20
  893. const m__PC_ALLOC_SIZE_MIN = 18
  894. const m__PC_ASYNC_IO = 10
  895. const m__PC_CHOWN_RESTRICTED = 6
  896. const m__PC_FILESIZEBITS = 13
  897. const m__PC_LINK_MAX = 0
  898. const m__PC_MAX_CANON = 1
  899. const m__PC_MAX_INPUT = 2
  900. const m__PC_NAME_MAX = 3
  901. const m__PC_NO_TRUNC = 7
  902. const m__PC_PATH_MAX = 4
  903. const m__PC_PIPE_BUF = 5
  904. const m__PC_PRIO_IO = 11
  905. const m__PC_REC_INCR_XFER_SIZE = 14
  906. const m__PC_REC_MAX_XFER_SIZE = 15
  907. const m__PC_REC_MIN_XFER_SIZE = 16
  908. const m__PC_REC_XFER_ALIGN = 17
  909. const m__PC_SOCK_MAXBUF = 12
  910. const m__PC_SYMLINK_MAX = 19
  911. const m__PC_SYNC_IO = 9
  912. const m__PC_VDISABLE = 8
  913. const m__POSIX2_BC_BASE_MAX = 99
  914. const m__POSIX2_BC_DIM_MAX = 2048
  915. const m__POSIX2_BC_SCALE_MAX = 99
  916. const m__POSIX2_BC_STRING_MAX = 1000
  917. const m__POSIX2_CHARCLASS_NAME_MAX = 14
  918. const m__POSIX2_COLL_WEIGHTS_MAX = 2
  919. const m__POSIX2_C_BIND = "_POSIX_VERSION"
  920. const m__POSIX2_EXPR_NEST_MAX = 32
  921. const m__POSIX2_LINE_MAX = 2048
  922. const m__POSIX2_RE_DUP_MAX = 255
  923. const m__POSIX2_VERSION = "_POSIX_VERSION"
  924. const m__POSIX_ADVISORY_INFO = "_POSIX_VERSION"
  925. const m__POSIX_AIO_LISTIO_MAX = 2
  926. const m__POSIX_AIO_MAX = 1
  927. const m__POSIX_ARG_MAX = 4096
  928. const m__POSIX_ASYNCHRONOUS_IO = "_POSIX_VERSION"
  929. const m__POSIX_BARRIERS = "_POSIX_VERSION"
  930. const m__POSIX_CHILD_MAX = 25
  931. const m__POSIX_CHOWN_RESTRICTED = 1
  932. const m__POSIX_CLOCKRES_MIN = 20000000
  933. const m__POSIX_CLOCK_SELECTION = "_POSIX_VERSION"
  934. const m__POSIX_CPUTIME = "_POSIX_VERSION"
  935. const m__POSIX_DELAYTIMER_MAX = 32
  936. const m__POSIX_FSYNC = "_POSIX_VERSION"
  937. const m__POSIX_HOST_NAME_MAX = 255
  938. const m__POSIX_IPV6 = "_POSIX_VERSION"
  939. const m__POSIX_JOB_CONTROL = 1
  940. const m__POSIX_LINK_MAX = 8
  941. const m__POSIX_LOGIN_NAME_MAX = 9
  942. const m__POSIX_MAPPED_FILES = "_POSIX_VERSION"
  943. const m__POSIX_MAX_CANON = 255
  944. const m__POSIX_MAX_INPUT = 255
  945. const m__POSIX_MEMLOCK = "_POSIX_VERSION"
  946. const m__POSIX_MEMLOCK_RANGE = "_POSIX_VERSION"
  947. const m__POSIX_MEMORY_PROTECTION = "_POSIX_VERSION"
  948. const m__POSIX_MESSAGE_PASSING = "_POSIX_VERSION"
  949. const m__POSIX_MONOTONIC_CLOCK = "_POSIX_VERSION"
  950. const m__POSIX_MQ_OPEN_MAX = 8
  951. const m__POSIX_MQ_PRIO_MAX = 32
  952. const m__POSIX_NAME_MAX = 14
  953. const m__POSIX_NGROUPS_MAX = 8
  954. const m__POSIX_NO_TRUNC = 1
  955. const m__POSIX_OPEN_MAX = 20
  956. const m__POSIX_PATH_MAX = 256
  957. const m__POSIX_PIPE_BUF = 512
  958. const m__POSIX_PTHREAD_SEMANTICS = 1
  959. const m__POSIX_RAW_SOCKETS = "_POSIX_VERSION"
  960. const m__POSIX_READER_WRITER_LOCKS = "_POSIX_VERSION"
  961. const m__POSIX_REALTIME_SIGNALS = "_POSIX_VERSION"
  962. const m__POSIX_REGEXP = 1
  963. const m__POSIX_RE_DUP_MAX = 255
  964. const m__POSIX_RTSIG_MAX = 8
  965. const m__POSIX_SAVED_IDS = 1
  966. const m__POSIX_SEMAPHORES = "_POSIX_VERSION"
  967. const m__POSIX_SEM_NSEMS_MAX = 256
  968. const m__POSIX_SEM_VALUE_MAX = 32767
  969. const m__POSIX_SHARED_MEMORY_OBJECTS = "_POSIX_VERSION"
  970. const m__POSIX_SHELL = 1
  971. const m__POSIX_SIGQUEUE_MAX = 32
  972. const m__POSIX_SPAWN = "_POSIX_VERSION"
  973. const m__POSIX_SPIN_LOCKS = "_POSIX_VERSION"
  974. const m__POSIX_SSIZE_MAX = 32767
  975. const m__POSIX_SS_REPL_MAX = 4
  976. const m__POSIX_STREAM_MAX = 8
  977. const m__POSIX_SYMLINK_MAX = 255
  978. const m__POSIX_SYMLOOP_MAX = 8
  979. const m__POSIX_THREADS = "_POSIX_VERSION"
  980. const m__POSIX_THREAD_ATTR_STACKADDR = "_POSIX_VERSION"
  981. const m__POSIX_THREAD_ATTR_STACKSIZE = "_POSIX_VERSION"
  982. const m__POSIX_THREAD_CPUTIME = "_POSIX_VERSION"
  983. const m__POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4
  984. const m__POSIX_THREAD_KEYS_MAX = 128
  985. const m__POSIX_THREAD_PRIORITY_SCHEDULING = "_POSIX_VERSION"
  986. const m__POSIX_THREAD_PROCESS_SHARED = "_POSIX_VERSION"
  987. const m__POSIX_THREAD_SAFE_FUNCTIONS = "_POSIX_VERSION"
  988. const m__POSIX_THREAD_THREADS_MAX = 64
  989. const m__POSIX_TIMEOUTS = "_POSIX_VERSION"
  990. const m__POSIX_TIMERS = "_POSIX_VERSION"
  991. const m__POSIX_TIMER_MAX = 32
  992. const m__POSIX_TRACE_EVENT_NAME_MAX = 30
  993. const m__POSIX_TRACE_NAME_MAX = 8
  994. const m__POSIX_TRACE_SYS_MAX = 8
  995. const m__POSIX_TRACE_USER_EVENT_MAX = 32
  996. const m__POSIX_TTY_NAME_MAX = 9
  997. const m__POSIX_TZNAME_MAX = 6
  998. const m__POSIX_V6_LP64_OFF64 = 1
  999. const m__POSIX_V7_LP64_OFF64 = 1
  1000. const m__POSIX_VDISABLE = 0
  1001. const m__POSIX_VERSION = 200809
  1002. const m__SC_2_CHAR_TERM = 95
  1003. const m__SC_2_C_BIND = 47
  1004. const m__SC_2_C_DEV = 48
  1005. const m__SC_2_FORT_DEV = 49
  1006. const m__SC_2_FORT_RUN = 50
  1007. const m__SC_2_LOCALEDEF = 52
  1008. const m__SC_2_PBS = 168
  1009. const m__SC_2_PBS_ACCOUNTING = 169
  1010. const m__SC_2_PBS_CHECKPOINT = 175
  1011. const m__SC_2_PBS_LOCATE = 170
  1012. const m__SC_2_PBS_MESSAGE = 171
  1013. const m__SC_2_PBS_TRACK = 172
  1014. const m__SC_2_SW_DEV = 51
  1015. const m__SC_2_UPE = 97
  1016. const m__SC_2_VERSION = 46
  1017. const m__SC_ADVISORY_INFO = 132
  1018. const m__SC_AIO_LISTIO_MAX = 23
  1019. const m__SC_AIO_MAX = 24
  1020. const m__SC_AIO_PRIO_DELTA_MAX = 25
  1021. const m__SC_ARG_MAX = 0
  1022. const m__SC_ASYNCHRONOUS_IO = 12
  1023. const m__SC_ATEXIT_MAX = 87
  1024. const m__SC_AVPHYS_PAGES = 86
  1025. const m__SC_BARRIERS = 133
  1026. const m__SC_BC_BASE_MAX = 36
  1027. const m__SC_BC_DIM_MAX = 37
  1028. const m__SC_BC_SCALE_MAX = 38
  1029. const m__SC_BC_STRING_MAX = 39
  1030. const m__SC_CHILD_MAX = 1
  1031. const m__SC_CLK_TCK = 2
  1032. const m__SC_CLOCK_SELECTION = 137
  1033. const m__SC_COLL_WEIGHTS_MAX = 40
  1034. const m__SC_CPUTIME = 138
  1035. const m__SC_DELAYTIMER_MAX = 26
  1036. const m__SC_EXPR_NEST_MAX = 42
  1037. const m__SC_FSYNC = 15
  1038. const m__SC_GETGR_R_SIZE_MAX = 69
  1039. const m__SC_GETPW_R_SIZE_MAX = 70
  1040. const m__SC_HOST_NAME_MAX = 180
  1041. const m__SC_IOV_MAX = 60
  1042. const m__SC_IPV6 = 235
  1043. const m__SC_JOB_CONTROL = 7
  1044. const m__SC_LINE_MAX = 43
  1045. const m__SC_LOGIN_NAME_MAX = 71
  1046. const m__SC_MAPPED_FILES = 16
  1047. const m__SC_MEMLOCK = 17
  1048. const m__SC_MEMLOCK_RANGE = 18
  1049. const m__SC_MEMORY_PROTECTION = 19
  1050. const m__SC_MESSAGE_PASSING = 20
  1051. const m__SC_MINSIGSTKSZ = 249
  1052. const m__SC_MONOTONIC_CLOCK = 149
  1053. const m__SC_MQ_OPEN_MAX = 27
  1054. const m__SC_MQ_PRIO_MAX = 28
  1055. const m__SC_NGROUPS_MAX = 3
  1056. const m__SC_NPROCESSORS_CONF = 83
  1057. const m__SC_NPROCESSORS_ONLN = 84
  1058. const m__SC_NZERO = 109
  1059. const m__SC_OPEN_MAX = 4
  1060. const m__SC_PAGESIZE = 30
  1061. const m__SC_PAGE_SIZE = 30
  1062. const m__SC_PASS_MAX = 88
  1063. const m__SC_PHYS_PAGES = 85
  1064. const m__SC_PRIORITIZED_IO = 13
  1065. const m__SC_PRIORITY_SCHEDULING = 10
  1066. const m__SC_RAW_SOCKETS = 236
  1067. const m__SC_READER_WRITER_LOCKS = 153
  1068. const m__SC_REALTIME_SIGNALS = 9
  1069. const m__SC_REGEXP = 155
  1070. const m__SC_RE_DUP_MAX = 44
  1071. const m__SC_RTSIG_MAX = 31
  1072. const m__SC_SAVED_IDS = 8
  1073. const m__SC_SEMAPHORES = 21
  1074. const m__SC_SEM_NSEMS_MAX = 32
  1075. const m__SC_SEM_VALUE_MAX = 33
  1076. const m__SC_SHARED_MEMORY_OBJECTS = 22
  1077. const m__SC_SHELL = 157
  1078. const m__SC_SIGQUEUE_MAX = 34
  1079. const m__SC_SIGSTKSZ = 250
  1080. const m__SC_SPAWN = 159
  1081. const m__SC_SPIN_LOCKS = 154
  1082. const m__SC_SPORADIC_SERVER = 160
  1083. const m__SC_SS_REPL_MAX = 241
  1084. const m__SC_STREAMS = 174
  1085. const m__SC_STREAM_MAX = 5
  1086. const m__SC_SYMLOOP_MAX = 173
  1087. const m__SC_SYNCHRONIZED_IO = 14
  1088. const m__SC_THREADS = 67
  1089. const m__SC_THREAD_ATTR_STACKADDR = 77
  1090. const m__SC_THREAD_ATTR_STACKSIZE = 78
  1091. const m__SC_THREAD_CPUTIME = 139
  1092. const m__SC_THREAD_DESTRUCTOR_ITERATIONS = 73
  1093. const m__SC_THREAD_KEYS_MAX = 74
  1094. const m__SC_THREAD_PRIORITY_SCHEDULING = 79
  1095. const m__SC_THREAD_PRIO_INHERIT = 80
  1096. const m__SC_THREAD_PRIO_PROTECT = 81
  1097. const m__SC_THREAD_PROCESS_SHARED = 82
  1098. const m__SC_THREAD_ROBUST_PRIO_INHERIT = 247
  1099. const m__SC_THREAD_ROBUST_PRIO_PROTECT = 248
  1100. const m__SC_THREAD_SAFE_FUNCTIONS = 68
  1101. const m__SC_THREAD_SPORADIC_SERVER = 161
  1102. const m__SC_THREAD_STACK_MIN = 75
  1103. const m__SC_THREAD_THREADS_MAX = 76
  1104. const m__SC_TIMEOUTS = 164
  1105. const m__SC_TIMERS = 11
  1106. const m__SC_TIMER_MAX = 35
  1107. const m__SC_TRACE = 181
  1108. const m__SC_TRACE_EVENT_FILTER = 182
  1109. const m__SC_TRACE_EVENT_NAME_MAX = 242
  1110. const m__SC_TRACE_INHERIT = 183
  1111. const m__SC_TRACE_LOG = 184
  1112. const m__SC_TRACE_NAME_MAX = 243
  1113. const m__SC_TRACE_SYS_MAX = 244
  1114. const m__SC_TRACE_USER_EVENT_MAX = 245
  1115. const m__SC_TTY_NAME_MAX = 72
  1116. const m__SC_TYPED_MEMORY_OBJECTS = 165
  1117. const m__SC_TZNAME_MAX = 6
  1118. const m__SC_UIO_MAXIOV = 60
  1119. const m__SC_V6_ILP32_OFF32 = 176
  1120. const m__SC_V6_ILP32_OFFBIG = 177
  1121. const m__SC_V6_LP64_OFF64 = 178
  1122. const m__SC_V6_LPBIG_OFFBIG = 179
  1123. const m__SC_V7_ILP32_OFF32 = 237
  1124. const m__SC_V7_ILP32_OFFBIG = 238
  1125. const m__SC_V7_LP64_OFF64 = 239
  1126. const m__SC_V7_LPBIG_OFFBIG = 240
  1127. const m__SC_VERSION = 29
  1128. const m__SC_XBS5_ILP32_OFF32 = 125
  1129. const m__SC_XBS5_ILP32_OFFBIG = 126
  1130. const m__SC_XBS5_LP64_OFF64 = 127
  1131. const m__SC_XBS5_LPBIG_OFFBIG = 128
  1132. const m__SC_XOPEN_CRYPT = 92
  1133. const m__SC_XOPEN_ENH_I18N = 93
  1134. const m__SC_XOPEN_LEGACY = 129
  1135. const m__SC_XOPEN_REALTIME = 130
  1136. const m__SC_XOPEN_REALTIME_THREADS = 131
  1137. const m__SC_XOPEN_SHM = 94
  1138. const m__SC_XOPEN_STREAMS = 246
  1139. const m__SC_XOPEN_UNIX = 91
  1140. const m__SC_XOPEN_VERSION = 89
  1141. const m__SC_XOPEN_XCU_VERSION = 90
  1142. const m__SC_XOPEN_XPG2 = 98
  1143. const m__SC_XOPEN_XPG3 = 99
  1144. const m__SC_XOPEN_XPG4 = 100
  1145. const m__STDC_PREDEF_H = 1
  1146. const m__STDINT_HAVE_STDINT_H = 1
  1147. const m__TANDEM_SOURCE = 1
  1148. const m__XOPEN_ENH_I18N = 1
  1149. const m__XOPEN_IOV_MAX = 16
  1150. const m__XOPEN_NAME_MAX = 255
  1151. const m__XOPEN_PATH_MAX = 1024
  1152. const m__XOPEN_UNIX = 1
  1153. const m__XOPEN_VERSION = 700
  1154. const m___ATOMIC_ACQUIRE = 2
  1155. const m___ATOMIC_ACQ_REL = 4
  1156. const m___ATOMIC_CONSUME = 1
  1157. const m___ATOMIC_RELAXED = 0
  1158. const m___ATOMIC_RELEASE = 3
  1159. const m___ATOMIC_SEQ_CST = 5
  1160. const m___BIGGEST_ALIGNMENT__ = 16
  1161. const m___BIG_ENDIAN = 4321
  1162. const m___BYTE_ORDER = 1234
  1163. const m___BYTE_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  1164. const m___CCGO__ = 1
  1165. const m___CHAR_BIT__ = 8
  1166. const m___CHAR_UNSIGNED__ = 1
  1167. const m___DBL_DECIMAL_DIG__ = 17
  1168. const m___DBL_DIG__ = 15
  1169. const m___DBL_HAS_DENORM__ = 1
  1170. const m___DBL_HAS_INFINITY__ = 1
  1171. const m___DBL_HAS_QUIET_NAN__ = 1
  1172. const m___DBL_IS_IEC_60559__ = 1
  1173. const m___DBL_MANT_DIG__ = 53
  1174. const m___DBL_MAX_10_EXP__ = 308
  1175. const m___DBL_MAX_EXP__ = 1024
  1176. const m___DECIMAL_DIG__ = 36
  1177. const m___DEC_EVAL_METHOD__ = 2
  1178. const m___ELF__ = 1
  1179. const m___EXTENSIONS__ = 1
  1180. const m___FINITE_MATH_ONLY__ = 0
  1181. const m___FLOAT_WORD_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  1182. const m___FLT128_DECIMAL_DIG__ = 36
  1183. const m___FLT128_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
  1184. const m___FLT128_DIG__ = 33
  1185. const m___FLT128_EPSILON__ = 1.92592994438723585305597794258492732e-34
  1186. const m___FLT128_HAS_DENORM__ = 1
  1187. const m___FLT128_HAS_INFINITY__ = 1
  1188. const m___FLT128_HAS_QUIET_NAN__ = 1
  1189. const m___FLT128_IS_IEC_60559__ = 1
  1190. const m___FLT128_MANT_DIG__ = 113
  1191. const m___FLT128_MAX_10_EXP__ = 4932
  1192. const m___FLT128_MAX_EXP__ = 16384
  1193. const m___FLT128_MAX__ = "1.18973149535723176508575932662800702e+4932"
  1194. const m___FLT128_MIN__ = 3.36210314311209350626267781732175260e-4932
  1195. const m___FLT128_NORM_MAX__ = "1.18973149535723176508575932662800702e+4932"
  1196. const m___FLT16_DECIMAL_DIG__ = 5
  1197. const m___FLT16_DENORM_MIN__ = 5.96046447753906250000000000000000000e-8
  1198. const m___FLT16_DIG__ = 3
  1199. const m___FLT16_EPSILON__ = 9.76562500000000000000000000000000000e-4
  1200. const m___FLT16_HAS_DENORM__ = 1
  1201. const m___FLT16_HAS_INFINITY__ = 1
  1202. const m___FLT16_HAS_QUIET_NAN__ = 1
  1203. const m___FLT16_IS_IEC_60559__ = 1
  1204. const m___FLT16_MANT_DIG__ = 11
  1205. const m___FLT16_MAX_10_EXP__ = 4
  1206. const m___FLT16_MAX_EXP__ = 16
  1207. const m___FLT16_MAX__ = 6.55040000000000000000000000000000000e+4
  1208. const m___FLT16_MIN__ = 6.10351562500000000000000000000000000e-5
  1209. const m___FLT16_NORM_MAX__ = 6.55040000000000000000000000000000000e+4
  1210. const m___FLT32X_DECIMAL_DIG__ = 17
  1211. const m___FLT32X_DENORM_MIN__ = 4.94065645841246544176568792868221372e-324
  1212. const m___FLT32X_DIG__ = 15
  1213. const m___FLT32X_EPSILON__ = 2.22044604925031308084726333618164062e-16
  1214. const m___FLT32X_HAS_DENORM__ = 1
  1215. const m___FLT32X_HAS_INFINITY__ = 1
  1216. const m___FLT32X_HAS_QUIET_NAN__ = 1
  1217. const m___FLT32X_IS_IEC_60559__ = 1
  1218. const m___FLT32X_MANT_DIG__ = 53
  1219. const m___FLT32X_MAX_10_EXP__ = 308
  1220. const m___FLT32X_MAX_EXP__ = 1024
  1221. const m___FLT32X_MAX__ = 1.79769313486231570814527423731704357e+308
  1222. const m___FLT32X_MIN__ = 2.22507385850720138309023271733240406e-308
  1223. const m___FLT32X_NORM_MAX__ = 1.79769313486231570814527423731704357e+308
  1224. const m___FLT32_DECIMAL_DIG__ = 9
  1225. const m___FLT32_DENORM_MIN__ = 1.40129846432481707092372958328991613e-45
  1226. const m___FLT32_DIG__ = 6
  1227. const m___FLT32_EPSILON__ = 1.19209289550781250000000000000000000e-7
  1228. const m___FLT32_HAS_DENORM__ = 1
  1229. const m___FLT32_HAS_INFINITY__ = 1
  1230. const m___FLT32_HAS_QUIET_NAN__ = 1
  1231. const m___FLT32_IS_IEC_60559__ = 1
  1232. const m___FLT32_MANT_DIG__ = 24
  1233. const m___FLT32_MAX_10_EXP__ = 38
  1234. const m___FLT32_MAX_EXP__ = 128
  1235. const m___FLT32_MAX__ = 3.40282346638528859811704183484516925e+38
  1236. const m___FLT32_MIN__ = 1.17549435082228750796873653722224568e-38
  1237. const m___FLT32_NORM_MAX__ = 3.40282346638528859811704183484516925e+38
  1238. const m___FLT64X_DECIMAL_DIG__ = 36
  1239. const m___FLT64X_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
  1240. const m___FLT64X_DIG__ = 33
  1241. const m___FLT64X_EPSILON__ = 1.92592994438723585305597794258492732e-34
  1242. const m___FLT64X_HAS_DENORM__ = 1
  1243. const m___FLT64X_HAS_INFINITY__ = 1
  1244. const m___FLT64X_HAS_QUIET_NAN__ = 1
  1245. const m___FLT64X_IS_IEC_60559__ = 1
  1246. const m___FLT64X_MANT_DIG__ = 113
  1247. const m___FLT64X_MAX_10_EXP__ = 4932
  1248. const m___FLT64X_MAX_EXP__ = 16384
  1249. const m___FLT64X_MAX__ = "1.18973149535723176508575932662800702e+4932"
  1250. const m___FLT64X_MIN__ = 3.36210314311209350626267781732175260e-4932
  1251. const m___FLT64X_NORM_MAX__ = "1.18973149535723176508575932662800702e+4932"
  1252. const m___FLT64_DECIMAL_DIG__ = 17
  1253. const m___FLT64_DENORM_MIN__ = 4.94065645841246544176568792868221372e-324
  1254. const m___FLT64_DIG__ = 15
  1255. const m___FLT64_EPSILON__ = 2.22044604925031308084726333618164062e-16
  1256. const m___FLT64_HAS_DENORM__ = 1
  1257. const m___FLT64_HAS_INFINITY__ = 1
  1258. const m___FLT64_HAS_QUIET_NAN__ = 1
  1259. const m___FLT64_IS_IEC_60559__ = 1
  1260. const m___FLT64_MANT_DIG__ = 53
  1261. const m___FLT64_MAX_10_EXP__ = 308
  1262. const m___FLT64_MAX_EXP__ = 1024
  1263. const m___FLT64_MAX__ = 1.79769313486231570814527423731704357e+308
  1264. const m___FLT64_MIN__ = 2.22507385850720138309023271733240406e-308
  1265. const m___FLT64_NORM_MAX__ = 1.79769313486231570814527423731704357e+308
  1266. const m___FLT_DECIMAL_DIG__ = 9
  1267. const m___FLT_DENORM_MIN__ = 1.40129846432481707092372958328991613e-45
  1268. const m___FLT_DIG__ = 6
  1269. const m___FLT_EPSILON__ = 1.19209289550781250000000000000000000e-7
  1270. const m___FLT_EVAL_METHOD_TS_18661_3__ = 0
  1271. const m___FLT_EVAL_METHOD__ = 0
  1272. const m___FLT_HAS_DENORM__ = 1
  1273. const m___FLT_HAS_INFINITY__ = 1
  1274. const m___FLT_HAS_QUIET_NAN__ = 1
  1275. const m___FLT_IS_IEC_60559__ = 1
  1276. const m___FLT_MANT_DIG__ = 24
  1277. const m___FLT_MAX_10_EXP__ = 38
  1278. const m___FLT_MAX_EXP__ = 128
  1279. const m___FLT_MAX__ = 3.40282346638528859811704183484516925e+38
  1280. const m___FLT_MIN__ = 1.17549435082228750796873653722224568e-38
  1281. const m___FLT_NORM_MAX__ = 3.40282346638528859811704183484516925e+38
  1282. const m___FLT_RADIX__ = 2
  1283. const m___FP_FAST_FMA = 1
  1284. const m___FP_FAST_FMAF = 1
  1285. const m___FP_FAST_FMAF32 = 1
  1286. const m___FP_FAST_FMAF32x = 1
  1287. const m___FP_FAST_FMAF64 = 1
  1288. const m___FUNCTION__ = "__func__"
  1289. const m___GCC_ATOMIC_BOOL_LOCK_FREE = 2
  1290. const m___GCC_ATOMIC_CHAR16_T_LOCK_FREE = 2
  1291. const m___GCC_ATOMIC_CHAR32_T_LOCK_FREE = 2
  1292. const m___GCC_ATOMIC_CHAR_LOCK_FREE = 2
  1293. const m___GCC_ATOMIC_INT_LOCK_FREE = 2
  1294. const m___GCC_ATOMIC_LLONG_LOCK_FREE = 2
  1295. const m___GCC_ATOMIC_LONG_LOCK_FREE = 2
  1296. const m___GCC_ATOMIC_POINTER_LOCK_FREE = 2
  1297. const m___GCC_ATOMIC_SHORT_LOCK_FREE = 2
  1298. const m___GCC_ATOMIC_TEST_AND_SET_TRUEVAL = 1
  1299. const m___GCC_ATOMIC_WCHAR_T_LOCK_FREE = 2
  1300. const m___GCC_HAVE_DWARF2_CFI_ASM = 1
  1301. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 = 1
  1302. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 = 1
  1303. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1
  1304. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = 1
  1305. const m___GCC_IEC_559 = 2
  1306. const m___GCC_IEC_559_COMPLEX = 2
  1307. const m___GNUC_EXECUTION_CHARSET_NAME = "UTF-8"
  1308. const m___GNUC_MINOR__ = 2
  1309. const m___GNUC_PATCHLEVEL__ = 0
  1310. const m___GNUC_STDC_INLINE__ = 1
  1311. const m___GNUC_WIDE_EXECUTION_CHARSET_NAME = "UTF-32LE"
  1312. const m___GNUC__ = 14
  1313. const m___GXX_ABI_VERSION = 1019
  1314. const m___INT16_MAX__ = 0x7fff
  1315. const m___INT32_MAX__ = 0x7fffffff
  1316. const m___INT32_TYPE__ = "int"
  1317. const m___INT64_MAX__ = 0x7fffffffffffffff
  1318. const m___INT8_MAX__ = 0x7f
  1319. const m___INTMAX_MAX__ = 0x7fffffffffffffff
  1320. const m___INTMAX_WIDTH__ = 64
  1321. const m___INTPTR_MAX__ = 0x7fffffffffffffff
  1322. const m___INTPTR_WIDTH__ = 64
  1323. const m___INT_FAST16_MAX__ = 0x7fffffffffffffff
  1324. const m___INT_FAST16_WIDTH__ = 64
  1325. const m___INT_FAST32_MAX__ = 0x7fffffffffffffff
  1326. const m___INT_FAST32_WIDTH__ = 64
  1327. const m___INT_FAST64_MAX__ = 0x7fffffffffffffff
  1328. const m___INT_FAST64_WIDTH__ = 64
  1329. const m___INT_FAST8_MAX__ = 0x7f
  1330. const m___INT_FAST8_WIDTH__ = 8
  1331. const m___INT_LEAST16_MAX__ = 0x7fff
  1332. const m___INT_LEAST16_WIDTH__ = 16
  1333. const m___INT_LEAST32_MAX__ = 0x7fffffff
  1334. const m___INT_LEAST32_TYPE__ = "int"
  1335. const m___INT_LEAST32_WIDTH__ = 32
  1336. const m___INT_LEAST64_MAX__ = 0x7fffffffffffffff
  1337. const m___INT_LEAST64_WIDTH__ = 64
  1338. const m___INT_LEAST8_MAX__ = 0x7f
  1339. const m___INT_LEAST8_WIDTH__ = 8
  1340. const m___INT_MAX__ = 0x7fffffff
  1341. const m___INT_WIDTH__ = 32
  1342. const m___LDBL_DECIMAL_DIG__ = 36
  1343. const m___LDBL_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
  1344. const m___LDBL_DIG__ = 33
  1345. const m___LDBL_EPSILON__ = 1.92592994438723585305597794258492732e-34
  1346. const m___LDBL_HAS_DENORM__ = 1
  1347. const m___LDBL_HAS_INFINITY__ = 1
  1348. const m___LDBL_HAS_QUIET_NAN__ = 1
  1349. const m___LDBL_IS_IEC_60559__ = 1
  1350. const m___LDBL_MANT_DIG__ = 113
  1351. const m___LDBL_MAX_10_EXP__ = 4932
  1352. const m___LDBL_MAX_EXP__ = 16384
  1353. const m___LDBL_MAX__ = "1.18973149535723176508575932662800702e+4932"
  1354. const m___LDBL_MIN__ = 3.36210314311209350626267781732175260e-4932
  1355. const m___LDBL_NORM_MAX__ = "1.18973149535723176508575932662800702e+4932"
  1356. const m___LITTLE_ENDIAN = 1234
  1357. const m___LONG_LONG_MAX__ = 0x7fffffffffffffff
  1358. const m___LONG_LONG_WIDTH__ = 64
  1359. const m___LONG_MAX = 0x7fffffffffffffff
  1360. const m___LONG_MAX__ = 0x7fffffffffffffff
  1361. const m___LONG_WIDTH__ = 64
  1362. const m___LP64__ = 1
  1363. const m___NO_INLINE__ = 1
  1364. const m___ORDER_BIG_ENDIAN__ = 4321
  1365. const m___ORDER_LITTLE_ENDIAN__ = 1234
  1366. const m___ORDER_PDP_ENDIAN__ = 3412
  1367. const m___PDP_ENDIAN = 3412
  1368. const m___PIC__ = 2
  1369. const m___PIE__ = 2
  1370. const m___PRAGMA_REDEFINE_EXTNAME = 1
  1371. const m___PRETTY_FUNCTION__ = "__func__"
  1372. const m___PTRDIFF_MAX__ = 0x7fffffffffffffff
  1373. const m___PTRDIFF_WIDTH__ = 64
  1374. const m___SCHAR_MAX__ = 0x7f
  1375. const m___SCHAR_WIDTH__ = 8
  1376. const m___SHRT_MAX__ = 0x7fff
  1377. const m___SHRT_WIDTH__ = 16
  1378. const m___SIG_ATOMIC_MAX__ = 0x7fffffff
  1379. const m___SIG_ATOMIC_TYPE__ = "int"
  1380. const m___SIG_ATOMIC_WIDTH__ = 32
  1381. const m___SIZEOF_DOUBLE__ = 8
  1382. const m___SIZEOF_FLOAT__ = 4
  1383. const m___SIZEOF_INT128__ = 16
  1384. const m___SIZEOF_INT__ = 4
  1385. const m___SIZEOF_LONG_DOUBLE__ = 8
  1386. const m___SIZEOF_LONG_LONG__ = 8
  1387. const m___SIZEOF_LONG__ = 8
  1388. const m___SIZEOF_POINTER__ = 8
  1389. const m___SIZEOF_PTRDIFF_T__ = 8
  1390. const m___SIZEOF_SHORT__ = 2
  1391. const m___SIZEOF_SIZE_T__ = 8
  1392. const m___SIZEOF_WCHAR_T__ = 4
  1393. const m___SIZEOF_WINT_T__ = 4
  1394. const m___SIZE_MAX__ = 0xffffffffffffffff
  1395. const m___SIZE_WIDTH__ = 64
  1396. const m___STDC_HOSTED__ = 1
  1397. const m___STDC_IEC_559_COMPLEX__ = 1
  1398. const m___STDC_IEC_559__ = 1
  1399. const m___STDC_IEC_60559_BFP__ = 201404
  1400. const m___STDC_IEC_60559_COMPLEX__ = 201404
  1401. const m___STDC_ISO_10646__ = 201706
  1402. const m___STDC_UTF_16__ = 1
  1403. const m___STDC_UTF_32__ = 1
  1404. const m___STDC_VERSION__ = 201710
  1405. const m___STDC_WANT_IEC_60559_ATTRIBS_EXT__ = 1
  1406. const m___STDC_WANT_IEC_60559_BFP_EXT__ = 1
  1407. const m___STDC_WANT_IEC_60559_DFP_EXT__ = 1
  1408. const m___STDC_WANT_IEC_60559_FUNCS_EXT__ = 1
  1409. const m___STDC_WANT_IEC_60559_TYPES_EXT__ = 1
  1410. const m___STDC_WANT_LIB_EXT2__ = 1
  1411. const m___STDC_WANT_MATH_SPEC_FUNCS__ = 1
  1412. const m___STDC__ = 1
  1413. const m___UINT16_MAX__ = 0xffff
  1414. const m___UINT32_MAX__ = 0xffffffff
  1415. const m___UINT64_MAX__ = 0xffffffffffffffff
  1416. const m___UINT8_MAX__ = 0xff
  1417. const m___UINTMAX_MAX__ = 0xffffffffffffffff
  1418. const m___UINTPTR_MAX__ = 0xffffffffffffffff
  1419. const m___UINT_FAST16_MAX__ = 0xffffffffffffffff
  1420. const m___UINT_FAST32_MAX__ = 0xffffffffffffffff
  1421. const m___UINT_FAST64_MAX__ = 0xffffffffffffffff
  1422. const m___UINT_FAST8_MAX__ = 0xff
  1423. const m___UINT_LEAST16_MAX__ = 0xffff
  1424. const m___UINT_LEAST32_MAX__ = 0xffffffff
  1425. const m___UINT_LEAST64_MAX__ = 0xffffffffffffffff
  1426. const m___UINT_LEAST8_MAX__ = 0xff
  1427. const m___USE_GNU_GETTEXT = 1
  1428. const m___USE_TIME_BITS64 = 1
  1429. const m___VERSION__ = "14.2.0"
  1430. const m___WCHAR_MAX__ = 0x7fffffff
  1431. const m___WCHAR_TYPE__ = "int"
  1432. const m___WCHAR_WIDTH__ = 32
  1433. const m___WINT_MAX__ = 0xffffffff
  1434. const m___WINT_MIN__ = 0
  1435. const m___WINT_WIDTH__ = 32
  1436. const m___gnu_linux__ = 1
  1437. const m___inline = "inline"
  1438. const m___linux = 1
  1439. const m___linux__ = 1
  1440. const m___pic__ = 2
  1441. const m___pie__ = 2
  1442. const m___restrict = "restrict"
  1443. const m___restrict_arr = "restrict"
  1444. const m___riscv = 1
  1445. const m___riscv_a = 2001000
  1446. const m___riscv_arch_test = 1
  1447. const m___riscv_atomic = 1
  1448. const m___riscv_c = 2000000
  1449. const m___riscv_cmodel_medany = 1
  1450. const m___riscv_compressed = 1
  1451. const m___riscv_d = 2002000
  1452. const m___riscv_div = 1
  1453. const m___riscv_f = 2002000
  1454. const m___riscv_fdiv = 1
  1455. const m___riscv_flen = 64
  1456. const m___riscv_float_abi_double = 1
  1457. const m___riscv_fsqrt = 1
  1458. const m___riscv_i = 2001000
  1459. const m___riscv_m = 2000000
  1460. const m___riscv_misaligned_slow = 1
  1461. const m___riscv_mul = 1
  1462. const m___riscv_muldiv = 1
  1463. const m___riscv_xlen = 64
  1464. const m___riscv_zicsr = 2000000
  1465. const m___riscv_zifencei = 2000000
  1466. const m___tm_gmtoff = "tm_gmtoff"
  1467. const m___tm_zone = "tm_zone"
  1468. const m___unix = 1
  1469. const m___unix__ = 1
  1470. const m_alloca = "__builtin_alloca"
  1471. const m_linux = 1
  1472. const m_math_errhandling = 2
  1473. const m_static_assert = "_Static_assert"
  1474. const m_unix = 1
  1475. type t__builtin_va_list = uintptr
  1476. type t__predefined_size_t = uint64
  1477. type t__predefined_wchar_t = int32
  1478. type t__predefined_ptrdiff_t = int64
  1479. type Tuintptr_t = uint64
  1480. type Tintptr_t = int64
  1481. type Tint8_t = int8
  1482. type Tint16_t = int16
  1483. type Tint32_t = int32
  1484. type Tint64_t = int64
  1485. type Tintmax_t = int64
  1486. type Tuint8_t = uint8
  1487. type Tuint16_t = uint16
  1488. type Tuint32_t = uint32
  1489. type Tuint64_t = uint64
  1490. type Tuintmax_t = uint64
  1491. type Tint_fast8_t = int8
  1492. type Tint_fast64_t = int64
  1493. type Tint_least8_t = int8
  1494. type Tint_least16_t = int16
  1495. type Tint_least32_t = int32
  1496. type Tint_least64_t = int64
  1497. type Tuint_fast8_t = uint8
  1498. type Tuint_fast64_t = uint64
  1499. type Tuint_least8_t = uint8
  1500. type Tuint_least16_t = uint16
  1501. type Tuint_least32_t = uint32
  1502. type Tuint_least64_t = uint64
  1503. type Tint_fast16_t = int32
  1504. type Tint_fast32_t = int32
  1505. type Tuint_fast16_t = uint32
  1506. type Tuint_fast32_t = uint32
  1507. type Twchar_t = int32
  1508. type Tsize_t = uint64
  1509. type Tdiv_t = struct {
  1510. Fquot int32
  1511. Frem int32
  1512. }
  1513. type Tldiv_t = struct {
  1514. Fquot int64
  1515. Frem int64
  1516. }
  1517. type Tlldiv_t = struct {
  1518. Fquot int64
  1519. Frem int64
  1520. }
  1521. type Tssize_t = int64
  1522. type Toff_t = int64
  1523. type Tva_list = uintptr
  1524. type t__isoc_va_list = uintptr
  1525. type Tfpos_t = struct {
  1526. F__lldata [0]int64
  1527. F__align [0]float64
  1528. F__opaque [16]uint8
  1529. }
  1530. type T_G_fpos64_t = Tfpos_t
  1531. type Tcookie_io_functions_t = struct {
  1532. Fread uintptr
  1533. Fwrite uintptr
  1534. Fseek uintptr
  1535. Fclose1 uintptr
  1536. }
  1537. type T_IO_cookie_io_functions_t = Tcookie_io_functions_t
  1538. type Tlocale_t = uintptr
  1539. type Tfloat_t = float32
  1540. type Tdouble_t = float64
  1541. type Tpid_t = int32
  1542. type Tuid_t = uint32
  1543. type Tgid_t = uint32
  1544. type Tuseconds_t = uint32
  1545. type Tmax_align_t = struct {
  1546. F__ll int64
  1547. F__ld float64
  1548. }
  1549. type Tptrdiff_t = int64
  1550. type Tblksize_t = int32
  1551. type Tnlink_t = uint32
  1552. type Tregister_t = int64
  1553. type Ttime_t = int64
  1554. type Tsuseconds_t = int64
  1555. type Tu_int64_t = uint64
  1556. type Tmode_t = uint32
  1557. type Tino_t = uint64
  1558. type Tdev_t = uint64
  1559. type Tblkcnt_t = int64
  1560. type Tfsblkcnt_t = uint64
  1561. type Tfsfilcnt_t = uint64
  1562. type Ttimer_t = uintptr
  1563. type Tclockid_t = int32
  1564. type Tclock_t = int64
  1565. type Tid_t = uint32
  1566. type Tkey_t = int32
  1567. type Tpthread_t = uintptr
  1568. type Tpthread_once_t = int32
  1569. type Tpthread_key_t = uint32
  1570. type Tpthread_spinlock_t = int32
  1571. type Tpthread_mutexattr_t = struct {
  1572. F__attr uint32
  1573. }
  1574. type Tpthread_condattr_t = struct {
  1575. F__attr uint32
  1576. }
  1577. type Tpthread_barrierattr_t = struct {
  1578. F__attr uint32
  1579. }
  1580. type Tpthread_rwlockattr_t = struct {
  1581. F__attr [2]uint32
  1582. }
  1583. type Tpthread_attr_t = struct {
  1584. F__u struct {
  1585. F__vi [0][14]int32
  1586. F__s [0][7]uint64
  1587. F__i [14]int32
  1588. }
  1589. }
  1590. type Tpthread_mutex_t = struct {
  1591. F__u struct {
  1592. F__vi [0][10]int32
  1593. F__p [0][5]uintptr
  1594. F__i [10]int32
  1595. }
  1596. }
  1597. type Tpthread_cond_t = struct {
  1598. F__u struct {
  1599. F__vi [0][12]int32
  1600. F__p [0][6]uintptr
  1601. F__i [12]int32
  1602. }
  1603. }
  1604. type Tpthread_rwlock_t = struct {
  1605. F__u struct {
  1606. F__vi [0][14]int32
  1607. F__p [0][7]uintptr
  1608. F__i [14]int32
  1609. }
  1610. }
  1611. type Tpthread_barrier_t = struct {
  1612. F__u struct {
  1613. F__vi [0][8]int32
  1614. F__p [0][4]uintptr
  1615. F__i [8]int32
  1616. }
  1617. }
  1618. type Tu_int8_t = uint8
  1619. type Tu_int16_t = uint16
  1620. type Tu_int32_t = uint32
  1621. type Tcaddr_t = uintptr
  1622. type Tu_char = uint8
  1623. type Tu_short = uint16
  1624. type Tushort = uint16
  1625. type Tu_int = uint32
  1626. type Tuint = uint32
  1627. type Tu_long = uint64
  1628. type Tulong = uint64
  1629. type Tquad_t = int64
  1630. type Tu_quad_t = uint64
  1631. type Ttimeval = struct {
  1632. Ftv_sec Ttime_t
  1633. Ftv_usec Tsuseconds_t
  1634. }
  1635. type Ttimespec = struct {
  1636. Ftv_sec Ttime_t
  1637. Ftv_nsec int64
  1638. }
  1639. type Tsigset_t = struct {
  1640. F__bits [16]uint64
  1641. }
  1642. type t__sigset_t = Tsigset_t
  1643. type Tfd_mask = uint64
  1644. type Tfd_set = struct {
  1645. Ffds_bits [16]uint64
  1646. }
  1647. type Tstat = struct {
  1648. Fst_dev Tdev_t
  1649. Fst_ino Tino_t
  1650. Fst_mode Tmode_t
  1651. Fst_nlink Tnlink_t
  1652. Fst_uid Tuid_t
  1653. Fst_gid Tgid_t
  1654. Fst_rdev Tdev_t
  1655. F__pad uint64
  1656. Fst_size Toff_t
  1657. Fst_blksize Tblksize_t
  1658. F__pad2 int32
  1659. Fst_blocks Tblkcnt_t
  1660. Fst_atim Ttimespec
  1661. Fst_mtim Ttimespec
  1662. Fst_ctim Ttimespec
  1663. F__unused [2]uint32
  1664. }
  1665. type Tstatx_timestamp = struct {
  1666. Ftv_sec Tint64_t
  1667. Ftv_nsec Tuint32_t
  1668. F__pad Tuint32_t
  1669. }
  1670. type Tstatx = struct {
  1671. Fstx_mask Tuint32_t
  1672. Fstx_blksize Tuint32_t
  1673. Fstx_attributes Tuint64_t
  1674. Fstx_nlink Tuint32_t
  1675. Fstx_uid Tuint32_t
  1676. Fstx_gid Tuint32_t
  1677. Fstx_mode Tuint16_t
  1678. F__pad0 [1]Tuint16_t
  1679. Fstx_ino Tuint64_t
  1680. Fstx_size Tuint64_t
  1681. Fstx_blocks Tuint64_t
  1682. Fstx_attributes_mask Tuint64_t
  1683. Fstx_atime Tstatx_timestamp
  1684. Fstx_btime Tstatx_timestamp
  1685. Fstx_ctime Tstatx_timestamp
  1686. Fstx_mtime Tstatx_timestamp
  1687. Fstx_rdev_major Tuint32_t
  1688. Fstx_rdev_minor Tuint32_t
  1689. Fstx_dev_major Tuint32_t
  1690. Fstx_dev_minor Tuint32_t
  1691. F__pad1 [14]Tuint64_t
  1692. }
  1693. type Ttm = struct {
  1694. Ftm_sec int32
  1695. Ftm_min int32
  1696. Ftm_hour int32
  1697. Ftm_mday int32
  1698. Ftm_mon int32
  1699. Ftm_year int32
  1700. Ftm_wday int32
  1701. Ftm_yday int32
  1702. Ftm_isdst int32
  1703. Ftm_gmtoff int64
  1704. Ftm_zone uintptr
  1705. }
  1706. type Titimerspec = struct {
  1707. Fit_interval Ttimespec
  1708. Fit_value Ttimespec
  1709. }
  1710. type TFcChar8 = uint8
  1711. type TFcChar16 = uint16
  1712. type TFcChar32 = uint32
  1713. type TFcBool = int32
  1714. type TFcType = int32
  1715. type __FcType = int32
  1716. const _FcTypeUnknown = -1
  1717. const _FcTypeVoid = 0
  1718. const _FcTypeInteger = 1
  1719. const _FcTypeDouble = 2
  1720. const _FcTypeString = 3
  1721. const _FcTypeBool = 4
  1722. const _FcTypeMatrix = 5
  1723. const _FcTypeCharSet = 6
  1724. const _FcTypeFTFace = 7
  1725. const _FcTypeLangSet = 8
  1726. const _FcTypeRange = 9
  1727. type TFcMatrix = struct {
  1728. Fxx float64
  1729. Fxy float64
  1730. Fyx float64
  1731. Fyy float64
  1732. }
  1733. type T_FcMatrix = TFcMatrix
  1734. type TFcCharSet = struct {
  1735. Fref TFcRef
  1736. Fnum int32
  1737. Fleaves_offset Tintptr_t
  1738. Fnumbers_offset Tintptr_t
  1739. }
  1740. type T_FcCharSet = TFcCharSet
  1741. type TFcObjectType = struct {
  1742. Fobject uintptr
  1743. Ftype1 TFcType
  1744. }
  1745. type T_FcObjectType = TFcObjectType
  1746. type TFcConstant = struct {
  1747. Fname uintptr
  1748. Fobject uintptr
  1749. Fvalue int32
  1750. }
  1751. type T_FcConstant = TFcConstant
  1752. type TFcResult = int32
  1753. type __FcResult = int32
  1754. const _FcResultMatch = 0
  1755. const _FcResultNoMatch = 1
  1756. const _FcResultTypeMismatch = 2
  1757. const _FcResultNoId = 3
  1758. const _FcResultOutOfMemory = 4
  1759. type TFcValueBinding = int32
  1760. type __FcValueBinding = int32
  1761. const _FcValueBindingWeak = 0
  1762. const _FcValueBindingStrong = 1
  1763. const _FcValueBindingSame = 2
  1764. const _FcValueBindingEnd = 2147483647
  1765. type TFcPattern = struct {
  1766. Fnum int32
  1767. Fsize int32
  1768. Felts_offset Tintptr_t
  1769. Fref TFcRef
  1770. }
  1771. type T_FcPattern = TFcPattern
  1772. type TFcPatternIter = struct {
  1773. Fdummy1 uintptr
  1774. Fdummy2 uintptr
  1775. }
  1776. type T_FcPatternIter = TFcPatternIter
  1777. type TFcRange = struct {
  1778. Fbegin float64
  1779. Fend float64
  1780. }
  1781. type T_FcRange = TFcRange
  1782. type TFcValue = struct {
  1783. Ftype1 TFcType
  1784. Fu struct {
  1785. Fi [0]int32
  1786. Fb [0]TFcBool
  1787. Fd [0]float64
  1788. Fm [0]uintptr
  1789. Fc [0]uintptr
  1790. Ff [0]uintptr
  1791. Fl [0]uintptr
  1792. Fr [0]uintptr
  1793. Fs uintptr
  1794. }
  1795. }
  1796. type T_FcValue = TFcValue
  1797. type TFcFontSet = struct {
  1798. Fnfont int32
  1799. Fsfont int32
  1800. Ffonts uintptr
  1801. }
  1802. type T_FcFontSet = TFcFontSet
  1803. type TFcObjectSet = struct {
  1804. Fnobject int32
  1805. Fsobject int32
  1806. Fobjects uintptr
  1807. }
  1808. type T_FcObjectSet = TFcObjectSet
  1809. type TFcMatchKind = int32
  1810. type __FcMatchKind = int32
  1811. const _FcMatchPattern = 0
  1812. const _FcMatchFont = 1
  1813. const _FcMatchScan = 2
  1814. const _FcMatchKindEnd = 3
  1815. const _FcMatchKindBegin = 0
  1816. type TFcLangResult = int32
  1817. type __FcLangResult = int32
  1818. const _FcLangEqual = 0
  1819. const _FcLangDifferentCountry = 1
  1820. const _FcLangDifferentTerritory = 1
  1821. const _FcLangDifferentLang = 2
  1822. type TFcSetName = int32
  1823. type __FcSetName = int32
  1824. const _FcSetSystem = 0
  1825. const _FcSetApplication = 1
  1826. type TFcConfigFileInfoIter = struct {
  1827. Fdummy1 uintptr
  1828. Fdummy2 uintptr
  1829. Fdummy3 uintptr
  1830. }
  1831. type T_FcConfigFileInfoIter = TFcConfigFileInfoIter
  1832. type TFcAtomic = struct {
  1833. Ffile uintptr
  1834. Fnew1 uintptr
  1835. Flck uintptr
  1836. Ftmp uintptr
  1837. }
  1838. type T_FcAtomic = TFcAtomic
  1839. type TFcEndian = int32
  1840. const _FcEndianBig = 0
  1841. const _FcEndianLittle = 1
  1842. type TFcConfig = struct {
  1843. FconfigDirs uintptr
  1844. FconfigMapDirs uintptr
  1845. FfontDirs uintptr
  1846. FcacheDirs uintptr
  1847. FconfigFiles uintptr
  1848. Fsubst [3]uintptr
  1849. FmaxObjects int32
  1850. FacceptGlobs uintptr
  1851. FrejectGlobs uintptr
  1852. FacceptPatterns uintptr
  1853. FrejectPatterns uintptr
  1854. Ffonts [2]uintptr
  1855. FrescanTime Ttime_t
  1856. FrescanInterval int32
  1857. Fref TFcRef
  1858. Fexpr_pool uintptr
  1859. FsysRoot uintptr
  1860. FavailConfigFiles uintptr
  1861. FrulesetList uintptr
  1862. }
  1863. type T_FcConfig = TFcConfig
  1864. type TFcStrList = struct {
  1865. Fset uintptr
  1866. Fn int32
  1867. }
  1868. type T_FcStrList = TFcStrList
  1869. type TFcStrSet = struct {
  1870. Fref TFcRef
  1871. Fnum int32
  1872. Fsize int32
  1873. Fstrs uintptr
  1874. Fcontrol uint32
  1875. }
  1876. type T_FcStrSet = TFcStrSet
  1877. type TFcCache = struct {
  1878. Fmagic uint32
  1879. Fversion int32
  1880. Fsize Tintptr_t
  1881. Fdir Tintptr_t
  1882. Fdirs Tintptr_t
  1883. Fdirs_count int32
  1884. Fset Tintptr_t
  1885. Fchecksum int32
  1886. Fchecksum_nano Tint64_t
  1887. }
  1888. type T_FcCache = TFcCache
  1889. type Tfc_mutex_impl_t = int32
  1890. type TFcMutex = int32
  1891. type Tfc_atomic_int_t = int32
  1892. type TFcRef = struct {
  1893. Fcount Tfc_atomic_int_t
  1894. }
  1895. type T_FcRef = TFcRef
  1896. type T_static_assert_on_line_141_failed = [1]int32
  1897. type TFcValueListPtr = uintptr
  1898. type T_FcValueList = struct {
  1899. Fnext uintptr
  1900. Fvalue TFcValue
  1901. Fbinding TFcValueBinding
  1902. }
  1903. type TFcValueList = struct {
  1904. Fnext uintptr
  1905. Fvalue TFcValue
  1906. Fbinding TFcValueBinding
  1907. }
  1908. type TFcObject = int32
  1909. type TFcPatternEltPtr = uintptr
  1910. type T_FcPatternElt = struct {
  1911. Fobject TFcObject
  1912. Fvalues uintptr
  1913. }
  1914. type TFcPatternElt = struct {
  1915. Fobject TFcObject
  1916. Fvalues uintptr
  1917. }
  1918. type TFcOp = int32
  1919. type __FcOp = int32
  1920. const _FcOpInteger = 0
  1921. const _FcOpDouble = 1
  1922. const _FcOpString = 2
  1923. const _FcOpMatrix = 3
  1924. const _FcOpRange = 4
  1925. const _FcOpBool = 5
  1926. const _FcOpCharSet = 6
  1927. const _FcOpLangSet = 7
  1928. const _FcOpNil = 8
  1929. const _FcOpField = 9
  1930. const _FcOpConst = 10
  1931. const _FcOpAssign = 11
  1932. const _FcOpAssignReplace = 12
  1933. const _FcOpPrependFirst = 13
  1934. const _FcOpPrepend = 14
  1935. const _FcOpAppend = 15
  1936. const _FcOpAppendLast = 16
  1937. const _FcOpDelete = 17
  1938. const _FcOpDeleteAll = 18
  1939. const _FcOpQuest = 19
  1940. const _FcOpOr = 20
  1941. const _FcOpAnd = 21
  1942. const _FcOpEqual = 22
  1943. const _FcOpNotEqual = 23
  1944. const _FcOpContains = 24
  1945. const _FcOpListing = 25
  1946. const _FcOpNotContains = 26
  1947. const _FcOpLess = 27
  1948. const _FcOpLessEqual = 28
  1949. const _FcOpMore = 29
  1950. const _FcOpMoreEqual = 30
  1951. const _FcOpPlus = 31
  1952. const _FcOpMinus = 32
  1953. const _FcOpTimes = 33
  1954. const _FcOpDivide = 34
  1955. const _FcOpNot = 35
  1956. const _FcOpComma = 36
  1957. const _FcOpFloor = 37
  1958. const _FcOpCeil = 38
  1959. const _FcOpRound = 39
  1960. const _FcOpTrunc = 40
  1961. const _FcOpInvalid = 41
  1962. type TFcOpFlags = int32
  1963. type __FcOpFlags = int32
  1964. const _FcOpFlagIgnoreBlanks = 1
  1965. type TFcExprMatrix = struct {
  1966. Fxx uintptr
  1967. Fxy uintptr
  1968. Fyx uintptr
  1969. Fyy uintptr
  1970. }
  1971. type T_FcExprMatrix = TFcExprMatrix
  1972. type TFcExprName = struct {
  1973. Fobject TFcObject
  1974. Fkind TFcMatchKind
  1975. }
  1976. type T_FcExprName = TFcExprName
  1977. type TFcExpr = struct {
  1978. Fop TFcOp
  1979. Fu struct {
  1980. Fdval [0]float64
  1981. Fsval [0]uintptr
  1982. Fmexpr [0]uintptr
  1983. Fbval [0]TFcBool
  1984. Fcval [0]uintptr
  1985. Flval [0]uintptr
  1986. Frval [0]uintptr
  1987. Fname [0]TFcExprName
  1988. Fconstant [0]uintptr
  1989. Ftree [0]struct {
  1990. Fleft uintptr
  1991. Fright uintptr
  1992. }
  1993. Fival int32
  1994. F__ccgo_pad11 [12]byte
  1995. }
  1996. }
  1997. type T_FcExpr = TFcExpr
  1998. type TFcExprPage = struct {
  1999. Fnext_page uintptr
  2000. Fnext uintptr
  2001. Fexprs [340]TFcExpr
  2002. }
  2003. type T_FcExprPage = TFcExprPage
  2004. type TFcQual = int32
  2005. type __FcQual = int32
  2006. const _FcQualAny = 0
  2007. const _FcQualAll = 1
  2008. const _FcQualFirst = 2
  2009. const _FcQualNotFirst = 3
  2010. type TFcTest = struct {
  2011. Fkind TFcMatchKind
  2012. Fqual TFcQual
  2013. Fobject TFcObject
  2014. Fop TFcOp
  2015. Fexpr uintptr
  2016. }
  2017. type T_FcTest = TFcTest
  2018. type TFcEdit = struct {
  2019. Fobject TFcObject
  2020. Fop TFcOp
  2021. Fexpr uintptr
  2022. Fbinding TFcValueBinding
  2023. }
  2024. type T_FcEdit = TFcEdit
  2025. type TFcDestroyFunc = uintptr
  2026. type TFcPtrListIter = struct {
  2027. Fdummy1 uintptr
  2028. Fdummy2 uintptr
  2029. Fdummy3 uintptr
  2030. }
  2031. type T_FcPtrListIter = TFcPtrListIter
  2032. type TFcRuleType = int32
  2033. type __FcRuleType = int32
  2034. const _FcRuleUnknown = 0
  2035. const _FcRuleTest = 1
  2036. const _FcRuleEdit = 2
  2037. type TFcRule = struct {
  2038. Fnext uintptr
  2039. Ftype1 TFcRuleType
  2040. Fu struct {
  2041. Fedit [0]uintptr
  2042. Ftest uintptr
  2043. }
  2044. }
  2045. type T_FcRule = TFcRule
  2046. type TFcRuleSet = struct {
  2047. Fref TFcRef
  2048. Fname uintptr
  2049. Fdescription uintptr
  2050. Fdomain uintptr
  2051. Fenabled TFcBool
  2052. Fsubst [3]uintptr
  2053. }
  2054. type T_FcRuleSet = TFcRuleSet
  2055. type TFcCharLeaf = struct {
  2056. Fmap1 [8]TFcChar32
  2057. }
  2058. type T_FcCharLeaf = TFcCharLeaf
  2059. type TFcStrBuf = struct {
  2060. Fbuf uintptr
  2061. Fallocated TFcBool
  2062. Ffailed TFcBool
  2063. Flen1 int32
  2064. Fsize int32
  2065. Fbuf_static [128]TFcChar8
  2066. }
  2067. type T_FcStrBuf = TFcStrBuf
  2068. type TFcHashFunc = uintptr
  2069. type TFcCompareFunc = uintptr
  2070. type TFcCopyFunc = uintptr
  2071. type TFcAlign = struct {
  2072. Fi [0]int32
  2073. Fip [0]Tintptr_t
  2074. Fb [0]TFcBool
  2075. Fp [0]uintptr
  2076. Fd float64
  2077. }
  2078. type T_FcAlign = TFcAlign
  2079. type TFcSerializeBucket = struct {
  2080. Fobject uintptr
  2081. Fhash Tuintptr_t
  2082. Foffset Tintptr_t
  2083. }
  2084. type T_FcSerializeBucket = TFcSerializeBucket
  2085. type TFcSerialize = struct {
  2086. Fsize Tintptr_t
  2087. Fcs_freezer uintptr
  2088. Flinear uintptr
  2089. Fbuckets uintptr
  2090. Fbuckets_count Tsize_t
  2091. Fbuckets_used Tsize_t
  2092. Fbuckets_used_max Tsize_t
  2093. }
  2094. type T_FcSerialize = TFcSerialize
  2095. type TFcGlyphName = struct {
  2096. Fucs TFcChar32
  2097. Fname [1]TFcChar8
  2098. }
  2099. type T_FcGlyphName = TFcGlyphName
  2100. type TFcCaseFold = struct {
  2101. Fupper TFcChar32
  2102. F__ccgo4 uint16
  2103. Foffset int16
  2104. }
  2105. type T_FcCaseFold = TFcCaseFold
  2106. type TFcFileTime = struct {
  2107. Ftime Ttime_t
  2108. Fset TFcBool
  2109. }
  2110. type T_FcFileTime = TFcFileTime
  2111. type TFcStatFS = struct {
  2112. Fis_remote_fs TFcBool
  2113. Fis_mtime_broken TFcBool
  2114. }
  2115. type T_FcStatFS = TFcStatFS
  2116. type TFcValuePromotionBuffer = struct {
  2117. Fu struct {
  2118. Fi [0]int32
  2119. Fl [0]int64
  2120. Fc [0][256]uint8
  2121. Fd float64
  2122. F__ccgo_pad4 [248]byte
  2123. }
  2124. }
  2125. type T_FcValuePromotionBuffer = TFcValuePromotionBuffer
  2126. const _FC_INVALID_OBJECT = 0
  2127. const _FC_FAMILY_OBJECT = 1
  2128. const _FC_FAMILYLANG_OBJECT = 2
  2129. const _FC_STYLE_OBJECT = 3
  2130. const _FC_STYLELANG_OBJECT = 4
  2131. const _FC_FULLNAME_OBJECT = 5
  2132. const _FC_FULLNAMELANG_OBJECT = 6
  2133. const _FC_SLANT_OBJECT = 7
  2134. const _FC_WEIGHT_OBJECT = 8
  2135. const _FC_WIDTH_OBJECT = 9
  2136. const _FC_SIZE_OBJECT = 10
  2137. const _FC_ASPECT_OBJECT = 11
  2138. const _FC_PIXEL_SIZE_OBJECT = 12
  2139. const _FC_SPACING_OBJECT = 13
  2140. const _FC_FOUNDRY_OBJECT = 14
  2141. const _FC_ANTIALIAS_OBJECT = 15
  2142. const _FC_HINT_STYLE_OBJECT = 16
  2143. const _FC_HINTING_OBJECT = 17
  2144. const _FC_VERTICAL_LAYOUT_OBJECT = 18
  2145. const _FC_AUTOHINT_OBJECT = 19
  2146. const _FC_GLOBAL_ADVANCE_OBJECT = 20
  2147. const _FC_FILE_OBJECT = 21
  2148. const _FC_INDEX_OBJECT = 22
  2149. const _FC_RASTERIZER_OBJECT = 23
  2150. const _FC_OUTLINE_OBJECT = 24
  2151. const _FC_SCALABLE_OBJECT = 25
  2152. const _FC_DPI_OBJECT = 26
  2153. const _FC_RGBA_OBJECT = 27
  2154. const _FC_SCALE_OBJECT = 28
  2155. const _FC_MINSPACE_OBJECT = 29
  2156. const _FC_CHARWIDTH_OBJECT = 30
  2157. const _FC_CHAR_HEIGHT_OBJECT = 31
  2158. const _FC_MATRIX_OBJECT = 32
  2159. const _FC_CHARSET_OBJECT = 33
  2160. const _FC_LANG_OBJECT = 34
  2161. const _FC_FONTVERSION_OBJECT = 35
  2162. const _FC_CAPABILITY_OBJECT = 36
  2163. const _FC_FONTFORMAT_OBJECT = 37
  2164. const _FC_EMBOLDEN_OBJECT = 38
  2165. const _FC_EMBEDDED_BITMAP_OBJECT = 39
  2166. const _FC_DECORATIVE_OBJECT = 40
  2167. const _FC_LCD_FILTER_OBJECT = 41
  2168. const _FC_NAMELANG_OBJECT = 42
  2169. const _FC_FONT_FEATURES_OBJECT = 43
  2170. const _FC_PRGNAME_OBJECT = 44
  2171. const _FC_HASH_OBJECT = 45
  2172. const _FC_POSTSCRIPT_NAME_OBJECT = 46
  2173. const _FC_COLOR_OBJECT = 47
  2174. const _FC_SYMBOL_OBJECT = 48
  2175. const _FC_FONT_VARIATIONS_OBJECT = 49
  2176. const _FC_VARIABLE_OBJECT = 50
  2177. const _FC_FONT_HAS_HINT_OBJECT = 51
  2178. const _FC_ORDER_OBJECT = 52
  2179. const _FC_ONE_AFTER_MAX_BASE_OBJECT = 53
  2180. func XIA__FcAtomicCreate(tls *libc.TLS, file uintptr) (r uintptr) {
  2181. var atomic uintptr
  2182. var file_len, lck_len, new_len, tmp_len, total_len int32
  2183. _, _, _, _, _, _ = atomic, file_len, lck_len, new_len, tmp_len, total_len
  2184. file_len = libc.Int32FromUint64(libc.Xstrlen(tls, file))
  2185. new_len = libc.Int32FromUint64(libc.Uint64FromInt32(file_len) + uint64(5))
  2186. lck_len = libc.Int32FromUint64(libc.Uint64FromInt32(file_len) + uint64(5))
  2187. tmp_len = libc.Int32FromUint64(libc.Uint64FromInt32(file_len) + uint64(12))
  2188. total_len = libc.Int32FromUint64(libc.Uint64FromInt64(32) + libc.Uint64FromInt32(file_len) + libc.Uint64FromInt32(1) + libc.Uint64FromInt32(new_len) + libc.Uint64FromInt32(1) + libc.Uint64FromInt32(lck_len) + libc.Uint64FromInt32(1) + libc.Uint64FromInt32(tmp_len) + libc.Uint64FromInt32(1))
  2189. atomic = libc.Xmalloc(tls, libc.Uint64FromInt32(total_len))
  2190. if !(atomic != 0) {
  2191. return uintptr(0)
  2192. }
  2193. (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile = atomic + libc.UintptrFromInt32(1)*32
  2194. libc.Xstrcpy(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile, file)
  2195. (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1 = (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile + uintptr(file_len) + uintptr(1)
  2196. libc.Xstrcpy(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, file)
  2197. libc.Xstrcat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, __ccgo_ts)
  2198. (*TFcAtomic)(unsafe.Pointer(atomic)).Flck = (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1 + uintptr(new_len) + uintptr(1)
  2199. libc.Xstrcpy(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, file)
  2200. libc.Xstrcat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, __ccgo_ts+5)
  2201. (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp = (*TFcAtomic)(unsafe.Pointer(atomic)).Flck + uintptr(lck_len) + uintptr(1)
  2202. return atomic
  2203. }
  2204. var XFcAtomicCreate = XIA__FcAtomicCreate
  2205. func XIA__FcAtomicLock(tls *libc.TLS, atomic uintptr) (r TFcBool) {
  2206. bp := tls.Alloc(144)
  2207. defer tls.Free(144)
  2208. var f uintptr
  2209. var fd, ret int32
  2210. var no_link TFcBool
  2211. var now Ttime_t
  2212. var _ /* lck_stat at bp+0 */ Tstat
  2213. _, _, _, _, _ = f, fd, no_link, now, ret
  2214. fd = -int32(1)
  2215. f = uintptr(0)
  2216. no_link = m_FcFalse
  2217. libc.Xstrcpy(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile)
  2218. libc.Xstrcat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, __ccgo_ts+10)
  2219. fd = XFcMakeTempfile(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2220. if fd < 0 {
  2221. return m_FcFalse
  2222. }
  2223. f = libc.Xfdopen(tls, fd, __ccgo_ts+22)
  2224. if !(f != 0) {
  2225. libc.Xclose(tls, fd)
  2226. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2227. return m_FcFalse
  2228. }
  2229. ret = libc.Xfprintf(tls, f, __ccgo_ts+24, libc.VaList(bp+136, int64(libc.Xgetpid(tls))))
  2230. if ret <= 0 {
  2231. libc.Xfclose(tls, f)
  2232. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2233. return m_FcFalse
  2234. }
  2235. if libc.Xfclose(tls, f) == -int32(1) {
  2236. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2237. return m_FcFalse
  2238. }
  2239. ret = libc.Xlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck)
  2240. if ret < 0 && (*(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(m_EPERM) || *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(m_EOPNOTSUPP) || *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(m_EACCES)) {
  2241. /* the filesystem where atomic->lck points to may not supports
  2242. * the hard link. so better try to fallback
  2243. */
  2244. ret = libc.Xmkdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, uint32(0600))
  2245. no_link = int32(m_FcTrue)
  2246. }
  2247. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2248. if ret < 0 {
  2249. /*
  2250. * If the file is around and old (> 10 minutes),
  2251. * assume the lock is stale. This assumes that any
  2252. * machines sharing the same filesystem will have clocks
  2253. * reasonably close to each other.
  2254. */
  2255. if XFcStat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, bp) >= 0 {
  2256. now = libc.Xtime(tls, uintptr(0))
  2257. if now-(*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_sec > int64(libc.Int32FromInt32(10)*libc.Int32FromInt32(60)) {
  2258. if no_link != 0 {
  2259. if libc.Xrmdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == 0 {
  2260. return XIA__FcAtomicLock(tls, atomic)
  2261. }
  2262. } else {
  2263. if libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == 0 {
  2264. return XIA__FcAtomicLock(tls, atomic)
  2265. }
  2266. }
  2267. }
  2268. }
  2269. return m_FcFalse
  2270. }
  2271. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1)
  2272. return int32(m_FcTrue)
  2273. }
  2274. var XFcAtomicLock = XIA__FcAtomicLock
  2275. func XIA__FcAtomicNewFile(tls *libc.TLS, atomic uintptr) (r uintptr) {
  2276. return (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1
  2277. }
  2278. var XFcAtomicNewFile = XIA__FcAtomicNewFile
  2279. func XIA__FcAtomicOrigFile(tls *libc.TLS, atomic uintptr) (r uintptr) {
  2280. return (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile
  2281. }
  2282. var XFcAtomicOrigFile = XIA__FcAtomicOrigFile
  2283. func XIA__FcAtomicReplaceOrig(tls *libc.TLS, atomic uintptr) (r TFcBool) {
  2284. if libc.Xrename(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile) < 0 {
  2285. return m_FcFalse
  2286. }
  2287. return int32(m_FcTrue)
  2288. }
  2289. var XFcAtomicReplaceOrig = XIA__FcAtomicReplaceOrig
  2290. func XIA__FcAtomicDeleteNew(tls *libc.TLS, atomic uintptr) {
  2291. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1)
  2292. }
  2293. var XFcAtomicDeleteNew = XIA__FcAtomicDeleteNew
  2294. func XIA__FcAtomicUnlock(tls *libc.TLS, atomic uintptr) {
  2295. if libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == -int32(1) {
  2296. libc.Xrmdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck)
  2297. }
  2298. }
  2299. var XFcAtomicUnlock = XIA__FcAtomicUnlock
  2300. func XIA__FcAtomicDestroy(tls *libc.TLS, atomic uintptr) {
  2301. libc.Xfree(tls, atomic)
  2302. }
  2303. var XFcAtomicDestroy = XIA__FcAtomicDestroy
  2304. const m_AT_EACCESS = 0x200
  2305. const m_AT_EMPTY_PATH = 0x1000
  2306. const m_AT_NO_AUTOMOUNT = 0x800
  2307. const m_AT_RECURSIVE = 0x8000
  2308. const m_AT_REMOVEDIR = 0x200
  2309. const m_AT_STATX_DONT_SYNC = 0x4000
  2310. const m_AT_STATX_FORCE_SYNC = 0x2000
  2311. const m_AT_STATX_SYNC_AS_STAT = 0x0000
  2312. const m_AT_STATX_SYNC_TYPE = 0x6000
  2313. const m_AT_SYMLINK_FOLLOW = 0x400
  2314. const m_AT_SYMLINK_NOFOLLOW = 0x100
  2315. const m_DN_ACCESS = 0x00000001
  2316. const m_DN_ATTRIB = 0x00000020
  2317. const m_DN_CREATE = 0x00000004
  2318. const m_DN_DELETE = 0x00000008
  2319. const m_DN_MODIFY = 0x00000002
  2320. const m_DN_MULTISHOT = 0x80000000
  2321. const m_DN_RENAME = 0x00000010
  2322. const m_DT_BLK = 6
  2323. const m_DT_CHR = 2
  2324. const m_DT_DIR = 4
  2325. const m_DT_FIFO = 1
  2326. const m_DT_LNK = 10
  2327. const m_DT_REG = 8
  2328. const m_DT_SOCK = 12
  2329. const m_DT_UNKNOWN = 0
  2330. const m_DT_WHT = 14
  2331. const m_FALLOC_FL_KEEP_SIZE = 1
  2332. const m_FALLOC_FL_PUNCH_HOLE = 2
  2333. const m_FAPPEND = "O_APPEND"
  2334. const m_FASYNC = "O_ASYNC"
  2335. const m_FC_ARCH_ENDIAN = "le64"
  2336. const m_FC_ARCH_SIZE_ALIGN = "64"
  2337. const m_FC_CACHE_MAGIC_ALLOC1 = 4228054021
  2338. const m_FC_CACHE_MAGIC_MMAP1 = 4228054020
  2339. const m_FC_CACHE_MAX_LEVEL = 16
  2340. const m_FC_CACHE_MIN_MMAP = 1024
  2341. const m_FD_CLOEXEC = 1
  2342. const m_FFSYNC = "O_SYNC"
  2343. const m_FNDELAY = "O_NDELAY"
  2344. const m_FNONBLOCK = "O_NONBLOCK"
  2345. const m_F_ADD_SEALS = 1033
  2346. const m_F_CANCELLK = 1029
  2347. const m_F_DUPFD = 0
  2348. const m_F_DUPFD_CLOEXEC = 1030
  2349. const m_F_GETFD = 1
  2350. const m_F_GETFL = 3
  2351. const m_F_GETLEASE = 1025
  2352. const m_F_GETLK = 5
  2353. const m_F_GETOWN = 9
  2354. const m_F_GETOWNER_UIDS = 17
  2355. const m_F_GETOWN_EX = 16
  2356. const m_F_GETPIPE_SZ = 1032
  2357. const m_F_GETSIG = 11
  2358. const m_F_GET_FILE_RW_HINT = 1037
  2359. const m_F_GET_RW_HINT = 1035
  2360. const m_F_GET_SEALS = 1034
  2361. const m_F_NOTIFY = 1026
  2362. const m_F_OFD_GETLK = 36
  2363. const m_F_OFD_SETLK = 37
  2364. const m_F_OFD_SETLKW = 38
  2365. const m_F_OWNER_GID = 2
  2366. const m_F_OWNER_PGRP = 2
  2367. const m_F_OWNER_PID = 1
  2368. const m_F_OWNER_TID = 0
  2369. const m_F_RDLCK = 0
  2370. const m_F_SEAL_FUTURE_WRITE = 0x0010
  2371. const m_F_SEAL_GROW = 0x0004
  2372. const m_F_SEAL_SEAL = 0x0001
  2373. const m_F_SEAL_SHRINK = 0x0002
  2374. const m_F_SEAL_WRITE = 0x0008
  2375. const m_F_SETFD = 2
  2376. const m_F_SETFL = 4
  2377. const m_F_SETLEASE = 1024
  2378. const m_F_SETLK = 6
  2379. const m_F_SETLKW = 7
  2380. const m_F_SETOWN = 8
  2381. const m_F_SETOWN_EX = 15
  2382. const m_F_SETPIPE_SZ = 1031
  2383. const m_F_SETSIG = 10
  2384. const m_F_SET_FILE_RW_HINT = 1038
  2385. const m_F_SET_RW_HINT = 1036
  2386. const m_F_UNLCK = 2
  2387. const m_F_WRLCK = 1
  2388. const m_FcAtomicCreate = "IA__FcAtomicCreate"
  2389. const m_FcAtomicDeleteNew = "IA__FcAtomicDeleteNew"
  2390. const m_FcAtomicDestroy = "IA__FcAtomicDestroy"
  2391. const m_FcAtomicLock = "IA__FcAtomicLock"
  2392. const m_FcAtomicNewFile = "IA__FcAtomicNewFile"
  2393. const m_FcAtomicOrigFile = "IA__FcAtomicOrigFile"
  2394. const m_FcAtomicReplaceOrig = "IA__FcAtomicReplaceOrig"
  2395. const m_FcAtomicUnlock = "IA__FcAtomicUnlock"
  2396. const m_INT64_MAX1 = 9223372036854775807
  2397. const m_ITIMER_PROF = 2
  2398. const m_ITIMER_REAL = 0
  2399. const m_ITIMER_VIRTUAL = 1
  2400. const m_LLONG_MAX1 = 9223372036854775807
  2401. const m_MADV_COLD = 20
  2402. const m_MADV_DODUMP = 17
  2403. const m_MADV_DOFORK = 11
  2404. const m_MADV_DONTDUMP = 16
  2405. const m_MADV_DONTFORK = 10
  2406. const m_MADV_DONTNEED = 4
  2407. const m_MADV_FREE = 8
  2408. const m_MADV_HUGEPAGE = 14
  2409. const m_MADV_HWPOISON = 100
  2410. const m_MADV_KEEPONFORK = 19
  2411. const m_MADV_MERGEABLE = 12
  2412. const m_MADV_NOHUGEPAGE = 15
  2413. const m_MADV_NORMAL = 0
  2414. const m_MADV_PAGEOUT = 21
  2415. const m_MADV_RANDOM = 1
  2416. const m_MADV_REMOVE = 9
  2417. const m_MADV_SEQUENTIAL = 2
  2418. const m_MADV_SOFT_OFFLINE = 101
  2419. const m_MADV_UNMERGEABLE = 13
  2420. const m_MADV_WILLNEED = 3
  2421. const m_MADV_WIPEONFORK = 18
  2422. const m_MAP_ANON = 0x20
  2423. const m_MAP_ANONYMOUS = "MAP_ANON"
  2424. const m_MAP_DENYWRITE = 0x0800
  2425. const m_MAP_EXECUTABLE = 0x1000
  2426. const m_MAP_FILE = 0
  2427. const m_MAP_FIXED = 0x10
  2428. const m_MAP_FIXED_NOREPLACE = 0x100000
  2429. const m_MAP_GROWSDOWN = 0x0100
  2430. const m_MAP_HUGETLB = 0x40000
  2431. const m_MAP_HUGE_MASK = 0x3f
  2432. const m_MAP_HUGE_SHIFT = 26
  2433. const m_MAP_LOCKED = 0x2000
  2434. const m_MAP_NONBLOCK = 0x10000
  2435. const m_MAP_NORESERVE = 0x4000
  2436. const m_MAP_POPULATE = 0x8000
  2437. const m_MAP_PRIVATE = 0x02
  2438. const m_MAP_SHARED = 1
  2439. const m_MAP_SHARED_VALIDATE = 0x03
  2440. const m_MAP_STACK = 0x20000
  2441. const m_MAP_SYNC = 0x80000
  2442. const m_MAP_TYPE = 0x0f
  2443. const m_MAX_HANDLE_SZ = 128
  2444. const m_MCL_CURRENT = 1
  2445. const m_MCL_FUTURE = 2
  2446. const m_MCL_ONFAULT = 4
  2447. const m_MFD_ALLOW_SEALING = 0x0002
  2448. const m_MFD_CLOEXEC = 0x0001
  2449. const m_MFD_HUGETLB = 0x0004
  2450. const m_MLOCK_ONFAULT = 0x01
  2451. const m_MREMAP_DONTUNMAP = 4
  2452. const m_MREMAP_FIXED = 2
  2453. const m_MREMAP_MAYMOVE = 1
  2454. const m_MS_ASYNC = 1
  2455. const m_MS_INVALIDATE = 2
  2456. const m_MS_SYNC = 4
  2457. const m_O_APPEND = 02000
  2458. const m_O_ASYNC = 020000
  2459. const m_O_BINARY = 0
  2460. const m_O_CLOEXEC = 02000000
  2461. const m_O_CREAT = 64
  2462. const m_O_DIRECT = 040000
  2463. const m_O_DIRECTORY = 0200000
  2464. const m_O_DSYNC = 010000
  2465. const m_O_EXCL = 0200
  2466. const m_O_EXEC = "O_PATH"
  2467. const m_O_LARGEFILE = 0100000
  2468. const m_O_NDELAY = "O_NONBLOCK"
  2469. const m_O_NOATIME = 01000000
  2470. const m_O_NOCTTY = 0400
  2471. const m_O_NOFOLLOW = 0400000
  2472. const m_O_NONBLOCK = 04000
  2473. const m_O_PATH = 010000000
  2474. const m_O_RDONLY = 0
  2475. const m_O_RDWR = 2
  2476. const m_O_RSYNC = 04010000
  2477. const m_O_SEARCH = "O_PATH"
  2478. const m_O_SYNC = 04010000
  2479. const m_O_TMPFILE = 020200000
  2480. const m_O_TRUNC = 01000
  2481. const m_O_TTY_INIT = 0
  2482. const m_O_WRONLY = 01
  2483. const m_POSIX_FADV_DONTNEED = 4
  2484. const m_POSIX_FADV_NOREUSE = 5
  2485. const m_POSIX_FADV_NORMAL = 0
  2486. const m_POSIX_FADV_RANDOM = 1
  2487. const m_POSIX_FADV_SEQUENTIAL = 2
  2488. const m_POSIX_FADV_WILLNEED = 3
  2489. const m_POSIX_MADV_DONTNEED = 4
  2490. const m_POSIX_MADV_NORMAL = 0
  2491. const m_POSIX_MADV_RANDOM = 1
  2492. const m_POSIX_MADV_SEQUENTIAL = 2
  2493. const m_POSIX_MADV_WILLNEED = 3
  2494. const m_PROT_EXEC = 4
  2495. const m_PROT_GROWSDOWN = 0x01000000
  2496. const m_PROT_GROWSUP = 0x02000000
  2497. const m_PROT_NONE = 0
  2498. const m_PROT_READ = 1
  2499. const m_PROT_WRITE = 2
  2500. const m_RWF_WRITE_LIFE_NOT_SET = 0
  2501. const m_RWH_WRITE_LIFE_EXTREME = 5
  2502. const m_RWH_WRITE_LIFE_LONG = 4
  2503. const m_RWH_WRITE_LIFE_MEDIUM = 3
  2504. const m_RWH_WRITE_LIFE_NONE = 1
  2505. const m_RWH_WRITE_LIFE_SHORT = 2
  2506. const m_SPLICE_F_GIFT = 8
  2507. const m_SPLICE_F_MORE = 4
  2508. const m_SPLICE_F_MOVE = 1
  2509. const m_SPLICE_F_NONBLOCK = 2
  2510. const m_SYNC_FILE_RANGE_WAIT_AFTER = 4
  2511. const m_SYNC_FILE_RANGE_WAIT_BEFORE = 1
  2512. const m_SYNC_FILE_RANGE_WRITE = 2
  2513. const m___LONG_MAX1 = 9223372036854775807
  2514. const m_d_fileno = "d_ino"
  2515. const m_loff_t = "off_t"
  2516. type TMD5Context = struct {
  2517. Fbuf [4]TFcChar32
  2518. Fbits [2]TFcChar32
  2519. Fin [64]uint8
  2520. }
  2521. func _MD5Init(tls *libc.TLS, ctx uintptr) {
  2522. *(*TFcChar32)(unsafe.Pointer(ctx)) = uint32(0x67452301)
  2523. *(*TFcChar32)(unsafe.Pointer(ctx + 1*4)) = uint32(0xefcdab89)
  2524. *(*TFcChar32)(unsafe.Pointer(ctx + 2*4)) = uint32(0x98badcfe)
  2525. *(*TFcChar32)(unsafe.Pointer(ctx + 3*4)) = uint32(0x10325476)
  2526. *(*TFcChar32)(unsafe.Pointer(ctx + 16)) = uint32(0)
  2527. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4)) = uint32(0)
  2528. }
  2529. func _MD5Update(tls *libc.TLS, ctx uintptr, buf uintptr, len1 uint32) {
  2530. var p uintptr
  2531. var t, v1 TFcChar32
  2532. _, _, _ = p, t, v1
  2533. t = *(*TFcChar32)(unsafe.Pointer(ctx + 16))
  2534. v1 = t + len1<<libc.Int32FromInt32(3)
  2535. *(*TFcChar32)(unsafe.Pointer(ctx + 16)) = v1
  2536. if v1 < t {
  2537. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4))++
  2538. }
  2539. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4)) += len1 >> int32(29)
  2540. t = t >> libc.Int32FromInt32(3) & uint32(0x3f)
  2541. if t != 0 {
  2542. p = ctx + 24 + uintptr(t)
  2543. t = uint32(64) - t
  2544. if len1 < t {
  2545. libc.Xmemcpy(tls, p, buf, uint64(len1))
  2546. return
  2547. }
  2548. libc.Xmemcpy(tls, p, buf, uint64(t))
  2549. _MD5Transform(tls, ctx, ctx+24)
  2550. buf += uintptr(t)
  2551. len1 -= t
  2552. }
  2553. for len1 >= uint32(64) {
  2554. libc.Xmemcpy(tls, ctx+24, buf, uint64(64))
  2555. _MD5Transform(tls, ctx, ctx+24)
  2556. buf += uintptr(64)
  2557. len1 -= uint32(64)
  2558. }
  2559. libc.Xmemcpy(tls, ctx+24, buf, uint64(len1))
  2560. }
  2561. func _MD5Final(tls *libc.TLS, digest uintptr, ctx uintptr) {
  2562. var count uint32
  2563. var p, v1 uintptr
  2564. _, _, _ = count, p, v1
  2565. count = *(*TFcChar32)(unsafe.Pointer(ctx + 16)) >> libc.Int32FromInt32(3) & uint32(0x3F)
  2566. p = ctx + 24 + uintptr(count)
  2567. v1 = p
  2568. p++
  2569. *(*uint8)(unsafe.Pointer(v1)) = uint8(0x80)
  2570. count = libc.Uint32FromInt32(libc.Int32FromInt32(64)-libc.Int32FromInt32(1)) - count
  2571. if count < uint32(8) {
  2572. libc.Xmemset(tls, p, 0, uint64(count))
  2573. _MD5Transform(tls, ctx, ctx+24)
  2574. libc.Xmemset(tls, ctx+24, 0, uint64(56))
  2575. } else {
  2576. libc.Xmemset(tls, p, 0, uint64(count-uint32(8)))
  2577. }
  2578. *(*TFcChar32)(unsafe.Pointer(ctx + 24 + 14*4)) = *(*TFcChar32)(unsafe.Pointer(ctx + 16))
  2579. *(*TFcChar32)(unsafe.Pointer(ctx + 24 + 15*4)) = *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4))
  2580. _MD5Transform(tls, ctx, ctx+24)
  2581. libc.Xmemcpy(tls, digest, ctx, uint64(16))
  2582. libc.Xmemset(tls, ctx, 0, uint64(88))
  2583. }
  2584. func _MD5Transform(tls *libc.TLS, buf uintptr, in uintptr) {
  2585. var a, b, c, d TFcChar32
  2586. _, _, _, _ = a, b, c, d
  2587. a = *(*TFcChar32)(unsafe.Pointer(buf))
  2588. b = *(*TFcChar32)(unsafe.Pointer(buf + 1*4))
  2589. c = *(*TFcChar32)(unsafe.Pointer(buf + 2*4))
  2590. d = *(*TFcChar32)(unsafe.Pointer(buf + 3*4))
  2591. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xd76aa478)
  2592. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  2593. a += b
  2594. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xe8c7b756)
  2595. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  2596. d += a
  2597. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0x242070db)
  2598. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  2599. c += d
  2600. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xc1bdceee)
  2601. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  2602. b += c
  2603. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xf57c0faf)
  2604. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  2605. a += b
  2606. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0x4787c62a)
  2607. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  2608. d += a
  2609. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xa8304613)
  2610. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  2611. c += d
  2612. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0xfd469501)
  2613. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  2614. b += c
  2615. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x698098d8)
  2616. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  2617. a += b
  2618. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0x8b44f7af)
  2619. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  2620. d += a
  2621. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xffff5bb1)
  2622. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  2623. c += d
  2624. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x895cd7be)
  2625. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  2626. b += c
  2627. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x6b901122)
  2628. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  2629. a += b
  2630. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0xfd987193)
  2631. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  2632. d += a
  2633. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xa679438e)
  2634. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  2635. c += d
  2636. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0x49b40821)
  2637. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  2638. b += c
  2639. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xf61e2562)
  2640. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  2641. a += b
  2642. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xc040b340)
  2643. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2644. d += a
  2645. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x265e5a51)
  2646. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  2647. c += d
  2648. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xe9b6c7aa)
  2649. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  2650. b += c
  2651. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xd62f105d)
  2652. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  2653. a += b
  2654. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0x02441453)
  2655. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2656. d += a
  2657. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0xd8a1e681)
  2658. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  2659. c += d
  2660. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xe7d3fbc8)
  2661. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  2662. b += c
  2663. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0x21e1cde6)
  2664. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  2665. a += b
  2666. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xc33707d6)
  2667. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2668. d += a
  2669. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xf4d50d87)
  2670. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  2671. c += d
  2672. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x455a14ed)
  2673. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  2674. b += c
  2675. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0xa9e3e905)
  2676. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  2677. a += b
  2678. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0xfcefa3f8)
  2679. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  2680. d += a
  2681. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0x676f02d9)
  2682. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  2683. c += d
  2684. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x8d2a4c8a)
  2685. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  2686. b += c
  2687. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xfffa3942)
  2688. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  2689. a += b
  2690. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x8771f681)
  2691. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2692. d += a
  2693. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x6d9d6122)
  2694. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  2695. c += d
  2696. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xfde5380c)
  2697. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  2698. b += c
  2699. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xa4beea44)
  2700. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  2701. a += b
  2702. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0x4bdecfa9)
  2703. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2704. d += a
  2705. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0xf6bb4b60)
  2706. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  2707. c += d
  2708. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xbebfbc70)
  2709. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  2710. b += c
  2711. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0x289b7ec6)
  2712. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  2713. a += b
  2714. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xeaa127fa)
  2715. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2716. d += a
  2717. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xd4ef3085)
  2718. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  2719. c += d
  2720. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0x04881d05)
  2721. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  2722. b += c
  2723. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0xd9d4d039)
  2724. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  2725. a += b
  2726. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0xe6db99e5)
  2727. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  2728. d += a
  2729. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0x1fa27cf8)
  2730. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  2731. c += d
  2732. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0xc4ac5665)
  2733. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  2734. b += c
  2735. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xf4292244)
  2736. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  2737. a += b
  2738. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0x432aff97)
  2739. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2740. d += a
  2741. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xab9423a7)
  2742. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  2743. c += d
  2744. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xfc93a039)
  2745. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  2746. b += c
  2747. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x655b59c3)
  2748. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  2749. a += b
  2750. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0x8f0ccc92)
  2751. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2752. d += a
  2753. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xffeff47d)
  2754. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  2755. c += d
  2756. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0x85845dd1)
  2757. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  2758. b += c
  2759. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x6fa87e4f)
  2760. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  2761. a += b
  2762. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0xfe2ce6e0)
  2763. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2764. d += a
  2765. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xa3014314)
  2766. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  2767. c += d
  2768. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0x4e0811a1)
  2769. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  2770. b += c
  2771. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xf7537e82)
  2772. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  2773. a += b
  2774. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0xbd3af235)
  2775. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  2776. d += a
  2777. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0x2ad7d2bb)
  2778. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  2779. c += d
  2780. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0xeb86d391)
  2781. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  2782. b += c
  2783. *(*TFcChar32)(unsafe.Pointer(buf)) += a
  2784. *(*TFcChar32)(unsafe.Pointer(buf + 1*4)) += b
  2785. *(*TFcChar32)(unsafe.Pointer(buf + 2*4)) += c
  2786. *(*TFcChar32)(unsafe.Pointer(buf + 3*4)) += d
  2787. }
  2788. type Tiovec = struct {
  2789. Fiov_base uintptr
  2790. Fiov_len Tsize_t
  2791. }
  2792. type Tflock = struct {
  2793. Fl_type int16
  2794. Fl_whence int16
  2795. Fl_start Toff_t
  2796. Fl_len Toff_t
  2797. Fl_pid Tpid_t
  2798. }
  2799. type Tfile_handle = struct {
  2800. Fhandle_bytes uint32
  2801. Fhandle_type int32
  2802. }
  2803. type Tf_owner_ex = struct {
  2804. Ftype1 int32
  2805. Fpid Tpid_t
  2806. }
  2807. type Tdirent = struct {
  2808. Fd_ino Tino_t
  2809. Fd_off Toff_t
  2810. Fd_reclen uint16
  2811. Fd_type uint8
  2812. Fd_name [256]uint8
  2813. }
  2814. type Titimerval = struct {
  2815. Fit_interval Ttimeval
  2816. Fit_value Ttimeval
  2817. }
  2818. type Ttimezone = struct {
  2819. Ftz_minuteswest int32
  2820. Ftz_dsttime int32
  2821. }
  2822. func XIA__FcDirCacheCreateUUID(tls *libc.TLS, dir uintptr, force TFcBool, config uintptr) (r TFcBool) {
  2823. return int32(m_FcTrue)
  2824. }
  2825. var XFcDirCacheCreateUUID = XIA__FcDirCacheCreateUUID
  2826. func XIA__FcDirCacheDeleteUUID(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  2827. bp := tls.Alloc(192)
  2828. defer tls.Free(192)
  2829. var d, sysroot, target uintptr
  2830. var ret TFcBool
  2831. var _ /* statb at bp+0 */ Tstat
  2832. var _ /* times at bp+128 */ [2]Ttimeval
  2833. _, _, _, _ = d, ret, sysroot, target
  2834. ret = int32(m_FcTrue)
  2835. config = XIA__FcConfigReference(tls, config)
  2836. if !(config != 0) {
  2837. return m_FcFalse
  2838. }
  2839. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  2840. if sysroot != 0 {
  2841. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+168, dir, libc.UintptrFromInt32(0)))
  2842. } else {
  2843. d = XIA__FcStrBuildFilename(tls, dir, libc.VaList(bp+168, libc.UintptrFromInt32(0)))
  2844. }
  2845. if XFcStat(tls, d, bp) != 0 {
  2846. ret = m_FcFalse
  2847. goto bail
  2848. }
  2849. target = XIA__FcStrBuildFilename(tls, d, libc.VaList(bp+168, __ccgo_ts+29, libc.UintptrFromInt32(0)))
  2850. ret = libc.BoolInt32(libc.Xunlink(tls, target) == 0)
  2851. if ret != 0 {
  2852. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 128)))[0].Ftv_sec = (*(*Tstat)(unsafe.Pointer(bp))).Fst_atim.Ftv_sec
  2853. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 128)))[int32(1)].Ftv_sec = (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_sec
  2854. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 128)))[0].Ftv_usec = (*(*Tstat)(unsafe.Pointer(bp))).Fst_atim.Ftv_nsec / int64(1000)
  2855. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 128)))[int32(1)].Ftv_usec = (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_nsec / int64(1000)
  2856. if libc.Xutimes(tls, d, bp+128) != 0 {
  2857. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+35, libc.VaList(bp+168, d))
  2858. }
  2859. }
  2860. XIA__FcStrFree(tls, target)
  2861. goto bail
  2862. bail:
  2863. ;
  2864. XIA__FcStrFree(tls, d)
  2865. XIA__FcConfigDestroy(tls, config)
  2866. return ret
  2867. }
  2868. var XFcDirCacheDeleteUUID = XIA__FcDirCacheDeleteUUID
  2869. func _FcCacheIsMmapSafe(tls *libc.TLS, fd int32) (r TFcBool) {
  2870. bp := tls.Alloc(16)
  2871. defer tls.Free(16)
  2872. var env uintptr
  2873. var status, v1 int32
  2874. var _ /* use at bp+0 */ TFcBool
  2875. _, _, _ = env, status, v1
  2876. status = int32(int64(*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status))))))
  2877. if status == 0 {
  2878. env = libc.Xgetenv(tls, __ccgo_ts+63)
  2879. if env != 0 && XFcNameBool(tls, env, bp) != 0 {
  2880. if *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  2881. v1 = 1
  2882. } else {
  2883. v1 = 2
  2884. }
  2885. status = v1
  2886. } else {
  2887. status = 3
  2888. }
  2889. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status)))) == libc.UintptrFromInt32(0) {
  2890. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status)))) = uintptr(int64(status))
  2891. _ = libc.Int32FromInt32(m_FcTrue)
  2892. }
  2893. }
  2894. if status == 3 {
  2895. return XFcIsFsMmapSafe(tls, fd)
  2896. } else {
  2897. return libc.BoolInt32(status == 1)
  2898. }
  2899. return r
  2900. }
  2901. var _static_status uintptr
  2902. var _bin2hex = [16]uint8{
  2903. 0: uint8('0'),
  2904. 1: uint8('1'),
  2905. 2: uint8('2'),
  2906. 3: uint8('3'),
  2907. 4: uint8('4'),
  2908. 5: uint8('5'),
  2909. 6: uint8('6'),
  2910. 7: uint8('7'),
  2911. 8: uint8('8'),
  2912. 9: uint8('9'),
  2913. 10: uint8('a'),
  2914. 11: uint8('b'),
  2915. 12: uint8('c'),
  2916. 13: uint8('d'),
  2917. 14: uint8('e'),
  2918. 15: uint8('f'),
  2919. }
  2920. func _FcDirCacheBasenameMD5(tls *libc.TLS, config uintptr, dir uintptr, cache_base uintptr) (r uintptr) {
  2921. bp := tls.Alloc(176)
  2922. defer tls.Free(176)
  2923. var cnt int32
  2924. var dl, sl Tsize_t
  2925. var hex_hash, key, mapped_dir, orig_dir, salt, v2, v3, v4, v5, v6, v7 uintptr
  2926. var _ /* ctx at bp+16 */ TMD5Context
  2927. var _ /* hash at bp+0 */ [16]uint8
  2928. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = cnt, dl, hex_hash, key, mapped_dir, orig_dir, salt, sl, v2, v3, v4, v5, v6, v7
  2929. mapped_dir = libc.UintptrFromInt32(0)
  2930. key = libc.UintptrFromInt32(0)
  2931. orig_dir = libc.UintptrFromInt32(0)
  2932. salt = XFcConfigMapSalt(tls, config, dir)
  2933. /* Obtain a path where "dir" is mapped to.
  2934. * In case:
  2935. * <remap-dir as-path="/usr/share/fonts">/run/host/fonts</remap-dir>
  2936. *
  2937. * FcConfigMapFontPath (config, "/run/host/fonts") will returns "/usr/share/fonts".
  2938. */
  2939. mapped_dir = XFcConfigMapFontPath(tls, config, dir)
  2940. if mapped_dir != 0 {
  2941. orig_dir = dir
  2942. dir = mapped_dir
  2943. }
  2944. if salt != 0 {
  2945. dl = libc.Xstrlen(tls, dir)
  2946. sl = libc.Xstrlen(tls, salt)
  2947. key = libc.Xmalloc(tls, dl+sl+uint64(1))
  2948. libc.Xmemcpy(tls, key, dir, dl)
  2949. libc.Xmemcpy(tls, key+uintptr(dl), salt, sl+uint64(1))
  2950. *(*TFcChar8)(unsafe.Pointer(key + uintptr(dl+sl))) = uint8(0)
  2951. if !(orig_dir != 0) {
  2952. orig_dir = dir
  2953. }
  2954. dir = key
  2955. }
  2956. _MD5Init(tls, bp+16)
  2957. _MD5Update(tls, bp+16, dir, uint32(libc.Xstrlen(tls, dir)))
  2958. _MD5Final(tls, bp, bp+16)
  2959. if key != 0 {
  2960. XIA__FcStrFree(tls, key)
  2961. }
  2962. *(*TFcChar8)(unsafe.Pointer(cache_base)) = uint8('/')
  2963. hex_hash = cache_base + uintptr(1)
  2964. cnt = 0
  2965. for {
  2966. if !(cnt < int32(16)) {
  2967. break
  2968. }
  2969. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt))) = _bin2hex[libc.Int32FromUint8((*(*[16]uint8)(unsafe.Pointer(bp)))[cnt])>>int32(4)]
  2970. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt+int32(1)))) = _bin2hex[libc.Int32FromUint8((*(*[16]uint8)(unsafe.Pointer(bp)))[cnt])&int32(0xf)]
  2971. goto _1
  2972. _1:
  2973. ;
  2974. cnt++
  2975. }
  2976. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt))) = uint8(0)
  2977. libc.Xstrcat(tls, cache_base, __ccgo_ts+83)
  2978. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  2979. if orig_dir != 0 {
  2980. v2 = orig_dir
  2981. } else {
  2982. v2 = dir
  2983. }
  2984. if mapped_dir != 0 {
  2985. v3 = __ccgo_ts + 97
  2986. } else {
  2987. v3 = __ccgo_ts + 110
  2988. }
  2989. if mapped_dir != 0 {
  2990. v4 = mapped_dir
  2991. } else {
  2992. v4 = __ccgo_ts + 110
  2993. }
  2994. if mapped_dir != 0 {
  2995. v5 = __ccgo_ts + 111
  2996. } else {
  2997. v5 = __ccgo_ts + 110
  2998. }
  2999. if salt != 0 {
  3000. v6 = __ccgo_ts + 113
  3001. } else {
  3002. v6 = __ccgo_ts + 110
  3003. }
  3004. if salt != 0 {
  3005. v7 = salt
  3006. } else {
  3007. v7 = __ccgo_ts + 110
  3008. }
  3009. libc.Xprintf(tls, __ccgo_ts+122, libc.VaList(bp+112, cache_base, v2, v3, v4, v5, v6, v7))
  3010. }
  3011. if mapped_dir != 0 {
  3012. XIA__FcStrFree(tls, mapped_dir)
  3013. }
  3014. return cache_base
  3015. }
  3016. func _FcDirCacheBasenameUUID(tls *libc.TLS, config uintptr, dir uintptr, cache_base uintptr) (r uintptr) {
  3017. bp := tls.Alloc(64)
  3018. defer tls.Free(64)
  3019. var fd, v1 int32
  3020. var fuuid, sysroot, target uintptr
  3021. var len1 Tssize_t
  3022. var _ /* suuid at bp+0 */ [37]uint8
  3023. _, _, _, _, _, _ = fd, fuuid, len1, sysroot, target, v1
  3024. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  3025. /* We don't need to apply remapping here. because .uuid was created at that very directory
  3026. * to determine the cache name no matter where it was mapped to.
  3027. */
  3028. *(*TFcChar8)(unsafe.Pointer(cache_base)) = uint8(0)
  3029. if sysroot != 0 {
  3030. target = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+48, dir, libc.UintptrFromInt32(0)))
  3031. } else {
  3032. target = libc.Xstrdup(tls, dir)
  3033. }
  3034. fuuid = XIA__FcStrBuildFilename(tls, target, libc.VaList(bp+48, __ccgo_ts+29, libc.UintptrFromInt32(0)))
  3035. v1 = XFcOpen(tls, fuuid, m_O_RDONLY, 0)
  3036. fd = v1
  3037. if v1 != -int32(1) {
  3038. libc.Xmemset(tls, bp, 0, uint64(37))
  3039. len1 = libc.Xread(tls, fd, bp, uint64(36))
  3040. (*(*[37]uint8)(unsafe.Pointer(bp)))[int32(36)] = uint8(0)
  3041. libc.Xclose(tls, fd)
  3042. if len1 < 0 {
  3043. goto bail
  3044. }
  3045. *(*TFcChar8)(unsafe.Pointer(cache_base)) = uint8('/')
  3046. libc.Xstrcpy(tls, cache_base+1, bp)
  3047. libc.Xstrcat(tls, cache_base, __ccgo_ts+83)
  3048. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  3049. libc.Xprintf(tls, __ccgo_ts+153, libc.VaList(bp+48, cache_base, dir))
  3050. }
  3051. }
  3052. goto bail
  3053. bail:
  3054. ;
  3055. XIA__FcStrFree(tls, fuuid)
  3056. XIA__FcStrFree(tls, target)
  3057. return cache_base
  3058. }
  3059. func XIA__FcDirCacheUnlink(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  3060. bp := tls.Alloc(144)
  3061. defer tls.Free(144)
  3062. var cache_dir, cache_hashed, list, sysroot, v1 uintptr
  3063. var ret TFcBool
  3064. var _ /* cache_base at bp+0 */ [52]TFcChar8
  3065. var _ /* uuid_cache_base at bp+52 */ [52]TFcChar8
  3066. _, _, _, _, _, _ = cache_dir, cache_hashed, list, ret, sysroot, v1
  3067. cache_hashed = libc.UintptrFromInt32(0)
  3068. ret = int32(m_FcTrue)
  3069. config = XIA__FcConfigReference(tls, config)
  3070. if !(config != 0) {
  3071. return m_FcFalse
  3072. }
  3073. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  3074. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  3075. _FcDirCacheBasenameUUID(tls, config, dir, bp+52)
  3076. list = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  3077. if !(list != 0) {
  3078. ret = m_FcFalse
  3079. goto bail
  3080. }
  3081. for {
  3082. v1 = XIA__FcStrListNext(tls, list)
  3083. cache_dir = v1
  3084. if !(v1 != 0) {
  3085. break
  3086. }
  3087. if sysroot != 0 {
  3088. cache_hashed = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+112, cache_dir, bp, libc.UintptrFromInt32(0)))
  3089. } else {
  3090. cache_hashed = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+112, bp, libc.UintptrFromInt32(0)))
  3091. }
  3092. if !(cache_hashed != 0) {
  3093. break
  3094. }
  3095. libc.Xunlink(tls, cache_hashed)
  3096. XIA__FcStrFree(tls, cache_hashed)
  3097. if libc.Int32FromUint8((*(*[52]TFcChar8)(unsafe.Pointer(bp + 52)))[0]) != 0 {
  3098. if sysroot != 0 {
  3099. cache_hashed = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+112, cache_dir, bp+52, libc.UintptrFromInt32(0)))
  3100. } else {
  3101. cache_hashed = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+112, bp+52, libc.UintptrFromInt32(0)))
  3102. }
  3103. if !(cache_hashed != 0) {
  3104. break
  3105. }
  3106. libc.Xunlink(tls, cache_hashed)
  3107. XIA__FcStrFree(tls, cache_hashed)
  3108. }
  3109. }
  3110. XIA__FcStrListDone(tls, list)
  3111. XIA__FcDirCacheDeleteUUID(tls, dir, config)
  3112. /* return FcFalse if something went wrong */
  3113. if cache_dir != 0 {
  3114. ret = m_FcFalse
  3115. }
  3116. goto bail
  3117. bail:
  3118. ;
  3119. XIA__FcConfigDestroy(tls, config)
  3120. return ret
  3121. }
  3122. var XFcDirCacheUnlink = XIA__FcDirCacheUnlink
  3123. func _FcDirCacheOpenFile(tls *libc.TLS, cache_file uintptr, file_stat uintptr) (r int32) {
  3124. var fd int32
  3125. _ = fd
  3126. fd = XFcOpen(tls, cache_file, libc.Int32FromInt32(m_O_RDONLY)|libc.Int32FromInt32(m_O_BINARY), 0)
  3127. if fd < 0 {
  3128. return fd
  3129. }
  3130. if libc.Xfstat(tls, fd, file_stat) < 0 {
  3131. libc.Xclose(tls, fd)
  3132. return -int32(1)
  3133. }
  3134. return fd
  3135. }
  3136. // C documentation
  3137. //
  3138. // /*
  3139. // * Look for a cache file for the specified dir. Attempt
  3140. // * to use each one we find, stopping when the callback
  3141. // * indicates success
  3142. // */
  3143. func _FcDirCacheProcess(tls *libc.TLS, config uintptr, dir uintptr, callback uintptr, closure uintptr, cache_file_ret uintptr) (r TFcBool) {
  3144. bp := tls.Alloc(416)
  3145. defer tls.Free(416)
  3146. var cache_dir, cache_hashed, d, list, sysroot, v1 uintptr
  3147. var fd int32
  3148. var ret, retried TFcBool
  3149. var _ /* cache_base at bp+0 */ [52]TFcChar8
  3150. var _ /* dir_stat at bp+184 */ Tstat
  3151. var _ /* file_stat at bp+56 */ Tstat
  3152. var _ /* latest_mtime at bp+312 */ Ttimeval
  3153. var _ /* uuid_cache_base at bp+328 */ [52]TFcChar8
  3154. _, _, _, _, _, _, _, _, _ = cache_dir, cache_hashed, d, fd, list, ret, retried, sysroot, v1
  3155. fd = -int32(1)
  3156. ret = m_FcFalse
  3157. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  3158. *(*Ttimeval)(unsafe.Pointer(bp + 312)) = Ttimeval{}
  3159. if sysroot != 0 {
  3160. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+392, dir, libc.UintptrFromInt32(0)))
  3161. } else {
  3162. d = libc.Xstrdup(tls, dir)
  3163. }
  3164. if XFcStatChecksum(tls, d, bp+184) < 0 {
  3165. XIA__FcStrFree(tls, d)
  3166. return m_FcFalse
  3167. }
  3168. XIA__FcStrFree(tls, d)
  3169. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  3170. list = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  3171. if !(list != 0) {
  3172. return m_FcFalse
  3173. }
  3174. for {
  3175. v1 = XIA__FcStrListNext(tls, list)
  3176. cache_dir = v1
  3177. if !(v1 != 0) {
  3178. break
  3179. }
  3180. retried = m_FcFalse
  3181. if sysroot != 0 {
  3182. cache_hashed = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+392, cache_dir, bp, libc.UintptrFromInt32(0)))
  3183. } else {
  3184. cache_hashed = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+392, bp, libc.UintptrFromInt32(0)))
  3185. }
  3186. if !(cache_hashed != 0) {
  3187. break
  3188. }
  3189. goto retry
  3190. retry:
  3191. ;
  3192. fd = _FcDirCacheOpenFile(tls, cache_hashed, bp+56)
  3193. if fd >= 0 {
  3194. ret = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{callback})))(tls, config, fd, bp+56, bp+184, bp+312, closure)
  3195. libc.Xclose(tls, fd)
  3196. if ret != 0 {
  3197. if cache_file_ret != 0 {
  3198. if *(*uintptr)(unsafe.Pointer(cache_file_ret)) != 0 {
  3199. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer(cache_file_ret)))
  3200. }
  3201. *(*uintptr)(unsafe.Pointer(cache_file_ret)) = cache_hashed
  3202. } else {
  3203. XIA__FcStrFree(tls, cache_hashed)
  3204. }
  3205. } else {
  3206. XIA__FcStrFree(tls, cache_hashed)
  3207. }
  3208. } else {
  3209. if !(retried != 0) {
  3210. retried = int32(m_FcTrue)
  3211. _FcDirCacheBasenameUUID(tls, config, dir, bp+328)
  3212. if libc.Int32FromUint8((*(*[52]TFcChar8)(unsafe.Pointer(bp + 328)))[0]) != 0 {
  3213. XIA__FcStrFree(tls, cache_hashed)
  3214. if sysroot != 0 {
  3215. cache_hashed = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+392, cache_dir, bp+328, libc.UintptrFromInt32(0)))
  3216. } else {
  3217. cache_hashed = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+392, bp+328, libc.UintptrFromInt32(0)))
  3218. }
  3219. if !(cache_hashed != 0) {
  3220. break
  3221. }
  3222. goto retry
  3223. } else {
  3224. XIA__FcStrFree(tls, cache_hashed)
  3225. }
  3226. } else {
  3227. XIA__FcStrFree(tls, cache_hashed)
  3228. }
  3229. }
  3230. }
  3231. XIA__FcStrListDone(tls, list)
  3232. if closure != 0 {
  3233. return libc.BoolInt32(!!(*(*uintptr)(unsafe.Pointer(closure)) != libc.UintptrFromInt32(0)))
  3234. }
  3235. return ret
  3236. }
  3237. /*
  3238. * Skip list element, make sure the 'next' pointer is the last thing
  3239. * in the structure, it will be allocated large enough to hold all
  3240. * of the necessary pointers
  3241. */
  3242. type TFcCacheSkip = struct {
  3243. Fcache uintptr
  3244. Fref TFcRef
  3245. Fsize Tintptr_t
  3246. Fallocated uintptr
  3247. Fcache_dev Tdev_t
  3248. Fcache_ino Tino_t
  3249. Fcache_mtime Ttime_t
  3250. Fcache_mtime_nano int64
  3251. Fnext [1]uintptr
  3252. }
  3253. /*
  3254. * Skip list element, make sure the 'next' pointer is the last thing
  3255. * in the structure, it will be allocated large enough to hold all
  3256. * of the necessary pointers
  3257. */
  3258. type T_FcCacheSkip = TFcCacheSkip
  3259. /*
  3260. * The head of the skip list; pointers for every possible level
  3261. * in the skip list, plus the largest level in the list
  3262. */
  3263. // C documentation
  3264. //
  3265. // /* Protected by cache_lock below */
  3266. var _fcCacheChains [16]uintptr
  3267. var _fcCacheMaxLevel int32
  3268. var _cache_lock uintptr
  3269. func _lock_cache(tls *libc.TLS) {
  3270. var lock uintptr
  3271. var v1 int32
  3272. _, _ = lock, v1
  3273. goto retry
  3274. retry:
  3275. ;
  3276. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  3277. if !(lock != 0) {
  3278. lock = libc.Xmalloc(tls, uint64(4))
  3279. _ = lock
  3280. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) == libc.UintptrFromInt32(0) {
  3281. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) = lock
  3282. v1 = libc.Int32FromInt32(m_FcTrue)
  3283. } else {
  3284. v1 = m_FcFalse
  3285. }
  3286. if !(v1 != 0) {
  3287. _ = lock
  3288. libc.Xfree(tls, lock)
  3289. goto retry
  3290. }
  3291. _ = lock
  3292. /* Initialize random state */
  3293. XFcRandom(tls)
  3294. return
  3295. }
  3296. _ = lock
  3297. }
  3298. func _unlock_cache(tls *libc.TLS) {
  3299. var lock uintptr
  3300. _ = lock
  3301. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  3302. _ = lock
  3303. }
  3304. func _free_lock(tls *libc.TLS) {
  3305. var lock uintptr
  3306. var v1 int32
  3307. var v2 bool
  3308. _, _, _ = lock, v1, v2
  3309. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  3310. if v2 = lock != 0; v2 {
  3311. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) == lock {
  3312. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) = libc.UintptrFromInt32(0)
  3313. v1 = libc.Int32FromInt32(m_FcTrue)
  3314. } else {
  3315. v1 = m_FcFalse
  3316. }
  3317. }
  3318. if v2 && v1 != 0 {
  3319. _ = lock
  3320. libc.Xfree(tls, lock)
  3321. }
  3322. }
  3323. // C documentation
  3324. //
  3325. // /*
  3326. // * Generate a random level number, distributed
  3327. // * so that each level is 1/4 as likely as the one before
  3328. // *
  3329. // * Note that level numbers run 1 <= level <= MAX_LEVEL
  3330. // */
  3331. func _random_level(tls *libc.TLS) (r int32) {
  3332. var bits int64
  3333. var level, v1 int32
  3334. _, _, _ = bits, level, v1
  3335. /* tricky bit -- each bit is '1' 75% of the time */
  3336. bits = int64(XFcRandom(tls) | XFcRandom(tls))
  3337. level = 0
  3338. for {
  3339. level++
  3340. v1 = level
  3341. if !(v1 < int32(m_FC_CACHE_MAX_LEVEL)) {
  3342. break
  3343. }
  3344. if bits&int64(1) != 0 {
  3345. break
  3346. }
  3347. bits >>= int64(1)
  3348. }
  3349. return level
  3350. }
  3351. // C documentation
  3352. //
  3353. // /*
  3354. // * Insert cache into the list
  3355. // */
  3356. func _FcCacheInsert(tls *libc.TLS, cache uintptr, cache_stat uintptr) (r TFcBool) {
  3357. var i, level, v2 int32
  3358. var next, s, v4 uintptr
  3359. var update [16]uintptr
  3360. _, _, _, _, _, _, _ = i, level, next, s, update, v2, v4
  3361. _lock_cache(tls)
  3362. /*
  3363. * Find links along each chain
  3364. */
  3365. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  3366. i = _fcCacheMaxLevel
  3367. for {
  3368. i--
  3369. v2 = i
  3370. if !(v2 >= 0) {
  3371. break
  3372. }
  3373. for {
  3374. v4 = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8))
  3375. s = v4
  3376. if !(v4 != 0) {
  3377. break
  3378. }
  3379. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache > cache {
  3380. break
  3381. }
  3382. goto _3
  3383. _3:
  3384. ;
  3385. next = s + 64
  3386. }
  3387. update[i] = next + uintptr(i)*8
  3388. goto _1
  3389. _1:
  3390. }
  3391. /*
  3392. * Create new list element
  3393. */
  3394. level = _random_level(tls)
  3395. if level > _fcCacheMaxLevel {
  3396. level = _fcCacheMaxLevel + int32(1)
  3397. update[_fcCacheMaxLevel] = uintptr(unsafe.Pointer(&_fcCacheChains)) + uintptr(_fcCacheMaxLevel)*8
  3398. _fcCacheMaxLevel = level
  3399. }
  3400. s = libc.Xmalloc(tls, uint64(72)+libc.Uint64FromInt32(level-libc.Int32FromInt32(1))*uint64(8))
  3401. if !(s != 0) {
  3402. return m_FcFalse
  3403. }
  3404. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache = cache
  3405. (*TFcCacheSkip)(unsafe.Pointer(s)).Fsize = (*TFcCache)(unsafe.Pointer(cache)).Fsize
  3406. (*TFcCacheSkip)(unsafe.Pointer(s)).Fallocated = libc.UintptrFromInt32(0)
  3407. (*TFcRef)(unsafe.Pointer(s + 8)).Fcount = int32(1)
  3408. if cache_stat != 0 {
  3409. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_dev
  3410. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_ino
  3411. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtim.Ftv_sec
  3412. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtim.Ftv_nsec
  3413. } else {
  3414. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev = uint64(0)
  3415. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino = uint64(0)
  3416. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime = 0
  3417. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano = 0
  3418. }
  3419. /*
  3420. * Insert into all fcCacheChains
  3421. */
  3422. i = 0
  3423. for {
  3424. if !(i < level) {
  3425. break
  3426. }
  3427. *(*uintptr)(unsafe.Pointer(s + 64 + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer(update[i]))
  3428. *(*uintptr)(unsafe.Pointer(update[i])) = s
  3429. goto _5
  3430. _5:
  3431. ;
  3432. i++
  3433. }
  3434. _unlock_cache(tls)
  3435. return int32(m_FcTrue)
  3436. }
  3437. func _FcCacheFindByAddrUnlocked(tls *libc.TLS, object uintptr) (r uintptr) {
  3438. var i, v2 int32
  3439. var next, s uintptr
  3440. _, _, _, _ = i, next, s, v2
  3441. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  3442. if !(object != 0) {
  3443. return libc.UintptrFromInt32(0)
  3444. }
  3445. /*
  3446. * Walk chain pointers one level at a time
  3447. */
  3448. i = _fcCacheMaxLevel
  3449. for {
  3450. i--
  3451. v2 = i
  3452. if !(v2 >= 0) {
  3453. break
  3454. }
  3455. for *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8)) != 0 && object >= (*TFcCacheSkip)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(next + uintptr(i)*8)))).Fcache+uintptr((*TFcCacheSkip)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(next + uintptr(i)*8)))).Fsize) {
  3456. next = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8)) + 64
  3457. }
  3458. goto _1
  3459. _1:
  3460. }
  3461. /*
  3462. * Here we are
  3463. */
  3464. s = *(*uintptr)(unsafe.Pointer(next))
  3465. if s != 0 && object < (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache+uintptr((*TFcCacheSkip)(unsafe.Pointer(s)).Fsize) {
  3466. return s
  3467. }
  3468. return libc.UintptrFromInt32(0)
  3469. }
  3470. func _FcCacheFindByAddr(tls *libc.TLS, object uintptr) (r uintptr) {
  3471. var ret uintptr
  3472. _ = ret
  3473. _lock_cache(tls)
  3474. ret = _FcCacheFindByAddrUnlocked(tls, object)
  3475. _unlock_cache(tls)
  3476. return ret
  3477. }
  3478. func _FcCacheRemoveUnlocked(tls *libc.TLS, cache uintptr) {
  3479. var allocated, next, s, v4 uintptr
  3480. var i, v2 int32
  3481. var update [16]uintptr
  3482. _, _, _, _, _, _, _ = allocated, i, next, s, update, v2, v4
  3483. /*
  3484. * Find links along each chain
  3485. */
  3486. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  3487. i = _fcCacheMaxLevel
  3488. for {
  3489. i--
  3490. v2 = i
  3491. if !(v2 >= 0) {
  3492. break
  3493. }
  3494. for {
  3495. v4 = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8))
  3496. s = v4
  3497. if !(v4 != 0) {
  3498. break
  3499. }
  3500. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache >= cache {
  3501. break
  3502. }
  3503. goto _3
  3504. _3:
  3505. ;
  3506. next = s + 64
  3507. }
  3508. update[i] = next + uintptr(i)*8
  3509. goto _1
  3510. _1:
  3511. }
  3512. s = *(*uintptr)(unsafe.Pointer(next))
  3513. i = 0
  3514. for {
  3515. if !(i < _fcCacheMaxLevel && *(*uintptr)(unsafe.Pointer(update[i])) == s) {
  3516. break
  3517. }
  3518. *(*uintptr)(unsafe.Pointer(update[i])) = *(*uintptr)(unsafe.Pointer(s + 64 + uintptr(i)*8))
  3519. goto _5
  3520. _5:
  3521. ;
  3522. i++
  3523. }
  3524. for _fcCacheMaxLevel > 0 && _fcCacheChains[_fcCacheMaxLevel-int32(1)] == libc.UintptrFromInt32(0) {
  3525. _fcCacheMaxLevel--
  3526. }
  3527. if s != 0 {
  3528. allocated = (*TFcCacheSkip)(unsafe.Pointer(s)).Fallocated
  3529. for allocated != 0 {
  3530. /* First element in allocated chunk is the free list */
  3531. next = *(*uintptr)(unsafe.Pointer(allocated))
  3532. libc.Xfree(tls, allocated)
  3533. allocated = next
  3534. }
  3535. libc.Xfree(tls, s)
  3536. }
  3537. }
  3538. func _FcCacheFindByStat(tls *libc.TLS, cache_stat uintptr) (r uintptr) {
  3539. var s, p3 uintptr
  3540. _, _ = s, p3
  3541. _lock_cache(tls)
  3542. s = _fcCacheChains[0]
  3543. for {
  3544. if !(s != 0) {
  3545. break
  3546. }
  3547. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev == (*Tstat)(unsafe.Pointer(cache_stat)).Fst_dev && (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino == (*Tstat)(unsafe.Pointer(cache_stat)).Fst_ino && (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime == (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtim.Ftv_sec {
  3548. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano != (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtim.Ftv_nsec {
  3549. goto _1
  3550. }
  3551. p3 = s + 8
  3552. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += +libc.Int32FromInt32(1)
  3553. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - +libc.Int32FromInt32(1)
  3554. goto _2
  3555. _2:
  3556. ;
  3557. _unlock_cache(tls)
  3558. return (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache
  3559. }
  3560. goto _1
  3561. _1:
  3562. ;
  3563. s = *(*uintptr)(unsafe.Pointer(s + 64))
  3564. }
  3565. _unlock_cache(tls)
  3566. return libc.UintptrFromInt32(0)
  3567. }
  3568. func _FcDirCacheDisposeUnlocked(tls *libc.TLS, cache uintptr) {
  3569. _FcCacheRemoveUnlocked(tls, cache)
  3570. switch (*TFcCache)(unsafe.Pointer(cache)).Fmagic {
  3571. case uint32(m_FC_CACHE_MAGIC_ALLOC1):
  3572. libc.Xfree(tls, cache)
  3573. case uint32(m_FC_CACHE_MAGIC_MMAP1):
  3574. libc.Xmunmap(tls, cache, libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize))
  3575. break
  3576. }
  3577. }
  3578. func XFcCacheObjectReference(tls *libc.TLS, object uintptr) {
  3579. var skip, p2 uintptr
  3580. _, _ = skip, p2
  3581. skip = _FcCacheFindByAddr(tls, object)
  3582. if skip != 0 {
  3583. p2 = skip + 8
  3584. *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) += +libc.Int32FromInt32(1)
  3585. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) - +libc.Int32FromInt32(1)
  3586. goto _1
  3587. _1:
  3588. }
  3589. }
  3590. func XFcCacheObjectDereference(tls *libc.TLS, object uintptr) {
  3591. var skip, p3 uintptr
  3592. var v1 int32
  3593. _, _, _ = skip, v1, p3
  3594. _lock_cache(tls)
  3595. skip = _FcCacheFindByAddrUnlocked(tls, object)
  3596. if skip != 0 {
  3597. p3 = skip + 8
  3598. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  3599. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  3600. goto _2
  3601. _2:
  3602. if v1 == int32(1) {
  3603. _FcDirCacheDisposeUnlocked(tls, (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache)
  3604. }
  3605. }
  3606. _unlock_cache(tls)
  3607. }
  3608. func XFcCacheAllocate(tls *libc.TLS, cache uintptr, len1 Tsize_t) (r uintptr) {
  3609. var allocated, chunk, skip uintptr
  3610. _, _, _ = allocated, chunk, skip
  3611. allocated = libc.UintptrFromInt32(0)
  3612. _lock_cache(tls)
  3613. skip = _FcCacheFindByAddrUnlocked(tls, cache)
  3614. if skip != 0 {
  3615. chunk = libc.Xmalloc(tls, uint64(8)+len1)
  3616. if chunk != 0 {
  3617. /* First element in allocated chunk is the free list */
  3618. *(*uintptr)(unsafe.Pointer(chunk)) = (*TFcCacheSkip)(unsafe.Pointer(skip)).Fallocated
  3619. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fallocated = chunk
  3620. /* Return the rest */
  3621. allocated = chunk + uintptr(8)
  3622. }
  3623. }
  3624. _unlock_cache(tls)
  3625. return allocated
  3626. }
  3627. func XFcCacheFini(tls *libc.TLS) {
  3628. bp := tls.Alloc(32)
  3629. defer tls.Free(32)
  3630. var i int32
  3631. var s uintptr
  3632. _, _ = i, s
  3633. i = 0
  3634. for {
  3635. if !(i < int32(m_FC_CACHE_MAX_LEVEL)) {
  3636. break
  3637. }
  3638. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  3639. if _fcCacheChains[i] != libc.UintptrFromInt32(0) {
  3640. s = _fcCacheChains[i]
  3641. libc.Xprintf(tls, __ccgo_ts+187, libc.VaList(bp+8, (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache, uintptr(int64((*TFcCacheSkip)(unsafe.Pointer(s)).Fcache)+(*TFcCache)(unsafe.Pointer((*TFcCacheSkip)(unsafe.Pointer(s)).Fcache)).Fdir), (*TFcCacheSkip)(unsafe.Pointer(s)).Fref.Fcount))
  3642. }
  3643. } else {
  3644. }
  3645. goto _1
  3646. _1:
  3647. ;
  3648. i++
  3649. }
  3650. _free_lock(tls)
  3651. }
  3652. func _FcCacheTimeValid(tls *libc.TLS, config uintptr, cache uintptr, dir_stat uintptr) (r TFcBool) {
  3653. bp := tls.Alloc(176)
  3654. defer tls.Free(176)
  3655. var d, sysroot uintptr
  3656. var fnano TFcBool
  3657. var _ /* dir_static at bp+0 */ Tstat
  3658. _, _, _ = d, fnano, sysroot
  3659. fnano = int32(m_FcTrue)
  3660. if !(dir_stat != 0) {
  3661. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  3662. if sysroot != 0 {
  3663. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+136, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), libc.UintptrFromInt32(0)))
  3664. } else {
  3665. d = libc.Xstrdup(tls, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir))
  3666. }
  3667. if XFcStatChecksum(tls, d, bp) < 0 {
  3668. XIA__FcStrFree(tls, d)
  3669. return m_FcFalse
  3670. }
  3671. XIA__FcStrFree(tls, d)
  3672. dir_stat = bp
  3673. }
  3674. fnano = libc.BoolInt32((*TFcCache)(unsafe.Pointer(cache)).Fchecksum_nano == (*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_nsec)
  3675. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  3676. libc.Xprintf(tls, __ccgo_ts+242, libc.VaList(bp+136, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), (*TFcCache)(unsafe.Pointer(cache)).Fchecksum, (*TFcCache)(unsafe.Pointer(cache)).Fchecksum_nano, int32((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_sec), (*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_nsec))
  3677. }
  3678. return libc.BoolInt32((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_sec == 0 || (*TFcCache)(unsafe.Pointer(cache)).Fchecksum == int32((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_sec) && fnano != 0)
  3679. }
  3680. func _FcCacheOffsetsValid(tls *libc.TLS, cache uintptr) (r TFcBool) {
  3681. var base, dir, dirs, e, end, font, fs, last_offset, v10, v11, v3, v4 uintptr
  3682. var i, j int32
  3683. var l TFcValueListPtr
  3684. var v5 TFcBool
  3685. var v7 bool
  3686. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, dir, dirs, e, end, font, fs, i, j, l, last_offset, v10, v11, v3, v4, v5, v7
  3687. base = cache
  3688. end = base + uintptr((*TFcCache)(unsafe.Pointer(cache)).Fsize)
  3689. if (*TFcCache)(unsafe.Pointer(cache)).Fdir < 0 || libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fdir) > libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize)-uint64(8) || libc.Xmemchr(tls, base+uintptr((*TFcCache)(unsafe.Pointer(cache)).Fdir), int32('\000'), libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize-(*TFcCache)(unsafe.Pointer(cache)).Fdir)) == libc.UintptrFromInt32(0) {
  3690. return m_FcFalse
  3691. }
  3692. if (*TFcCache)(unsafe.Pointer(cache)).Fdirs < 0 || (*TFcCache)(unsafe.Pointer(cache)).Fdirs >= (*TFcCache)(unsafe.Pointer(cache)).Fsize || (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count < 0 || libc.Uint64FromInt32((*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) > libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize-(*TFcCache)(unsafe.Pointer(cache)).Fdirs)/uint64(8) {
  3693. return m_FcFalse
  3694. }
  3695. dirs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdirs)
  3696. if dirs != 0 {
  3697. i = 0
  3698. for {
  3699. if !(i < (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) {
  3700. break
  3701. }
  3702. if *(*Tintptr_t)(unsafe.Pointer(dirs + uintptr(i)*8)) < 0 || libc.Uint64FromInt64(*(*Tintptr_t)(unsafe.Pointer(dirs + uintptr(i)*8))) > libc.Uint64FromInt64(int64(end)-int64(dirs))-uint64(8) {
  3703. return m_FcFalse
  3704. }
  3705. dir = uintptr(int64(dirs) + *(*Tintptr_t)(unsafe.Pointer(dirs + uintptr(i)*8)))
  3706. if libc.Xmemchr(tls, dir, int32('\000'), libc.Uint64FromInt64(int64(end)-int64(dir))) == libc.UintptrFromInt32(0) {
  3707. return m_FcFalse
  3708. }
  3709. goto _1
  3710. _1:
  3711. ;
  3712. i++
  3713. }
  3714. }
  3715. if (*TFcCache)(unsafe.Pointer(cache)).Fset < 0 || libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fset) > libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize)-uint64(16) {
  3716. return m_FcFalse
  3717. }
  3718. fs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fset)
  3719. if fs != 0 {
  3720. if libc.Uint64FromInt32((*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) > libc.Uint64FromInt64(int64(end)-int64(fs))/uint64(24) {
  3721. return m_FcFalse
  3722. }
  3723. if !(int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&libc.Int64FromInt32(1) != libc.Int64FromInt32(0)) {
  3724. return m_FcFalse
  3725. }
  3726. i = 0
  3727. for {
  3728. if !(i < (*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) {
  3729. break
  3730. }
  3731. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  3732. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  3733. v4 = uintptr(int64(fs) + int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  3734. } else {
  3735. v4 = (*TFcFontSet)(unsafe.Pointer(fs)).Ffonts
  3736. }
  3737. v3 = uintptr(int64(fs) + int64(*(*uintptr)(unsafe.Pointer(v4 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  3738. } else {
  3739. v3 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts + uintptr(i)*8))
  3740. }
  3741. font = v3
  3742. if v7 = font < base || font > end-uintptr(16) || (*TFcPattern)(unsafe.Pointer(font)).Felts_offset < 0 || (*TFcPattern)(unsafe.Pointer(font)).Felts_offset > int64(end)-int64(font) || libc.Uint64FromInt32((*TFcPattern)(unsafe.Pointer(font)).Fnum) > libc.Uint64FromInt64(int64(end)-int64(font)-(*TFcPattern)(unsafe.Pointer(font)).Felts_offset)/uint64(16); !v7 {
  3743. v5 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(font+16)).Fcount == -libc.Int32FromInt32(1))
  3744. goto _6
  3745. _6:
  3746. }
  3747. if v7 || !(v5 != 0) {
  3748. return m_FcFalse
  3749. }
  3750. e = uintptr(int64(font) + (*TFcPattern)(unsafe.Pointer(font)).Felts_offset)
  3751. if (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != uintptr(0) && !(int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&libc.Int64FromInt32(1) != libc.Int64FromInt32(0)) {
  3752. return m_FcFalse
  3753. }
  3754. j = 0
  3755. for {
  3756. if !(j < (*TFcPattern)(unsafe.Pointer(font)).Fnum) {
  3757. break
  3758. }
  3759. last_offset = font + uintptr((*TFcPattern)(unsafe.Pointer(font)).Felts_offset)
  3760. if int64((*TFcPatternElt)(unsafe.Pointer(e+uintptr(j)*16)).Fvalues)&int64(1) != 0 {
  3761. v10 = uintptr(Tintptr_t(e+uintptr(j)*16) + int64((*TFcPatternElt)(unsafe.Pointer(e+uintptr(j)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  3762. } else {
  3763. v10 = (*TFcPatternElt)(unsafe.Pointer(e + uintptr(j)*16)).Fvalues
  3764. }
  3765. l = v10
  3766. for {
  3767. if !(l != 0) {
  3768. break
  3769. }
  3770. if l < last_offset || l > end-uintptr(32) || (*T_FcValueList)(unsafe.Pointer(l)).Fnext != libc.UintptrFromInt32(0) && !(int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&libc.Int64FromInt32(1) != libc.Int64FromInt32(0)) {
  3771. return m_FcFalse
  3772. }
  3773. last_offset = l + uintptr(1)
  3774. goto _9
  3775. _9:
  3776. ;
  3777. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  3778. v11 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  3779. } else {
  3780. v11 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  3781. }
  3782. l = v11
  3783. }
  3784. goto _8
  3785. _8:
  3786. ;
  3787. j++
  3788. }
  3789. goto _2
  3790. _2:
  3791. ;
  3792. i++
  3793. }
  3794. }
  3795. return int32(m_FcTrue)
  3796. }
  3797. // C documentation
  3798. //
  3799. // /*
  3800. // * Map a cache file into memory
  3801. // */
  3802. func _FcDirCacheMapFd(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr) (r uintptr) {
  3803. var allocated TFcBool
  3804. var cache uintptr
  3805. _, _ = allocated, cache
  3806. allocated = m_FcFalse
  3807. if (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size > int64(m_INT64_MAX1) || (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size < int64(libc.Int32FromInt64(64)) {
  3808. return libc.UintptrFromInt32(0)
  3809. }
  3810. cache = _FcCacheFindByStat(tls, fd_stat)
  3811. if cache != 0 {
  3812. if _FcCacheTimeValid(tls, config, cache, dir_stat) != 0 {
  3813. return cache
  3814. }
  3815. XIA__FcDirCacheUnload(tls, cache)
  3816. cache = libc.UintptrFromInt32(0)
  3817. }
  3818. /*
  3819. * Large cache files are mmap'ed, smaller cache files are read. This
  3820. * balances the system cost of mmap against per-process memory usage.
  3821. */
  3822. if _FcCacheIsMmapSafe(tls, fd) != 0 && (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size >= int64(m_FC_CACHE_MIN_MMAP) {
  3823. cache = libc.Xmmap(tls, uintptr(0), libc.Uint64FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size), int32(m_PROT_READ), int32(m_MAP_SHARED), fd, 0)
  3824. libc.Xposix_fadvise(tls, fd, 0, (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size, int32(m_POSIX_FADV_WILLNEED))
  3825. if cache == uintptr(-libc.Int32FromInt32(1)) {
  3826. cache = libc.UintptrFromInt32(0)
  3827. }
  3828. }
  3829. if !(cache != 0) {
  3830. cache = libc.Xmalloc(tls, libc.Uint64FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size))
  3831. if !(cache != 0) {
  3832. return libc.UintptrFromInt32(0)
  3833. }
  3834. if libc.Xread(tls, fd, cache, libc.Uint64FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size)) != (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size {
  3835. libc.Xfree(tls, cache)
  3836. return libc.UintptrFromInt32(0)
  3837. }
  3838. allocated = int32(m_FcTrue)
  3839. }
  3840. if (*TFcCache)(unsafe.Pointer(cache)).Fmagic != uint32(m_FC_CACHE_MAGIC_MMAP1) || (*TFcCache)(unsafe.Pointer(cache)).Fversion < int32(m_FC_CACHE_VERSION_NUMBER) || (*TFcCache)(unsafe.Pointer(cache)).Fsize != (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size || !(_FcCacheOffsetsValid(tls, cache) != 0) || !(_FcCacheTimeValid(tls, config, cache, dir_stat) != 0) || !(_FcCacheInsert(tls, cache, fd_stat) != 0) {
  3841. if allocated != 0 {
  3842. libc.Xfree(tls, cache)
  3843. } else {
  3844. libc.Xmunmap(tls, cache, libc.Uint64FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size))
  3845. }
  3846. return libc.UintptrFromInt32(0)
  3847. }
  3848. /* Mark allocated caches so they're freed rather than unmapped */
  3849. if allocated != 0 {
  3850. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_ALLOC1)
  3851. }
  3852. return cache
  3853. }
  3854. func XFcDirCacheReference(tls *libc.TLS, cache uintptr, nref int32) {
  3855. var skip, p3 uintptr
  3856. var v1 int32
  3857. _, _, _ = skip, v1, p3
  3858. skip = _FcCacheFindByAddr(tls, cache)
  3859. if skip != 0 {
  3860. v1 = nref
  3861. p3 = skip + 8
  3862. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += v1
  3863. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - v1
  3864. goto _2
  3865. _2:
  3866. }
  3867. }
  3868. func XIA__FcDirCacheUnload(tls *libc.TLS, cache uintptr) {
  3869. XFcCacheObjectDereference(tls, cache)
  3870. }
  3871. var XFcDirCacheUnload = XIA__FcDirCacheUnload
  3872. func _FcDirCacheMapHelper(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr, latest_cache_mtime uintptr, closure uintptr) (r TFcBool) {
  3873. bp := tls.Alloc(48)
  3874. defer tls.Free(48)
  3875. var cache uintptr
  3876. var v1, v2, v3, v5, v6 int32
  3877. var v4 bool
  3878. var _ /* cache_mtime at bp+0 */ Ttimeval
  3879. var _ /* dir_mtime at bp+32 */ Ttimeval
  3880. var _ /* zero_mtime at bp+16 */ Ttimeval
  3881. _, _, _, _, _, _, _ = cache, v1, v2, v3, v4, v5, v6
  3882. cache = _FcDirCacheMapFd(tls, config, fd, fd_stat, dir_stat)
  3883. *(*Ttimeval)(unsafe.Pointer(bp + 16)) = Ttimeval{}
  3884. if !(cache != 0) {
  3885. return m_FcFalse
  3886. }
  3887. (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_sec = (*Tstat)(unsafe.Pointer(fd_stat)).Fst_mtim.Ftv_sec
  3888. (*(*Ttimeval)(unsafe.Pointer(bp + 32))).Ftv_sec = (*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_sec
  3889. (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_usec = (*Tstat)(unsafe.Pointer(fd_stat)).Fst_mtim.Ftv_nsec / int64(1000)
  3890. (*(*Ttimeval)(unsafe.Pointer(bp + 32))).Ftv_usec = (*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_nsec / int64(1000)
  3891. /* special take care of OSTree */
  3892. if (*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp+32)).Ftv_sec {
  3893. v1 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_usec != (*Ttimeval)(unsafe.Pointer(bp+32)).Ftv_usec)
  3894. } else {
  3895. v1 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec != (*Ttimeval)(unsafe.Pointer(bp+32)).Ftv_sec)
  3896. }
  3897. if !(v1 != 0) {
  3898. if (*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec {
  3899. v2 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_usec != (*Ttimeval)(unsafe.Pointer(bp)).Ftv_usec)
  3900. } else {
  3901. v2 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec != (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec)
  3902. }
  3903. if !(v2 != 0) {
  3904. if *(*uintptr)(unsafe.Pointer(closure)) != 0 {
  3905. XIA__FcDirCacheUnload(tls, *(*uintptr)(unsafe.Pointer(closure)))
  3906. }
  3907. } else {
  3908. if v4 = *(*uintptr)(unsafe.Pointer(closure)) != 0; v4 {
  3909. if (*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec {
  3910. v3 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_usec != (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec)
  3911. } else {
  3912. v3 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec != (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec)
  3913. }
  3914. }
  3915. if v4 && !(v3 != 0) {
  3916. XIA__FcDirCacheUnload(tls, cache)
  3917. return m_FcFalse
  3918. } else {
  3919. if (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec {
  3920. v5 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_usec)
  3921. } else {
  3922. v5 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec)
  3923. }
  3924. if v5 != 0 {
  3925. if *(*uintptr)(unsafe.Pointer(closure)) != 0 {
  3926. XIA__FcDirCacheUnload(tls, *(*uintptr)(unsafe.Pointer(closure)))
  3927. }
  3928. }
  3929. }
  3930. }
  3931. } else {
  3932. if (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec {
  3933. v6 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_usec)
  3934. } else {
  3935. v6 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec)
  3936. }
  3937. if v6 != 0 {
  3938. if *(*uintptr)(unsafe.Pointer(closure)) != 0 {
  3939. XIA__FcDirCacheUnload(tls, *(*uintptr)(unsafe.Pointer(closure)))
  3940. }
  3941. } else {
  3942. XIA__FcDirCacheUnload(tls, cache)
  3943. return m_FcFalse
  3944. }
  3945. }
  3946. (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec = (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_sec
  3947. (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec = (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_usec
  3948. *(*uintptr)(unsafe.Pointer(closure)) = cache
  3949. return int32(m_FcTrue)
  3950. }
  3951. func XIA__FcDirCacheLoad(tls *libc.TLS, dir uintptr, config uintptr, cache_file uintptr) (r uintptr) {
  3952. bp := tls.Alloc(16)
  3953. defer tls.Free(16)
  3954. var _ /* cache at bp+0 */ uintptr
  3955. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  3956. config = XIA__FcConfigReference(tls, config)
  3957. if !(config != 0) {
  3958. return libc.UintptrFromInt32(0)
  3959. }
  3960. if !(_FcDirCacheProcess(tls, config, dir, __ccgo_fp(_FcDirCacheMapHelper), bp, cache_file) != 0) {
  3961. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  3962. }
  3963. XIA__FcConfigDestroy(tls, config)
  3964. return *(*uintptr)(unsafe.Pointer(bp))
  3965. }
  3966. var XFcDirCacheLoad = XIA__FcDirCacheLoad
  3967. func XIA__FcDirCacheLoadFile(tls *libc.TLS, cache_file uintptr, file_stat uintptr) (r uintptr) {
  3968. bp := tls.Alloc(128)
  3969. defer tls.Free(128)
  3970. var cache, config uintptr
  3971. var fd int32
  3972. var _ /* my_file_stat at bp+0 */ Tstat
  3973. _, _, _ = cache, config, fd
  3974. cache = libc.UintptrFromInt32(0)
  3975. if !(file_stat != 0) {
  3976. file_stat = bp
  3977. }
  3978. config = XIA__FcConfigReference(tls, libc.UintptrFromInt32(0))
  3979. if !(config != 0) {
  3980. return libc.UintptrFromInt32(0)
  3981. }
  3982. fd = _FcDirCacheOpenFile(tls, cache_file, file_stat)
  3983. if fd >= 0 {
  3984. cache = _FcDirCacheMapFd(tls, config, fd, file_stat, libc.UintptrFromInt32(0))
  3985. libc.Xclose(tls, fd)
  3986. }
  3987. XIA__FcConfigDestroy(tls, config)
  3988. return cache
  3989. }
  3990. var XFcDirCacheLoadFile = XIA__FcDirCacheLoadFile
  3991. func _FcDirChecksum(tls *libc.TLS, statb uintptr) (r int32) {
  3992. bp := tls.Alloc(32)
  3993. defer tls.Free(32)
  3994. var epoch uint64
  3995. var ret int32
  3996. var source_date_epoch uintptr
  3997. var _ /* endptr at bp+0 */ uintptr
  3998. _, _, _ = epoch, ret, source_date_epoch
  3999. ret = int32((*Tstat)(unsafe.Pointer(statb)).Fst_mtim.Ftv_sec)
  4000. source_date_epoch = libc.Xgetenv(tls, __ccgo_ts+311)
  4001. if source_date_epoch != 0 {
  4002. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = 0
  4003. epoch = libc.Xstrtoull(tls, source_date_epoch, bp, int32(10))
  4004. if *(*uintptr)(unsafe.Pointer(bp)) == source_date_epoch {
  4005. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+329, 0)
  4006. } else {
  4007. if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(m_ERANGE) && (epoch == libc.Uint64FromUint64(2)*libc.Uint64FromInt64(0x7fffffffffffffff)+libc.Uint64FromInt32(1) || epoch == uint64(0)) || *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != 0 && epoch == uint64(0) {
  4008. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+368, libc.VaList(bp+16, libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))), epoch))
  4009. } else {
  4010. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))) != int32('\000') {
  4011. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+419, 0)
  4012. } else {
  4013. if epoch > libc.Uint64FromUint64(2)*libc.Uint64FromInt64(0x7fffffffffffffff)+libc.Uint64FromInt32(1) {
  4014. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+471, libc.VaList(bp+16, libc.Uint64FromUint64(2)*libc.Uint64FromInt64(0x7fffffffffffffff)+libc.Uint64FromInt32(1), epoch))
  4015. } else {
  4016. if epoch < libc.Uint64FromInt32(ret) {
  4017. /* Only override if directory is newer */
  4018. ret = libc.Int32FromUint64(epoch)
  4019. }
  4020. }
  4021. }
  4022. }
  4023. }
  4024. }
  4025. return ret
  4026. }
  4027. func _FcDirChecksumNano(tls *libc.TLS, statb uintptr) (r Tint64_t) {
  4028. /* No nanosecond component to parse */
  4029. if libc.Xgetenv(tls, __ccgo_ts+311) != 0 {
  4030. return 0
  4031. }
  4032. return (*Tstat)(unsafe.Pointer(statb)).Fst_mtim.Ftv_nsec
  4033. }
  4034. // C documentation
  4035. //
  4036. // /*
  4037. // * Validate a cache file by reading the header and checking
  4038. // * the magic number and the size field
  4039. // */
  4040. func _FcDirCacheValidateHelper(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr, latest_cache_mtime uintptr, closure uintptr) (r TFcBool) {
  4041. bp := tls.Alloc(64)
  4042. defer tls.Free(64)
  4043. var ret TFcBool
  4044. var _ /* c at bp+0 */ TFcCache
  4045. _ = ret
  4046. ret = int32(m_FcTrue)
  4047. if libc.Uint64FromInt64(libc.Xread(tls, fd, bp, uint64(64))) != uint64(64) {
  4048. ret = m_FcFalse
  4049. } else {
  4050. if (*(*TFcCache)(unsafe.Pointer(bp))).Fmagic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  4051. ret = m_FcFalse
  4052. } else {
  4053. if (*(*TFcCache)(unsafe.Pointer(bp))).Fversion < int32(m_FC_CACHE_VERSION_NUMBER) {
  4054. ret = m_FcFalse
  4055. } else {
  4056. if (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size != (*(*TFcCache)(unsafe.Pointer(bp))).Fsize {
  4057. ret = m_FcFalse
  4058. } else {
  4059. if (*(*TFcCache)(unsafe.Pointer(bp))).Fchecksum != _FcDirChecksum(tls, dir_stat) {
  4060. ret = m_FcFalse
  4061. } else {
  4062. if (*(*TFcCache)(unsafe.Pointer(bp))).Fchecksum_nano != _FcDirChecksumNano(tls, dir_stat) {
  4063. ret = m_FcFalse
  4064. }
  4065. }
  4066. }
  4067. }
  4068. }
  4069. }
  4070. return ret
  4071. }
  4072. func _FcDirCacheValidConfig(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  4073. return _FcDirCacheProcess(tls, config, dir, __ccgo_fp(_FcDirCacheValidateHelper), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  4074. }
  4075. func XIA__FcDirCacheValid(tls *libc.TLS, dir uintptr) (r TFcBool) {
  4076. var config uintptr
  4077. var ret TFcBool
  4078. _, _ = config, ret
  4079. config = XIA__FcConfigReference(tls, libc.UintptrFromInt32(0))
  4080. if !(config != 0) {
  4081. return m_FcFalse
  4082. }
  4083. ret = _FcDirCacheValidConfig(tls, dir, config)
  4084. XIA__FcConfigDestroy(tls, config)
  4085. return ret
  4086. }
  4087. var XFcDirCacheValid = XIA__FcDirCacheValid
  4088. // C documentation
  4089. //
  4090. // /*
  4091. // * Build a cache structure from the given contents
  4092. // */
  4093. func XFcDirCacheBuild(tls *libc.TLS, set uintptr, dir uintptr, dir_stat uintptr, dirs uintptr) (r uintptr) {
  4094. var cache, d_serialize, dir_serialize, dirs_serialize, serialize, set_serialize uintptr
  4095. var i int32
  4096. _, _, _, _, _, _, _ = cache, d_serialize, dir_serialize, dirs_serialize, i, serialize, set_serialize
  4097. serialize = XFcSerializeCreate(tls)
  4098. if !(serialize != 0) {
  4099. return libc.UintptrFromInt32(0)
  4100. }
  4101. /*
  4102. * Space for cache structure
  4103. */
  4104. XFcSerializeReserve(tls, serialize, int32(64))
  4105. /*
  4106. * Directory name
  4107. */
  4108. if !(XFcStrSerializeAlloc(tls, serialize, dir) != 0) {
  4109. goto bail1
  4110. }
  4111. /*
  4112. * Subdirs
  4113. */
  4114. XFcSerializeAlloc(tls, serialize, dirs, libc.Int32FromUint64(libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(dirs)).Fnum)*uint64(8)))
  4115. i = 0
  4116. for {
  4117. if !(i < (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum) {
  4118. break
  4119. }
  4120. if !(XFcStrSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(dirs)).Fstrs + uintptr(i)*8))) != 0) {
  4121. goto bail1
  4122. }
  4123. goto _1
  4124. _1:
  4125. ;
  4126. i++
  4127. }
  4128. /*
  4129. * Patterns
  4130. */
  4131. if !(XFcFontSetSerializeAlloc(tls, serialize, set) != 0) {
  4132. goto bail1
  4133. }
  4134. /* Serialize layout complete. Now allocate space and fill it */
  4135. cache = libc.Xmalloc(tls, libc.Uint64FromInt64((*TFcSerialize)(unsafe.Pointer(serialize)).Fsize))
  4136. if !(cache != 0) {
  4137. goto bail1
  4138. }
  4139. /* shut up valgrind */
  4140. libc.Xmemset(tls, cache, 0, libc.Uint64FromInt64((*TFcSerialize)(unsafe.Pointer(serialize)).Fsize))
  4141. (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear = cache
  4142. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_ALLOC1)
  4143. (*TFcCache)(unsafe.Pointer(cache)).Fversion = int32(m_FC_CACHE_VERSION_NUMBER)
  4144. (*TFcCache)(unsafe.Pointer(cache)).Fsize = (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize
  4145. (*TFcCache)(unsafe.Pointer(cache)).Fchecksum = _FcDirChecksum(tls, dir_stat)
  4146. (*TFcCache)(unsafe.Pointer(cache)).Fchecksum_nano = _FcDirChecksumNano(tls, dir_stat)
  4147. /*
  4148. * Serialize directory name
  4149. */
  4150. dir_serialize = XFcStrSerialize(tls, serialize, dir)
  4151. if !(dir_serialize != 0) {
  4152. goto bail2
  4153. }
  4154. (*TFcCache)(unsafe.Pointer(cache)).Fdir = int64(dir_serialize) - int64(cache)
  4155. /*
  4156. * Serialize sub dirs
  4157. */
  4158. dirs_serialize = XFcSerializePtr(tls, serialize, dirs)
  4159. if !(dirs_serialize != 0) {
  4160. goto bail2
  4161. }
  4162. (*TFcCache)(unsafe.Pointer(cache)).Fdirs = int64(dirs_serialize) - int64(cache)
  4163. (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count = (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum
  4164. i = 0
  4165. for {
  4166. if !(i < (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum) {
  4167. break
  4168. }
  4169. d_serialize = XFcStrSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(dirs)).Fstrs + uintptr(i)*8)))
  4170. if !(d_serialize != 0) {
  4171. goto bail2
  4172. }
  4173. *(*Tintptr_t)(unsafe.Pointer(dirs_serialize + uintptr(i)*8)) = int64(d_serialize) - int64(dirs_serialize)
  4174. goto _2
  4175. _2:
  4176. ;
  4177. i++
  4178. }
  4179. /*
  4180. * Serialize font set
  4181. */
  4182. set_serialize = XFcFontSetSerialize(tls, serialize, set)
  4183. if !(set_serialize != 0) {
  4184. goto bail2
  4185. }
  4186. (*TFcCache)(unsafe.Pointer(cache)).Fset = int64(set_serialize) - int64(cache)
  4187. XFcSerializeDestroy(tls, serialize)
  4188. _FcCacheInsert(tls, cache, libc.UintptrFromInt32(0))
  4189. return cache
  4190. goto bail2
  4191. bail2:
  4192. ;
  4193. libc.Xfree(tls, cache)
  4194. goto bail1
  4195. bail1:
  4196. ;
  4197. XFcSerializeDestroy(tls, serialize)
  4198. return libc.UintptrFromInt32(0)
  4199. }
  4200. func XFcDirCacheRebuild(tls *libc.TLS, cache uintptr, dir_stat uintptr, dirs uintptr) (r uintptr) {
  4201. var dir, new1, set uintptr
  4202. _, _, _ = dir, new1, set
  4203. set = XFcFontSetDeserialize(tls, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fset))
  4204. dir = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  4205. new1 = XFcDirCacheBuild(tls, set, dir, dir_stat, dirs)
  4206. XIA__FcFontSetDestroy(tls, set)
  4207. return new1
  4208. }
  4209. // C documentation
  4210. //
  4211. // /* write serialized state to the cache file */
  4212. func XFcDirCacheWrite(tls *libc.TLS, cache uintptr, config uintptr) (r TFcBool) {
  4213. bp := tls.Alloc(208)
  4214. defer tls.Free(208)
  4215. var atomic, cache_dir, cache_hashed, d, dir, list, skip, sysroot, test_dir, v1, v2 uintptr
  4216. var fd, written int32
  4217. var magic uint32
  4218. var _ /* cache_base at bp+0 */ [52]TFcChar8
  4219. var _ /* cache_stat at bp+56 */ Tstat
  4220. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = atomic, cache_dir, cache_hashed, d, dir, fd, list, magic, skip, sysroot, test_dir, written, v1, v2
  4221. dir = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  4222. cache_dir = libc.UintptrFromInt32(0)
  4223. d = libc.UintptrFromInt32(0)
  4224. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  4225. /*
  4226. * Write it to the first directory in the list which is writable
  4227. */
  4228. list = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  4229. if !(list != 0) {
  4230. return m_FcFalse
  4231. }
  4232. for {
  4233. v1 = XIA__FcStrListNext(tls, list)
  4234. test_dir = v1
  4235. if !(v1 != 0) {
  4236. break
  4237. }
  4238. if d != 0 {
  4239. XIA__FcStrFree(tls, d)
  4240. }
  4241. if sysroot != 0 {
  4242. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+192, test_dir, libc.UintptrFromInt32(0)))
  4243. } else {
  4244. d = XIA__FcStrCopyFilename(tls, test_dir)
  4245. }
  4246. if libc.Xaccess(tls, d, int32(m_W_OK)) == 0 {
  4247. cache_dir = XIA__FcStrCopyFilename(tls, d)
  4248. break
  4249. } else {
  4250. /*
  4251. * If the directory doesn't exist, try to create it
  4252. */
  4253. if libc.Xaccess(tls, d, m_F_OK) == -int32(1) {
  4254. if XFcMakeDirectory(tls, d) != 0 {
  4255. cache_dir = XIA__FcStrCopyFilename(tls, d)
  4256. /* Create CACHEDIR.TAG */
  4257. XFcDirCacheCreateTagFile(tls, d)
  4258. break
  4259. }
  4260. } else {
  4261. if libc.Xchmod(tls, d, uint32(0755)) == 0 {
  4262. cache_dir = XIA__FcStrCopyFilename(tls, d)
  4263. /* Try to create CACHEDIR.TAG too */
  4264. XFcDirCacheCreateTagFile(tls, d)
  4265. break
  4266. }
  4267. }
  4268. }
  4269. }
  4270. if !(test_dir != 0) {
  4271. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+531, 0)
  4272. }
  4273. if d != 0 {
  4274. XIA__FcStrFree(tls, d)
  4275. }
  4276. XIA__FcStrListDone(tls, list)
  4277. if !(cache_dir != 0) {
  4278. return m_FcFalse
  4279. }
  4280. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  4281. cache_hashed = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+192, bp, libc.UintptrFromInt32(0)))
  4282. XIA__FcStrFree(tls, cache_dir)
  4283. if !(cache_hashed != 0) {
  4284. return m_FcFalse
  4285. }
  4286. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4287. libc.Xprintf(tls, __ccgo_ts+580, libc.VaList(bp+192, dir, cache_hashed))
  4288. }
  4289. atomic = XIA__FcAtomicCreate(tls, cache_hashed)
  4290. if !(atomic != 0) {
  4291. goto bail1
  4292. }
  4293. if !(XIA__FcAtomicLock(tls, atomic) != 0) {
  4294. goto bail3
  4295. }
  4296. fd = XFcOpen(tls, XIA__FcAtomicNewFile(tls, atomic), libc.Int32FromInt32(m_O_RDWR)|libc.Int32FromInt32(m_O_CREAT)|libc.Int32FromInt32(m_O_BINARY), libc.VaList(bp+192, int32(0666)))
  4297. if fd == -int32(1) {
  4298. goto bail4
  4299. }
  4300. /* Temporarily switch magic to MMAP while writing to file */
  4301. magic = (*TFcCache)(unsafe.Pointer(cache)).Fmagic
  4302. if magic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  4303. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_MMAP1)
  4304. }
  4305. /*
  4306. * Write cache contents to file
  4307. */
  4308. written = int32(libc.Xwrite(tls, fd, cache, libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize)))
  4309. /* Switch magic back */
  4310. if magic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  4311. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = magic
  4312. }
  4313. if int64(written) != (*TFcCache)(unsafe.Pointer(cache)).Fsize {
  4314. libc.Xperror(tls, __ccgo_ts+619)
  4315. goto bail5
  4316. }
  4317. libc.Xclose(tls, fd)
  4318. if !(XIA__FcAtomicReplaceOrig(tls, atomic) != 0) {
  4319. goto bail4
  4320. }
  4321. /* If the file is small, update the cache chain entry such that the
  4322. * new cache file is not read again. If it's large, we don't do that
  4323. * such that we reload it, using mmap, which is shared across processes.
  4324. */
  4325. if (*TFcCache)(unsafe.Pointer(cache)).Fsize < int64(m_FC_CACHE_MIN_MMAP) && XFcStat(tls, cache_hashed, bp+56) != 0 {
  4326. _lock_cache(tls)
  4327. v2 = _FcCacheFindByAddrUnlocked(tls, cache)
  4328. skip = v2
  4329. if v2 != 0 {
  4330. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_dev = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_dev
  4331. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_ino = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_ino
  4332. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_mtime = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_mtim.Ftv_sec
  4333. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_mtime_nano = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_mtim.Ftv_nsec
  4334. }
  4335. _unlock_cache(tls)
  4336. }
  4337. XIA__FcStrFree(tls, cache_hashed)
  4338. XIA__FcAtomicUnlock(tls, atomic)
  4339. XIA__FcAtomicDestroy(tls, atomic)
  4340. return int32(m_FcTrue)
  4341. goto bail5
  4342. bail5:
  4343. ;
  4344. libc.Xclose(tls, fd)
  4345. goto bail4
  4346. bail4:
  4347. ;
  4348. XIA__FcAtomicUnlock(tls, atomic)
  4349. goto bail3
  4350. bail3:
  4351. ;
  4352. XIA__FcAtomicDestroy(tls, atomic)
  4353. goto bail1
  4354. bail1:
  4355. ;
  4356. XIA__FcStrFree(tls, cache_hashed)
  4357. return m_FcFalse
  4358. }
  4359. func XIA__FcDirCacheClean(tls *libc.TLS, cache_dir uintptr, verbose TFcBool) (r TFcBool) {
  4360. bp := tls.Alloc(160)
  4361. defer tls.Free(160)
  4362. var cache, config, d, dir, ent, file_name, s, sysroot, target_dir, v1, v2 uintptr
  4363. var remove, ret TFcBool
  4364. var _ /* target_stat at bp+0 */ Tstat
  4365. _, _, _, _, _, _, _, _, _, _, _, _, _ = cache, config, d, dir, ent, file_name, remove, ret, s, sysroot, target_dir, v1, v2
  4366. ret = int32(m_FcTrue)
  4367. config = XIA__FcConfigReference(tls, libc.UintptrFromInt32(0))
  4368. if !(config != 0) {
  4369. return m_FcFalse
  4370. }
  4371. /* FIXME: this API needs to support non-current FcConfig */
  4372. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  4373. if sysroot != 0 {
  4374. dir = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+136, cache_dir, libc.UintptrFromInt32(0)))
  4375. } else {
  4376. dir = XIA__FcStrCopyFilename(tls, cache_dir)
  4377. }
  4378. if !(dir != 0) {
  4379. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+631, libc.VaList(bp+136, cache_dir))
  4380. ret = m_FcFalse
  4381. goto bail
  4382. }
  4383. if libc.Xaccess(tls, dir, int32(m_W_OK)) != 0 {
  4384. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4385. if libc.Xaccess(tls, dir, m_F_OK) == 0 {
  4386. v1 = __ccgo_ts + 668
  4387. } else {
  4388. v1 = __ccgo_ts + 679
  4389. }
  4390. libc.Xprintf(tls, __ccgo_ts+692, libc.VaList(bp+136, dir, v1))
  4391. }
  4392. goto bail0
  4393. }
  4394. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4395. libc.Xprintf(tls, __ccgo_ts+729, libc.VaList(bp+136, dir))
  4396. }
  4397. d = libc.Xopendir(tls, dir)
  4398. if !(d != 0) {
  4399. libc.Xperror(tls, dir)
  4400. ret = m_FcFalse
  4401. goto bail0
  4402. }
  4403. for {
  4404. v2 = libc.Xreaddir(tls, d)
  4405. ent = v2
  4406. if !(v2 != 0) {
  4407. break
  4408. }
  4409. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(ent + 19))) == int32('.') {
  4410. continue
  4411. }
  4412. /* skip cache files for different architectures and */
  4413. /* files which are not cache files at all */
  4414. if libc.Xstrlen(tls, ent+19) != uint64(32)+libc.Xstrlen(tls, __ccgo_ts+83) || libc.Xstrcmp(tls, ent+19+uintptr(32), __ccgo_ts+83) != 0 {
  4415. continue
  4416. }
  4417. file_name = XIA__FcStrBuildFilename(tls, dir, libc.VaList(bp+136, ent+19, libc.UintptrFromInt32(0)))
  4418. if !(file_name != 0) {
  4419. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+759, libc.VaList(bp+136, dir))
  4420. ret = m_FcFalse
  4421. break
  4422. }
  4423. remove = m_FcFalse
  4424. cache = XIA__FcDirCacheLoadFile(tls, file_name, libc.UintptrFromInt32(0))
  4425. if !(cache != 0) {
  4426. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4427. libc.Xprintf(tls, __ccgo_ts+801, libc.VaList(bp+136, dir, ent+19))
  4428. }
  4429. remove = int32(m_FcTrue)
  4430. } else {
  4431. target_dir = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  4432. if sysroot != 0 {
  4433. s = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+136, target_dir, libc.UintptrFromInt32(0)))
  4434. } else {
  4435. s = libc.Xstrdup(tls, target_dir)
  4436. }
  4437. if libc.Xstat(tls, s, bp) < 0 {
  4438. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4439. libc.Xprintf(tls, __ccgo_ts+829, libc.VaList(bp+136, dir, ent+19, s))
  4440. }
  4441. remove = int32(m_FcTrue)
  4442. }
  4443. XIA__FcDirCacheUnload(tls, cache)
  4444. XIA__FcStrFree(tls, s)
  4445. }
  4446. if remove != 0 {
  4447. if libc.Xunlink(tls, file_name) < 0 {
  4448. libc.Xperror(tls, file_name)
  4449. ret = m_FcFalse
  4450. }
  4451. }
  4452. XIA__FcStrFree(tls, file_name)
  4453. }
  4454. libc.Xclosedir(tls, d)
  4455. goto bail0
  4456. bail0:
  4457. ;
  4458. XIA__FcStrFree(tls, dir)
  4459. goto bail
  4460. bail:
  4461. ;
  4462. XIA__FcConfigDestroy(tls, config)
  4463. return ret
  4464. }
  4465. var XFcDirCacheClean = XIA__FcDirCacheClean
  4466. func XFcDirCacheLock(tls *libc.TLS, dir uintptr, config uintptr) (r int32) {
  4467. bp := tls.Alloc(128)
  4468. defer tls.Free(128)
  4469. var cache_dir, cache_hashed, list, sysroot, v1 uintptr
  4470. var fd int32
  4471. var _ /* cache_base at bp+0 */ [52]TFcChar8
  4472. var _ /* fl at bp+56 */ Tflock
  4473. _, _, _, _, _, _ = cache_dir, cache_hashed, fd, list, sysroot, v1
  4474. cache_hashed = libc.UintptrFromInt32(0)
  4475. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  4476. fd = -int32(1)
  4477. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  4478. list = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  4479. if !(list != 0) {
  4480. return -int32(1)
  4481. }
  4482. for {
  4483. v1 = XIA__FcStrListNext(tls, list)
  4484. cache_dir = v1
  4485. if !(v1 != 0) {
  4486. break
  4487. }
  4488. if sysroot != 0 {
  4489. cache_hashed = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+96, cache_dir, bp, libc.UintptrFromInt32(0)))
  4490. } else {
  4491. cache_hashed = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+96, bp, libc.UintptrFromInt32(0)))
  4492. }
  4493. if !(cache_hashed != 0) {
  4494. break
  4495. }
  4496. fd = XFcOpen(tls, cache_hashed, int32(m_O_RDWR), 0)
  4497. XIA__FcStrFree(tls, cache_hashed)
  4498. /* No caches in that directory. simply retry with another one */
  4499. if fd != -int32(1) {
  4500. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_type = int16(m_F_WRLCK)
  4501. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_whence = 0
  4502. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_start = 0
  4503. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_len = 0
  4504. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_pid = libc.Xgetpid(tls)
  4505. if libc.Xfcntl(tls, fd, int32(m_F_SETLKW), libc.VaList(bp+96, bp+56)) == -int32(1) {
  4506. goto bail
  4507. }
  4508. break
  4509. }
  4510. }
  4511. XIA__FcStrListDone(tls, list)
  4512. return fd
  4513. goto bail
  4514. bail:
  4515. ;
  4516. XIA__FcStrListDone(tls, list)
  4517. if fd != -int32(1) {
  4518. libc.Xclose(tls, fd)
  4519. }
  4520. return -int32(1)
  4521. }
  4522. func XFcDirCacheUnlock(tls *libc.TLS, fd int32) {
  4523. bp := tls.Alloc(48)
  4524. defer tls.Free(48)
  4525. var _ /* fl at bp+0 */ Tflock
  4526. if fd != -int32(1) {
  4527. (*(*Tflock)(unsafe.Pointer(bp))).Fl_type = int16(m_F_UNLCK)
  4528. (*(*Tflock)(unsafe.Pointer(bp))).Fl_whence = 0
  4529. (*(*Tflock)(unsafe.Pointer(bp))).Fl_start = 0
  4530. (*(*Tflock)(unsafe.Pointer(bp))).Fl_len = 0
  4531. (*(*Tflock)(unsafe.Pointer(bp))).Fl_pid = libc.Xgetpid(tls)
  4532. libc.Xfcntl(tls, fd, int32(m_F_SETLK), libc.VaList(bp+40, bp))
  4533. libc.Xclose(tls, fd)
  4534. }
  4535. }
  4536. /*
  4537. * Hokey little macro trick to permit the definitions of C functions
  4538. * with the same name as CPP macros
  4539. */
  4540. func XFcCacheDir(tls *libc.TLS, c uintptr) (r uintptr) {
  4541. return uintptr(int64(c) + (*TFcCache)(unsafe.Pointer(c)).Fdir)
  4542. }
  4543. func XIA__FcCacheCopySet(tls *libc.TLS, c uintptr) (r uintptr) {
  4544. var font, new1, old, v2, v3 uintptr
  4545. var i int32
  4546. _, _, _, _, _, _ = font, i, new1, old, v2, v3
  4547. old = uintptr(int64(c) + (*TFcCache)(unsafe.Pointer(c)).Fset)
  4548. new1 = XIA__FcFontSetCreate(tls)
  4549. if !(new1 != 0) {
  4550. return libc.UintptrFromInt32(0)
  4551. }
  4552. i = 0
  4553. for {
  4554. if !(i < (*TFcFontSet)(unsafe.Pointer(old)).Fnfont) {
  4555. break
  4556. }
  4557. if int64((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int64(1) != 0 {
  4558. if int64((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int64(1) != 0 {
  4559. v3 = uintptr(int64(old) + int64((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  4560. } else {
  4561. v3 = (*TFcFontSet)(unsafe.Pointer(old)).Ffonts
  4562. }
  4563. v2 = uintptr(int64(old) + int64(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  4564. } else {
  4565. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(old)).Ffonts + uintptr(i)*8))
  4566. }
  4567. font = v2
  4568. XIA__FcPatternReference(tls, font)
  4569. if !(XIA__FcFontSetAdd(tls, new1, font) != 0) {
  4570. XIA__FcFontSetDestroy(tls, new1)
  4571. return libc.UintptrFromInt32(0)
  4572. }
  4573. goto _1
  4574. _1:
  4575. ;
  4576. i++
  4577. }
  4578. return new1
  4579. }
  4580. var XFcCacheCopySet = XIA__FcCacheCopySet
  4581. func XFcCacheSubdir(tls *libc.TLS, c uintptr, i int32) (r uintptr) {
  4582. return uintptr(int64(uintptr(int64(c)+(*TFcCache)(unsafe.Pointer(c)).Fdirs)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(c)+(*TFcCache)(unsafe.Pointer(c)).Fdirs) + uintptr(i)*8)))
  4583. }
  4584. func XIA__FcCacheNumSubdir(tls *libc.TLS, c uintptr) (r int32) {
  4585. return (*TFcCache)(unsafe.Pointer(c)).Fdirs_count
  4586. }
  4587. var XFcCacheNumSubdir = XIA__FcCacheNumSubdir
  4588. func XIA__FcCacheNumFont(tls *libc.TLS, c uintptr) (r int32) {
  4589. return (*TFcFontSet)(unsafe.Pointer(uintptr(int64(c) + (*TFcCache)(unsafe.Pointer(c)).Fset))).Fnfont
  4590. }
  4591. var XFcCacheNumFont = XIA__FcCacheNumFont
  4592. func XFcDirCacheCreateTagFile(tls *libc.TLS, cache_dir uintptr) (r TFcBool) {
  4593. bp := tls.Alloc(32)
  4594. defer tls.Free(32)
  4595. var atomic, cache_tag, fp uintptr
  4596. var fd int32
  4597. var ret TFcBool
  4598. _, _, _, _, _ = atomic, cache_tag, fd, fp, ret
  4599. ret = m_FcFalse
  4600. if !(cache_dir != 0) {
  4601. return m_FcFalse
  4602. }
  4603. if libc.Xaccess(tls, cache_dir, int32(m_W_OK)) == 0 {
  4604. /* Create CACHEDIR.TAG */
  4605. cache_tag = XIA__FcStrBuildFilename(tls, cache_dir, libc.VaList(bp+8, __ccgo_ts+861, libc.UintptrFromInt32(0)))
  4606. if !(cache_tag != 0) {
  4607. return m_FcFalse
  4608. }
  4609. atomic = XIA__FcAtomicCreate(tls, cache_tag)
  4610. if !(atomic != 0) {
  4611. goto bail1
  4612. }
  4613. if !(XIA__FcAtomicLock(tls, atomic) != 0) {
  4614. goto bail2
  4615. }
  4616. fd = XFcOpen(tls, XIA__FcAtomicNewFile(tls, atomic), libc.Int32FromInt32(m_O_RDWR)|libc.Int32FromInt32(m_O_CREAT), libc.VaList(bp+8, int32(0644)))
  4617. if fd == -int32(1) {
  4618. goto bail3
  4619. }
  4620. fp = libc.Xfdopen(tls, fd, __ccgo_ts+874)
  4621. if fp == libc.UintptrFromInt32(0) {
  4622. goto bail3
  4623. }
  4624. libc.Xfwrite(tls, uintptr(unsafe.Pointer(&_cache_tag_contents)), _cache_tag_contents_size, uint64(1), fp)
  4625. libc.Xfclose(tls, fp)
  4626. if !(XIA__FcAtomicReplaceOrig(tls, atomic) != 0) {
  4627. goto bail3
  4628. }
  4629. ret = int32(m_FcTrue)
  4630. goto bail3
  4631. bail3:
  4632. ;
  4633. XIA__FcAtomicUnlock(tls, atomic)
  4634. goto bail2
  4635. bail2:
  4636. ;
  4637. XIA__FcAtomicDestroy(tls, atomic)
  4638. goto bail1
  4639. bail1:
  4640. ;
  4641. XIA__FcStrFree(tls, cache_tag)
  4642. }
  4643. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4644. if ret != 0 {
  4645. libc.Xprintf(tls, __ccgo_ts+877, libc.VaList(bp+8, cache_dir))
  4646. } else {
  4647. libc.Xprintf(tls, __ccgo_ts+905, libc.VaList(bp+8, cache_dir))
  4648. }
  4649. }
  4650. return ret
  4651. }
  4652. var _cache_tag_contents = [201]TFcChar8{'S', 'i', 'g', 'n', 'a', 't', 'u', 'r', 'e', ':', ' ', '8', 'a', '4', '7', '7', 'f', '5', '9', '7', 'd', '2', '8', 'd', '1', '7', '2', '7', '8', '9', 'f', '0', '6', '8', '8', '6', '8', '0', '6', 'b', 'c', '5', '5', 10, '#', ' ', 'T', 'h', 'i', 's', ' ', 'f', 'i', 'l', 'e', ' ', 'i', 's', ' ', 'a', ' ', 'c', 'a', 'c', 'h', 'e', ' ', 'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', ' ', 't', 'a', 'g', ' ', 'c', 'r', 'e', 'a', 't', 'e', 'd', ' ', 'b', 'y', ' ', 'f', 'o', 'n', 't', 'c', 'o', 'n', 'f', 'i', 'g', '.', 10, '#', ' ', 'F', 'o', 'r', ' ', 'i', 'n', 'f', 'o', 'r', 'm', 'a', 't', 'i', 'o', 'n', ' ', 'a', 'b', 'o', 'u', 't', ' ', 'c', 'a', 'c', 'h', 'e', ' ', 'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', ' ', 't', 'a', 'g', 's', ',', ' ', 's', 'e', 'e', ':', 10, '#', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'h', 't', 't', 'p', ':', '/', '/', 'w', 'w', 'w', '.', 'b', 'r', 'y', 'n', 'o', 's', 'a', 'u', 'r', 'u', 's', '.', 'c', 'o', 'm', '/', 'c', 'a', 'c', 'h', 'e', 'd', 'i', 'r', '/', 10}
  4653. var _cache_tag_contents_size = libc.Uint64FromInt64(201) - libc.Uint64FromInt32(1)
  4654. func XIA__FcCacheCreateTagFile(tls *libc.TLS, config uintptr) {
  4655. bp := tls.Alloc(32)
  4656. defer tls.Free(32)
  4657. var cache_dir, d, list, sysroot, v1 uintptr
  4658. _, _, _, _, _ = cache_dir, d, list, sysroot, v1
  4659. cache_dir = libc.UintptrFromInt32(0)
  4660. d = libc.UintptrFromInt32(0)
  4661. config = XIA__FcConfigReference(tls, config)
  4662. if !(config != 0) {
  4663. return
  4664. }
  4665. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  4666. list = XIA__FcConfigGetCacheDirs(tls, config)
  4667. if !(list != 0) {
  4668. goto bail
  4669. }
  4670. for {
  4671. v1 = XIA__FcStrListNext(tls, list)
  4672. cache_dir = v1
  4673. if !(v1 != 0) {
  4674. break
  4675. }
  4676. if d != 0 {
  4677. XIA__FcStrFree(tls, d)
  4678. }
  4679. if sysroot != 0 {
  4680. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, cache_dir, libc.UintptrFromInt32(0)))
  4681. } else {
  4682. d = XIA__FcStrCopyFilename(tls, cache_dir)
  4683. }
  4684. if XFcDirCacheCreateTagFile(tls, d) != 0 {
  4685. break
  4686. }
  4687. }
  4688. if d != 0 {
  4689. XIA__FcStrFree(tls, d)
  4690. }
  4691. XIA__FcStrListDone(tls, list)
  4692. goto bail
  4693. bail:
  4694. ;
  4695. XIA__FcConfigDestroy(tls, config)
  4696. }
  4697. var XFcCacheCreateTagFile = XIA__FcCacheCreateTagFile
  4698. const m_FC_CACHE_MAGIC_ALLOC2 = 0xFC02FC05
  4699. const m_FC_CACHE_MAGIC_MMAP2 = 0xFC02FC04
  4700. const m_FC_DIR_SEPARATOR1 = 47
  4701. const m_FC_DIR_SEPARATOR_S1 = "/.cache"
  4702. const m_FC_SEARCH_PATH_SEPARATOR1 = 58
  4703. const m_FONTCONFIG_FILE = "fonts.conf"
  4704. const m_INT64_MAX2 = 0x7fffffffffffffff
  4705. const m_LLONG_MAX2 = 0x7fffffffffffffff
  4706. const m_S_IFIFO1 = 4096
  4707. const m_S_IFMT1 = 61440
  4708. const m___LONG_MAX2 = 0x7fffffffffffffff
  4709. var __fcConfig uintptr /* MT-safe */
  4710. var __lock uintptr
  4711. func _lock_config(tls *libc.TLS) {
  4712. var lock uintptr
  4713. var v1 int32
  4714. _, _ = lock, v1
  4715. goto retry
  4716. retry:
  4717. ;
  4718. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock))))
  4719. if !(lock != 0) {
  4720. lock = libc.Xmalloc(tls, uint64(4))
  4721. _ = lock
  4722. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) == libc.UintptrFromInt32(0) {
  4723. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) = lock
  4724. v1 = libc.Int32FromInt32(m_FcTrue)
  4725. } else {
  4726. v1 = m_FcFalse
  4727. }
  4728. if !(v1 != 0) {
  4729. _ = lock
  4730. libc.Xfree(tls, lock)
  4731. goto retry
  4732. }
  4733. _ = lock
  4734. /* Initialize random state */
  4735. XFcRandom(tls)
  4736. return
  4737. }
  4738. _ = lock
  4739. }
  4740. func _unlock_config(tls *libc.TLS) {
  4741. var lock uintptr
  4742. _ = lock
  4743. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock))))
  4744. _ = lock
  4745. }
  4746. func _free_lock1(tls *libc.TLS) {
  4747. var lock uintptr
  4748. var v1 int32
  4749. var v2 bool
  4750. _, _, _ = lock, v1, v2
  4751. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock))))
  4752. if v2 = lock != 0; v2 {
  4753. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) == lock {
  4754. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) = libc.UintptrFromInt32(0)
  4755. v1 = libc.Int32FromInt32(m_FcTrue)
  4756. } else {
  4757. v1 = m_FcFalse
  4758. }
  4759. }
  4760. if v2 && v1 != 0 {
  4761. _ = lock
  4762. libc.Xfree(tls, lock)
  4763. }
  4764. }
  4765. func _FcConfigEnsure(tls *libc.TLS) (r uintptr) {
  4766. var config uintptr
  4767. var v1 int32
  4768. var v2 bool
  4769. _, _, _ = config, v1, v2
  4770. goto retry
  4771. retry:
  4772. ;
  4773. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  4774. if !(config != 0) {
  4775. config = XIA__FcInitLoadConfigAndFonts(tls)
  4776. if v2 = !(config != 0); !v2 {
  4777. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == libc.UintptrFromInt32(0) {
  4778. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  4779. v1 = libc.Int32FromInt32(m_FcTrue)
  4780. } else {
  4781. v1 = m_FcFalse
  4782. }
  4783. }
  4784. if v2 || !(v1 != 0) {
  4785. if config != 0 {
  4786. XIA__FcConfigDestroy(tls, config)
  4787. }
  4788. goto retry
  4789. }
  4790. }
  4791. return config
  4792. }
  4793. func _FcDestroyAsRule(tls *libc.TLS, data uintptr) {
  4794. XFcRuleDestroy(tls, data)
  4795. }
  4796. func _FcDestroyAsRuleSet(tls *libc.TLS, data uintptr) {
  4797. XFcRuleSetDestroy(tls, data)
  4798. }
  4799. func XFcConfigInit(tls *libc.TLS) (r TFcBool) {
  4800. var v1 int32
  4801. _ = v1
  4802. if _FcConfigEnsure(tls) != 0 {
  4803. v1 = int32(m_FcTrue)
  4804. } else {
  4805. v1 = m_FcFalse
  4806. }
  4807. return v1
  4808. }
  4809. func XFcConfigFini(tls *libc.TLS) {
  4810. var cfg uintptr
  4811. var v1 int32
  4812. var v2 bool
  4813. _, _, _ = cfg, v1, v2
  4814. cfg = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  4815. if v2 = cfg != 0; v2 {
  4816. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == cfg {
  4817. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = libc.UintptrFromInt32(0)
  4818. v1 = libc.Int32FromInt32(m_FcTrue)
  4819. } else {
  4820. v1 = m_FcFalse
  4821. }
  4822. }
  4823. if v2 && v1 != 0 {
  4824. XIA__FcConfigDestroy(tls, cfg)
  4825. }
  4826. _free_lock1(tls)
  4827. }
  4828. func XIA__FcConfigCreate(tls *libc.TLS) (r uintptr) {
  4829. var config uintptr
  4830. var err TFcBool
  4831. var k TFcMatchKind
  4832. var set TFcSetName
  4833. _, _, _, _ = config, err, k, set
  4834. err = m_FcFalse
  4835. config = libc.Xmalloc(tls, uint64(168))
  4836. if !(config != 0) {
  4837. goto bail0
  4838. }
  4839. (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs = XIA__FcStrSetCreate(tls)
  4840. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigDirs != 0) {
  4841. goto bail1
  4842. }
  4843. (*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs = XIA__FcStrSetCreate(tls)
  4844. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs != 0) {
  4845. goto bail1_5
  4846. }
  4847. (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles = XIA__FcStrSetCreate(tls)
  4848. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigFiles != 0) {
  4849. goto bail2
  4850. }
  4851. (*TFcConfig)(unsafe.Pointer(config)).FfontDirs = XIA__FcStrSetCreate(tls)
  4852. if !((*TFcConfig)(unsafe.Pointer(config)).FfontDirs != 0) {
  4853. goto bail3
  4854. }
  4855. (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs = XIA__FcStrSetCreate(tls)
  4856. if !((*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs != 0) {
  4857. goto bail4
  4858. }
  4859. (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs = XIA__FcStrSetCreate(tls)
  4860. if !((*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs != 0) {
  4861. goto bail5
  4862. }
  4863. (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns = XIA__FcFontSetCreate(tls)
  4864. if !((*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns != 0) {
  4865. goto bail6
  4866. }
  4867. (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns = XIA__FcFontSetCreate(tls)
  4868. if !((*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns != 0) {
  4869. goto bail7
  4870. }
  4871. (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs = XIA__FcStrSetCreate(tls)
  4872. if !((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs != 0) {
  4873. goto bail8
  4874. }
  4875. k = int32(_FcMatchKindBegin)
  4876. for {
  4877. if !(k < int32(_FcMatchKindEnd)) {
  4878. break
  4879. }
  4880. *(*uintptr)(unsafe.Pointer(config + 40 + uintptr(k)*8)) = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRuleSet))
  4881. if !(*(*uintptr)(unsafe.Pointer(config + 40 + uintptr(k)*8)) != 0) {
  4882. err = int32(m_FcTrue)
  4883. }
  4884. goto _1
  4885. _1:
  4886. ;
  4887. k++
  4888. }
  4889. if err != 0 {
  4890. goto bail9
  4891. }
  4892. (*TFcConfig)(unsafe.Pointer(config)).FmaxObjects = 0
  4893. set = int32(_FcSetSystem)
  4894. for {
  4895. if !(set <= int32(_FcSetApplication)) {
  4896. break
  4897. }
  4898. *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)) = uintptr(0)
  4899. goto _2
  4900. _2:
  4901. ;
  4902. set++
  4903. }
  4904. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = libc.Xtime(tls, uintptr(0))
  4905. (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval = int32(30)
  4906. (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool = libc.UintptrFromInt32(0)
  4907. (*TFcConfig)(unsafe.Pointer(config)).FsysRoot = XFcStrRealPath(tls, libc.Xgetenv(tls, __ccgo_ts+942))
  4908. (*TFcConfig)(unsafe.Pointer(config)).FrulesetList = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRuleSet))
  4909. if !((*TFcConfig)(unsafe.Pointer(config)).FrulesetList != 0) {
  4910. goto bail9
  4911. }
  4912. (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles = XIA__FcStrSetCreate(tls)
  4913. if !((*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles != 0) {
  4914. goto bail10
  4915. }
  4916. (*TFcRef)(unsafe.Pointer(config + 132)).Fcount = int32(1)
  4917. return config
  4918. goto bail10
  4919. bail10:
  4920. ;
  4921. XFcPtrListDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrulesetList)
  4922. goto bail9
  4923. bail9:
  4924. ;
  4925. k = int32(_FcMatchKindBegin)
  4926. for {
  4927. if !(k < int32(_FcMatchKindEnd)) {
  4928. break
  4929. }
  4930. if *(*uintptr)(unsafe.Pointer(config + 40 + uintptr(k)*8)) != 0 {
  4931. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 40 + uintptr(k)*8)))
  4932. }
  4933. goto _3
  4934. _3:
  4935. ;
  4936. k++
  4937. }
  4938. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  4939. goto bail8
  4940. bail8:
  4941. ;
  4942. XIA__FcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns)
  4943. goto bail7
  4944. bail7:
  4945. ;
  4946. XIA__FcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns)
  4947. goto bail6
  4948. bail6:
  4949. ;
  4950. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs)
  4951. goto bail5
  4952. bail5:
  4953. ;
  4954. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs)
  4955. goto bail4
  4956. bail4:
  4957. ;
  4958. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  4959. goto bail3
  4960. bail3:
  4961. ;
  4962. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  4963. goto bail2
  4964. bail2:
  4965. ;
  4966. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs)
  4967. goto bail1_5
  4968. bail1_5:
  4969. ;
  4970. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  4971. goto bail1
  4972. bail1:
  4973. ;
  4974. libc.Xfree(tls, config)
  4975. goto bail0
  4976. bail0:
  4977. ;
  4978. return uintptr(0)
  4979. return r
  4980. }
  4981. var XFcConfigCreate = XIA__FcConfigCreate
  4982. func _FcConfigNewestFile(tls *libc.TLS, files uintptr) (r TFcFileTime) {
  4983. bp := tls.Alloc(128)
  4984. defer tls.Free(128)
  4985. var file, list, v1 uintptr
  4986. var newest TFcFileTime
  4987. var _ /* statb at bp+0 */ Tstat
  4988. _, _, _, _ = file, list, newest, v1
  4989. list = XIA__FcStrListCreate(tls, files)
  4990. newest = TFcFileTime{}
  4991. if list != 0 {
  4992. for {
  4993. v1 = XIA__FcStrListNext(tls, list)
  4994. file = v1
  4995. if !(v1 != 0) {
  4996. break
  4997. }
  4998. if XFcStat(tls, file, bp) == 0 {
  4999. if !(newest.Fset != 0) || (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_sec-newest.Ftime > 0 {
  5000. newest.Fset = int32(m_FcTrue)
  5001. newest.Ftime = (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_sec
  5002. }
  5003. }
  5004. }
  5005. XIA__FcStrListDone(tls, list)
  5006. }
  5007. return newest
  5008. }
  5009. func XIA__FcConfigUptoDate(tls *libc.TLS, config uintptr) (r TFcBool) {
  5010. var config_dir_time, config_time, font_time TFcFileTime
  5011. var now Ttime_t
  5012. var ret TFcBool
  5013. _, _, _, _, _ = config_dir_time, config_time, font_time, now, ret
  5014. now = libc.Xtime(tls, uintptr(0))
  5015. ret = int32(m_FcTrue)
  5016. config = XIA__FcConfigReference(tls, config)
  5017. if !(config != 0) {
  5018. return m_FcFalse
  5019. }
  5020. config_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  5021. config_dir_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  5022. font_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  5023. if config_time.Fset != 0 && config_time.Ftime-(*TFcConfig)(unsafe.Pointer(config)).FrescanTime > 0 || config_dir_time.Fset != 0 && config_dir_time.Ftime-(*TFcConfig)(unsafe.Pointer(config)).FrescanTime > 0 || font_time.Fset != 0 && font_time.Ftime-(*TFcConfig)(unsafe.Pointer(config)).FrescanTime > 0 {
  5024. /* We need to check for potential clock problems here (OLPC ticket #6046) */
  5025. if config_time.Fset != 0 && config_time.Ftime-now > 0 || config_dir_time.Fset != 0 && config_dir_time.Ftime-now > 0 || font_time.Fset != 0 && font_time.Ftime-now > 0 {
  5026. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+961, 0)
  5027. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = now
  5028. goto bail
  5029. } else {
  5030. ret = m_FcFalse
  5031. goto bail
  5032. }
  5033. }
  5034. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = now
  5035. goto bail
  5036. bail:
  5037. ;
  5038. XIA__FcConfigDestroy(tls, config)
  5039. return ret
  5040. }
  5041. var XFcConfigUptoDate = XIA__FcConfigUptoDate
  5042. func XFcConfigAllocExpr(tls *libc.TLS, config uintptr) (r uintptr) {
  5043. var new_page, v1, v2 uintptr
  5044. _, _, _ = new_page, v1, v2
  5045. if !((*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool != 0) || (*TFcExprPage)(unsafe.Pointer((*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool)).Fnext == (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool+8176 {
  5046. new_page = libc.Xmalloc(tls, uint64(8176))
  5047. if !(new_page != 0) {
  5048. return uintptr(0)
  5049. }
  5050. (*TFcExprPage)(unsafe.Pointer(new_page)).Fnext_page = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool
  5051. (*TFcExprPage)(unsafe.Pointer(new_page)).Fnext = new_page + 16
  5052. (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool = new_page
  5053. }
  5054. v2 = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool + 8
  5055. v1 = *(*uintptr)(unsafe.Pointer(v2))
  5056. *(*uintptr)(unsafe.Pointer(v2)) += 24
  5057. return v1
  5058. }
  5059. func XIA__FcConfigReference(tls *libc.TLS, config uintptr) (r uintptr) {
  5060. var v1 int32
  5061. var p3, p5 uintptr
  5062. _, _, _ = v1, p3, p5
  5063. if !(config != 0) {
  5064. /* lock during obtaining the value from _fcConfig and count up refcount there,
  5065. * there are the race between them.
  5066. */
  5067. _lock_config(tls)
  5068. goto retry
  5069. retry:
  5070. ;
  5071. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  5072. if !(config != 0) {
  5073. _unlock_config(tls)
  5074. config = XIA__FcInitLoadConfigAndFonts(tls)
  5075. if !(config != 0) {
  5076. goto retry
  5077. }
  5078. _lock_config(tls)
  5079. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == libc.UintptrFromInt32(0) {
  5080. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  5081. v1 = libc.Int32FromInt32(m_FcTrue)
  5082. } else {
  5083. v1 = m_FcFalse
  5084. }
  5085. if !(v1 != 0) {
  5086. XIA__FcConfigDestroy(tls, config)
  5087. goto retry
  5088. }
  5089. }
  5090. p3 = config + 132
  5091. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += +libc.Int32FromInt32(1)
  5092. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - +libc.Int32FromInt32(1)
  5093. goto _2
  5094. _2:
  5095. ;
  5096. _unlock_config(tls)
  5097. } else {
  5098. p5 = config + 132
  5099. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += +libc.Int32FromInt32(1)
  5100. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - +libc.Int32FromInt32(1)
  5101. goto _4
  5102. _4:
  5103. }
  5104. return config
  5105. }
  5106. var XFcConfigReference = XIA__FcConfigReference
  5107. func XIA__FcConfigDestroy(tls *libc.TLS, config uintptr) {
  5108. var k TFcMatchKind
  5109. var next, page, p3 uintptr
  5110. var set TFcSetName
  5111. var v1 int32
  5112. _, _, _, _, _, _ = k, next, page, set, v1, p3
  5113. p3 = config + 132
  5114. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  5115. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  5116. goto _2
  5117. _2:
  5118. if v1 != int32(1) {
  5119. return
  5120. }
  5121. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == config {
  5122. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = libc.UintptrFromInt32(0)
  5123. _ = libc.Int32FromInt32(m_FcTrue)
  5124. }
  5125. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  5126. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs)
  5127. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  5128. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  5129. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  5130. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs)
  5131. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs)
  5132. XIA__FcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns)
  5133. XIA__FcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns)
  5134. k = int32(_FcMatchKindBegin)
  5135. for {
  5136. if !(k < int32(_FcMatchKindEnd)) {
  5137. break
  5138. }
  5139. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 40 + uintptr(k)*8)))
  5140. goto _5
  5141. _5:
  5142. ;
  5143. k++
  5144. }
  5145. XFcPtrListDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrulesetList)
  5146. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles)
  5147. set = int32(_FcSetSystem)
  5148. for {
  5149. if !(set <= int32(_FcSetApplication)) {
  5150. break
  5151. }
  5152. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)) != 0 {
  5153. XIA__FcFontSetDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)))
  5154. }
  5155. goto _6
  5156. _6:
  5157. ;
  5158. set++
  5159. }
  5160. page = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool
  5161. for page != 0 {
  5162. next = (*TFcExprPage)(unsafe.Pointer(page)).Fnext_page
  5163. libc.Xfree(tls, page)
  5164. page = next
  5165. }
  5166. if (*TFcConfig)(unsafe.Pointer(config)).FsysRoot != 0 {
  5167. XIA__FcStrFree(tls, (*TFcConfig)(unsafe.Pointer(config)).FsysRoot)
  5168. }
  5169. libc.Xfree(tls, config)
  5170. }
  5171. var XFcConfigDestroy = XIA__FcConfigDestroy
  5172. /*
  5173. * Add cache to configuration, adding fonts and directories
  5174. */
  5175. func XFcConfigAddCache(tls *libc.TLS, config uintptr, cache uintptr, set TFcSetName, dirSet uintptr, forDir uintptr) (r TFcBool) {
  5176. bp := tls.Alloc(32)
  5177. defer tls.Free(32)
  5178. var base, dir, dirs, font, fs, relocated_font_file, s, slash, v2, v3, v5 uintptr
  5179. var i, nref int32
  5180. var relocated TFcBool
  5181. var _ /* font_file at bp+0 */ uintptr
  5182. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, dir, dirs, font, fs, i, nref, relocated, relocated_font_file, s, slash, v2, v3, v5
  5183. relocated = m_FcFalse
  5184. if libc.Xstrcmp(tls, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), forDir) != 0 {
  5185. relocated = int32(m_FcTrue)
  5186. }
  5187. /*
  5188. * Add fonts
  5189. */
  5190. fs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fset)
  5191. if fs != 0 {
  5192. nref = 0
  5193. i = 0
  5194. for {
  5195. if !(i < (*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) {
  5196. break
  5197. }
  5198. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  5199. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  5200. v3 = uintptr(int64(fs) + int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  5201. } else {
  5202. v3 = (*TFcFontSet)(unsafe.Pointer(fs)).Ffonts
  5203. }
  5204. v2 = uintptr(int64(fs) + int64(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  5205. } else {
  5206. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts + uintptr(i)*8))
  5207. }
  5208. font = v2
  5209. relocated_font_file = libc.UintptrFromInt32(0)
  5210. if XFcPatternObjectGetString(tls, font, int32(_FC_FILE_OBJECT), 0, bp) == int32(_FcResultMatch) {
  5211. if relocated != 0 {
  5212. slash = XFcStrLastSlash(tls, *(*uintptr)(unsafe.Pointer(bp)))
  5213. relocated_font_file = XIA__FcStrBuildFilename(tls, forDir, libc.VaList(bp+16, slash+uintptr(1), libc.UintptrFromInt32(0)))
  5214. *(*uintptr)(unsafe.Pointer(bp)) = relocated_font_file
  5215. }
  5216. /*
  5217. * Check to see if font is banned by filename
  5218. */
  5219. if !(XFcConfigAcceptFilename(tls, config, *(*uintptr)(unsafe.Pointer(bp))) != 0) {
  5220. libc.Xfree(tls, relocated_font_file)
  5221. goto _1
  5222. }
  5223. }
  5224. /*
  5225. * Check to see if font is banned by pattern
  5226. */
  5227. if !(XFcConfigAcceptFont(tls, config, font) != 0) {
  5228. libc.Xfree(tls, relocated_font_file)
  5229. goto _1
  5230. }
  5231. if relocated_font_file != 0 {
  5232. font = XFcPatternCacheRewriteFile(tls, font, cache, relocated_font_file)
  5233. libc.Xfree(tls, relocated_font_file)
  5234. }
  5235. if XIA__FcFontSetAdd(tls, *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)), font) != 0 {
  5236. nref++
  5237. }
  5238. goto _1
  5239. _1:
  5240. ;
  5241. i++
  5242. }
  5243. XFcDirCacheReference(tls, cache, nref)
  5244. }
  5245. /*
  5246. * Add directories
  5247. */
  5248. dirs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdirs)
  5249. if dirs != 0 {
  5250. i = 0
  5251. for {
  5252. if !(i < (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) {
  5253. break
  5254. }
  5255. dir = uintptr(int64(uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdirs)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdirs) + uintptr(i)*8)))
  5256. s = libc.UintptrFromInt32(0)
  5257. if relocated != 0 {
  5258. base = XIA__FcStrBasename(tls, dir)
  5259. v5 = XIA__FcStrBuildFilename(tls, forDir, libc.VaList(bp+16, base, libc.UintptrFromInt32(0)))
  5260. s = v5
  5261. dir = v5
  5262. XIA__FcStrFree(tls, base)
  5263. }
  5264. if XFcConfigAcceptFilename(tls, config, dir) != 0 {
  5265. XIA__FcStrSetAddFilename(tls, dirSet, dir)
  5266. }
  5267. if s != 0 {
  5268. XIA__FcStrFree(tls, s)
  5269. }
  5270. goto _4
  5271. _4:
  5272. ;
  5273. i++
  5274. }
  5275. }
  5276. return int32(m_FcTrue)
  5277. }
  5278. func _FcConfigAddDirList(tls *libc.TLS, config uintptr, set TFcSetName, dirSet uintptr) (r TFcBool) {
  5279. bp := tls.Alloc(16)
  5280. defer tls.Free(16)
  5281. var cache, dir, dirlist, v1 uintptr
  5282. _, _, _, _ = cache, dir, dirlist, v1
  5283. dirlist = XIA__FcStrListCreate(tls, dirSet)
  5284. if !(dirlist != 0) {
  5285. return m_FcFalse
  5286. }
  5287. for {
  5288. v1 = XIA__FcStrListNext(tls, dirlist)
  5289. dir = v1
  5290. if !(v1 != 0) {
  5291. break
  5292. }
  5293. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  5294. libc.Xprintf(tls, __ccgo_ts+1049, libc.VaList(bp+8, dir))
  5295. }
  5296. cache = XIA__FcDirCacheRead(tls, dir, m_FcFalse, config)
  5297. if !(cache != 0) {
  5298. continue
  5299. }
  5300. XFcConfigAddCache(tls, config, cache, set, dirSet, dir)
  5301. XIA__FcDirCacheUnload(tls, cache)
  5302. }
  5303. XIA__FcStrListDone(tls, dirlist)
  5304. return int32(m_FcTrue)
  5305. }
  5306. /*
  5307. * Scan the current list of directories in the configuration
  5308. * and build the set of available fonts.
  5309. */
  5310. func XIA__FcConfigBuildFonts(tls *libc.TLS, config uintptr) (r TFcBool) {
  5311. var fonts uintptr
  5312. var ret TFcBool
  5313. _, _ = fonts, ret
  5314. ret = int32(m_FcTrue)
  5315. config = XIA__FcConfigReference(tls, config)
  5316. if !(config != 0) {
  5317. return m_FcFalse
  5318. }
  5319. fonts = XIA__FcFontSetCreate(tls)
  5320. if !(fonts != 0) {
  5321. ret = m_FcFalse
  5322. goto bail
  5323. }
  5324. XFcConfigSetFonts(tls, config, fonts, int32(_FcSetSystem))
  5325. if !(_FcConfigAddDirList(tls, config, int32(_FcSetSystem), (*TFcConfig)(unsafe.Pointer(config)).FfontDirs) != 0) {
  5326. ret = m_FcFalse
  5327. goto bail
  5328. }
  5329. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  5330. XIA__FcFontSetPrint(tls, fonts)
  5331. }
  5332. goto bail
  5333. bail:
  5334. ;
  5335. XIA__FcConfigDestroy(tls, config)
  5336. return ret
  5337. }
  5338. var XFcConfigBuildFonts = XIA__FcConfigBuildFonts
  5339. func XIA__FcConfigSetCurrent(tls *libc.TLS, config uintptr) (r TFcBool) {
  5340. var cfg, p2 uintptr
  5341. var v3 int32
  5342. _, _, _ = cfg, v3, p2
  5343. if config != 0 {
  5344. if !(*(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8)) != 0) {
  5345. if !(XIA__FcConfigBuildFonts(tls, config) != 0) {
  5346. return m_FcFalse
  5347. }
  5348. }
  5349. p2 = config + 132
  5350. *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) += +libc.Int32FromInt32(1)
  5351. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) - +libc.Int32FromInt32(1)
  5352. goto _1
  5353. _1:
  5354. }
  5355. _lock_config(tls)
  5356. goto retry
  5357. retry:
  5358. ;
  5359. cfg = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  5360. if config == cfg {
  5361. _unlock_config(tls)
  5362. if config != 0 {
  5363. XIA__FcConfigDestroy(tls, config)
  5364. }
  5365. return int32(m_FcTrue)
  5366. }
  5367. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == cfg {
  5368. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  5369. v3 = libc.Int32FromInt32(m_FcTrue)
  5370. } else {
  5371. v3 = m_FcFalse
  5372. }
  5373. if !(v3 != 0) {
  5374. goto retry
  5375. }
  5376. _unlock_config(tls)
  5377. if cfg != 0 {
  5378. XIA__FcConfigDestroy(tls, cfg)
  5379. }
  5380. return int32(m_FcTrue)
  5381. }
  5382. var XFcConfigSetCurrent = XIA__FcConfigSetCurrent
  5383. func XIA__FcConfigGetCurrent(tls *libc.TLS) (r uintptr) {
  5384. return _FcConfigEnsure(tls)
  5385. }
  5386. var XFcConfigGetCurrent = XIA__FcConfigGetCurrent
  5387. func XFcConfigAddConfigDir(tls *libc.TLS, config uintptr, d uintptr) (r TFcBool) {
  5388. return XIA__FcStrSetAddFilename(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs, d)
  5389. }
  5390. func XIA__FcConfigGetConfigDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  5391. var ret uintptr
  5392. _ = ret
  5393. config = XIA__FcConfigReference(tls, config)
  5394. if !(config != 0) {
  5395. return libc.UintptrFromInt32(0)
  5396. }
  5397. ret = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  5398. XIA__FcConfigDestroy(tls, config)
  5399. return ret
  5400. }
  5401. var XFcConfigGetConfigDirs = XIA__FcConfigGetConfigDirs
  5402. func XFcConfigAddFontDir(tls *libc.TLS, config uintptr, d uintptr, m uintptr, salt uintptr) (r TFcBool) {
  5403. bp := tls.Alloc(48)
  5404. defer tls.Free(48)
  5405. var v1, v2, v3, v4, v5, v6 uintptr
  5406. _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6
  5407. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  5408. if m != 0 {
  5409. if salt != 0 {
  5410. v1 = __ccgo_ts + 1071
  5411. } else {
  5412. v1 = __ccgo_ts + 110
  5413. }
  5414. if salt != 0 {
  5415. v2 = salt
  5416. } else {
  5417. v2 = __ccgo_ts + 110
  5418. }
  5419. if salt != 0 {
  5420. v3 = __ccgo_ts + 111
  5421. } else {
  5422. v3 = __ccgo_ts + 110
  5423. }
  5424. libc.Xprintf(tls, __ccgo_ts+1080, libc.VaList(bp+8, d, m, v1, v2, v3))
  5425. } else {
  5426. if salt != 0 {
  5427. if salt != 0 {
  5428. v4 = __ccgo_ts + 1071
  5429. } else {
  5430. v4 = __ccgo_ts + 110
  5431. }
  5432. if salt != 0 {
  5433. v5 = salt
  5434. } else {
  5435. v5 = __ccgo_ts + 110
  5436. }
  5437. if salt != 0 {
  5438. v6 = __ccgo_ts + 111
  5439. } else {
  5440. v6 = __ccgo_ts + 110
  5441. }
  5442. libc.Xprintf(tls, __ccgo_ts+1096, libc.VaList(bp+8, d, v4, v5, v6))
  5443. }
  5444. }
  5445. }
  5446. return XFcStrSetAddFilenamePairWithSalt(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs, d, m, salt)
  5447. }
  5448. func XFcConfigResetFontDirs(tls *libc.TLS, config uintptr) (r TFcBool) {
  5449. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  5450. libc.Xprintf(tls, __ccgo_ts+1106, 0)
  5451. }
  5452. return XFcStrSetDeleteAll(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  5453. }
  5454. func XIA__FcConfigGetFontDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  5455. var ret uintptr
  5456. _ = ret
  5457. config = XIA__FcConfigReference(tls, config)
  5458. if !(config != 0) {
  5459. return libc.UintptrFromInt32(0)
  5460. }
  5461. ret = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  5462. XIA__FcConfigDestroy(tls, config)
  5463. return ret
  5464. }
  5465. var XFcConfigGetFontDirs = XIA__FcConfigGetFontDirs
  5466. func _FcConfigPathStartsWith(tls *libc.TLS, path uintptr, start uintptr) (r TFcBool) {
  5467. var len1 int32
  5468. _ = len1
  5469. len1 = libc.Int32FromUint64(libc.Xstrlen(tls, start))
  5470. if libc.Xstrncmp(tls, path, start, libc.Uint64FromInt32(len1)) != 0 {
  5471. return m_FcFalse
  5472. }
  5473. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(path + uintptr(len1)))) {
  5474. case int32('\000'):
  5475. fallthrough
  5476. case int32('/'):
  5477. return int32(m_FcTrue)
  5478. default:
  5479. return m_FcFalse
  5480. }
  5481. return r
  5482. }
  5483. func XFcConfigMapFontPath(tls *libc.TLS, config uintptr, path uintptr) (r uintptr) {
  5484. bp := tls.Alloc(32)
  5485. defer tls.Free(32)
  5486. var dir, list, map1, retval, rpath, v1 uintptr
  5487. var len1 Tsize_t
  5488. _, _, _, _, _, _, _ = dir, len1, list, map1, retval, rpath, v1
  5489. list = XIA__FcConfigGetFontDirs(tls, config)
  5490. if !(list != 0) {
  5491. return uintptr(0)
  5492. }
  5493. for {
  5494. v1 = XIA__FcStrListNext(tls, list)
  5495. dir = v1
  5496. if !(v1 != 0) {
  5497. break
  5498. }
  5499. if _FcConfigPathStartsWith(tls, path, dir) != 0 {
  5500. break
  5501. }
  5502. }
  5503. XIA__FcStrListDone(tls, list)
  5504. if !(dir != 0) {
  5505. return uintptr(0)
  5506. }
  5507. map1 = XFcStrTripleSecond(tls, dir)
  5508. if !(map1 != 0) {
  5509. return uintptr(0)
  5510. }
  5511. rpath = path + uintptr(libc.Xstrlen(tls, dir))
  5512. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(rpath))) == int32('/') {
  5513. rpath++
  5514. }
  5515. retval = XIA__FcStrBuildFilename(tls, map1, libc.VaList(bp+8, rpath, libc.UintptrFromInt32(0)))
  5516. if retval != 0 {
  5517. len1 = libc.Xstrlen(tls, retval)
  5518. for len1 > uint64(0) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(retval + uintptr(len1-uint64(1))))) == int32('/') {
  5519. len1--
  5520. }
  5521. /* trim the last slash */
  5522. *(*TFcChar8)(unsafe.Pointer(retval + uintptr(len1))) = uint8(0)
  5523. }
  5524. return retval
  5525. }
  5526. func XFcConfigMapSalt(tls *libc.TLS, config uintptr, path uintptr) (r uintptr) {
  5527. var dir, list, v1 uintptr
  5528. _, _, _ = dir, list, v1
  5529. list = XIA__FcConfigGetFontDirs(tls, config)
  5530. if !(list != 0) {
  5531. return libc.UintptrFromInt32(0)
  5532. }
  5533. for {
  5534. v1 = XIA__FcStrListNext(tls, list)
  5535. dir = v1
  5536. if !(v1 != 0) {
  5537. break
  5538. }
  5539. if _FcConfigPathStartsWith(tls, path, dir) != 0 {
  5540. break
  5541. }
  5542. }
  5543. XIA__FcStrListDone(tls, list)
  5544. if !(dir != 0) {
  5545. return libc.UintptrFromInt32(0)
  5546. }
  5547. return XFcStrTripleThird(tls, dir)
  5548. }
  5549. func XFcConfigAddCacheDir(tls *libc.TLS, config uintptr, d uintptr) (r TFcBool) {
  5550. return XIA__FcStrSetAddFilename(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs, d)
  5551. }
  5552. func XIA__FcConfigGetCacheDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  5553. var ret uintptr
  5554. _ = ret
  5555. config = XIA__FcConfigReference(tls, config)
  5556. if !(config != 0) {
  5557. return libc.UintptrFromInt32(0)
  5558. }
  5559. ret = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  5560. XIA__FcConfigDestroy(tls, config)
  5561. return ret
  5562. }
  5563. var XFcConfigGetCacheDirs = XIA__FcConfigGetCacheDirs
  5564. func XFcConfigAddConfigFile(tls *libc.TLS, config uintptr, f uintptr) (r TFcBool) {
  5565. var file uintptr
  5566. var ret TFcBool
  5567. _, _ = file, ret
  5568. file = XIA__FcConfigGetFilename(tls, config, f)
  5569. if !(file != 0) {
  5570. return m_FcFalse
  5571. }
  5572. ret = XIA__FcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles, file)
  5573. XIA__FcStrFree(tls, file)
  5574. return ret
  5575. }
  5576. func XIA__FcConfigGetConfigFiles(tls *libc.TLS, config uintptr) (r uintptr) {
  5577. var ret uintptr
  5578. _ = ret
  5579. config = XIA__FcConfigReference(tls, config)
  5580. if !(config != 0) {
  5581. return libc.UintptrFromInt32(0)
  5582. }
  5583. ret = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  5584. XIA__FcConfigDestroy(tls, config)
  5585. return ret
  5586. }
  5587. var XFcConfigGetConfigFiles = XIA__FcConfigGetConfigFiles
  5588. func XIA__FcConfigGetCache(tls *libc.TLS, config uintptr) (r uintptr) {
  5589. return libc.UintptrFromInt32(0)
  5590. }
  5591. var XFcConfigGetCache = XIA__FcConfigGetCache
  5592. func XIA__FcConfigGetFonts(tls *libc.TLS, config uintptr, set TFcSetName) (r uintptr) {
  5593. if !(config != 0) {
  5594. config = XIA__FcConfigGetCurrent(tls)
  5595. if !(config != 0) {
  5596. return uintptr(0)
  5597. }
  5598. }
  5599. return *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8))
  5600. }
  5601. var XFcConfigGetFonts = XIA__FcConfigGetFonts
  5602. func XFcConfigSetFonts(tls *libc.TLS, config uintptr, fonts uintptr, set TFcSetName) {
  5603. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)) != 0 {
  5604. XIA__FcFontSetDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)))
  5605. }
  5606. *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)) = fonts
  5607. }
  5608. func XIA__FcBlanksCreate(tls *libc.TLS) (r uintptr) {
  5609. /* Deprecated. */
  5610. return libc.UintptrFromInt32(0)
  5611. }
  5612. var XFcBlanksCreate = XIA__FcBlanksCreate
  5613. func XIA__FcBlanksDestroy(tls *libc.TLS, b uintptr) {
  5614. /* Deprecated. */
  5615. }
  5616. var XFcBlanksDestroy = XIA__FcBlanksDestroy
  5617. func XIA__FcBlanksAdd(tls *libc.TLS, b uintptr, ucs4 TFcChar32) (r TFcBool) {
  5618. /* Deprecated. */
  5619. return m_FcFalse
  5620. }
  5621. var XFcBlanksAdd = XIA__FcBlanksAdd
  5622. func XIA__FcBlanksIsMember(tls *libc.TLS, b uintptr, ucs4 TFcChar32) (r TFcBool) {
  5623. /* Deprecated. */
  5624. return m_FcFalse
  5625. }
  5626. var XFcBlanksIsMember = XIA__FcBlanksIsMember
  5627. func XIA__FcConfigGetBlanks(tls *libc.TLS, config uintptr) (r uintptr) {
  5628. /* Deprecated. */
  5629. return libc.UintptrFromInt32(0)
  5630. }
  5631. var XFcConfigGetBlanks = XIA__FcConfigGetBlanks
  5632. func XFcConfigAddBlank(tls *libc.TLS, config uintptr, blank TFcChar32) (r TFcBool) {
  5633. /* Deprecated. */
  5634. return m_FcFalse
  5635. }
  5636. func XIA__FcConfigGetRescanInterval(tls *libc.TLS, config uintptr) (r int32) {
  5637. var ret int32
  5638. _ = ret
  5639. config = XIA__FcConfigReference(tls, config)
  5640. if !(config != 0) {
  5641. return 0
  5642. }
  5643. ret = (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval
  5644. XIA__FcConfigDestroy(tls, config)
  5645. return ret
  5646. }
  5647. var XFcConfigGetRescanInterval = XIA__FcConfigGetRescanInterval
  5648. func XIA__FcConfigSetRescanInterval(tls *libc.TLS, config uintptr, rescanInterval int32) (r TFcBool) {
  5649. config = XIA__FcConfigReference(tls, config)
  5650. if !(config != 0) {
  5651. return m_FcFalse
  5652. }
  5653. (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval = rescanInterval
  5654. XIA__FcConfigDestroy(tls, config)
  5655. return int32(m_FcTrue)
  5656. }
  5657. var XFcConfigSetRescanInterval = XIA__FcConfigSetRescanInterval
  5658. // C documentation
  5659. //
  5660. // /*
  5661. // * A couple of typos escaped into the library
  5662. // */
  5663. func XIA__FcConfigGetRescanInverval(tls *libc.TLS, config uintptr) (r int32) {
  5664. return XIA__FcConfigGetRescanInterval(tls, config)
  5665. }
  5666. var XFcConfigGetRescanInverval = XIA__FcConfigGetRescanInverval
  5667. func XIA__FcConfigSetRescanInverval(tls *libc.TLS, config uintptr, rescanInterval int32) (r TFcBool) {
  5668. return XIA__FcConfigSetRescanInterval(tls, config, rescanInterval)
  5669. }
  5670. var XFcConfigSetRescanInverval = XIA__FcConfigSetRescanInverval
  5671. func XFcConfigAddRule(tls *libc.TLS, config uintptr, rule uintptr, kind TFcMatchKind) (r TFcBool) {
  5672. /* deprecated */
  5673. return m_FcFalse
  5674. }
  5675. func _FcConfigPromote(tls *libc.TLS, _v TFcValue, u TFcValue, buf uintptr) (r TFcValue) {
  5676. bp := tls.Alloc(16)
  5677. defer tls.Free(16)
  5678. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  5679. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  5680. case int32(_FcTypeInteger):
  5681. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  5682. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  5683. /* Fallthrough */
  5684. fallthrough
  5685. case int32(_FcTypeDouble):
  5686. if u.Ftype1 == int32(_FcTypeRange) && buf != 0 {
  5687. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcRangePromote(tls, *(*float64)(unsafe.Pointer(bp + 8)), buf)
  5688. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  5689. }
  5690. case int32(_FcTypeVoid):
  5691. if u.Ftype1 == int32(_FcTypeMatrix) {
  5692. *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(unsafe.Pointer(&XFcIdentityMatrix))
  5693. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  5694. } else {
  5695. if u.Ftype1 == int32(_FcTypeLangSet) && buf != 0 {
  5696. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetPromote(tls, libc.UintptrFromInt32(0), buf)
  5697. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  5698. } else {
  5699. if u.Ftype1 == int32(_FcTypeCharSet) && buf != 0 {
  5700. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcCharSetPromote(tls, buf)
  5701. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  5702. }
  5703. }
  5704. }
  5705. case int32(_FcTypeString):
  5706. if u.Ftype1 == int32(_FcTypeLangSet) && buf != 0 {
  5707. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetPromote(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), buf)
  5708. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  5709. }
  5710. default:
  5711. break
  5712. }
  5713. return *(*TFcValue)(unsafe.Pointer(bp))
  5714. }
  5715. func XFcConfigCompareValue(tls *libc.TLS, left_o uintptr, op_ uint32, right_o uintptr) (r7 TFcBool) {
  5716. bp := tls.Alloc(544)
  5717. defer tls.Free(544)
  5718. var flags, l, r int32
  5719. var l1, r1 float64
  5720. var l2, r2, ret TFcBool
  5721. var l3, l4, l5, l6, r3, r4, r5, r6, v1, v2, v3, v4, v5, v6, v7, v8 uintptr
  5722. var op TFcOp
  5723. var _ /* buf1 at bp+32 */ TFcValuePromotionBuffer
  5724. var _ /* buf2 at bp+288 */ TFcValuePromotionBuffer
  5725. var _ /* left at bp+0 */ TFcValue
  5726. var _ /* right at bp+16 */ TFcValue
  5727. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = flags, l, l1, l2, l3, l4, l5, l6, op, r, r1, r2, r3, r4, r5, r6, ret, v1, v2, v3, v4, v5, v6, v7, v8
  5728. ret = m_FcFalse
  5729. op = libc.Int32FromUint32(op_ & libc.Uint32FromInt32(0xffff))
  5730. flags = libc.Int32FromUint32(op_ & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  5731. if (*TFcValue)(unsafe.Pointer(left_o)).Ftype1 != (*TFcValue)(unsafe.Pointer(right_o)).Ftype1 {
  5732. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, left_o)
  5733. *(*TFcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, right_o)
  5734. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp)), *(*TFcValue)(unsafe.Pointer(bp + 16)), bp+32)
  5735. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)), *(*TFcValue)(unsafe.Pointer(bp)), bp+288)
  5736. left_o = bp
  5737. right_o = bp + 16
  5738. if (*TFcValue)(unsafe.Pointer(left_o)).Ftype1 != (*TFcValue)(unsafe.Pointer(right_o)).Ftype1 {
  5739. if op == int32(_FcOpNotEqual) || op == int32(_FcOpNotContains) {
  5740. ret = int32(m_FcTrue)
  5741. }
  5742. return ret
  5743. }
  5744. }
  5745. switch (*TFcValue)(unsafe.Pointer(left_o)).Ftype1 {
  5746. case int32(_FcTypeUnknown):
  5747. case int32(_FcTypeInteger):
  5748. l = *(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))
  5749. r = *(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))
  5750. switch op {
  5751. case int32(_FcOpEqual):
  5752. fallthrough
  5753. case int32(_FcOpContains):
  5754. fallthrough
  5755. case int32(_FcOpListing):
  5756. ret = libc.BoolInt32(l == r)
  5757. case int32(_FcOpNotEqual):
  5758. fallthrough
  5759. case int32(_FcOpNotContains):
  5760. ret = libc.BoolInt32(l != r)
  5761. case int32(_FcOpLess):
  5762. ret = libc.BoolInt32(l < r)
  5763. case int32(_FcOpLessEqual):
  5764. ret = libc.BoolInt32(l <= r)
  5765. case int32(_FcOpMore):
  5766. ret = libc.BoolInt32(l > r)
  5767. case int32(_FcOpMoreEqual):
  5768. ret = libc.BoolInt32(l >= r)
  5769. default:
  5770. break
  5771. }
  5772. case int32(_FcTypeDouble):
  5773. l1 = *(*float64)(unsafe.Pointer(left_o + 8))
  5774. r1 = *(*float64)(unsafe.Pointer(right_o + 8))
  5775. switch op {
  5776. case int32(_FcOpEqual):
  5777. fallthrough
  5778. case int32(_FcOpContains):
  5779. fallthrough
  5780. case int32(_FcOpListing):
  5781. ret = libc.BoolInt32(l1 == r1)
  5782. case int32(_FcOpNotEqual):
  5783. fallthrough
  5784. case int32(_FcOpNotContains):
  5785. ret = libc.BoolInt32(l1 != r1)
  5786. case int32(_FcOpLess):
  5787. ret = libc.BoolInt32(l1 < r1)
  5788. case int32(_FcOpLessEqual):
  5789. ret = libc.BoolInt32(l1 <= r1)
  5790. case int32(_FcOpMore):
  5791. ret = libc.BoolInt32(l1 > r1)
  5792. case int32(_FcOpMoreEqual):
  5793. ret = libc.BoolInt32(l1 >= r1)
  5794. default:
  5795. break
  5796. }
  5797. case int32(_FcTypeBool):
  5798. l2 = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))
  5799. r2 = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))
  5800. switch op {
  5801. case int32(_FcOpEqual):
  5802. ret = libc.BoolInt32(l2 == r2)
  5803. case int32(_FcOpContains):
  5804. fallthrough
  5805. case int32(_FcOpListing):
  5806. ret = libc.BoolInt32(l2 == r2 || l2 >= int32(m_FcDontCare))
  5807. case int32(_FcOpNotEqual):
  5808. ret = libc.BoolInt32(l2 != r2)
  5809. case int32(_FcOpNotContains):
  5810. ret = libc.BoolInt32(!(l2 == r2 || l2 >= int32(m_FcDontCare)))
  5811. case int32(_FcOpLess):
  5812. ret = libc.BoolInt32(l2 != r2 && r2 >= int32(m_FcDontCare))
  5813. case int32(_FcOpLessEqual):
  5814. ret = libc.BoolInt32(l2 == r2 || r2 >= int32(m_FcDontCare))
  5815. case int32(_FcOpMore):
  5816. ret = libc.BoolInt32(l2 != r2 && l2 >= int32(m_FcDontCare))
  5817. case int32(_FcOpMoreEqual):
  5818. ret = libc.BoolInt32(l2 == r2 || l2 >= int32(m_FcDontCare))
  5819. default:
  5820. break
  5821. }
  5822. case int32(_FcTypeString):
  5823. if int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(1) != 0 {
  5824. v1 = uintptr(int64(left_o) + int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(^libc.Int32FromInt32(1)))
  5825. } else {
  5826. v1 = *(*uintptr)(unsafe.Pointer(left_o + 8))
  5827. }
  5828. l3 = v1
  5829. if int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(1) != 0 {
  5830. v2 = uintptr(int64(right_o) + int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(^libc.Int32FromInt32(1)))
  5831. } else {
  5832. v2 = *(*uintptr)(unsafe.Pointer(right_o + 8))
  5833. }
  5834. r3 = v2
  5835. switch op {
  5836. case int32(_FcOpEqual):
  5837. fallthrough
  5838. case int32(_FcOpListing):
  5839. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  5840. ret = libc.BoolInt32(XFcStrCmpIgnoreBlanksAndCase(tls, l3, r3) == 0)
  5841. } else {
  5842. ret = libc.BoolInt32(XIA__FcStrCmpIgnoreCase(tls, l3, r3) == 0)
  5843. }
  5844. case int32(_FcOpContains):
  5845. ret = libc.BoolInt32(XIA__FcStrStrIgnoreCase(tls, l3, r3) != uintptr(0))
  5846. case int32(_FcOpNotEqual):
  5847. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  5848. ret = libc.BoolInt32(XFcStrCmpIgnoreBlanksAndCase(tls, l3, r3) != 0)
  5849. } else {
  5850. ret = libc.BoolInt32(XIA__FcStrCmpIgnoreCase(tls, l3, r3) != 0)
  5851. }
  5852. case int32(_FcOpNotContains):
  5853. ret = libc.BoolInt32(XIA__FcStrStrIgnoreCase(tls, l3, r3) == uintptr(0))
  5854. default:
  5855. break
  5856. }
  5857. case int32(_FcTypeMatrix):
  5858. switch op {
  5859. case int32(_FcOpEqual):
  5860. fallthrough
  5861. case int32(_FcOpContains):
  5862. fallthrough
  5863. case int32(_FcOpListing):
  5864. ret = XIA__FcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(left_o + 8)), *(*uintptr)(unsafe.Pointer(right_o + 8)))
  5865. case int32(_FcOpNotEqual):
  5866. fallthrough
  5867. case int32(_FcOpNotContains):
  5868. ret = libc.BoolInt32(!(XIA__FcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(left_o + 8)), *(*uintptr)(unsafe.Pointer(right_o + 8))) != 0))
  5869. default:
  5870. break
  5871. }
  5872. case int32(_FcTypeCharSet):
  5873. if int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(1) != 0 {
  5874. v3 = uintptr(int64(left_o) + int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(^libc.Int32FromInt32(1)))
  5875. } else {
  5876. v3 = *(*uintptr)(unsafe.Pointer(left_o + 8))
  5877. }
  5878. l4 = v3
  5879. if int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(1) != 0 {
  5880. v4 = uintptr(int64(right_o) + int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(^libc.Int32FromInt32(1)))
  5881. } else {
  5882. v4 = *(*uintptr)(unsafe.Pointer(right_o + 8))
  5883. }
  5884. r4 = v4
  5885. switch op {
  5886. case int32(_FcOpContains):
  5887. fallthrough
  5888. case int32(_FcOpListing):
  5889. /* left contains right if right is a subset of left */
  5890. ret = XIA__FcCharSetIsSubset(tls, r4, l4)
  5891. case int32(_FcOpNotContains):
  5892. /* left contains right if right is a subset of left */
  5893. ret = libc.BoolInt32(!(XIA__FcCharSetIsSubset(tls, r4, l4) != 0))
  5894. case int32(_FcOpEqual):
  5895. ret = XIA__FcCharSetEqual(tls, l4, r4)
  5896. case int32(_FcOpNotEqual):
  5897. ret = libc.BoolInt32(!(XIA__FcCharSetEqual(tls, l4, r4) != 0))
  5898. default:
  5899. break
  5900. }
  5901. case int32(_FcTypeLangSet):
  5902. if int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(1) != 0 {
  5903. v5 = uintptr(int64(left_o) + int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(^libc.Int32FromInt32(1)))
  5904. } else {
  5905. v5 = *(*uintptr)(unsafe.Pointer(left_o + 8))
  5906. }
  5907. l5 = v5
  5908. if int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(1) != 0 {
  5909. v6 = uintptr(int64(right_o) + int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(^libc.Int32FromInt32(1)))
  5910. } else {
  5911. v6 = *(*uintptr)(unsafe.Pointer(right_o + 8))
  5912. }
  5913. r5 = v6
  5914. switch op {
  5915. case int32(_FcOpContains):
  5916. fallthrough
  5917. case int32(_FcOpListing):
  5918. ret = XIA__FcLangSetContains(tls, l5, r5)
  5919. case int32(_FcOpNotContains):
  5920. ret = libc.BoolInt32(!(XIA__FcLangSetContains(tls, l5, r5) != 0))
  5921. case int32(_FcOpEqual):
  5922. ret = XIA__FcLangSetEqual(tls, l5, r5)
  5923. case int32(_FcOpNotEqual):
  5924. ret = libc.BoolInt32(!(XIA__FcLangSetEqual(tls, l5, r5) != 0))
  5925. default:
  5926. break
  5927. }
  5928. case int32(_FcTypeVoid):
  5929. switch op {
  5930. case int32(_FcOpEqual):
  5931. fallthrough
  5932. case int32(_FcOpContains):
  5933. fallthrough
  5934. case int32(_FcOpListing):
  5935. ret = int32(m_FcTrue)
  5936. default:
  5937. break
  5938. }
  5939. case int32(_FcTypeFTFace):
  5940. switch op {
  5941. case int32(_FcOpEqual):
  5942. fallthrough
  5943. case int32(_FcOpContains):
  5944. fallthrough
  5945. case int32(_FcOpListing):
  5946. ret = libc.BoolInt32(*(*uintptr)(unsafe.Pointer(left_o + 8)) == *(*uintptr)(unsafe.Pointer(right_o + 8)))
  5947. case int32(_FcOpNotEqual):
  5948. fallthrough
  5949. case int32(_FcOpNotContains):
  5950. ret = libc.BoolInt32(*(*uintptr)(unsafe.Pointer(left_o + 8)) != *(*uintptr)(unsafe.Pointer(right_o + 8)))
  5951. default:
  5952. break
  5953. }
  5954. case int32(_FcTypeRange):
  5955. if int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(1) != 0 {
  5956. v7 = uintptr(int64(left_o) + int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(^libc.Int32FromInt32(1)))
  5957. } else {
  5958. v7 = *(*uintptr)(unsafe.Pointer(left_o + 8))
  5959. }
  5960. l6 = v7
  5961. if int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(1) != 0 {
  5962. v8 = uintptr(int64(right_o) + int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(^libc.Int32FromInt32(1)))
  5963. } else {
  5964. v8 = *(*uintptr)(unsafe.Pointer(right_o + 8))
  5965. }
  5966. r6 = v8
  5967. ret = XFcRangeCompare(tls, op, l6, r6)
  5968. break
  5969. }
  5970. return ret
  5971. }
  5972. func _FcConfigEvaluate(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, e uintptr) (r TFcValue) {
  5973. bp := tls.Alloc(688)
  5974. defer tls.Free(688)
  5975. var m, str uintptr
  5976. var op TFcOp
  5977. var v1, v2, v3, v4, v5, v6, v7 int32
  5978. var _ /* buf1 at bp+80 */ TFcValuePromotionBuffer
  5979. var _ /* buf2 at bp+336 */ TFcValuePromotionBuffer
  5980. var _ /* m at bp+592 */ TFcMatrix
  5981. var _ /* v at bp+0 */ TFcValue
  5982. var _ /* vl at bp+16 */ TFcValue
  5983. var _ /* vle at bp+48 */ TFcValue
  5984. var _ /* vr at bp+32 */ TFcValue
  5985. var _ /* vre at bp+64 */ TFcValue
  5986. var _ /* xx at bp+624 */ TFcValue
  5987. var _ /* xy at bp+640 */ TFcValue
  5988. var _ /* yx at bp+656 */ TFcValue
  5989. var _ /* yy at bp+672 */ TFcValue
  5990. _, _, _, _, _, _, _, _, _, _ = m, op, str, v1, v2, v3, v4, v5, v6, v7
  5991. op = (*TFcExpr)(unsafe.Pointer(e)).Fop & libc.Int32FromInt32(0xffff)
  5992. switch op {
  5993. case int32(_FcOpInteger):
  5994. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  5995. *(*int32)(unsafe.Pointer(bp + 8)) = (*TFcExpr)(unsafe.Pointer(e)).Fu.Fival
  5996. case int32(_FcOpDouble):
  5997. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  5998. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  5999. case int32(_FcOpString):
  6000. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  6001. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  6002. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6003. case int32(_FcOpMatrix):
  6004. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  6005. *(*TFcValue)(unsafe.Pointer(bp + 624)) = _FcConfigPromote(tls, _FcConfigEvaluate(tls, p, p_pat, kind, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))).Fxx), *(*TFcValue)(unsafe.Pointer(bp)), libc.UintptrFromInt32(0))
  6006. *(*TFcValue)(unsafe.Pointer(bp + 640)) = _FcConfigPromote(tls, _FcConfigEvaluate(tls, p, p_pat, kind, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))).Fxy), *(*TFcValue)(unsafe.Pointer(bp)), libc.UintptrFromInt32(0))
  6007. *(*TFcValue)(unsafe.Pointer(bp + 656)) = _FcConfigPromote(tls, _FcConfigEvaluate(tls, p, p_pat, kind, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))).Fyx), *(*TFcValue)(unsafe.Pointer(bp)), libc.UintptrFromInt32(0))
  6008. *(*TFcValue)(unsafe.Pointer(bp + 672)) = _FcConfigPromote(tls, _FcConfigEvaluate(tls, p, p_pat, kind, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))).Fyy), *(*TFcValue)(unsafe.Pointer(bp)), libc.UintptrFromInt32(0))
  6009. if (*(*TFcValue)(unsafe.Pointer(bp + 624))).Ftype1 == int32(_FcTypeDouble) && (*(*TFcValue)(unsafe.Pointer(bp + 640))).Ftype1 == int32(_FcTypeDouble) && (*(*TFcValue)(unsafe.Pointer(bp + 656))).Ftype1 == int32(_FcTypeDouble) && (*(*TFcValue)(unsafe.Pointer(bp + 672))).Ftype1 == int32(_FcTypeDouble) {
  6010. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fxx = *(*float64)(unsafe.Pointer(bp + 624 + 8))
  6011. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fxy = *(*float64)(unsafe.Pointer(bp + 640 + 8))
  6012. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fyx = *(*float64)(unsafe.Pointer(bp + 656 + 8))
  6013. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fyy = *(*float64)(unsafe.Pointer(bp + 672 + 8))
  6014. *(*uintptr)(unsafe.Pointer(bp + 8)) = bp + 592
  6015. } else {
  6016. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6017. }
  6018. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6019. case int32(_FcOpCharSet):
  6020. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  6021. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  6022. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6023. case int32(_FcOpLangSet):
  6024. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  6025. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  6026. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6027. case int32(_FcOpRange):
  6028. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  6029. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  6030. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6031. case int32(_FcOpBool):
  6032. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  6033. *(*TFcBool)(unsafe.Pointer(bp + 8)) = *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  6034. case int32(_FcOpField):
  6035. if kind == int32(_FcMatchFont) && (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fkind == int32(_FcMatchPattern) {
  6036. if int32(_FcResultMatch) != XFcPatternObjectGet(tls, p_pat, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fobject, 0, bp) {
  6037. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6038. }
  6039. } else {
  6040. if kind == int32(_FcMatchPattern) && (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fkind == int32(_FcMatchFont) {
  6041. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1131, 0)
  6042. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6043. } else {
  6044. if int32(_FcResultMatch) != XFcPatternObjectGet(tls, p, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fobject, 0, bp) {
  6045. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6046. }
  6047. }
  6048. }
  6049. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6050. case int32(_FcOpConst):
  6051. if XIA__FcNameConstant(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)), bp+8) != 0 {
  6052. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  6053. } else {
  6054. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6055. }
  6056. case int32(_FcOpQuest):
  6057. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6058. Fleft uintptr
  6059. Fright uintptr
  6060. })(unsafe.Pointer(e + 8))).Fleft)
  6061. if (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 == int32(_FcTypeBool) {
  6062. if *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) != 0 {
  6063. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6064. Fleft uintptr
  6065. Fright uintptr
  6066. })(unsafe.Pointer((*(*struct {
  6067. Fleft uintptr
  6068. Fright uintptr
  6069. })(unsafe.Pointer(e + 8))).Fright + 8))).Fleft)
  6070. } else {
  6071. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6072. Fleft uintptr
  6073. Fright uintptr
  6074. })(unsafe.Pointer((*(*struct {
  6075. Fleft uintptr
  6076. Fright uintptr
  6077. })(unsafe.Pointer(e + 8))).Fright + 8))).Fright)
  6078. }
  6079. } else {
  6080. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6081. }
  6082. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  6083. case int32(_FcOpEqual):
  6084. fallthrough
  6085. case int32(_FcOpNotEqual):
  6086. fallthrough
  6087. case int32(_FcOpLess):
  6088. fallthrough
  6089. case int32(_FcOpLessEqual):
  6090. fallthrough
  6091. case int32(_FcOpMore):
  6092. fallthrough
  6093. case int32(_FcOpMoreEqual):
  6094. fallthrough
  6095. case int32(_FcOpContains):
  6096. fallthrough
  6097. case int32(_FcOpNotContains):
  6098. fallthrough
  6099. case int32(_FcOpListing):
  6100. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6101. Fleft uintptr
  6102. Fright uintptr
  6103. })(unsafe.Pointer(e + 8))).Fleft)
  6104. *(*TFcValue)(unsafe.Pointer(bp + 32)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6105. Fleft uintptr
  6106. Fright uintptr
  6107. })(unsafe.Pointer(e + 8))).Fright)
  6108. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  6109. *(*TFcBool)(unsafe.Pointer(bp + 8)) = XFcConfigCompareValue(tls, bp+16, libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(e)).Fop), bp+32)
  6110. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  6111. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)))
  6112. case int32(_FcOpOr):
  6113. fallthrough
  6114. case int32(_FcOpAnd):
  6115. fallthrough
  6116. case int32(_FcOpPlus):
  6117. fallthrough
  6118. case int32(_FcOpMinus):
  6119. fallthrough
  6120. case int32(_FcOpTimes):
  6121. fallthrough
  6122. case int32(_FcOpDivide):
  6123. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6124. Fleft uintptr
  6125. Fright uintptr
  6126. })(unsafe.Pointer(e + 8))).Fleft)
  6127. *(*TFcValue)(unsafe.Pointer(bp + 32)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6128. Fleft uintptr
  6129. Fright uintptr
  6130. })(unsafe.Pointer(e + 8))).Fright)
  6131. *(*TFcValue)(unsafe.Pointer(bp + 48)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)), *(*TFcValue)(unsafe.Pointer(bp + 32)), bp+80)
  6132. *(*TFcValue)(unsafe.Pointer(bp + 64)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)), *(*TFcValue)(unsafe.Pointer(bp + 48)), bp+336)
  6133. if (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 == (*(*TFcValue)(unsafe.Pointer(bp + 64))).Ftype1 {
  6134. switch (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 {
  6135. case int32(_FcTypeDouble):
  6136. switch op {
  6137. case int32(_FcOpPlus):
  6138. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  6139. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) + *(*float64)(unsafe.Pointer(bp + 64 + 8))
  6140. case int32(_FcOpMinus):
  6141. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  6142. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) - *(*float64)(unsafe.Pointer(bp + 64 + 8))
  6143. case int32(_FcOpTimes):
  6144. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  6145. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) * *(*float64)(unsafe.Pointer(bp + 64 + 8))
  6146. case int32(_FcOpDivide):
  6147. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  6148. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) / *(*float64)(unsafe.Pointer(bp + 64 + 8))
  6149. default:
  6150. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6151. break
  6152. }
  6153. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeDouble) && *(*float64)(unsafe.Pointer(bp + 8)) == float64(int32(*(*float64)(unsafe.Pointer(bp + 8)))) {
  6154. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  6155. *(*int32)(unsafe.Pointer(bp + 8)) = int32(*(*float64)(unsafe.Pointer(bp + 8)))
  6156. }
  6157. case int32(_FcTypeBool):
  6158. switch op {
  6159. case int32(_FcOpOr):
  6160. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  6161. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 48 + 8)) != 0 || *(*TFcBool)(unsafe.Pointer(bp + 64 + 8)) != 0)
  6162. case int32(_FcOpAnd):
  6163. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  6164. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 48 + 8)) != 0 && *(*TFcBool)(unsafe.Pointer(bp + 64 + 8)) != 0)
  6165. default:
  6166. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6167. break
  6168. }
  6169. case int32(_FcTypeString):
  6170. switch op {
  6171. case int32(_FcOpPlus):
  6172. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  6173. str = XIA__FcStrPlus(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  6174. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, str)
  6175. XIA__FcStrFree(tls, str)
  6176. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  6177. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6178. }
  6179. default:
  6180. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6181. break
  6182. }
  6183. case int32(_FcTypeMatrix):
  6184. switch op {
  6185. case int32(_FcOpTimes):
  6186. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  6187. m = libc.Xmalloc(tls, uint64(32))
  6188. if m != 0 {
  6189. XIA__FcMatrixMultiply(tls, m, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  6190. *(*uintptr)(unsafe.Pointer(bp + 8)) = m
  6191. } else {
  6192. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6193. }
  6194. default:
  6195. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6196. break
  6197. }
  6198. case int32(_FcTypeCharSet):
  6199. switch op {
  6200. case int32(_FcOpPlus):
  6201. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  6202. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcCharSetUnion(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  6203. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  6204. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6205. }
  6206. case int32(_FcOpMinus):
  6207. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  6208. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcCharSetSubtract(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  6209. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  6210. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6211. }
  6212. default:
  6213. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6214. break
  6215. }
  6216. case int32(_FcTypeLangSet):
  6217. switch op {
  6218. case int32(_FcOpPlus):
  6219. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  6220. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcLangSetUnion(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  6221. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  6222. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6223. }
  6224. case int32(_FcOpMinus):
  6225. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  6226. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcLangSetSubtract(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  6227. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  6228. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6229. }
  6230. default:
  6231. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6232. break
  6233. }
  6234. default:
  6235. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6236. break
  6237. }
  6238. } else {
  6239. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6240. }
  6241. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  6242. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)))
  6243. case int32(_FcOpNot):
  6244. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6245. Fleft uintptr
  6246. Fright uintptr
  6247. })(unsafe.Pointer(e + 8))).Fleft)
  6248. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  6249. case int32(_FcTypeBool):
  6250. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  6251. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(!(*(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) != 0))
  6252. default:
  6253. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6254. break
  6255. }
  6256. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  6257. case int32(_FcOpFloor):
  6258. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6259. Fleft uintptr
  6260. Fright uintptr
  6261. })(unsafe.Pointer(e + 8))).Fleft)
  6262. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  6263. case int32(_FcTypeInteger):
  6264. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  6265. case int32(_FcTypeDouble):
  6266. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  6267. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  6268. v1 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  6269. } else {
  6270. if float64(int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))) == -*(*float64)(unsafe.Pointer(bp + 16 + 8)) {
  6271. v2 = int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  6272. } else {
  6273. v2 = int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromInt32(1))
  6274. }
  6275. v1 = -v2
  6276. }
  6277. *(*int32)(unsafe.Pointer(bp + 8)) = v1
  6278. default:
  6279. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6280. break
  6281. }
  6282. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  6283. case int32(_FcOpCeil):
  6284. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6285. Fleft uintptr
  6286. Fright uintptr
  6287. })(unsafe.Pointer(e + 8))).Fleft)
  6288. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  6289. case int32(_FcTypeInteger):
  6290. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  6291. case int32(_FcTypeDouble):
  6292. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  6293. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  6294. if float64(int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))) == *(*float64)(unsafe.Pointer(bp + 16 + 8)) {
  6295. v4 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  6296. } else {
  6297. v4 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromInt32(1))
  6298. }
  6299. v3 = v4
  6300. } else {
  6301. v3 = -int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  6302. }
  6303. *(*int32)(unsafe.Pointer(bp + 8)) = v3
  6304. default:
  6305. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6306. break
  6307. }
  6308. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  6309. case int32(_FcOpRound):
  6310. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6311. Fleft uintptr
  6312. Fright uintptr
  6313. })(unsafe.Pointer(e + 8))).Fleft)
  6314. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  6315. case int32(_FcTypeInteger):
  6316. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  6317. case int32(_FcTypeDouble):
  6318. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  6319. if *(*float64)(unsafe.Pointer(bp + 16 + 8))+float64(0.5) >= libc.Float64FromInt32(0) {
  6320. v5 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5))
  6321. } else {
  6322. if float64(int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)))) == -(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)) {
  6323. v6 = int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)))
  6324. } else {
  6325. v6 = int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)) + libc.Float64FromInt32(1))
  6326. }
  6327. v5 = -v6
  6328. }
  6329. *(*int32)(unsafe.Pointer(bp + 8)) = v5
  6330. default:
  6331. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6332. break
  6333. }
  6334. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  6335. case int32(_FcOpTrunc):
  6336. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6337. Fleft uintptr
  6338. Fright uintptr
  6339. })(unsafe.Pointer(e + 8))).Fleft)
  6340. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  6341. case int32(_FcTypeInteger):
  6342. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  6343. case int32(_FcTypeDouble):
  6344. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  6345. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  6346. v7 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  6347. } else {
  6348. v7 = -int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  6349. }
  6350. *(*int32)(unsafe.Pointer(bp + 8)) = v7
  6351. default:
  6352. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6353. break
  6354. }
  6355. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  6356. default:
  6357. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  6358. break
  6359. }
  6360. return *(*TFcValue)(unsafe.Pointer(bp))
  6361. }
  6362. // C documentation
  6363. //
  6364. // /* The bulk of the time in FcConfigSubstitute is spent walking
  6365. // * lists of family names. We speed this up with a hash table.
  6366. // * Since we need to take the ignore-blanks option into account,
  6367. // * we use two separate hash tables.
  6368. // */
  6369. type TFamilyTableEntry = struct {
  6370. Fcount int32
  6371. }
  6372. type TFamilyTable = struct {
  6373. Ffamily_blank_hash uintptr
  6374. Ffamily_hash uintptr
  6375. }
  6376. func _FamilyTableLookup(tls *libc.TLS, table uintptr, _op TFcOp, s uintptr) (r TFcBool) {
  6377. bp := tls.Alloc(16)
  6378. defer tls.Free(16)
  6379. var flags int32
  6380. var hash uintptr
  6381. var _ /* fe at bp+0 */ uintptr
  6382. _, _ = flags, hash
  6383. flags = libc.Int32FromUint32(libc.Uint32FromInt32(_op) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  6384. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  6385. hash = (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash
  6386. } else {
  6387. hash = (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash
  6388. }
  6389. return XFcHashTableFind(tls, hash, s, bp)
  6390. }
  6391. func _FamilyTableAdd(tls *libc.TLS, table uintptr, values TFcValueListPtr) {
  6392. bp := tls.Alloc(16)
  6393. defer tls.Free(16)
  6394. var ll TFcValueListPtr
  6395. var s, v2, v3 uintptr
  6396. var _ /* fe at bp+0 */ uintptr
  6397. _, _, _, _ = ll, s, v2, v3
  6398. ll = values
  6399. for {
  6400. if !(ll != 0) {
  6401. break
  6402. }
  6403. if int64(*(*uintptr)(unsafe.Pointer(ll + 8 + 8)))&int64(1) != 0 {
  6404. v2 = uintptr(Tintptr_t(ll+8) + int64(*(*uintptr)(unsafe.Pointer(ll + 8 + 8)))&int64(^libc.Int32FromInt32(1)))
  6405. } else {
  6406. v2 = *(*uintptr)(unsafe.Pointer(ll + 8 + 8))
  6407. }
  6408. s = v2
  6409. if !(XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s, bp) != 0) {
  6410. *(*uintptr)(unsafe.Pointer(bp)) = libc.Xmalloc(tls, uint64(4))
  6411. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount = 0
  6412. XFcHashTableAdd(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s, *(*uintptr)(unsafe.Pointer(bp)))
  6413. }
  6414. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount++
  6415. if !(XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s, bp) != 0) {
  6416. *(*uintptr)(unsafe.Pointer(bp)) = libc.Xmalloc(tls, uint64(4))
  6417. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount = 0
  6418. XFcHashTableAdd(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s, *(*uintptr)(unsafe.Pointer(bp)))
  6419. }
  6420. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount++
  6421. goto _1
  6422. _1:
  6423. ;
  6424. if int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(1) != 0 {
  6425. v3 = uintptr(int64(ll) + int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(^libc.Int32FromInt32(1)))
  6426. } else {
  6427. v3 = (*T_FcValueList)(unsafe.Pointer(ll)).Fnext
  6428. }
  6429. ll = v3
  6430. }
  6431. }
  6432. func _FamilyTableDel(tls *libc.TLS, table uintptr, s uintptr) {
  6433. bp := tls.Alloc(16)
  6434. defer tls.Free(16)
  6435. var _ /* fe at bp+0 */ uintptr
  6436. if XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s, bp) != 0 {
  6437. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount--
  6438. if (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount == 0 {
  6439. XFcHashTableRemove(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s)
  6440. }
  6441. }
  6442. if XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s, bp) != 0 {
  6443. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount--
  6444. if (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount == 0 {
  6445. XFcHashTableRemove(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s)
  6446. }
  6447. }
  6448. }
  6449. func _copy_string(tls *libc.TLS, src uintptr, dest uintptr) (r TFcBool) {
  6450. *(*uintptr)(unsafe.Pointer(dest)) = libc.Xstrdup(tls, src)
  6451. return int32(m_FcTrue)
  6452. }
  6453. func _FamilyTableInit(tls *libc.TLS, table uintptr, p uintptr) {
  6454. var e, v1 uintptr
  6455. _, _ = e, v1
  6456. (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash = XFcHashTableCreate(tls, __ccgo_fp(XFcStrHashIgnoreBlanksAndCase), __ccgo_fp(XFcStrCmpIgnoreBlanksAndCase), __ccgo_fp(_copy_string), libc.UintptrFromInt32(0), __ccgo_fp(libc.Xfree), __ccgo_fp(libc.Xfree))
  6457. (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash = XFcHashTableCreate(tls, __ccgo_fp(XFcStrHashIgnoreCase), __ccgo_fp(XIA__FcStrCmpIgnoreCase), __ccgo_fp(_copy_string), libc.UintptrFromInt32(0), __ccgo_fp(libc.Xfree), __ccgo_fp(libc.Xfree))
  6458. e = XFcPatternObjectFindElt(tls, p, int32(_FC_FAMILY_OBJECT))
  6459. if e != 0 {
  6460. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  6461. v1 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  6462. } else {
  6463. v1 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  6464. }
  6465. _FamilyTableAdd(tls, table, v1)
  6466. }
  6467. }
  6468. func _FamilyTableClear(tls *libc.TLS, table uintptr) {
  6469. if (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash != 0 {
  6470. XFcHashTableDestroy(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash)
  6471. }
  6472. if (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash != 0 {
  6473. XFcHashTableDestroy(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash)
  6474. }
  6475. }
  6476. func _FcConfigMatchValueList(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, t uintptr, values uintptr, table uintptr) (r uintptr) {
  6477. bp := tls.Alloc(16)
  6478. defer tls.Free(16)
  6479. var e, ret, v, v1, v2, v4 uintptr
  6480. var op TFcOp
  6481. var _ /* value at bp+0 */ TFcValue
  6482. _, _, _, _, _, _, _ = e, op, ret, v, v1, v2, v4
  6483. ret = uintptr(0)
  6484. e = (*TFcTest)(unsafe.Pointer(t)).Fexpr
  6485. for e != 0 {
  6486. /* Compute the value of the match expression */
  6487. if (*TFcExpr)(unsafe.Pointer(e)).Fop&int32(0xffff) == int32(_FcOpComma) {
  6488. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6489. Fleft uintptr
  6490. Fright uintptr
  6491. })(unsafe.Pointer(e + 8))).Fleft)
  6492. e = (*(*struct {
  6493. Fleft uintptr
  6494. Fright uintptr
  6495. })(unsafe.Pointer(e + 8))).Fright
  6496. } else {
  6497. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, e)
  6498. e = uintptr(0)
  6499. }
  6500. if (*TFcTest)(unsafe.Pointer(t)).Fobject == int32(_FC_FAMILY_OBJECT) && table != 0 {
  6501. op = (*TFcTest)(unsafe.Pointer(t)).Fop & libc.Int32FromInt32(0xffff)
  6502. if op == int32(_FcOpEqual) || op == int32(_FcOpListing) {
  6503. if int64(*(*uintptr)(unsafe.Pointer(bp + 8)))&int64(1) != 0 {
  6504. v1 = uintptr(Tintptr_t(bp) + int64(*(*uintptr)(unsafe.Pointer(bp + 8)))&int64(^libc.Int32FromInt32(1)))
  6505. } else {
  6506. v1 = *(*uintptr)(unsafe.Pointer(bp + 8))
  6507. }
  6508. if !(_FamilyTableLookup(tls, table, (*TFcTest)(unsafe.Pointer(t)).Fop, v1) != 0) {
  6509. ret = uintptr(0)
  6510. goto done
  6511. }
  6512. }
  6513. if op == int32(_FcOpNotEqual) && (*TFcTest)(unsafe.Pointer(t)).Fqual == int32(_FcQualAll) {
  6514. ret = uintptr(0)
  6515. if int64(*(*uintptr)(unsafe.Pointer(bp + 8)))&int64(1) != 0 {
  6516. v2 = uintptr(Tintptr_t(bp) + int64(*(*uintptr)(unsafe.Pointer(bp + 8)))&int64(^libc.Int32FromInt32(1)))
  6517. } else {
  6518. v2 = *(*uintptr)(unsafe.Pointer(bp + 8))
  6519. }
  6520. if !(_FamilyTableLookup(tls, table, (*TFcTest)(unsafe.Pointer(t)).Fop, v2) != 0) {
  6521. ret = values
  6522. }
  6523. goto done
  6524. }
  6525. }
  6526. v = values
  6527. for {
  6528. if !(v != 0) {
  6529. break
  6530. }
  6531. /* Compare the pattern value to the match expression value */
  6532. if XFcConfigCompareValue(tls, v+8, libc.Uint32FromInt32((*TFcTest)(unsafe.Pointer(t)).Fop), bp) != 0 {
  6533. if !(ret != 0) {
  6534. ret = v
  6535. }
  6536. if (*TFcTest)(unsafe.Pointer(t)).Fqual != int32(_FcQualAll) {
  6537. break
  6538. }
  6539. } else {
  6540. if (*TFcTest)(unsafe.Pointer(t)).Fqual == int32(_FcQualAll) {
  6541. ret = uintptr(0)
  6542. break
  6543. }
  6544. }
  6545. goto _3
  6546. _3:
  6547. ;
  6548. if int64((*TFcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  6549. v4 = uintptr(int64(v) + int64((*TFcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  6550. } else {
  6551. v4 = (*TFcValueList)(unsafe.Pointer(v)).Fnext
  6552. }
  6553. v = v4
  6554. }
  6555. goto done
  6556. done:
  6557. ;
  6558. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6559. }
  6560. return ret
  6561. }
  6562. func _FcConfigValues(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, e uintptr, binding TFcValueBinding) (r uintptr) {
  6563. var l, next, v1 uintptr
  6564. _, _, _ = l, next, v1
  6565. if !(e != 0) {
  6566. return uintptr(0)
  6567. }
  6568. l = libc.Xmalloc(tls, uint64(32))
  6569. if !(l != 0) {
  6570. return uintptr(0)
  6571. }
  6572. if (*TFcExpr)(unsafe.Pointer(e)).Fop&int32(0xffff) == int32(_FcOpComma) {
  6573. (*TFcValueList)(unsafe.Pointer(l)).Fvalue = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6574. Fleft uintptr
  6575. Fright uintptr
  6576. })(unsafe.Pointer(e + 8))).Fleft)
  6577. (*TFcValueList)(unsafe.Pointer(l)).Fnext = _FcConfigValues(tls, p, p_pat, kind, (*(*struct {
  6578. Fleft uintptr
  6579. Fright uintptr
  6580. })(unsafe.Pointer(e + 8))).Fright, binding)
  6581. } else {
  6582. (*TFcValueList)(unsafe.Pointer(l)).Fvalue = _FcConfigEvaluate(tls, p, p_pat, kind, e)
  6583. (*TFcValueList)(unsafe.Pointer(l)).Fnext = libc.UintptrFromInt32(0)
  6584. }
  6585. (*TFcValueList)(unsafe.Pointer(l)).Fbinding = binding
  6586. if (*TFcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1 == int32(_FcTypeVoid) {
  6587. if int64((*TFcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  6588. v1 = uintptr(int64(l) + int64((*TFcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  6589. } else {
  6590. v1 = (*TFcValueList)(unsafe.Pointer(l)).Fnext
  6591. }
  6592. next = v1
  6593. libc.Xfree(tls, l)
  6594. l = next
  6595. }
  6596. return l
  6597. }
  6598. func _FcConfigAdd(tls *libc.TLS, head uintptr, position uintptr, append1 TFcBool, new1 uintptr, object TFcObject, table uintptr) (r TFcBool) {
  6599. bp := tls.Alloc(16)
  6600. defer tls.Free(16)
  6601. var l, last, v TFcValueListPtr
  6602. var prev, v2, v4, v7, v8 uintptr
  6603. var sameBinding TFcValueBinding
  6604. _, _, _, _, _, _, _, _, _ = l, last, prev, sameBinding, v, v2, v4, v7, v8
  6605. /*
  6606. * Make sure the stored type is valid for built-in objects
  6607. */
  6608. l = new1
  6609. for {
  6610. if !(l != libc.UintptrFromInt32(0)) {
  6611. break
  6612. }
  6613. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1) != 0) {
  6614. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1212, libc.VaList(bp+8, XFcObjectName(tls, object)))
  6615. XFcValuePrintFile(tls, libc.Xstderr, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  6616. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1274, 0)
  6617. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6618. libc.Xprintf(tls, __ccgo_ts+1276, 0)
  6619. }
  6620. return m_FcFalse
  6621. }
  6622. goto _1
  6623. _1:
  6624. ;
  6625. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  6626. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  6627. } else {
  6628. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  6629. }
  6630. l = v2
  6631. }
  6632. if object == int32(_FC_FAMILY_OBJECT) && table != 0 {
  6633. _FamilyTableAdd(tls, table, new1)
  6634. }
  6635. if position != 0 {
  6636. sameBinding = (*TFcValueList)(unsafe.Pointer(position)).Fbinding
  6637. } else {
  6638. sameBinding = int32(_FcValueBindingWeak)
  6639. }
  6640. v = new1
  6641. for {
  6642. if !(v != libc.UintptrFromInt32(0)) {
  6643. break
  6644. }
  6645. if (*T_FcValueList)(unsafe.Pointer(v)).Fbinding == int32(_FcValueBindingSame) {
  6646. (*T_FcValueList)(unsafe.Pointer(v)).Fbinding = sameBinding
  6647. }
  6648. goto _3
  6649. _3:
  6650. ;
  6651. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  6652. v4 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  6653. } else {
  6654. v4 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  6655. }
  6656. v = v4
  6657. }
  6658. if append1 != 0 {
  6659. if position != 0 {
  6660. prev = position
  6661. } else {
  6662. prev = head
  6663. for {
  6664. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  6665. break
  6666. }
  6667. goto _5
  6668. _5:
  6669. ;
  6670. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  6671. }
  6672. }
  6673. } else {
  6674. if position != 0 {
  6675. prev = head
  6676. for {
  6677. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  6678. break
  6679. }
  6680. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == position {
  6681. break
  6682. }
  6683. goto _6
  6684. _6:
  6685. ;
  6686. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  6687. }
  6688. } else {
  6689. prev = head
  6690. }
  6691. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6692. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == libc.UintptrFromInt32(0) {
  6693. libc.Xprintf(tls, __ccgo_ts+1288, 0)
  6694. }
  6695. }
  6696. }
  6697. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6698. if append1 != 0 {
  6699. v7 = __ccgo_ts + 1310
  6700. } else {
  6701. v7 = __ccgo_ts + 1317
  6702. }
  6703. libc.Xprintf(tls, __ccgo_ts+1325, libc.VaList(bp+8, v7))
  6704. XFcValueListPrintWithPosition(tls, *(*TFcValueListPtr)(unsafe.Pointer(head)), *(*TFcValueListPtr)(unsafe.Pointer(prev)))
  6705. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  6706. }
  6707. if new1 != 0 {
  6708. last = new1
  6709. for (*T_FcValueList)(unsafe.Pointer(last)).Fnext != libc.UintptrFromInt32(0) {
  6710. last = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  6711. }
  6712. (*T_FcValueList)(unsafe.Pointer(last)).Fnext = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  6713. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = new1
  6714. }
  6715. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6716. if append1 != 0 {
  6717. v8 = __ccgo_ts + 1310
  6718. } else {
  6719. v8 = __ccgo_ts + 1317
  6720. }
  6721. libc.Xprintf(tls, __ccgo_ts+1341, libc.VaList(bp+8, v8))
  6722. XFcValueListPrint(tls, *(*TFcValueListPtr)(unsafe.Pointer(head)))
  6723. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  6724. }
  6725. return int32(m_FcTrue)
  6726. }
  6727. func _FcConfigDel(tls *libc.TLS, head uintptr, position uintptr, object TFcObject, table uintptr) {
  6728. var prev, v1 uintptr
  6729. _, _ = prev, v1
  6730. if object == int32(_FC_FAMILY_OBJECT) && table != 0 {
  6731. if int64(*(*uintptr)(unsafe.Pointer(position + 8 + 8)))&int64(1) != 0 {
  6732. v1 = uintptr(Tintptr_t(position+8) + int64(*(*uintptr)(unsafe.Pointer(position + 8 + 8)))&int64(^libc.Int32FromInt32(1)))
  6733. } else {
  6734. v1 = *(*uintptr)(unsafe.Pointer(position + 8 + 8))
  6735. }
  6736. _FamilyTableDel(tls, table, v1)
  6737. }
  6738. prev = head
  6739. for {
  6740. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  6741. break
  6742. }
  6743. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == position {
  6744. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*TFcValueList)(unsafe.Pointer(position)).Fnext
  6745. (*TFcValueList)(unsafe.Pointer(position)).Fnext = libc.UintptrFromInt32(0)
  6746. XFcValueListDestroy(tls, position)
  6747. break
  6748. }
  6749. goto _2
  6750. _2:
  6751. ;
  6752. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  6753. }
  6754. }
  6755. func _FcConfigPatternAdd(tls *libc.TLS, p uintptr, object TFcObject, list uintptr, append1 TFcBool, table uintptr) {
  6756. var e uintptr
  6757. _ = e
  6758. if list != 0 {
  6759. e = XFcPatternObjectInsertElt(tls, p, object)
  6760. if !(e != 0) {
  6761. return
  6762. }
  6763. _FcConfigAdd(tls, e+8, uintptr(0), append1, list, object, table)
  6764. }
  6765. }
  6766. // C documentation
  6767. //
  6768. // /*
  6769. // * Delete all values associated with a field
  6770. // */
  6771. func _FcConfigPatternDel(tls *libc.TLS, p uintptr, object TFcObject, table uintptr) {
  6772. var e uintptr
  6773. _ = e
  6774. e = XFcPatternObjectFindElt(tls, p, object)
  6775. if !(e != 0) {
  6776. return
  6777. }
  6778. for (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != libc.UintptrFromInt32(0) {
  6779. _FcConfigDel(tls, e+8, (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues, object, table)
  6780. }
  6781. }
  6782. func _FcConfigPatternCanon(tls *libc.TLS, p uintptr, object TFcObject) {
  6783. var e uintptr
  6784. _ = e
  6785. e = XFcPatternObjectFindElt(tls, p, object)
  6786. if !(e != 0) {
  6787. return
  6788. }
  6789. if (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues == libc.UintptrFromInt32(0) {
  6790. XFcPatternObjectDel(tls, p, object)
  6791. }
  6792. }
  6793. func XIA__FcConfigSubstituteWithPat(tls *libc.TLS, config uintptr, p uintptr, p_pat uintptr, kind TFcMatchKind) (r1 TFcBool) {
  6794. bp := tls.Alloc(128)
  6795. defer tls.Free(128)
  6796. var b, retval TFcBool
  6797. var e, e1, elt, l, l1, lang, ls, lsund, m, nextValue, prgname, r, rs, s, strs, table, thisValue, tst, value, vl, v1, v4, v5 uintptr
  6798. var i, nobjs int32
  6799. var ll TFcValueListPtr
  6800. var object TFcObject
  6801. var v2 bool
  6802. var _ /* data at bp+64 */ TFamilyTable
  6803. var _ /* iter at bp+16 */ TFcPtrListIter
  6804. var _ /* iter2 at bp+40 */ TFcPtrListIter
  6805. var _ /* v at bp+0 */ TFcValue
  6806. var _ /* v at bp+80 */ TFcValue
  6807. var _ /* vv at bp+96 */ TFcValue
  6808. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = b, e, e1, elt, i, l, l1, lang, ll, ls, lsund, m, nextValue, nobjs, object, prgname, r, retval, rs, s, strs, table, thisValue, tst, value, vl, v1, v2, v4, v5
  6809. value = libc.UintptrFromInt32(0)
  6810. object = int32(_FC_INVALID_OBJECT)
  6811. elt = libc.UintptrFromInt32(0)
  6812. retval = int32(m_FcTrue)
  6813. tst = libc.UintptrFromInt32(0)
  6814. table = bp + 64
  6815. if kind < int32(_FcMatchKindBegin) || kind >= int32(_FcMatchKindEnd) {
  6816. return m_FcFalse
  6817. }
  6818. config = XIA__FcConfigReference(tls, config)
  6819. if !(config != 0) {
  6820. return m_FcFalse
  6821. }
  6822. s = *(*uintptr)(unsafe.Pointer(config + 40 + uintptr(kind)*8))
  6823. if kind == int32(_FcMatchPattern) {
  6824. strs = XIA__FcGetDefaultLangs(tls)
  6825. if strs != 0 {
  6826. l1 = XIA__FcStrListCreate(tls, strs)
  6827. lsund = XIA__FcLangSetCreate(tls)
  6828. XIA__FcLangSetAdd(tls, lsund, __ccgo_ts+1356)
  6829. XIA__FcStrSetDestroy(tls, strs)
  6830. for {
  6831. if v2 = l1 != 0; v2 {
  6832. v1 = XIA__FcStrListNext(tls, l1)
  6833. lang = v1
  6834. }
  6835. if !(v2 && v1 != 0) {
  6836. break
  6837. }
  6838. e1 = XFcPatternObjectFindElt(tls, p, int32(_FC_LANG_OBJECT))
  6839. if e1 != 0 {
  6840. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  6841. v4 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  6842. } else {
  6843. v4 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  6844. }
  6845. ll = v4
  6846. for {
  6847. if !(ll != 0) {
  6848. break
  6849. }
  6850. *(*TFcValue)(unsafe.Pointer(bp + 96)) = TFcValue{}
  6851. *(*T_FcValue)(unsafe.Pointer(bp + 96)) = XFcValueCanonicalize(tls, ll+8)
  6852. if (*(*TFcValue)(unsafe.Pointer(bp + 96))).Ftype1 == int32(_FcTypeLangSet) {
  6853. ls = XIA__FcLangSetCreate(tls)
  6854. XIA__FcLangSetAdd(tls, ls, lang)
  6855. b = XIA__FcLangSetContains(tls, *(*uintptr)(unsafe.Pointer(bp + 96 + 8)), ls)
  6856. XIA__FcLangSetDestroy(tls, ls)
  6857. if b != 0 {
  6858. goto bail_lang
  6859. }
  6860. if XIA__FcLangSetContains(tls, *(*uintptr)(unsafe.Pointer(bp + 96 + 8)), lsund) != 0 {
  6861. goto bail_lang
  6862. }
  6863. } else {
  6864. if XIA__FcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 96 + 8)), lang) == 0 {
  6865. goto bail_lang
  6866. }
  6867. if XIA__FcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 96 + 8)), __ccgo_ts+1356) == 0 {
  6868. goto bail_lang
  6869. }
  6870. }
  6871. goto _3
  6872. _3:
  6873. ;
  6874. if int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(1) != 0 {
  6875. v5 = uintptr(int64(ll) + int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(^libc.Int32FromInt32(1)))
  6876. } else {
  6877. v5 = (*T_FcValueList)(unsafe.Pointer(ll)).Fnext
  6878. }
  6879. ll = v5
  6880. }
  6881. }
  6882. (*(*TFcValue)(unsafe.Pointer(bp + 80))).Ftype1 = int32(_FcTypeString)
  6883. *(*uintptr)(unsafe.Pointer(bp + 80 + 8)) = lang
  6884. XFcPatternObjectAddWithBinding(tls, p, int32(_FC_LANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 80)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  6885. }
  6886. goto bail_lang
  6887. bail_lang:
  6888. ;
  6889. XIA__FcStrListDone(tls, l1)
  6890. XIA__FcLangSetDestroy(tls, lsund)
  6891. }
  6892. if XFcPatternObjectGet(tls, p, int32(_FC_PRGNAME_OBJECT), 0, bp) == int32(_FcResultNoMatch) {
  6893. prgname = XFcGetPrgname(tls)
  6894. if prgname != 0 {
  6895. XFcPatternObjectAddString(tls, p, int32(_FC_PRGNAME_OBJECT), prgname)
  6896. }
  6897. }
  6898. }
  6899. nobjs = int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1) + (*TFcConfig)(unsafe.Pointer(config)).FmaxObjects + int32(2)
  6900. value = libc.Xmalloc(tls, libc.Uint64FromInt32(int32(m_SIZEOF_VOID_P)*nobjs))
  6901. if !(value != 0) {
  6902. retval = m_FcFalse
  6903. goto bail1
  6904. }
  6905. elt = libc.Xmalloc(tls, libc.Uint64FromInt32(int32(m_SIZEOF_VOID_P)*nobjs))
  6906. if !(elt != 0) {
  6907. retval = m_FcFalse
  6908. goto bail1
  6909. }
  6910. tst = libc.Xmalloc(tls, libc.Uint64FromInt32(int32(m_SIZEOF_VOID_P)*nobjs))
  6911. if !(tst != 0) {
  6912. retval = m_FcFalse
  6913. goto bail1
  6914. }
  6915. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6916. libc.Xprintf(tls, __ccgo_ts+1360, 0)
  6917. XIA__FcPatternPrint(tls, p)
  6918. }
  6919. _FamilyTableInit(tls, bp+64, p)
  6920. XFcPtrListIterInit(tls, s, bp+16)
  6921. for {
  6922. if !(XFcPtrListIterIsValid(tls, s, bp+16) != 0) {
  6923. break
  6924. }
  6925. rs = XFcPtrListIterGetValue(tls, s, bp+16)
  6926. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6927. libc.Xprintf(tls, __ccgo_ts+1380, libc.VaList(bp+120, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname))
  6928. }
  6929. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40)
  6930. for {
  6931. if !(XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40) != 0) {
  6932. break
  6933. }
  6934. r = XFcPtrListIterGetValue(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40)
  6935. i = 0
  6936. for {
  6937. if !(i < nobjs) {
  6938. break
  6939. }
  6940. *(*uintptr)(unsafe.Pointer(elt + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  6941. *(*uintptr)(unsafe.Pointer(value + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  6942. *(*uintptr)(unsafe.Pointer(tst + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  6943. goto _8
  6944. _8:
  6945. ;
  6946. i++
  6947. }
  6948. for {
  6949. if !(r != 0) {
  6950. break
  6951. }
  6952. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  6953. case int32(_FcRuleUnknown):
  6954. /* shouldn't be reached */
  6955. case int32(_FcRuleTest):
  6956. object = (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  6957. /*
  6958. * Check the tests to see if
  6959. * they all match the pattern
  6960. */
  6961. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6962. libc.Xprintf(tls, __ccgo_ts+1395, 0)
  6963. XFcTestPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  6964. }
  6965. if kind == int32(_FcMatchFont) && (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind == int32(_FcMatchPattern) {
  6966. m = p_pat
  6967. table = libc.UintptrFromInt32(0)
  6968. } else {
  6969. m = p
  6970. table = bp + 64
  6971. }
  6972. if m != 0 {
  6973. e = XFcPatternObjectFindElt(tls, m, (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject)
  6974. } else {
  6975. e = libc.UintptrFromInt32(0)
  6976. }
  6977. /* different 'kind' won't be the target of edit */
  6978. if !(*(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8)) != 0) && kind == (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind {
  6979. *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8)) = e
  6980. *(*uintptr)(unsafe.Pointer(tst + uintptr(object)*8)) = *(*uintptr)(unsafe.Pointer(r + 16))
  6981. }
  6982. /*
  6983. * If there's no such field in the font,
  6984. * then FcQualAll matches while FcQualAny does not
  6985. */
  6986. if !(e != 0) {
  6987. if (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fqual == int32(_FcQualAll) {
  6988. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = libc.UintptrFromInt32(0)
  6989. goto _9
  6990. } else {
  6991. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6992. libc.Xprintf(tls, __ccgo_ts+1420, 0)
  6993. }
  6994. goto bail
  6995. }
  6996. }
  6997. /*
  6998. * Check to see if there is a match, mark the location
  6999. * to apply match-relative edits
  7000. */
  7001. vl = _FcConfigMatchValueList(tls, m, p_pat, kind, *(*uintptr)(unsafe.Pointer(r + 16)), (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues, table)
  7002. /* different 'kind' won't be the target of edit */
  7003. if !(*(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0) && kind == (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind {
  7004. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = vl
  7005. }
  7006. if !(vl != 0) || (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fqual == int32(_FcQualFirst) && vl != (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues || (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fqual == int32(_FcQualNotFirst) && vl == (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues {
  7007. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7008. libc.Xprintf(tls, __ccgo_ts+1420, 0)
  7009. }
  7010. goto bail
  7011. }
  7012. case int32(_FcRuleEdit):
  7013. object = (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  7014. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7015. libc.Xprintf(tls, __ccgo_ts+1430, 0)
  7016. XFcEditPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  7017. libc.Xprintf(tls, __ccgo_ts+1442, 0)
  7018. }
  7019. /*
  7020. * Evaluate the list of expressions
  7021. */
  7022. l = _FcConfigValues(tls, p, p_pat, kind, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fexpr, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fbinding)
  7023. if *(*uintptr)(unsafe.Pointer(tst + uintptr(object)*8)) != 0 && ((*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(tst + uintptr(object)*8)))).Fkind == int32(_FcMatchFont) || kind == int32(_FcMatchPattern)) {
  7024. *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8)) = XFcPatternObjectFindElt(tls, p, (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(tst + uintptr(object)*8)))).Fobject)
  7025. }
  7026. switch (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fop & libc.Int32FromInt32(0xffff) {
  7027. case int32(_FcOpAssign):
  7028. /*
  7029. * If there was a test, then replace the matched
  7030. * value with the new list of values
  7031. */
  7032. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  7033. thisValue = *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8))
  7034. nextValue = l
  7035. /*
  7036. * Append the new list of values after the current value
  7037. */
  7038. _FcConfigAdd(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, thisValue, int32(m_FcTrue), l, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, table)
  7039. /*
  7040. * Delete the marked value
  7041. */
  7042. if thisValue != 0 {
  7043. _FcConfigDel(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, thisValue, object, table)
  7044. }
  7045. /*
  7046. * Adjust a pointer into the value list to ensure
  7047. * future edits occur at the same place
  7048. */
  7049. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = nextValue
  7050. break
  7051. }
  7052. /* fall through ... */
  7053. fallthrough
  7054. case int32(_FcOpAssignReplace):
  7055. /*
  7056. * Delete all of the values and insert
  7057. * the new set
  7058. */
  7059. _FcConfigPatternDel(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, table)
  7060. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, l, int32(m_FcTrue), table)
  7061. /*
  7062. * Adjust a pointer into the value list as they no
  7063. * longer point to anything valid
  7064. */
  7065. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = libc.UintptrFromInt32(0)
  7066. case int32(_FcOpPrepend):
  7067. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  7068. _FcConfigAdd(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)), m_FcFalse, l, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, table)
  7069. break
  7070. }
  7071. /* fall through ... */
  7072. fallthrough
  7073. case int32(_FcOpPrependFirst):
  7074. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, l, m_FcFalse, table)
  7075. case int32(_FcOpAppend):
  7076. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  7077. _FcConfigAdd(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)), int32(m_FcTrue), l, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, table)
  7078. break
  7079. }
  7080. /* fall through ... */
  7081. fallthrough
  7082. case int32(_FcOpAppendLast):
  7083. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, l, int32(m_FcTrue), table)
  7084. case int32(_FcOpDelete):
  7085. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  7086. _FcConfigDel(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)), object, table)
  7087. XFcValueListDestroy(tls, l)
  7088. break
  7089. }
  7090. /* fall through ... */
  7091. fallthrough
  7092. case int32(_FcOpDeleteAll):
  7093. _FcConfigPatternDel(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, table)
  7094. XFcValueListDestroy(tls, l)
  7095. default:
  7096. XFcValueListDestroy(tls, l)
  7097. break
  7098. }
  7099. /*
  7100. * Now go through the pattern and eliminate
  7101. * any properties without data
  7102. */
  7103. _FcConfigPatternCanon(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject)
  7104. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7105. libc.Xprintf(tls, __ccgo_ts+1445, 0)
  7106. XIA__FcPatternPrint(tls, p)
  7107. }
  7108. break
  7109. }
  7110. goto _9
  7111. _9:
  7112. ;
  7113. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  7114. }
  7115. goto bail
  7116. bail:
  7117. ;
  7118. goto _7
  7119. _7:
  7120. ;
  7121. XFcPtrListIterNext(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40)
  7122. }
  7123. goto _6
  7124. _6:
  7125. ;
  7126. XFcPtrListIterNext(tls, s, bp+16)
  7127. }
  7128. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7129. libc.Xprintf(tls, __ccgo_ts+1469, 0)
  7130. XIA__FcPatternPrint(tls, p)
  7131. }
  7132. goto bail1
  7133. bail1:
  7134. ;
  7135. _FamilyTableClear(tls, bp+64)
  7136. if elt != 0 {
  7137. libc.Xfree(tls, elt)
  7138. }
  7139. if value != 0 {
  7140. libc.Xfree(tls, value)
  7141. }
  7142. if tst != 0 {
  7143. libc.Xfree(tls, tst)
  7144. }
  7145. XIA__FcConfigDestroy(tls, config)
  7146. return retval
  7147. }
  7148. var XFcConfigSubstituteWithPat = XIA__FcConfigSubstituteWithPat
  7149. func XIA__FcConfigSubstitute(tls *libc.TLS, config uintptr, p uintptr, kind TFcMatchKind) (r TFcBool) {
  7150. return XIA__FcConfigSubstituteWithPat(tls, config, p, uintptr(0), kind)
  7151. }
  7152. var XFcConfigSubstitute = XIA__FcConfigSubstitute
  7153. func _FcConfigFileExists(tls *libc.TLS, dir uintptr, file uintptr) (r uintptr) {
  7154. var osize, size int32
  7155. var path uintptr
  7156. _, _, _ = osize, path, size
  7157. if !(dir != 0) {
  7158. dir = __ccgo_ts + 110
  7159. }
  7160. osize = libc.Int32FromUint64(libc.Xstrlen(tls, dir) + uint64(1) + libc.Xstrlen(tls, file) + uint64(1))
  7161. /*
  7162. * workaround valgrind warning because glibc takes advantage of how it knows memory is
  7163. * allocated to implement strlen by reading in groups of 4
  7164. */
  7165. size = (osize + int32(3)) & ^libc.Int32FromInt32(3)
  7166. path = libc.Xmalloc(tls, libc.Uint64FromInt32(size))
  7167. if !(path != 0) {
  7168. return uintptr(0)
  7169. }
  7170. libc.Xstrcpy(tls, path, dir)
  7171. /* make sure there's a single separator */
  7172. if (!(*(*TFcChar8)(unsafe.Pointer(path)) != 0) || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(path + uintptr(libc.Xstrlen(tls, path)-uint64(1))))) != int32('/')) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(file))) != int32('/') {
  7173. libc.Xstrcat(tls, path, __ccgo_ts+1493)
  7174. } else {
  7175. osize--
  7176. }
  7177. libc.Xstrcat(tls, path, file)
  7178. if libc.Xaccess(tls, path, int32(m_R_OK)) == 0 {
  7179. return path
  7180. }
  7181. XIA__FcStrFree(tls, path)
  7182. return uintptr(0)
  7183. }
  7184. func _FcConfigGetPath(tls *libc.TLS) (r uintptr) {
  7185. var colon, dir, e, env, path, v1 uintptr
  7186. var i, npath int32
  7187. _, _, _, _, _, _, _, _ = colon, dir, e, env, i, npath, path, v1
  7188. npath = int32(2) /* default dir + null */
  7189. env = libc.Xgetenv(tls, __ccgo_ts+1495)
  7190. if env != 0 {
  7191. e = env
  7192. npath++
  7193. for *(*TFcChar8)(unsafe.Pointer(e)) != 0 {
  7194. v1 = e
  7195. e++
  7196. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1))) == int32(':') {
  7197. npath++
  7198. }
  7199. }
  7200. }
  7201. path = libc.Xcalloc(tls, libc.Uint64FromInt32(npath), uint64(8))
  7202. if !(path != 0) {
  7203. goto bail0
  7204. }
  7205. i = 0
  7206. if env != 0 {
  7207. e = env
  7208. for *(*TFcChar8)(unsafe.Pointer(e)) != 0 {
  7209. colon = libc.Xstrchr(tls, e, int32(':'))
  7210. if !(colon != 0) {
  7211. colon = e + uintptr(libc.Xstrlen(tls, e))
  7212. }
  7213. *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) = libc.Xmalloc(tls, libc.Uint64FromInt64(int64(colon)-int64(e)+int64(1)))
  7214. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) != 0) {
  7215. goto bail1
  7216. }
  7217. libc.Xstrncpy(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)), e, libc.Uint64FromInt64(int64(colon)-int64(e)))
  7218. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) + uintptr(int64(colon)-int64(e)))) = uint8('\000')
  7219. if *(*TFcChar8)(unsafe.Pointer(colon)) != 0 {
  7220. e = colon + uintptr(1)
  7221. } else {
  7222. e = colon
  7223. }
  7224. i++
  7225. }
  7226. }
  7227. dir = __ccgo_ts + 1511
  7228. *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint64(1))
  7229. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) != 0) {
  7230. goto bail1
  7231. }
  7232. libc.Xstrcpy(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)), dir)
  7233. return path
  7234. goto bail1
  7235. bail1:
  7236. ;
  7237. i = 0
  7238. for {
  7239. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) != 0) {
  7240. break
  7241. }
  7242. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)))
  7243. goto _2
  7244. _2:
  7245. ;
  7246. i++
  7247. }
  7248. libc.Xfree(tls, path)
  7249. goto bail0
  7250. bail0:
  7251. ;
  7252. return uintptr(0)
  7253. return r
  7254. }
  7255. func _FcConfigFreePath(tls *libc.TLS, path uintptr) {
  7256. var p uintptr
  7257. _ = p
  7258. p = path
  7259. for {
  7260. if !(*(*uintptr)(unsafe.Pointer(p)) != 0) {
  7261. break
  7262. }
  7263. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(p)))
  7264. goto _1
  7265. _1:
  7266. ;
  7267. p += 8
  7268. }
  7269. libc.Xfree(tls, path)
  7270. }
  7271. var __FcConfigHomeEnabled = int32(m_FcTrue) /* MT-goodenough */
  7272. func XIA__FcConfigHome(tls *libc.TLS) (r uintptr) {
  7273. var home uintptr
  7274. _ = home
  7275. if __FcConfigHomeEnabled != 0 {
  7276. home = libc.Xgetenv(tls, __ccgo_ts+1522)
  7277. return home
  7278. }
  7279. return uintptr(0)
  7280. }
  7281. var XFcConfigHome = XIA__FcConfigHome
  7282. func XFcConfigXdgCacheHome(tls *libc.TLS) (r uintptr) {
  7283. var env, home, ret uintptr
  7284. var len1 Tsize_t
  7285. var v1 uint64
  7286. _, _, _, _, _ = env, home, len1, ret, v1
  7287. env = libc.Xgetenv(tls, __ccgo_ts+1527)
  7288. ret = libc.UintptrFromInt32(0)
  7289. if !(__FcConfigHomeEnabled != 0) {
  7290. return libc.UintptrFromInt32(0)
  7291. }
  7292. if env != 0 && *(*uint8)(unsafe.Pointer(env)) != 0 {
  7293. ret = XIA__FcStrCopy(tls, env)
  7294. } else {
  7295. home = XIA__FcConfigHome(tls)
  7296. if home != 0 {
  7297. v1 = libc.Xstrlen(tls, home)
  7298. } else {
  7299. v1 = uint64(0)
  7300. }
  7301. len1 = v1
  7302. ret = libc.Xmalloc(tls, len1+uint64(7)+uint64(1))
  7303. if ret != 0 {
  7304. if home != 0 {
  7305. libc.Xmemcpy(tls, ret, home, len1)
  7306. }
  7307. libc.Xmemcpy(tls, ret+uintptr(len1), __ccgo_ts+1542, uint64(7))
  7308. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint64(7)))) = uint8(0)
  7309. }
  7310. }
  7311. return ret
  7312. }
  7313. func XFcConfigXdgConfigHome(tls *libc.TLS) (r uintptr) {
  7314. var env, home, ret uintptr
  7315. var len1 Tsize_t
  7316. var v1 uint64
  7317. _, _, _, _, _ = env, home, len1, ret, v1
  7318. env = libc.Xgetenv(tls, __ccgo_ts+1550)
  7319. ret = libc.UintptrFromInt32(0)
  7320. if !(__FcConfigHomeEnabled != 0) {
  7321. return libc.UintptrFromInt32(0)
  7322. }
  7323. if env != 0 {
  7324. ret = XIA__FcStrCopy(tls, env)
  7325. } else {
  7326. home = XIA__FcConfigHome(tls)
  7327. if home != 0 {
  7328. v1 = libc.Xstrlen(tls, home)
  7329. } else {
  7330. v1 = uint64(0)
  7331. }
  7332. len1 = v1
  7333. ret = libc.Xmalloc(tls, len1+uint64(8)+uint64(1))
  7334. if ret != 0 {
  7335. if home != 0 {
  7336. libc.Xmemcpy(tls, ret, home, len1)
  7337. }
  7338. libc.Xmemcpy(tls, ret+uintptr(len1), __ccgo_ts+1566, uint64(8))
  7339. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint64(8)))) = uint8(0)
  7340. }
  7341. }
  7342. return ret
  7343. }
  7344. func XFcConfigXdgDataHome(tls *libc.TLS) (r uintptr) {
  7345. var env, home, ret uintptr
  7346. var len1 Tsize_t
  7347. var v1 uint64
  7348. _, _, _, _, _ = env, home, len1, ret, v1
  7349. env = libc.Xgetenv(tls, __ccgo_ts+1575)
  7350. ret = libc.UintptrFromInt32(0)
  7351. if !(__FcConfigHomeEnabled != 0) {
  7352. return libc.UintptrFromInt32(0)
  7353. }
  7354. if env != 0 {
  7355. ret = XIA__FcStrCopy(tls, env)
  7356. } else {
  7357. home = XIA__FcConfigHome(tls)
  7358. if home != 0 {
  7359. v1 = libc.Xstrlen(tls, home)
  7360. } else {
  7361. v1 = uint64(0)
  7362. }
  7363. len1 = v1
  7364. ret = libc.Xmalloc(tls, len1+uint64(13)+uint64(1))
  7365. if ret != 0 {
  7366. if home != 0 {
  7367. libc.Xmemcpy(tls, ret, home, len1)
  7368. }
  7369. libc.Xmemcpy(tls, ret+uintptr(len1), __ccgo_ts+1589, uint64(13))
  7370. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint64(13)))) = uint8(0)
  7371. }
  7372. }
  7373. return ret
  7374. }
  7375. func XFcConfigXdgDataDirs(tls *libc.TLS) (r uintptr) {
  7376. var e, ee, env, p, ret, s, v1 uintptr
  7377. var len1 Tsize_t
  7378. _, _, _, _, _, _, _, _ = e, ee, env, len1, p, ret, s, v1
  7379. env = libc.Xgetenv(tls, __ccgo_ts+1603)
  7380. ret = XIA__FcStrSetCreate(tls)
  7381. if env != 0 {
  7382. v1 = XIA__FcStrCopy(tls, env)
  7383. ee = v1
  7384. e = v1
  7385. /* We don't intentionally use FC_SEARCH_PATH_SEPARATOR here because of:
  7386. * The directories in $XDG_DATA_DIRS should be seperated with a colon ':'.
  7387. * in doc.
  7388. */
  7389. for e != 0 {
  7390. p = libc.Xstrchr(tls, e, int32(':'))
  7391. if !(p != 0) {
  7392. s = XIA__FcStrCopy(tls, e)
  7393. e = libc.UintptrFromInt32(0)
  7394. } else {
  7395. *(*TFcChar8)(unsafe.Pointer(p)) = uint8(0)
  7396. s = XIA__FcStrCopy(tls, e)
  7397. e = p + uintptr(1)
  7398. }
  7399. len1 = libc.Xstrlen(tls, s)
  7400. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1-uint64(1))))) == int32('/') {
  7401. for cond := true; cond; cond = len1 > uint64(1) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1-uint64(1))))) == int32('/') {
  7402. len1--
  7403. }
  7404. *(*TFcChar8)(unsafe.Pointer(s + uintptr(len1))) = uint8(0)
  7405. }
  7406. XIA__FcStrSetAdd(tls, ret, s)
  7407. XIA__FcStrFree(tls, s)
  7408. }
  7409. XIA__FcStrFree(tls, ee)
  7410. } else {
  7411. /* From spec doc at https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables
  7412. *
  7413. * If $XDG_DATA_DIRS is either not set or empty, a value equal to /usr/local/share/:/usr/share/ should be used.
  7414. */
  7415. XIA__FcStrSetAdd(tls, ret, __ccgo_ts+1617)
  7416. XIA__FcStrSetAdd(tls, ret, __ccgo_ts+1634)
  7417. }
  7418. return ret
  7419. }
  7420. func XIA__FcConfigEnableHome(tls *libc.TLS, enable TFcBool) (r TFcBool) {
  7421. var prev TFcBool
  7422. _ = prev
  7423. prev = __FcConfigHomeEnabled
  7424. __FcConfigHomeEnabled = enable
  7425. return prev
  7426. }
  7427. var XFcConfigEnableHome = XIA__FcConfigEnableHome
  7428. func XIA__FcConfigGetFilename(tls *libc.TLS, config uintptr, url uintptr) (r uintptr) {
  7429. bp := tls.Alloc(32)
  7430. defer tls.Free(32)
  7431. var dir, file, p, path, s, s1, sysroot uintptr
  7432. var len1 Tsize_t
  7433. _, _, _, _, _, _, _, _ = dir, file, len1, p, path, s, s1, sysroot
  7434. config = XIA__FcConfigReference(tls, config)
  7435. if !(config != 0) {
  7436. return libc.UintptrFromInt32(0)
  7437. }
  7438. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  7439. if !(url != 0) || !(*(*TFcChar8)(unsafe.Pointer(url)) != 0) {
  7440. url = libc.Xgetenv(tls, __ccgo_ts+1645)
  7441. if !(url != 0) {
  7442. url = __ccgo_ts + 1661
  7443. }
  7444. }
  7445. file = uintptr(0)
  7446. if XFcStrIsAbsoluteFilename(tls, url) != 0 {
  7447. if sysroot != 0 {
  7448. len1 = libc.Xstrlen(tls, sysroot)
  7449. /* Workaround to avoid adding sysroot repeatedly */
  7450. if libc.Xstrncmp(tls, url, sysroot, len1) == 0 {
  7451. sysroot = libc.UintptrFromInt32(0)
  7452. }
  7453. }
  7454. file = _FcConfigFileExists(tls, sysroot, url)
  7455. goto bail
  7456. }
  7457. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(url))) == int32('~') {
  7458. dir = XIA__FcConfigHome(tls)
  7459. if dir != 0 {
  7460. if sysroot != 0 {
  7461. s = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, dir, libc.UintptrFromInt32(0)))
  7462. } else {
  7463. s = dir
  7464. }
  7465. file = _FcConfigFileExists(tls, s, url+uintptr(1))
  7466. if sysroot != 0 {
  7467. XIA__FcStrFree(tls, s)
  7468. }
  7469. } else {
  7470. file = uintptr(0)
  7471. }
  7472. } else {
  7473. path = _FcConfigGetPath(tls)
  7474. if !(path != 0) {
  7475. file = libc.UintptrFromInt32(0)
  7476. goto bail
  7477. }
  7478. p = path
  7479. for {
  7480. if !(*(*uintptr)(unsafe.Pointer(p)) != 0) {
  7481. break
  7482. }
  7483. if sysroot != 0 {
  7484. s1 = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(p)), libc.UintptrFromInt32(0)))
  7485. } else {
  7486. s1 = *(*uintptr)(unsafe.Pointer(p))
  7487. }
  7488. file = _FcConfigFileExists(tls, s1, url)
  7489. if sysroot != 0 {
  7490. XIA__FcStrFree(tls, s1)
  7491. }
  7492. if file != 0 {
  7493. break
  7494. }
  7495. goto _1
  7496. _1:
  7497. ;
  7498. p += 8
  7499. }
  7500. _FcConfigFreePath(tls, path)
  7501. }
  7502. goto bail
  7503. bail:
  7504. ;
  7505. XIA__FcConfigDestroy(tls, config)
  7506. return file
  7507. }
  7508. var XFcConfigGetFilename = XIA__FcConfigGetFilename
  7509. func XIA__FcConfigFilename(tls *libc.TLS, url uintptr) (r uintptr) {
  7510. return XIA__FcConfigGetFilename(tls, libc.UintptrFromInt32(0), url)
  7511. }
  7512. var XFcConfigFilename = XIA__FcConfigFilename
  7513. func XFcConfigRealFilename(tls *libc.TLS, config uintptr, url uintptr) (r uintptr) {
  7514. bp := tls.Alloc(4256)
  7515. defer tls.Free(4256)
  7516. var dirname, n, path uintptr
  7517. var len1, v1 Tssize_t
  7518. var _ /* buf at bp+0 */ [4096]TFcChar8
  7519. var _ /* sb at bp+4096 */ Tstat
  7520. _, _, _, _, _ = dirname, len1, n, path, v1
  7521. n = XIA__FcConfigGetFilename(tls, config, url)
  7522. if n != 0 {
  7523. v1 = XFcReadLink(tls, n, bp, libc.Uint64FromInt64(4096)-libc.Uint64FromInt32(1))
  7524. len1 = v1
  7525. if v1 != int64(-int32(1)) {
  7526. (*(*[4096]TFcChar8)(unsafe.Pointer(bp)))[len1] = uint8(0)
  7527. /* We try to pick up a config from FONTCONFIG_FILE
  7528. * when url is null. don't try to address the real filename
  7529. * if it is a named pipe.
  7530. */
  7531. if !(url != 0) && XFcStat(tls, n, bp+4096) == 0 && (*(*Tstat)(unsafe.Pointer(bp + 4096))).Fst_mode&uint32(m_S_IFMT1) == uint32(m_S_IFIFO1) {
  7532. return n
  7533. } else {
  7534. if !(XFcStrIsAbsoluteFilename(tls, bp) != 0) {
  7535. dirname = XIA__FcStrDirname(tls, n)
  7536. XIA__FcStrFree(tls, n)
  7537. if !(dirname != 0) {
  7538. return libc.UintptrFromInt32(0)
  7539. }
  7540. path = XIA__FcStrBuildFilename(tls, dirname, libc.VaList(bp+4232, bp, libc.UintptrFromInt32(0)))
  7541. XIA__FcStrFree(tls, dirname)
  7542. if !(path != 0) {
  7543. return libc.UintptrFromInt32(0)
  7544. }
  7545. n = XFcStrCanonFilename(tls, path)
  7546. XIA__FcStrFree(tls, path)
  7547. } else {
  7548. XIA__FcStrFree(tls, n)
  7549. n = libc.Xstrdup(tls, bp)
  7550. }
  7551. }
  7552. }
  7553. }
  7554. return n
  7555. }
  7556. /*
  7557. * Manage the application-specific fonts
  7558. */
  7559. func XIA__FcConfigAppFontAddFile(tls *libc.TLS, config uintptr, file uintptr) (r TFcBool) {
  7560. var ret TFcBool
  7561. var set, subdir, subdirs, sublist, v1, v2 uintptr
  7562. _, _, _, _, _, _, _ = ret, set, subdir, subdirs, sublist, v1, v2
  7563. ret = int32(m_FcTrue)
  7564. config = XIA__FcConfigReference(tls, config)
  7565. if !(config != 0) {
  7566. return m_FcFalse
  7567. }
  7568. subdirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  7569. if !(subdirs != 0) {
  7570. ret = m_FcFalse
  7571. goto bail
  7572. }
  7573. set = XIA__FcConfigGetFonts(tls, config, int32(_FcSetApplication))
  7574. if !(set != 0) {
  7575. set = XIA__FcFontSetCreate(tls)
  7576. if !(set != 0) {
  7577. XIA__FcStrSetDestroy(tls, subdirs)
  7578. ret = m_FcFalse
  7579. goto bail
  7580. }
  7581. XFcConfigSetFonts(tls, config, set, int32(_FcSetApplication))
  7582. }
  7583. if !(XFcFileScanConfig(tls, set, subdirs, file, config) != 0) {
  7584. XIA__FcStrSetDestroy(tls, subdirs)
  7585. ret = m_FcFalse
  7586. goto bail
  7587. }
  7588. v1 = XIA__FcStrListCreate(tls, subdirs)
  7589. sublist = v1
  7590. if v1 != 0 {
  7591. for {
  7592. v2 = XIA__FcStrListNext(tls, sublist)
  7593. subdir = v2
  7594. if !(v2 != 0) {
  7595. break
  7596. }
  7597. XIA__FcConfigAppFontAddDir(tls, config, subdir)
  7598. }
  7599. XIA__FcStrListDone(tls, sublist)
  7600. }
  7601. XIA__FcStrSetDestroy(tls, subdirs)
  7602. goto bail
  7603. bail:
  7604. ;
  7605. XIA__FcConfigDestroy(tls, config)
  7606. return ret
  7607. }
  7608. var XFcConfigAppFontAddFile = XIA__FcConfigAppFontAddFile
  7609. func XIA__FcConfigAppFontAddDir(tls *libc.TLS, config uintptr, dir uintptr) (r TFcBool) {
  7610. var dirs, set uintptr
  7611. var ret TFcBool
  7612. _, _, _ = dirs, ret, set
  7613. ret = int32(m_FcTrue)
  7614. config = XIA__FcConfigReference(tls, config)
  7615. if !(config != 0) {
  7616. return m_FcFalse
  7617. }
  7618. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  7619. if !(dirs != 0) {
  7620. ret = m_FcFalse
  7621. goto bail
  7622. }
  7623. set = XIA__FcConfigGetFonts(tls, config, int32(_FcSetApplication))
  7624. if !(set != 0) {
  7625. set = XIA__FcFontSetCreate(tls)
  7626. if !(set != 0) {
  7627. XIA__FcStrSetDestroy(tls, dirs)
  7628. ret = m_FcFalse
  7629. goto bail
  7630. }
  7631. XFcConfigSetFonts(tls, config, set, int32(_FcSetApplication))
  7632. }
  7633. XIA__FcStrSetAddFilename(tls, dirs, dir)
  7634. if !(_FcConfigAddDirList(tls, config, int32(_FcSetApplication), dirs) != 0) {
  7635. XIA__FcStrSetDestroy(tls, dirs)
  7636. ret = m_FcFalse
  7637. goto bail
  7638. }
  7639. XIA__FcStrSetDestroy(tls, dirs)
  7640. goto bail
  7641. bail:
  7642. ;
  7643. XIA__FcConfigDestroy(tls, config)
  7644. return ret
  7645. }
  7646. var XFcConfigAppFontAddDir = XIA__FcConfigAppFontAddDir
  7647. func XIA__FcConfigAppFontClear(tls *libc.TLS, config uintptr) {
  7648. config = XIA__FcConfigReference(tls, config)
  7649. if !(config != 0) {
  7650. return
  7651. }
  7652. XFcConfigSetFonts(tls, config, uintptr(0), int32(_FcSetApplication))
  7653. XIA__FcConfigDestroy(tls, config)
  7654. }
  7655. var XFcConfigAppFontClear = XIA__FcConfigAppFontClear
  7656. /*
  7657. * Manage filename-based font source selectors
  7658. */
  7659. func XFcConfigGlobAdd(tls *libc.TLS, config uintptr, glob uintptr, accept TFcBool) (r TFcBool) {
  7660. var set, v1 uintptr
  7661. _, _ = set, v1
  7662. if accept != 0 {
  7663. v1 = (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs
  7664. } else {
  7665. v1 = (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs
  7666. }
  7667. set = v1
  7668. return XIA__FcStrSetAdd(tls, set, glob)
  7669. }
  7670. func _FcConfigGlobsMatch(tls *libc.TLS, globs uintptr, string1 uintptr) (r TFcBool) {
  7671. var i int32
  7672. _ = i
  7673. i = 0
  7674. for {
  7675. if !(i < (*TFcStrSet)(unsafe.Pointer(globs)).Fnum) {
  7676. break
  7677. }
  7678. if XFcStrGlobMatch(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(globs)).Fstrs + uintptr(i)*8)), string1) != 0 {
  7679. return int32(m_FcTrue)
  7680. }
  7681. goto _1
  7682. _1:
  7683. ;
  7684. i++
  7685. }
  7686. return m_FcFalse
  7687. }
  7688. func XFcConfigAcceptFilename(tls *libc.TLS, config uintptr, filename uintptr) (r TFcBool) {
  7689. if _FcConfigGlobsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs, filename) != 0 {
  7690. return int32(m_FcTrue)
  7691. }
  7692. if _FcConfigGlobsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs, filename) != 0 {
  7693. return m_FcFalse
  7694. }
  7695. return int32(m_FcTrue)
  7696. }
  7697. /*
  7698. * Manage font-pattern based font source selectors
  7699. */
  7700. func XFcConfigPatternsAdd(tls *libc.TLS, config uintptr, pattern uintptr, accept TFcBool) (r TFcBool) {
  7701. var set, v1 uintptr
  7702. _, _ = set, v1
  7703. if accept != 0 {
  7704. v1 = (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns
  7705. } else {
  7706. v1 = (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns
  7707. }
  7708. set = v1
  7709. return XIA__FcFontSetAdd(tls, set, pattern)
  7710. }
  7711. func _FcConfigPatternsMatch(tls *libc.TLS, patterns uintptr, font uintptr) (r TFcBool) {
  7712. var i int32
  7713. _ = i
  7714. i = 0
  7715. for {
  7716. if !(i < (*TFcFontSet)(unsafe.Pointer(patterns)).Fnfont) {
  7717. break
  7718. }
  7719. if XFcListPatternMatchAny(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(patterns)).Ffonts + uintptr(i)*8)), font) != 0 {
  7720. return int32(m_FcTrue)
  7721. }
  7722. goto _1
  7723. _1:
  7724. ;
  7725. i++
  7726. }
  7727. return m_FcFalse
  7728. }
  7729. func XFcConfigAcceptFont(tls *libc.TLS, config uintptr, font uintptr) (r TFcBool) {
  7730. if _FcConfigPatternsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns, font) != 0 {
  7731. return int32(m_FcTrue)
  7732. }
  7733. if _FcConfigPatternsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns, font) != 0 {
  7734. return m_FcFalse
  7735. }
  7736. return int32(m_FcTrue)
  7737. }
  7738. func XIA__FcConfigGetSysRoot(tls *libc.TLS, config uintptr) (r uintptr) {
  7739. if !(config != 0) {
  7740. config = XIA__FcConfigGetCurrent(tls)
  7741. if !(config != 0) {
  7742. return libc.UintptrFromInt32(0)
  7743. }
  7744. }
  7745. return (*TFcConfig)(unsafe.Pointer(config)).FsysRoot
  7746. }
  7747. var XFcConfigGetSysRoot = XIA__FcConfigGetSysRoot
  7748. func XIA__FcConfigSetSysRoot(tls *libc.TLS, config uintptr, sysroot uintptr) {
  7749. var init1 TFcBool
  7750. var nretry, v1 int32
  7751. var s uintptr
  7752. _, _, _, _ = init1, nretry, s, v1
  7753. s = libc.UintptrFromInt32(0)
  7754. init1 = m_FcFalse
  7755. nretry = int32(3)
  7756. goto retry
  7757. retry:
  7758. ;
  7759. if !(config != 0) {
  7760. /* We can't use FcConfigGetCurrent() here to ensure
  7761. * the sysroot is set prior to initialize FcConfig,
  7762. * to avoid loading caches from non-sysroot dirs.
  7763. * So postpone the initialization later.
  7764. */
  7765. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  7766. if !(config != 0) {
  7767. config = XIA__FcConfigCreate(tls)
  7768. if !(config != 0) {
  7769. return
  7770. }
  7771. init1 = int32(m_FcTrue)
  7772. }
  7773. }
  7774. if sysroot != 0 {
  7775. s = XFcStrRealPath(tls, sysroot)
  7776. if !(s != 0) {
  7777. return
  7778. }
  7779. }
  7780. if (*TFcConfig)(unsafe.Pointer(config)).FsysRoot != 0 {
  7781. XIA__FcStrFree(tls, (*TFcConfig)(unsafe.Pointer(config)).FsysRoot)
  7782. }
  7783. (*TFcConfig)(unsafe.Pointer(config)).FsysRoot = s
  7784. if init1 != 0 {
  7785. config = XFcInitLoadOwnConfigAndFonts(tls, config)
  7786. if !(config != 0) {
  7787. /* Something failed. this is usually unlikely. so retrying */
  7788. init1 = m_FcFalse
  7789. nretry--
  7790. v1 = nretry
  7791. if v1 == 0 {
  7792. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1672, 0)
  7793. return
  7794. }
  7795. goto retry
  7796. }
  7797. XIA__FcConfigSetCurrent(tls, config)
  7798. /* FcConfigSetCurrent() increases the refcount.
  7799. * decrease it here to avoid the memory leak.
  7800. */
  7801. XIA__FcConfigDestroy(tls, config)
  7802. }
  7803. }
  7804. var XFcConfigSetSysRoot = XIA__FcConfigSetSysRoot
  7805. func XFcRuleSetCreate(tls *libc.TLS, name uintptr) (r uintptr) {
  7806. var k TFcMatchKind
  7807. var p, ret uintptr
  7808. _, _, _ = k, p, ret
  7809. ret = libc.Xmalloc(tls, uint64(64))
  7810. if !(name != 0) {
  7811. p = __ccgo_ts + 110
  7812. } else {
  7813. p = name
  7814. }
  7815. if ret != 0 {
  7816. (*TFcRuleSet)(unsafe.Pointer(ret)).Fname = libc.Xstrdup(tls, p)
  7817. (*TFcRuleSet)(unsafe.Pointer(ret)).Fdescription = libc.UintptrFromInt32(0)
  7818. (*TFcRuleSet)(unsafe.Pointer(ret)).Fdomain = libc.UintptrFromInt32(0)
  7819. k = int32(_FcMatchKindBegin)
  7820. for {
  7821. if !(k < int32(_FcMatchKindEnd)) {
  7822. break
  7823. }
  7824. *(*uintptr)(unsafe.Pointer(ret + 40 + uintptr(k)*8)) = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRule))
  7825. goto _1
  7826. _1:
  7827. ;
  7828. k++
  7829. }
  7830. (*TFcRef)(unsafe.Pointer(ret)).Fcount = int32(1)
  7831. }
  7832. return ret
  7833. }
  7834. func XFcRuleSetDestroy(tls *libc.TLS, rs uintptr) {
  7835. var k TFcMatchKind
  7836. var v1 int32
  7837. var p3 uintptr
  7838. _, _, _ = k, v1, p3
  7839. if !(rs != 0) {
  7840. return
  7841. }
  7842. p3 = rs
  7843. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  7844. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  7845. goto _2
  7846. _2:
  7847. if v1 != int32(1) {
  7848. return
  7849. }
  7850. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fname != 0 {
  7851. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname)
  7852. }
  7853. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription != 0 {
  7854. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription)
  7855. }
  7856. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain != 0 {
  7857. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain)
  7858. }
  7859. k = int32(_FcMatchKindBegin)
  7860. for {
  7861. if !(k < int32(_FcMatchKindEnd)) {
  7862. break
  7863. }
  7864. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(k)*8)))
  7865. goto _4
  7866. _4:
  7867. ;
  7868. k++
  7869. }
  7870. libc.Xfree(tls, rs)
  7871. }
  7872. func XFcRuleSetReference(tls *libc.TLS, rs uintptr) {
  7873. var v1 TFcBool
  7874. var p4 uintptr
  7875. _, _ = v1, p4
  7876. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(rs)).Fcount == -libc.Int32FromInt32(1))
  7877. goto _2
  7878. _2:
  7879. if !(v1 != 0) {
  7880. p4 = rs
  7881. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  7882. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  7883. goto _3
  7884. _3:
  7885. }
  7886. }
  7887. func XFcRuleSetEnable(tls *libc.TLS, rs uintptr, flag TFcBool) {
  7888. if rs != 0 {
  7889. (*TFcRuleSet)(unsafe.Pointer(rs)).Fenabled = flag
  7890. /* XXX: we may want to provide a feature
  7891. * to enable/disable rulesets through API
  7892. * in the future?
  7893. */
  7894. }
  7895. }
  7896. func XFcRuleSetAddDescription(tls *libc.TLS, rs uintptr, domain uintptr, description uintptr) {
  7897. var v1, v2 uintptr
  7898. _, _ = v1, v2
  7899. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain != 0 {
  7900. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain)
  7901. }
  7902. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription != 0 {
  7903. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription)
  7904. }
  7905. if domain != 0 {
  7906. v1 = libc.Xstrdup(tls, domain)
  7907. } else {
  7908. v1 = libc.UintptrFromInt32(0)
  7909. }
  7910. (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain = v1
  7911. if description != 0 {
  7912. v2 = libc.Xstrdup(tls, description)
  7913. } else {
  7914. v2 = libc.UintptrFromInt32(0)
  7915. }
  7916. (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription = v2
  7917. }
  7918. func XFcRuleSetAdd(tls *libc.TLS, rs uintptr, rule uintptr, kind TFcMatchKind) (r1 int32) {
  7919. bp := tls.Alloc(48)
  7920. defer tls.Free(48)
  7921. var n, ret, v2 int32
  7922. var r uintptr
  7923. var _ /* iter at bp+0 */ TFcPtrListIter
  7924. _, _, _, _ = n, r, ret, v2
  7925. n = 0
  7926. if !(rs != 0) || kind < int32(_FcMatchKindBegin) || kind >= int32(_FcMatchKindEnd) {
  7927. return -int32(1)
  7928. }
  7929. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp)
  7930. if !(XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp, rule) != 0) {
  7931. return -int32(1)
  7932. }
  7933. r = rule
  7934. for {
  7935. if !(r != 0) {
  7936. break
  7937. }
  7938. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  7939. case int32(_FcRuleTest):
  7940. if *(*uintptr)(unsafe.Pointer(r + 16)) != 0 {
  7941. if (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind == -libc.Int32FromInt32(1) {
  7942. (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind = kind
  7943. }
  7944. if n < (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject {
  7945. n = (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject
  7946. }
  7947. }
  7948. case int32(_FcRuleEdit):
  7949. if n < (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject {
  7950. n = (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject
  7951. }
  7952. default:
  7953. break
  7954. }
  7955. goto _1
  7956. _1:
  7957. ;
  7958. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  7959. }
  7960. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7961. libc.Xprintf(tls, __ccgo_ts+1795, libc.VaList(bp+32, kind, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname))
  7962. XFcRulePrint(tls, rule)
  7963. }
  7964. ret = n & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX) - (int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1))
  7965. if ret < 0 {
  7966. v2 = 0
  7967. } else {
  7968. v2 = ret
  7969. }
  7970. return v2
  7971. }
  7972. func XIA__FcConfigFileInfoIterInit(tls *libc.TLS, config uintptr, iter uintptr) {
  7973. var c, i uintptr
  7974. _, _ = c, i
  7975. i = iter
  7976. if !(config != 0) {
  7977. c = XIA__FcConfigGetCurrent(tls)
  7978. } else {
  7979. c = config
  7980. }
  7981. XFcPtrListIterInit(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  7982. }
  7983. var XFcConfigFileInfoIterInit = XIA__FcConfigFileInfoIterInit
  7984. func XIA__FcConfigFileInfoIterNext(tls *libc.TLS, config uintptr, iter uintptr) (r TFcBool) {
  7985. var c, i uintptr
  7986. _, _ = c, i
  7987. i = iter
  7988. if !(config != 0) {
  7989. c = XIA__FcConfigGetCurrent(tls)
  7990. } else {
  7991. c = config
  7992. }
  7993. if XFcPtrListIterIsValid(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i) != 0 {
  7994. XFcPtrListIterNext(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  7995. } else {
  7996. return m_FcFalse
  7997. }
  7998. return int32(m_FcTrue)
  7999. }
  8000. var XFcConfigFileInfoIterNext = XIA__FcConfigFileInfoIterNext
  8001. func XIA__FcConfigFileInfoIterGet(tls *libc.TLS, config uintptr, iter uintptr, name uintptr, description uintptr, enabled uintptr) (r1 TFcBool) {
  8002. var c, i, r, v1, v2, v3 uintptr
  8003. _, _, _, _, _, _ = c, i, r, v1, v2, v3
  8004. i = iter
  8005. if !(config != 0) {
  8006. c = XIA__FcConfigGetCurrent(tls)
  8007. } else {
  8008. c = config
  8009. }
  8010. if !(XFcPtrListIterIsValid(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i) != 0) {
  8011. return m_FcFalse
  8012. }
  8013. r = XFcPtrListIterGetValue(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  8014. if name != 0 {
  8015. if (*TFcRuleSet)(unsafe.Pointer(r)).Fname != 0 && *(*TFcChar8)(unsafe.Pointer((*TFcRuleSet)(unsafe.Pointer(r)).Fname)) != 0 {
  8016. v1 = (*TFcRuleSet)(unsafe.Pointer(r)).Fname
  8017. } else {
  8018. v1 = __ccgo_ts + 1661
  8019. }
  8020. *(*uintptr)(unsafe.Pointer(name)) = libc.Xstrdup(tls, v1)
  8021. }
  8022. if description != 0 {
  8023. if !((*TFcRuleSet)(unsafe.Pointer(r)).Fdescription != 0) {
  8024. v2 = libc.Xdgettext(tls, __ccgo_ts+1824, __ccgo_ts+1835)
  8025. } else {
  8026. if (*TFcRuleSet)(unsafe.Pointer(r)).Fdomain != 0 {
  8027. v3 = (*TFcRuleSet)(unsafe.Pointer(r)).Fdomain
  8028. } else {
  8029. v3 = __ccgo_ts + 1850
  8030. }
  8031. v2 = libc.Xdgettext(tls, v3, (*TFcRuleSet)(unsafe.Pointer(r)).Fdescription)
  8032. }
  8033. *(*uintptr)(unsafe.Pointer(description)) = libc.Xstrdup(tls, v2)
  8034. }
  8035. if enabled != 0 {
  8036. *(*TFcBool)(unsafe.Pointer(enabled)) = (*TFcRuleSet)(unsafe.Pointer(r)).Fenabled
  8037. }
  8038. return int32(m_FcTrue)
  8039. }
  8040. var XFcConfigFileInfoIterGet = XIA__FcConfigFileInfoIterGet
  8041. const m_FC_CHAR_LEAF_HASH_SIZE = 257
  8042. const m_FC_CHAR_SET_HASH_SIZE = 67
  8043. const m_FC_DIR_SEPARATOR2 = '/'
  8044. const m_FC_DIR_SEPARATOR_S2 = "/"
  8045. const m_FC_SEARCH_PATH_SEPARATOR2 = ':'
  8046. const m_S_IFIFO2 = 0010000
  8047. const m_S_IFMT2 = 0170000
  8048. type TFcCharSetFreezer = struct {
  8049. Fleaf_hash_table [257]uintptr
  8050. Fleaf_blocks uintptr
  8051. Fleaf_block_count int32
  8052. Fset_hash_table [67]uintptr
  8053. Forig_hash_table [67]uintptr
  8054. Fcurrent_block uintptr
  8055. Fleaf_remain int32
  8056. Fleaves_seen int32
  8057. Fcharsets_seen int32
  8058. Fleaves_allocated int32
  8059. Fcharsets_allocated int32
  8060. }
  8061. type T_FcCharSetFreezer = TFcCharSetFreezer
  8062. /* #define CHECK */
  8063. func XIA__FcCharSetCreate(tls *libc.TLS) (r uintptr) {
  8064. var fcs uintptr
  8065. _ = fcs
  8066. fcs = libc.Xmalloc(tls, uint64(24))
  8067. if !(fcs != 0) {
  8068. return uintptr(0)
  8069. }
  8070. (*TFcRef)(unsafe.Pointer(fcs)).Fcount = int32(1)
  8071. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum = 0
  8072. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = 0
  8073. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = 0
  8074. return fcs
  8075. }
  8076. var XFcCharSetCreate = XIA__FcCharSetCreate
  8077. func XFcCharSetPromote(tls *libc.TLS, vbuf uintptr) (r uintptr) {
  8078. var fcs uintptr
  8079. _ = fcs
  8080. fcs = vbuf
  8081. (*TFcRef)(unsafe.Pointer(fcs)).Fcount = -libc.Int32FromInt32(1)
  8082. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum = 0
  8083. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = 0
  8084. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = 0
  8085. return fcs
  8086. }
  8087. func XIA__FcCharSetNew(tls *libc.TLS) (r uintptr) {
  8088. return XIA__FcCharSetCreate(tls)
  8089. }
  8090. var XFcCharSetNew = XIA__FcCharSetNew
  8091. func XIA__FcCharSetDestroy(tls *libc.TLS, fcs uintptr) {
  8092. var i, v3 int32
  8093. var v1 TFcBool
  8094. var p5 uintptr
  8095. _, _, _, _ = i, v1, v3, p5
  8096. if fcs != 0 {
  8097. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  8098. goto _2
  8099. _2:
  8100. if v1 != 0 {
  8101. XFcCacheObjectDereference(tls, fcs)
  8102. return
  8103. }
  8104. p5 = fcs
  8105. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  8106. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  8107. goto _4
  8108. _4:
  8109. if v3 != int32(1) {
  8110. return
  8111. }
  8112. i = 0
  8113. for {
  8114. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  8115. break
  8116. }
  8117. libc.Xfree(tls, uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i)*8))))
  8118. goto _6
  8119. _6:
  8120. ;
  8121. i++
  8122. }
  8123. if (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0 {
  8124. libc.Xfree(tls, uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))
  8125. libc.Xfree(tls, uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset))
  8126. }
  8127. libc.Xfree(tls, fcs)
  8128. }
  8129. }
  8130. var XFcCharSetDestroy = XIA__FcCharSetDestroy
  8131. /*
  8132. * Search for the leaf containing with the specified num.
  8133. * Return its index if it exists, otherwise return negative of
  8134. * the (position + 1) where it should be inserted
  8135. */
  8136. func _FcCharSetFindLeafForward(tls *libc.TLS, fcs uintptr, start int32, num TFcChar16) (r int32) {
  8137. var high, low, mid int32
  8138. var numbers uintptr
  8139. var page TFcChar16
  8140. _, _, _, _, _ = high, low, mid, numbers, page
  8141. numbers = uintptr(int64(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset)
  8142. low = start
  8143. high = (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum - int32(1)
  8144. if !(numbers != 0) {
  8145. return -int32(1)
  8146. }
  8147. for low <= high {
  8148. mid = (low + high) >> int32(1)
  8149. page = *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(mid)*2))
  8150. if libc.Int32FromUint16(page) == libc.Int32FromUint16(num) {
  8151. return mid
  8152. }
  8153. if libc.Int32FromUint16(page) < libc.Int32FromUint16(num) {
  8154. low = mid + int32(1)
  8155. } else {
  8156. high = mid - int32(1)
  8157. }
  8158. }
  8159. if high < 0 || high < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum && libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(numbers + uintptr(high)*2))) < libc.Int32FromUint16(num) {
  8160. high++
  8161. }
  8162. return -(high + int32(1))
  8163. }
  8164. /*
  8165. * Locate the leaf containing the specified char, return
  8166. * its index if it exists, otherwise return negative of
  8167. * the (position + 1) where it should be inserted
  8168. */
  8169. func _FcCharSetFindLeafPos(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r int32) {
  8170. return _FcCharSetFindLeafForward(tls, fcs, 0, uint16(ucs4>>int32(8)))
  8171. }
  8172. func _FcCharSetFindLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r uintptr) {
  8173. var pos int32
  8174. _ = pos
  8175. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  8176. if pos >= 0 {
  8177. return uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8)))
  8178. }
  8179. return uintptr(0)
  8180. }
  8181. func _FcCharSetPutLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr, pos int32) (r TFcBool) {
  8182. var alloced, alloced1 uint32
  8183. var distance Tptrdiff_t
  8184. var i int32
  8185. var leaves, new_leaves, numbers uintptr
  8186. _, _, _, _, _, _, _ = alloced, alloced1, distance, i, leaves, new_leaves, numbers
  8187. leaves = uintptr(int64(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)
  8188. numbers = uintptr(int64(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset)
  8189. ucs4 >>= uint32(8)
  8190. if ucs4 >= uint32(0x10000) {
  8191. return m_FcFalse
  8192. }
  8193. if !((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum&((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-libc.Int32FromInt32(1)) != 0) {
  8194. if !((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0) {
  8195. alloced = uint32(8)
  8196. leaves = libc.Xmalloc(tls, uint64(alloced)*uint64(8))
  8197. numbers = libc.Xmalloc(tls, uint64(alloced)*uint64(2))
  8198. if !(leaves != 0) || !(numbers != 0) {
  8199. if leaves != 0 {
  8200. libc.Xfree(tls, leaves)
  8201. }
  8202. if numbers != 0 {
  8203. libc.Xfree(tls, numbers)
  8204. }
  8205. return m_FcFalse
  8206. }
  8207. } else {
  8208. alloced1 = libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)
  8209. alloced1 *= uint32(2)
  8210. numbers = libc.Xrealloc(tls, numbers, uint64(alloced1)*uint64(2))
  8211. if !(numbers != 0) {
  8212. return m_FcFalse
  8213. }
  8214. new_leaves = libc.Xrealloc(tls, leaves, uint64(alloced1)*uint64(8))
  8215. if !(new_leaves != 0) {
  8216. /*
  8217. * Revert the reallocation of numbers. We update numbers_offset
  8218. * first in case realloc() fails.
  8219. */
  8220. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = int64(numbers) - int64(fcs)
  8221. numbers = libc.Xrealloc(tls, numbers, uint64(alloced1/libc.Uint32FromInt32(2))*uint64(2))
  8222. /* unlikely to fail though */
  8223. if !(numbers != 0) {
  8224. return m_FcFalse
  8225. }
  8226. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = int64(numbers) - int64(fcs)
  8227. return m_FcFalse
  8228. }
  8229. distance = int64(new_leaves) - int64(leaves)
  8230. i = 0
  8231. for {
  8232. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  8233. break
  8234. }
  8235. *(*Tintptr_t)(unsafe.Pointer(new_leaves + uintptr(i)*8)) -= distance
  8236. goto _1
  8237. _1:
  8238. ;
  8239. i++
  8240. }
  8241. leaves = new_leaves
  8242. }
  8243. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = int64(leaves) - int64(fcs)
  8244. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = int64(numbers) - int64(fcs)
  8245. }
  8246. libc.Xmemmove(tls, leaves+uintptr(pos)*8+uintptr(1)*8, leaves+uintptr(pos)*8, libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-pos)*uint64(8))
  8247. libc.Xmemmove(tls, numbers+uintptr(pos)*2+uintptr(1)*2, numbers+uintptr(pos)*2, libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-pos)*uint64(2))
  8248. *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(pos)*2)) = uint16(ucs4)
  8249. *(*Tintptr_t)(unsafe.Pointer(leaves + uintptr(pos)*8)) = int64(leaf) - int64(leaves)
  8250. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum++
  8251. return int32(m_FcTrue)
  8252. }
  8253. /*
  8254. * Locate the leaf containing the specified char, creating it
  8255. * if desired
  8256. */
  8257. func XFcCharSetFindLeafCreate(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r uintptr) {
  8258. var leaf uintptr
  8259. var pos int32
  8260. _, _ = leaf, pos
  8261. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  8262. if pos >= 0 {
  8263. return uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8)))
  8264. }
  8265. leaf = libc.Xcalloc(tls, uint64(1), uint64(32))
  8266. if !(leaf != 0) {
  8267. return uintptr(0)
  8268. }
  8269. pos = -pos - int32(1)
  8270. if !(_FcCharSetPutLeaf(tls, fcs, ucs4, leaf, pos) != 0) {
  8271. libc.Xfree(tls, leaf)
  8272. return uintptr(0)
  8273. }
  8274. return leaf
  8275. }
  8276. func _FcCharSetInsertLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr) (r TFcBool) {
  8277. var pos int32
  8278. _ = pos
  8279. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  8280. if pos >= 0 {
  8281. libc.Xfree(tls, uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8))))
  8282. *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8)) = int64(leaf) - int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))
  8283. return int32(m_FcTrue)
  8284. }
  8285. pos = -pos - int32(1)
  8286. return _FcCharSetPutLeaf(tls, fcs, ucs4, leaf, pos)
  8287. }
  8288. func XIA__FcCharSetAddChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  8289. var b, leaf uintptr
  8290. var v1 TFcBool
  8291. var v3 bool
  8292. _, _, _, _ = b, leaf, v1, v3
  8293. if v3 = fcs == libc.UintptrFromInt32(0); !v3 {
  8294. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  8295. goto _2
  8296. _2:
  8297. }
  8298. if v3 || v1 != 0 {
  8299. return m_FcFalse
  8300. }
  8301. leaf = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  8302. if !(leaf != 0) {
  8303. return m_FcFalse
  8304. }
  8305. b = leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4
  8306. *(*TFcChar32)(unsafe.Pointer(b)) |= uint32(1) << (ucs4 & uint32(0x1f))
  8307. return int32(m_FcTrue)
  8308. }
  8309. var XFcCharSetAddChar = XIA__FcCharSetAddChar
  8310. func XIA__FcCharSetDelChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  8311. var b, leaf uintptr
  8312. var v1 TFcBool
  8313. var v3 bool
  8314. _, _, _, _ = b, leaf, v1, v3
  8315. if v3 = fcs == libc.UintptrFromInt32(0); !v3 {
  8316. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  8317. goto _2
  8318. _2:
  8319. }
  8320. if v3 || v1 != 0 {
  8321. return m_FcFalse
  8322. }
  8323. leaf = _FcCharSetFindLeaf(tls, fcs, ucs4)
  8324. if !(leaf != 0) {
  8325. return int32(m_FcTrue)
  8326. }
  8327. b = leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4
  8328. *(*TFcChar32)(unsafe.Pointer(b)) &= ^(libc.Uint32FromUint32(1) << (ucs4 & libc.Uint32FromInt32(0x1f)))
  8329. /* We don't bother removing the leaf if it's empty */
  8330. return int32(m_FcTrue)
  8331. }
  8332. var XFcCharSetDelChar = XIA__FcCharSetDelChar
  8333. /*
  8334. * An iterator for the leaves of a charset
  8335. */
  8336. type TFcCharSetIter = struct {
  8337. Fleaf uintptr
  8338. Fucs4 TFcChar32
  8339. Fpos int32
  8340. }
  8341. /*
  8342. * An iterator for the leaves of a charset
  8343. */
  8344. type T_fcCharSetIter = TFcCharSetIter
  8345. /*
  8346. * Set iter->leaf to the leaf containing iter->ucs4 or higher
  8347. */
  8348. func _FcCharSetIterSet(tls *libc.TLS, fcs uintptr, iter uintptr) {
  8349. var pos int32
  8350. _ = pos
  8351. pos = _FcCharSetFindLeafPos(tls, fcs, (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4)
  8352. if pos < 0 {
  8353. pos = -pos - int32(1)
  8354. if pos == (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum {
  8355. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  8356. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(0)
  8357. return
  8358. }
  8359. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(pos)*2))) << int32(8)
  8360. }
  8361. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8)))
  8362. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = pos
  8363. }
  8364. func _FcCharSetIterNext(tls *libc.TLS, fcs uintptr, iter uintptr) {
  8365. var pos int32
  8366. _ = pos
  8367. pos = (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos + int32(1)
  8368. if pos >= (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum {
  8369. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  8370. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(0)
  8371. } else {
  8372. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(pos)*2))) << int32(8)
  8373. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8)))
  8374. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = pos
  8375. }
  8376. }
  8377. func _FcCharSetIterStart(tls *libc.TLS, fcs uintptr, iter uintptr) {
  8378. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(0)
  8379. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = 0
  8380. _FcCharSetIterSet(tls, fcs, iter)
  8381. }
  8382. func XIA__FcCharSetCopy(tls *libc.TLS, src uintptr) (r uintptr) {
  8383. var v1 TFcBool
  8384. var p4 uintptr
  8385. _, _ = v1, p4
  8386. if src != 0 {
  8387. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(src)).Fcount == -libc.Int32FromInt32(1))
  8388. goto _2
  8389. _2:
  8390. if !(v1 != 0) {
  8391. p4 = src
  8392. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  8393. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  8394. goto _3
  8395. _3:
  8396. } else {
  8397. XFcCacheObjectReference(tls, src)
  8398. }
  8399. }
  8400. return src
  8401. }
  8402. var XFcCharSetCopy = XIA__FcCharSetCopy
  8403. func XIA__FcCharSetEqual(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  8404. bp := tls.Alloc(32)
  8405. defer tls.Free(32)
  8406. var i int32
  8407. var _ /* ai at bp+0 */ TFcCharSetIter
  8408. var _ /* bi at bp+16 */ TFcCharSetIter
  8409. _ = i
  8410. if a == b {
  8411. return int32(m_FcTrue)
  8412. }
  8413. if !(a != 0) || !(b != 0) {
  8414. return m_FcFalse
  8415. }
  8416. _FcCharSetIterStart(tls, a, bp)
  8417. _FcCharSetIterStart(tls, b, bp+16)
  8418. for {
  8419. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0) {
  8420. break
  8421. }
  8422. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 != (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  8423. return m_FcFalse
  8424. }
  8425. i = 0
  8426. for {
  8427. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  8428. break
  8429. }
  8430. if *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf + uintptr(i)*4)) != *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf + uintptr(i)*4)) {
  8431. return m_FcFalse
  8432. }
  8433. goto _2
  8434. _2:
  8435. ;
  8436. i++
  8437. }
  8438. goto _1
  8439. _1:
  8440. ;
  8441. _FcCharSetIterNext(tls, a, bp)
  8442. _FcCharSetIterNext(tls, b, bp+16)
  8443. }
  8444. return libc.BoolInt32((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf)
  8445. }
  8446. var XFcCharSetEqual = XIA__FcCharSetEqual
  8447. func _FcCharSetAddLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr) (r TFcBool) {
  8448. var new1 uintptr
  8449. _ = new1
  8450. new1 = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  8451. if !(new1 != 0) {
  8452. return m_FcFalse
  8453. }
  8454. *(*TFcCharLeaf)(unsafe.Pointer(new1)) = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  8455. return int32(m_FcTrue)
  8456. }
  8457. func _FcCharSetOperate(tls *libc.TLS, a uintptr, b uintptr, overlap uintptr, aonly TFcBool, bonly TFcBool) (r uintptr) {
  8458. bp := tls.Alloc(64)
  8459. defer tls.Free(64)
  8460. var fcs uintptr
  8461. var _ /* ai at bp+0 */ TFcCharSetIter
  8462. var _ /* bi at bp+16 */ TFcCharSetIter
  8463. var _ /* leaf at bp+32 */ TFcCharLeaf
  8464. _ = fcs
  8465. if !(a != 0) || !(b != 0) {
  8466. goto bail0
  8467. }
  8468. fcs = XIA__FcCharSetCreate(tls)
  8469. if !(fcs != 0) {
  8470. goto bail0
  8471. }
  8472. _FcCharSetIterStart(tls, a, bp)
  8473. _FcCharSetIterStart(tls, b, bp+16)
  8474. for ((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 || bonly != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0) && ((*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0 || aonly != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  8475. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  8476. if aonly != 0 {
  8477. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf) != 0) {
  8478. goto bail1
  8479. }
  8480. _FcCharSetIterNext(tls, a, bp)
  8481. } else {
  8482. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4
  8483. _FcCharSetIterSet(tls, a, bp)
  8484. }
  8485. } else {
  8486. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 {
  8487. if bonly != 0 {
  8488. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf) != 0) {
  8489. goto bail1
  8490. }
  8491. _FcCharSetIterNext(tls, b, bp+16)
  8492. } else {
  8493. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8494. _FcCharSetIterSet(tls, b, bp+16)
  8495. }
  8496. } else {
  8497. if (*(*func(*libc.TLS, uintptr, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{overlap})))(tls, bp+32, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf) != 0 {
  8498. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4, bp+32) != 0) {
  8499. goto bail1
  8500. }
  8501. }
  8502. _FcCharSetIterNext(tls, a, bp)
  8503. _FcCharSetIterNext(tls, b, bp+16)
  8504. }
  8505. }
  8506. }
  8507. return fcs
  8508. goto bail1
  8509. bail1:
  8510. ;
  8511. XIA__FcCharSetDestroy(tls, fcs)
  8512. goto bail0
  8513. bail0:
  8514. ;
  8515. return uintptr(0)
  8516. return r
  8517. }
  8518. func _FcCharSetIntersectLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  8519. var i int32
  8520. var nonempty TFcBool
  8521. var v2 TFcChar32
  8522. _, _, _ = i, nonempty, v2
  8523. nonempty = m_FcFalse
  8524. i = 0
  8525. for {
  8526. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  8527. break
  8528. }
  8529. v2 = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  8530. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = v2
  8531. if v2 != 0 {
  8532. nonempty = int32(m_FcTrue)
  8533. }
  8534. goto _1
  8535. _1:
  8536. ;
  8537. i++
  8538. }
  8539. return nonempty
  8540. }
  8541. func XIA__FcCharSetIntersect(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  8542. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetIntersectLeaf), m_FcFalse, m_FcFalse)
  8543. }
  8544. var XFcCharSetIntersect = XIA__FcCharSetIntersect
  8545. func _FcCharSetUnionLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  8546. var i int32
  8547. _ = i
  8548. i = 0
  8549. for {
  8550. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  8551. break
  8552. }
  8553. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) | *(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  8554. goto _1
  8555. _1:
  8556. ;
  8557. i++
  8558. }
  8559. return int32(m_FcTrue)
  8560. }
  8561. func XIA__FcCharSetUnion(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  8562. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetUnionLeaf), int32(m_FcTrue), int32(m_FcTrue))
  8563. }
  8564. var XFcCharSetUnion = XIA__FcCharSetUnion
  8565. func XIA__FcCharSetMerge(tls *libc.TLS, a uintptr, b uintptr, changed uintptr) (r TFcBool) {
  8566. var ai, bi, v3 int32
  8567. var al, bl uintptr
  8568. var an, bn TFcChar16
  8569. var v1 TFcBool
  8570. _, _, _, _, _, _, _, _ = ai, al, an, bi, bl, bn, v1, v3
  8571. ai = 0
  8572. bi = 0
  8573. if !(a != 0) || !(b != 0) {
  8574. return m_FcFalse
  8575. }
  8576. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(a)).Fcount == -libc.Int32FromInt32(1))
  8577. goto _2
  8578. _2:
  8579. if v1 != 0 {
  8580. if changed != 0 {
  8581. *(*TFcBool)(unsafe.Pointer(changed)) = m_FcFalse
  8582. }
  8583. return m_FcFalse
  8584. }
  8585. if changed != 0 {
  8586. *(*TFcBool)(unsafe.Pointer(changed)) = libc.BoolInt32(!(XIA__FcCharSetIsSubset(tls, b, a) != 0))
  8587. if !(*(*TFcBool)(unsafe.Pointer(changed)) != 0) {
  8588. return int32(m_FcTrue)
  8589. }
  8590. }
  8591. for bi < (*TFcCharSet)(unsafe.Pointer(b)).Fnum {
  8592. if ai < (*TFcCharSet)(unsafe.Pointer(a)).Fnum {
  8593. v3 = libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fnumbers_offset) + uintptr(ai)*2)))
  8594. } else {
  8595. v3 = ^libc.Int32FromInt32(0)
  8596. }
  8597. an = libc.Uint16FromInt32(v3)
  8598. bn = *(*TFcChar16)(unsafe.Pointer(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset) + uintptr(bi)*2))
  8599. if libc.Int32FromUint16(an) < libc.Int32FromUint16(bn) {
  8600. ai = _FcCharSetFindLeafForward(tls, a, ai+int32(1), bn)
  8601. if ai < 0 {
  8602. ai = -ai - int32(1)
  8603. }
  8604. } else {
  8605. bl = uintptr(int64(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset) + uintptr(bi)*8)))
  8606. if libc.Int32FromUint16(bn) < libc.Int32FromUint16(an) {
  8607. if !(_FcCharSetAddLeaf(tls, a, libc.Uint32FromInt32(libc.Int32FromUint16(bn)<<int32(8)), bl) != 0) {
  8608. return m_FcFalse
  8609. }
  8610. } else {
  8611. al = uintptr(int64(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fleaves_offset) + uintptr(ai)*8)))
  8612. _FcCharSetUnionLeaf(tls, al, al, bl)
  8613. }
  8614. ai++
  8615. bi++
  8616. }
  8617. }
  8618. return int32(m_FcTrue)
  8619. }
  8620. var XFcCharSetMerge = XIA__FcCharSetMerge
  8621. func _FcCharSetSubtractLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  8622. var i int32
  8623. var nonempty TFcBool
  8624. var v2 TFcChar32
  8625. _, _, _ = i, nonempty, v2
  8626. nonempty = m_FcFalse
  8627. i = 0
  8628. for {
  8629. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  8630. break
  8631. }
  8632. v2 = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) & ^*(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  8633. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = v2
  8634. if v2 != 0 {
  8635. nonempty = int32(m_FcTrue)
  8636. }
  8637. goto _1
  8638. _1:
  8639. ;
  8640. i++
  8641. }
  8642. return nonempty
  8643. }
  8644. func XIA__FcCharSetSubtract(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  8645. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetSubtractLeaf), int32(m_FcTrue), m_FcFalse)
  8646. }
  8647. var XFcCharSetSubtract = XIA__FcCharSetSubtract
  8648. func XIA__FcCharSetHasChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  8649. var leaf uintptr
  8650. _ = leaf
  8651. if !(fcs != 0) {
  8652. return m_FcFalse
  8653. }
  8654. leaf = _FcCharSetFindLeaf(tls, fcs, ucs4)
  8655. if !(leaf != 0) {
  8656. return m_FcFalse
  8657. }
  8658. return libc.BoolInt32(*(*TFcChar32)(unsafe.Pointer(leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4))&(uint32(1)<<(ucs4&uint32(0x1f))) != uint32(0))
  8659. }
  8660. var XFcCharSetHasChar = XIA__FcCharSetHasChar
  8661. func _FcCharSetPopCount(tls *libc.TLS, c1 TFcChar32) (r TFcChar32) {
  8662. return libc.Uint32FromInt32(libc.X__builtin_popcount(tls, c1))
  8663. }
  8664. func XIA__FcCharSetIntersectCount(tls *libc.TLS, a uintptr, b uintptr) (r TFcChar32) {
  8665. bp := tls.Alloc(32)
  8666. defer tls.Free(32)
  8667. var am, bm, v2, v3 uintptr
  8668. var count TFcChar32
  8669. var i, v1 int32
  8670. var _ /* ai at bp+0 */ TFcCharSetIter
  8671. var _ /* bi at bp+16 */ TFcCharSetIter
  8672. _, _, _, _, _, _, _ = am, bm, count, i, v1, v2, v3
  8673. count = uint32(0)
  8674. if a != 0 && b != 0 {
  8675. _FcCharSetIterStart(tls, a, bp)
  8676. _FcCharSetIterStart(tls, b, bp+16)
  8677. for (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0 {
  8678. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  8679. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  8680. bm = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf
  8681. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  8682. for {
  8683. v1 = i
  8684. i--
  8685. if !(v1 != 0) {
  8686. break
  8687. }
  8688. v2 = am
  8689. am += 4
  8690. v3 = bm
  8691. bm += 4
  8692. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v2))&*(*TFcChar32)(unsafe.Pointer(v3)))
  8693. }
  8694. _FcCharSetIterNext(tls, a, bp)
  8695. } else {
  8696. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  8697. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4
  8698. _FcCharSetIterSet(tls, a, bp)
  8699. }
  8700. }
  8701. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 {
  8702. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8703. _FcCharSetIterSet(tls, b, bp+16)
  8704. }
  8705. }
  8706. }
  8707. return count
  8708. }
  8709. var XFcCharSetIntersectCount = XIA__FcCharSetIntersectCount
  8710. func XIA__FcCharSetCount(tls *libc.TLS, a uintptr) (r TFcChar32) {
  8711. bp := tls.Alloc(16)
  8712. defer tls.Free(16)
  8713. var am, v3 uintptr
  8714. var count TFcChar32
  8715. var i, v2 int32
  8716. var _ /* ai at bp+0 */ TFcCharSetIter
  8717. _, _, _, _, _ = am, count, i, v2, v3
  8718. count = uint32(0)
  8719. if a != 0 {
  8720. _FcCharSetIterStart(tls, a, bp)
  8721. for {
  8722. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  8723. break
  8724. }
  8725. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  8726. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  8727. for {
  8728. v2 = i
  8729. i--
  8730. if !(v2 != 0) {
  8731. break
  8732. }
  8733. v3 = am
  8734. am += 4
  8735. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v3)))
  8736. }
  8737. goto _1
  8738. _1:
  8739. ;
  8740. _FcCharSetIterNext(tls, a, bp)
  8741. }
  8742. }
  8743. return count
  8744. }
  8745. var XFcCharSetCount = XIA__FcCharSetCount
  8746. func XIA__FcCharSetSubtractCount(tls *libc.TLS, a uintptr, b uintptr) (r TFcChar32) {
  8747. bp := tls.Alloc(32)
  8748. defer tls.Free(32)
  8749. var am, bm, v2, v3, v5 uintptr
  8750. var count TFcChar32
  8751. var i, v1, v4 int32
  8752. var _ /* ai at bp+0 */ TFcCharSetIter
  8753. var _ /* bi at bp+16 */ TFcCharSetIter
  8754. _, _, _, _, _, _, _, _, _ = am, bm, count, i, v1, v2, v3, v4, v5
  8755. count = uint32(0)
  8756. if a != 0 && b != 0 {
  8757. _FcCharSetIterStart(tls, a, bp)
  8758. _FcCharSetIterStart(tls, b, bp+16)
  8759. for (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 {
  8760. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 <= (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  8761. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  8762. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  8763. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  8764. bm = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf
  8765. for {
  8766. v1 = i
  8767. i--
  8768. if !(v1 != 0) {
  8769. break
  8770. }
  8771. v2 = am
  8772. am += 4
  8773. v3 = bm
  8774. bm += 4
  8775. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v2)) & ^*(*TFcChar32)(unsafe.Pointer(v3)))
  8776. }
  8777. } else {
  8778. for {
  8779. v4 = i
  8780. i--
  8781. if !(v4 != 0) {
  8782. break
  8783. }
  8784. v5 = am
  8785. am += 4
  8786. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v5)))
  8787. }
  8788. }
  8789. _FcCharSetIterNext(tls, a, bp)
  8790. } else {
  8791. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0 {
  8792. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8793. _FcCharSetIterSet(tls, b, bp+16)
  8794. }
  8795. }
  8796. }
  8797. }
  8798. return count
  8799. }
  8800. var XFcCharSetSubtractCount = XIA__FcCharSetSubtractCount
  8801. // C documentation
  8802. //
  8803. // /*
  8804. // * return FcTrue iff a is a subset of b
  8805. // */
  8806. func XIA__FcCharSetIsSubset(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  8807. var ai, bi, i, v1 int32
  8808. var am, bm, v2, v3 uintptr
  8809. var an, bn TFcChar16
  8810. _, _, _, _, _, _, _, _, _, _ = ai, am, an, bi, bm, bn, i, v1, v2, v3
  8811. if a == b {
  8812. return int32(m_FcTrue)
  8813. }
  8814. if !(a != 0) || !(b != 0) {
  8815. return m_FcFalse
  8816. }
  8817. bi = 0
  8818. ai = 0
  8819. for ai < (*TFcCharSet)(unsafe.Pointer(a)).Fnum && bi < (*TFcCharSet)(unsafe.Pointer(b)).Fnum {
  8820. an = *(*TFcChar16)(unsafe.Pointer(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fnumbers_offset) + uintptr(ai)*2))
  8821. bn = *(*TFcChar16)(unsafe.Pointer(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset) + uintptr(bi)*2))
  8822. /*
  8823. * Check matching pages
  8824. */
  8825. if libc.Int32FromUint16(an) == libc.Int32FromUint16(bn) {
  8826. am = uintptr(int64(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fleaves_offset) + uintptr(ai)*8)))
  8827. bm = uintptr(int64(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset) + uintptr(bi)*8)))
  8828. if am != bm {
  8829. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  8830. /*
  8831. * Does am have any bits not in bm?
  8832. */
  8833. for {
  8834. v1 = i
  8835. i--
  8836. if !(v1 != 0) {
  8837. break
  8838. }
  8839. v2 = am
  8840. am += 4
  8841. v3 = bm
  8842. bm += 4
  8843. if *(*TFcChar32)(unsafe.Pointer(v2)) & ^*(*TFcChar32)(unsafe.Pointer(v3)) != 0 {
  8844. return m_FcFalse
  8845. }
  8846. }
  8847. }
  8848. ai++
  8849. bi++
  8850. } else {
  8851. if libc.Int32FromUint16(an) < libc.Int32FromUint16(bn) {
  8852. return m_FcFalse
  8853. } else {
  8854. bi = _FcCharSetFindLeafForward(tls, b, bi+int32(1), an)
  8855. if bi < 0 {
  8856. bi = -bi - int32(1)
  8857. }
  8858. }
  8859. }
  8860. }
  8861. /*
  8862. * did we look at every page?
  8863. */
  8864. return libc.BoolInt32(ai >= (*TFcCharSet)(unsafe.Pointer(a)).Fnum)
  8865. }
  8866. var XFcCharSetIsSubset = XIA__FcCharSetIsSubset
  8867. /*
  8868. * These two functions efficiently walk the entire charmap for
  8869. * other software (like pango) that want their own copy
  8870. */
  8871. func XIA__FcCharSetNextPage(tls *libc.TLS, a uintptr, map1 uintptr, next uintptr) (r TFcChar32) {
  8872. bp := tls.Alloc(16)
  8873. defer tls.Free(16)
  8874. var page TFcChar32
  8875. var _ /* ai at bp+0 */ TFcCharSetIter
  8876. _ = page
  8877. if !(a != 0) {
  8878. return libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  8879. }
  8880. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = *(*TFcChar32)(unsafe.Pointer(next))
  8881. _FcCharSetIterSet(tls, a, bp)
  8882. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  8883. return libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  8884. }
  8885. /*
  8886. * Save current information
  8887. */
  8888. page = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8889. libc.Xmemcpy(tls, map1, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, uint64(32))
  8890. /*
  8891. * Step to next page
  8892. */
  8893. _FcCharSetIterNext(tls, a, bp)
  8894. *(*TFcChar32)(unsafe.Pointer(next)) = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8895. return page
  8896. }
  8897. var XFcCharSetNextPage = XIA__FcCharSetNextPage
  8898. func XIA__FcCharSetFirstPage(tls *libc.TLS, a uintptr, map1 uintptr, next uintptr) (r TFcChar32) {
  8899. *(*TFcChar32)(unsafe.Pointer(next)) = uint32(0)
  8900. return XIA__FcCharSetNextPage(tls, a, map1, next)
  8901. }
  8902. var XFcCharSetFirstPage = XIA__FcCharSetFirstPage
  8903. /*
  8904. * old coverage API, rather hard to use correctly
  8905. */
  8906. func XIA__FcCharSetCoverage(tls *libc.TLS, a uintptr, page TFcChar32, result uintptr) (r TFcChar32) {
  8907. bp := tls.Alloc(16)
  8908. defer tls.Free(16)
  8909. var _ /* ai at bp+0 */ TFcCharSetIter
  8910. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = page
  8911. _FcCharSetIterSet(tls, a, bp)
  8912. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  8913. libc.Xmemset(tls, result, int32('\000'), libc.Uint64FromInt32(libc.Int32FromInt32(256)/libc.Int32FromInt32(8)))
  8914. page = uint32(0)
  8915. } else {
  8916. libc.Xmemcpy(tls, result, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, uint64(32))
  8917. _FcCharSetIterNext(tls, a, bp)
  8918. page = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8919. }
  8920. return page
  8921. }
  8922. var XFcCharSetCoverage = XIA__FcCharSetCoverage
  8923. func _FcNameParseRange(tls *libc.TLS, string1 uintptr, pfirst uintptr, plast uintptr) (r TFcBool) {
  8924. bp := tls.Alloc(16)
  8925. defer tls.Free(16)
  8926. var first, last, v4 int64
  8927. var t uintptr
  8928. var v1, v2, v5, v6 int32
  8929. var _ /* s at bp+0 */ uintptr
  8930. _, _, _, _, _, _, _, _ = first, last, t, v1, v2, v4, v5, v6
  8931. *(*uintptr)(unsafe.Pointer(bp)) = *(*uintptr)(unsafe.Pointer(string1))
  8932. for {
  8933. v1 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))))
  8934. v2 = libc.BoolInt32(v1 == int32(' ') || libc.Uint32FromInt32(v1)-uint32('\t') < uint32(5))
  8935. goto _3
  8936. _3:
  8937. if !(v2 != 0) {
  8938. break
  8939. }
  8940. *(*uintptr)(unsafe.Pointer(bp))++
  8941. }
  8942. t = *(*uintptr)(unsafe.Pointer(bp))
  8943. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = 0
  8944. v4 = libc.Xstrtol(tls, *(*uintptr)(unsafe.Pointer(bp)), bp, int32(16))
  8945. last = v4
  8946. first = v4
  8947. if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != 0 {
  8948. return m_FcFalse
  8949. }
  8950. for {
  8951. v5 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))))
  8952. v6 = libc.BoolInt32(v5 == int32(' ') || libc.Uint32FromInt32(v5)-uint32('\t') < uint32(5))
  8953. goto _7
  8954. _7:
  8955. if !(v6 != 0) {
  8956. break
  8957. }
  8958. *(*uintptr)(unsafe.Pointer(bp))++
  8959. }
  8960. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))) == int32('-') {
  8961. *(*uintptr)(unsafe.Pointer(bp))++
  8962. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = 0
  8963. last = libc.Xstrtol(tls, *(*uintptr)(unsafe.Pointer(bp)), bp, int32(16))
  8964. if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != 0 {
  8965. return m_FcFalse
  8966. }
  8967. }
  8968. if *(*uintptr)(unsafe.Pointer(bp)) == t || first < 0 || last < 0 || last < first || last > int64(0x10ffff) {
  8969. return m_FcFalse
  8970. }
  8971. *(*uintptr)(unsafe.Pointer(string1)) = *(*uintptr)(unsafe.Pointer(bp))
  8972. *(*TFcChar32)(unsafe.Pointer(pfirst)) = libc.Uint32FromInt64(first)
  8973. *(*TFcChar32)(unsafe.Pointer(plast)) = libc.Uint32FromInt64(last)
  8974. return int32(m_FcTrue)
  8975. }
  8976. func XFcNameParseCharSet(tls *libc.TLS, _string uintptr) (r uintptr) {
  8977. bp := tls.Alloc(16)
  8978. defer tls.Free(16)
  8979. *(*uintptr)(unsafe.Pointer(bp)) = _string
  8980. var c uintptr
  8981. var u TFcChar32
  8982. var _ /* first at bp+8 */ TFcChar32
  8983. var _ /* last at bp+12 */ TFcChar32
  8984. _, _ = c, u
  8985. c = XIA__FcCharSetCreate(tls)
  8986. if !(c != 0) {
  8987. goto bail0
  8988. }
  8989. for *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) != 0 {
  8990. if !(_FcNameParseRange(tls, bp, bp+8, bp+12) != 0) {
  8991. goto bail1
  8992. }
  8993. u = *(*TFcChar32)(unsafe.Pointer(bp + 8))
  8994. for {
  8995. if !(u < *(*TFcChar32)(unsafe.Pointer(bp + 12))+uint32(1)) {
  8996. break
  8997. }
  8998. XIA__FcCharSetAddChar(tls, c, u)
  8999. goto _1
  9000. _1:
  9001. ;
  9002. u++
  9003. }
  9004. }
  9005. return c
  9006. goto bail1
  9007. bail1:
  9008. ;
  9009. XIA__FcCharSetDestroy(tls, c)
  9010. goto bail0
  9011. bail0:
  9012. ;
  9013. return libc.UintptrFromInt32(0)
  9014. return r
  9015. }
  9016. func _FcNameUnparseUnicode(tls *libc.TLS, buf uintptr, u TFcChar32) {
  9017. bp := tls.Alloc(80)
  9018. defer tls.Free(80)
  9019. var _ /* buf_static at bp+0 */ [64]TFcChar8
  9020. libc.X__builtin_snprintf(tls, bp, uint64(64), __ccgo_ts+1866, libc.VaList(bp+72, u))
  9021. XFcStrBufString(tls, buf, bp)
  9022. }
  9023. func XFcNameUnparseCharSet(tls *libc.TLS, buf uintptr, c uintptr) (r TFcBool) {
  9024. bp := tls.Alloc(16)
  9025. defer tls.Free(16)
  9026. var bits, first, last, u, v1 TFcChar32
  9027. var i int32
  9028. var _ /* ci at bp+0 */ TFcCharSetIter
  9029. _, _, _, _, _, _ = bits, first, i, last, u, v1
  9030. v1 = libc.Uint32FromInt32(0x7FFFFFFF)
  9031. last = v1
  9032. first = v1
  9033. _FcCharSetIterStart(tls, c, bp)
  9034. for {
  9035. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  9036. break
  9037. }
  9038. i = 0
  9039. for {
  9040. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  9041. break
  9042. }
  9043. bits = *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf + uintptr(i)*4))
  9044. u = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 + libc.Uint32FromInt32(i*int32(32))
  9045. for bits != 0 {
  9046. if bits&uint32(1) != 0 {
  9047. if u != last+uint32(1) {
  9048. if last != first {
  9049. XFcStrBufChar(tls, buf, uint8('-'))
  9050. _FcNameUnparseUnicode(tls, buf, last)
  9051. }
  9052. if last != uint32(0x7FFFFFFF) {
  9053. XFcStrBufChar(tls, buf, uint8(' '))
  9054. }
  9055. /* Start new range. */
  9056. first = u
  9057. _FcNameUnparseUnicode(tls, buf, u)
  9058. }
  9059. last = u
  9060. }
  9061. bits >>= uint32(1)
  9062. u++
  9063. }
  9064. goto _3
  9065. _3:
  9066. ;
  9067. i++
  9068. }
  9069. goto _2
  9070. _2:
  9071. ;
  9072. _FcCharSetIterNext(tls, c, bp)
  9073. }
  9074. if last != first {
  9075. XFcStrBufChar(tls, buf, uint8('-'))
  9076. _FcNameUnparseUnicode(tls, buf, last)
  9077. }
  9078. return int32(m_FcTrue)
  9079. }
  9080. type TFcCharLeafEnt = struct {
  9081. Fnext uintptr
  9082. Fhash TFcChar32
  9083. Fleaf TFcCharLeaf
  9084. }
  9085. type T_FcCharLeafEnt = TFcCharLeafEnt
  9086. type TFcCharSetEnt = struct {
  9087. Fnext uintptr
  9088. Fhash TFcChar32
  9089. Fset TFcCharSet
  9090. }
  9091. type T_FcCharSetEnt = TFcCharSetEnt
  9092. type TFcCharSetOrigEnt = struct {
  9093. Fnext uintptr
  9094. Forig uintptr
  9095. Ffrozen uintptr
  9096. }
  9097. type T_FcCharSetOrigEnt = TFcCharSetOrigEnt
  9098. func _FcCharLeafEntCreate(tls *libc.TLS, freezer uintptr) (r uintptr) {
  9099. var newBlocks, v1, v2, v3 uintptr
  9100. _, _, _, _ = newBlocks, v1, v2, v3
  9101. if !((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain != 0) {
  9102. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count++
  9103. newBlocks = libc.Xrealloc(tls, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks, libc.Uint64FromInt32((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count)*uint64(8))
  9104. if !(newBlocks != 0) {
  9105. return uintptr(0)
  9106. }
  9107. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks = newBlocks
  9108. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(4096)/libc.Uint64FromInt64(48)*libc.Uint64FromInt64(48))
  9109. *(*uintptr)(unsafe.Pointer((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks + uintptr((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count-int32(1))*8)) = v1
  9110. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcurrent_block = v1
  9111. if !((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcurrent_block != 0) {
  9112. return uintptr(0)
  9113. }
  9114. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain = libc.Int32FromUint64(libc.Uint64FromInt32(4096) / libc.Uint64FromInt64(48))
  9115. }
  9116. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain--
  9117. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaves_allocated++
  9118. v3 = freezer + 3144
  9119. v2 = *(*uintptr)(unsafe.Pointer(v3))
  9120. *(*uintptr)(unsafe.Pointer(v3)) += 48
  9121. return v2
  9122. }
  9123. func _FcCharLeafHash(tls *libc.TLS, leaf uintptr) (r TFcChar32) {
  9124. var hash TFcChar32
  9125. var i int32
  9126. _, _ = hash, i
  9127. hash = uint32(0)
  9128. i = 0
  9129. for {
  9130. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  9131. break
  9132. }
  9133. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(i)*4))
  9134. goto _1
  9135. _1:
  9136. ;
  9137. i++
  9138. }
  9139. return hash
  9140. }
  9141. func _FcCharSetFreezeLeaf(tls *libc.TLS, freezer uintptr, leaf uintptr) (r uintptr) {
  9142. var bucket, ent uintptr
  9143. var hash TFcChar32
  9144. _, _, _ = bucket, ent, hash
  9145. hash = _FcCharLeafHash(tls, leaf)
  9146. bucket = freezer + uintptr(hash%uint32(m_FC_CHAR_LEAF_HASH_SIZE))*8
  9147. ent = *(*uintptr)(unsafe.Pointer(bucket))
  9148. for {
  9149. if !(ent != 0) {
  9150. break
  9151. }
  9152. if (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fhash == hash && !(libc.Xmemcmp(tls, ent+12, leaf, uint64(32)) != 0) {
  9153. return ent + 12
  9154. }
  9155. goto _1
  9156. _1:
  9157. ;
  9158. ent = (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fnext
  9159. }
  9160. ent = _FcCharLeafEntCreate(tls, freezer)
  9161. if !(ent != 0) {
  9162. return uintptr(0)
  9163. }
  9164. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fleaf = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  9165. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fhash = hash
  9166. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  9167. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  9168. return ent + 12
  9169. }
  9170. func _FcCharSetHash(tls *libc.TLS, fcs uintptr) (r TFcChar32) {
  9171. var hash TFcChar32
  9172. var i int32
  9173. _, _ = hash, i
  9174. hash = uint32(0)
  9175. /* hash in leaves */
  9176. i = 0
  9177. for {
  9178. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  9179. break
  9180. }
  9181. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ _FcCharLeafHash(tls, uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i)*8))))
  9182. goto _1
  9183. _1:
  9184. ;
  9185. i++
  9186. }
  9187. /* hash in numbers */
  9188. i = 0
  9189. for {
  9190. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  9191. break
  9192. }
  9193. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(i)*2)))
  9194. goto _2
  9195. _2:
  9196. ;
  9197. i++
  9198. }
  9199. return hash
  9200. }
  9201. func _FcCharSetFreezeOrig(tls *libc.TLS, freezer uintptr, orig uintptr, frozen uintptr) (r TFcBool) {
  9202. var bucket, ent uintptr
  9203. _, _ = bucket, ent
  9204. bucket = freezer + 2608 + uintptr(uint64(orig)%uint64(m_FC_CHAR_SET_HASH_SIZE))*8
  9205. ent = libc.Xmalloc(tls, uint64(24))
  9206. if !(ent != 0) {
  9207. return m_FcFalse
  9208. }
  9209. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Forig = orig
  9210. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Ffrozen = frozen
  9211. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  9212. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  9213. return int32(m_FcTrue)
  9214. }
  9215. func _FcCharSetFreezeBase(tls *libc.TLS, freezer uintptr, fcs uintptr) (r uintptr) {
  9216. var bucket, ent, ent_leaves uintptr
  9217. var hash TFcChar32
  9218. var i, i1, size int32
  9219. var ok TFcBool
  9220. _, _, _, _, _, _, _, _ = bucket, ent, ent_leaves, hash, i, i1, ok, size
  9221. hash = _FcCharSetHash(tls, fcs)
  9222. bucket = freezer + 2072 + uintptr(hash%uint32(m_FC_CHAR_SET_HASH_SIZE))*8
  9223. ent = *(*uintptr)(unsafe.Pointer(bucket))
  9224. for {
  9225. if !(ent != 0) {
  9226. break
  9227. }
  9228. if (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fhash == hash && (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnum == (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum && !(libc.Xmemcmp(tls, uintptr(Tintptr_t(ent+16)+(*TFcCharSet)(unsafe.Pointer(ent+16)).Fnumbers_offset), uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset), libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*uint64(2)) != 0) {
  9229. ok = int32(m_FcTrue)
  9230. i1 = 0
  9231. for {
  9232. if !(i1 < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  9233. break
  9234. }
  9235. if uintptr(int64(uintptr(Tintptr_t(ent+16)+(*TFcCharSet)(unsafe.Pointer(ent+16)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(Tintptr_t(ent+16)+(*TFcCharSet)(unsafe.Pointer(ent+16)).Fleaves_offset) + uintptr(i1)*8))) != uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i1)*8))) {
  9236. ok = m_FcFalse
  9237. }
  9238. goto _2
  9239. _2:
  9240. ;
  9241. i1++
  9242. }
  9243. if ok != 0 {
  9244. return ent + 16
  9245. }
  9246. }
  9247. goto _1
  9248. _1:
  9249. ;
  9250. ent = (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext
  9251. }
  9252. size = libc.Int32FromUint64(libc.Uint64FromInt64(40) + libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*libc.Uint64FromInt64(2))
  9253. ent = libc.Xmalloc(tls, libc.Uint64FromInt32(size))
  9254. if !(ent != 0) {
  9255. return uintptr(0)
  9256. }
  9257. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_allocated++
  9258. (*TFcRef)(unsafe.Pointer(ent + 16)).Fcount = -libc.Int32FromInt32(1)
  9259. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnum = (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum
  9260. if (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0 {
  9261. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset = int64(24)
  9262. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnumbers_offset = libc.Int64FromUint64(libc.Uint64FromInt64((*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset) + libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*libc.Uint64FromInt64(8))
  9263. ent_leaves = uintptr(Tintptr_t(ent+16) + (*TFcCharSet)(unsafe.Pointer(ent+16)).Fleaves_offset)
  9264. i = 0
  9265. for {
  9266. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  9267. break
  9268. }
  9269. *(*Tintptr_t)(unsafe.Pointer(ent_leaves + uintptr(i)*8)) = int64(uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i)*8)))) - int64(ent_leaves)
  9270. goto _3
  9271. _3:
  9272. ;
  9273. i++
  9274. }
  9275. libc.Xmemcpy(tls, uintptr(Tintptr_t(ent+16)+(*TFcCharSet)(unsafe.Pointer(ent+16)).Fnumbers_offset), uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset), libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*uint64(2))
  9276. } else {
  9277. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset = 0
  9278. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnumbers_offset = 0
  9279. }
  9280. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fhash = hash
  9281. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  9282. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  9283. return ent + 16
  9284. }
  9285. func _FcCharSetFindFrozen(tls *libc.TLS, freezer uintptr, orig uintptr) (r uintptr) {
  9286. var bucket, ent uintptr
  9287. _, _ = bucket, ent
  9288. bucket = freezer + 2608 + uintptr(uint64(orig)%uint64(m_FC_CHAR_SET_HASH_SIZE))*8
  9289. ent = *(*uintptr)(unsafe.Pointer(bucket))
  9290. for {
  9291. if !(ent != 0) {
  9292. break
  9293. }
  9294. if (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Forig == orig {
  9295. return (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Ffrozen
  9296. }
  9297. goto _1
  9298. _1:
  9299. ;
  9300. ent = (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Fnext
  9301. }
  9302. return libc.UintptrFromInt32(0)
  9303. }
  9304. func XFcCharSetFreeze(tls *libc.TLS, freezer uintptr, fcs uintptr) (r uintptr) {
  9305. var b, l, n uintptr
  9306. var i int32
  9307. _, _, _, _ = b, i, l, n
  9308. n = uintptr(0)
  9309. b = XIA__FcCharSetCreate(tls)
  9310. if !(b != 0) {
  9311. goto bail0
  9312. }
  9313. i = 0
  9314. for {
  9315. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  9316. break
  9317. }
  9318. l = _FcCharSetFreezeLeaf(tls, freezer, uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i)*8))))
  9319. if !(l != 0) {
  9320. goto bail1
  9321. }
  9322. if !(_FcCharSetInsertLeaf(tls, b, libc.Uint32FromInt32(libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(i)*2)))<<int32(8)), l) != 0) {
  9323. goto bail1
  9324. }
  9325. goto _1
  9326. _1:
  9327. ;
  9328. i++
  9329. }
  9330. n = _FcCharSetFreezeBase(tls, freezer, b)
  9331. if !(_FcCharSetFreezeOrig(tls, freezer, fcs, n) != 0) {
  9332. n = libc.UintptrFromInt32(0)
  9333. goto bail1
  9334. }
  9335. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_seen++
  9336. *(*int32)(unsafe.Pointer(freezer + 3156)) += (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum
  9337. goto bail1
  9338. bail1:
  9339. ;
  9340. if (*TFcCharSet)(unsafe.Pointer(b)).Fnum != 0 {
  9341. libc.Xfree(tls, uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset))
  9342. }
  9343. if (*TFcCharSet)(unsafe.Pointer(b)).Fnum != 0 {
  9344. libc.Xfree(tls, uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset))
  9345. }
  9346. libc.Xfree(tls, b)
  9347. goto bail0
  9348. bail0:
  9349. ;
  9350. return n
  9351. return r
  9352. }
  9353. func XFcCharSetFreezerCreate(tls *libc.TLS) (r uintptr) {
  9354. var freezer uintptr
  9355. _ = freezer
  9356. freezer = libc.Xcalloc(tls, uint64(1), uint64(3176))
  9357. return freezer
  9358. }
  9359. func XFcCharSetFreezerDestroy(tls *libc.TLS, freezer uintptr) {
  9360. bp := tls.Alloc(48)
  9361. defer tls.Free(48)
  9362. var ent, ent1, next, next1 uintptr
  9363. var i int32
  9364. _, _, _, _, _ = ent, ent1, i, next, next1
  9365. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  9366. libc.Xprintf(tls, __ccgo_ts+1869, libc.VaList(bp+8, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_seen, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_allocated, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaves_seen, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaves_allocated))
  9367. }
  9368. i = 0
  9369. for {
  9370. if !(i < int32(m_FC_CHAR_SET_HASH_SIZE)) {
  9371. break
  9372. }
  9373. ent = *(*uintptr)(unsafe.Pointer(freezer + 2072 + uintptr(i)*8))
  9374. for {
  9375. if !(ent != 0) {
  9376. break
  9377. }
  9378. next = (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext
  9379. libc.Xfree(tls, ent)
  9380. goto _2
  9381. _2:
  9382. ;
  9383. ent = next
  9384. }
  9385. goto _1
  9386. _1:
  9387. ;
  9388. i++
  9389. }
  9390. i = 0
  9391. for {
  9392. if !(i < int32(m_FC_CHAR_SET_HASH_SIZE)) {
  9393. break
  9394. }
  9395. ent1 = *(*uintptr)(unsafe.Pointer(freezer + 2608 + uintptr(i)*8))
  9396. for {
  9397. if !(ent1 != 0) {
  9398. break
  9399. }
  9400. next1 = (*TFcCharSetOrigEnt)(unsafe.Pointer(ent1)).Fnext
  9401. libc.Xfree(tls, ent1)
  9402. goto _4
  9403. _4:
  9404. ;
  9405. ent1 = next1
  9406. }
  9407. goto _3
  9408. _3:
  9409. ;
  9410. i++
  9411. }
  9412. i = 0
  9413. for {
  9414. if !(i < (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count) {
  9415. break
  9416. }
  9417. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks + uintptr(i)*8)))
  9418. goto _5
  9419. _5:
  9420. ;
  9421. i++
  9422. }
  9423. libc.Xfree(tls, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks)
  9424. libc.Xfree(tls, freezer)
  9425. }
  9426. func XFcCharSetSerializeAlloc(tls *libc.TLS, serialize uintptr, cs uintptr) (r TFcBool) {
  9427. var i int32
  9428. var leaves, numbers uintptr
  9429. var v1 TFcBool
  9430. _, _, _, _ = i, leaves, numbers, v1
  9431. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(cs)).Fcount == -libc.Int32FromInt32(1))
  9432. goto _2
  9433. _2:
  9434. if !(v1 != 0) {
  9435. if !((*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0) {
  9436. (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer = XFcCharSetFreezerCreate(tls)
  9437. if !((*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0) {
  9438. return m_FcFalse
  9439. }
  9440. }
  9441. if _FcCharSetFindFrozen(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs) != 0 {
  9442. return int32(m_FcTrue)
  9443. }
  9444. cs = XFcCharSetFreeze(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs)
  9445. }
  9446. leaves = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)
  9447. numbers = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fnumbers_offset)
  9448. if !(XFcSerializeAlloc(tls, serialize, cs, int32(24)) != 0) {
  9449. return m_FcFalse
  9450. }
  9451. if !(XFcSerializeAlloc(tls, serialize, leaves, libc.Int32FromUint64(libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(cs)).Fnum)*uint64(8))) != 0) {
  9452. return m_FcFalse
  9453. }
  9454. if !(XFcSerializeAlloc(tls, serialize, numbers, libc.Int32FromUint64(libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(cs)).Fnum)*uint64(2))) != 0) {
  9455. return m_FcFalse
  9456. }
  9457. i = 0
  9458. for {
  9459. if !(i < (*TFcCharSet)(unsafe.Pointer(cs)).Fnum) {
  9460. break
  9461. }
  9462. if !(XFcSerializeAlloc(tls, serialize, uintptr(int64(uintptr(int64(cs)+(*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(cs)+(*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset) + uintptr(i)*8))), int32(32)) != 0) {
  9463. return m_FcFalse
  9464. }
  9465. goto _3
  9466. _3:
  9467. ;
  9468. i++
  9469. }
  9470. return int32(m_FcTrue)
  9471. }
  9472. func XFcCharSetSerialize(tls *libc.TLS, serialize uintptr, cs uintptr) (r uintptr) {
  9473. var cs_serialized, leaf, leaf_serialized, leaves, leaves_serialized, numbers, numbers_serialized uintptr
  9474. var i int32
  9475. var v1 TFcBool
  9476. _, _, _, _, _, _, _, _, _ = cs_serialized, i, leaf, leaf_serialized, leaves, leaves_serialized, numbers, numbers_serialized, v1
  9477. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(cs)).Fcount == -libc.Int32FromInt32(1))
  9478. goto _2
  9479. _2:
  9480. ;
  9481. if !(v1 != 0) && (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0 {
  9482. cs = _FcCharSetFindFrozen(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs)
  9483. if !(cs != 0) {
  9484. return libc.UintptrFromInt32(0)
  9485. }
  9486. }
  9487. cs_serialized = XFcSerializePtr(tls, serialize, cs)
  9488. if !(cs_serialized != 0) {
  9489. return libc.UintptrFromInt32(0)
  9490. }
  9491. (*TFcRef)(unsafe.Pointer(cs_serialized)).Fcount = -libc.Int32FromInt32(1)
  9492. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnum = (*TFcCharSet)(unsafe.Pointer(cs)).Fnum
  9493. if (*TFcCharSet)(unsafe.Pointer(cs)).Fnum != 0 {
  9494. leaves = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)
  9495. leaves_serialized = XFcSerializePtr(tls, serialize, leaves)
  9496. if !(leaves_serialized != 0) {
  9497. return libc.UintptrFromInt32(0)
  9498. }
  9499. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fleaves_offset = int64(leaves_serialized) - int64(cs_serialized)
  9500. numbers = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fnumbers_offset)
  9501. numbers_serialized = XFcSerializePtr(tls, serialize, numbers)
  9502. if !(numbers != 0) {
  9503. return libc.UintptrFromInt32(0)
  9504. }
  9505. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnumbers_offset = int64(numbers_serialized) - int64(cs_serialized)
  9506. i = 0
  9507. for {
  9508. if !(i < (*TFcCharSet)(unsafe.Pointer(cs)).Fnum) {
  9509. break
  9510. }
  9511. leaf = uintptr(int64(uintptr(int64(cs)+(*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(cs)+(*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset) + uintptr(i)*8)))
  9512. leaf_serialized = XFcSerializePtr(tls, serialize, leaf)
  9513. if !(leaf_serialized != 0) {
  9514. return libc.UintptrFromInt32(0)
  9515. }
  9516. *(*TFcCharLeaf)(unsafe.Pointer(leaf_serialized)) = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  9517. *(*Tintptr_t)(unsafe.Pointer(leaves_serialized + uintptr(i)*8)) = int64(leaf_serialized) - int64(leaves_serialized)
  9518. *(*TFcChar16)(unsafe.Pointer(numbers_serialized + uintptr(i)*2)) = *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(i)*2))
  9519. goto _3
  9520. _3:
  9521. ;
  9522. i++
  9523. }
  9524. } else {
  9525. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fleaves_offset = 0
  9526. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnumbers_offset = 0
  9527. }
  9528. return cs_serialized
  9529. }
  9530. const m_FC_O_BINARY = 0
  9531. const m_FC_O_CLOEXEC = "O_CLOEXEC"
  9532. const m_FC_O_LARGEFILE = "O_LARGEFILE"
  9533. const m_FC_O_NOINHERIT = 0
  9534. const m_FC_O_TEMPORARY = 0
  9535. const m_O_CLOEXEC1 = 524288
  9536. const m_O_LARGEFILE1 = 32768
  9537. const m_O_RDONLY1 = 00
  9538. const m_O_RDWR1 = 02
  9539. func XFcOpen(tls *libc.TLS, pathname uintptr, flags int32, va uintptr) (r int32) {
  9540. bp := tls.Alloc(16)
  9541. defer tls.Free(16)
  9542. var ap Tva_list
  9543. var fd int32
  9544. var mode Tmode_t
  9545. _, _, _ = ap, fd, mode
  9546. fd = -int32(1)
  9547. if flags&int32(m_O_CREAT) != 0 {
  9548. ap = va
  9549. mode = libc.Uint32FromInt32(libc.VaInt32(&ap))
  9550. _ = ap
  9551. fd = libc.Xopen(tls, pathname, flags|int32(m_O_CLOEXEC1)|int32(m_O_LARGEFILE1), libc.VaList(bp+8, mode))
  9552. } else {
  9553. fd = libc.Xopen(tls, pathname, flags|int32(m_O_CLOEXEC1)|int32(m_O_LARGEFILE1), 0)
  9554. }
  9555. return fd
  9556. }
  9557. func XFcMakeTempfile(tls *libc.TLS, template uintptr) (r int32) {
  9558. var fd int32
  9559. _ = fd
  9560. fd = -int32(1)
  9561. fd = libc.Xmkostemp(tls, template, int32(m_O_CLOEXEC1))
  9562. return fd
  9563. }
  9564. func XFcRandom(tls *libc.TLS) (r Tint32_t) {
  9565. bp := tls.Alloc(16)
  9566. defer tls.Free(16)
  9567. var _ /* result at bp+0 */ Tint32_t
  9568. if _initialized != int32(m_FcTrue) {
  9569. libc.Xinitstate_r(tls, libc.Uint32FromInt64(libc.Xtime(tls, libc.UintptrFromInt32(0))), uintptr(unsafe.Pointer(&_statebuf)), uint64(256), uintptr(unsafe.Pointer(&_fcrandbuf)))
  9570. _initialized = int32(m_FcTrue)
  9571. }
  9572. libc.Xrandom_r(tls, uintptr(unsafe.Pointer(&_fcrandbuf)), bp)
  9573. return *(*Tint32_t)(unsafe.Pointer(bp))
  9574. }
  9575. var _fcrandbuf int32
  9576. var _statebuf [256]uint8
  9577. var _initialized TFcBool
  9578. func XFcMakeDirectory(tls *libc.TLS, dir uintptr) (r TFcBool) {
  9579. var parent uintptr
  9580. var ret TFcBool
  9581. _, _ = parent, ret
  9582. if libc.Xstrlen(tls, dir) == uint64(0) {
  9583. return m_FcFalse
  9584. }
  9585. parent = XIA__FcStrDirname(tls, dir)
  9586. if !(parent != 0) {
  9587. return m_FcFalse
  9588. }
  9589. if libc.Xaccess(tls, parent, m_F_OK) == 0 {
  9590. ret = libc.BoolInt32(libc.Xmkdir(tls, dir, uint32(0755)) == 0 && libc.Xchmod(tls, dir, uint32(0755)) == 0)
  9591. } else {
  9592. if libc.Xaccess(tls, parent, m_F_OK) == -int32(1) {
  9593. ret = libc.BoolInt32(XFcMakeDirectory(tls, parent) != 0 && libc.Xmkdir(tls, dir, uint32(0755)) == 0 && libc.Xchmod(tls, dir, uint32(0755)) == 0)
  9594. } else {
  9595. ret = m_FcFalse
  9596. }
  9597. }
  9598. XIA__FcStrFree(tls, parent)
  9599. return ret
  9600. }
  9601. func XFcReadLink(tls *libc.TLS, pathname uintptr, buf uintptr, bufsiz Tsize_t) (r Tssize_t) {
  9602. return libc.Xreadlink(tls, pathname, buf, bufsiz)
  9603. }
  9604. func __FcValuePrintFile(tls *libc.TLS, f uintptr, _v TFcValue) {
  9605. bp := tls.Alloc(64)
  9606. defer tls.Free(64)
  9607. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  9608. var v1, v2 uintptr
  9609. _, _ = v1, v2
  9610. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  9611. case int32(_FcTypeUnknown):
  9612. libc.Xfprintf(tls, f, __ccgo_ts+1905, 0)
  9613. case int32(_FcTypeVoid):
  9614. libc.Xfprintf(tls, f, __ccgo_ts+1915, 0)
  9615. case int32(_FcTypeInteger):
  9616. libc.Xfprintf(tls, f, __ccgo_ts+1922, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(bp + 8))))
  9617. case int32(_FcTypeDouble):
  9618. libc.Xfprintf(tls, f, __ccgo_ts+1928, libc.VaList(bp+24, *(*float64)(unsafe.Pointer(bp + 8))))
  9619. case int32(_FcTypeString):
  9620. libc.Xfprintf(tls, f, __ccgo_ts+1934, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(bp + 8))))
  9621. case int32(_FcTypeBool):
  9622. if *(*TFcBool)(unsafe.Pointer(bp + 8)) == int32(m_FcTrue) {
  9623. v1 = __ccgo_ts + 1939
  9624. } else {
  9625. if *(*TFcBool)(unsafe.Pointer(bp + 8)) == m_FcFalse {
  9626. v2 = __ccgo_ts + 1944
  9627. } else {
  9628. v2 = __ccgo_ts + 1950
  9629. }
  9630. v1 = v2
  9631. }
  9632. libc.Xfprintf(tls, f, v1, 0)
  9633. case int32(_FcTypeMatrix):
  9634. libc.Xfprintf(tls, f, __ccgo_ts+1959, libc.VaList(bp+24, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fxx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fxy, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fyx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fyy))
  9635. case int32(_FcTypeCharSet): /* XXX */
  9636. if f == libc.Xstdout {
  9637. XFcCharSetPrint(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  9638. }
  9639. case int32(_FcTypeLangSet):
  9640. XFcLangSetPrint(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  9641. case int32(_FcTypeFTFace):
  9642. libc.Xfprintf(tls, f, __ccgo_ts+1974, 0)
  9643. case int32(_FcTypeRange):
  9644. libc.Xfprintf(tls, f, __ccgo_ts+1979, libc.VaList(bp+24, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend))
  9645. break
  9646. }
  9647. }
  9648. func XFcValuePrintFile(tls *libc.TLS, f uintptr, v TFcValue) {
  9649. libc.Xfprintf(tls, f, __ccgo_ts+1987, 0)
  9650. __FcValuePrintFile(tls, f, v)
  9651. }
  9652. func XIA__FcValuePrint(tls *libc.TLS, v TFcValue) {
  9653. libc.Xprintf(tls, __ccgo_ts+1987, 0)
  9654. __FcValuePrintFile(tls, libc.Xstdout, v)
  9655. }
  9656. var XFcValuePrint = XIA__FcValuePrint
  9657. func XFcValuePrintWithPosition(tls *libc.TLS, v TFcValue, show_pos_mark TFcBool) {
  9658. if show_pos_mark != 0 {
  9659. libc.Xprintf(tls, __ccgo_ts+1989, 0)
  9660. } else {
  9661. libc.Xprintf(tls, __ccgo_ts+1987, 0)
  9662. }
  9663. __FcValuePrintFile(tls, libc.Xstdout, v)
  9664. }
  9665. func _FcValueBindingPrint(tls *libc.TLS, l TFcValueListPtr) {
  9666. switch (*T_FcValueList)(unsafe.Pointer(l)).Fbinding {
  9667. case int32(_FcValueBindingWeak):
  9668. libc.Xprintf(tls, __ccgo_ts+2000, 0)
  9669. case int32(_FcValueBindingStrong):
  9670. libc.Xprintf(tls, __ccgo_ts+2004, 0)
  9671. case int32(_FcValueBindingSame):
  9672. libc.Xprintf(tls, __ccgo_ts+2008, 0)
  9673. default:
  9674. /* shouldn't be reached */
  9675. libc.Xprintf(tls, __ccgo_ts+2012, 0)
  9676. break
  9677. }
  9678. }
  9679. func XFcValueListPrintWithPosition(tls *libc.TLS, l TFcValueListPtr, pos TFcValueListPtr) {
  9680. var v2 uintptr
  9681. _ = v2
  9682. for {
  9683. if !(l != libc.UintptrFromInt32(0)) {
  9684. break
  9685. }
  9686. XFcValuePrintWithPosition(tls, XFcValueCanonicalize(tls, l+8), libc.BoolInt32(pos != libc.UintptrFromInt32(0) && l == pos))
  9687. _FcValueBindingPrint(tls, l)
  9688. goto _1
  9689. _1:
  9690. ;
  9691. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  9692. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  9693. } else {
  9694. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  9695. }
  9696. l = v2
  9697. }
  9698. if !(pos != 0) {
  9699. libc.Xprintf(tls, __ccgo_ts+2016, 0)
  9700. }
  9701. }
  9702. func XFcValueListPrint(tls *libc.TLS, l TFcValueListPtr) {
  9703. var v2 uintptr
  9704. _ = v2
  9705. for {
  9706. if !(l != libc.UintptrFromInt32(0)) {
  9707. break
  9708. }
  9709. XIA__FcValuePrint(tls, XFcValueCanonicalize(tls, l+8))
  9710. _FcValueBindingPrint(tls, l)
  9711. goto _1
  9712. _1:
  9713. ;
  9714. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  9715. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  9716. } else {
  9717. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  9718. }
  9719. l = v2
  9720. }
  9721. }
  9722. func XFcLangSetPrint(tls *libc.TLS, ls uintptr) {
  9723. bp := tls.Alloc(1200)
  9724. defer tls.Free(1200)
  9725. var _ /* buf at bp+0 */ TFcStrBuf
  9726. var _ /* init_buf at bp+152 */ [1024]TFcChar8
  9727. XFcStrBufInit(tls, bp, bp+152, int32(1024))
  9728. if XFcNameUnparseLangSet(tls, bp, ls) != 0 && XFcStrBufChar(tls, bp, uint8('\000')) != 0 {
  9729. libc.Xprintf(tls, __ccgo_ts+2026, libc.VaList(bp+1184, (*(*TFcStrBuf)(unsafe.Pointer(bp))).Fbuf))
  9730. } else {
  9731. libc.Xprintf(tls, __ccgo_ts+2029, 0)
  9732. }
  9733. XFcStrBufDestroy(tls, bp)
  9734. }
  9735. func XFcCharSetPrint(tls *libc.TLS, c uintptr) {
  9736. bp := tls.Alloc(16)
  9737. defer tls.Free(16)
  9738. var i, j int32
  9739. var leaf, leaves, numbers uintptr
  9740. var leaf_offset Tintptr_t
  9741. _, _, _, _, _, _ = i, j, leaf, leaf_offset, leaves, numbers
  9742. leaves = uintptr(int64(c) + (*TFcCharSet)(unsafe.Pointer(c)).Fleaves_offset)
  9743. numbers = uintptr(int64(c) + (*TFcCharSet)(unsafe.Pointer(c)).Fnumbers_offset)
  9744. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  9745. i = 0
  9746. for {
  9747. if !(i < (*TFcCharSet)(unsafe.Pointer(c)).Fnum) {
  9748. break
  9749. }
  9750. leaf_offset = *(*Tintptr_t)(unsafe.Pointer(leaves + uintptr(i)*8))
  9751. leaf = uintptr(int64(leaves) + leaf_offset)
  9752. libc.Xprintf(tls, __ccgo_ts+2051, 0)
  9753. libc.Xprintf(tls, __ccgo_ts+2053, libc.VaList(bp+8, libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(numbers + uintptr(i)*2)))))
  9754. j = 0
  9755. for {
  9756. if !(j < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  9757. break
  9758. }
  9759. libc.Xprintf(tls, __ccgo_ts+2059, libc.VaList(bp+8, *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(j)*4))))
  9760. goto _2
  9761. _2:
  9762. ;
  9763. j++
  9764. }
  9765. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  9766. goto _1
  9767. _1:
  9768. ;
  9769. i++
  9770. }
  9771. }
  9772. func XIA__FcPatternPrint(tls *libc.TLS, p uintptr) {
  9773. bp := tls.Alloc(48)
  9774. defer tls.Free(48)
  9775. var _ /* iter at bp+0 */ TFcPatternIter
  9776. if !(p != 0) {
  9777. libc.Xprintf(tls, __ccgo_ts+2065, 0)
  9778. return
  9779. }
  9780. libc.Xprintf(tls, __ccgo_ts+2079, libc.VaList(bp+24, XIA__FcPatternObjectCount(tls, p), (*TFcPattern)(unsafe.Pointer(p)).Fsize))
  9781. XIA__FcPatternIterStart(tls, p, bp)
  9782. for cond := true; cond; cond = XIA__FcPatternIterNext(tls, p, bp) != 0 {
  9783. libc.Xprintf(tls, __ccgo_ts+2110, libc.VaList(bp+24, XIA__FcPatternIterGetObject(tls, p, bp)))
  9784. XFcValueListPrint(tls, XFcPatternIterGetValues(tls, p, bp))
  9785. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  9786. }
  9787. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  9788. }
  9789. var XFcPatternPrint = XIA__FcPatternPrint
  9790. func XFcPatternPrint2(tls *libc.TLS, pp1 uintptr, pp2 uintptr, os uintptr) {
  9791. bp := tls.Alloc(48)
  9792. defer tls.Free(48)
  9793. var e1, e2, p1, p2, v10, v5, v6, v7, v8 uintptr
  9794. var i, j, k, pos int32
  9795. _, _, _, _, _, _, _, _, _, _, _, _, _ = e1, e2, i, j, k, p1, p2, pos, v10, v5, v6, v7, v8
  9796. if os != 0 {
  9797. p1 = XIA__FcPatternFilter(tls, pp1, os)
  9798. p2 = XIA__FcPatternFilter(tls, pp2, os)
  9799. } else {
  9800. p1 = pp1
  9801. p2 = pp2
  9802. }
  9803. libc.Xprintf(tls, __ccgo_ts+2115, libc.VaList(bp+8, (*TFcPattern)(unsafe.Pointer(p1)).Fnum, (*TFcPattern)(unsafe.Pointer(p1)).Fsize, (*TFcPattern)(unsafe.Pointer(p2)).Fnum, (*TFcPattern)(unsafe.Pointer(p2)).Fsize))
  9804. i = 0
  9805. j = libc.Int32FromInt32(0)
  9806. for {
  9807. if !(i < (*TFcPattern)(unsafe.Pointer(p1)).Fnum) {
  9808. break
  9809. }
  9810. e1 = uintptr(int64(p1)+(*TFcPattern)(unsafe.Pointer(p1)).Felts_offset) + uintptr(i)*16
  9811. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(j)*16
  9812. if !(!(e2 != 0) || (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject != (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject) {
  9813. goto _2
  9814. }
  9815. pos = XFcPatternPosition(tls, p2, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject))
  9816. if pos >= 0 {
  9817. k = j
  9818. for {
  9819. if !(k < pos) {
  9820. break
  9821. }
  9822. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(k)*16
  9823. libc.Xprintf(tls, __ccgo_ts+2165, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject)))
  9824. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  9825. v5 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  9826. } else {
  9827. v5 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  9828. }
  9829. XFcValueListPrint(tls, v5)
  9830. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  9831. goto _4
  9832. _4:
  9833. ;
  9834. k++
  9835. }
  9836. j = pos
  9837. goto cont
  9838. } else {
  9839. libc.Xprintf(tls, __ccgo_ts+2110, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject)))
  9840. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  9841. v6 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  9842. } else {
  9843. v6 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  9844. }
  9845. XFcValueListPrint(tls, v6)
  9846. libc.Xprintf(tls, __ccgo_ts+2181, 0)
  9847. }
  9848. goto _3
  9849. _2:
  9850. ;
  9851. goto cont
  9852. cont:
  9853. ;
  9854. libc.Xprintf(tls, __ccgo_ts+2110, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject)))
  9855. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  9856. v7 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  9857. } else {
  9858. v7 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  9859. }
  9860. XFcValueListPrint(tls, v7)
  9861. libc.Xprintf(tls, __ccgo_ts+2193, 0)
  9862. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(j)*16
  9863. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  9864. v8 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  9865. } else {
  9866. v8 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  9867. }
  9868. XFcValueListPrint(tls, v8)
  9869. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  9870. j++
  9871. _3:
  9872. ;
  9873. goto _1
  9874. _1:
  9875. ;
  9876. i++
  9877. }
  9878. if j < (*TFcPattern)(unsafe.Pointer(p2)).Fnum {
  9879. k = j
  9880. for {
  9881. if !(k < (*TFcPattern)(unsafe.Pointer(p2)).Fnum) {
  9882. break
  9883. }
  9884. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(k)*16
  9885. if XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject) != 0 {
  9886. libc.Xprintf(tls, __ccgo_ts+2165, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject)))
  9887. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  9888. v10 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  9889. } else {
  9890. v10 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  9891. }
  9892. XFcValueListPrint(tls, v10)
  9893. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  9894. }
  9895. goto _9
  9896. _9:
  9897. ;
  9898. k++
  9899. }
  9900. }
  9901. if p1 != pp1 {
  9902. XIA__FcPatternDestroy(tls, p1)
  9903. }
  9904. if p2 != pp2 {
  9905. XIA__FcPatternDestroy(tls, p2)
  9906. }
  9907. }
  9908. func XFcOpPrint(tls *libc.TLS, op_ TFcOp) {
  9909. var f, f1, f2 int32
  9910. var op TFcOp
  9911. _, _, _, _ = f, f1, f2, op
  9912. op = op_ & libc.Int32FromInt32(0xffff)
  9913. switch op {
  9914. case int32(_FcOpInteger):
  9915. libc.Xprintf(tls, __ccgo_ts+2198, 0)
  9916. case int32(_FcOpDouble):
  9917. libc.Xprintf(tls, __ccgo_ts+2206, 0)
  9918. case int32(_FcOpString):
  9919. libc.Xprintf(tls, __ccgo_ts+2213, 0)
  9920. case int32(_FcOpMatrix):
  9921. libc.Xprintf(tls, __ccgo_ts+2220, 0)
  9922. case int32(_FcOpRange):
  9923. libc.Xprintf(tls, __ccgo_ts+2227, 0)
  9924. case int32(_FcOpBool):
  9925. libc.Xprintf(tls, __ccgo_ts+2233, 0)
  9926. case int32(_FcOpCharSet):
  9927. libc.Xprintf(tls, __ccgo_ts+2238, 0)
  9928. case int32(_FcOpLangSet):
  9929. libc.Xprintf(tls, __ccgo_ts+2246, 0)
  9930. case int32(_FcOpField):
  9931. libc.Xprintf(tls, __ccgo_ts+2254, 0)
  9932. case int32(_FcOpConst):
  9933. libc.Xprintf(tls, __ccgo_ts+2260, 0)
  9934. case int32(_FcOpAssign):
  9935. libc.Xprintf(tls, __ccgo_ts+2266, 0)
  9936. case int32(_FcOpAssignReplace):
  9937. libc.Xprintf(tls, __ccgo_ts+2273, 0)
  9938. case int32(_FcOpPrepend):
  9939. libc.Xprintf(tls, __ccgo_ts+1317, 0)
  9940. case int32(_FcOpPrependFirst):
  9941. libc.Xprintf(tls, __ccgo_ts+2287, 0)
  9942. case int32(_FcOpAppend):
  9943. libc.Xprintf(tls, __ccgo_ts+1310, 0)
  9944. case int32(_FcOpAppendLast):
  9945. libc.Xprintf(tls, __ccgo_ts+2300, 0)
  9946. case int32(_FcOpDelete):
  9947. libc.Xprintf(tls, __ccgo_ts+2311, 0)
  9948. case int32(_FcOpDeleteAll):
  9949. libc.Xprintf(tls, __ccgo_ts+2318, 0)
  9950. case int32(_FcOpQuest):
  9951. libc.Xprintf(tls, __ccgo_ts+2328, 0)
  9952. case int32(_FcOpOr):
  9953. libc.Xprintf(tls, __ccgo_ts+2334, 0)
  9954. case int32(_FcOpAnd):
  9955. libc.Xprintf(tls, __ccgo_ts+2337, 0)
  9956. case int32(_FcOpEqual):
  9957. libc.Xprintf(tls, __ccgo_ts+2341, 0)
  9958. f = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  9959. if f&int32(_FcOpFlagIgnoreBlanks) != 0 {
  9960. libc.Xprintf(tls, __ccgo_ts+2347, 0)
  9961. }
  9962. case int32(_FcOpNotEqual):
  9963. libc.Xprintf(tls, __ccgo_ts+2363, 0)
  9964. f1 = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  9965. if f1&int32(_FcOpFlagIgnoreBlanks) != 0 {
  9966. libc.Xprintf(tls, __ccgo_ts+2347, 0)
  9967. }
  9968. case int32(_FcOpLess):
  9969. libc.Xprintf(tls, __ccgo_ts+2372, 0)
  9970. case int32(_FcOpLessEqual):
  9971. libc.Xprintf(tls, __ccgo_ts+2377, 0)
  9972. case int32(_FcOpMore):
  9973. libc.Xprintf(tls, __ccgo_ts+2387, 0)
  9974. case int32(_FcOpMoreEqual):
  9975. libc.Xprintf(tls, __ccgo_ts+2392, 0)
  9976. case int32(_FcOpContains):
  9977. libc.Xprintf(tls, __ccgo_ts+2402, 0)
  9978. case int32(_FcOpNotContains):
  9979. libc.Xprintf(tls, __ccgo_ts+2411, 0)
  9980. case int32(_FcOpPlus):
  9981. libc.Xprintf(tls, __ccgo_ts+2423, 0)
  9982. case int32(_FcOpMinus):
  9983. libc.Xprintf(tls, __ccgo_ts+2428, 0)
  9984. case int32(_FcOpTimes):
  9985. libc.Xprintf(tls, __ccgo_ts+2434, 0)
  9986. case int32(_FcOpDivide):
  9987. libc.Xprintf(tls, __ccgo_ts+2440, 0)
  9988. case int32(_FcOpNot):
  9989. libc.Xprintf(tls, __ccgo_ts+2447, 0)
  9990. case int32(_FcOpNil):
  9991. libc.Xprintf(tls, __ccgo_ts+2451, 0)
  9992. case int32(_FcOpComma):
  9993. libc.Xprintf(tls, __ccgo_ts+2455, 0)
  9994. case int32(_FcOpFloor):
  9995. libc.Xprintf(tls, __ccgo_ts+2461, 0)
  9996. case int32(_FcOpCeil):
  9997. libc.Xprintf(tls, __ccgo_ts+2467, 0)
  9998. case int32(_FcOpRound):
  9999. libc.Xprintf(tls, __ccgo_ts+2472, 0)
  10000. case int32(_FcOpTrunc):
  10001. libc.Xprintf(tls, __ccgo_ts+2478, 0)
  10002. case int32(_FcOpListing):
  10003. libc.Xprintf(tls, __ccgo_ts+2484, 0)
  10004. f2 = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  10005. if f2&int32(_FcOpFlagIgnoreBlanks) != 0 {
  10006. libc.Xprintf(tls, __ccgo_ts+2347, 0)
  10007. }
  10008. case int32(_FcOpInvalid):
  10009. libc.Xprintf(tls, __ccgo_ts+2492, 0)
  10010. break
  10011. }
  10012. }
  10013. func XFcExprPrint(tls *libc.TLS, expr uintptr) {
  10014. bp := tls.Alloc(32)
  10015. defer tls.Free(32)
  10016. var f, f1, f2 int32
  10017. var v1 uintptr
  10018. _, _, _, _ = f, f1, f2, v1
  10019. if !(expr != 0) {
  10020. libc.Xprintf(tls, __ccgo_ts+2500, 0)
  10021. } else {
  10022. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  10023. case int32(_FcOpInteger):
  10024. libc.Xprintf(tls, __ccgo_ts+2505, libc.VaList(bp+8, (*TFcExpr)(unsafe.Pointer(expr)).Fu.Fival))
  10025. case int32(_FcOpDouble):
  10026. libc.Xprintf(tls, __ccgo_ts+2508, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  10027. case int32(_FcOpString):
  10028. libc.Xprintf(tls, __ccgo_ts+1934, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  10029. case int32(_FcOpMatrix):
  10030. libc.Xprintf(tls, __ccgo_ts+2511, 0)
  10031. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fxx)
  10032. libc.Xprintf(tls, __ccgo_ts+1987, 0)
  10033. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fxy)
  10034. libc.Xprintf(tls, __ccgo_ts+2513, 0)
  10035. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fyx)
  10036. libc.Xprintf(tls, __ccgo_ts+1987, 0)
  10037. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fyy)
  10038. libc.Xprintf(tls, __ccgo_ts+2516, 0)
  10039. case int32(_FcOpRange):
  10040. libc.Xprintf(tls, __ccgo_ts+2518, libc.VaList(bp+8, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fend))
  10041. case int32(_FcOpBool):
  10042. if *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)) != 0 {
  10043. v1 = __ccgo_ts + 2527
  10044. } else {
  10045. v1 = __ccgo_ts + 2532
  10046. }
  10047. libc.Xprintf(tls, __ccgo_ts+2026, libc.VaList(bp+8, v1))
  10048. case int32(_FcOpCharSet):
  10049. libc.Xprintf(tls, __ccgo_ts+2538, 0)
  10050. case int32(_FcOpLangSet):
  10051. libc.Xprintf(tls, __ccgo_ts+2547, 0)
  10052. XFcLangSetPrint(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))
  10053. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  10054. case int32(_FcOpNil):
  10055. libc.Xprintf(tls, __ccgo_ts+2556, 0)
  10056. case int32(_FcOpField):
  10057. libc.Xprintf(tls, __ccgo_ts+2561, libc.VaList(bp+8, XFcObjectName(tls, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))).Fobject)))
  10058. switch (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))).Fkind {
  10059. case int32(_FcMatchPattern):
  10060. libc.Xprintf(tls, __ccgo_ts+2565, 0)
  10061. case int32(_FcMatchFont):
  10062. libc.Xprintf(tls, __ccgo_ts+2576, 0)
  10063. break
  10064. }
  10065. case int32(_FcOpConst):
  10066. libc.Xprintf(tls, __ccgo_ts+2026, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  10067. case int32(_FcOpQuest):
  10068. XFcExprPrint(tls, (*(*struct {
  10069. Fleft uintptr
  10070. Fright uintptr
  10071. })(unsafe.Pointer(expr + 8))).Fleft)
  10072. libc.Xprintf(tls, __ccgo_ts+2584, 0)
  10073. XFcExprPrint(tls, (*(*struct {
  10074. Fleft uintptr
  10075. Fright uintptr
  10076. })(unsafe.Pointer((*(*struct {
  10077. Fleft uintptr
  10078. Fright uintptr
  10079. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fleft)
  10080. libc.Xprintf(tls, __ccgo_ts+2592, 0)
  10081. XFcExprPrint(tls, (*(*struct {
  10082. Fleft uintptr
  10083. Fright uintptr
  10084. })(unsafe.Pointer((*(*struct {
  10085. Fleft uintptr
  10086. Fright uintptr
  10087. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fright)
  10088. case int32(_FcOpAssign):
  10089. fallthrough
  10090. case int32(_FcOpAssignReplace):
  10091. fallthrough
  10092. case int32(_FcOpPrependFirst):
  10093. fallthrough
  10094. case int32(_FcOpPrepend):
  10095. fallthrough
  10096. case int32(_FcOpAppend):
  10097. fallthrough
  10098. case int32(_FcOpAppendLast):
  10099. fallthrough
  10100. case int32(_FcOpOr):
  10101. fallthrough
  10102. case int32(_FcOpAnd):
  10103. fallthrough
  10104. case int32(_FcOpEqual):
  10105. fallthrough
  10106. case int32(_FcOpNotEqual):
  10107. fallthrough
  10108. case int32(_FcOpLess):
  10109. fallthrough
  10110. case int32(_FcOpLessEqual):
  10111. fallthrough
  10112. case int32(_FcOpMore):
  10113. fallthrough
  10114. case int32(_FcOpMoreEqual):
  10115. fallthrough
  10116. case int32(_FcOpContains):
  10117. fallthrough
  10118. case int32(_FcOpListing):
  10119. fallthrough
  10120. case int32(_FcOpNotContains):
  10121. fallthrough
  10122. case int32(_FcOpPlus):
  10123. fallthrough
  10124. case int32(_FcOpMinus):
  10125. fallthrough
  10126. case int32(_FcOpTimes):
  10127. fallthrough
  10128. case int32(_FcOpDivide):
  10129. fallthrough
  10130. case int32(_FcOpComma):
  10131. XFcExprPrint(tls, (*(*struct {
  10132. Fleft uintptr
  10133. Fright uintptr
  10134. })(unsafe.Pointer(expr + 8))).Fleft)
  10135. libc.Xprintf(tls, __ccgo_ts+1987, 0)
  10136. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  10137. case int32(_FcOpAssign):
  10138. libc.Xprintf(tls, __ccgo_ts+2266, 0)
  10139. case int32(_FcOpAssignReplace):
  10140. libc.Xprintf(tls, __ccgo_ts+2273, 0)
  10141. case int32(_FcOpPrependFirst):
  10142. libc.Xprintf(tls, __ccgo_ts+2287, 0)
  10143. case int32(_FcOpPrepend):
  10144. libc.Xprintf(tls, __ccgo_ts+1317, 0)
  10145. case int32(_FcOpAppend):
  10146. libc.Xprintf(tls, __ccgo_ts+1310, 0)
  10147. case int32(_FcOpAppendLast):
  10148. libc.Xprintf(tls, __ccgo_ts+2300, 0)
  10149. case int32(_FcOpOr):
  10150. libc.Xprintf(tls, __ccgo_ts+2334, 0)
  10151. case int32(_FcOpAnd):
  10152. libc.Xprintf(tls, __ccgo_ts+2337, 0)
  10153. case int32(_FcOpEqual):
  10154. libc.Xprintf(tls, __ccgo_ts+2341, 0)
  10155. f = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  10156. if f&int32(_FcOpFlagIgnoreBlanks) != 0 {
  10157. libc.Xprintf(tls, __ccgo_ts+2347, 0)
  10158. }
  10159. case int32(_FcOpNotEqual):
  10160. libc.Xprintf(tls, __ccgo_ts+2363, 0)
  10161. f1 = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  10162. if f1&int32(_FcOpFlagIgnoreBlanks) != 0 {
  10163. libc.Xprintf(tls, __ccgo_ts+2347, 0)
  10164. }
  10165. case int32(_FcOpLess):
  10166. libc.Xprintf(tls, __ccgo_ts+2372, 0)
  10167. case int32(_FcOpLessEqual):
  10168. libc.Xprintf(tls, __ccgo_ts+2377, 0)
  10169. case int32(_FcOpMore):
  10170. libc.Xprintf(tls, __ccgo_ts+2387, 0)
  10171. case int32(_FcOpMoreEqual):
  10172. libc.Xprintf(tls, __ccgo_ts+2392, 0)
  10173. case int32(_FcOpContains):
  10174. libc.Xprintf(tls, __ccgo_ts+2402, 0)
  10175. case int32(_FcOpListing):
  10176. libc.Xprintf(tls, __ccgo_ts+2484, 0)
  10177. f2 = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  10178. if f2&int32(_FcOpFlagIgnoreBlanks) != 0 {
  10179. libc.Xprintf(tls, __ccgo_ts+2347, 0)
  10180. }
  10181. case int32(_FcOpNotContains):
  10182. libc.Xprintf(tls, __ccgo_ts+2411, 0)
  10183. case int32(_FcOpPlus):
  10184. libc.Xprintf(tls, __ccgo_ts+2423, 0)
  10185. case int32(_FcOpMinus):
  10186. libc.Xprintf(tls, __ccgo_ts+2428, 0)
  10187. case int32(_FcOpTimes):
  10188. libc.Xprintf(tls, __ccgo_ts+2434, 0)
  10189. case int32(_FcOpDivide):
  10190. libc.Xprintf(tls, __ccgo_ts+2440, 0)
  10191. case int32(_FcOpComma):
  10192. libc.Xprintf(tls, __ccgo_ts+2455, 0)
  10193. default:
  10194. break
  10195. }
  10196. libc.Xprintf(tls, __ccgo_ts+1987, 0)
  10197. XFcExprPrint(tls, (*(*struct {
  10198. Fleft uintptr
  10199. Fright uintptr
  10200. })(unsafe.Pointer(expr + 8))).Fright)
  10201. case int32(_FcOpNot):
  10202. libc.Xprintf(tls, __ccgo_ts+2600, 0)
  10203. XFcExprPrint(tls, (*(*struct {
  10204. Fleft uintptr
  10205. Fright uintptr
  10206. })(unsafe.Pointer(expr + 8))).Fleft)
  10207. case int32(_FcOpFloor):
  10208. libc.Xprintf(tls, __ccgo_ts+2605, 0)
  10209. XFcExprPrint(tls, (*(*struct {
  10210. Fleft uintptr
  10211. Fright uintptr
  10212. })(unsafe.Pointer(expr + 8))).Fleft)
  10213. case int32(_FcOpCeil):
  10214. libc.Xprintf(tls, __ccgo_ts+2612, 0)
  10215. XFcExprPrint(tls, (*(*struct {
  10216. Fleft uintptr
  10217. Fright uintptr
  10218. })(unsafe.Pointer(expr + 8))).Fleft)
  10219. case int32(_FcOpRound):
  10220. libc.Xprintf(tls, __ccgo_ts+2618, 0)
  10221. XFcExprPrint(tls, (*(*struct {
  10222. Fleft uintptr
  10223. Fright uintptr
  10224. })(unsafe.Pointer(expr + 8))).Fleft)
  10225. case int32(_FcOpTrunc):
  10226. libc.Xprintf(tls, __ccgo_ts+2625, 0)
  10227. XFcExprPrint(tls, (*(*struct {
  10228. Fleft uintptr
  10229. Fright uintptr
  10230. })(unsafe.Pointer(expr + 8))).Fleft)
  10231. case int32(_FcOpInvalid):
  10232. libc.Xprintf(tls, __ccgo_ts+2492, 0)
  10233. break
  10234. }
  10235. }
  10236. }
  10237. func XFcTestPrint(tls *libc.TLS, test uintptr) {
  10238. bp := tls.Alloc(16)
  10239. defer tls.Free(16)
  10240. switch (*TFcTest)(unsafe.Pointer(test)).Fkind {
  10241. case int32(_FcMatchPattern):
  10242. libc.Xprintf(tls, __ccgo_ts+2632, 0)
  10243. case int32(_FcMatchFont):
  10244. libc.Xprintf(tls, __ccgo_ts+2641, 0)
  10245. case int32(_FcMatchScan):
  10246. libc.Xprintf(tls, __ccgo_ts+2647, 0)
  10247. case int32(_FcMatchKindEnd):
  10248. /* shouldn't be reached */
  10249. return
  10250. }
  10251. switch (*TFcTest)(unsafe.Pointer(test)).Fqual {
  10252. case int32(_FcQualAny):
  10253. libc.Xprintf(tls, __ccgo_ts+2653, 0)
  10254. case int32(_FcQualAll):
  10255. libc.Xprintf(tls, __ccgo_ts+2658, 0)
  10256. case int32(_FcQualFirst):
  10257. libc.Xprintf(tls, __ccgo_ts+2663, 0)
  10258. case int32(_FcQualNotFirst):
  10259. libc.Xprintf(tls, __ccgo_ts+2670, 0)
  10260. break
  10261. }
  10262. libc.Xprintf(tls, __ccgo_ts+2561, libc.VaList(bp+8, XFcObjectName(tls, (*TFcTest)(unsafe.Pointer(test)).Fobject)))
  10263. XFcOpPrint(tls, (*TFcTest)(unsafe.Pointer(test)).Fop)
  10264. libc.Xprintf(tls, __ccgo_ts+1987, 0)
  10265. XFcExprPrint(tls, (*TFcTest)(unsafe.Pointer(test)).Fexpr)
  10266. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  10267. }
  10268. func XFcEditPrint(tls *libc.TLS, edit uintptr) {
  10269. bp := tls.Alloc(16)
  10270. defer tls.Free(16)
  10271. libc.Xprintf(tls, __ccgo_ts+2681, libc.VaList(bp+8, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fobject)))
  10272. XFcOpPrint(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fop)
  10273. libc.Xprintf(tls, __ccgo_ts+1987, 0)
  10274. XFcExprPrint(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fexpr)
  10275. }
  10276. func XFcRulePrint(tls *libc.TLS, rule uintptr) {
  10277. var last_type TFcRuleType
  10278. var r uintptr
  10279. _, _ = last_type, r
  10280. last_type = int32(_FcRuleUnknown)
  10281. r = rule
  10282. for {
  10283. if !(r != 0) {
  10284. break
  10285. }
  10286. if last_type != (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  10287. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  10288. case int32(_FcRuleTest):
  10289. libc.Xprintf(tls, __ccgo_ts+2690, 0)
  10290. case int32(_FcRuleEdit):
  10291. libc.Xprintf(tls, __ccgo_ts+2698, 0)
  10292. default:
  10293. break
  10294. }
  10295. last_type = (*TFcRule)(unsafe.Pointer(r)).Ftype1
  10296. }
  10297. libc.Xprintf(tls, __ccgo_ts+2051, 0)
  10298. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  10299. case int32(_FcRuleTest):
  10300. XFcTestPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  10301. case int32(_FcRuleEdit):
  10302. XFcEditPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  10303. libc.Xprintf(tls, __ccgo_ts+2706, 0)
  10304. default:
  10305. break
  10306. }
  10307. goto _1
  10308. _1:
  10309. ;
  10310. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  10311. }
  10312. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  10313. }
  10314. func XIA__FcFontSetPrint(tls *libc.TLS, s uintptr) {
  10315. bp := tls.Alloc(32)
  10316. defer tls.Free(32)
  10317. var i int32
  10318. _ = i
  10319. libc.Xprintf(tls, __ccgo_ts+2709, libc.VaList(bp+8, (*TFcFontSet)(unsafe.Pointer(s)).Fnfont, (*TFcFontSet)(unsafe.Pointer(s)).Fsfont))
  10320. i = 0
  10321. for {
  10322. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  10323. break
  10324. }
  10325. libc.Xprintf(tls, __ccgo_ts+2727, libc.VaList(bp+8, i))
  10326. XIA__FcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8)))
  10327. goto _1
  10328. _1:
  10329. ;
  10330. i++
  10331. }
  10332. }
  10333. var XFcFontSetPrint = XIA__FcFontSetPrint
  10334. func XFcInitDebug(tls *libc.TLS) {
  10335. bp := tls.Alloc(16)
  10336. defer tls.Free(16)
  10337. var e uintptr
  10338. _ = e
  10339. if !(XFcDebugVal != 0) {
  10340. e = libc.Xgetenv(tls, __ccgo_ts+2736)
  10341. if e != 0 {
  10342. libc.Xprintf(tls, __ccgo_ts+2745, libc.VaList(bp+8, e))
  10343. XFcDebugVal = libc.Xatoi(tls, e)
  10344. if XFcDebugVal < 0 {
  10345. XFcDebugVal = 0
  10346. }
  10347. }
  10348. }
  10349. }
  10350. /* MT-safe */
  10351. var _FcBoolDefaults = [8]struct {
  10352. Ffield TFcObject
  10353. Fvalue TFcBool
  10354. }{
  10355. 0: {
  10356. Ffield: int32(_FC_HINTING_OBJECT),
  10357. Fvalue: int32(m_FcTrue),
  10358. },
  10359. 1: {
  10360. Ffield: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  10361. },
  10362. 2: {
  10363. Ffield: int32(_FC_AUTOHINT_OBJECT),
  10364. },
  10365. 3: {
  10366. Ffield: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  10367. Fvalue: int32(m_FcTrue),
  10368. },
  10369. 4: {
  10370. Ffield: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  10371. Fvalue: int32(m_FcTrue),
  10372. },
  10373. 5: {
  10374. Ffield: int32(_FC_DECORATIVE_OBJECT),
  10375. },
  10376. 6: {
  10377. Ffield: int32(_FC_SYMBOL_OBJECT),
  10378. },
  10379. 7: {
  10380. Ffield: int32(_FC_VARIABLE_OBJECT),
  10381. },
  10382. }
  10383. func XIA__FcGetDefaultLangs(tls *libc.TLS) (r uintptr) {
  10384. var langs, result uintptr
  10385. var v1 int32
  10386. _, _, _ = langs, result, v1
  10387. goto retry
  10388. retry:
  10389. ;
  10390. result = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs))))
  10391. if !(result != 0) {
  10392. result = XIA__FcStrSetCreate(tls)
  10393. langs = libc.Xgetenv(tls, __ccgo_ts+2758)
  10394. if !(langs != 0) || !(*(*uint8)(unsafe.Pointer(langs)) != 0) {
  10395. langs = libc.Xgetenv(tls, __ccgo_ts+2766)
  10396. }
  10397. if !(langs != 0) || !(*(*uint8)(unsafe.Pointer(langs)) != 0) {
  10398. langs = libc.Xgetenv(tls, __ccgo_ts+2773)
  10399. }
  10400. if !(langs != 0) || !(*(*uint8)(unsafe.Pointer(langs)) != 0) {
  10401. langs = libc.Xgetenv(tls, __ccgo_ts+2782)
  10402. }
  10403. if langs != 0 && *(*uint8)(unsafe.Pointer(langs)) != 0 {
  10404. if !(XFcStrSetAddLangs(tls, result, langs) != 0) {
  10405. XIA__FcStrSetAdd(tls, result, __ccgo_ts+2787)
  10406. }
  10407. } else {
  10408. XIA__FcStrSetAdd(tls, result, __ccgo_ts+2787)
  10409. }
  10410. (*TFcRef)(unsafe.Pointer(result)).Fcount = -libc.Int32FromInt32(1)
  10411. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) == libc.UintptrFromInt32(0) {
  10412. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) = result
  10413. v1 = libc.Int32FromInt32(m_FcTrue)
  10414. } else {
  10415. v1 = m_FcFalse
  10416. }
  10417. if !(v1 != 0) {
  10418. (*TFcRef)(unsafe.Pointer(result)).Fcount = int32(1)
  10419. XIA__FcStrSetDestroy(tls, result)
  10420. goto retry
  10421. }
  10422. }
  10423. return result
  10424. }
  10425. var XFcGetDefaultLangs = XIA__FcGetDefaultLangs
  10426. var _default_lang uintptr /* MT-safe */
  10427. func XFcGetDefaultLang(tls *libc.TLS) (r uintptr) {
  10428. var lang, langs uintptr
  10429. var v1 int32
  10430. _, _, _ = lang, langs, v1
  10431. goto retry
  10432. retry:
  10433. ;
  10434. lang = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang))))
  10435. if !(lang != 0) {
  10436. langs = XIA__FcGetDefaultLangs(tls)
  10437. lang = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(langs)).Fstrs)))
  10438. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) == libc.UintptrFromInt32(0) {
  10439. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) = lang
  10440. v1 = libc.Int32FromInt32(m_FcTrue)
  10441. } else {
  10442. v1 = m_FcFalse
  10443. }
  10444. if !(v1 != 0) {
  10445. libc.Xfree(tls, lang)
  10446. goto retry
  10447. }
  10448. }
  10449. return lang
  10450. }
  10451. var _default_prgname uintptr
  10452. func XFcGetPrgname(tls *libc.TLS) (r1 uintptr) {
  10453. var buf, p, prgname, r uintptr
  10454. var len1 Tssize_t
  10455. var size Tsize_t
  10456. var v1 int32
  10457. _, _, _, _, _, _, _ = buf, len1, p, prgname, r, size, v1
  10458. goto retry
  10459. retry:
  10460. ;
  10461. prgname = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname))))
  10462. if !(prgname != 0) {
  10463. size = uint64(m_PATH_MAX)
  10464. p = libc.UintptrFromInt32(0)
  10465. for int32(1) != 0 {
  10466. buf = libc.Xmalloc(tls, size)
  10467. if !(buf != 0) {
  10468. break
  10469. }
  10470. len1 = libc.Xreadlink(tls, __ccgo_ts+2790, buf, size-uint64(1))
  10471. if len1 < 0 {
  10472. libc.Xfree(tls, buf)
  10473. break
  10474. }
  10475. if libc.Uint64FromInt64(len1) < size-uint64(1) {
  10476. *(*uint8)(unsafe.Pointer(buf + uintptr(len1))) = uint8(0)
  10477. p = buf
  10478. break
  10479. }
  10480. libc.Xfree(tls, buf)
  10481. size *= uint64(2)
  10482. }
  10483. if p != 0 {
  10484. r = libc.Xstrrchr(tls, p, int32('/'))
  10485. if r != 0 {
  10486. r++
  10487. } else {
  10488. r = p
  10489. }
  10490. prgname = libc.Xstrdup(tls, r)
  10491. }
  10492. if !(prgname != 0) {
  10493. prgname = libc.Xstrdup(tls, __ccgo_ts+110)
  10494. }
  10495. if p != 0 {
  10496. libc.Xfree(tls, p)
  10497. }
  10498. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) == libc.UintptrFromInt32(0) {
  10499. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) = prgname
  10500. v1 = libc.Int32FromInt32(m_FcTrue)
  10501. } else {
  10502. v1 = m_FcFalse
  10503. }
  10504. if !(v1 != 0) {
  10505. libc.Xfree(tls, prgname)
  10506. goto retry
  10507. }
  10508. }
  10509. if prgname != 0 && !(*(*TFcChar8)(unsafe.Pointer(prgname)) != 0) {
  10510. return libc.UintptrFromInt32(0)
  10511. }
  10512. return prgname
  10513. }
  10514. func XFcDefaultFini(tls *libc.TLS) {
  10515. var lang, langs, prgname uintptr
  10516. var v1, v3, v5 int32
  10517. var v2, v4, v6 bool
  10518. _, _, _, _, _, _, _, _, _ = lang, langs, prgname, v1, v2, v3, v4, v5, v6
  10519. lang = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang))))
  10520. if v2 = lang != 0; v2 {
  10521. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) == lang {
  10522. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) = libc.UintptrFromInt32(0)
  10523. v1 = libc.Int32FromInt32(m_FcTrue)
  10524. } else {
  10525. v1 = m_FcFalse
  10526. }
  10527. }
  10528. if v2 && v1 != 0 {
  10529. libc.Xfree(tls, lang)
  10530. }
  10531. langs = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs))))
  10532. if v4 = langs != 0; v4 {
  10533. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) == langs {
  10534. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) = libc.UintptrFromInt32(0)
  10535. v3 = libc.Int32FromInt32(m_FcTrue)
  10536. } else {
  10537. v3 = m_FcFalse
  10538. }
  10539. }
  10540. if v4 && v3 != 0 {
  10541. (*TFcRef)(unsafe.Pointer(langs)).Fcount = int32(1)
  10542. XIA__FcStrSetDestroy(tls, langs)
  10543. }
  10544. prgname = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname))))
  10545. if v6 = prgname != 0; v6 {
  10546. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) == prgname {
  10547. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) = libc.UintptrFromInt32(0)
  10548. v5 = libc.Int32FromInt32(m_FcTrue)
  10549. } else {
  10550. v5 = m_FcFalse
  10551. }
  10552. }
  10553. if v6 && v5 != 0 {
  10554. libc.Xfree(tls, prgname)
  10555. }
  10556. }
  10557. func XIA__FcDefaultSubstitute(tls *libc.TLS, pattern uintptr) {
  10558. bp := tls.Alloc(112)
  10559. defer tls.Free(112)
  10560. var i int32
  10561. var pixelsize float64
  10562. var prgname uintptr
  10563. var _ /* b at bp+96 */ float64
  10564. var _ /* dpi at bp+64 */ float64
  10565. var _ /* e at bp+104 */ float64
  10566. var _ /* iter at bp+0 */ TFcPatternIter
  10567. var _ /* namelang at bp+32 */ TFcValue
  10568. var _ /* r at bp+88 */ uintptr
  10569. var _ /* scale at bp+80 */ float64
  10570. var _ /* size at bp+72 */ float64
  10571. var _ /* v at bp+16 */ TFcValue
  10572. var _ /* v2 at bp+48 */ TFcValue
  10573. _, _, _ = i, pixelsize, prgname
  10574. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_WEIGHT_OBJECT)) != 0) {
  10575. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_WEIGHT_OBJECT), int32(m_FC_WEIGHT_REGULAR))
  10576. }
  10577. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_SLANT_OBJECT)) != 0) {
  10578. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_SLANT_OBJECT), m_FC_SLANT_ROMAN)
  10579. }
  10580. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_WIDTH_OBJECT)) != 0) {
  10581. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_WIDTH_OBJECT), int32(m_FC_WIDTH_NORMAL))
  10582. }
  10583. i = 0
  10584. for {
  10585. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(64)/libc.Uint64FromInt64(8))) {
  10586. break
  10587. }
  10588. if !(XFcPatternFindObjectIter(tls, pattern, bp, _FcBoolDefaults[i].Ffield) != 0) {
  10589. XFcPatternObjectAddBool(tls, pattern, _FcBoolDefaults[i].Ffield, _FcBoolDefaults[i].Fvalue)
  10590. }
  10591. goto _1
  10592. _1:
  10593. ;
  10594. i++
  10595. }
  10596. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_SIZE_OBJECT), 0, bp+72) != int32(_FcResultMatch) {
  10597. if XFcPatternObjectGetRange(tls, pattern, int32(_FC_SIZE_OBJECT), 0, bp+88) == int32(_FcResultMatch) && XIA__FcRangeGetDouble(tls, *(*uintptr)(unsafe.Pointer(bp + 88)), bp+96, bp+104) != 0 {
  10598. *(*float64)(unsafe.Pointer(bp + 72)) = (*(*float64)(unsafe.Pointer(bp + 96)) + *(*float64)(unsafe.Pointer(bp + 104))) * float64(0.5)
  10599. } else {
  10600. *(*float64)(unsafe.Pointer(bp + 72)) = libc.Float64FromFloat64(12)
  10601. }
  10602. }
  10603. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_SCALE_OBJECT), 0, bp+80) != int32(_FcResultMatch) {
  10604. *(*float64)(unsafe.Pointer(bp + 80)) = float64(1)
  10605. }
  10606. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_DPI_OBJECT), 0, bp+64) != int32(_FcResultMatch) {
  10607. *(*float64)(unsafe.Pointer(bp + 64)) = float64(75)
  10608. }
  10609. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_PIXEL_SIZE_OBJECT)) != 0) {
  10610. XFcPatternObjectDel(tls, pattern, int32(_FC_SCALE_OBJECT))
  10611. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_SCALE_OBJECT), *(*float64)(unsafe.Pointer(bp + 80)))
  10612. pixelsize = *(*float64)(unsafe.Pointer(bp + 72)) * *(*float64)(unsafe.Pointer(bp + 80))
  10613. XFcPatternObjectDel(tls, pattern, int32(_FC_DPI_OBJECT))
  10614. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_DPI_OBJECT), *(*float64)(unsafe.Pointer(bp + 64)))
  10615. pixelsize *= *(*float64)(unsafe.Pointer(bp + 64)) / float64(72)
  10616. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_PIXEL_SIZE_OBJECT), pixelsize)
  10617. } else {
  10618. XIA__FcPatternIterGetValue(tls, pattern, bp, 0, bp+16, libc.UintptrFromInt32(0))
  10619. *(*float64)(unsafe.Pointer(bp + 72)) = *(*float64)(unsafe.Pointer(bp + 16 + 8))
  10620. *(*float64)(unsafe.Pointer(bp + 72)) = *(*float64)(unsafe.Pointer(bp + 72)) / *(*float64)(unsafe.Pointer(bp + 64)) * float64(72) / *(*float64)(unsafe.Pointer(bp + 80))
  10621. }
  10622. XFcPatternObjectDel(tls, pattern, int32(_FC_SIZE_OBJECT))
  10623. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_SIZE_OBJECT), *(*float64)(unsafe.Pointer(bp + 72)))
  10624. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FONTVERSION_OBJECT)) != 0) {
  10625. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_FONTVERSION_OBJECT), int32(0x7fffffff))
  10626. }
  10627. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_HINT_STYLE_OBJECT)) != 0) {
  10628. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_HINT_STYLE_OBJECT), int32(m_FC_HINT_FULL))
  10629. }
  10630. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_NAMELANG_OBJECT)) != 0) {
  10631. XFcPatternObjectAddString(tls, pattern, int32(_FC_NAMELANG_OBJECT), XFcGetDefaultLang(tls))
  10632. }
  10633. /* shouldn't be failed. */
  10634. XFcPatternObjectGet(tls, pattern, int32(_FC_NAMELANG_OBJECT), 0, bp+32)
  10635. /* Add a fallback to ensure the english name when the requested language
  10636. * isn't available. this would helps for the fonts that have non-English
  10637. * name at the beginning.
  10638. */
  10639. /* Set "en-us" instead of "en" to avoid giving higher score to "en".
  10640. * This is a hack for the case that the orth is not like ll-cc, because,
  10641. * if no namelang isn't explicitly set, it will has something like ll-cc
  10642. * according to current locale. which may causes FcLangDifferentTerritory
  10643. * at FcLangCompare(). thus, the English name is selected so that
  10644. * exact matched "en" has higher score than ll-cc.
  10645. */
  10646. (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 = int32(_FcTypeString)
  10647. *(*uintptr)(unsafe.Pointer(bp + 48 + 8)) = __ccgo_ts + 2805
  10648. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FAMILYLANG_OBJECT)) != 0) {
  10649. XFcPatternObjectAdd(tls, pattern, int32(_FC_FAMILYLANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(m_FcTrue))
  10650. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_FAMILYLANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 48)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  10651. }
  10652. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_STYLELANG_OBJECT)) != 0) {
  10653. XFcPatternObjectAdd(tls, pattern, int32(_FC_STYLELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(m_FcTrue))
  10654. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_STYLELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 48)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  10655. }
  10656. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FULLNAMELANG_OBJECT)) != 0) {
  10657. XFcPatternObjectAdd(tls, pattern, int32(_FC_FULLNAMELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(m_FcTrue))
  10658. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_FULLNAMELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 48)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  10659. }
  10660. if XFcPatternObjectGet(tls, pattern, int32(_FC_PRGNAME_OBJECT), 0, bp+16) == int32(_FcResultNoMatch) {
  10661. prgname = XFcGetPrgname(tls)
  10662. if prgname != 0 {
  10663. XFcPatternObjectAddString(tls, pattern, int32(_FC_PRGNAME_OBJECT), prgname)
  10664. }
  10665. }
  10666. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_ORDER_OBJECT)) != 0) {
  10667. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_ORDER_OBJECT), 0)
  10668. }
  10669. }
  10670. var XFcDefaultSubstitute = XIA__FcDefaultSubstitute
  10671. const m_S_IFDIR1 = 16384
  10672. const m_S_IFLNK1 = 40960
  10673. const m_S_IFMT3 = 61440
  10674. const m_S_IFREG1 = 32768
  10675. func XIA__FcFileIsDir(tls *libc.TLS, file uintptr) (r TFcBool) {
  10676. bp := tls.Alloc(128)
  10677. defer tls.Free(128)
  10678. var _ /* statb at bp+0 */ Tstat
  10679. if XFcStat(tls, file, bp) != 0 {
  10680. return m_FcFalse
  10681. }
  10682. return libc.BoolInt32((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode&libc.Uint32FromInt32(m_S_IFMT3) == libc.Uint32FromInt32(m_S_IFDIR1))
  10683. }
  10684. var XFcFileIsDir = XIA__FcFileIsDir
  10685. func XFcFileIsLink(tls *libc.TLS, file uintptr) (r TFcBool) {
  10686. bp := tls.Alloc(128)
  10687. defer tls.Free(128)
  10688. var _ /* statb at bp+0 */ Tstat
  10689. if libc.Xlstat(tls, file, bp) != 0 {
  10690. return m_FcFalse
  10691. }
  10692. return libc.BoolInt32((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode&libc.Uint32FromInt32(m_S_IFMT3) == libc.Uint32FromInt32(m_S_IFLNK1))
  10693. }
  10694. func XFcFileIsFile(tls *libc.TLS, file uintptr) (r TFcBool) {
  10695. bp := tls.Alloc(128)
  10696. defer tls.Free(128)
  10697. var _ /* statb at bp+0 */ Tstat
  10698. if XFcStat(tls, file, bp) != 0 {
  10699. return m_FcFalse
  10700. }
  10701. return libc.BoolInt32((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode&libc.Uint32FromInt32(m_S_IFMT3) == libc.Uint32FromInt32(m_S_IFREG1))
  10702. }
  10703. func _FcFileScanFontConfig(tls *libc.TLS, set uintptr, file uintptr, config uintptr) (r TFcBool) {
  10704. bp := tls.Alloc(32)
  10705. defer tls.Free(32)
  10706. var font, s, sysroot uintptr
  10707. var i, old_nfont int32
  10708. var len1 Tsize_t
  10709. var ret TFcBool
  10710. var _ /* f at bp+0 */ uintptr
  10711. _, _, _, _, _, _, _ = font, i, len1, old_nfont, ret, s, sysroot
  10712. ret = int32(m_FcTrue)
  10713. old_nfont = (*TFcFontSet)(unsafe.Pointer(set)).Fnfont
  10714. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  10715. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  10716. libc.Xprintf(tls, __ccgo_ts+2811, libc.VaList(bp+16, file))
  10717. libc.Xfflush(tls, libc.Xstdout)
  10718. }
  10719. if !(XIA__FcFreeTypeQueryAll(tls, file, libc.Uint32FromInt32(-libc.Int32FromInt32(1)), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), set) != 0) {
  10720. return m_FcFalse
  10721. }
  10722. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  10723. libc.Xprintf(tls, __ccgo_ts+2832, 0)
  10724. }
  10725. i = old_nfont
  10726. for {
  10727. if !(i < (*TFcFontSet)(unsafe.Pointer(set)).Fnfont) {
  10728. break
  10729. }
  10730. font = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(set)).Ffonts + uintptr(i)*8))
  10731. /*
  10732. * Get rid of sysroot here so that targeting scan rule may contains FC_FILE pattern
  10733. * and they should usually expect without sysroot.
  10734. */
  10735. if sysroot != 0 {
  10736. len1 = libc.Xstrlen(tls, sysroot)
  10737. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  10738. if XFcPatternObjectGetString(tls, font, int32(_FC_FILE_OBJECT), 0, bp) == int32(_FcResultMatch) && libc.Xstrncmp(tls, *(*uintptr)(unsafe.Pointer(bp)), sysroot, len1) == 0 {
  10739. s = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(bp)))
  10740. XFcPatternObjectDel(tls, font, int32(_FC_FILE_OBJECT))
  10741. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1)))) != int32('/') {
  10742. len1--
  10743. } else {
  10744. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1+uint64(1))))) == int32('/') {
  10745. len1++
  10746. }
  10747. }
  10748. XFcPatternObjectAddString(tls, font, int32(_FC_FILE_OBJECT), s+uintptr(len1))
  10749. XIA__FcStrFree(tls, s)
  10750. }
  10751. }
  10752. /*
  10753. * Edit pattern with user-defined rules
  10754. */
  10755. if config != 0 && !(XIA__FcConfigSubstitute(tls, config, font, int32(_FcMatchScan)) != 0) {
  10756. ret = m_FcFalse
  10757. }
  10758. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  10759. libc.Xprintf(tls, __ccgo_ts+2838, 0)
  10760. XIA__FcPatternPrint(tls, font)
  10761. }
  10762. goto _1
  10763. _1:
  10764. ;
  10765. i++
  10766. }
  10767. return ret
  10768. }
  10769. func XFcFileScanConfig(tls *libc.TLS, set uintptr, dirs uintptr, file uintptr, config uintptr) (r TFcBool) {
  10770. var d, sysroot uintptr
  10771. var len1 Tsize_t
  10772. _, _, _ = d, len1, sysroot
  10773. if XIA__FcFileIsDir(tls, file) != 0 {
  10774. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  10775. d = file
  10776. if sysroot != 0 {
  10777. len1 = libc.Xstrlen(tls, sysroot)
  10778. if libc.Xstrncmp(tls, file, sysroot, len1) == 0 {
  10779. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(file + uintptr(len1)))) != int32('/') {
  10780. len1--
  10781. } else {
  10782. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(file + uintptr(len1+uint64(1))))) == int32('/') {
  10783. len1++
  10784. }
  10785. }
  10786. d = file + uintptr(len1)
  10787. }
  10788. }
  10789. return XIA__FcStrSetAdd(tls, dirs, d)
  10790. } else {
  10791. if set != 0 {
  10792. return _FcFileScanFontConfig(tls, set, file, config)
  10793. } else {
  10794. return int32(m_FcTrue)
  10795. }
  10796. }
  10797. return r
  10798. }
  10799. func XIA__FcFileScan(tls *libc.TLS, set uintptr, dirs uintptr, cache uintptr, blanks uintptr, file uintptr, force TFcBool) (r TFcBool) {
  10800. var config uintptr
  10801. var ret TFcBool
  10802. _, _ = config, ret
  10803. config = XIA__FcConfigReference(tls, libc.UintptrFromInt32(0))
  10804. if !(config != 0) {
  10805. return m_FcFalse
  10806. }
  10807. ret = XFcFileScanConfig(tls, set, dirs, file, config)
  10808. XIA__FcConfigDestroy(tls, config)
  10809. return ret
  10810. }
  10811. var XFcFileScan = XIA__FcFileScan
  10812. // C documentation
  10813. //
  10814. // /*
  10815. // * Strcmp helper that takes pointers to pointers, copied from qsort(3) manpage
  10816. // */
  10817. func _cmpstringp(tls *libc.TLS, p1 uintptr, p2 uintptr) (r int32) {
  10818. return libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(p1)), *(*uintptr)(unsafe.Pointer(p2)))
  10819. }
  10820. func XFcDirScanConfig(tls *libc.TLS, set uintptr, dirs uintptr, dir uintptr, force TFcBool, config uintptr) (r TFcBool) {
  10821. bp := tls.Alloc(32)
  10822. defer tls.Free(32)
  10823. var base, d, e, file_prefix, files, s_dir, sysroot, v1 uintptr
  10824. var i int32
  10825. var ret TFcBool
  10826. _, _, _, _, _, _, _, _, _, _ = base, d, e, file_prefix, files, i, ret, s_dir, sysroot, v1
  10827. s_dir = libc.UintptrFromInt32(0)
  10828. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  10829. ret = int32(m_FcTrue)
  10830. if !(force != 0) {
  10831. return m_FcFalse
  10832. }
  10833. if !(set != 0) && !(dirs != 0) {
  10834. return int32(m_FcTrue)
  10835. }
  10836. /* freed below */
  10837. file_prefix = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint64(1)+uint64(m_FC_MAX_FILE_LEN)+uint64(1))
  10838. if !(file_prefix != 0) {
  10839. ret = m_FcFalse
  10840. goto bail
  10841. }
  10842. libc.Xstrcpy(tls, file_prefix, dir)
  10843. libc.Xstrcat(tls, file_prefix, __ccgo_ts+1493)
  10844. base = file_prefix + uintptr(libc.Xstrlen(tls, file_prefix))
  10845. if sysroot != 0 {
  10846. s_dir = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, dir, libc.UintptrFromInt32(0)))
  10847. } else {
  10848. s_dir = libc.Xstrdup(tls, dir)
  10849. }
  10850. if !(s_dir != 0) {
  10851. ret = m_FcFalse
  10852. goto bail
  10853. }
  10854. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  10855. libc.Xprintf(tls, __ccgo_ts+2859, libc.VaList(bp+8, s_dir))
  10856. }
  10857. d = libc.Xopendir(tls, s_dir)
  10858. if !(d != 0) {
  10859. /* Don't complain about missing directories */
  10860. if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != int32(m_ENOENT) {
  10861. ret = m_FcFalse
  10862. }
  10863. goto bail
  10864. }
  10865. files = XFcStrSetCreateEx(tls, libc.Uint32FromInt32(libc.Int32FromInt32(m_FCSS_ALLOW_DUPLICATES)|libc.Int32FromInt32(m_FCSS_GROW_BY_64)))
  10866. if !(files != 0) {
  10867. ret = m_FcFalse
  10868. goto bail1
  10869. }
  10870. for {
  10871. v1 = libc.Xreaddir(tls, d)
  10872. e = v1
  10873. if !(v1 != 0) {
  10874. break
  10875. }
  10876. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(e + 19))) != int32('.') && libc.Xstrlen(tls, e+19) < uint64(m_FC_MAX_FILE_LEN) {
  10877. libc.Xstrcpy(tls, base, e+19)
  10878. if !(XIA__FcStrSetAdd(tls, files, file_prefix) != 0) {
  10879. ret = m_FcFalse
  10880. goto bail2
  10881. }
  10882. }
  10883. }
  10884. /*
  10885. * Sort files to make things prettier
  10886. */
  10887. libc.Xqsort(tls, (*TFcStrSet)(unsafe.Pointer(files)).Fstrs, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(files)).Fnum), uint64(8), __ccgo_fp(_cmpstringp))
  10888. /*
  10889. * Scan file files to build font patterns
  10890. */
  10891. i = 0
  10892. for {
  10893. if !(i < (*TFcStrSet)(unsafe.Pointer(files)).Fnum) {
  10894. break
  10895. }
  10896. XFcFileScanConfig(tls, set, dirs, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(files)).Fstrs + uintptr(i)*8)), config)
  10897. goto _2
  10898. _2:
  10899. ;
  10900. i++
  10901. }
  10902. goto bail2
  10903. bail2:
  10904. ;
  10905. XIA__FcStrSetDestroy(tls, files)
  10906. goto bail1
  10907. bail1:
  10908. ;
  10909. libc.Xclosedir(tls, d)
  10910. goto bail
  10911. bail:
  10912. ;
  10913. if s_dir != 0 {
  10914. libc.Xfree(tls, s_dir)
  10915. }
  10916. if file_prefix != 0 {
  10917. libc.Xfree(tls, file_prefix)
  10918. }
  10919. return ret
  10920. }
  10921. func XIA__FcDirScan(tls *libc.TLS, set uintptr, dirs uintptr, cache uintptr, blanks uintptr, dir uintptr, force TFcBool) (r TFcBool) {
  10922. var config uintptr
  10923. var ret TFcBool
  10924. _, _ = config, ret
  10925. if cache != 0 || !(force != 0) {
  10926. return m_FcFalse
  10927. }
  10928. config = XIA__FcConfigReference(tls, libc.UintptrFromInt32(0))
  10929. if !(config != 0) {
  10930. return m_FcFalse
  10931. }
  10932. ret = XFcDirScanConfig(tls, set, dirs, dir, force, config)
  10933. XIA__FcConfigDestroy(tls, config)
  10934. return ret
  10935. }
  10936. var XFcDirScan = XIA__FcDirScan
  10937. // C documentation
  10938. //
  10939. // /*
  10940. // * Scan the specified directory and construct a cache of its contents
  10941. // */
  10942. func XFcDirCacheScan(tls *libc.TLS, dir uintptr, config uintptr) (r uintptr) {
  10943. bp := tls.Alloc(160)
  10944. defer tls.Free(160)
  10945. var cache, d, dirs, set, sysroot uintptr
  10946. var fd int32
  10947. var _ /* dir_stat at bp+0 */ Tstat
  10948. _, _, _, _, _, _ = cache, d, dirs, fd, set, sysroot
  10949. cache = libc.UintptrFromInt32(0)
  10950. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  10951. fd = -int32(1)
  10952. if sysroot != 0 {
  10953. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+136, dir, libc.UintptrFromInt32(0)))
  10954. } else {
  10955. d = libc.Xstrdup(tls, dir)
  10956. }
  10957. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  10958. libc.Xprintf(tls, __ccgo_ts+2877, libc.VaList(bp+136, d))
  10959. }
  10960. if XFcStatChecksum(tls, d, bp) < 0 {
  10961. goto bail
  10962. }
  10963. set = XIA__FcFontSetCreate(tls)
  10964. if !(set != 0) {
  10965. goto bail
  10966. }
  10967. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  10968. if !(dirs != 0) {
  10969. goto bail1
  10970. }
  10971. fd = XFcDirCacheLock(tls, dir, config)
  10972. /*
  10973. * Scan the dir
  10974. */
  10975. /* Do not pass sysroot here. FcDirScanConfig() do take care of it */
  10976. if !(XFcDirScanConfig(tls, set, dirs, dir, int32(m_FcTrue), config) != 0) {
  10977. goto bail2
  10978. }
  10979. /*
  10980. * Build the cache object
  10981. */
  10982. cache = XFcDirCacheBuild(tls, set, dir, bp, dirs)
  10983. if !(cache != 0) {
  10984. goto bail2
  10985. }
  10986. /*
  10987. * Write out the cache file, ignoring any troubles
  10988. */
  10989. XFcDirCacheWrite(tls, cache, config)
  10990. goto bail2
  10991. bail2:
  10992. ;
  10993. XFcDirCacheUnlock(tls, fd)
  10994. XIA__FcStrSetDestroy(tls, dirs)
  10995. goto bail1
  10996. bail1:
  10997. ;
  10998. XIA__FcFontSetDestroy(tls, set)
  10999. goto bail
  11000. bail:
  11001. ;
  11002. XIA__FcStrFree(tls, d)
  11003. return cache
  11004. }
  11005. func XIA__FcDirCacheRescan(tls *libc.TLS, dir uintptr, config uintptr) (r uintptr) {
  11006. bp := tls.Alloc(160)
  11007. defer tls.Free(160)
  11008. var cache, d, dirs, new1, sysroot uintptr
  11009. var fd int32
  11010. var _ /* dir_stat at bp+0 */ Tstat
  11011. _, _, _, _, _, _ = cache, d, dirs, fd, new1, sysroot
  11012. new1 = libc.UintptrFromInt32(0)
  11013. d = libc.UintptrFromInt32(0)
  11014. fd = -int32(1)
  11015. config = XIA__FcConfigReference(tls, config)
  11016. if !(config != 0) {
  11017. return libc.UintptrFromInt32(0)
  11018. }
  11019. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  11020. cache = XIA__FcDirCacheLoad(tls, dir, config, libc.UintptrFromInt32(0))
  11021. if !(cache != 0) {
  11022. goto bail
  11023. }
  11024. if sysroot != 0 {
  11025. d = XIA__FcStrBuildFilename(tls, sysroot, libc.VaList(bp+136, dir, libc.UintptrFromInt32(0)))
  11026. } else {
  11027. d = libc.Xstrdup(tls, dir)
  11028. }
  11029. if XFcStatChecksum(tls, d, bp) < 0 {
  11030. goto bail
  11031. }
  11032. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  11033. if !(dirs != 0) {
  11034. goto bail
  11035. }
  11036. fd = XFcDirCacheLock(tls, dir, config)
  11037. /*
  11038. * Scan the dir
  11039. */
  11040. /* Do not pass sysroot here. FcDirScanConfig() do take care of it */
  11041. if !(XFcDirScanConfig(tls, libc.UintptrFromInt32(0), dirs, dir, int32(m_FcTrue), config) != 0) {
  11042. goto bail1
  11043. }
  11044. /*
  11045. * Rebuild the cache object
  11046. */
  11047. new1 = XFcDirCacheRebuild(tls, cache, bp, dirs)
  11048. if !(new1 != 0) {
  11049. goto bail1
  11050. }
  11051. XIA__FcDirCacheUnload(tls, cache)
  11052. /*
  11053. * Write out the cache file, ignoring any troubles
  11054. */
  11055. XFcDirCacheWrite(tls, new1, config)
  11056. goto bail1
  11057. bail1:
  11058. ;
  11059. XFcDirCacheUnlock(tls, fd)
  11060. XIA__FcStrSetDestroy(tls, dirs)
  11061. goto bail
  11062. bail:
  11063. ;
  11064. if d != 0 {
  11065. XIA__FcStrFree(tls, d)
  11066. }
  11067. XIA__FcConfigDestroy(tls, config)
  11068. return new1
  11069. }
  11070. var XFcDirCacheRescan = XIA__FcDirCacheRescan
  11071. // C documentation
  11072. //
  11073. // /*
  11074. // * Read (or construct) the cache for a directory
  11075. // */
  11076. func XIA__FcDirCacheRead(tls *libc.TLS, dir uintptr, force TFcBool, config uintptr) (r uintptr) {
  11077. var cache uintptr
  11078. _ = cache
  11079. cache = libc.UintptrFromInt32(0)
  11080. config = XIA__FcConfigReference(tls, config)
  11081. /* Try to use existing cache file */
  11082. if !(force != 0) {
  11083. cache = XIA__FcDirCacheLoad(tls, dir, config, libc.UintptrFromInt32(0))
  11084. }
  11085. /* Not using existing cache file, construct new cache */
  11086. if !(cache != 0) {
  11087. cache = XFcDirCacheScan(tls, dir, config)
  11088. }
  11089. XIA__FcConfigDestroy(tls, config)
  11090. return cache
  11091. }
  11092. var XFcDirCacheRead = XIA__FcDirCacheRead
  11093. func XIA__FcDirSave(tls *libc.TLS, set uintptr, dirs uintptr, dir uintptr) (r TFcBool) {
  11094. return m_FcFalse /* XXX deprecated */
  11095. }
  11096. var XFcDirSave = XIA__FcDirSave
  11097. const m_FCCAT_FORMAT = "\"%{file|basename|cescape}\" %{index} \"%{-file{%{=unparse|cescape}}}\""
  11098. const m_FCLIST_FORMAT = "%{?file{%{file}: }}%{-file{%{=unparse}}}"
  11099. const m_FCMATCH_FORMAT = "%{file:-<unknown filename>|basename}: \"%{family[0]:-<unknown family>}\" \"%{style[0]:-<unknown style>}\""
  11100. const m_PKGKIT_FORMAT = "%{[]family{font(%{family|downcase|delete( )})\n}}%{[]lang{font(:lang=%{lang|downcase|translate(_,-)})\n}}"
  11101. const m_S_IFDIR2 = 0040000
  11102. const m_S_IFLNK2 = 0120000
  11103. const m_S_IFMT4 = 0170000
  11104. const m_S_IFREG2 = 0100000
  11105. /* The language is documented in doc/fcformat.fncs
  11106. * These are the features implemented:
  11107. *
  11108. * simple %{elt}
  11109. * width %width{elt}
  11110. * index %{elt[idx]}
  11111. * name= %{elt=}
  11112. * :name= %{:elt}
  11113. * default %{elt:-word}
  11114. * count %{#elt}
  11115. * subexpr %{{expr}}
  11116. * filter-out %{-elt1,elt2,elt3{expr}}
  11117. * filter-in %{+elt1,elt2,elt3{expr}}
  11118. * conditional %{?elt1,elt2,!elt3{}{}}
  11119. * enumerate %{[]elt1,elt2{expr}}
  11120. * langset langset enumeration using the same syntax
  11121. * builtin %{=blt}
  11122. * convert %{elt|conv1|conv2|conv3}
  11123. *
  11124. * converters:
  11125. * basename FcStrBasename
  11126. * dirname FcStrDirname
  11127. * downcase FcStrDowncase
  11128. * shescape
  11129. * cescape
  11130. * xmlescape
  11131. * delete delete chars
  11132. * escape escape chars
  11133. * translate translate chars
  11134. *
  11135. * builtins:
  11136. * unparse FcNameUnparse
  11137. * fcmatch fc-match default
  11138. * fclist fc-list default
  11139. * fccat fc-cat default
  11140. * pkgkit PackageKit package tag format
  11141. *
  11142. *
  11143. * Some ideas for future syntax extensions:
  11144. *
  11145. * - verbose builtin that is like FcPatternPrint
  11146. * - allow indexing subexprs using '%{[idx]elt1,elt2{subexpr}}'
  11147. * - allow indexing in +, -, ? filtering?
  11148. * - conditional/filtering/deletion on binding (using '(w)'/'(s)'/'(=)' notation)
  11149. */
  11150. func _message(tls *libc.TLS, fmt uintptr, va uintptr) {
  11151. var args Tva_list
  11152. _ = args
  11153. args = va
  11154. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+2896, 0)
  11155. libc.Xvfprintf(tls, libc.Xstderr, fmt, args)
  11156. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+2931, 0)
  11157. _ = args
  11158. }
  11159. type TFcFormatContext = struct {
  11160. Fformat_orig uintptr
  11161. Fformat uintptr
  11162. Fformat_len int32
  11163. Fword uintptr
  11164. Fword_allocated TFcBool
  11165. }
  11166. type T_FcFormatContext = TFcFormatContext
  11167. func _FcFormatContextInit(tls *libc.TLS, c uintptr, format uintptr, scratch uintptr, scratch_len int32) (r TFcBool) {
  11168. var v1 uintptr
  11169. _ = v1
  11170. v1 = format
  11171. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat = v1
  11172. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig = v1
  11173. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len = libc.Int32FromUint64(libc.Xstrlen(tls, format))
  11174. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len < scratch_len {
  11175. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = scratch
  11176. (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated = m_FcFalse
  11177. } else {
  11178. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = libc.Xmalloc(tls, libc.Uint64FromInt32((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len+int32(1)))
  11179. (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated = int32(m_FcTrue)
  11180. }
  11181. return libc.BoolInt32((*TFcFormatContext)(unsafe.Pointer(c)).Fword != libc.UintptrFromInt32(0))
  11182. }
  11183. func _FcFormatContextDone(tls *libc.TLS, c uintptr) {
  11184. if c != 0 && (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated != 0 {
  11185. libc.Xfree(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  11186. }
  11187. }
  11188. func _consume_char(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  11189. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != libc.Int32FromUint8(term) {
  11190. return m_FcFalse
  11191. }
  11192. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11193. return int32(m_FcTrue)
  11194. }
  11195. func _expect_char(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  11196. bp := tls.Alloc(32)
  11197. defer tls.Free(32)
  11198. var res TFcBool
  11199. _ = res
  11200. res = _consume_char(tls, c, term)
  11201. if !(res != 0) {
  11202. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat == (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig+uintptr((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len) {
  11203. _message(tls, __ccgo_ts+2934, libc.VaList(bp+8, libc.Int32FromUint8(term)))
  11204. } else {
  11205. _message(tls, __ccgo_ts+2968, libc.VaList(bp+8, libc.Int32FromUint8(term), int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  11206. }
  11207. }
  11208. return res
  11209. }
  11210. func _FcCharIsPunct(tls *libc.TLS, c TFcChar8) (r TFcBool) {
  11211. if libc.Int32FromUint8(c) < int32('0') {
  11212. return int32(m_FcTrue)
  11213. }
  11214. if libc.Int32FromUint8(c) <= int32('9') {
  11215. return m_FcFalse
  11216. }
  11217. if libc.Int32FromUint8(c) < int32('A') {
  11218. return int32(m_FcTrue)
  11219. }
  11220. if libc.Int32FromUint8(c) <= int32('Z') {
  11221. return m_FcFalse
  11222. }
  11223. if libc.Int32FromUint8(c) < int32('a') {
  11224. return int32(m_FcTrue)
  11225. }
  11226. if libc.Int32FromUint8(c) <= int32('z') {
  11227. return m_FcFalse
  11228. }
  11229. if libc.Int32FromUint8(c) <= int32('~') {
  11230. return int32(m_FcTrue)
  11231. }
  11232. return m_FcFalse
  11233. }
  11234. func _escaped_char(tls *libc.TLS, ch uint8) (r uint8) {
  11235. switch libc.Int32FromUint8(ch) {
  11236. case int32('a'):
  11237. return uint8('\a')
  11238. case int32('b'):
  11239. return uint8('\b')
  11240. case int32('f'):
  11241. return uint8('\f')
  11242. case int32('n'):
  11243. return uint8('\n')
  11244. case int32('r'):
  11245. return uint8('\r')
  11246. case int32('t'):
  11247. return uint8('\t')
  11248. case int32('v'):
  11249. return uint8('\v')
  11250. default:
  11251. return ch
  11252. }
  11253. return r
  11254. }
  11255. func _read_word(tls *libc.TLS, c uintptr) (r TFcBool) {
  11256. bp := tls.Alloc(16)
  11257. defer tls.Free(16)
  11258. var p, v1, v2, v3, v4, v5, v6 uintptr
  11259. _, _, _, _, _, _, _ = p, v1, v2, v3, v4, v5, v6
  11260. p = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  11261. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  11262. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('\\') {
  11263. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11264. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  11265. v1 = p
  11266. p++
  11267. v3 = c + 8
  11268. v2 = *(*uintptr)(unsafe.Pointer(v3))
  11269. *(*uintptr)(unsafe.Pointer(v3))++
  11270. *(*TFcChar8)(unsafe.Pointer(v1)) = _escaped_char(tls, *(*TFcChar8)(unsafe.Pointer(v2)))
  11271. }
  11272. continue
  11273. } else {
  11274. if _FcCharIsPunct(tls, *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != 0 {
  11275. break
  11276. }
  11277. }
  11278. v4 = p
  11279. p++
  11280. v6 = c + 8
  11281. v5 = *(*uintptr)(unsafe.Pointer(v6))
  11282. *(*uintptr)(unsafe.Pointer(v6))++
  11283. *(*TFcChar8)(unsafe.Pointer(v4)) = *(*TFcChar8)(unsafe.Pointer(v5))
  11284. }
  11285. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('\000')
  11286. if p == (*TFcFormatContext)(unsafe.Pointer(c)).Fword {
  11287. _message(tls, __ccgo_ts+2988, libc.VaList(bp+8, int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  11288. return m_FcFalse
  11289. }
  11290. return int32(m_FcTrue)
  11291. }
  11292. func _read_chars(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  11293. bp := tls.Alloc(16)
  11294. defer tls.Free(16)
  11295. var p, v1, v2, v3, v4, v5, v6 uintptr
  11296. _, _, _, _, _, _, _ = p, v1, v2, v3, v4, v5, v6
  11297. p = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  11298. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != libc.Int32FromUint8(term) {
  11299. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('\\') {
  11300. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11301. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  11302. v1 = p
  11303. p++
  11304. v3 = c + 8
  11305. v2 = *(*uintptr)(unsafe.Pointer(v3))
  11306. *(*uintptr)(unsafe.Pointer(v3))++
  11307. *(*TFcChar8)(unsafe.Pointer(v1)) = _escaped_char(tls, *(*TFcChar8)(unsafe.Pointer(v2)))
  11308. }
  11309. continue
  11310. }
  11311. v4 = p
  11312. p++
  11313. v6 = c + 8
  11314. v5 = *(*uintptr)(unsafe.Pointer(v6))
  11315. *(*uintptr)(unsafe.Pointer(v6))++
  11316. *(*TFcChar8)(unsafe.Pointer(v4)) = *(*TFcChar8)(unsafe.Pointer(v5))
  11317. }
  11318. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('\000')
  11319. if p == (*TFcFormatContext)(unsafe.Pointer(c)).Fword {
  11320. _message(tls, __ccgo_ts+3014, libc.VaList(bp+8, int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  11321. return m_FcFalse
  11322. }
  11323. return int32(m_FcTrue)
  11324. }
  11325. func _interpret_builtin(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11326. bp := tls.Alloc(16)
  11327. defer tls.Free(16)
  11328. var new_str uintptr
  11329. var ret TFcBool
  11330. _, _ = new_str, ret
  11331. if !(_expect_char(tls, c, uint8('=')) != 0) || !(_read_word(tls, c) != 0) {
  11332. return m_FcFalse
  11333. }
  11334. /* try simple builtins first */
  11335. if 0 != 0 {
  11336. } else {
  11337. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3044) {
  11338. new_str = XIA__FcNameUnparse(tls, pat)
  11339. ret = int32(m_FcTrue)
  11340. } else {
  11341. ret = m_FcFalse
  11342. }
  11343. }
  11344. if ret != 0 {
  11345. if new_str != 0 {
  11346. XFcStrBufString(tls, buf, new_str)
  11347. XIA__FcStrFree(tls, new_str)
  11348. return int32(m_FcTrue)
  11349. } else {
  11350. return m_FcFalse
  11351. }
  11352. }
  11353. /* now try our custom formats */
  11354. if 0 != 0 {
  11355. } else {
  11356. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3052) {
  11357. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3058, buf)
  11358. } else {
  11359. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3126) {
  11360. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3134, buf)
  11361. } else {
  11362. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3236) {
  11363. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3243, buf)
  11364. } else {
  11365. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3284) {
  11366. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3291, buf)
  11367. } else {
  11368. ret = m_FcFalse
  11369. }
  11370. }
  11371. }
  11372. }
  11373. }
  11374. if !(ret != 0) {
  11375. _message(tls, __ccgo_ts+3395, libc.VaList(bp+8, (*TFcFormatContext)(unsafe.Pointer(c)).Fword))
  11376. }
  11377. return ret
  11378. }
  11379. func _interpret_subexpr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11380. return libc.BoolInt32(_expect_char(tls, c, uint8('{')) != 0 && _interpret_expr(tls, c, pat, buf, uint8('}')) != 0 && _expect_char(tls, c, uint8('}')) != 0)
  11381. }
  11382. func _maybe_interpret_subexpr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11383. var v1 int32
  11384. _ = v1
  11385. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('{') {
  11386. v1 = _interpret_subexpr(tls, c, pat, buf)
  11387. } else {
  11388. v1 = int32(m_FcTrue)
  11389. }
  11390. return v1
  11391. }
  11392. func _skip_percent(tls *libc.TLS, c uintptr) (r TFcBool) {
  11393. if !(_expect_char(tls, c, uint8('%')) != 0) {
  11394. return m_FcFalse
  11395. }
  11396. /* skip an optional width specifier */
  11397. if libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+8, int32(10)) != 0 {
  11398. /* don't care */
  11399. }
  11400. if !(_expect_char(tls, c, uint8('{')) != 0) {
  11401. return m_FcFalse
  11402. }
  11403. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') {
  11404. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  11405. case int32('\\'):
  11406. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  11407. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  11408. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11409. }
  11410. continue
  11411. case int32('{'):
  11412. if !(_skip_subexpr(tls, c) != 0) {
  11413. return m_FcFalse
  11414. }
  11415. continue
  11416. }
  11417. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11418. }
  11419. return _expect_char(tls, c, uint8('}'))
  11420. }
  11421. func _skip_expr(tls *libc.TLS, c uintptr) (r TFcBool) {
  11422. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') {
  11423. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  11424. case int32('\\'):
  11425. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  11426. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  11427. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11428. }
  11429. continue
  11430. case int32('%'):
  11431. if !(_skip_percent(tls, c) != 0) {
  11432. return m_FcFalse
  11433. }
  11434. continue
  11435. }
  11436. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  11437. }
  11438. return int32(m_FcTrue)
  11439. }
  11440. func _skip_subexpr(tls *libc.TLS, c uintptr) (r TFcBool) {
  11441. return libc.BoolInt32(_expect_char(tls, c, uint8('{')) != 0 && _skip_expr(tls, c) != 0 && _expect_char(tls, c, uint8('}')) != 0)
  11442. }
  11443. func _maybe_skip_subexpr(tls *libc.TLS, c uintptr) (r TFcBool) {
  11444. var v1 int32
  11445. _ = v1
  11446. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('{') {
  11447. v1 = _skip_subexpr(tls, c)
  11448. } else {
  11449. v1 = int32(m_FcTrue)
  11450. }
  11451. return v1
  11452. }
  11453. func _interpret_filter_in(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11454. var os, subpat uintptr
  11455. _, _ = os, subpat
  11456. if !(_expect_char(tls, c, uint8('+')) != 0) {
  11457. return m_FcFalse
  11458. }
  11459. os = XIA__FcObjectSetCreate(tls)
  11460. if !(os != 0) {
  11461. return m_FcFalse
  11462. }
  11463. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  11464. /* XXX binding */
  11465. if !(_read_word(tls, c) != 0) || !(XIA__FcObjectSetAdd(tls, os, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0) {
  11466. XIA__FcObjectSetDestroy(tls, os)
  11467. return m_FcFalse
  11468. }
  11469. }
  11470. subpat = XIA__FcPatternFilter(tls, pat, os)
  11471. XIA__FcObjectSetDestroy(tls, os)
  11472. if !(subpat != 0) || !(_interpret_subexpr(tls, c, subpat, buf) != 0) {
  11473. return m_FcFalse
  11474. }
  11475. XIA__FcPatternDestroy(tls, subpat)
  11476. return int32(m_FcTrue)
  11477. }
  11478. func _interpret_filter_out(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11479. var subpat uintptr
  11480. _ = subpat
  11481. if !(_expect_char(tls, c, uint8('-')) != 0) {
  11482. return m_FcFalse
  11483. }
  11484. subpat = XIA__FcPatternDuplicate(tls, pat)
  11485. if !(subpat != 0) {
  11486. return m_FcFalse
  11487. }
  11488. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  11489. if !(_read_word(tls, c) != 0) {
  11490. XIA__FcPatternDestroy(tls, subpat)
  11491. return m_FcFalse
  11492. }
  11493. XIA__FcPatternDel(tls, subpat, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  11494. }
  11495. if !(_interpret_subexpr(tls, c, subpat, buf) != 0) {
  11496. return m_FcFalse
  11497. }
  11498. XIA__FcPatternDestroy(tls, subpat)
  11499. return int32(m_FcTrue)
  11500. }
  11501. func _interpret_cond(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11502. bp := tls.Alloc(16)
  11503. defer tls.Free(16)
  11504. var negate, pass TFcBool
  11505. var _ /* v at bp+0 */ TFcValue
  11506. _, _ = negate, pass
  11507. if !(_expect_char(tls, c, uint8('?')) != 0) {
  11508. return m_FcFalse
  11509. }
  11510. pass = int32(m_FcTrue)
  11511. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  11512. negate = _consume_char(tls, c, uint8('!'))
  11513. if !(_read_word(tls, c) != 0) {
  11514. return m_FcFalse
  11515. }
  11516. pass = libc.BoolInt32(pass != 0 && negate^libc.BoolInt32(int32(_FcResultMatch) == XIA__FcPatternGet(tls, pat, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, 0, bp)) != 0)
  11517. }
  11518. if pass != 0 {
  11519. if !(_interpret_subexpr(tls, c, pat, buf) != 0) || !(_maybe_skip_subexpr(tls, c) != 0) {
  11520. return m_FcFalse
  11521. }
  11522. } else {
  11523. if !(_skip_subexpr(tls, c) != 0) || !(_maybe_interpret_subexpr(tls, c, pat, buf) != 0) {
  11524. return m_FcFalse
  11525. }
  11526. }
  11527. return int32(m_FcTrue)
  11528. }
  11529. func _interpret_count(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11530. bp := tls.Alloc(96)
  11531. defer tls.Free(96)
  11532. var count int32
  11533. var _ /* buf_static at bp+16 */ [64]TFcChar8
  11534. var _ /* iter at bp+0 */ TFcPatternIter
  11535. _ = count
  11536. if !(_expect_char(tls, c, uint8('#')) != 0) {
  11537. return m_FcFalse
  11538. }
  11539. if !(_read_word(tls, c) != 0) {
  11540. return m_FcFalse
  11541. }
  11542. count = 0
  11543. if XIA__FcPatternFindIter(tls, pat, bp, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0 {
  11544. count = XIA__FcPatternIterValueCount(tls, pat, bp)
  11545. }
  11546. libc.X__builtin_snprintf(tls, bp+16, uint64(64), __ccgo_ts+2505, libc.VaList(bp+88, count))
  11547. XFcStrBufString(tls, buf, bp+16)
  11548. return int32(m_FcTrue)
  11549. }
  11550. func _interpret_enumerate(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11551. bp := tls.Alloc(32)
  11552. defer tls.Free(32)
  11553. var done, ret TFcBool
  11554. var format_save, lang, lang_strs, os, ss, subpat, v1, v2, v4 uintptr
  11555. var i, idx int32
  11556. var v3 bool
  11557. var _ /* langset at bp+0 */ uintptr
  11558. var _ /* v at bp+8 */ TFcValue
  11559. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = done, format_save, i, idx, lang, lang_strs, os, ret, ss, subpat, v1, v2, v3, v4
  11560. if !(_expect_char(tls, c, uint8('[')) != 0) || !(_expect_char(tls, c, uint8(']')) != 0) {
  11561. return m_FcFalse
  11562. }
  11563. os = XIA__FcObjectSetCreate(tls)
  11564. if !(os != 0) {
  11565. return m_FcFalse
  11566. }
  11567. ret = int32(m_FcTrue)
  11568. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  11569. if !(_read_word(tls, c) != 0) || !(XIA__FcObjectSetAdd(tls, os, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0) {
  11570. XIA__FcObjectSetDestroy(tls, os)
  11571. return m_FcFalse
  11572. }
  11573. }
  11574. /* If we have one element and it's of type FcLangSet, we want
  11575. * to enumerate the languages in it. */
  11576. lang_strs = libc.UintptrFromInt32(0)
  11577. if (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject == int32(1) {
  11578. if int32(_FcResultMatch) == XIA__FcPatternGetLangSet(tls, pat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)), 0, bp) {
  11579. v1 = XIA__FcLangSetGetLangs(tls, *(*uintptr)(unsafe.Pointer(bp)))
  11580. ss = v1
  11581. if v3 = !(v1 != 0); !v3 {
  11582. v2 = XIA__FcStrListCreate(tls, ss)
  11583. lang_strs = v2
  11584. }
  11585. if v3 || !(v2 != 0) {
  11586. goto bail0
  11587. }
  11588. }
  11589. }
  11590. subpat = XIA__FcPatternDuplicate(tls, pat)
  11591. if !(subpat != 0) {
  11592. goto bail0
  11593. }
  11594. format_save = (*TFcFormatContext)(unsafe.Pointer(c)).Fformat
  11595. idx = 0
  11596. for cond := true; cond; cond = !(done != 0) {
  11597. done = int32(m_FcTrue)
  11598. if lang_strs != 0 {
  11599. XIA__FcPatternDel(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)))
  11600. v4 = XIA__FcStrListNext(tls, lang_strs)
  11601. lang = v4
  11602. if v4 != 0 {
  11603. /* XXX binding? */
  11604. XIA__FcPatternAddString(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)), lang)
  11605. done = m_FcFalse
  11606. }
  11607. } else {
  11608. i = 0
  11609. for {
  11610. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  11611. break
  11612. }
  11613. /* XXX this can be optimized by accessing valuelist linked lists
  11614. * directly and remembering where we were. Most (all) value lists
  11615. * in normal uses are pretty short though (language tags are
  11616. * stored as a LangSet, not separate values.). */
  11617. XIA__FcPatternDel(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  11618. if int32(_FcResultMatch) == XIA__FcPatternGet(tls, pat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)), idx, bp+8) {
  11619. /* XXX binding */
  11620. XIA__FcPatternAdd(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)), *(*TFcValue)(unsafe.Pointer(bp + 8)), m_FcFalse)
  11621. done = m_FcFalse
  11622. }
  11623. goto _5
  11624. _5:
  11625. ;
  11626. i++
  11627. }
  11628. }
  11629. if !(done != 0) {
  11630. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat = format_save
  11631. ret = _interpret_subexpr(tls, c, subpat, buf)
  11632. if !(ret != 0) {
  11633. goto bail
  11634. }
  11635. }
  11636. idx++
  11637. }
  11638. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat == format_save {
  11639. _skip_subexpr(tls, c)
  11640. }
  11641. goto bail
  11642. bail:
  11643. ;
  11644. XIA__FcPatternDestroy(tls, subpat)
  11645. goto bail0
  11646. bail0:
  11647. ;
  11648. if lang_strs != 0 {
  11649. XIA__FcStrListDone(tls, lang_strs)
  11650. }
  11651. XIA__FcObjectSetDestroy(tls, os)
  11652. return ret
  11653. }
  11654. func _interpret_simple(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11655. bp := tls.Alloc(32)
  11656. defer tls.Free(32)
  11657. var add_colon, add_elt_name TFcBool
  11658. var else_string, orig, v3 uintptr
  11659. var idx int32
  11660. var l TFcValueListPtr
  11661. var _ /* iter at bp+0 */ TFcPatternIter
  11662. _, _, _, _, _, _, _ = add_colon, add_elt_name, else_string, idx, l, orig, v3
  11663. add_colon = m_FcFalse
  11664. add_elt_name = m_FcFalse
  11665. if _consume_char(tls, c, uint8(':')) != 0 {
  11666. add_colon = int32(m_FcTrue)
  11667. }
  11668. if !(_read_word(tls, c) != 0) {
  11669. return m_FcFalse
  11670. }
  11671. idx = -int32(1)
  11672. if _consume_char(tls, c, uint8('[')) != 0 {
  11673. idx = int32(libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+8, int32(10)))
  11674. if idx < 0 {
  11675. _message(tls, __ccgo_ts+3416, libc.VaList(bp+24, int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat-uintptr(1))-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  11676. return m_FcFalse
  11677. }
  11678. if !(_expect_char(tls, c, uint8(']')) != 0) {
  11679. return m_FcFalse
  11680. }
  11681. }
  11682. if _consume_char(tls, c, uint8('=')) != 0 {
  11683. add_elt_name = int32(m_FcTrue)
  11684. }
  11685. /* modifiers */
  11686. else_string = libc.UintptrFromInt32(0)
  11687. if _consume_char(tls, c, uint8(':')) != 0 {
  11688. /* divert the c->word for now */
  11689. orig = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  11690. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = (*TFcFormatContext)(unsafe.Pointer(c)).Fword + uintptr(libc.Xstrlen(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)) + uintptr(1)
  11691. /* for now we just support 'default value' */
  11692. if !(_expect_char(tls, c, uint8('-')) != 0) || !(_read_chars(tls, c, uint8('|')) != 0) {
  11693. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = orig
  11694. return m_FcFalse
  11695. }
  11696. else_string = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  11697. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = orig
  11698. }
  11699. if XIA__FcPatternFindIter(tls, pat, bp, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0 || else_string != 0 {
  11700. l = libc.UintptrFromInt32(0)
  11701. if add_colon != 0 {
  11702. XFcStrBufChar(tls, buf, uint8(':'))
  11703. }
  11704. if add_elt_name != 0 {
  11705. XFcStrBufString(tls, buf, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  11706. XFcStrBufChar(tls, buf, uint8('='))
  11707. }
  11708. l = XFcPatternIterGetValues(tls, pat, bp)
  11709. if !(idx != -int32(1)) {
  11710. goto _1
  11711. }
  11712. for l != 0 && idx > 0 {
  11713. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  11714. v3 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  11715. } else {
  11716. v3 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  11717. }
  11718. l = v3
  11719. idx--
  11720. }
  11721. if l != 0 && idx == 0 {
  11722. if !(XFcNameUnparseValue(tls, buf, l+8, libc.UintptrFromInt32(0)) != 0) {
  11723. return m_FcFalse
  11724. }
  11725. } else {
  11726. goto notfound
  11727. }
  11728. goto _2
  11729. _1:
  11730. ;
  11731. if !(l != 0) {
  11732. goto _4
  11733. }
  11734. XFcNameUnparseValueList(tls, buf, l, libc.UintptrFromInt32(0))
  11735. goto _5
  11736. _4:
  11737. ;
  11738. goto notfound
  11739. notfound:
  11740. ;
  11741. if else_string != 0 {
  11742. XFcStrBufString(tls, buf, else_string)
  11743. }
  11744. _5:
  11745. ;
  11746. _2:
  11747. }
  11748. return int32(m_FcTrue)
  11749. }
  11750. func _cescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11751. var v1 uintptr
  11752. _ = v1
  11753. /* XXX escape \n etc? */
  11754. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11755. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) {
  11756. case int32('\\'):
  11757. fallthrough
  11758. case int32('"'):
  11759. XFcStrBufChar(tls, buf, uint8('\\'))
  11760. break
  11761. }
  11762. v1 = str
  11763. str++
  11764. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v1)))
  11765. }
  11766. return int32(m_FcTrue)
  11767. }
  11768. func _shescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11769. XFcStrBufChar(tls, buf, uint8('\''))
  11770. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11771. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) == int32('\'') {
  11772. XFcStrBufString(tls, buf, __ccgo_ts+3451)
  11773. } else {
  11774. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(str)))
  11775. }
  11776. str++
  11777. }
  11778. XFcStrBufChar(tls, buf, uint8('\''))
  11779. return int32(m_FcTrue)
  11780. }
  11781. func _xmlescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11782. /* XXX escape \n etc? */
  11783. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11784. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) {
  11785. case int32('&'):
  11786. XFcStrBufString(tls, buf, __ccgo_ts+3456)
  11787. case int32('<'):
  11788. XFcStrBufString(tls, buf, __ccgo_ts+3462)
  11789. case int32('>'):
  11790. XFcStrBufString(tls, buf, __ccgo_ts+3467)
  11791. default:
  11792. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(str)))
  11793. break
  11794. }
  11795. str++
  11796. }
  11797. return int32(m_FcTrue)
  11798. }
  11799. func _delete_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11800. var p uintptr
  11801. _ = p
  11802. /* XXX not UTF-8 aware */
  11803. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(')')) != 0) || !(_expect_char(tls, c, uint8(')')) != 0) {
  11804. return m_FcFalse
  11805. }
  11806. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11807. p = libc.Xstrpbrk(tls, str, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  11808. if p != 0 {
  11809. XFcStrBufData(tls, buf, str, int32(int64(p)-int64(str)))
  11810. str = p + uintptr(1)
  11811. } else {
  11812. XFcStrBufString(tls, buf, str)
  11813. break
  11814. }
  11815. }
  11816. return int32(m_FcTrue)
  11817. }
  11818. func _escape_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11819. var p uintptr
  11820. _ = p
  11821. /* XXX not UTF-8 aware */
  11822. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(')')) != 0) || !(_expect_char(tls, c, uint8(')')) != 0) {
  11823. return m_FcFalse
  11824. }
  11825. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11826. p = libc.Xstrpbrk(tls, str, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  11827. if p != 0 {
  11828. XFcStrBufData(tls, buf, str, int32(int64(p)-int64(str)))
  11829. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fword)))
  11830. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(p)))
  11831. str = p + uintptr(1)
  11832. } else {
  11833. XFcStrBufString(tls, buf, str)
  11834. break
  11835. }
  11836. }
  11837. return int32(m_FcTrue)
  11838. }
  11839. func _translate_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11840. var from, p, to uintptr
  11841. var from_len, i, to_len, v1 int32
  11842. var repeat uint8
  11843. _, _, _, _, _, _, _, _ = from, from_len, i, p, repeat, to, to_len, v1
  11844. /* XXX not UTF-8 aware */
  11845. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(',')) != 0) || !(_expect_char(tls, c, uint8(',')) != 0) {
  11846. return m_FcFalse
  11847. }
  11848. from = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  11849. from_len = libc.Int32FromUint64(libc.Xstrlen(tls, from))
  11850. to = from + uintptr(from_len) + uintptr(1)
  11851. /* hack: we temporarily divert c->word */
  11852. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = to
  11853. if !(_read_chars(tls, c, uint8(')')) != 0) {
  11854. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = from
  11855. return m_FcFalse
  11856. }
  11857. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = from
  11858. to_len = libc.Int32FromUint64(libc.Xstrlen(tls, to))
  11859. repeat = *(*uint8)(unsafe.Pointer(to + uintptr(to_len-int32(1))))
  11860. if !(_expect_char(tls, c, uint8(')')) != 0) {
  11861. return m_FcFalse
  11862. }
  11863. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11864. p = libc.Xstrpbrk(tls, str, from)
  11865. if p != 0 {
  11866. XFcStrBufData(tls, buf, str, int32(int64(p)-int64(str)))
  11867. i = int32(int64(libc.Xstrchr(tls, from, libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(p))))) - int64(from))
  11868. if i < to_len {
  11869. v1 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(to + uintptr(i))))
  11870. } else {
  11871. v1 = libc.Int32FromUint8(repeat)
  11872. }
  11873. XFcStrBufChar(tls, buf, libc.Uint8FromInt32(v1))
  11874. str = p + uintptr(1)
  11875. } else {
  11876. XFcStrBufString(tls, buf, str)
  11877. break
  11878. }
  11879. }
  11880. return int32(m_FcTrue)
  11881. }
  11882. func _interpret_convert(tls *libc.TLS, c uintptr, buf uintptr, start int32) (r TFcBool) {
  11883. bp := tls.Alloc(8368)
  11884. defer tls.Free(8368)
  11885. var new_str, str uintptr
  11886. var ret TFcBool
  11887. var _ /* buf_static at bp+152 */ [8192]TFcChar8
  11888. var _ /* new_buf at bp+0 */ TFcStrBuf
  11889. _, _, _ = new_str, ret, str
  11890. if !(_expect_char(tls, c, uint8('|')) != 0) || !(_read_word(tls, c) != 0) {
  11891. return m_FcFalse
  11892. }
  11893. /* prepare the buffer */
  11894. XFcStrBufChar(tls, buf, uint8('\000'))
  11895. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  11896. return m_FcFalse
  11897. }
  11898. str = (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf + uintptr(start)
  11899. (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 = start
  11900. /* try simple converters first */
  11901. if 0 != 0 {
  11902. } else {
  11903. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3472) {
  11904. new_str = XIA__FcStrDowncase(tls, str)
  11905. ret = int32(m_FcTrue)
  11906. } else {
  11907. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3481) {
  11908. new_str = XIA__FcStrBasename(tls, str)
  11909. ret = int32(m_FcTrue)
  11910. } else {
  11911. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3490) {
  11912. new_str = XIA__FcStrDirname(tls, str)
  11913. ret = int32(m_FcTrue)
  11914. } else {
  11915. ret = m_FcFalse
  11916. }
  11917. }
  11918. }
  11919. }
  11920. if ret != 0 {
  11921. if new_str != 0 {
  11922. XFcStrBufString(tls, buf, new_str)
  11923. XIA__FcStrFree(tls, new_str)
  11924. return int32(m_FcTrue)
  11925. } else {
  11926. return m_FcFalse
  11927. }
  11928. }
  11929. XFcStrBufInit(tls, bp, bp+152, int32(8192))
  11930. /* now try our custom converters */
  11931. if 0 != 0 {
  11932. } else {
  11933. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3498) {
  11934. ret = _cescape(tls, c, str, bp)
  11935. } else {
  11936. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3506) {
  11937. ret = _shescape(tls, c, str, bp)
  11938. } else {
  11939. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3515) {
  11940. ret = _xmlescape(tls, c, str, bp)
  11941. } else {
  11942. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3525) {
  11943. ret = _delete_chars(tls, c, str, bp)
  11944. } else {
  11945. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3532) {
  11946. ret = _escape_chars(tls, c, str, bp)
  11947. } else {
  11948. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3539) {
  11949. ret = _translate_chars(tls, c, str, bp)
  11950. } else {
  11951. ret = m_FcFalse
  11952. }
  11953. }
  11954. }
  11955. }
  11956. }
  11957. }
  11958. }
  11959. if ret != 0 {
  11960. XFcStrBufChar(tls, bp, uint8('\000'))
  11961. XFcStrBufString(tls, buf, (*(*TFcStrBuf)(unsafe.Pointer(bp))).Fbuf)
  11962. } else {
  11963. _message(tls, __ccgo_ts+3549, libc.VaList(bp+8352, (*TFcFormatContext)(unsafe.Pointer(c)).Fword))
  11964. }
  11965. XFcStrBufDestroy(tls, bp)
  11966. return ret
  11967. }
  11968. func _maybe_interpret_converts(tls *libc.TLS, c uintptr, buf uintptr, start int32) (r TFcBool) {
  11969. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('|') {
  11970. if !(_interpret_convert(tls, c, buf, start) != 0) {
  11971. return m_FcFalse
  11972. }
  11973. }
  11974. return int32(m_FcTrue)
  11975. }
  11976. func _align_to_width(tls *libc.TLS, buf uintptr, start int32, width int32) (r TFcBool) {
  11977. var len1, old_len, v1, v2 int32
  11978. _, _, _, _ = len1, old_len, v1, v2
  11979. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  11980. return m_FcFalse
  11981. }
  11982. len1 = (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 - start
  11983. if len1 < -width {
  11984. /* left align */
  11985. for {
  11986. v1 = len1
  11987. len1++
  11988. if !(v1 < -width) {
  11989. break
  11990. }
  11991. XFcStrBufChar(tls, buf, uint8(' '))
  11992. }
  11993. } else {
  11994. if len1 < width {
  11995. old_len = len1
  11996. /* right align */
  11997. for {
  11998. v2 = len1
  11999. len1++
  12000. if !(v2 < width) {
  12001. break
  12002. }
  12003. XFcStrBufChar(tls, buf, uint8(' '))
  12004. }
  12005. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  12006. return m_FcFalse
  12007. }
  12008. len1 = old_len
  12009. libc.Xmemmove(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(len1), (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(width), libc.Uint64FromInt32(len1))
  12010. libc.Xmemset(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(width), int32(' '), libc.Uint64FromInt32(width-len1))
  12011. }
  12012. }
  12013. return libc.BoolInt32(!((*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0))
  12014. }
  12015. func _interpret_percent(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  12016. var ret TFcBool
  12017. var start, width int32
  12018. _, _, _ = ret, start, width
  12019. if !(_expect_char(tls, c, uint8('%')) != 0) {
  12020. return m_FcFalse
  12021. }
  12022. if _consume_char(tls, c, uint8('%')) != 0 { /* "%%" */
  12023. XFcStrBufChar(tls, buf, uint8('%'))
  12024. return int32(m_FcTrue)
  12025. }
  12026. /* parse an optional width specifier */
  12027. width = int32(libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+8, int32(10)))
  12028. if !(_expect_char(tls, c, uint8('{')) != 0) {
  12029. return m_FcFalse
  12030. }
  12031. start = (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1
  12032. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  12033. case int32('='):
  12034. ret = _interpret_builtin(tls, c, pat, buf)
  12035. case int32('{'):
  12036. ret = _interpret_subexpr(tls, c, pat, buf)
  12037. case int32('+'):
  12038. ret = _interpret_filter_in(tls, c, pat, buf)
  12039. case int32('-'):
  12040. ret = _interpret_filter_out(tls, c, pat, buf)
  12041. case int32('?'):
  12042. ret = _interpret_cond(tls, c, pat, buf)
  12043. case int32('#'):
  12044. ret = _interpret_count(tls, c, pat, buf)
  12045. case int32('['):
  12046. ret = _interpret_enumerate(tls, c, pat, buf)
  12047. default:
  12048. ret = _interpret_simple(tls, c, pat, buf)
  12049. break
  12050. }
  12051. return libc.BoolInt32(ret != 0 && _maybe_interpret_converts(tls, c, buf, start) != 0 && _align_to_width(tls, buf, start, width) != 0 && _expect_char(tls, c, uint8('}')) != 0)
  12052. }
  12053. func _interpret_expr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr, term TFcChar8) (r TFcBool) {
  12054. var v1, v2, v3, v4 uintptr
  12055. _, _, _, _ = v1, v2, v3, v4
  12056. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != libc.Int32FromUint8(term) {
  12057. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  12058. case int32('\\'):
  12059. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  12060. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  12061. v2 = c + 8
  12062. v1 = *(*uintptr)(unsafe.Pointer(v2))
  12063. *(*uintptr)(unsafe.Pointer(v2))++
  12064. XFcStrBufChar(tls, buf, _escaped_char(tls, *(*TFcChar8)(unsafe.Pointer(v1))))
  12065. }
  12066. continue
  12067. case int32('%'):
  12068. if !(_interpret_percent(tls, c, pat, buf) != 0) {
  12069. return m_FcFalse
  12070. }
  12071. continue
  12072. }
  12073. v4 = c + 8
  12074. v3 = *(*uintptr)(unsafe.Pointer(v4))
  12075. *(*uintptr)(unsafe.Pointer(v4))++
  12076. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v3)))
  12077. }
  12078. return int32(m_FcTrue)
  12079. }
  12080. func _FcPatternFormatToBuf(tls *libc.TLS, pat uintptr, format uintptr, buf uintptr) (r TFcBool) {
  12081. bp := tls.Alloc(1072)
  12082. defer tls.Free(1072)
  12083. var ret TFcBool
  12084. var _ /* c at bp+0 */ TFcFormatContext
  12085. var _ /* word_static at bp+40 */ [1024]TFcChar8
  12086. _ = ret
  12087. if !(_FcFormatContextInit(tls, bp, format, bp+40, int32(1024)) != 0) {
  12088. return m_FcFalse
  12089. }
  12090. ret = _interpret_expr(tls, bp, pat, buf, uint8('\000'))
  12091. _FcFormatContextDone(tls, bp)
  12092. return ret
  12093. }
  12094. func XIA__FcPatternFormat(tls *libc.TLS, pat uintptr, format uintptr) (r uintptr) {
  12095. bp := tls.Alloc(7328)
  12096. defer tls.Free(7328)
  12097. var alloced, v1 uintptr
  12098. var ret TFcBool
  12099. var _ /* buf at bp+0 */ TFcStrBuf
  12100. var _ /* buf_static at bp+152 */ [7168]TFcChar8
  12101. _, _, _ = alloced, ret, v1
  12102. alloced = libc.UintptrFromInt32(0)
  12103. if !(pat != 0) {
  12104. v1 = XIA__FcPatternCreate(tls)
  12105. pat = v1
  12106. alloced = v1
  12107. }
  12108. XFcStrBufInit(tls, bp, bp+152, int32(7168))
  12109. ret = _FcPatternFormatToBuf(tls, pat, format, bp)
  12110. if alloced != 0 {
  12111. XIA__FcPatternDestroy(tls, alloced)
  12112. }
  12113. if ret != 0 {
  12114. return XFcStrBufDone(tls, bp)
  12115. } else {
  12116. XFcStrBufDestroy(tls, bp)
  12117. return libc.UintptrFromInt32(0)
  12118. }
  12119. return r
  12120. }
  12121. var XFcPatternFormat = XIA__FcPatternFormat
  12122. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 = 500
  12123. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 = 1000
  12124. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 = 1667
  12125. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 = 2333
  12126. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 = 400
  12127. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 = 275
  12128. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 = 275
  12129. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 = 0
  12130. const m_FC_ENCODING_MAC_ROMAN = "MACINTOSH"
  12131. const m_FREETYPE_MAJOR = 2
  12132. const m_FREETYPE_MINOR = 13
  12133. const m_FREETYPE_PATCH = 2
  12134. const m_FT_ADVANCE_FLAG_FAST_ONLY = 0x20000000
  12135. const m_FT_AUTOHINTER_H = "FT_DRIVER_H"
  12136. const m_FT_CACHE_CHARMAP_H = "FT_CACHE_H"
  12137. const m_FT_CACHE_IMAGE_H = "FT_CACHE_H"
  12138. const m_FT_CACHE_INTERNAL_CACHE_H = "FT_CACHE_H"
  12139. const m_FT_CACHE_INTERNAL_GLYPH_H = "FT_CACHE_H"
  12140. const m_FT_CACHE_INTERNAL_IMAGE_H = "FT_CACHE_H"
  12141. const m_FT_CACHE_INTERNAL_MANAGER_H = "FT_CACHE_H"
  12142. const m_FT_CACHE_INTERNAL_MRU_H = "FT_CACHE_H"
  12143. const m_FT_CACHE_INTERNAL_SBITS_H = "FT_CACHE_H"
  12144. const m_FT_CACHE_MANAGER_H = "FT_CACHE_H"
  12145. const m_FT_CACHE_SMALL_BITMAPS_H = "FT_CACHE_H"
  12146. const m_FT_CFF_DRIVER_H = "FT_DRIVER_H"
  12147. const m_FT_CHAR_BIT = "CHAR_BIT"
  12148. const m_FT_CURVE_TAG_CONIC = 0x00
  12149. const m_FT_CURVE_TAG_CUBIC = 0x02
  12150. const m_FT_CURVE_TAG_HAS_SCANMODE = 0x04
  12151. const m_FT_CURVE_TAG_ON = 0x01
  12152. const m_FT_CURVE_TAG_TOUCH_X = 0x08
  12153. const m_FT_CURVE_TAG_TOUCH_Y = 0x10
  12154. const m_FT_Curve_Tag_Conic = "FT_CURVE_TAG_CONIC"
  12155. const m_FT_Curve_Tag_Cubic = "FT_CURVE_TAG_CUBIC"
  12156. const m_FT_Curve_Tag_On = "FT_CURVE_TAG_ON"
  12157. const m_FT_Curve_Tag_Touch_X = "FT_CURVE_TAG_TOUCH_X"
  12158. const m_FT_Curve_Tag_Touch_Y = "FT_CURVE_TAG_TOUCH_Y"
  12159. const m_FT_DEBUG_HOOK_TRUETYPE = 0
  12160. const m_FT_FILE = "FILE"
  12161. const m_FT_FSTYPE_BITMAP_EMBEDDING_ONLY = 0x0200
  12162. const m_FT_FSTYPE_EDITABLE_EMBEDDING = 0x0008
  12163. const m_FT_FSTYPE_INSTALLABLE_EMBEDDING = 0x0000
  12164. const m_FT_FSTYPE_NO_SUBSETTING = 0x0100
  12165. const m_FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING = 0x0004
  12166. const m_FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING = 0x0002
  12167. const m_FT_INT64 = "long"
  12168. const m_FT_INT_MAX = "INT_MAX"
  12169. const m_FT_INT_MIN = "INT_MIN"
  12170. const m_FT_LLONG_MAX = "LLONG_MAX"
  12171. const m_FT_LLONG_MIN = "LLONG_MIN"
  12172. const m_FT_LOAD_DEFAULT = 0x0
  12173. const m_FT_LONG_MAX = "LONG_MAX"
  12174. const m_FT_LONG_MIN = "LONG_MIN"
  12175. const m_FT_MAX_MODULES = 32
  12176. const m_FT_MODULE_DRIVER_HAS_HINTER = 0x400
  12177. const m_FT_MODULE_DRIVER_HINTS_LIGHTLY = 0x800
  12178. const m_FT_MODULE_DRIVER_NO_OUTLINES = 0x200
  12179. const m_FT_MODULE_DRIVER_SCALABLE = 0x100
  12180. const m_FT_MODULE_FONT_DRIVER = 1
  12181. const m_FT_MODULE_HINTER = 4
  12182. const m_FT_MODULE_RENDERER = 2
  12183. const m_FT_MODULE_STYLER = 8
  12184. const m_FT_OPEN_DRIVER = 0x8
  12185. const m_FT_OPEN_MEMORY = 0x1
  12186. const m_FT_OPEN_PARAMS = 0x10
  12187. const m_FT_OPEN_PATHNAME = 0x4
  12188. const m_FT_OPEN_STREAM = 0x2
  12189. const m_FT_OUTLINE_CONTOURS_MAX = "SHRT_MAX"
  12190. const m_FT_OUTLINE_EVEN_ODD_FILL = 0x2
  12191. const m_FT_OUTLINE_HIGH_PRECISION = 0x100
  12192. const m_FT_OUTLINE_IGNORE_DROPOUTS = 0x8
  12193. const m_FT_OUTLINE_INCLUDE_STUBS = 0x20
  12194. const m_FT_OUTLINE_NONE = 0x0
  12195. const m_FT_OUTLINE_OVERLAP = 0x40
  12196. const m_FT_OUTLINE_OWNER = 0x1
  12197. const m_FT_OUTLINE_POINTS_MAX = "SHRT_MAX"
  12198. const m_FT_OUTLINE_REVERSE_FILL = 0x4
  12199. const m_FT_OUTLINE_SINGLE_PASS = 0x200
  12200. const m_FT_OUTLINE_SMART_DROPOUTS = 0x10
  12201. const m_FT_Outline_ConicTo_Func = "FT_Outline_ConicToFunc"
  12202. const m_FT_Outline_CubicTo_Func = "FT_Outline_CubicToFunc"
  12203. const m_FT_Outline_LineTo_Func = "FT_Outline_LineToFunc"
  12204. const m_FT_Outline_MoveTo_Func = "FT_Outline_MoveToFunc"
  12205. const m_FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY = "FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY"
  12206. const m_FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY = "FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY"
  12207. const m_FT_PCF_DRIVER_H = "FT_DRIVER_H"
  12208. const m_FT_RASTER_FLAG_AA = 0x1
  12209. const m_FT_RASTER_FLAG_CLIP = 0x4
  12210. const m_FT_RASTER_FLAG_DEFAULT = 0x0
  12211. const m_FT_RASTER_FLAG_DIRECT = 0x2
  12212. const m_FT_RASTER_FLAG_SDF = 0x8
  12213. const m_FT_RENDER_POOL_SIZE = 16384
  12214. const m_FT_Raster_Done_Func = "FT_Raster_DoneFunc"
  12215. const m_FT_Raster_New_Func = "FT_Raster_NewFunc"
  12216. const m_FT_Raster_Render_Func = "FT_Raster_RenderFunc"
  12217. const m_FT_Raster_Reset_Func = "FT_Raster_ResetFunc"
  12218. const m_FT_Raster_Set_Mode_Func = "FT_Raster_SetModeFunc"
  12219. const m_FT_Raster_Span_Func = "FT_SpanFunc"
  12220. const m_FT_SUBGLYPH_FLAG_2X2 = 0x80
  12221. const m_FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS = 1
  12222. const m_FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES = 2
  12223. const m_FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID = 4
  12224. const m_FT_SUBGLYPH_FLAG_SCALE = 8
  12225. const m_FT_SUBGLYPH_FLAG_USE_MY_METRICS = 0x200
  12226. const m_FT_SUBGLYPH_FLAG_XY_SCALE = 0x40
  12227. const m_FT_TRUETYPE_DRIVER_H = "FT_DRIVER_H"
  12228. const m_FT_UINT_MAX = "UINT_MAX"
  12229. const m_FT_ULLONG_MAX = "ULLONG_MAX"
  12230. const m_FT_ULONG_MAX = "ULONG_MAX"
  12231. const m_FT_USHORT_MAX = "USHRT_MAX"
  12232. const m_FT_VAR_AXIS_FLAG_HIDDEN = 1
  12233. const m_FT_XFREE86_H = "FT_FONT_FORMATS_H"
  12234. const m_FcPatternAddFTFace = "IA__FcPatternAddFTFace"
  12235. const m_FcPatternGetFTFace = "IA__FcPatternGetFTFace"
  12236. const m_OTLAYOUT_HEAD = "otlayout:"
  12237. const m_OTLAYOUT_HEAD_LEN = 9
  12238. const m_OTLAYOUT_ID_LEN = 4
  12239. const m_T1_MAX_CHARSTRINGS_OPERANDS = 256
  12240. const m_T1_MAX_DICT_DEPTH = 5
  12241. const m_T1_MAX_MM_AXIS = 4
  12242. const m_T1_MAX_MM_DESIGNS = 16
  12243. const m_T1_MAX_MM_MAP_POINTS = 20
  12244. const m_T1_MAX_SUBRS_CALLS = 16
  12245. const m_TT_ADOBE_ID_CUSTOM = 2
  12246. const m_TT_ADOBE_ID_EXPERT = 1
  12247. const m_TT_ADOBE_ID_LATIN_1 = 3
  12248. const m_TT_ADOBE_ID_STANDARD = 0
  12249. const m_TT_APPLE_ID_DEFAULT = 0
  12250. const m_TT_APPLE_ID_FULL_UNICODE = 6
  12251. const m_TT_APPLE_ID_ISO_10646 = 2
  12252. const m_TT_APPLE_ID_UNICODE_1_1 = 1
  12253. const m_TT_APPLE_ID_UNICODE_2_0 = 3
  12254. const m_TT_APPLE_ID_UNICODE_32 = 4
  12255. const m_TT_APPLE_ID_VARIANT_SELECTOR = 5
  12256. const m_TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES = 1000000
  12257. const m_TT_ENCODING_DONT_CARE = 65535
  12258. const m_TT_ISO_ID_10646 = 1
  12259. const m_TT_ISO_ID_7BIT_ASCII = 0
  12260. const m_TT_ISO_ID_8859_1 = 2
  12261. const m_TT_LANGUAGE_DONT_CARE = 65535
  12262. const m_TT_MAC_ID_ARABIC = 4
  12263. const m_TT_MAC_ID_ARMENIAN = 24
  12264. const m_TT_MAC_ID_BENGALI = 13
  12265. const m_TT_MAC_ID_BURMESE = 19
  12266. const m_TT_MAC_ID_DEVANAGARI = 9
  12267. const m_TT_MAC_ID_GEEZ = 28
  12268. const m_TT_MAC_ID_GEORGIAN = 23
  12269. const m_TT_MAC_ID_GREEK = 6
  12270. const m_TT_MAC_ID_GUJARATI = 11
  12271. const m_TT_MAC_ID_GURMUKHI = 10
  12272. const m_TT_MAC_ID_HEBREW = 5
  12273. const m_TT_MAC_ID_JAPANESE = 1
  12274. const m_TT_MAC_ID_KANNADA = 16
  12275. const m_TT_MAC_ID_KHMER = 20
  12276. const m_TT_MAC_ID_KOREAN = 3
  12277. const m_TT_MAC_ID_LAOTIAN = 22
  12278. const m_TT_MAC_ID_MALAYALAM = 17
  12279. const m_TT_MAC_ID_MALDIVIAN = 25
  12280. const m_TT_MAC_ID_MONGOLIAN = 27
  12281. const m_TT_MAC_ID_ORIYA = 12
  12282. const m_TT_MAC_ID_ROMAN = 0
  12283. const m_TT_MAC_ID_RSYMBOL = 8
  12284. const m_TT_MAC_ID_RUSSIAN = 7
  12285. const m_TT_MAC_ID_SIMPLIFIED_CHINESE = 25
  12286. const m_TT_MAC_ID_SINDHI = 31
  12287. const m_TT_MAC_ID_SINHALESE = 18
  12288. const m_TT_MAC_ID_SLAVIC = 29
  12289. const m_TT_MAC_ID_TAMIL = 14
  12290. const m_TT_MAC_ID_TELUGU = 15
  12291. const m_TT_MAC_ID_THAI = 21
  12292. const m_TT_MAC_ID_TIBETAN = 26
  12293. const m_TT_MAC_ID_TRADITIONAL_CHINESE = 2
  12294. const m_TT_MAC_ID_UNINTERP = 32
  12295. const m_TT_MAC_ID_VIETNAMESE = 30
  12296. const m_TT_MAC_LANGID_AFRIKAANS = 141
  12297. const m_TT_MAC_LANGID_ALBANIAN = 36
  12298. const m_TT_MAC_LANGID_AMHARIC = 85
  12299. const m_TT_MAC_LANGID_ARABIC = 12
  12300. const m_TT_MAC_LANGID_ARMENIAN = 51
  12301. const m_TT_MAC_LANGID_ASSAMESE = 68
  12302. const m_TT_MAC_LANGID_AYMARA = 134
  12303. const m_TT_MAC_LANGID_AZERBAIJANI = 49
  12304. const m_TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT = 50
  12305. const m_TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT = 49
  12306. const m_TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT = 150
  12307. const m_TT_MAC_LANGID_BASQUE = 129
  12308. const m_TT_MAC_LANGID_BENGALI = 67
  12309. const m_TT_MAC_LANGID_BRETON = 142
  12310. const m_TT_MAC_LANGID_BULGARIAN = 44
  12311. const m_TT_MAC_LANGID_BURMESE = 77
  12312. const m_TT_MAC_LANGID_BYELORUSSIAN = 46
  12313. const m_TT_MAC_LANGID_CATALAN = 130
  12314. const m_TT_MAC_LANGID_CHEWA = 92
  12315. const m_TT_MAC_LANGID_CHINESE_SIMPLIFIED = 33
  12316. const m_TT_MAC_LANGID_CHINESE_TRADITIONAL = 19
  12317. const m_TT_MAC_LANGID_CROATIAN = 18
  12318. const m_TT_MAC_LANGID_CZECH = 38
  12319. const m_TT_MAC_LANGID_DANISH = 7
  12320. const m_TT_MAC_LANGID_DUTCH = 4
  12321. const m_TT_MAC_LANGID_DZONGKHA = 137
  12322. const m_TT_MAC_LANGID_ENGLISH = 0
  12323. const m_TT_MAC_LANGID_ESPERANTO = 94
  12324. const m_TT_MAC_LANGID_ESTONIAN = 27
  12325. const m_TT_MAC_LANGID_FAEROESE = 30
  12326. const m_TT_MAC_LANGID_FARSI = 31
  12327. const m_TT_MAC_LANGID_FINNISH = 13
  12328. const m_TT_MAC_LANGID_FLEMISH = 34
  12329. const m_TT_MAC_LANGID_FRENCH = 1
  12330. const m_TT_MAC_LANGID_GALICIAN = 140
  12331. const m_TT_MAC_LANGID_GALLA = 87
  12332. const m_TT_MAC_LANGID_GEORGIAN = 52
  12333. const m_TT_MAC_LANGID_GERMAN = 2
  12334. const m_TT_MAC_LANGID_GREEK = 14
  12335. const m_TT_MAC_LANGID_GREEK_POLYTONIC = 148
  12336. const m_TT_MAC_LANGID_GREELANDIC = 149
  12337. const m_TT_MAC_LANGID_GUARANI = 133
  12338. const m_TT_MAC_LANGID_GUJARATI = 69
  12339. const m_TT_MAC_LANGID_HEBREW = 10
  12340. const m_TT_MAC_LANGID_HINDI = 21
  12341. const m_TT_MAC_LANGID_HUNGARIAN = 26
  12342. const m_TT_MAC_LANGID_ICELANDIC = 15
  12343. const m_TT_MAC_LANGID_INDONESIAN = 81
  12344. const m_TT_MAC_LANGID_INUKTITUT = 143
  12345. const m_TT_MAC_LANGID_IRISH = 35
  12346. const m_TT_MAC_LANGID_IRISH_GAELIC = 146
  12347. const m_TT_MAC_LANGID_ITALIAN = 3
  12348. const m_TT_MAC_LANGID_JAPANESE = 11
  12349. const m_TT_MAC_LANGID_JAVANESE = 138
  12350. const m_TT_MAC_LANGID_KANNADA = 73
  12351. const m_TT_MAC_LANGID_KASHMIRI = 61
  12352. const m_TT_MAC_LANGID_KAZAKH = 48
  12353. const m_TT_MAC_LANGID_KHMER = 78
  12354. const m_TT_MAC_LANGID_KIRGHIZ = 54
  12355. const m_TT_MAC_LANGID_KOREAN = 23
  12356. const m_TT_MAC_LANGID_KURDISH = 60
  12357. const m_TT_MAC_LANGID_LAO = 79
  12358. const m_TT_MAC_LANGID_LATIN = 131
  12359. const m_TT_MAC_LANGID_LETTISH = 28
  12360. const m_TT_MAC_LANGID_LITHUANIAN = 24
  12361. const m_TT_MAC_LANGID_MACEDONIAN = 43
  12362. const m_TT_MAC_LANGID_MALAGASY = 93
  12363. const m_TT_MAC_LANGID_MALAYALAM = 72
  12364. const m_TT_MAC_LANGID_MALAY_ARABIC_SCRIPT = 84
  12365. const m_TT_MAC_LANGID_MALAY_ROMAN_SCRIPT = 83
  12366. const m_TT_MAC_LANGID_MALTESE = 16
  12367. const m_TT_MAC_LANGID_MANX_GAELIC = 145
  12368. const m_TT_MAC_LANGID_MARATHI = 66
  12369. const m_TT_MAC_LANGID_MOLDAVIAN = 53
  12370. const m_TT_MAC_LANGID_MONGOLIAN = 57
  12371. const m_TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT = 58
  12372. const m_TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT = 57
  12373. const m_TT_MAC_LANGID_NEPALI = 64
  12374. const m_TT_MAC_LANGID_NORWEGIAN = 9
  12375. const m_TT_MAC_LANGID_ORIYA = 71
  12376. const m_TT_MAC_LANGID_PASHTO = 59
  12377. const m_TT_MAC_LANGID_POLISH = 25
  12378. const m_TT_MAC_LANGID_PORTUGUESE = 8
  12379. const m_TT_MAC_LANGID_PUNJABI = 70
  12380. const m_TT_MAC_LANGID_QUECHUA = 132
  12381. const m_TT_MAC_LANGID_ROMANIAN = 37
  12382. const m_TT_MAC_LANGID_RUANDA = 90
  12383. const m_TT_MAC_LANGID_RUNDI = 91
  12384. const m_TT_MAC_LANGID_RUSSIAN = 32
  12385. const m_TT_MAC_LANGID_SAAMISK = 29
  12386. const m_TT_MAC_LANGID_SANSKRIT = 65
  12387. const m_TT_MAC_LANGID_SCOTTISH_GAELIC = 144
  12388. const m_TT_MAC_LANGID_SERBIAN = 42
  12389. const m_TT_MAC_LANGID_SINDHI = 62
  12390. const m_TT_MAC_LANGID_SINHALESE = 76
  12391. const m_TT_MAC_LANGID_SLOVAK = 39
  12392. const m_TT_MAC_LANGID_SLOVENIAN = 40
  12393. const m_TT_MAC_LANGID_SOMALI = 88
  12394. const m_TT_MAC_LANGID_SPANISH = 6
  12395. const m_TT_MAC_LANGID_SUNDANESE = 139
  12396. const m_TT_MAC_LANGID_SWAHILI = 89
  12397. const m_TT_MAC_LANGID_SWEDISH = 5
  12398. const m_TT_MAC_LANGID_TAGALOG = 82
  12399. const m_TT_MAC_LANGID_TAJIKI = 55
  12400. const m_TT_MAC_LANGID_TAMIL = 74
  12401. const m_TT_MAC_LANGID_TATAR = 135
  12402. const m_TT_MAC_LANGID_TELUGU = 75
  12403. const m_TT_MAC_LANGID_THAI = 22
  12404. const m_TT_MAC_LANGID_TIBETAN = 63
  12405. const m_TT_MAC_LANGID_TIGRINYA = 86
  12406. const m_TT_MAC_LANGID_TONGAN = 147
  12407. const m_TT_MAC_LANGID_TURKISH = 17
  12408. const m_TT_MAC_LANGID_TURKMEN = 56
  12409. const m_TT_MAC_LANGID_UIGHUR = 136
  12410. const m_TT_MAC_LANGID_UKRAINIAN = 45
  12411. const m_TT_MAC_LANGID_URDU = 20
  12412. const m_TT_MAC_LANGID_UZBEK = 47
  12413. const m_TT_MAC_LANGID_VIETNAMESE = 80
  12414. const m_TT_MAC_LANGID_WELSH = 128
  12415. const m_TT_MAC_LANGID_YIDDISH = 41
  12416. const m_TT_MS_ID_BIG_5 = 4
  12417. const m_TT_MS_ID_GB2312 = "TT_MS_ID_PRC"
  12418. const m_TT_MS_ID_JOHAB = 6
  12419. const m_TT_MS_ID_PRC = 3
  12420. const m_TT_MS_ID_SJIS = 2
  12421. const m_TT_MS_ID_SYMBOL_CS = 0
  12422. const m_TT_MS_ID_UCS_4 = 10
  12423. const m_TT_MS_ID_UNICODE_CS = 1
  12424. const m_TT_MS_ID_WANSUNG = 5
  12425. const m_TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA = 1078
  12426. const m_TT_MS_LANGID_ALBANIAN_ALBANIA = 1052
  12427. const m_TT_MS_LANGID_ALSATIAN_FRANCE = 0x0484
  12428. const m_TT_MS_LANGID_AMHARIC_ETHIOPIA = 1118
  12429. const m_TT_MS_LANGID_ARABIC_ALGERIA = 5121
  12430. const m_TT_MS_LANGID_ARABIC_BAHRAIN = 15361
  12431. const m_TT_MS_LANGID_ARABIC_EGYPT = 3073
  12432. const m_TT_MS_LANGID_ARABIC_GENERAL = 1
  12433. const m_TT_MS_LANGID_ARABIC_IRAQ = 2049
  12434. const m_TT_MS_LANGID_ARABIC_JORDAN = 11265
  12435. const m_TT_MS_LANGID_ARABIC_KUWAIT = 13313
  12436. const m_TT_MS_LANGID_ARABIC_LEBANON = 12289
  12437. const m_TT_MS_LANGID_ARABIC_LIBYA = 4097
  12438. const m_TT_MS_LANGID_ARABIC_MOROCCO = 6145
  12439. const m_TT_MS_LANGID_ARABIC_OMAN = 8193
  12440. const m_TT_MS_LANGID_ARABIC_QATAR = 16385
  12441. const m_TT_MS_LANGID_ARABIC_SAUDI_ARABIA = 1025
  12442. const m_TT_MS_LANGID_ARABIC_SYRIA = 10241
  12443. const m_TT_MS_LANGID_ARABIC_TUNISIA = 7169
  12444. const m_TT_MS_LANGID_ARABIC_UAE = 14337
  12445. const m_TT_MS_LANGID_ARABIC_YEMEN = 9217
  12446. const m_TT_MS_LANGID_ARMENIAN_ARMENIA = 1067
  12447. const m_TT_MS_LANGID_ASSAMESE_INDIA = 1101
  12448. const m_TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC = 2092
  12449. const m_TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN = 1068
  12450. const m_TT_MS_LANGID_BASHKIR_RUSSIA = 0x046D
  12451. const m_TT_MS_LANGID_BASQUE_BASQUE = 1069
  12452. const m_TT_MS_LANGID_BASQUE_SPAIN = "TT_MS_LANGID_BASQUE_BASQUE"
  12453. const m_TT_MS_LANGID_BELARUSIAN_BELARUS = 1059
  12454. const m_TT_MS_LANGID_BENGALI_BANGLADESH = 2117
  12455. const m_TT_MS_LANGID_BENGALI_INDIA = 1093
  12456. const m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA = 5146
  12457. const m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZ_CYRILLIC = 0x201A
  12458. const m_TT_MS_LANGID_BRETON_FRANCE = 0x047E
  12459. const m_TT_MS_LANGID_BULGARIAN_BULGARIA = 1026
  12460. const m_TT_MS_LANGID_BURMESE_MYANMAR = 1109
  12461. const m_TT_MS_LANGID_CATALAN_CATALAN = 1027
  12462. const m_TT_MS_LANGID_CATALAN_SPAIN = "TT_MS_LANGID_CATALAN_CATALAN"
  12463. const m_TT_MS_LANGID_CHEROKEE_UNITED_STATES = 1116
  12464. const m_TT_MS_LANGID_CHINESE_GENERAL = 4
  12465. const m_TT_MS_LANGID_CHINESE_HONG_KONG = 3076
  12466. const m_TT_MS_LANGID_CHINESE_MACAO = 5124
  12467. const m_TT_MS_LANGID_CHINESE_MACAU = "TT_MS_LANGID_CHINESE_MACAO"
  12468. const m_TT_MS_LANGID_CHINESE_PRC = 2052
  12469. const m_TT_MS_LANGID_CHINESE_SINGAPORE = 4100
  12470. const m_TT_MS_LANGID_CHINESE_TAIWAN = 1028
  12471. const m_TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA = 2087
  12472. const m_TT_MS_LANGID_CORSICAN_FRANCE = 0x0483
  12473. const m_TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA = 0x101A
  12474. const m_TT_MS_LANGID_CROATIAN_CROATIA = 1050
  12475. const m_TT_MS_LANGID_CZECH_CZECH_REPUBLIC = 1029
  12476. const m_TT_MS_LANGID_DANISH_DENMARK = 1030
  12477. const m_TT_MS_LANGID_DARI_AFGHANISTAN = 0x048C
  12478. const m_TT_MS_LANGID_DHIVEHI_MALDIVES = 1125
  12479. const m_TT_MS_LANGID_DIVEHI_MALDIVES = "TT_MS_LANGID_DHIVEHI_MALDIVES"
  12480. const m_TT_MS_LANGID_DUTCH_BELGIUM = 2067
  12481. const m_TT_MS_LANGID_DUTCH_NETHERLANDS = 1043
  12482. const m_TT_MS_LANGID_DZONGHKA_BHUTAN = 2129
  12483. const m_TT_MS_LANGID_EDO_NIGERIA = 0x0466
  12484. const m_TT_MS_LANGID_ENGLISH_AUSTRALIA = 3081
  12485. const m_TT_MS_LANGID_ENGLISH_BELIZE = 10249
  12486. const m_TT_MS_LANGID_ENGLISH_CANADA = 4105
  12487. const m_TT_MS_LANGID_ENGLISH_CARIBBEAN = 9225
  12488. const m_TT_MS_LANGID_ENGLISH_GENERAL = 9
  12489. const m_TT_MS_LANGID_ENGLISH_HONG_KONG = 15369
  12490. const m_TT_MS_LANGID_ENGLISH_INDIA = 16393
  12491. const m_TT_MS_LANGID_ENGLISH_INDONESIA = 0x3809
  12492. const m_TT_MS_LANGID_ENGLISH_IRELAND = 6153
  12493. const m_TT_MS_LANGID_ENGLISH_JAMAICA = 8201
  12494. const m_TT_MS_LANGID_ENGLISH_MALAYSIA = 17417
  12495. const m_TT_MS_LANGID_ENGLISH_NEW_ZEALAND = 5129
  12496. const m_TT_MS_LANGID_ENGLISH_PHILIPPINES = 13321
  12497. const m_TT_MS_LANGID_ENGLISH_SINGAPORE = 18441
  12498. const m_TT_MS_LANGID_ENGLISH_SOUTH_AFRICA = 7177
  12499. const m_TT_MS_LANGID_ENGLISH_TRINIDAD = 11273
  12500. const m_TT_MS_LANGID_ENGLISH_UNITED_KINGDOM = 2057
  12501. const m_TT_MS_LANGID_ENGLISH_UNITED_STATES = 1033
  12502. const m_TT_MS_LANGID_ENGLISH_ZIMBABWE = 12297
  12503. const m_TT_MS_LANGID_ESTONIAN_ESTONIA = 1061
  12504. const m_TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS = 1080
  12505. const m_TT_MS_LANGID_FARSI_IRAN = 1065
  12506. const m_TT_MS_LANGID_FILIPINO_PHILIPPINES = 1124
  12507. const m_TT_MS_LANGID_FINNISH_FINLAND = 1035
  12508. const m_TT_MS_LANGID_FRENCH_BELGIUM = 2060
  12509. const m_TT_MS_LANGID_FRENCH_CAMEROON = 11276
  12510. const m_TT_MS_LANGID_FRENCH_CANADA = 3084
  12511. const m_TT_MS_LANGID_FRENCH_CONGO = 9228
  12512. const m_TT_MS_LANGID_FRENCH_COTE_D_IVOIRE = 12300
  12513. const m_TT_MS_LANGID_FRENCH_FRANCE = 1036
  12514. const m_TT_MS_LANGID_FRENCH_HAITI = 15372
  12515. const m_TT_MS_LANGID_FRENCH_LUXEMBOURG = 5132
  12516. const m_TT_MS_LANGID_FRENCH_MALI = 13324
  12517. const m_TT_MS_LANGID_FRENCH_MONACO = 6156
  12518. const m_TT_MS_LANGID_FRENCH_MOROCCO = 14348
  12519. const m_TT_MS_LANGID_FRENCH_NORTH_AFRICA = 58380
  12520. const m_TT_MS_LANGID_FRENCH_REUNION = 8204
  12521. const m_TT_MS_LANGID_FRENCH_SENEGAL = 10252
  12522. const m_TT_MS_LANGID_FRENCH_SWITZERLAND = 4108
  12523. const m_TT_MS_LANGID_FRENCH_WEST_INDIES = 7180
  12524. const m_TT_MS_LANGID_FRENCH_ZAIRE = "TT_MS_LANGID_FRENCH_CONGO"
  12525. const m_TT_MS_LANGID_FRISIAN_NETHERLANDS = 1122
  12526. const m_TT_MS_LANGID_FULFULDE_NIGERIA = 0x0467
  12527. const m_TT_MS_LANGID_GALICIAN_GALICIAN = 1110
  12528. const m_TT_MS_LANGID_GALICIAN_SPAIN = "TT_MS_LANGID_GALICIAN_GALICIAN"
  12529. const m_TT_MS_LANGID_GEORGIAN_GEORGIA = 1079
  12530. const m_TT_MS_LANGID_GERMAN_AUSTRIA = 3079
  12531. const m_TT_MS_LANGID_GERMAN_GERMANY = 1031
  12532. const m_TT_MS_LANGID_GERMAN_LIECHTENSTEI = "TT_MS_LANGID_GERMAN_LIECHTENSTEIN"
  12533. const m_TT_MS_LANGID_GERMAN_LIECHTENSTEIN = 5127
  12534. const m_TT_MS_LANGID_GERMAN_LUXEMBOURG = 4103
  12535. const m_TT_MS_LANGID_GERMAN_SWITZERLAND = 2055
  12536. const m_TT_MS_LANGID_GREEK_GREECE = 1032
  12537. const m_TT_MS_LANGID_GREENLANDIC_GREENLAND = 0x046F
  12538. const m_TT_MS_LANGID_GUARANI_PARAGUAY = 1140
  12539. const m_TT_MS_LANGID_GUJARATI_INDIA = 1095
  12540. const m_TT_MS_LANGID_HAUSA_NIGERIA = 1128
  12541. const m_TT_MS_LANGID_HAWAIIAN_UNITED_STATES = 1141
  12542. const m_TT_MS_LANGID_HEBREW_ISRAEL = 1037
  12543. const m_TT_MS_LANGID_HINDI_INDIA = 1081
  12544. const m_TT_MS_LANGID_HUNGARIAN_HUNGARY = 1038
  12545. const m_TT_MS_LANGID_IBIBIO_NIGERIA = 0x0469
  12546. const m_TT_MS_LANGID_ICELANDIC_ICELAND = 1039
  12547. const m_TT_MS_LANGID_IGBO_NIGERIA = 1136
  12548. const m_TT_MS_LANGID_INDONESIAN_INDONESIA = 1057
  12549. const m_TT_MS_LANGID_INUKTITUT_CANADA = 1117
  12550. const m_TT_MS_LANGID_INUKTITUT_CANADA_LATIN = 0x085D
  12551. const m_TT_MS_LANGID_IRISH_GAELIC_IRELAND = 1084
  12552. const m_TT_MS_LANGID_IRISH_IRELAND = 0x083C
  12553. const m_TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA = 1076
  12554. const m_TT_MS_LANGID_ISIZULU_SOUTH_AFRICA = 1077
  12555. const m_TT_MS_LANGID_ITALIAN_ITALY = 1040
  12556. const m_TT_MS_LANGID_ITALIAN_SWITZERLAND = 2064
  12557. const m_TT_MS_LANGID_JAPANESE_JAPAN = 1041
  12558. const m_TT_MS_LANGID_KANNADA_INDIA = 1099
  12559. const m_TT_MS_LANGID_KANURI_NIGERIA = 1137
  12560. const m_TT_MS_LANGID_KASHMIRI_INDIA = "TT_MS_LANGID_KASHMIRI_SASIA"
  12561. const m_TT_MS_LANGID_KASHMIRI_PAKISTAN = 1120
  12562. const m_TT_MS_LANGID_KASHMIRI_SASIA = 2144
  12563. const m_TT_MS_LANGID_KAZAKH_KAZAKHSTAN = 1087
  12564. const m_TT_MS_LANGID_KAZAK_KAZAKSTAN = "TT_MS_LANGID_KAZAKH_KAZAKHSTAN"
  12565. const m_TT_MS_LANGID_KHMER_CAMBODIA = 1107
  12566. const m_TT_MS_LANGID_KICHE_GUATEMALA = 0x0486
  12567. const m_TT_MS_LANGID_KINYARWANDA_RWANDA = 0x0487
  12568. const m_TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN = "TT_MS_LANGID_KYRGYZ_KYRGYZSTAN"
  12569. const m_TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC = "TT_MS_LANGID_KYRGYZ_KYRGYZSTAN"
  12570. const m_TT_MS_LANGID_KISWAHILI_KENYA = 1089
  12571. const m_TT_MS_LANGID_KONKANI_INDIA = 1111
  12572. const m_TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA = "TT_MS_LANGID_KOREAN_KOREA"
  12573. const m_TT_MS_LANGID_KOREAN_JOHAB_KOREA = 2066
  12574. const m_TT_MS_LANGID_KOREAN_KOREA = 1042
  12575. const m_TT_MS_LANGID_KYRGYZ_KYRGYZSTAN = 1088
  12576. const m_TT_MS_LANGID_LAO_LAOS = 1108
  12577. const m_TT_MS_LANGID_LATIN = 1142
  12578. const m_TT_MS_LANGID_LATVIAN_LATVIA = 1062
  12579. const m_TT_MS_LANGID_LITHUANIAN_LITHUANIA = 1063
  12580. const m_TT_MS_LANGID_LOWER_SORBIAN_GERMANY = 0x082E
  12581. const m_TT_MS_LANGID_LUXEMBOURGISH_LUXEMBOURG = 0x046E
  12582. const m_TT_MS_LANGID_MACEDONIAN_MACEDONIA = 1071
  12583. const m_TT_MS_LANGID_MALAYALAM_INDIA = 1100
  12584. const m_TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM = 2110
  12585. const m_TT_MS_LANGID_MALAY_MALAYSIA = 1086
  12586. const m_TT_MS_LANGID_MALTESE_MALTA = 1082
  12587. const m_TT_MS_LANGID_MANIPURI_INDIA = 1112
  12588. const m_TT_MS_LANGID_MAORI_NEW_ZEALAND = 1153
  12589. const m_TT_MS_LANGID_MAPUDUNGUN_CHILE = 0x047A
  12590. const m_TT_MS_LANGID_MARATHI_INDIA = 1102
  12591. const m_TT_MS_LANGID_MOHAWK_MOHAWK = 0x047C
  12592. const m_TT_MS_LANGID_MOLDAVIAN_MOLDAVIA = 2072
  12593. const m_TT_MS_LANGID_MONGOLIAN_MONGOLIA = 1104
  12594. const m_TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN = "TT_MS_LANGID_MONGOLIAN_PRC"
  12595. const m_TT_MS_LANGID_MONGOLIAN_PRC = 2128
  12596. const m_TT_MS_LANGID_NEPALI_INDIA = 2145
  12597. const m_TT_MS_LANGID_NEPALI_NEPAL = 1121
  12598. const m_TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL = 1044
  12599. const m_TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK = 2068
  12600. const m_TT_MS_LANGID_OCCITAN_FRANCE = 0x0482
  12601. const m_TT_MS_LANGID_ODIA_INDIA = 1096
  12602. const m_TT_MS_LANGID_ORIYA_INDIA = "TT_MS_LANGID_ODIA_INDIA"
  12603. const m_TT_MS_LANGID_OROMO_ETHIOPIA = 1138
  12604. const m_TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES = 1145
  12605. const m_TT_MS_LANGID_PASHTO_AFGHANISTAN = 1123
  12606. const m_TT_MS_LANGID_POLISH_POLAND = 1045
  12607. const m_TT_MS_LANGID_PORTUGUESE_BRAZIL = 1046
  12608. const m_TT_MS_LANGID_PORTUGUESE_PORTUGAL = 2070
  12609. const m_TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN = 2118
  12610. const m_TT_MS_LANGID_PUNJABI_INDIA = 1094
  12611. const m_TT_MS_LANGID_QUECHUA_BOLIVIA = 0x046B
  12612. const m_TT_MS_LANGID_QUECHUA_ECUADOR = 0x086B
  12613. const m_TT_MS_LANGID_QUECHUA_PERU = 0x0C6B
  12614. const m_TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND = "TT_MS_LANGID_ROMANSH_SWITZERLAND"
  12615. const m_TT_MS_LANGID_ROMANIAN_ROMANIA = 1048
  12616. const m_TT_MS_LANGID_ROMANSH_SWITZERLAND = 1047
  12617. const m_TT_MS_LANGID_RUSSIAN_MOLDAVIA = 2073
  12618. const m_TT_MS_LANGID_RUSSIAN_RUSSIA = 1049
  12619. const m_TT_MS_LANGID_SAAMI_LAPONIA = 1083
  12620. const m_TT_MS_LANGID_SAMI_INARI_FINLAND = 0x243B
  12621. const m_TT_MS_LANGID_SAMI_LULE_NORWAY = 0x103B
  12622. const m_TT_MS_LANGID_SAMI_LULE_SWEDEN = 0x143B
  12623. const m_TT_MS_LANGID_SAMI_NORTHERN_FINLAND = 0x0C3B
  12624. const m_TT_MS_LANGID_SAMI_NORTHERN_NORWAY = 0x043B
  12625. const m_TT_MS_LANGID_SAMI_NORTHERN_SWEDEN = 0x083B
  12626. const m_TT_MS_LANGID_SAMI_SKOLT_FINLAND = 0x203B
  12627. const m_TT_MS_LANGID_SAMI_SOUTHERN_NORWAY = 0x183B
  12628. const m_TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN = 0x1C3B
  12629. const m_TT_MS_LANGID_SANSKRIT_INDIA = 1103
  12630. const m_TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM = 2108
  12631. const m_TT_MS_LANGID_SEPEDI_SOUTH_AFRICA = "TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA"
  12632. const m_TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC = 0x1C1A
  12633. const m_TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN = 0x181A
  12634. const m_TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC = 3098
  12635. const m_TT_MS_LANGID_SERBIAN_SERBIA_LATIN = 2074
  12636. const m_TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA = 0x046C
  12637. const m_TT_MS_LANGID_SETSWANA_SOUTH_AFRICA = 1074
  12638. const m_TT_MS_LANGID_SINDHI_INDIA = 1113
  12639. const m_TT_MS_LANGID_SINDHI_PAKISTAN = 0x0859
  12640. const m_TT_MS_LANGID_SINHALA_SRI_LANKA = 1115
  12641. const m_TT_MS_LANGID_SINHALESE_SRI_LANKA = "TT_MS_LANGID_SINHALA_SRI_LANKA"
  12642. const m_TT_MS_LANGID_SLOVAK_SLOVAKIA = 1051
  12643. const m_TT_MS_LANGID_SLOVENE_SLOVENIA = "TT_MS_LANGID_SLOVENIAN_SLOVENIA"
  12644. const m_TT_MS_LANGID_SLOVENIAN_SLOVENIA = 1060
  12645. const m_TT_MS_LANGID_SOMALI_SOMALIA = 1143
  12646. const m_TT_MS_LANGID_SORBIAN_GERMANY = "TT_MS_LANGID_UPPER_SORBIAN_GERMANY"
  12647. const m_TT_MS_LANGID_SOTHO_SOUTHERN_SOUTH_AFRICA = "TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA"
  12648. const m_TT_MS_LANGID_SPANISH_ARGENTINA = 11274
  12649. const m_TT_MS_LANGID_SPANISH_BOLIVIA = 16394
  12650. const m_TT_MS_LANGID_SPANISH_CHILE = 13322
  12651. const m_TT_MS_LANGID_SPANISH_COLOMBIA = 9226
  12652. const m_TT_MS_LANGID_SPANISH_COSTA_RICA = 5130
  12653. const m_TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC = 7178
  12654. const m_TT_MS_LANGID_SPANISH_ECUADOR = 12298
  12655. const m_TT_MS_LANGID_SPANISH_EL_SALVADOR = 17418
  12656. const m_TT_MS_LANGID_SPANISH_GUATEMALA = 4106
  12657. const m_TT_MS_LANGID_SPANISH_HONDURAS = 18442
  12658. const m_TT_MS_LANGID_SPANISH_LATIN_AMERICA = 58378
  12659. const m_TT_MS_LANGID_SPANISH_MEXICO = 2058
  12660. const m_TT_MS_LANGID_SPANISH_NICARAGUA = 19466
  12661. const m_TT_MS_LANGID_SPANISH_PANAMA = 6154
  12662. const m_TT_MS_LANGID_SPANISH_PARAGUAY = 15370
  12663. const m_TT_MS_LANGID_SPANISH_PERU = 10250
  12664. const m_TT_MS_LANGID_SPANISH_PUERTO_RICO = 20490
  12665. const m_TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT = "TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT"
  12666. const m_TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT = 3082
  12667. const m_TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT = 1034
  12668. const m_TT_MS_LANGID_SPANISH_UNITED_STATES = 21514
  12669. const m_TT_MS_LANGID_SPANISH_URUGUAY = 14346
  12670. const m_TT_MS_LANGID_SPANISH_VENEZUELA = 8202
  12671. const m_TT_MS_LANGID_SUTU_SOUTH_AFRICA = 1072
  12672. const m_TT_MS_LANGID_SWAHILI_KENYA = "TT_MS_LANGID_KISWAHILI_KENYA"
  12673. const m_TT_MS_LANGID_SWEDISH_FINLAND = 2077
  12674. const m_TT_MS_LANGID_SWEDISH_SWEDEN = 1053
  12675. const m_TT_MS_LANGID_SYRIAC_SYRIA = 1114
  12676. const m_TT_MS_LANGID_TAJIK_TAJIKISTAN = 1064
  12677. const m_TT_MS_LANGID_TAMAZIGHT_ALGERIA = 0x085F
  12678. const m_TT_MS_LANGID_TAMAZIGHT_MOROCCO = 0x045F
  12679. const m_TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN = "TT_MS_LANGID_TAMAZIGHT_ALGERIA"
  12680. const m_TT_MS_LANGID_TAMIL_INDIA = 1097
  12681. const m_TT_MS_LANGID_TATAR_RUSSIA = 1092
  12682. const m_TT_MS_LANGID_TATAR_TATARSTAN = "TT_MS_LANGID_TATAR_RUSSIA"
  12683. const m_TT_MS_LANGID_TELUGU_INDIA = 1098
  12684. const m_TT_MS_LANGID_THAI_THAILAND = 1054
  12685. const m_TT_MS_LANGID_TIBETAN_BHUTAN = "TT_MS_LANGID_DZONGHKA_BHUTAN"
  12686. const m_TT_MS_LANGID_TIBETAN_CHINA = "TT_MS_LANGID_TIBETAN_PRC"
  12687. const m_TT_MS_LANGID_TIBETAN_PRC = 1105
  12688. const m_TT_MS_LANGID_TIGRIGNA_ERYTHREA = 2163
  12689. const m_TT_MS_LANGID_TIGRIGNA_ERYTREA = "TT_MS_LANGID_TIGRIGNA_ERYTHREA"
  12690. const m_TT_MS_LANGID_TIGRIGNA_ETHIOPIA = 1139
  12691. const m_TT_MS_LANGID_TSONGA_SOUTH_AFRICA = 1073
  12692. const m_TT_MS_LANGID_TSWANA_SOUTH_AFRICA = "TT_MS_LANGID_SETSWANA_SOUTH_AFRICA"
  12693. const m_TT_MS_LANGID_TURKISH_TURKEY = 1055
  12694. const m_TT_MS_LANGID_TURKMEN_TURKMENISTAN = 1090
  12695. const m_TT_MS_LANGID_UIGHUR_CHINA = "TT_MS_LANGID_UIGHUR_PRC"
  12696. const m_TT_MS_LANGID_UIGHUR_PRC = 0x0480
  12697. const m_TT_MS_LANGID_UKRAINIAN_UKRAINE = 1058
  12698. const m_TT_MS_LANGID_UPPER_SORBIAN_GERMANY = 1070
  12699. const m_TT_MS_LANGID_URDU_INDIA = 2080
  12700. const m_TT_MS_LANGID_URDU_PAKISTAN = 1056
  12701. const m_TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC = 2115
  12702. const m_TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN = 1091
  12703. const m_TT_MS_LANGID_VENDA_SOUTH_AFRICA = 1075
  12704. const m_TT_MS_LANGID_VIETNAMESE_VIET_NAM = 1066
  12705. const m_TT_MS_LANGID_WELSH_UNITED_KINGDOM = 1106
  12706. const m_TT_MS_LANGID_WELSH_WALES = "TT_MS_LANGID_WELSH_UNITED_KINGDOM"
  12707. const m_TT_MS_LANGID_WOLOF_SENEGAL = 0x0488
  12708. const m_TT_MS_LANGID_XHOSA_SOUTH_AFRICA = "TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA"
  12709. const m_TT_MS_LANGID_YAKUT_RUSSIA = 0x0485
  12710. const m_TT_MS_LANGID_YIDDISH_GERMANY = 1085
  12711. const m_TT_MS_LANGID_YI_CHINA = "TT_MS_LANGID_YI_PRC"
  12712. const m_TT_MS_LANGID_YI_PRC = 0x0478
  12713. const m_TT_MS_LANGID_YORUBA_NIGERIA = 1130
  12714. const m_TT_MS_LANGID_ZULU_SOUTH_AFRICA = "TT_MS_LANGID_ISIZULU_SOUTH_AFRICA"
  12715. const m_TT_NAME_ID_CID_FINDFONT_NAME = 20
  12716. const m_TT_NAME_ID_COPYRIGHT = 0
  12717. const m_TT_NAME_ID_DARK_BACKGROUND = 24
  12718. const m_TT_NAME_ID_DESCRIPTION = 10
  12719. const m_TT_NAME_ID_DESIGNER = 9
  12720. const m_TT_NAME_ID_DESIGNER_URL = 12
  12721. const m_TT_NAME_ID_FONT_FAMILY = 1
  12722. const m_TT_NAME_ID_FONT_SUBFAMILY = 2
  12723. const m_TT_NAME_ID_FULL_NAME = 4
  12724. const m_TT_NAME_ID_LICENSE = 13
  12725. const m_TT_NAME_ID_LICENSE_URL = 14
  12726. const m_TT_NAME_ID_LIGHT_BACKGROUND = 23
  12727. const m_TT_NAME_ID_MAC_FULL_NAME = 18
  12728. const m_TT_NAME_ID_MANUFACTURER = 8
  12729. const m_TT_NAME_ID_PREFERRED_FAMILY = "TT_NAME_ID_TYPOGRAPHIC_FAMILY"
  12730. const m_TT_NAME_ID_PREFERRED_SUBFAMILY = "TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY"
  12731. const m_TT_NAME_ID_PS_NAME = 6
  12732. const m_TT_NAME_ID_SAMPLE_TEXT = 19
  12733. const m_TT_NAME_ID_TRADEMARK = 7
  12734. const m_TT_NAME_ID_TYPOGRAPHIC_FAMILY = 16
  12735. const m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY = 17
  12736. const m_TT_NAME_ID_UNIQUE_ID = 3
  12737. const m_TT_NAME_ID_VARIATIONS_PREFIX = 25
  12738. const m_TT_NAME_ID_VENDOR_URL = 11
  12739. const m_TT_NAME_ID_VERSION_STRING = 5
  12740. const m_TT_NAME_ID_WWS_FAMILY = 21
  12741. const m_TT_NAME_ID_WWS_SUBFAMILY = 22
  12742. const m_TT_PLATFORM_ADOBE = 7
  12743. const m_TT_PLATFORM_APPLE_UNICODE = 0
  12744. const m_TT_PLATFORM_CUSTOM = 4
  12745. const m_TT_PLATFORM_ISO = 2
  12746. const m_TT_PLATFORM_MACINTOSH = 1
  12747. const m_TT_PLATFORM_MICROSOFT = 3
  12748. const m_TT_UCR_ARABIC_PRESENTATION_A = "TT_UCR_ARABIC_PRESENTATION_FORMS_A"
  12749. const m_TT_UCR_ARABIC_PRESENTATION_B = "TT_UCR_ARABIC_PRESENTATION_FORMS_B"
  12750. const m_TT_UCR_COMBINING_DIACRITICS = "TT_UCR_COMBINING_DIACRITICAL_MARKS"
  12751. const m_TT_UCR_COMBINING_DIACRITICS_SYMB = "TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB"
  12752. const m_TT_UCR_KANBUN = "TT_UCR_CJK_MISC"
  12753. const m_TT_UCR_NON_PLANE_0 = "TT_UCR_SURROGATES"
  12754. const m_ft_encoding_adobe_custom = "FT_ENCODING_ADOBE_CUSTOM"
  12755. const m_ft_encoding_adobe_expert = "FT_ENCODING_ADOBE_EXPERT"
  12756. const m_ft_encoding_adobe_standard = "FT_ENCODING_ADOBE_STANDARD"
  12757. const m_ft_encoding_apple_roman = "FT_ENCODING_APPLE_ROMAN"
  12758. const m_ft_encoding_big5 = "FT_ENCODING_BIG5"
  12759. const m_ft_encoding_gb2312 = "FT_ENCODING_PRC"
  12760. const m_ft_encoding_johab = "FT_ENCODING_JOHAB"
  12761. const m_ft_encoding_latin_1 = "FT_ENCODING_ADOBE_LATIN_1"
  12762. const m_ft_encoding_latin_2 = "FT_ENCODING_OLD_LATIN_2"
  12763. const m_ft_encoding_none = "FT_ENCODING_NONE"
  12764. const m_ft_encoding_sjis = "FT_ENCODING_SJIS"
  12765. const m_ft_encoding_symbol = "FT_ENCODING_MS_SYMBOL"
  12766. const m_ft_encoding_unicode = "FT_ENCODING_UNICODE"
  12767. const m_ft_encoding_wansung = "FT_ENCODING_WANSUNG"
  12768. const m_ft_fclose = "fclose"
  12769. const m_ft_fopen = "fopen"
  12770. const m_ft_fread = "fread"
  12771. const m_ft_fseek = "fseek"
  12772. const m_ft_ftell = "ftell"
  12773. const m_ft_getenv = "getenv"
  12774. const m_ft_glyph_format_bitmap = "FT_GLYPH_FORMAT_BITMAP"
  12775. const m_ft_glyph_format_composite = "FT_GLYPH_FORMAT_COMPOSITE"
  12776. const m_ft_glyph_format_none = "FT_GLYPH_FORMAT_NONE"
  12777. const m_ft_glyph_format_outline = "FT_GLYPH_FORMAT_OUTLINE"
  12778. const m_ft_glyph_format_plotter = "FT_GLYPH_FORMAT_PLOTTER"
  12779. const m_ft_jmp_buf = "jmp_buf"
  12780. const m_ft_kerning_default = "FT_KERNING_DEFAULT"
  12781. const m_ft_kerning_unfitted = "FT_KERNING_UNFITTED"
  12782. const m_ft_kerning_unscaled = "FT_KERNING_UNSCALED"
  12783. const m_ft_longjmp = "longjmp"
  12784. const m_ft_memchr = "memchr"
  12785. const m_ft_memcmp = "memcmp"
  12786. const m_ft_memcpy = "memcpy"
  12787. const m_ft_memmove = "memmove"
  12788. const m_ft_memset = "memset"
  12789. const m_ft_module_driver_has_hinter = "FT_MODULE_DRIVER_HAS_HINTER"
  12790. const m_ft_module_driver_hints_lightly = "FT_MODULE_DRIVER_HINTS_LIGHTLY"
  12791. const m_ft_module_driver_no_outlines = "FT_MODULE_DRIVER_NO_OUTLINES"
  12792. const m_ft_module_driver_scalable = "FT_MODULE_DRIVER_SCALABLE"
  12793. const m_ft_module_font_driver = "FT_MODULE_FONT_DRIVER"
  12794. const m_ft_module_hinter = "FT_MODULE_HINTER"
  12795. const m_ft_module_renderer = "FT_MODULE_RENDERER"
  12796. const m_ft_module_styler = "FT_MODULE_STYLER"
  12797. const m_ft_open_driver = "FT_OPEN_DRIVER"
  12798. const m_ft_open_memory = "FT_OPEN_MEMORY"
  12799. const m_ft_open_params = "FT_OPEN_PARAMS"
  12800. const m_ft_open_pathname = "FT_OPEN_PATHNAME"
  12801. const m_ft_open_stream = "FT_OPEN_STREAM"
  12802. const m_ft_outline_even_odd_fill = "FT_OUTLINE_EVEN_ODD_FILL"
  12803. const m_ft_outline_high_precision = "FT_OUTLINE_HIGH_PRECISION"
  12804. const m_ft_outline_ignore_dropouts = "FT_OUTLINE_IGNORE_DROPOUTS"
  12805. const m_ft_outline_none = "FT_OUTLINE_NONE"
  12806. const m_ft_outline_owner = "FT_OUTLINE_OWNER"
  12807. const m_ft_outline_reverse_fill = "FT_OUTLINE_REVERSE_FILL"
  12808. const m_ft_outline_single_pass = "FT_OUTLINE_SINGLE_PASS"
  12809. const m_ft_pixel_mode_grays = "FT_PIXEL_MODE_GRAY"
  12810. const m_ft_pixel_mode_mono = "FT_PIXEL_MODE_MONO"
  12811. const m_ft_pixel_mode_none = "FT_PIXEL_MODE_NONE"
  12812. const m_ft_pixel_mode_pal2 = "FT_PIXEL_MODE_GRAY2"
  12813. const m_ft_pixel_mode_pal4 = "FT_PIXEL_MODE_GRAY4"
  12814. const m_ft_ptrdiff_t = "ptrdiff_t"
  12815. const m_ft_qsort = "qsort"
  12816. const m_ft_raster_flag_aa = "FT_RASTER_FLAG_AA"
  12817. const m_ft_raster_flag_clip = "FT_RASTER_FLAG_CLIP"
  12818. const m_ft_raster_flag_default = "FT_RASTER_FLAG_DEFAULT"
  12819. const m_ft_raster_flag_direct = "FT_RASTER_FLAG_DIRECT"
  12820. const m_ft_render_mode_mono = "FT_RENDER_MODE_MONO"
  12821. const m_ft_render_mode_normal = "FT_RENDER_MODE_NORMAL"
  12822. const m_ft_scalloc = "calloc"
  12823. const m_ft_sfnt_head = 0
  12824. const m_ft_sfnt_hhea = "FT_SFNT_HHEA"
  12825. const m_ft_sfnt_maxp = "FT_SFNT_MAXP"
  12826. const m_ft_sfnt_os2 = "FT_SFNT_OS2"
  12827. const m_ft_sfnt_pclt = "FT_SFNT_PCLT"
  12828. const m_ft_sfnt_post = "FT_SFNT_POST"
  12829. const m_ft_sfnt_vhea = "FT_SFNT_VHEA"
  12830. const m_ft_sfree = "free"
  12831. const m_ft_smalloc = "malloc"
  12832. const m_ft_snprintf = "snprintf"
  12833. const m_ft_srealloc = "realloc"
  12834. const m_ft_strcat = "strcat"
  12835. const m_ft_strcmp = "strcmp"
  12836. const m_ft_strcpy = "strcpy"
  12837. const m_ft_strlen = "strlen"
  12838. const m_ft_strncmp = "strncmp"
  12839. const m_ft_strncpy = "strncpy"
  12840. const m_ft_strrchr = "strrchr"
  12841. const m_ft_strstr = "strstr"
  12842. const m_ft_strtol = "strtol"
  12843. const m_t1_blend_blue_scale = "T1_BLEND_BLUE_SCALE"
  12844. const m_t1_blend_blue_shift = "T1_BLEND_BLUE_SHIFT"
  12845. const m_t1_blend_blue_values = "T1_BLEND_BLUE_VALUES"
  12846. const m_t1_blend_family_blues = "T1_BLEND_FAMILY_BLUES"
  12847. const m_t1_blend_family_other_blues = "T1_BLEND_FAMILY_OTHER_BLUES"
  12848. const m_t1_blend_force_bold = "T1_BLEND_FORCE_BOLD"
  12849. const m_t1_blend_italic_angle = "T1_BLEND_ITALIC_ANGLE"
  12850. const m_t1_blend_max = "T1_BLEND_MAX"
  12851. const m_t1_blend_other_blues = "T1_BLEND_OTHER_BLUES"
  12852. const m_t1_blend_standard_height = "T1_BLEND_STANDARD_HEIGHT"
  12853. const m_t1_blend_standard_widths = "T1_BLEND_STANDARD_WIDTH"
  12854. const m_t1_blend_stem_snap_heights = "T1_BLEND_STEM_SNAP_HEIGHTS"
  12855. const m_t1_blend_stem_snap_widths = "T1_BLEND_STEM_SNAP_WIDTHS"
  12856. const m_t1_blend_underline_position = "T1_BLEND_UNDERLINE_POSITION"
  12857. const m_t1_blend_underline_thickness = "T1_BLEND_UNDERLINE_THICKNESS"
  12858. type t__jmp_buf = [26]uint64
  12859. type Tjmp_buf = [1]t__jmp_buf_tag
  12860. type t__jmp_buf_tag = struct {
  12861. F__jb t__jmp_buf
  12862. F__fl uint64
  12863. F__ss [16]uint64
  12864. }
  12865. type Tsigjmp_buf = [1]t__jmp_buf_tag
  12866. type TFT_Int16 = int16
  12867. type TFT_UInt16 = uint16
  12868. type TFT_Int32 = int32
  12869. type TFT_UInt32 = uint32
  12870. type TFT_Fast = int32
  12871. type TFT_UFast = uint32
  12872. type TFT_Int64 = int64
  12873. type TFT_UInt64 = uint64
  12874. type TFT_Memory = uintptr
  12875. type TFT_MemoryRec_ = struct {
  12876. Fuser uintptr
  12877. Falloc TFT_Alloc_Func
  12878. Ffree TFT_Free_Func
  12879. Frealloc TFT_Realloc_Func
  12880. }
  12881. type TFT_Alloc_Func = uintptr
  12882. type TFT_Free_Func = uintptr
  12883. type TFT_Realloc_Func = uintptr
  12884. type TFT_Stream = uintptr
  12885. type TFT_StreamRec_ = struct {
  12886. Fbase uintptr
  12887. Fsize uint64
  12888. Fpos uint64
  12889. Fdescriptor TFT_StreamDesc
  12890. Fpathname TFT_StreamDesc
  12891. Fread TFT_Stream_IoFunc
  12892. Fclose1 TFT_Stream_CloseFunc
  12893. Fmemory TFT_Memory
  12894. Fcursor uintptr
  12895. Flimit uintptr
  12896. }
  12897. type TFT_StreamDesc = struct {
  12898. Fpointer [0]uintptr
  12899. Fvalue int64
  12900. }
  12901. type TFT_StreamDesc_ = TFT_StreamDesc
  12902. type TFT_Stream_IoFunc = uintptr
  12903. type TFT_Stream_CloseFunc = uintptr
  12904. type TFT_StreamRec = struct {
  12905. Fbase uintptr
  12906. Fsize uint64
  12907. Fpos uint64
  12908. Fdescriptor TFT_StreamDesc
  12909. Fpathname TFT_StreamDesc
  12910. Fread TFT_Stream_IoFunc
  12911. Fclose1 TFT_Stream_CloseFunc
  12912. Fmemory TFT_Memory
  12913. Fcursor uintptr
  12914. Flimit uintptr
  12915. }
  12916. type TFT_Pos = int64
  12917. type TFT_Vector = struct {
  12918. Fx TFT_Pos
  12919. Fy TFT_Pos
  12920. }
  12921. type TFT_Vector_ = TFT_Vector
  12922. type TFT_BBox = struct {
  12923. FxMin TFT_Pos
  12924. FyMin TFT_Pos
  12925. FxMax TFT_Pos
  12926. FyMax TFT_Pos
  12927. }
  12928. type TFT_BBox_ = TFT_BBox
  12929. type TFT_Pixel_Mode = int32
  12930. type _FT_Pixel_Mode_ = int32
  12931. const _FT_PIXEL_MODE_NONE = 0
  12932. const _FT_PIXEL_MODE_MONO = 1
  12933. const _FT_PIXEL_MODE_GRAY = 2
  12934. const _FT_PIXEL_MODE_GRAY2 = 3
  12935. const _FT_PIXEL_MODE_GRAY4 = 4
  12936. const _FT_PIXEL_MODE_LCD = 5
  12937. const _FT_PIXEL_MODE_LCD_V = 6
  12938. const _FT_PIXEL_MODE_BGRA = 7
  12939. const _FT_PIXEL_MODE_MAX = 8
  12940. type TFT_Bitmap = struct {
  12941. Frows uint32
  12942. Fwidth uint32
  12943. Fpitch int32
  12944. Fbuffer uintptr
  12945. Fnum_grays uint16
  12946. Fpixel_mode uint8
  12947. Fpalette_mode uint8
  12948. Fpalette uintptr
  12949. }
  12950. type TFT_Bitmap_ = TFT_Bitmap
  12951. type TFT_Outline = struct {
  12952. Fn_contours int16
  12953. Fn_points int16
  12954. Fpoints uintptr
  12955. Ftags uintptr
  12956. Fcontours uintptr
  12957. Fflags int32
  12958. }
  12959. type TFT_Outline_ = TFT_Outline
  12960. type TFT_Outline_MoveToFunc = uintptr
  12961. type TFT_Outline_LineToFunc = uintptr
  12962. type TFT_Outline_ConicToFunc = uintptr
  12963. type TFT_Outline_CubicToFunc = uintptr
  12964. type TFT_Outline_Funcs = struct {
  12965. Fmove_to TFT_Outline_MoveToFunc
  12966. Fline_to TFT_Outline_LineToFunc
  12967. Fconic_to TFT_Outline_ConicToFunc
  12968. Fcubic_to TFT_Outline_CubicToFunc
  12969. Fshift int32
  12970. Fdelta TFT_Pos
  12971. }
  12972. type TFT_Outline_Funcs_ = TFT_Outline_Funcs
  12973. type TFT_Glyph_Format = int32
  12974. type _FT_Glyph_Format_ = int32
  12975. const _FT_GLYPH_FORMAT_NONE = 0
  12976. const _FT_GLYPH_FORMAT_COMPOSITE = 1668246896
  12977. const _FT_GLYPH_FORMAT_BITMAP = 1651078259
  12978. const _FT_GLYPH_FORMAT_OUTLINE = 1869968492
  12979. const _FT_GLYPH_FORMAT_PLOTTER = 1886154612
  12980. const _FT_GLYPH_FORMAT_SVG = 1398163232
  12981. type TFT_Span = struct {
  12982. Fx int16
  12983. Flen1 uint16
  12984. Fcoverage uint8
  12985. }
  12986. type TFT_Span_ = TFT_Span
  12987. type TFT_SpanFunc = uintptr
  12988. type TFT_Raster_BitTest_Func = uintptr
  12989. type TFT_Raster_BitSet_Func = uintptr
  12990. type TFT_Raster_Params = struct {
  12991. Ftarget uintptr
  12992. Fsource uintptr
  12993. Fflags int32
  12994. Fgray_spans TFT_SpanFunc
  12995. Fblack_spans TFT_SpanFunc
  12996. Fbit_test TFT_Raster_BitTest_Func
  12997. Fbit_set TFT_Raster_BitSet_Func
  12998. Fuser uintptr
  12999. Fclip_box TFT_BBox
  13000. }
  13001. type TFT_Raster_Params_ = TFT_Raster_Params
  13002. type TFT_Raster = uintptr
  13003. type TFT_Raster_NewFunc = uintptr
  13004. type TFT_Raster_DoneFunc = uintptr
  13005. type TFT_Raster_ResetFunc = uintptr
  13006. type TFT_Raster_SetModeFunc = uintptr
  13007. type TFT_Raster_RenderFunc = uintptr
  13008. type TFT_Raster_Funcs = struct {
  13009. Fglyph_format TFT_Glyph_Format
  13010. Fraster_new TFT_Raster_NewFunc
  13011. Fraster_reset TFT_Raster_ResetFunc
  13012. Fraster_set_mode TFT_Raster_SetModeFunc
  13013. Fraster_render TFT_Raster_RenderFunc
  13014. Fraster_done TFT_Raster_DoneFunc
  13015. }
  13016. type TFT_Raster_Funcs_ = TFT_Raster_Funcs
  13017. type TFT_Bool = uint8
  13018. type TFT_FWord = int16
  13019. type TFT_UFWord = uint16
  13020. type TFT_Char = int8
  13021. type TFT_Byte = uint8
  13022. type TFT_Bytes = uintptr
  13023. type TFT_Tag = uint32
  13024. type TFT_String = uint8
  13025. type TFT_Short = int16
  13026. type TFT_UShort = uint16
  13027. type TFT_Int = int32
  13028. type TFT_UInt = uint32
  13029. type TFT_Long = int64
  13030. type TFT_ULong = uint64
  13031. type TFT_F2Dot14 = int16
  13032. type TFT_F26Dot6 = int64
  13033. type TFT_Fixed = int64
  13034. type TFT_Error = int32
  13035. type TFT_Pointer = uintptr
  13036. type TFT_Offset = uint64
  13037. type TFT_PtrDist = int64
  13038. type TFT_UnitVector = struct {
  13039. Fx TFT_F2Dot14
  13040. Fy TFT_F2Dot14
  13041. }
  13042. type TFT_UnitVector_ = TFT_UnitVector
  13043. type TFT_Matrix = struct {
  13044. Fxx TFT_Fixed
  13045. Fxy TFT_Fixed
  13046. Fyx TFT_Fixed
  13047. Fyy TFT_Fixed
  13048. }
  13049. type TFT_Matrix_ = TFT_Matrix
  13050. type TFT_Data = struct {
  13051. Fpointer uintptr
  13052. Flength TFT_UInt
  13053. }
  13054. type TFT_Data_ = TFT_Data
  13055. type TFT_Generic_Finalizer = uintptr
  13056. type TFT_Generic = struct {
  13057. Fdata uintptr
  13058. Ffinalizer TFT_Generic_Finalizer
  13059. }
  13060. type TFT_Generic_ = TFT_Generic
  13061. type TFT_ListNode = uintptr
  13062. type TFT_ListNodeRec_ = struct {
  13063. Fprev TFT_ListNode
  13064. Fnext TFT_ListNode
  13065. Fdata uintptr
  13066. }
  13067. type TFT_List = uintptr
  13068. type TFT_ListRec_ = struct {
  13069. Fhead TFT_ListNode
  13070. Ftail TFT_ListNode
  13071. }
  13072. type TFT_ListNodeRec = struct {
  13073. Fprev TFT_ListNode
  13074. Fnext TFT_ListNode
  13075. Fdata uintptr
  13076. }
  13077. type TFT_ListRec = struct {
  13078. Fhead TFT_ListNode
  13079. Ftail TFT_ListNode
  13080. }
  13081. const _FT_Mod_Err_Base = 0
  13082. const _FT_Mod_Err_Autofit = 0
  13083. const _FT_Mod_Err_BDF = 0
  13084. const _FT_Mod_Err_Bzip2 = 0
  13085. const _FT_Mod_Err_Cache = 0
  13086. const _FT_Mod_Err_CFF = 0
  13087. const _FT_Mod_Err_CID = 0
  13088. const _FT_Mod_Err_Gzip = 0
  13089. const _FT_Mod_Err_LZW = 0
  13090. const _FT_Mod_Err_OTvalid = 0
  13091. const _FT_Mod_Err_PCF = 0
  13092. const _FT_Mod_Err_PFR = 0
  13093. const _FT_Mod_Err_PSaux = 0
  13094. const _FT_Mod_Err_PShinter = 0
  13095. const _FT_Mod_Err_PSnames = 0
  13096. const _FT_Mod_Err_Raster = 0
  13097. const _FT_Mod_Err_SFNT = 0
  13098. const _FT_Mod_Err_Smooth = 0
  13099. const _FT_Mod_Err_TrueType = 0
  13100. const _FT_Mod_Err_Type1 = 0
  13101. const _FT_Mod_Err_Type42 = 0
  13102. const _FT_Mod_Err_Winfonts = 0
  13103. const _FT_Mod_Err_GXvalid = 0
  13104. const _FT_Mod_Err_Sdf = 0
  13105. const _FT_Mod_Err_Max = 1
  13106. const _FT_Err_Ok = 0
  13107. const _FT_Err_Cannot_Open_Resource = 1
  13108. const _FT_Err_Unknown_File_Format = 2
  13109. const _FT_Err_Invalid_File_Format = 3
  13110. const _FT_Err_Invalid_Version = 4
  13111. const _FT_Err_Lower_Module_Version = 5
  13112. const _FT_Err_Invalid_Argument = 6
  13113. const _FT_Err_Unimplemented_Feature = 7
  13114. const _FT_Err_Invalid_Table = 8
  13115. const _FT_Err_Invalid_Offset = 9
  13116. const _FT_Err_Array_Too_Large = 10
  13117. const _FT_Err_Missing_Module = 11
  13118. const _FT_Err_Missing_Property = 12
  13119. const _FT_Err_Invalid_Glyph_Index = 16
  13120. const _FT_Err_Invalid_Character_Code = 17
  13121. const _FT_Err_Invalid_Glyph_Format = 18
  13122. const _FT_Err_Cannot_Render_Glyph = 19
  13123. const _FT_Err_Invalid_Outline = 20
  13124. const _FT_Err_Invalid_Composite = 21
  13125. const _FT_Err_Too_Many_Hints = 22
  13126. const _FT_Err_Invalid_Pixel_Size = 23
  13127. const _FT_Err_Invalid_SVG_Document = 24
  13128. const _FT_Err_Invalid_Handle = 32
  13129. const _FT_Err_Invalid_Library_Handle = 33
  13130. const _FT_Err_Invalid_Driver_Handle = 34
  13131. const _FT_Err_Invalid_Face_Handle = 35
  13132. const _FT_Err_Invalid_Size_Handle = 36
  13133. const _FT_Err_Invalid_Slot_Handle = 37
  13134. const _FT_Err_Invalid_CharMap_Handle = 38
  13135. const _FT_Err_Invalid_Cache_Handle = 39
  13136. const _FT_Err_Invalid_Stream_Handle = 40
  13137. const _FT_Err_Too_Many_Drivers = 48
  13138. const _FT_Err_Too_Many_Extensions = 49
  13139. const _FT_Err_Out_Of_Memory = 64
  13140. const _FT_Err_Unlisted_Object = 65
  13141. const _FT_Err_Cannot_Open_Stream = 81
  13142. const _FT_Err_Invalid_Stream_Seek = 82
  13143. const _FT_Err_Invalid_Stream_Skip = 83
  13144. const _FT_Err_Invalid_Stream_Read = 84
  13145. const _FT_Err_Invalid_Stream_Operation = 85
  13146. const _FT_Err_Invalid_Frame_Operation = 86
  13147. const _FT_Err_Nested_Frame_Access = 87
  13148. const _FT_Err_Invalid_Frame_Read = 88
  13149. const _FT_Err_Raster_Uninitialized = 96
  13150. const _FT_Err_Raster_Corrupted = 97
  13151. const _FT_Err_Raster_Overflow = 98
  13152. const _FT_Err_Raster_Negative_Height = 99
  13153. const _FT_Err_Too_Many_Caches = 112
  13154. const _FT_Err_Invalid_Opcode = 128
  13155. const _FT_Err_Too_Few_Arguments = 129
  13156. const _FT_Err_Stack_Overflow = 130
  13157. const _FT_Err_Code_Overflow = 131
  13158. const _FT_Err_Bad_Argument = 132
  13159. const _FT_Err_Divide_By_Zero = 133
  13160. const _FT_Err_Invalid_Reference = 134
  13161. const _FT_Err_Debug_OpCode = 135
  13162. const _FT_Err_ENDF_In_Exec_Stream = 136
  13163. const _FT_Err_Nested_DEFS = 137
  13164. const _FT_Err_Invalid_CodeRange = 138
  13165. const _FT_Err_Execution_Too_Long = 139
  13166. const _FT_Err_Too_Many_Function_Defs = 140
  13167. const _FT_Err_Too_Many_Instruction_Defs = 141
  13168. const _FT_Err_Table_Missing = 142
  13169. const _FT_Err_Horiz_Header_Missing = 143
  13170. const _FT_Err_Locations_Missing = 144
  13171. const _FT_Err_Name_Table_Missing = 145
  13172. const _FT_Err_CMap_Table_Missing = 146
  13173. const _FT_Err_Hmtx_Table_Missing = 147
  13174. const _FT_Err_Post_Table_Missing = 148
  13175. const _FT_Err_Invalid_Horiz_Metrics = 149
  13176. const _FT_Err_Invalid_CharMap_Format = 150
  13177. const _FT_Err_Invalid_PPem = 151
  13178. const _FT_Err_Invalid_Vert_Metrics = 152
  13179. const _FT_Err_Could_Not_Find_Context = 153
  13180. const _FT_Err_Invalid_Post_Table_Format = 154
  13181. const _FT_Err_Invalid_Post_Table = 155
  13182. const _FT_Err_DEF_In_Glyf_Bytecode = 156
  13183. const _FT_Err_Missing_Bitmap = 157
  13184. const _FT_Err_Missing_SVG_Hooks = 158
  13185. const _FT_Err_Syntax_Error = 160
  13186. const _FT_Err_Stack_Underflow = 161
  13187. const _FT_Err_Ignore = 162
  13188. const _FT_Err_No_Unicode_Glyph_Name = 163
  13189. const _FT_Err_Glyph_Too_Big = 164
  13190. const _FT_Err_Missing_Startfont_Field = 176
  13191. const _FT_Err_Missing_Font_Field = 177
  13192. const _FT_Err_Missing_Size_Field = 178
  13193. const _FT_Err_Missing_Fontboundingbox_Field = 179
  13194. const _FT_Err_Missing_Chars_Field = 180
  13195. const _FT_Err_Missing_Startchar_Field = 181
  13196. const _FT_Err_Missing_Encoding_Field = 182
  13197. const _FT_Err_Missing_Bbx_Field = 183
  13198. const _FT_Err_Bbx_Too_Big = 184
  13199. const _FT_Err_Corrupted_Font_Header = 185
  13200. const _FT_Err_Corrupted_Font_Glyphs = 186
  13201. const _FT_Err_Max = 187
  13202. type TFT_Glyph_Metrics = struct {
  13203. Fwidth TFT_Pos
  13204. Fheight TFT_Pos
  13205. FhoriBearingX TFT_Pos
  13206. FhoriBearingY TFT_Pos
  13207. FhoriAdvance TFT_Pos
  13208. FvertBearingX TFT_Pos
  13209. FvertBearingY TFT_Pos
  13210. FvertAdvance TFT_Pos
  13211. }
  13212. type TFT_Glyph_Metrics_ = TFT_Glyph_Metrics
  13213. type TFT_Bitmap_Size = struct {
  13214. Fheight TFT_Short
  13215. Fwidth TFT_Short
  13216. Fsize TFT_Pos
  13217. Fx_ppem TFT_Pos
  13218. Fy_ppem TFT_Pos
  13219. }
  13220. type TFT_Bitmap_Size_ = TFT_Bitmap_Size
  13221. type TFT_Library = uintptr
  13222. type TFT_Module = uintptr
  13223. type TFT_Driver = uintptr
  13224. type TFT_Renderer = uintptr
  13225. type TFT_Face = uintptr
  13226. type TFT_FaceRec_ = struct {
  13227. Fnum_faces TFT_Long
  13228. Fface_index TFT_Long
  13229. Fface_flags TFT_Long
  13230. Fstyle_flags TFT_Long
  13231. Fnum_glyphs TFT_Long
  13232. Ffamily_name uintptr
  13233. Fstyle_name uintptr
  13234. Fnum_fixed_sizes TFT_Int
  13235. Favailable_sizes uintptr
  13236. Fnum_charmaps TFT_Int
  13237. Fcharmaps uintptr
  13238. Fgeneric TFT_Generic
  13239. Fbbox TFT_BBox
  13240. Funits_per_EM TFT_UShort
  13241. Fascender TFT_Short
  13242. Fdescender TFT_Short
  13243. Fheight TFT_Short
  13244. Fmax_advance_width TFT_Short
  13245. Fmax_advance_height TFT_Short
  13246. Funderline_position TFT_Short
  13247. Funderline_thickness TFT_Short
  13248. Fglyph TFT_GlyphSlot
  13249. Fsize TFT_Size
  13250. Fcharmap TFT_CharMap
  13251. Fdriver TFT_Driver
  13252. Fmemory TFT_Memory
  13253. Fstream TFT_Stream
  13254. Fsizes_list TFT_ListRec
  13255. Fautohint TFT_Generic
  13256. Fextensions uintptr
  13257. Finternal TFT_Face_Internal
  13258. }
  13259. type TFT_Size = uintptr
  13260. type TFT_SizeRec_ = struct {
  13261. Fface TFT_Face
  13262. Fgeneric TFT_Generic
  13263. Fmetrics TFT_Size_Metrics
  13264. Finternal TFT_Size_Internal
  13265. }
  13266. type TFT_GlyphSlot = uintptr
  13267. type TFT_GlyphSlotRec_ = struct {
  13268. Flibrary TFT_Library
  13269. Fface TFT_Face
  13270. Fnext TFT_GlyphSlot
  13271. Fglyph_index TFT_UInt
  13272. Fgeneric TFT_Generic
  13273. Fmetrics TFT_Glyph_Metrics
  13274. FlinearHoriAdvance TFT_Fixed
  13275. FlinearVertAdvance TFT_Fixed
  13276. Fadvance TFT_Vector
  13277. Fformat TFT_Glyph_Format
  13278. Fbitmap TFT_Bitmap
  13279. Fbitmap_left TFT_Int
  13280. Fbitmap_top TFT_Int
  13281. Foutline TFT_Outline
  13282. Fnum_subglyphs TFT_UInt
  13283. Fsubglyphs TFT_SubGlyph
  13284. Fcontrol_data uintptr
  13285. Fcontrol_len int64
  13286. Flsb_delta TFT_Pos
  13287. Frsb_delta TFT_Pos
  13288. Fother uintptr
  13289. Finternal TFT_Slot_Internal
  13290. }
  13291. type TFT_CharMap = uintptr
  13292. type TFT_CharMapRec_ = struct {
  13293. Fface TFT_Face
  13294. Fencoding TFT_Encoding
  13295. Fplatform_id TFT_UShort
  13296. Fencoding_id TFT_UShort
  13297. }
  13298. type _FT_Encoding_ = int32
  13299. const _FT_ENCODING_NONE = 0
  13300. const _FT_ENCODING_MS_SYMBOL = 1937337698
  13301. const _FT_ENCODING_UNICODE = 1970170211
  13302. const _FT_ENCODING_SJIS = 1936353651
  13303. const _FT_ENCODING_PRC = 1734484000
  13304. const _FT_ENCODING_BIG5 = 1651074869
  13305. const _FT_ENCODING_WANSUNG = 2002873971
  13306. const _FT_ENCODING_JOHAB = 1785686113
  13307. const _FT_ENCODING_GB2312 = 1734484000
  13308. const _FT_ENCODING_MS_SJIS = 1936353651
  13309. const _FT_ENCODING_MS_GB2312 = 1734484000
  13310. const _FT_ENCODING_MS_BIG5 = 1651074869
  13311. const _FT_ENCODING_MS_WANSUNG = 2002873971
  13312. const _FT_ENCODING_MS_JOHAB = 1785686113
  13313. const _FT_ENCODING_ADOBE_STANDARD = 1094995778
  13314. const _FT_ENCODING_ADOBE_EXPERT = 1094992453
  13315. const _FT_ENCODING_ADOBE_CUSTOM = 1094992451
  13316. const _FT_ENCODING_ADOBE_LATIN_1 = 1818326065
  13317. const _FT_ENCODING_OLD_LATIN_2 = 1818326066
  13318. const _FT_ENCODING_APPLE_ROMAN = 1634889070
  13319. type TFT_Encoding = int32
  13320. type TFT_CharMapRec = struct {
  13321. Fface TFT_Face
  13322. Fencoding TFT_Encoding
  13323. Fplatform_id TFT_UShort
  13324. Fencoding_id TFT_UShort
  13325. }
  13326. type TFT_Face_Internal = uintptr
  13327. type TFT_FaceRec = struct {
  13328. Fnum_faces TFT_Long
  13329. Fface_index TFT_Long
  13330. Fface_flags TFT_Long
  13331. Fstyle_flags TFT_Long
  13332. Fnum_glyphs TFT_Long
  13333. Ffamily_name uintptr
  13334. Fstyle_name uintptr
  13335. Fnum_fixed_sizes TFT_Int
  13336. Favailable_sizes uintptr
  13337. Fnum_charmaps TFT_Int
  13338. Fcharmaps uintptr
  13339. Fgeneric TFT_Generic
  13340. Fbbox TFT_BBox
  13341. Funits_per_EM TFT_UShort
  13342. Fascender TFT_Short
  13343. Fdescender TFT_Short
  13344. Fheight TFT_Short
  13345. Fmax_advance_width TFT_Short
  13346. Fmax_advance_height TFT_Short
  13347. Funderline_position TFT_Short
  13348. Funderline_thickness TFT_Short
  13349. Fglyph TFT_GlyphSlot
  13350. Fsize TFT_Size
  13351. Fcharmap TFT_CharMap
  13352. Fdriver TFT_Driver
  13353. Fmemory TFT_Memory
  13354. Fstream TFT_Stream
  13355. Fsizes_list TFT_ListRec
  13356. Fautohint TFT_Generic
  13357. Fextensions uintptr
  13358. Finternal TFT_Face_Internal
  13359. }
  13360. type TFT_Size_Internal = uintptr
  13361. type TFT_Size_Metrics = struct {
  13362. Fx_ppem TFT_UShort
  13363. Fy_ppem TFT_UShort
  13364. Fx_scale TFT_Fixed
  13365. Fy_scale TFT_Fixed
  13366. Fascender TFT_Pos
  13367. Fdescender TFT_Pos
  13368. Fheight TFT_Pos
  13369. Fmax_advance TFT_Pos
  13370. }
  13371. type TFT_Size_Metrics_ = TFT_Size_Metrics
  13372. type TFT_SizeRec = struct {
  13373. Fface TFT_Face
  13374. Fgeneric TFT_Generic
  13375. Fmetrics TFT_Size_Metrics
  13376. Finternal TFT_Size_Internal
  13377. }
  13378. type TFT_SubGlyph = uintptr
  13379. type TFT_Slot_Internal = uintptr
  13380. type TFT_GlyphSlotRec = struct {
  13381. Flibrary TFT_Library
  13382. Fface TFT_Face
  13383. Fnext TFT_GlyphSlot
  13384. Fglyph_index TFT_UInt
  13385. Fgeneric TFT_Generic
  13386. Fmetrics TFT_Glyph_Metrics
  13387. FlinearHoriAdvance TFT_Fixed
  13388. FlinearVertAdvance TFT_Fixed
  13389. Fadvance TFT_Vector
  13390. Fformat TFT_Glyph_Format
  13391. Fbitmap TFT_Bitmap
  13392. Fbitmap_left TFT_Int
  13393. Fbitmap_top TFT_Int
  13394. Foutline TFT_Outline
  13395. Fnum_subglyphs TFT_UInt
  13396. Fsubglyphs TFT_SubGlyph
  13397. Fcontrol_data uintptr
  13398. Fcontrol_len int64
  13399. Flsb_delta TFT_Pos
  13400. Frsb_delta TFT_Pos
  13401. Fother uintptr
  13402. Finternal TFT_Slot_Internal
  13403. }
  13404. type TFT_Parameter = struct {
  13405. Ftag TFT_ULong
  13406. Fdata TFT_Pointer
  13407. }
  13408. type TFT_Parameter_ = TFT_Parameter
  13409. type TFT_Open_Args = struct {
  13410. Fflags TFT_UInt
  13411. Fmemory_base uintptr
  13412. Fmemory_size TFT_Long
  13413. Fpathname uintptr
  13414. Fstream TFT_Stream
  13415. Fdriver TFT_Module
  13416. Fnum_params TFT_Int
  13417. Fparams uintptr
  13418. }
  13419. type TFT_Open_Args_ = TFT_Open_Args
  13420. type TFT_Size_Request_Type = int32
  13421. type _FT_Size_Request_Type_ = int32
  13422. const _FT_SIZE_REQUEST_TYPE_NOMINAL = 0
  13423. const _FT_SIZE_REQUEST_TYPE_REAL_DIM = 1
  13424. const _FT_SIZE_REQUEST_TYPE_BBOX = 2
  13425. const _FT_SIZE_REQUEST_TYPE_CELL = 3
  13426. const _FT_SIZE_REQUEST_TYPE_SCALES = 4
  13427. const _FT_SIZE_REQUEST_TYPE_MAX = 5
  13428. type TFT_Size_RequestRec = struct {
  13429. Ftype1 TFT_Size_Request_Type
  13430. Fwidth TFT_Long
  13431. Fheight TFT_Long
  13432. FhoriResolution TFT_UInt
  13433. FvertResolution TFT_UInt
  13434. }
  13435. type TFT_Size_RequestRec_ = TFT_Size_RequestRec
  13436. type TFT_Size_Request = uintptr
  13437. type TFT_Render_Mode = int32
  13438. type _FT_Render_Mode_ = int32
  13439. const _FT_RENDER_MODE_NORMAL = 0
  13440. const _FT_RENDER_MODE_LIGHT = 1
  13441. const _FT_RENDER_MODE_MONO = 2
  13442. const _FT_RENDER_MODE_LCD = 3
  13443. const _FT_RENDER_MODE_LCD_V = 4
  13444. const _FT_RENDER_MODE_SDF = 5
  13445. const _FT_RENDER_MODE_MAX = 6
  13446. type TFT_Kerning_Mode = int32
  13447. type _FT_Kerning_Mode_ = int32
  13448. const _FT_KERNING_DEFAULT = 0
  13449. const _FT_KERNING_UNFITTED = 1
  13450. const _FT_KERNING_UNSCALED = 2
  13451. type TTT_Header = struct {
  13452. FTable_Version TFT_Fixed
  13453. FFont_Revision TFT_Fixed
  13454. FCheckSum_Adjust TFT_Long
  13455. FMagic_Number TFT_Long
  13456. FFlags TFT_UShort
  13457. FUnits_Per_EM TFT_UShort
  13458. FCreated [2]TFT_ULong
  13459. FModified [2]TFT_ULong
  13460. FxMin TFT_Short
  13461. FyMin TFT_Short
  13462. FxMax TFT_Short
  13463. FyMax TFT_Short
  13464. FMac_Style TFT_UShort
  13465. FLowest_Rec_PPEM TFT_UShort
  13466. FFont_Direction TFT_Short
  13467. FIndex_To_Loc_Format TFT_Short
  13468. FGlyph_Data_Format TFT_Short
  13469. }
  13470. type TTT_Header_ = TTT_Header
  13471. type TTT_HoriHeader = struct {
  13472. FVersion TFT_Fixed
  13473. FAscender TFT_Short
  13474. FDescender TFT_Short
  13475. FLine_Gap TFT_Short
  13476. Fadvance_Width_Max TFT_UShort
  13477. Fmin_Left_Side_Bearing TFT_Short
  13478. Fmin_Right_Side_Bearing TFT_Short
  13479. FxMax_Extent TFT_Short
  13480. Fcaret_Slope_Rise TFT_Short
  13481. Fcaret_Slope_Run TFT_Short
  13482. Fcaret_Offset TFT_Short
  13483. FReserved [4]TFT_Short
  13484. Fmetric_Data_Format TFT_Short
  13485. Fnumber_Of_HMetrics TFT_UShort
  13486. Flong_metrics uintptr
  13487. Fshort_metrics uintptr
  13488. }
  13489. type TTT_HoriHeader_ = TTT_HoriHeader
  13490. type TTT_VertHeader = struct {
  13491. FVersion TFT_Fixed
  13492. FAscender TFT_Short
  13493. FDescender TFT_Short
  13494. FLine_Gap TFT_Short
  13495. Fadvance_Height_Max TFT_UShort
  13496. Fmin_Top_Side_Bearing TFT_Short
  13497. Fmin_Bottom_Side_Bearing TFT_Short
  13498. FyMax_Extent TFT_Short
  13499. Fcaret_Slope_Rise TFT_Short
  13500. Fcaret_Slope_Run TFT_Short
  13501. Fcaret_Offset TFT_Short
  13502. FReserved [4]TFT_Short
  13503. Fmetric_Data_Format TFT_Short
  13504. Fnumber_Of_VMetrics TFT_UShort
  13505. Flong_metrics uintptr
  13506. Fshort_metrics uintptr
  13507. }
  13508. type TTT_VertHeader_ = TTT_VertHeader
  13509. type TTT_OS2 = struct {
  13510. Fversion TFT_UShort
  13511. FxAvgCharWidth TFT_Short
  13512. FusWeightClass TFT_UShort
  13513. FusWidthClass TFT_UShort
  13514. FfsType TFT_UShort
  13515. FySubscriptXSize TFT_Short
  13516. FySubscriptYSize TFT_Short
  13517. FySubscriptXOffset TFT_Short
  13518. FySubscriptYOffset TFT_Short
  13519. FySuperscriptXSize TFT_Short
  13520. FySuperscriptYSize TFT_Short
  13521. FySuperscriptXOffset TFT_Short
  13522. FySuperscriptYOffset TFT_Short
  13523. FyStrikeoutSize TFT_Short
  13524. FyStrikeoutPosition TFT_Short
  13525. FsFamilyClass TFT_Short
  13526. Fpanose [10]TFT_Byte
  13527. FulUnicodeRange1 TFT_ULong
  13528. FulUnicodeRange2 TFT_ULong
  13529. FulUnicodeRange3 TFT_ULong
  13530. FulUnicodeRange4 TFT_ULong
  13531. FachVendID [4]TFT_Char
  13532. FfsSelection TFT_UShort
  13533. FusFirstCharIndex TFT_UShort
  13534. FusLastCharIndex TFT_UShort
  13535. FsTypoAscender TFT_Short
  13536. FsTypoDescender TFT_Short
  13537. FsTypoLineGap TFT_Short
  13538. FusWinAscent TFT_UShort
  13539. FusWinDescent TFT_UShort
  13540. FulCodePageRange1 TFT_ULong
  13541. FulCodePageRange2 TFT_ULong
  13542. FsxHeight TFT_Short
  13543. FsCapHeight TFT_Short
  13544. FusDefaultChar TFT_UShort
  13545. FusBreakChar TFT_UShort
  13546. FusMaxContext TFT_UShort
  13547. FusLowerOpticalPointSize TFT_UShort
  13548. FusUpperOpticalPointSize TFT_UShort
  13549. }
  13550. type TTT_OS2_ = TTT_OS2
  13551. type TTT_Postscript = struct {
  13552. FFormatType TFT_Fixed
  13553. FitalicAngle TFT_Fixed
  13554. FunderlinePosition TFT_Short
  13555. FunderlineThickness TFT_Short
  13556. FisFixedPitch TFT_ULong
  13557. FminMemType42 TFT_ULong
  13558. FmaxMemType42 TFT_ULong
  13559. FminMemType1 TFT_ULong
  13560. FmaxMemType1 TFT_ULong
  13561. }
  13562. type TTT_Postscript_ = TTT_Postscript
  13563. type TTT_PCLT = struct {
  13564. FVersion TFT_Fixed
  13565. FFontNumber TFT_ULong
  13566. FPitch TFT_UShort
  13567. FxHeight TFT_UShort
  13568. FStyle TFT_UShort
  13569. FTypeFamily TFT_UShort
  13570. FCapHeight TFT_UShort
  13571. FSymbolSet TFT_UShort
  13572. FTypeFace [16]TFT_Char
  13573. FCharacterComplement [8]TFT_Char
  13574. FFileName [6]TFT_Char
  13575. FStrokeWeight TFT_Char
  13576. FWidthType TFT_Char
  13577. FSerifStyle TFT_Byte
  13578. FReserved TFT_Byte
  13579. }
  13580. type TTT_PCLT_ = TTT_PCLT
  13581. type TTT_MaxProfile = struct {
  13582. Fversion TFT_Fixed
  13583. FnumGlyphs TFT_UShort
  13584. FmaxPoints TFT_UShort
  13585. FmaxContours TFT_UShort
  13586. FmaxCompositePoints TFT_UShort
  13587. FmaxCompositeContours TFT_UShort
  13588. FmaxZones TFT_UShort
  13589. FmaxTwilightPoints TFT_UShort
  13590. FmaxStorage TFT_UShort
  13591. FmaxFunctionDefs TFT_UShort
  13592. FmaxInstructionDefs TFT_UShort
  13593. FmaxStackElements TFT_UShort
  13594. FmaxSizeOfInstructions TFT_UShort
  13595. FmaxComponentElements TFT_UShort
  13596. FmaxComponentDepth TFT_UShort
  13597. }
  13598. type TTT_MaxProfile_ = TTT_MaxProfile
  13599. type TFT_Sfnt_Tag = int32
  13600. type _FT_Sfnt_Tag_ = int32
  13601. const _FT_SFNT_HEAD = 0
  13602. const _FT_SFNT_MAXP = 1
  13603. const _FT_SFNT_OS2 = 2
  13604. const _FT_SFNT_HHEA = 3
  13605. const _FT_SFNT_VHEA = 4
  13606. const _FT_SFNT_POST = 5
  13607. const _FT_SFNT_PCLT = 6
  13608. const _FT_SFNT_MAX = 7
  13609. type TFT_SfntName = struct {
  13610. Fplatform_id TFT_UShort
  13611. Fencoding_id TFT_UShort
  13612. Flanguage_id TFT_UShort
  13613. Fname_id TFT_UShort
  13614. Fstring1 uintptr
  13615. Fstring_len TFT_UInt
  13616. }
  13617. type TFT_SfntName_ = TFT_SfntName
  13618. type TFT_SfntLangTag = struct {
  13619. Fstring1 uintptr
  13620. Fstring_len TFT_UInt
  13621. }
  13622. type TFT_SfntLangTag_ = TFT_SfntLangTag
  13623. type TPS_FontInfoRec = struct {
  13624. Fversion uintptr
  13625. Fnotice uintptr
  13626. Ffull_name uintptr
  13627. Ffamily_name uintptr
  13628. Fweight uintptr
  13629. Fitalic_angle TFT_Long
  13630. Fis_fixed_pitch TFT_Bool
  13631. Funderline_position TFT_Short
  13632. Funderline_thickness TFT_UShort
  13633. }
  13634. type TPS_FontInfoRec_ = TPS_FontInfoRec
  13635. type TPS_FontInfo = uintptr
  13636. type TT1_FontInfo = struct {
  13637. Fversion uintptr
  13638. Fnotice uintptr
  13639. Ffull_name uintptr
  13640. Ffamily_name uintptr
  13641. Fweight uintptr
  13642. Fitalic_angle TFT_Long
  13643. Fis_fixed_pitch TFT_Bool
  13644. Funderline_position TFT_Short
  13645. Funderline_thickness TFT_UShort
  13646. }
  13647. type TPS_PrivateRec = struct {
  13648. Funique_id TFT_Int
  13649. FlenIV TFT_Int
  13650. Fnum_blue_values TFT_Byte
  13651. Fnum_other_blues TFT_Byte
  13652. Fnum_family_blues TFT_Byte
  13653. Fnum_family_other_blues TFT_Byte
  13654. Fblue_values [14]TFT_Short
  13655. Fother_blues [10]TFT_Short
  13656. Ffamily_blues [14]TFT_Short
  13657. Ffamily_other_blues [10]TFT_Short
  13658. Fblue_scale TFT_Fixed
  13659. Fblue_shift TFT_Int
  13660. Fblue_fuzz TFT_Int
  13661. Fstandard_width [1]TFT_UShort
  13662. Fstandard_height [1]TFT_UShort
  13663. Fnum_snap_widths TFT_Byte
  13664. Fnum_snap_heights TFT_Byte
  13665. Fforce_bold TFT_Bool
  13666. Fround_stem_up TFT_Bool
  13667. Fsnap_widths [13]TFT_Short
  13668. Fsnap_heights [13]TFT_Short
  13669. Fexpansion_factor TFT_Fixed
  13670. Flanguage_group TFT_Long
  13671. Fpassword TFT_Long
  13672. Fmin_feature [2]TFT_Short
  13673. }
  13674. type TPS_PrivateRec_ = TPS_PrivateRec
  13675. type TPS_Private = uintptr
  13676. type TT1_Private = struct {
  13677. Funique_id TFT_Int
  13678. FlenIV TFT_Int
  13679. Fnum_blue_values TFT_Byte
  13680. Fnum_other_blues TFT_Byte
  13681. Fnum_family_blues TFT_Byte
  13682. Fnum_family_other_blues TFT_Byte
  13683. Fblue_values [14]TFT_Short
  13684. Fother_blues [10]TFT_Short
  13685. Ffamily_blues [14]TFT_Short
  13686. Ffamily_other_blues [10]TFT_Short
  13687. Fblue_scale TFT_Fixed
  13688. Fblue_shift TFT_Int
  13689. Fblue_fuzz TFT_Int
  13690. Fstandard_width [1]TFT_UShort
  13691. Fstandard_height [1]TFT_UShort
  13692. Fnum_snap_widths TFT_Byte
  13693. Fnum_snap_heights TFT_Byte
  13694. Fforce_bold TFT_Bool
  13695. Fround_stem_up TFT_Bool
  13696. Fsnap_widths [13]TFT_Short
  13697. Fsnap_heights [13]TFT_Short
  13698. Fexpansion_factor TFT_Fixed
  13699. Flanguage_group TFT_Long
  13700. Fpassword TFT_Long
  13701. Fmin_feature [2]TFT_Short
  13702. }
  13703. type TT1_Blend_Flags = int32
  13704. type _T1_Blend_Flags_ = int32
  13705. const _T1_BLEND_UNDERLINE_POSITION = 0
  13706. const _T1_BLEND_UNDERLINE_THICKNESS = 1
  13707. const _T1_BLEND_ITALIC_ANGLE = 2
  13708. const _T1_BLEND_BLUE_VALUES = 3
  13709. const _T1_BLEND_OTHER_BLUES = 4
  13710. const _T1_BLEND_STANDARD_WIDTH = 5
  13711. const _T1_BLEND_STANDARD_HEIGHT = 6
  13712. const _T1_BLEND_STEM_SNAP_WIDTHS = 7
  13713. const _T1_BLEND_STEM_SNAP_HEIGHTS = 8
  13714. const _T1_BLEND_BLUE_SCALE = 9
  13715. const _T1_BLEND_BLUE_SHIFT = 10
  13716. const _T1_BLEND_FAMILY_BLUES = 11
  13717. const _T1_BLEND_FAMILY_OTHER_BLUES = 12
  13718. const _T1_BLEND_FORCE_BOLD = 13
  13719. const _T1_BLEND_MAX = 14
  13720. type TPS_DesignMapRec = struct {
  13721. Fnum_points TFT_Byte
  13722. Fdesign_points uintptr
  13723. Fblend_points uintptr
  13724. }
  13725. type TPS_DesignMap_ = TPS_DesignMapRec
  13726. type TPS_DesignMap = uintptr
  13727. type TT1_DesignMap = struct {
  13728. Fnum_points TFT_Byte
  13729. Fdesign_points uintptr
  13730. Fblend_points uintptr
  13731. }
  13732. type TPS_BlendRec = struct {
  13733. Fnum_designs TFT_UInt
  13734. Fnum_axis TFT_UInt
  13735. Faxis_names [4]uintptr
  13736. Fdesign_pos [16]uintptr
  13737. Fdesign_map [4]TPS_DesignMapRec
  13738. Fweight_vector uintptr
  13739. Fdefault_weight_vector uintptr
  13740. Ffont_infos [17]TPS_FontInfo
  13741. Fprivates [17]TPS_Private
  13742. Fblend_bitflags TFT_ULong
  13743. Fbboxes [17]uintptr
  13744. Fdefault_design_vector [16]TFT_UInt
  13745. Fnum_default_design_vector TFT_UInt
  13746. }
  13747. type TPS_BlendRec_ = TPS_BlendRec
  13748. type TPS_Blend = uintptr
  13749. type TT1_Blend = struct {
  13750. Fnum_designs TFT_UInt
  13751. Fnum_axis TFT_UInt
  13752. Faxis_names [4]uintptr
  13753. Fdesign_pos [16]uintptr
  13754. Fdesign_map [4]TPS_DesignMapRec
  13755. Fweight_vector uintptr
  13756. Fdefault_weight_vector uintptr
  13757. Ffont_infos [17]TPS_FontInfo
  13758. Fprivates [17]TPS_Private
  13759. Fblend_bitflags TFT_ULong
  13760. Fbboxes [17]uintptr
  13761. Fdefault_design_vector [16]TFT_UInt
  13762. Fnum_default_design_vector TFT_UInt
  13763. }
  13764. type TCID_FaceDictRec = struct {
  13765. Fprivate_dict TPS_PrivateRec
  13766. Flen_buildchar TFT_UInt
  13767. Fforcebold_threshold TFT_Fixed
  13768. Fstroke_width TFT_Pos
  13769. Fexpansion_factor TFT_Fixed
  13770. Fpaint_type TFT_Byte
  13771. Ffont_type TFT_Byte
  13772. Ffont_matrix TFT_Matrix
  13773. Ffont_offset TFT_Vector
  13774. Fnum_subrs TFT_UInt
  13775. Fsubrmap_offset TFT_ULong
  13776. Fsd_bytes TFT_UInt
  13777. }
  13778. type TCID_FaceDictRec_ = TCID_FaceDictRec
  13779. type TCID_FaceDict = uintptr
  13780. type TCID_FontDict = struct {
  13781. Fprivate_dict TPS_PrivateRec
  13782. Flen_buildchar TFT_UInt
  13783. Fforcebold_threshold TFT_Fixed
  13784. Fstroke_width TFT_Pos
  13785. Fexpansion_factor TFT_Fixed
  13786. Fpaint_type TFT_Byte
  13787. Ffont_type TFT_Byte
  13788. Ffont_matrix TFT_Matrix
  13789. Ffont_offset TFT_Vector
  13790. Fnum_subrs TFT_UInt
  13791. Fsubrmap_offset TFT_ULong
  13792. Fsd_bytes TFT_UInt
  13793. }
  13794. type TCID_FaceInfoRec = struct {
  13795. Fcid_font_name uintptr
  13796. Fcid_version TFT_Fixed
  13797. Fcid_font_type TFT_Int
  13798. Fregistry uintptr
  13799. Fordering uintptr
  13800. Fsupplement TFT_Int
  13801. Ffont_info TPS_FontInfoRec
  13802. Ffont_bbox TFT_BBox
  13803. Fuid_base TFT_ULong
  13804. Fnum_xuid TFT_Int
  13805. Fxuid [16]TFT_ULong
  13806. Fcidmap_offset TFT_ULong
  13807. Ffd_bytes TFT_UInt
  13808. Fgd_bytes TFT_UInt
  13809. Fcid_count TFT_ULong
  13810. Fnum_dicts TFT_UInt
  13811. Ffont_dicts TCID_FaceDict
  13812. Fdata_offset TFT_ULong
  13813. }
  13814. type TCID_FaceInfoRec_ = TCID_FaceInfoRec
  13815. type TCID_FaceInfo = uintptr
  13816. type TCID_Info = struct {
  13817. Fcid_font_name uintptr
  13818. Fcid_version TFT_Fixed
  13819. Fcid_font_type TFT_Int
  13820. Fregistry uintptr
  13821. Fordering uintptr
  13822. Fsupplement TFT_Int
  13823. Ffont_info TPS_FontInfoRec
  13824. Ffont_bbox TFT_BBox
  13825. Fuid_base TFT_ULong
  13826. Fnum_xuid TFT_Int
  13827. Fxuid [16]TFT_ULong
  13828. Fcidmap_offset TFT_ULong
  13829. Ffd_bytes TFT_UInt
  13830. Fgd_bytes TFT_UInt
  13831. Fcid_count TFT_ULong
  13832. Fnum_dicts TFT_UInt
  13833. Ffont_dicts TCID_FaceDict
  13834. Fdata_offset TFT_ULong
  13835. }
  13836. type TT1_EncodingType = int32
  13837. type _T1_EncodingType_ = int32
  13838. const _T1_ENCODING_TYPE_NONE = 0
  13839. const _T1_ENCODING_TYPE_ARRAY = 1
  13840. const _T1_ENCODING_TYPE_STANDARD = 2
  13841. const _T1_ENCODING_TYPE_ISOLATIN1 = 3
  13842. const _T1_ENCODING_TYPE_EXPERT = 4
  13843. type TPS_Dict_Keys = int32
  13844. type _PS_Dict_Keys_ = int32
  13845. const _PS_DICT_FONT_TYPE = 0
  13846. const _PS_DICT_FONT_MATRIX = 1
  13847. const _PS_DICT_FONT_BBOX = 2
  13848. const _PS_DICT_PAINT_TYPE = 3
  13849. const _PS_DICT_FONT_NAME = 4
  13850. const _PS_DICT_UNIQUE_ID = 5
  13851. const _PS_DICT_NUM_CHAR_STRINGS = 6
  13852. const _PS_DICT_CHAR_STRING_KEY = 7
  13853. const _PS_DICT_CHAR_STRING = 8
  13854. const _PS_DICT_ENCODING_TYPE = 9
  13855. const _PS_DICT_ENCODING_ENTRY = 10
  13856. const _PS_DICT_NUM_SUBRS = 11
  13857. const _PS_DICT_SUBR = 12
  13858. const _PS_DICT_STD_HW = 13
  13859. const _PS_DICT_STD_VW = 14
  13860. const _PS_DICT_NUM_BLUE_VALUES = 15
  13861. const _PS_DICT_BLUE_VALUE = 16
  13862. const _PS_DICT_BLUE_FUZZ = 17
  13863. const _PS_DICT_NUM_OTHER_BLUES = 18
  13864. const _PS_DICT_OTHER_BLUE = 19
  13865. const _PS_DICT_NUM_FAMILY_BLUES = 20
  13866. const _PS_DICT_FAMILY_BLUE = 21
  13867. const _PS_DICT_NUM_FAMILY_OTHER_BLUES = 22
  13868. const _PS_DICT_FAMILY_OTHER_BLUE = 23
  13869. const _PS_DICT_BLUE_SCALE = 24
  13870. const _PS_DICT_BLUE_SHIFT = 25
  13871. const _PS_DICT_NUM_STEM_SNAP_H = 26
  13872. const _PS_DICT_STEM_SNAP_H = 27
  13873. const _PS_DICT_NUM_STEM_SNAP_V = 28
  13874. const _PS_DICT_STEM_SNAP_V = 29
  13875. const _PS_DICT_FORCE_BOLD = 30
  13876. const _PS_DICT_RND_STEM_UP = 31
  13877. const _PS_DICT_MIN_FEATURE = 32
  13878. const _PS_DICT_LEN_IV = 33
  13879. const _PS_DICT_PASSWORD = 34
  13880. const _PS_DICT_LANGUAGE_GROUP = 35
  13881. const _PS_DICT_VERSION = 36
  13882. const _PS_DICT_NOTICE = 37
  13883. const _PS_DICT_FULL_NAME = 38
  13884. const _PS_DICT_FAMILY_NAME = 39
  13885. const _PS_DICT_WEIGHT = 40
  13886. const _PS_DICT_IS_FIXED_PITCH = 41
  13887. const _PS_DICT_UNDERLINE_POSITION = 42
  13888. const _PS_DICT_UNDERLINE_THICKNESS = 43
  13889. const _PS_DICT_FS_TYPE = 44
  13890. const _PS_DICT_ITALIC_ANGLE = 45
  13891. const _PS_DICT_MAX = 45
  13892. type TBDF_PropertyType = int32
  13893. type _BDF_PropertyType_ = int32
  13894. const _BDF_PROPERTY_TYPE_NONE = 0
  13895. const _BDF_PROPERTY_TYPE_ATOM = 1
  13896. const _BDF_PROPERTY_TYPE_INTEGER = 2
  13897. const _BDF_PROPERTY_TYPE_CARDINAL = 3
  13898. type TBDF_Property = uintptr
  13899. type TBDF_PropertyRec_ = struct {
  13900. Ftype1 TBDF_PropertyType
  13901. Fu struct {
  13902. Finteger [0]TFT_Int32
  13903. Fcardinal [0]TFT_UInt32
  13904. Fatom uintptr
  13905. }
  13906. }
  13907. type TBDF_PropertyRec = struct {
  13908. Ftype1 TBDF_PropertyType
  13909. Fu struct {
  13910. Finteger [0]TFT_Int32
  13911. Fcardinal [0]TFT_UInt32
  13912. Fatom uintptr
  13913. }
  13914. }
  13915. type TFT_Module_Interface = uintptr
  13916. type TFT_Module_Constructor = uintptr
  13917. type TFT_Module_Destructor = uintptr
  13918. type TFT_Module_Requester = uintptr
  13919. type TFT_Module_Class = struct {
  13920. Fmodule_flags TFT_ULong
  13921. Fmodule_size TFT_Long
  13922. Fmodule_name uintptr
  13923. Fmodule_version TFT_Fixed
  13924. Fmodule_requires TFT_Fixed
  13925. Fmodule_interface uintptr
  13926. Fmodule_init TFT_Module_Constructor
  13927. Fmodule_done TFT_Module_Destructor
  13928. Fget_interface TFT_Module_Requester
  13929. }
  13930. type TFT_Module_Class_ = TFT_Module_Class
  13931. type TFT_DebugHook_Func = uintptr
  13932. type TFT_TrueTypeEngineType = int32
  13933. type _FT_TrueTypeEngineType_ = int32
  13934. const _FT_TRUETYPE_ENGINE_TYPE_NONE = 0
  13935. const _FT_TRUETYPE_ENGINE_TYPE_UNPATENTED = 1
  13936. const _FT_TRUETYPE_ENGINE_TYPE_PATENTED = 2
  13937. type TFT_MM_Axis = struct {
  13938. Fname uintptr
  13939. Fminimum TFT_Long
  13940. Fmaximum TFT_Long
  13941. }
  13942. type TFT_MM_Axis_ = TFT_MM_Axis
  13943. type TFT_Multi_Master = struct {
  13944. Fnum_axis TFT_UInt
  13945. Fnum_designs TFT_UInt
  13946. Faxis [4]TFT_MM_Axis
  13947. }
  13948. type TFT_Multi_Master_ = TFT_Multi_Master
  13949. type TFT_Var_Axis = struct {
  13950. Fname uintptr
  13951. Fminimum TFT_Fixed
  13952. Fdef TFT_Fixed
  13953. Fmaximum TFT_Fixed
  13954. Ftag TFT_ULong
  13955. Fstrid TFT_UInt
  13956. }
  13957. type TFT_Var_Axis_ = TFT_Var_Axis
  13958. type TFT_Var_Named_Style = struct {
  13959. Fcoords uintptr
  13960. Fstrid TFT_UInt
  13961. Fpsid TFT_UInt
  13962. }
  13963. type TFT_Var_Named_Style_ = TFT_Var_Named_Style
  13964. type TFT_MM_Var = struct {
  13965. Fnum_axis TFT_UInt
  13966. Fnum_designs TFT_UInt
  13967. Fnum_namedstyles TFT_UInt
  13968. Faxis uintptr
  13969. Fnamedstyle uintptr
  13970. }
  13971. type TFT_MM_Var_ = TFT_MM_Var
  13972. var _FcNoticeFoundries = [18][2]uintptr{
  13973. 0: {
  13974. 0: __ccgo_ts + 3572,
  13975. 1: __ccgo_ts + 3578,
  13976. },
  13977. 1: {
  13978. 0: __ccgo_ts + 3584,
  13979. 1: __ccgo_ts + 3592,
  13980. },
  13981. 2: {
  13982. 0: __ccgo_ts + 3596,
  13983. 1: __ccgo_ts + 3606,
  13984. },
  13985. 3: {
  13986. 0: __ccgo_ts + 3616,
  13987. 1: __ccgo_ts + 3621,
  13988. },
  13989. 4: {
  13990. 0: __ccgo_ts + 3628,
  13991. 1: __ccgo_ts + 3621,
  13992. },
  13993. 5: {
  13994. 0: __ccgo_ts + 3634,
  13995. 1: __ccgo_ts + 3649,
  13996. },
  13997. 6: {
  13998. 0: __ccgo_ts + 3657,
  13999. 1: __ccgo_ts + 3664,
  14000. },
  14001. 7: {
  14002. 0: __ccgo_ts + 3669,
  14003. 1: __ccgo_ts + 3673,
  14004. },
  14005. 8: {
  14006. 0: __ccgo_ts + 3677,
  14007. 1: __ccgo_ts + 3712,
  14008. },
  14009. 9: {
  14010. 0: __ccgo_ts + 3716,
  14011. 1: __ccgo_ts + 3725,
  14012. },
  14013. 10: {
  14014. 0: __ccgo_ts + 3734,
  14015. 1: __ccgo_ts + 3725,
  14016. },
  14017. 11: {
  14018. 0: __ccgo_ts + 3748,
  14019. 1: __ccgo_ts + 3758,
  14020. },
  14021. 12: {
  14022. 0: __ccgo_ts + 3768,
  14023. 1: __ccgo_ts + 3777,
  14024. },
  14025. 13: {
  14026. 0: __ccgo_ts + 3786,
  14027. 1: __ccgo_ts + 3792,
  14028. },
  14029. 14: {
  14030. 0: __ccgo_ts + 3798,
  14031. 1: __ccgo_ts + 3813,
  14032. },
  14033. 15: {
  14034. 0: __ccgo_ts + 3818,
  14035. 1: __ccgo_ts + 3822,
  14036. },
  14037. 16: {
  14038. 0: __ccgo_ts + 3826,
  14039. 1: __ccgo_ts + 3834,
  14040. },
  14041. 17: {
  14042. 0: __ccgo_ts + 3842,
  14043. 1: __ccgo_ts + 3847,
  14044. },
  14045. }
  14046. /*
  14047. * Keep Han languages separated by eliminating languages
  14048. * that the codePageRange bits says aren't supported
  14049. */
  14050. var _FcCodePageRange = [4]struct {
  14051. Fbit uint8
  14052. Flang [6]TFcChar8
  14053. }{
  14054. 0: {
  14055. Fbit: uint8(17),
  14056. Flang: [6]TFcChar8{'j', 'a'},
  14057. },
  14058. 1: {
  14059. Fbit: uint8(18),
  14060. Flang: [6]TFcChar8{'z', 'h', '-', 'c', 'n'},
  14061. },
  14062. 2: {
  14063. Fbit: uint8(19),
  14064. Flang: [6]TFcChar8{'k', 'o'},
  14065. },
  14066. 3: {
  14067. Fbit: uint8(20),
  14068. Flang: [6]TFcChar8{'z', 'h', '-', 't', 'w'},
  14069. },
  14070. }
  14071. func XFcFreeTypeIsExclusiveLang(tls *libc.TLS, lang uintptr) (r TFcBool) {
  14072. var i int32
  14073. _ = i
  14074. i = 0
  14075. for {
  14076. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(28)/libc.Uint64FromInt64(7))) {
  14077. break
  14078. }
  14079. if XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_FcCodePageRange))+uintptr(i)*7+1) == int32(_FcLangEqual) {
  14080. return int32(m_FcTrue)
  14081. }
  14082. goto _1
  14083. _1:
  14084. ;
  14085. i++
  14086. }
  14087. return m_FcFalse
  14088. }
  14089. type TFcFtEncoding = struct {
  14090. Fplatform_id TFT_UShort
  14091. Fencoding_id TFT_UShort
  14092. Ffromcode [12]uint8
  14093. }
  14094. var _fcFtEncoding = [14]TFcFtEncoding{
  14095. 0: {
  14096. Fencoding_id: uint16(m_TT_ENCODING_DONT_CARE),
  14097. Ffromcode: [12]uint8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  14098. },
  14099. 1: {
  14100. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14101. Ffromcode: [12]uint8{'M', 'A', 'C', 'I', 'N', 'T', 'O', 'S', 'H'},
  14102. },
  14103. 2: {
  14104. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14105. Fencoding_id: uint16(m_TT_MAC_ID_JAPANESE),
  14106. Ffromcode: [12]uint8{'S', 'J', 'I', 'S'},
  14107. },
  14108. 3: {
  14109. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14110. Ffromcode: [12]uint8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  14111. },
  14112. 4: {
  14113. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14114. Fencoding_id: uint16(m_TT_MS_ID_UNICODE_CS),
  14115. Ffromcode: [12]uint8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  14116. },
  14117. 5: {
  14118. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14119. Fencoding_id: uint16(m_TT_MS_ID_SJIS),
  14120. Ffromcode: [12]uint8{'S', 'J', 'I', 'S', '-', 'W', 'I', 'N'},
  14121. },
  14122. 6: {
  14123. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14124. Fencoding_id: uint16(m_TT_MS_ID_PRC),
  14125. Ffromcode: [12]uint8{'G', 'B', '2', '3', '1', '2'},
  14126. },
  14127. 7: {
  14128. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14129. Fencoding_id: uint16(m_TT_MS_ID_BIG_5),
  14130. Ffromcode: [12]uint8{'B', 'I', 'G', '-', '5'},
  14131. },
  14132. 8: {
  14133. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14134. Fencoding_id: uint16(m_TT_MS_ID_WANSUNG),
  14135. Ffromcode: [12]uint8{'W', 'a', 'n', 's', 'u', 'n', 'g'},
  14136. },
  14137. 9: {
  14138. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14139. Fencoding_id: uint16(m_TT_MS_ID_JOHAB),
  14140. Ffromcode: [12]uint8{'J', 'o', 'h', 'a', 'b'},
  14141. },
  14142. 10: {
  14143. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14144. Fencoding_id: uint16(m_TT_MS_ID_UCS_4),
  14145. Ffromcode: [12]uint8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  14146. },
  14147. 11: {
  14148. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  14149. Ffromcode: [12]uint8{'A', 'S', 'C', 'I', 'I'},
  14150. },
  14151. 12: {
  14152. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  14153. Fencoding_id: uint16(m_TT_ISO_ID_10646),
  14154. Ffromcode: [12]uint8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  14155. },
  14156. 13: {
  14157. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  14158. Fencoding_id: uint16(m_TT_ISO_ID_8859_1),
  14159. Ffromcode: [12]uint8{'I', 'S', 'O', '-', '8', '8', '5', '9', '-', '1'},
  14160. },
  14161. }
  14162. type TFcFtLanguage = struct {
  14163. Fplatform_id TFT_UShort
  14164. Flanguage_id TFT_UShort
  14165. Flang [8]uint8
  14166. }
  14167. var _fcFtLanguage = [335]TFcFtLanguage{
  14168. 0: {
  14169. Flanguage_id: uint16(m_TT_LANGUAGE_DONT_CARE),
  14170. Flang: [8]uint8{},
  14171. },
  14172. 1: {
  14173. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14174. Flang: [8]uint8{'e', 'n'},
  14175. },
  14176. 2: {
  14177. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14178. Flanguage_id: uint16(m_TT_MAC_LANGID_FRENCH),
  14179. Flang: [8]uint8{'f', 'r'},
  14180. },
  14181. 3: {
  14182. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14183. Flanguage_id: uint16(m_TT_MAC_LANGID_GERMAN),
  14184. Flang: [8]uint8{'d', 'e'},
  14185. },
  14186. 4: {
  14187. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14188. Flanguage_id: uint16(m_TT_MAC_LANGID_ITALIAN),
  14189. Flang: [8]uint8{'i', 't'},
  14190. },
  14191. 5: {
  14192. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14193. Flanguage_id: uint16(m_TT_MAC_LANGID_DUTCH),
  14194. Flang: [8]uint8{'n', 'l'},
  14195. },
  14196. 6: {
  14197. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14198. Flanguage_id: uint16(m_TT_MAC_LANGID_SWEDISH),
  14199. Flang: [8]uint8{'s', 'v'},
  14200. },
  14201. 7: {
  14202. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14203. Flanguage_id: uint16(m_TT_MAC_LANGID_SPANISH),
  14204. Flang: [8]uint8{'e', 's'},
  14205. },
  14206. 8: {
  14207. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14208. Flanguage_id: uint16(m_TT_MAC_LANGID_DANISH),
  14209. Flang: [8]uint8{'d', 'a'},
  14210. },
  14211. 9: {
  14212. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14213. Flanguage_id: uint16(m_TT_MAC_LANGID_PORTUGUESE),
  14214. Flang: [8]uint8{'p', 't'},
  14215. },
  14216. 10: {
  14217. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14218. Flanguage_id: uint16(m_TT_MAC_LANGID_NORWEGIAN),
  14219. Flang: [8]uint8{'n', 'o'},
  14220. },
  14221. 11: {
  14222. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14223. Flanguage_id: uint16(m_TT_MAC_LANGID_HEBREW),
  14224. Flang: [8]uint8{'h', 'e'},
  14225. },
  14226. 12: {
  14227. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14228. Flanguage_id: uint16(m_TT_MAC_LANGID_JAPANESE),
  14229. Flang: [8]uint8{'j', 'a'},
  14230. },
  14231. 13: {
  14232. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14233. Flanguage_id: uint16(m_TT_MAC_LANGID_ARABIC),
  14234. Flang: [8]uint8{'a', 'r'},
  14235. },
  14236. 14: {
  14237. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14238. Flanguage_id: uint16(m_TT_MAC_LANGID_FINNISH),
  14239. Flang: [8]uint8{'f', 'i'},
  14240. },
  14241. 15: {
  14242. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14243. Flanguage_id: uint16(m_TT_MAC_LANGID_GREEK),
  14244. Flang: [8]uint8{'e', 'l'},
  14245. },
  14246. 16: {
  14247. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14248. Flanguage_id: uint16(m_TT_MAC_LANGID_ICELANDIC),
  14249. Flang: [8]uint8{'i', 's'},
  14250. },
  14251. 17: {
  14252. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14253. Flanguage_id: uint16(m_TT_MAC_LANGID_MALTESE),
  14254. Flang: [8]uint8{'m', 't'},
  14255. },
  14256. 18: {
  14257. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14258. Flanguage_id: uint16(m_TT_MAC_LANGID_TURKISH),
  14259. Flang: [8]uint8{'t', 'r'},
  14260. },
  14261. 19: {
  14262. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14263. Flanguage_id: uint16(m_TT_MAC_LANGID_CROATIAN),
  14264. Flang: [8]uint8{'h', 'r'},
  14265. },
  14266. 20: {
  14267. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14268. Flanguage_id: uint16(m_TT_MAC_LANGID_CHINESE_TRADITIONAL),
  14269. Flang: [8]uint8{'z', 'h', '-', 't', 'w'},
  14270. },
  14271. 21: {
  14272. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14273. Flanguage_id: uint16(m_TT_MAC_LANGID_URDU),
  14274. Flang: [8]uint8{'u', 'r'},
  14275. },
  14276. 22: {
  14277. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14278. Flanguage_id: uint16(m_TT_MAC_LANGID_HINDI),
  14279. Flang: [8]uint8{'h', 'i'},
  14280. },
  14281. 23: {
  14282. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14283. Flanguage_id: uint16(m_TT_MAC_LANGID_THAI),
  14284. Flang: [8]uint8{'t', 'h'},
  14285. },
  14286. 24: {
  14287. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14288. Flanguage_id: uint16(m_TT_MAC_LANGID_KOREAN),
  14289. Flang: [8]uint8{'k', 'o'},
  14290. },
  14291. 25: {
  14292. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14293. Flanguage_id: uint16(m_TT_MAC_LANGID_LITHUANIAN),
  14294. Flang: [8]uint8{'l', 't'},
  14295. },
  14296. 26: {
  14297. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14298. Flanguage_id: uint16(m_TT_MAC_LANGID_POLISH),
  14299. Flang: [8]uint8{'p', 'l'},
  14300. },
  14301. 27: {
  14302. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14303. Flanguage_id: uint16(m_TT_MAC_LANGID_HUNGARIAN),
  14304. Flang: [8]uint8{'h', 'u'},
  14305. },
  14306. 28: {
  14307. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14308. Flanguage_id: uint16(m_TT_MAC_LANGID_ESTONIAN),
  14309. Flang: [8]uint8{'e', 't'},
  14310. },
  14311. 29: {
  14312. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14313. Flanguage_id: uint16(m_TT_MAC_LANGID_LETTISH),
  14314. Flang: [8]uint8{'l', 'v'},
  14315. },
  14316. 30: {
  14317. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14318. Flanguage_id: uint16(m_TT_MAC_LANGID_FAEROESE),
  14319. Flang: [8]uint8{'f', 'o'},
  14320. },
  14321. 31: {
  14322. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14323. Flanguage_id: uint16(m_TT_MAC_LANGID_FARSI),
  14324. Flang: [8]uint8{'f', 'a'},
  14325. },
  14326. 32: {
  14327. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14328. Flanguage_id: uint16(m_TT_MAC_LANGID_RUSSIAN),
  14329. Flang: [8]uint8{'r', 'u'},
  14330. },
  14331. 33: {
  14332. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14333. Flanguage_id: uint16(m_TT_MAC_LANGID_CHINESE_SIMPLIFIED),
  14334. Flang: [8]uint8{'z', 'h', '-', 'c', 'n'},
  14335. },
  14336. 34: {
  14337. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14338. Flanguage_id: uint16(m_TT_MAC_LANGID_FLEMISH),
  14339. Flang: [8]uint8{'n', 'l'},
  14340. },
  14341. 35: {
  14342. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14343. Flanguage_id: uint16(m_TT_MAC_LANGID_IRISH),
  14344. Flang: [8]uint8{'g', 'a'},
  14345. },
  14346. 36: {
  14347. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14348. Flanguage_id: uint16(m_TT_MAC_LANGID_ALBANIAN),
  14349. Flang: [8]uint8{'s', 'q'},
  14350. },
  14351. 37: {
  14352. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14353. Flanguage_id: uint16(m_TT_MAC_LANGID_ROMANIAN),
  14354. Flang: [8]uint8{'r', 'o'},
  14355. },
  14356. 38: {
  14357. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14358. Flanguage_id: uint16(m_TT_MAC_LANGID_CZECH),
  14359. Flang: [8]uint8{'c', 's'},
  14360. },
  14361. 39: {
  14362. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14363. Flanguage_id: uint16(m_TT_MAC_LANGID_SLOVAK),
  14364. Flang: [8]uint8{'s', 'k'},
  14365. },
  14366. 40: {
  14367. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14368. Flanguage_id: uint16(m_TT_MAC_LANGID_SLOVENIAN),
  14369. Flang: [8]uint8{'s', 'l'},
  14370. },
  14371. 41: {
  14372. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14373. Flanguage_id: uint16(m_TT_MAC_LANGID_YIDDISH),
  14374. Flang: [8]uint8{'y', 'i'},
  14375. },
  14376. 42: {
  14377. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14378. Flanguage_id: uint16(m_TT_MAC_LANGID_SERBIAN),
  14379. Flang: [8]uint8{'s', 'r'},
  14380. },
  14381. 43: {
  14382. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14383. Flanguage_id: uint16(m_TT_MAC_LANGID_MACEDONIAN),
  14384. Flang: [8]uint8{'m', 'k'},
  14385. },
  14386. 44: {
  14387. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14388. Flanguage_id: uint16(m_TT_MAC_LANGID_BULGARIAN),
  14389. Flang: [8]uint8{'b', 'g'},
  14390. },
  14391. 45: {
  14392. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14393. Flanguage_id: uint16(m_TT_MAC_LANGID_UKRAINIAN),
  14394. Flang: [8]uint8{'u', 'k'},
  14395. },
  14396. 46: {
  14397. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14398. Flanguage_id: uint16(m_TT_MAC_LANGID_BYELORUSSIAN),
  14399. Flang: [8]uint8{'b', 'e'},
  14400. },
  14401. 47: {
  14402. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14403. Flanguage_id: uint16(m_TT_MAC_LANGID_UZBEK),
  14404. Flang: [8]uint8{'u', 'z'},
  14405. },
  14406. 48: {
  14407. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14408. Flanguage_id: uint16(m_TT_MAC_LANGID_KAZAKH),
  14409. Flang: [8]uint8{'k', 'k'},
  14410. },
  14411. 49: {
  14412. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14413. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI),
  14414. Flang: [8]uint8{'a', 'z'},
  14415. },
  14416. 50: {
  14417. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14418. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT),
  14419. Flang: [8]uint8{'a', 'z'},
  14420. },
  14421. 51: {
  14422. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14423. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT),
  14424. Flang: [8]uint8{'a', 'r'},
  14425. },
  14426. 52: {
  14427. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14428. Flanguage_id: uint16(m_TT_MAC_LANGID_ARMENIAN),
  14429. Flang: [8]uint8{'h', 'y'},
  14430. },
  14431. 53: {
  14432. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14433. Flanguage_id: uint16(m_TT_MAC_LANGID_GEORGIAN),
  14434. Flang: [8]uint8{'k', 'a'},
  14435. },
  14436. 54: {
  14437. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14438. Flanguage_id: uint16(m_TT_MAC_LANGID_MOLDAVIAN),
  14439. Flang: [8]uint8{'m', 'o'},
  14440. },
  14441. 55: {
  14442. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14443. Flanguage_id: uint16(m_TT_MAC_LANGID_KIRGHIZ),
  14444. Flang: [8]uint8{'k', 'y'},
  14445. },
  14446. 56: {
  14447. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14448. Flanguage_id: uint16(m_TT_MAC_LANGID_TAJIKI),
  14449. Flang: [8]uint8{'t', 'g'},
  14450. },
  14451. 57: {
  14452. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14453. Flanguage_id: uint16(m_TT_MAC_LANGID_TURKMEN),
  14454. Flang: [8]uint8{'t', 'k'},
  14455. },
  14456. 58: {
  14457. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14458. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN),
  14459. Flang: [8]uint8{'m', 'n'},
  14460. },
  14461. 59: {
  14462. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14463. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT),
  14464. Flang: [8]uint8{'m', 'n'},
  14465. },
  14466. 60: {
  14467. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14468. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT),
  14469. Flang: [8]uint8{'m', 'n'},
  14470. },
  14471. 61: {
  14472. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14473. Flanguage_id: uint16(m_TT_MAC_LANGID_PASHTO),
  14474. Flang: [8]uint8{'p', 's'},
  14475. },
  14476. 62: {
  14477. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14478. Flanguage_id: uint16(m_TT_MAC_LANGID_KURDISH),
  14479. Flang: [8]uint8{'k', 'u'},
  14480. },
  14481. 63: {
  14482. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14483. Flanguage_id: uint16(m_TT_MAC_LANGID_KASHMIRI),
  14484. Flang: [8]uint8{'k', 's'},
  14485. },
  14486. 64: {
  14487. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14488. Flanguage_id: uint16(m_TT_MAC_LANGID_SINDHI),
  14489. Flang: [8]uint8{'s', 'd'},
  14490. },
  14491. 65: {
  14492. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14493. Flanguage_id: uint16(m_TT_MAC_LANGID_TIBETAN),
  14494. Flang: [8]uint8{'b', 'o'},
  14495. },
  14496. 66: {
  14497. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14498. Flanguage_id: uint16(m_TT_MAC_LANGID_NEPALI),
  14499. Flang: [8]uint8{'n', 'e'},
  14500. },
  14501. 67: {
  14502. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14503. Flanguage_id: uint16(m_TT_MAC_LANGID_SANSKRIT),
  14504. Flang: [8]uint8{'s', 'a'},
  14505. },
  14506. 68: {
  14507. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14508. Flanguage_id: uint16(m_TT_MAC_LANGID_MARATHI),
  14509. Flang: [8]uint8{'m', 'r'},
  14510. },
  14511. 69: {
  14512. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14513. Flanguage_id: uint16(m_TT_MAC_LANGID_BENGALI),
  14514. Flang: [8]uint8{'b', 'n'},
  14515. },
  14516. 70: {
  14517. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14518. Flanguage_id: uint16(m_TT_MAC_LANGID_ASSAMESE),
  14519. Flang: [8]uint8{'a', 's'},
  14520. },
  14521. 71: {
  14522. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14523. Flanguage_id: uint16(m_TT_MAC_LANGID_GUJARATI),
  14524. Flang: [8]uint8{'g', 'u'},
  14525. },
  14526. 72: {
  14527. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14528. Flanguage_id: uint16(m_TT_MAC_LANGID_PUNJABI),
  14529. Flang: [8]uint8{'p', 'a'},
  14530. },
  14531. 73: {
  14532. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14533. Flanguage_id: uint16(m_TT_MAC_LANGID_ORIYA),
  14534. Flang: [8]uint8{'o', 'r'},
  14535. },
  14536. 74: {
  14537. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14538. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAYALAM),
  14539. Flang: [8]uint8{'m', 'l'},
  14540. },
  14541. 75: {
  14542. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14543. Flanguage_id: uint16(m_TT_MAC_LANGID_KANNADA),
  14544. Flang: [8]uint8{'k', 'n'},
  14545. },
  14546. 76: {
  14547. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14548. Flanguage_id: uint16(m_TT_MAC_LANGID_TAMIL),
  14549. Flang: [8]uint8{'t', 'a'},
  14550. },
  14551. 77: {
  14552. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14553. Flanguage_id: uint16(m_TT_MAC_LANGID_TELUGU),
  14554. Flang: [8]uint8{'t', 'e'},
  14555. },
  14556. 78: {
  14557. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14558. Flanguage_id: uint16(m_TT_MAC_LANGID_SINHALESE),
  14559. Flang: [8]uint8{'s', 'i'},
  14560. },
  14561. 79: {
  14562. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14563. Flanguage_id: uint16(m_TT_MAC_LANGID_BURMESE),
  14564. Flang: [8]uint8{'m', 'y'},
  14565. },
  14566. 80: {
  14567. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14568. Flanguage_id: uint16(m_TT_MAC_LANGID_KHMER),
  14569. Flang: [8]uint8{'k', 'm'},
  14570. },
  14571. 81: {
  14572. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14573. Flanguage_id: uint16(m_TT_MAC_LANGID_LAO),
  14574. Flang: [8]uint8{'l', 'o'},
  14575. },
  14576. 82: {
  14577. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14578. Flanguage_id: uint16(m_TT_MAC_LANGID_VIETNAMESE),
  14579. Flang: [8]uint8{'v', 'i'},
  14580. },
  14581. 83: {
  14582. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14583. Flanguage_id: uint16(m_TT_MAC_LANGID_INDONESIAN),
  14584. Flang: [8]uint8{'i', 'd'},
  14585. },
  14586. 84: {
  14587. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14588. Flanguage_id: uint16(m_TT_MAC_LANGID_TAGALOG),
  14589. Flang: [8]uint8{'t', 'l'},
  14590. },
  14591. 85: {
  14592. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14593. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAY_ROMAN_SCRIPT),
  14594. Flang: [8]uint8{'m', 's'},
  14595. },
  14596. 86: {
  14597. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14598. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAY_ARABIC_SCRIPT),
  14599. Flang: [8]uint8{'m', 's'},
  14600. },
  14601. 87: {
  14602. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14603. Flanguage_id: uint16(m_TT_MAC_LANGID_AMHARIC),
  14604. Flang: [8]uint8{'a', 'm'},
  14605. },
  14606. 88: {
  14607. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14608. Flanguage_id: uint16(m_TT_MAC_LANGID_TIGRINYA),
  14609. Flang: [8]uint8{'t', 'i'},
  14610. },
  14611. 89: {
  14612. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14613. Flanguage_id: uint16(m_TT_MAC_LANGID_GALLA),
  14614. Flang: [8]uint8{'o', 'm'},
  14615. },
  14616. 90: {
  14617. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14618. Flanguage_id: uint16(m_TT_MAC_LANGID_SOMALI),
  14619. Flang: [8]uint8{'s', 'o'},
  14620. },
  14621. 91: {
  14622. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14623. Flanguage_id: uint16(m_TT_MAC_LANGID_SWAHILI),
  14624. Flang: [8]uint8{'s', 'w'},
  14625. },
  14626. 92: {
  14627. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14628. Flanguage_id: uint16(m_TT_MAC_LANGID_RUANDA),
  14629. Flang: [8]uint8{'r', 'w'},
  14630. },
  14631. 93: {
  14632. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14633. Flanguage_id: uint16(m_TT_MAC_LANGID_RUNDI),
  14634. Flang: [8]uint8{'r', 'n'},
  14635. },
  14636. 94: {
  14637. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14638. Flanguage_id: uint16(m_TT_MAC_LANGID_CHEWA),
  14639. Flang: [8]uint8{'n', 'y'},
  14640. },
  14641. 95: {
  14642. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14643. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAGASY),
  14644. Flang: [8]uint8{'m', 'g'},
  14645. },
  14646. 96: {
  14647. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14648. Flanguage_id: uint16(m_TT_MAC_LANGID_ESPERANTO),
  14649. Flang: [8]uint8{'e', 'o'},
  14650. },
  14651. 97: {
  14652. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14653. Flanguage_id: uint16(m_TT_MAC_LANGID_WELSH),
  14654. Flang: [8]uint8{'c', 'y'},
  14655. },
  14656. 98: {
  14657. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14658. Flanguage_id: uint16(m_TT_MAC_LANGID_BASQUE),
  14659. Flang: [8]uint8{'e', 'u'},
  14660. },
  14661. 99: {
  14662. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14663. Flanguage_id: uint16(m_TT_MAC_LANGID_CATALAN),
  14664. Flang: [8]uint8{'c', 'a'},
  14665. },
  14666. 100: {
  14667. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14668. Flanguage_id: uint16(m_TT_MAC_LANGID_LATIN),
  14669. Flang: [8]uint8{'l', 'a'},
  14670. },
  14671. 101: {
  14672. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14673. Flanguage_id: uint16(m_TT_MAC_LANGID_QUECHUA),
  14674. Flang: [8]uint8{'q', 'u'},
  14675. },
  14676. 102: {
  14677. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14678. Flanguage_id: uint16(m_TT_MAC_LANGID_GUARANI),
  14679. Flang: [8]uint8{'g', 'n'},
  14680. },
  14681. 103: {
  14682. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14683. Flanguage_id: uint16(m_TT_MAC_LANGID_AYMARA),
  14684. Flang: [8]uint8{'a', 'y'},
  14685. },
  14686. 104: {
  14687. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14688. Flanguage_id: uint16(m_TT_MAC_LANGID_TATAR),
  14689. Flang: [8]uint8{'t', 't'},
  14690. },
  14691. 105: {
  14692. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14693. Flanguage_id: uint16(m_TT_MAC_LANGID_UIGHUR),
  14694. Flang: [8]uint8{'u', 'g'},
  14695. },
  14696. 106: {
  14697. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14698. Flanguage_id: uint16(m_TT_MAC_LANGID_DZONGKHA),
  14699. Flang: [8]uint8{'d', 'z'},
  14700. },
  14701. 107: {
  14702. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14703. Flanguage_id: uint16(m_TT_MAC_LANGID_JAVANESE),
  14704. Flang: [8]uint8{'j', 'w'},
  14705. },
  14706. 108: {
  14707. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14708. Flanguage_id: uint16(m_TT_MAC_LANGID_SUNDANESE),
  14709. Flang: [8]uint8{'s', 'u'},
  14710. },
  14711. 109: {
  14712. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14713. Flanguage_id: uint16(m_TT_MAC_LANGID_GALICIAN),
  14714. Flang: [8]uint8{'g', 'l'},
  14715. },
  14716. 110: {
  14717. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14718. Flanguage_id: uint16(m_TT_MAC_LANGID_AFRIKAANS),
  14719. Flang: [8]uint8{'a', 'f'},
  14720. },
  14721. 111: {
  14722. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14723. Flanguage_id: uint16(m_TT_MAC_LANGID_BRETON),
  14724. Flang: [8]uint8{'b', 'r'},
  14725. },
  14726. 112: {
  14727. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14728. Flanguage_id: uint16(m_TT_MAC_LANGID_INUKTITUT),
  14729. Flang: [8]uint8{'i', 'u'},
  14730. },
  14731. 113: {
  14732. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14733. Flanguage_id: uint16(m_TT_MAC_LANGID_SCOTTISH_GAELIC),
  14734. Flang: [8]uint8{'g', 'd'},
  14735. },
  14736. 114: {
  14737. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14738. Flanguage_id: uint16(m_TT_MAC_LANGID_MANX_GAELIC),
  14739. Flang: [8]uint8{'g', 'v'},
  14740. },
  14741. 115: {
  14742. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14743. Flanguage_id: uint16(m_TT_MAC_LANGID_IRISH_GAELIC),
  14744. Flang: [8]uint8{'g', 'a'},
  14745. },
  14746. 116: {
  14747. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14748. Flanguage_id: uint16(m_TT_MAC_LANGID_TONGAN),
  14749. Flang: [8]uint8{'t', 'o'},
  14750. },
  14751. 117: {
  14752. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14753. Flanguage_id: uint16(m_TT_MAC_LANGID_GREEK_POLYTONIC),
  14754. Flang: [8]uint8{'e', 'l'},
  14755. },
  14756. 118: {
  14757. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14758. Flanguage_id: uint16(m_TT_MAC_LANGID_GREELANDIC),
  14759. Flang: [8]uint8{'i', 'k'},
  14760. },
  14761. 119: {
  14762. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  14763. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT),
  14764. Flang: [8]uint8{'a', 'z'},
  14765. },
  14766. 120: {
  14767. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14768. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_SAUDI_ARABIA),
  14769. Flang: [8]uint8{'a', 'r'},
  14770. },
  14771. 121: {
  14772. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14773. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_IRAQ),
  14774. Flang: [8]uint8{'a', 'r'},
  14775. },
  14776. 122: {
  14777. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14778. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_EGYPT),
  14779. Flang: [8]uint8{'a', 'r'},
  14780. },
  14781. 123: {
  14782. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14783. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_LIBYA),
  14784. Flang: [8]uint8{'a', 'r'},
  14785. },
  14786. 124: {
  14787. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14788. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_ALGERIA),
  14789. Flang: [8]uint8{'a', 'r'},
  14790. },
  14791. 125: {
  14792. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14793. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_MOROCCO),
  14794. Flang: [8]uint8{'a', 'r'},
  14795. },
  14796. 126: {
  14797. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14798. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_TUNISIA),
  14799. Flang: [8]uint8{'a', 'r'},
  14800. },
  14801. 127: {
  14802. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14803. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_OMAN),
  14804. Flang: [8]uint8{'a', 'r'},
  14805. },
  14806. 128: {
  14807. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14808. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_YEMEN),
  14809. Flang: [8]uint8{'a', 'r'},
  14810. },
  14811. 129: {
  14812. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14813. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_SYRIA),
  14814. Flang: [8]uint8{'a', 'r'},
  14815. },
  14816. 130: {
  14817. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14818. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_JORDAN),
  14819. Flang: [8]uint8{'a', 'r'},
  14820. },
  14821. 131: {
  14822. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14823. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_LEBANON),
  14824. Flang: [8]uint8{'a', 'r'},
  14825. },
  14826. 132: {
  14827. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14828. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_KUWAIT),
  14829. Flang: [8]uint8{'a', 'r'},
  14830. },
  14831. 133: {
  14832. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14833. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_UAE),
  14834. Flang: [8]uint8{'a', 'r'},
  14835. },
  14836. 134: {
  14837. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14838. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_BAHRAIN),
  14839. Flang: [8]uint8{'a', 'r'},
  14840. },
  14841. 135: {
  14842. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14843. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_QATAR),
  14844. Flang: [8]uint8{'a', 'r'},
  14845. },
  14846. 136: {
  14847. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14848. Flanguage_id: uint16(m_TT_MS_LANGID_BULGARIAN_BULGARIA),
  14849. Flang: [8]uint8{'b', 'g'},
  14850. },
  14851. 137: {
  14852. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14853. Flanguage_id: uint16(m_TT_MS_LANGID_CATALAN_CATALAN),
  14854. Flang: [8]uint8{'c', 'a'},
  14855. },
  14856. 138: {
  14857. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14858. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_TAIWAN),
  14859. Flang: [8]uint8{'z', 'h', '-', 't', 'w'},
  14860. },
  14861. 139: {
  14862. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14863. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_PRC),
  14864. Flang: [8]uint8{'z', 'h', '-', 'c', 'n'},
  14865. },
  14866. 140: {
  14867. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14868. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_HONG_KONG),
  14869. Flang: [8]uint8{'z', 'h', '-', 'h', 'k'},
  14870. },
  14871. 141: {
  14872. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14873. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_SINGAPORE),
  14874. Flang: [8]uint8{'z', 'h', '-', 's', 'g'},
  14875. },
  14876. 142: {
  14877. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14878. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_MACAO),
  14879. Flang: [8]uint8{'z', 'h', '-', 'm', 'o'},
  14880. },
  14881. 143: {
  14882. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14883. Flanguage_id: uint16(m_TT_MS_LANGID_CZECH_CZECH_REPUBLIC),
  14884. Flang: [8]uint8{'c', 's'},
  14885. },
  14886. 144: {
  14887. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14888. Flanguage_id: uint16(m_TT_MS_LANGID_DANISH_DENMARK),
  14889. Flang: [8]uint8{'d', 'a'},
  14890. },
  14891. 145: {
  14892. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14893. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_GERMANY),
  14894. Flang: [8]uint8{'d', 'e'},
  14895. },
  14896. 146: {
  14897. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14898. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_SWITZERLAND),
  14899. Flang: [8]uint8{'d', 'e'},
  14900. },
  14901. 147: {
  14902. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14903. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_AUSTRIA),
  14904. Flang: [8]uint8{'d', 'e'},
  14905. },
  14906. 148: {
  14907. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14908. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_LUXEMBOURG),
  14909. Flang: [8]uint8{'d', 'e'},
  14910. },
  14911. 149: {
  14912. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14913. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_LIECHTENSTEIN),
  14914. Flang: [8]uint8{'d', 'e'},
  14915. },
  14916. 150: {
  14917. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14918. Flanguage_id: uint16(m_TT_MS_LANGID_GREEK_GREECE),
  14919. Flang: [8]uint8{'e', 'l'},
  14920. },
  14921. 151: {
  14922. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14923. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_STATES),
  14924. Flang: [8]uint8{'e', 'n'},
  14925. },
  14926. 152: {
  14927. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14928. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_KINGDOM),
  14929. Flang: [8]uint8{'e', 'n'},
  14930. },
  14931. 153: {
  14932. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14933. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_AUSTRALIA),
  14934. Flang: [8]uint8{'e', 'n'},
  14935. },
  14936. 154: {
  14937. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14938. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_CANADA),
  14939. Flang: [8]uint8{'e', 'n'},
  14940. },
  14941. 155: {
  14942. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14943. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_NEW_ZEALAND),
  14944. Flang: [8]uint8{'e', 'n'},
  14945. },
  14946. 156: {
  14947. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14948. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_IRELAND),
  14949. Flang: [8]uint8{'e', 'n'},
  14950. },
  14951. 157: {
  14952. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14953. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_SOUTH_AFRICA),
  14954. Flang: [8]uint8{'e', 'n'},
  14955. },
  14956. 158: {
  14957. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14958. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_JAMAICA),
  14959. Flang: [8]uint8{'e', 'n'},
  14960. },
  14961. 159: {
  14962. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14963. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_CARIBBEAN),
  14964. Flang: [8]uint8{'e', 'n'},
  14965. },
  14966. 160: {
  14967. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14968. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_BELIZE),
  14969. Flang: [8]uint8{'e', 'n'},
  14970. },
  14971. 161: {
  14972. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14973. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_TRINIDAD),
  14974. Flang: [8]uint8{'e', 'n'},
  14975. },
  14976. 162: {
  14977. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14978. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_ZIMBABWE),
  14979. Flang: [8]uint8{'e', 'n'},
  14980. },
  14981. 163: {
  14982. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14983. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_PHILIPPINES),
  14984. Flang: [8]uint8{'e', 'n'},
  14985. },
  14986. 164: {
  14987. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14988. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT),
  14989. Flang: [8]uint8{'e', 's'},
  14990. },
  14991. 165: {
  14992. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14993. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_MEXICO),
  14994. Flang: [8]uint8{'e', 's'},
  14995. },
  14996. 166: {
  14997. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14998. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT),
  14999. Flang: [8]uint8{'e', 's'},
  15000. },
  15001. 167: {
  15002. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15003. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_GUATEMALA),
  15004. Flang: [8]uint8{'e', 's'},
  15005. },
  15006. 168: {
  15007. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15008. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_COSTA_RICA),
  15009. Flang: [8]uint8{'e', 's'},
  15010. },
  15011. 169: {
  15012. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15013. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PANAMA),
  15014. Flang: [8]uint8{'e', 's'},
  15015. },
  15016. 170: {
  15017. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15018. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC),
  15019. Flang: [8]uint8{'e', 's'},
  15020. },
  15021. 171: {
  15022. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15023. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_VENEZUELA),
  15024. Flang: [8]uint8{'e', 's'},
  15025. },
  15026. 172: {
  15027. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15028. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_COLOMBIA),
  15029. Flang: [8]uint8{'e', 's'},
  15030. },
  15031. 173: {
  15032. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15033. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PERU),
  15034. Flang: [8]uint8{'e', 's'},
  15035. },
  15036. 174: {
  15037. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15038. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_ARGENTINA),
  15039. Flang: [8]uint8{'e', 's'},
  15040. },
  15041. 175: {
  15042. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15043. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_ECUADOR),
  15044. Flang: [8]uint8{'e', 's'},
  15045. },
  15046. 176: {
  15047. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15048. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_CHILE),
  15049. Flang: [8]uint8{'e', 's'},
  15050. },
  15051. 177: {
  15052. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15053. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_URUGUAY),
  15054. Flang: [8]uint8{'e', 's'},
  15055. },
  15056. 178: {
  15057. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15058. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PARAGUAY),
  15059. Flang: [8]uint8{'e', 's'},
  15060. },
  15061. 179: {
  15062. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15063. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_BOLIVIA),
  15064. Flang: [8]uint8{'e', 's'},
  15065. },
  15066. 180: {
  15067. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15068. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_EL_SALVADOR),
  15069. Flang: [8]uint8{'e', 's'},
  15070. },
  15071. 181: {
  15072. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15073. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_HONDURAS),
  15074. Flang: [8]uint8{'e', 's'},
  15075. },
  15076. 182: {
  15077. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15078. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_NICARAGUA),
  15079. Flang: [8]uint8{'e', 's'},
  15080. },
  15081. 183: {
  15082. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15083. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PUERTO_RICO),
  15084. Flang: [8]uint8{'e', 's'},
  15085. },
  15086. 184: {
  15087. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15088. Flanguage_id: uint16(m_TT_MS_LANGID_FINNISH_FINLAND),
  15089. Flang: [8]uint8{'f', 'i'},
  15090. },
  15091. 185: {
  15092. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15093. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_FRANCE),
  15094. Flang: [8]uint8{'f', 'r'},
  15095. },
  15096. 186: {
  15097. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15098. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_BELGIUM),
  15099. Flang: [8]uint8{'f', 'r'},
  15100. },
  15101. 187: {
  15102. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15103. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CANADA),
  15104. Flang: [8]uint8{'f', 'r'},
  15105. },
  15106. 188: {
  15107. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15108. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_SWITZERLAND),
  15109. Flang: [8]uint8{'f', 'r'},
  15110. },
  15111. 189: {
  15112. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15113. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_LUXEMBOURG),
  15114. Flang: [8]uint8{'f', 'r'},
  15115. },
  15116. 190: {
  15117. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15118. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MONACO),
  15119. Flang: [8]uint8{'f', 'r'},
  15120. },
  15121. 191: {
  15122. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15123. Flanguage_id: uint16(m_TT_MS_LANGID_HEBREW_ISRAEL),
  15124. Flang: [8]uint8{'h', 'e'},
  15125. },
  15126. 192: {
  15127. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15128. Flanguage_id: uint16(m_TT_MS_LANGID_HUNGARIAN_HUNGARY),
  15129. Flang: [8]uint8{'h', 'u'},
  15130. },
  15131. 193: {
  15132. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15133. Flanguage_id: uint16(m_TT_MS_LANGID_ICELANDIC_ICELAND),
  15134. Flang: [8]uint8{'i', 's'},
  15135. },
  15136. 194: {
  15137. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15138. Flanguage_id: uint16(m_TT_MS_LANGID_ITALIAN_ITALY),
  15139. Flang: [8]uint8{'i', 't'},
  15140. },
  15141. 195: {
  15142. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15143. Flanguage_id: uint16(m_TT_MS_LANGID_ITALIAN_SWITZERLAND),
  15144. Flang: [8]uint8{'i', 't'},
  15145. },
  15146. 196: {
  15147. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15148. Flanguage_id: uint16(m_TT_MS_LANGID_JAPANESE_JAPAN),
  15149. Flang: [8]uint8{'j', 'a'},
  15150. },
  15151. 197: {
  15152. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15153. Flanguage_id: uint16(m_TT_MS_LANGID_KOREAN_KOREA),
  15154. Flang: [8]uint8{'k', 'o'},
  15155. },
  15156. 198: {
  15157. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15158. Flanguage_id: uint16(m_TT_MS_LANGID_KOREAN_JOHAB_KOREA),
  15159. Flang: [8]uint8{'k', 'o'},
  15160. },
  15161. 199: {
  15162. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15163. Flanguage_id: uint16(m_TT_MS_LANGID_DUTCH_NETHERLANDS),
  15164. Flang: [8]uint8{'n', 'l'},
  15165. },
  15166. 200: {
  15167. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15168. Flanguage_id: uint16(m_TT_MS_LANGID_DUTCH_BELGIUM),
  15169. Flang: [8]uint8{'n', 'l'},
  15170. },
  15171. 201: {
  15172. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15173. Flanguage_id: uint16(m_TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL),
  15174. Flang: [8]uint8{'n', 'o'},
  15175. },
  15176. 202: {
  15177. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15178. Flanguage_id: uint16(m_TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK),
  15179. Flang: [8]uint8{'n', 'n'},
  15180. },
  15181. 203: {
  15182. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15183. Flanguage_id: uint16(m_TT_MS_LANGID_POLISH_POLAND),
  15184. Flang: [8]uint8{'p', 'l'},
  15185. },
  15186. 204: {
  15187. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15188. Flanguage_id: uint16(m_TT_MS_LANGID_PORTUGUESE_BRAZIL),
  15189. Flang: [8]uint8{'p', 't'},
  15190. },
  15191. 205: {
  15192. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15193. Flanguage_id: uint16(m_TT_MS_LANGID_PORTUGUESE_PORTUGAL),
  15194. Flang: [8]uint8{'p', 't'},
  15195. },
  15196. 206: {
  15197. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15198. Flanguage_id: uint16(m_TT_MS_LANGID_ROMANSH_SWITZERLAND),
  15199. Flang: [8]uint8{'r', 'm'},
  15200. },
  15201. 207: {
  15202. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15203. Flanguage_id: uint16(m_TT_MS_LANGID_ROMANIAN_ROMANIA),
  15204. Flang: [8]uint8{'r', 'o'},
  15205. },
  15206. 208: {
  15207. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15208. Flanguage_id: uint16(m_TT_MS_LANGID_MOLDAVIAN_MOLDAVIA),
  15209. Flang: [8]uint8{'m', 'o'},
  15210. },
  15211. 209: {
  15212. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15213. Flanguage_id: uint16(m_TT_MS_LANGID_RUSSIAN_RUSSIA),
  15214. Flang: [8]uint8{'r', 'u'},
  15215. },
  15216. 210: {
  15217. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15218. Flanguage_id: uint16(m_TT_MS_LANGID_RUSSIAN_MOLDAVIA),
  15219. Flang: [8]uint8{'r', 'u'},
  15220. },
  15221. 211: {
  15222. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15223. Flanguage_id: uint16(m_TT_MS_LANGID_CROATIAN_CROATIA),
  15224. Flang: [8]uint8{'h', 'r'},
  15225. },
  15226. 212: {
  15227. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15228. Flanguage_id: uint16(m_TT_MS_LANGID_SERBIAN_SERBIA_LATIN),
  15229. Flang: [8]uint8{'s', 'r'},
  15230. },
  15231. 213: {
  15232. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15233. Flanguage_id: uint16(m_TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC),
  15234. Flang: [8]uint8{'s', 'r'},
  15235. },
  15236. 214: {
  15237. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15238. Flanguage_id: uint16(m_TT_MS_LANGID_SLOVAK_SLOVAKIA),
  15239. Flang: [8]uint8{'s', 'k'},
  15240. },
  15241. 215: {
  15242. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15243. Flanguage_id: uint16(m_TT_MS_LANGID_ALBANIAN_ALBANIA),
  15244. Flang: [8]uint8{'s', 'q'},
  15245. },
  15246. 216: {
  15247. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15248. Flanguage_id: uint16(m_TT_MS_LANGID_SWEDISH_SWEDEN),
  15249. Flang: [8]uint8{'s', 'v'},
  15250. },
  15251. 217: {
  15252. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15253. Flanguage_id: uint16(m_TT_MS_LANGID_SWEDISH_FINLAND),
  15254. Flang: [8]uint8{'s', 'v'},
  15255. },
  15256. 218: {
  15257. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15258. Flanguage_id: uint16(m_TT_MS_LANGID_THAI_THAILAND),
  15259. Flang: [8]uint8{'t', 'h'},
  15260. },
  15261. 219: {
  15262. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15263. Flanguage_id: uint16(m_TT_MS_LANGID_TURKISH_TURKEY),
  15264. Flang: [8]uint8{'t', 'r'},
  15265. },
  15266. 220: {
  15267. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15268. Flanguage_id: uint16(m_TT_MS_LANGID_URDU_PAKISTAN),
  15269. Flang: [8]uint8{'u', 'r'},
  15270. },
  15271. 221: {
  15272. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15273. Flanguage_id: uint16(m_TT_MS_LANGID_INDONESIAN_INDONESIA),
  15274. Flang: [8]uint8{'i', 'd'},
  15275. },
  15276. 222: {
  15277. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15278. Flanguage_id: uint16(m_TT_MS_LANGID_UKRAINIAN_UKRAINE),
  15279. Flang: [8]uint8{'u', 'k'},
  15280. },
  15281. 223: {
  15282. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15283. Flanguage_id: uint16(m_TT_MS_LANGID_BELARUSIAN_BELARUS),
  15284. Flang: [8]uint8{'b', 'e'},
  15285. },
  15286. 224: {
  15287. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15288. Flanguage_id: uint16(m_TT_MS_LANGID_SLOVENIAN_SLOVENIA),
  15289. Flang: [8]uint8{'s', 'l'},
  15290. },
  15291. 225: {
  15292. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15293. Flanguage_id: uint16(m_TT_MS_LANGID_ESTONIAN_ESTONIA),
  15294. Flang: [8]uint8{'e', 't'},
  15295. },
  15296. 226: {
  15297. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15298. Flanguage_id: uint16(m_TT_MS_LANGID_LATVIAN_LATVIA),
  15299. Flang: [8]uint8{'l', 'v'},
  15300. },
  15301. 227: {
  15302. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15303. Flanguage_id: uint16(m_TT_MS_LANGID_LITHUANIAN_LITHUANIA),
  15304. Flang: [8]uint8{'l', 't'},
  15305. },
  15306. 228: {
  15307. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15308. Flanguage_id: uint16(m_TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA),
  15309. Flang: [8]uint8{'l', 't'},
  15310. },
  15311. 229: {
  15312. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15313. Flanguage_id: uint16(m_TT_MS_LANGID_MAORI_NEW_ZEALAND),
  15314. Flang: [8]uint8{'m', 'i'},
  15315. },
  15316. 230: {
  15317. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15318. Flanguage_id: uint16(m_TT_MS_LANGID_FARSI_IRAN),
  15319. Flang: [8]uint8{'f', 'a'},
  15320. },
  15321. 231: {
  15322. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15323. Flanguage_id: uint16(m_TT_MS_LANGID_VIETNAMESE_VIET_NAM),
  15324. Flang: [8]uint8{'v', 'i'},
  15325. },
  15326. 232: {
  15327. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15328. Flanguage_id: uint16(m_TT_MS_LANGID_ARMENIAN_ARMENIA),
  15329. Flang: [8]uint8{'h', 'y'},
  15330. },
  15331. 233: {
  15332. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15333. Flanguage_id: uint16(m_TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN),
  15334. Flang: [8]uint8{'a', 'z'},
  15335. },
  15336. 234: {
  15337. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15338. Flanguage_id: uint16(m_TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC),
  15339. Flang: [8]uint8{'a', 'z'},
  15340. },
  15341. 235: {
  15342. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15343. Flanguage_id: uint16(m_TT_MS_LANGID_BASQUE_BASQUE),
  15344. Flang: [8]uint8{'e', 'u'},
  15345. },
  15346. 236: {
  15347. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15348. Flanguage_id: uint16(m_TT_MS_LANGID_UPPER_SORBIAN_GERMANY),
  15349. Flang: [8]uint8{'w', 'e', 'n'},
  15350. },
  15351. 237: {
  15352. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15353. Flanguage_id: uint16(m_TT_MS_LANGID_MACEDONIAN_MACEDONIA),
  15354. Flang: [8]uint8{'m', 'k'},
  15355. },
  15356. 238: {
  15357. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15358. Flanguage_id: uint16(m_TT_MS_LANGID_SUTU_SOUTH_AFRICA),
  15359. Flang: [8]uint8{'s', 't'},
  15360. },
  15361. 239: {
  15362. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15363. Flanguage_id: uint16(m_TT_MS_LANGID_TSONGA_SOUTH_AFRICA),
  15364. Flang: [8]uint8{'t', 's'},
  15365. },
  15366. 240: {
  15367. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15368. Flanguage_id: uint16(m_TT_MS_LANGID_SETSWANA_SOUTH_AFRICA),
  15369. Flang: [8]uint8{'t', 'n'},
  15370. },
  15371. 241: {
  15372. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15373. Flanguage_id: uint16(m_TT_MS_LANGID_VENDA_SOUTH_AFRICA),
  15374. Flang: [8]uint8{'v', 'e', 'n'},
  15375. },
  15376. 242: {
  15377. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15378. Flanguage_id: uint16(m_TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA),
  15379. Flang: [8]uint8{'x', 'h'},
  15380. },
  15381. 243: {
  15382. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15383. Flanguage_id: uint16(m_TT_MS_LANGID_ISIZULU_SOUTH_AFRICA),
  15384. Flang: [8]uint8{'z', 'u'},
  15385. },
  15386. 244: {
  15387. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15388. Flanguage_id: uint16(m_TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA),
  15389. Flang: [8]uint8{'a', 'f'},
  15390. },
  15391. 245: {
  15392. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15393. Flanguage_id: uint16(m_TT_MS_LANGID_GEORGIAN_GEORGIA),
  15394. Flang: [8]uint8{'k', 'a'},
  15395. },
  15396. 246: {
  15397. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15398. Flanguage_id: uint16(m_TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS),
  15399. Flang: [8]uint8{'f', 'o'},
  15400. },
  15401. 247: {
  15402. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15403. Flanguage_id: uint16(m_TT_MS_LANGID_HINDI_INDIA),
  15404. Flang: [8]uint8{'h', 'i'},
  15405. },
  15406. 248: {
  15407. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15408. Flanguage_id: uint16(m_TT_MS_LANGID_MALTESE_MALTA),
  15409. Flang: [8]uint8{'m', 't'},
  15410. },
  15411. 249: {
  15412. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15413. Flanguage_id: uint16(m_TT_MS_LANGID_SAAMI_LAPONIA),
  15414. Flang: [8]uint8{'s', 'e'},
  15415. },
  15416. 250: {
  15417. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15418. Flanguage_id: uint16(m_TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM),
  15419. Flang: [8]uint8{'g', 'd'},
  15420. },
  15421. 251: {
  15422. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15423. Flanguage_id: uint16(m_TT_MS_LANGID_IRISH_GAELIC_IRELAND),
  15424. Flang: [8]uint8{'g', 'a'},
  15425. },
  15426. 252: {
  15427. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15428. Flanguage_id: uint16(m_TT_MS_LANGID_MALAY_MALAYSIA),
  15429. Flang: [8]uint8{'m', 's'},
  15430. },
  15431. 253: {
  15432. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15433. Flanguage_id: uint16(m_TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM),
  15434. Flang: [8]uint8{'m', 's'},
  15435. },
  15436. 254: {
  15437. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15438. Flanguage_id: uint16(m_TT_MS_LANGID_KAZAKH_KAZAKHSTAN),
  15439. Flang: [8]uint8{'k', 'k'},
  15440. },
  15441. 255: {
  15442. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15443. Flanguage_id: uint16(m_TT_MS_LANGID_KISWAHILI_KENYA),
  15444. Flang: [8]uint8{'s', 'w'},
  15445. },
  15446. 256: {
  15447. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15448. Flanguage_id: uint16(m_TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN),
  15449. Flang: [8]uint8{'u', 'z'},
  15450. },
  15451. 257: {
  15452. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15453. Flanguage_id: uint16(m_TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC),
  15454. Flang: [8]uint8{'u', 'z'},
  15455. },
  15456. 258: {
  15457. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15458. Flanguage_id: uint16(m_TT_MS_LANGID_TATAR_RUSSIA),
  15459. Flang: [8]uint8{'t', 't'},
  15460. },
  15461. 259: {
  15462. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15463. Flanguage_id: uint16(m_TT_MS_LANGID_BENGALI_INDIA),
  15464. Flang: [8]uint8{'b', 'n'},
  15465. },
  15466. 260: {
  15467. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15468. Flanguage_id: uint16(m_TT_MS_LANGID_PUNJABI_INDIA),
  15469. Flang: [8]uint8{'p', 'a'},
  15470. },
  15471. 261: {
  15472. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15473. Flanguage_id: uint16(m_TT_MS_LANGID_GUJARATI_INDIA),
  15474. Flang: [8]uint8{'g', 'u'},
  15475. },
  15476. 262: {
  15477. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15478. Flanguage_id: uint16(m_TT_MS_LANGID_ODIA_INDIA),
  15479. Flang: [8]uint8{'o', 'r'},
  15480. },
  15481. 263: {
  15482. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15483. Flanguage_id: uint16(m_TT_MS_LANGID_TAMIL_INDIA),
  15484. Flang: [8]uint8{'t', 'a'},
  15485. },
  15486. 264: {
  15487. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15488. Flanguage_id: uint16(m_TT_MS_LANGID_TELUGU_INDIA),
  15489. Flang: [8]uint8{'t', 'e'},
  15490. },
  15491. 265: {
  15492. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15493. Flanguage_id: uint16(m_TT_MS_LANGID_KANNADA_INDIA),
  15494. Flang: [8]uint8{'k', 'n'},
  15495. },
  15496. 266: {
  15497. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15498. Flanguage_id: uint16(m_TT_MS_LANGID_MALAYALAM_INDIA),
  15499. Flang: [8]uint8{'m', 'l'},
  15500. },
  15501. 267: {
  15502. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15503. Flanguage_id: uint16(m_TT_MS_LANGID_ASSAMESE_INDIA),
  15504. Flang: [8]uint8{'a', 's'},
  15505. },
  15506. 268: {
  15507. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15508. Flanguage_id: uint16(m_TT_MS_LANGID_MARATHI_INDIA),
  15509. Flang: [8]uint8{'m', 'r'},
  15510. },
  15511. 269: {
  15512. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15513. Flanguage_id: uint16(m_TT_MS_LANGID_SANSKRIT_INDIA),
  15514. Flang: [8]uint8{'s', 'a'},
  15515. },
  15516. 270: {
  15517. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15518. Flanguage_id: uint16(m_TT_MS_LANGID_KONKANI_INDIA),
  15519. Flang: [8]uint8{'k', 'o', 'k'},
  15520. },
  15521. 271: {
  15522. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15523. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_GENERAL),
  15524. Flang: [8]uint8{'a', 'r'},
  15525. },
  15526. 272: {
  15527. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15528. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_GENERAL),
  15529. Flang: [8]uint8{'z', 'h'},
  15530. },
  15531. 273: {
  15532. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15533. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_GENERAL),
  15534. Flang: [8]uint8{'e', 'n'},
  15535. },
  15536. 274: {
  15537. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15538. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_WEST_INDIES),
  15539. Flang: [8]uint8{'f', 'r'},
  15540. },
  15541. 275: {
  15542. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15543. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_REUNION),
  15544. Flang: [8]uint8{'f', 'r'},
  15545. },
  15546. 276: {
  15547. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15548. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CONGO),
  15549. Flang: [8]uint8{'f', 'r'},
  15550. },
  15551. 277: {
  15552. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15553. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_SENEGAL),
  15554. Flang: [8]uint8{'f', 'r'},
  15555. },
  15556. 278: {
  15557. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15558. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CAMEROON),
  15559. Flang: [8]uint8{'f', 'r'},
  15560. },
  15561. 279: {
  15562. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15563. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_COTE_D_IVOIRE),
  15564. Flang: [8]uint8{'f', 'r'},
  15565. },
  15566. 280: {
  15567. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15568. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MALI),
  15569. Flang: [8]uint8{'f', 'r'},
  15570. },
  15571. 281: {
  15572. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15573. Flanguage_id: uint16(m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA),
  15574. Flang: [8]uint8{'b', 's'},
  15575. },
  15576. 282: {
  15577. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15578. Flanguage_id: uint16(m_TT_MS_LANGID_URDU_INDIA),
  15579. Flang: [8]uint8{'u', 'r'},
  15580. },
  15581. 283: {
  15582. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15583. Flanguage_id: uint16(m_TT_MS_LANGID_TAJIK_TAJIKISTAN),
  15584. Flang: [8]uint8{'t', 'g'},
  15585. },
  15586. 284: {
  15587. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15588. Flanguage_id: uint16(m_TT_MS_LANGID_YIDDISH_GERMANY),
  15589. Flang: [8]uint8{'y', 'i'},
  15590. },
  15591. 285: {
  15592. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15593. Flanguage_id: uint16(m_TT_MS_LANGID_KYRGYZ_KYRGYZSTAN),
  15594. Flang: [8]uint8{'k', 'y'},
  15595. },
  15596. 286: {
  15597. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15598. Flanguage_id: uint16(m_TT_MS_LANGID_TURKMEN_TURKMENISTAN),
  15599. Flang: [8]uint8{'t', 'k'},
  15600. },
  15601. 287: {
  15602. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15603. Flanguage_id: uint16(m_TT_MS_LANGID_MONGOLIAN_MONGOLIA),
  15604. Flang: [8]uint8{'m', 'n'},
  15605. },
  15606. 288: {
  15607. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15608. Flanguage_id: uint16(m_TT_MS_LANGID_DZONGHKA_BHUTAN),
  15609. Flang: [8]uint8{'b', 'o'},
  15610. },
  15611. 289: {
  15612. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15613. Flanguage_id: uint16(m_TT_MS_LANGID_TIBETAN_PRC),
  15614. Flang: [8]uint8{'b', 'o'},
  15615. },
  15616. 290: {
  15617. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15618. Flanguage_id: uint16(m_TT_MS_LANGID_DZONGHKA_BHUTAN),
  15619. Flang: [8]uint8{'d', 'z'},
  15620. },
  15621. 291: {
  15622. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15623. Flanguage_id: uint16(m_TT_MS_LANGID_WELSH_UNITED_KINGDOM),
  15624. Flang: [8]uint8{'c', 'y'},
  15625. },
  15626. 292: {
  15627. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15628. Flanguage_id: uint16(m_TT_MS_LANGID_KHMER_CAMBODIA),
  15629. Flang: [8]uint8{'k', 'm'},
  15630. },
  15631. 293: {
  15632. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15633. Flanguage_id: uint16(m_TT_MS_LANGID_LAO_LAOS),
  15634. Flang: [8]uint8{'l', 'o'},
  15635. },
  15636. 294: {
  15637. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15638. Flanguage_id: uint16(m_TT_MS_LANGID_BURMESE_MYANMAR),
  15639. Flang: [8]uint8{'m', 'y'},
  15640. },
  15641. 295: {
  15642. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15643. Flanguage_id: uint16(m_TT_MS_LANGID_GALICIAN_GALICIAN),
  15644. Flang: [8]uint8{'g', 'l'},
  15645. },
  15646. 296: {
  15647. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15648. Flanguage_id: uint16(m_TT_MS_LANGID_MANIPURI_INDIA),
  15649. Flang: [8]uint8{'m', 'n', 'i'},
  15650. },
  15651. 297: {
  15652. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15653. Flanguage_id: uint16(m_TT_MS_LANGID_SINDHI_INDIA),
  15654. Flang: [8]uint8{'s', 'd'},
  15655. },
  15656. 298: {
  15657. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15658. Flanguage_id: uint16(m_TT_MS_LANGID_KASHMIRI_PAKISTAN),
  15659. Flang: [8]uint8{'k', 's'},
  15660. },
  15661. 299: {
  15662. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15663. Flanguage_id: uint16(m_TT_MS_LANGID_KASHMIRI_SASIA),
  15664. Flang: [8]uint8{'k', 's'},
  15665. },
  15666. 300: {
  15667. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15668. Flanguage_id: uint16(m_TT_MS_LANGID_NEPALI_NEPAL),
  15669. Flang: [8]uint8{'n', 'e'},
  15670. },
  15671. 301: {
  15672. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15673. Flanguage_id: uint16(m_TT_MS_LANGID_NEPALI_INDIA),
  15674. Flang: [8]uint8{'n', 'e'},
  15675. },
  15676. 302: {
  15677. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15678. Flanguage_id: uint16(m_TT_MS_LANGID_FRISIAN_NETHERLANDS),
  15679. Flang: [8]uint8{'f', 'y'},
  15680. },
  15681. 303: {
  15682. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15683. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_HONG_KONG),
  15684. Flang: [8]uint8{'e', 'n'},
  15685. },
  15686. 304: {
  15687. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15688. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_INDIA),
  15689. Flang: [8]uint8{'e', 'n'},
  15690. },
  15691. 305: {
  15692. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15693. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_MALAYSIA),
  15694. Flang: [8]uint8{'e', 'n'},
  15695. },
  15696. 306: {
  15697. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15698. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_SINGAPORE),
  15699. Flang: [8]uint8{'e', 'n'},
  15700. },
  15701. 307: {
  15702. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15703. Flanguage_id: uint16(m_TT_MS_LANGID_SYRIAC_SYRIA),
  15704. Flang: [8]uint8{'s', 'y', 'r'},
  15705. },
  15706. 308: {
  15707. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15708. Flanguage_id: uint16(m_TT_MS_LANGID_SINHALA_SRI_LANKA),
  15709. Flang: [8]uint8{'s', 'i'},
  15710. },
  15711. 309: {
  15712. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15713. Flanguage_id: uint16(m_TT_MS_LANGID_CHEROKEE_UNITED_STATES),
  15714. Flang: [8]uint8{'c', 'h', 'r'},
  15715. },
  15716. 310: {
  15717. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15718. Flanguage_id: uint16(m_TT_MS_LANGID_INUKTITUT_CANADA),
  15719. Flang: [8]uint8{'i', 'u'},
  15720. },
  15721. 311: {
  15722. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15723. Flanguage_id: uint16(m_TT_MS_LANGID_AMHARIC_ETHIOPIA),
  15724. Flang: [8]uint8{'a', 'm'},
  15725. },
  15726. 312: {
  15727. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15728. Flanguage_id: uint16(m_TT_MS_LANGID_PASHTO_AFGHANISTAN),
  15729. Flang: [8]uint8{'p', 's'},
  15730. },
  15731. 313: {
  15732. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15733. Flanguage_id: uint16(m_TT_MS_LANGID_FILIPINO_PHILIPPINES),
  15734. Flang: [8]uint8{'p', 'h', 'i'},
  15735. },
  15736. 314: {
  15737. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15738. Flanguage_id: uint16(m_TT_MS_LANGID_DHIVEHI_MALDIVES),
  15739. Flang: [8]uint8{'d', 'i', 'v'},
  15740. },
  15741. 315: {
  15742. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15743. Flanguage_id: uint16(m_TT_MS_LANGID_OROMO_ETHIOPIA),
  15744. Flang: [8]uint8{'o', 'm'},
  15745. },
  15746. 316: {
  15747. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15748. Flanguage_id: uint16(m_TT_MS_LANGID_TIGRIGNA_ETHIOPIA),
  15749. Flang: [8]uint8{'t', 'i'},
  15750. },
  15751. 317: {
  15752. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15753. Flanguage_id: uint16(m_TT_MS_LANGID_TIGRIGNA_ERYTHREA),
  15754. Flang: [8]uint8{'t', 'i'},
  15755. },
  15756. 318: {
  15757. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15758. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_UNITED_STATES),
  15759. Flang: [8]uint8{'e', 's'},
  15760. },
  15761. 319: {
  15762. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15763. Flanguage_id: uint16(0xE40A),
  15764. Flang: [8]uint8{'e', 's'},
  15765. },
  15766. 320: {
  15767. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15768. Flanguage_id: uint16(0xE40C),
  15769. Flang: [8]uint8{'f', 'r'},
  15770. },
  15771. 321: {
  15772. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15773. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MOROCCO),
  15774. Flang: [8]uint8{'f', 'r'},
  15775. },
  15776. 322: {
  15777. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15778. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_HAITI),
  15779. Flang: [8]uint8{'f', 'r'},
  15780. },
  15781. 323: {
  15782. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15783. Flanguage_id: uint16(m_TT_MS_LANGID_BENGALI_BANGLADESH),
  15784. Flang: [8]uint8{'b', 'n'},
  15785. },
  15786. 324: {
  15787. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15788. Flanguage_id: uint16(m_TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN),
  15789. Flang: [8]uint8{'a', 'r'},
  15790. },
  15791. 325: {
  15792. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15793. Flanguage_id: uint16(m_TT_MS_LANGID_MONGOLIAN_PRC),
  15794. Flang: [8]uint8{'m', 'n'},
  15795. },
  15796. 326: {
  15797. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15798. Flanguage_id: uint16(m_TT_MS_LANGID_HAUSA_NIGERIA),
  15799. Flang: [8]uint8{'h', 'a'},
  15800. },
  15801. 327: {
  15802. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15803. Flanguage_id: uint16(m_TT_MS_LANGID_YORUBA_NIGERIA),
  15804. Flang: [8]uint8{'y', 'o'},
  15805. },
  15806. 328: {
  15807. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15808. Flanguage_id: uint16(m_TT_MS_LANGID_IGBO_NIGERIA),
  15809. Flang: [8]uint8{'i', 'b', 'o'},
  15810. },
  15811. 329: {
  15812. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15813. Flanguage_id: uint16(m_TT_MS_LANGID_KANURI_NIGERIA),
  15814. Flang: [8]uint8{'k', 'a', 'u'},
  15815. },
  15816. 330: {
  15817. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15818. Flanguage_id: uint16(m_TT_MS_LANGID_GUARANI_PARAGUAY),
  15819. Flang: [8]uint8{'g', 'n'},
  15820. },
  15821. 331: {
  15822. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15823. Flanguage_id: uint16(m_TT_MS_LANGID_HAWAIIAN_UNITED_STATES),
  15824. Flang: [8]uint8{'h', 'a', 'w'},
  15825. },
  15826. 332: {
  15827. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15828. Flanguage_id: uint16(m_TT_MS_LANGID_LATIN),
  15829. Flang: [8]uint8{'l', 'a'},
  15830. },
  15831. 333: {
  15832. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15833. Flanguage_id: uint16(m_TT_MS_LANGID_SOMALI_SOMALIA),
  15834. Flang: [8]uint8{'s', 'o'},
  15835. },
  15836. 334: {
  15837. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15838. Flanguage_id: uint16(m_TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES),
  15839. Flang: [8]uint8{'p', 'a', 'p'},
  15840. },
  15841. }
  15842. type TFcMacRomanFake = struct {
  15843. Flanguage_id TFT_UShort
  15844. Ffromcode [12]uint8
  15845. }
  15846. var _fcMacRomanFake = [2]TFcMacRomanFake{
  15847. 0: {
  15848. Flanguage_id: uint16(m_TT_MS_LANGID_JAPANESE_JAPAN),
  15849. Ffromcode: [12]uint8{'S', 'J', 'I', 'S', '-', 'W', 'I', 'N'},
  15850. },
  15851. 1: {
  15852. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_STATES),
  15853. Ffromcode: [12]uint8{'A', 'S', 'C', 'I', 'I'},
  15854. },
  15855. }
  15856. // C documentation
  15857. //
  15858. // /* From http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ROMAN.TXT */
  15859. var _fcMacRomanNonASCIIToUnicode = [128]TFcChar16{
  15860. 0: uint16(0x00C4),
  15861. 1: uint16(0x00C5),
  15862. 2: uint16(0x00C7),
  15863. 3: uint16(0x00C9),
  15864. 4: uint16(0x00D1),
  15865. 5: uint16(0x00D6),
  15866. 6: uint16(0x00DC),
  15867. 7: uint16(0x00E1),
  15868. 8: uint16(0x00E0),
  15869. 9: uint16(0x00E2),
  15870. 10: uint16(0x00E4),
  15871. 11: uint16(0x00E3),
  15872. 12: uint16(0x00E5),
  15873. 13: uint16(0x00E7),
  15874. 14: uint16(0x00E9),
  15875. 15: uint16(0x00E8),
  15876. 16: uint16(0x00EA),
  15877. 17: uint16(0x00EB),
  15878. 18: uint16(0x00ED),
  15879. 19: uint16(0x00EC),
  15880. 20: uint16(0x00EE),
  15881. 21: uint16(0x00EF),
  15882. 22: uint16(0x00F1),
  15883. 23: uint16(0x00F3),
  15884. 24: uint16(0x00F2),
  15885. 25: uint16(0x00F4),
  15886. 26: uint16(0x00F6),
  15887. 27: uint16(0x00F5),
  15888. 28: uint16(0x00FA),
  15889. 29: uint16(0x00F9),
  15890. 30: uint16(0x00FB),
  15891. 31: uint16(0x00FC),
  15892. 32: uint16(0x2020),
  15893. 33: uint16(0x00B0),
  15894. 34: uint16(0x00A2),
  15895. 35: uint16(0x00A3),
  15896. 36: uint16(0x00A7),
  15897. 37: uint16(0x2022),
  15898. 38: uint16(0x00B6),
  15899. 39: uint16(0x00DF),
  15900. 40: uint16(0x00AE),
  15901. 41: uint16(0x00A9),
  15902. 42: uint16(0x2122),
  15903. 43: uint16(0x00B4),
  15904. 44: uint16(0x00A8),
  15905. 45: uint16(0x2260),
  15906. 46: uint16(0x00C6),
  15907. 47: uint16(0x00D8),
  15908. 48: uint16(0x221E),
  15909. 49: uint16(0x00B1),
  15910. 50: uint16(0x2264),
  15911. 51: uint16(0x2265),
  15912. 52: uint16(0x00A5),
  15913. 53: uint16(0x00B5),
  15914. 54: uint16(0x2202),
  15915. 55: uint16(0x2211),
  15916. 56: uint16(0x220F),
  15917. 57: uint16(0x03C0),
  15918. 58: uint16(0x222B),
  15919. 59: uint16(0x00AA),
  15920. 60: uint16(0x00BA),
  15921. 61: uint16(0x03A9),
  15922. 62: uint16(0x00E6),
  15923. 63: uint16(0x00F8),
  15924. 64: uint16(0x00BF),
  15925. 65: uint16(0x00A1),
  15926. 66: uint16(0x00AC),
  15927. 67: uint16(0x221A),
  15928. 68: uint16(0x0192),
  15929. 69: uint16(0x2248),
  15930. 70: uint16(0x2206),
  15931. 71: uint16(0x00AB),
  15932. 72: uint16(0x00BB),
  15933. 73: uint16(0x2026),
  15934. 74: uint16(0x00A0),
  15935. 75: uint16(0x00C0),
  15936. 76: uint16(0x00C3),
  15937. 77: uint16(0x00D5),
  15938. 78: uint16(0x0152),
  15939. 79: uint16(0x0153),
  15940. 80: uint16(0x2013),
  15941. 81: uint16(0x2014),
  15942. 82: uint16(0x201C),
  15943. 83: uint16(0x201D),
  15944. 84: uint16(0x2018),
  15945. 85: uint16(0x2019),
  15946. 86: uint16(0x00F7),
  15947. 87: uint16(0x25CA),
  15948. 88: uint16(0x00FF),
  15949. 89: uint16(0x0178),
  15950. 90: uint16(0x2044),
  15951. 91: uint16(0x20AC),
  15952. 92: uint16(0x2039),
  15953. 93: uint16(0x203A),
  15954. 94: uint16(0xFB01),
  15955. 95: uint16(0xFB02),
  15956. 96: uint16(0x2021),
  15957. 97: uint16(0x00B7),
  15958. 98: uint16(0x201A),
  15959. 99: uint16(0x201E),
  15960. 100: uint16(0x2030),
  15961. 101: uint16(0x00C2),
  15962. 102: uint16(0x00CA),
  15963. 103: uint16(0x00C1),
  15964. 104: uint16(0x00CB),
  15965. 105: uint16(0x00C8),
  15966. 106: uint16(0x00CD),
  15967. 107: uint16(0x00CE),
  15968. 108: uint16(0x00CF),
  15969. 109: uint16(0x00CC),
  15970. 110: uint16(0x00D3),
  15971. 111: uint16(0x00D4),
  15972. 112: uint16(0xF8FF),
  15973. 113: uint16(0x00D2),
  15974. 114: uint16(0x00DA),
  15975. 115: uint16(0x00DB),
  15976. 116: uint16(0x00D9),
  15977. 117: uint16(0x0131),
  15978. 118: uint16(0x02C6),
  15979. 119: uint16(0x02DC),
  15980. 120: uint16(0x00AF),
  15981. 121: uint16(0x02D8),
  15982. 122: uint16(0x02D9),
  15983. 123: uint16(0x02DA),
  15984. 124: uint16(0x00B8),
  15985. 125: uint16(0x02DD),
  15986. 126: uint16(0x02DB),
  15987. 127: uint16(0x02C7),
  15988. }
  15989. // C documentation
  15990. //
  15991. // /*
  15992. // * A shift-JIS will have many high bits turned on
  15993. // */
  15994. func _FcLooksLikeSJIS(tls *libc.TLS, string1 uintptr, len1 int32) (r TFcBool) {
  15995. var nhigh, nlow, v1 int32
  15996. var v2 uintptr
  15997. _, _, _, _ = nhigh, nlow, v1, v2
  15998. nhigh = 0
  15999. nlow = 0
  16000. for {
  16001. v1 = len1
  16002. len1--
  16003. if !(v1 > 0) {
  16004. break
  16005. }
  16006. v2 = string1
  16007. string1++
  16008. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2)))&int32(0x80) != 0 {
  16009. nhigh++
  16010. } else {
  16011. nlow++
  16012. }
  16013. }
  16014. /*
  16015. * Heuristic -- if more than 1/3 of the bytes have the high-bit set,
  16016. * this is likely to be SJIS and not ROMAN
  16017. */
  16018. if nhigh*int32(2) > nlow {
  16019. return int32(m_FcTrue)
  16020. }
  16021. return m_FcFalse
  16022. }
  16023. func _FcSfntNameTranscode(tls *libc.TLS, sname uintptr) (r uintptr) {
  16024. bp := tls.Alloc(16)
  16025. defer tls.Free(16)
  16026. var f, i, ilen, olen, olen1, olen2, src_len, src_len1, src_len2, v3 int32
  16027. var fromcode, src, src1, src2, u8, u81, u82, utf8, v4, v5 uintptr
  16028. var ucs41, ucs42 TFcChar32
  16029. var _ /* len at bp+0 */ int32
  16030. var _ /* ucs4 at bp+8 */ TFcChar32
  16031. var _ /* wchar at bp+4 */ int32
  16032. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = f, fromcode, i, ilen, olen, olen1, olen2, src, src1, src2, src_len, src_len1, src_len2, u8, u81, u82, ucs41, ucs42, utf8, v3, v4, v5
  16033. i = 0
  16034. for {
  16035. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(224)/libc.Uint64FromInt64(16))) {
  16036. break
  16037. }
  16038. if libc.Int32FromUint16(_fcFtEncoding[i].Fplatform_id) == libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) && (libc.Int32FromUint16(_fcFtEncoding[i].Fencoding_id) == int32(m_TT_ENCODING_DONT_CARE) || libc.Int32FromUint16(_fcFtEncoding[i].Fencoding_id) == libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Fencoding_id)) {
  16039. break
  16040. }
  16041. goto _1
  16042. _1:
  16043. ;
  16044. i++
  16045. }
  16046. if i == libc.Int32FromUint64(libc.Uint64FromInt64(224)/libc.Uint64FromInt64(16)) {
  16047. return uintptr(0)
  16048. }
  16049. fromcode = uintptr(unsafe.Pointer(&_fcFtEncoding)) + uintptr(i)*16 + 4
  16050. /*
  16051. * Many names encoded for TT_PLATFORM_MACINTOSH are broken
  16052. * in various ways. Kludge around them.
  16053. */
  16054. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3852) != 0) {
  16055. if libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) == m_TT_MAC_LANGID_ENGLISH && _FcLooksLikeSJIS(tls, (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1, libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)) != 0 {
  16056. fromcode = __ccgo_ts + 3862
  16057. } else {
  16058. if libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) >= int32(0x100) {
  16059. fromcode = libc.UintptrFromInt32(0)
  16060. f = 0
  16061. for {
  16062. if !(f < libc.Int32FromUint64(libc.Uint64FromInt64(28)/libc.Uint64FromInt64(14))) {
  16063. break
  16064. }
  16065. if libc.Int32FromUint16(_fcMacRomanFake[f].Flanguage_id) == libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) {
  16066. fromcode = uintptr(unsafe.Pointer(&_fcMacRomanFake)) + uintptr(f)*14 + 2
  16067. break
  16068. }
  16069. goto _2
  16070. _2:
  16071. ;
  16072. f++
  16073. }
  16074. if !(fromcode != 0) {
  16075. return uintptr(0)
  16076. }
  16077. }
  16078. }
  16079. }
  16080. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3867) != 0) || !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3875) != 0) {
  16081. src = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  16082. src_len = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  16083. /*
  16084. * Convert Utf16 to Utf8
  16085. */
  16086. if !(XIA__FcUtf16Len(tls, src, int32(_FcEndianBig), src_len, bp, bp+4) != 0) {
  16087. return uintptr(0)
  16088. }
  16089. /*
  16090. * Allocate plenty of space. Freed below
  16091. */
  16092. utf8 = libc.Xmalloc(tls, libc.Uint64FromInt32(*(*int32)(unsafe.Pointer(bp))*int32(m_FC_UTF8_MAX_LEN)+int32(1)))
  16093. if !(utf8 != 0) {
  16094. return uintptr(0)
  16095. }
  16096. u8 = utf8
  16097. for {
  16098. v3 = XIA__FcUtf16ToUcs4(tls, src, int32(_FcEndianBig), bp+8, src_len)
  16099. ilen = v3
  16100. if !(v3 > 0) {
  16101. break
  16102. }
  16103. src_len -= ilen
  16104. src += uintptr(ilen)
  16105. olen = XIA__FcUcs4ToUtf8(tls, *(*TFcChar32)(unsafe.Pointer(bp + 8)), u8)
  16106. u8 += uintptr(olen)
  16107. }
  16108. *(*TFcChar8)(unsafe.Pointer(u8)) = uint8('\000')
  16109. goto done
  16110. }
  16111. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3884) != 0) || !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3890) != 0) {
  16112. src1 = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  16113. src_len1 = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  16114. /*
  16115. * Convert Latin1 to Utf8. Freed below
  16116. */
  16117. utf8 = libc.Xmalloc(tls, libc.Uint64FromInt32(src_len1*int32(2)+int32(1)))
  16118. if !(utf8 != 0) {
  16119. return uintptr(0)
  16120. }
  16121. u81 = utf8
  16122. for src_len1 > 0 {
  16123. v4 = src1
  16124. src1++
  16125. ucs41 = uint32(*(*TFcChar8)(unsafe.Pointer(v4)))
  16126. src_len1--
  16127. olen1 = XIA__FcUcs4ToUtf8(tls, ucs41, u81)
  16128. u81 += uintptr(olen1)
  16129. }
  16130. *(*TFcChar8)(unsafe.Pointer(u81)) = uint8('\000')
  16131. goto done
  16132. }
  16133. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3852) != 0) {
  16134. src2 = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  16135. src_len2 = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  16136. /*
  16137. * Convert Latin1 to Utf8. Freed below
  16138. */
  16139. utf8 = libc.Xmalloc(tls, libc.Uint64FromInt32(src_len2*int32(3)+int32(1)))
  16140. if !(utf8 != 0) {
  16141. return uintptr(0)
  16142. }
  16143. u82 = utf8
  16144. for src_len2 > 0 {
  16145. v5 = src2
  16146. src2++
  16147. ucs42 = uint32(*(*TFcChar8)(unsafe.Pointer(v5)))
  16148. if ucs42 >= uint32(128) {
  16149. ucs42 = uint32(_fcMacRomanNonASCIIToUnicode[ucs42-uint32(128)])
  16150. }
  16151. src_len2--
  16152. olen2 = XIA__FcUcs4ToUtf8(tls, ucs42, u82)
  16153. u82 += uintptr(olen2)
  16154. }
  16155. *(*TFcChar8)(unsafe.Pointer(u82)) = uint8('\000')
  16156. goto done
  16157. }
  16158. return uintptr(0)
  16159. goto done
  16160. done:
  16161. ;
  16162. if XFcStrCmpIgnoreBlanksAndCase(tls, utf8, __ccgo_ts+110) == 0 {
  16163. libc.Xfree(tls, utf8)
  16164. return uintptr(0)
  16165. }
  16166. return utf8
  16167. }
  16168. func _FcSfntNameLanguage(tls *libc.TLS, sname uintptr) (r uintptr) {
  16169. var i int32
  16170. var language_id, platform_id TFT_UShort
  16171. _, _, _ = i, language_id, platform_id
  16172. platform_id = (*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id
  16173. language_id = (*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id
  16174. /*
  16175. * Many names encoded for TT_PLATFORM_MACINTOSH are broken
  16176. * in various ways. Kludge around them.
  16177. */
  16178. if libc.Int32FromUint16(platform_id) == int32(m_TT_PLATFORM_MACINTOSH) && libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Fencoding_id) == m_TT_MAC_ID_ROMAN && _FcLooksLikeSJIS(tls, (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1, libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)) != 0 {
  16179. language_id = uint16(m_TT_MAC_LANGID_JAPANESE)
  16180. }
  16181. i = 0
  16182. for {
  16183. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(4020)/libc.Uint64FromInt64(12))) {
  16184. break
  16185. }
  16186. if libc.Int32FromUint16(_fcFtLanguage[i].Fplatform_id) == libc.Int32FromUint16(platform_id) && (libc.Int32FromUint16(_fcFtLanguage[i].Flanguage_id) == int32(m_TT_LANGUAGE_DONT_CARE) || libc.Int32FromUint16(_fcFtLanguage[i].Flanguage_id) == libc.Int32FromUint16(language_id)) {
  16187. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcFtLanguage)) + uintptr(i)*12 + 4))) == int32('\000') {
  16188. return libc.UintptrFromInt32(0)
  16189. } else {
  16190. return uintptr(unsafe.Pointer(&_fcFtLanguage)) + uintptr(i)*12 + 4
  16191. }
  16192. }
  16193. goto _1
  16194. _1:
  16195. ;
  16196. i++
  16197. }
  16198. return uintptr(0)
  16199. }
  16200. func _FcNoticeFoundry(tls *libc.TLS, notice uintptr) (r uintptr) {
  16201. var f, n uintptr
  16202. var i int32
  16203. _, _, _ = f, i, n
  16204. if notice != 0 {
  16205. i = 0
  16206. for {
  16207. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(288)/libc.Uint64FromInt64(16))) {
  16208. break
  16209. }
  16210. n = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_FcNoticeFoundries)) + uintptr(i)*16))
  16211. f = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_FcNoticeFoundries)) + uintptr(i)*16 + 1*8))
  16212. if libc.Xstrstr(tls, notice, n) != 0 {
  16213. return f
  16214. }
  16215. goto _1
  16216. _1:
  16217. ;
  16218. i++
  16219. }
  16220. }
  16221. return uintptr(0)
  16222. }
  16223. type TFcStringConst = struct {
  16224. Fname uintptr
  16225. Fvalue int32
  16226. }
  16227. type T_FcStringConst = TFcStringConst
  16228. func _FcStringIsConst(tls *libc.TLS, string1 uintptr, c uintptr, nc int32) (r int32) {
  16229. var i int32
  16230. _ = i
  16231. i = 0
  16232. for {
  16233. if !(i < nc) {
  16234. break
  16235. }
  16236. if XFcStrCmpIgnoreBlanksAndCase(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname) == 0 {
  16237. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fvalue
  16238. }
  16239. goto _1
  16240. _1:
  16241. ;
  16242. i++
  16243. }
  16244. return -int32(1)
  16245. }
  16246. func _FcStringContainsConst(tls *libc.TLS, string1 uintptr, c uintptr, nc int32) (r int32) {
  16247. var i int32
  16248. _ = i
  16249. i = 0
  16250. for {
  16251. if !(i < nc) {
  16252. break
  16253. }
  16254. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname))) == int32('<') {
  16255. if XFcStrContainsWord(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname+uintptr(1)) != 0 {
  16256. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fvalue
  16257. }
  16258. } else {
  16259. if XFcStrContainsIgnoreBlanksAndCase(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname) != 0 {
  16260. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fvalue
  16261. }
  16262. }
  16263. goto _1
  16264. _1:
  16265. ;
  16266. i++
  16267. }
  16268. return -int32(1)
  16269. }
  16270. type TFC8 = uintptr
  16271. var _weightConsts = [23]TFcStringConst{
  16272. 0: {
  16273. Fname: __ccgo_ts + 3901,
  16274. },
  16275. 1: {
  16276. Fname: __ccgo_ts + 3906,
  16277. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  16278. },
  16279. 2: {
  16280. Fname: __ccgo_ts + 3917,
  16281. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  16282. },
  16283. 3: {
  16284. Fname: __ccgo_ts + 3928,
  16285. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  16286. },
  16287. 4: {
  16288. Fname: __ccgo_ts + 3938,
  16289. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  16290. },
  16291. 5: {
  16292. Fname: __ccgo_ts + 3948,
  16293. Fvalue: int32(m_FC_WEIGHT_LIGHT),
  16294. },
  16295. 6: {
  16296. Fname: __ccgo_ts + 3954,
  16297. Fvalue: int32(m_FC_WEIGHT_BOOK),
  16298. },
  16299. 7: {
  16300. Fname: __ccgo_ts + 3959,
  16301. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  16302. },
  16303. 8: {
  16304. Fname: __ccgo_ts + 3967,
  16305. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  16306. },
  16307. 9: {
  16308. Fname: __ccgo_ts + 3974,
  16309. Fvalue: int32(m_FC_WEIGHT_MEDIUM),
  16310. },
  16311. 10: {
  16312. Fname: __ccgo_ts + 3981,
  16313. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  16314. },
  16315. 11: {
  16316. Fname: __ccgo_ts + 3990,
  16317. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  16318. },
  16319. 12: {
  16320. Fname: __ccgo_ts + 3995,
  16321. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  16322. },
  16323. 13: {
  16324. Fname: __ccgo_ts + 4004,
  16325. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  16326. },
  16327. 14: {
  16328. Fname: __ccgo_ts + 4014,
  16329. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  16330. },
  16331. 15: {
  16332. Fname: __ccgo_ts + 4024,
  16333. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  16334. },
  16335. 16: {
  16336. Fname: __ccgo_ts + 4034,
  16337. Fvalue: int32(m_FC_WEIGHT_BOLD),
  16338. },
  16339. 17: {
  16340. Fname: __ccgo_ts + 4039,
  16341. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  16342. },
  16343. 18: {
  16344. Fname: __ccgo_ts + 4050,
  16345. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  16346. },
  16347. 19: {
  16348. Fname: __ccgo_ts + 4061,
  16349. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  16350. },
  16351. 20: {
  16352. Fname: __ccgo_ts + 4072,
  16353. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  16354. },
  16355. 21: {
  16356. Fname: __ccgo_ts + 4079,
  16357. Fvalue: int32(m_FC_WEIGHT_BLACK),
  16358. },
  16359. 22: {
  16360. Fname: __ccgo_ts + 4085,
  16361. Fvalue: int32(m_FC_WEIGHT_BLACK),
  16362. },
  16363. }
  16364. var _widthConsts = [10]TFcStringConst{
  16365. 0: {
  16366. Fname: __ccgo_ts + 4091,
  16367. Fvalue: int32(m_FC_WIDTH_ULTRACONDENSED),
  16368. },
  16369. 1: {
  16370. Fname: __ccgo_ts + 4106,
  16371. Fvalue: int32(m_FC_WIDTH_EXTRACONDENSED),
  16372. },
  16373. 2: {
  16374. Fname: __ccgo_ts + 4121,
  16375. Fvalue: int32(m_FC_WIDTH_SEMICONDENSED),
  16376. },
  16377. 3: {
  16378. Fname: __ccgo_ts + 4135,
  16379. Fvalue: int32(m_FC_WIDTH_CONDENSED),
  16380. },
  16381. 4: {
  16382. Fname: __ccgo_ts + 3967,
  16383. Fvalue: int32(m_FC_WIDTH_NORMAL),
  16384. },
  16385. 5: {
  16386. Fname: __ccgo_ts + 4145,
  16387. Fvalue: int32(m_FC_WIDTH_SEMIEXPANDED),
  16388. },
  16389. 6: {
  16390. Fname: __ccgo_ts + 4158,
  16391. Fvalue: int32(m_FC_WIDTH_EXTRAEXPANDED),
  16392. },
  16393. 7: {
  16394. Fname: __ccgo_ts + 4172,
  16395. Fvalue: int32(m_FC_WIDTH_ULTRAEXPANDED),
  16396. },
  16397. 8: {
  16398. Fname: __ccgo_ts + 4186,
  16399. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  16400. },
  16401. 9: {
  16402. Fname: __ccgo_ts + 4195,
  16403. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  16404. },
  16405. }
  16406. var _slantConsts = [3]TFcStringConst{
  16407. 0: {
  16408. Fname: __ccgo_ts + 4204,
  16409. Fvalue: int32(m_FC_SLANT_ITALIC),
  16410. },
  16411. 1: {
  16412. Fname: __ccgo_ts + 4211,
  16413. Fvalue: int32(m_FC_SLANT_ITALIC),
  16414. },
  16415. 2: {
  16416. Fname: __ccgo_ts + 4218,
  16417. Fvalue: int32(m_FC_SLANT_OBLIQUE),
  16418. },
  16419. }
  16420. var _decorativeConsts = [6]TFcStringConst{
  16421. 0: {
  16422. Fname: __ccgo_ts + 4226,
  16423. Fvalue: int32(m_FcTrue),
  16424. },
  16425. 1: {
  16426. Fname: __ccgo_ts + 4233,
  16427. Fvalue: int32(m_FcTrue),
  16428. },
  16429. 2: {
  16430. Fname: __ccgo_ts + 4238,
  16431. Fvalue: int32(m_FcTrue),
  16432. },
  16433. 3: {
  16434. Fname: __ccgo_ts + 4246,
  16435. Fvalue: int32(m_FcTrue),
  16436. },
  16437. 4: {
  16438. Fname: __ccgo_ts + 4254,
  16439. Fvalue: int32(m_FcTrue),
  16440. },
  16441. 5: {
  16442. Fname: __ccgo_ts + 4262,
  16443. Fvalue: int32(m_FcTrue),
  16444. },
  16445. }
  16446. func _FcGetPixelSize(tls *libc.TLS, face TFT_Face, i int32) (r float64) {
  16447. bp := tls.Alloc(16)
  16448. defer tls.Free(16)
  16449. var rc int32
  16450. var _ /* prop at bp+0 */ TBDF_PropertyRec
  16451. _ = rc
  16452. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes == int32(1) {
  16453. rc = libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4270, bp)
  16454. if rc == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp))).Ftype1 == int32(_BDF_PROPERTY_TYPE_INTEGER) {
  16455. return float64(*(*TFT_Int32)(unsafe.Pointer(bp + 8)))
  16456. }
  16457. }
  16458. return float64((*(*TFT_Bitmap_Size)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Favailable_sizes + uintptr(i)*32))).Fy_ppem) / float64(64)
  16459. }
  16460. func _FcStringInPatternElement(tls *libc.TLS, pat uintptr, obj TFcObject, string1 uintptr) (r TFcBool) {
  16461. bp := tls.Alloc(32)
  16462. defer tls.Free(32)
  16463. var l TFcValueListPtr
  16464. var v2 uintptr
  16465. var _ /* iter at bp+0 */ TFcPatternIter
  16466. var _ /* v at bp+16 */ TFcValue
  16467. _, _ = l, v2
  16468. XIA__FcPatternIterStart(tls, pat, bp)
  16469. if !(XFcPatternFindObjectIter(tls, pat, bp, obj) != 0) {
  16470. return m_FcFalse
  16471. }
  16472. l = XFcPatternIterGetValues(tls, pat, bp)
  16473. for {
  16474. if !(l != 0) {
  16475. break
  16476. }
  16477. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  16478. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, l+8)
  16479. if (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 != int32(_FcTypeString) {
  16480. break
  16481. }
  16482. if !(XFcStrCmpIgnoreBlanksAndCase(tls, *(*uintptr)(unsafe.Pointer(bp + 16 + 8)), string1) != 0) {
  16483. return int32(m_FcTrue)
  16484. }
  16485. goto _1
  16486. _1:
  16487. ;
  16488. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  16489. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  16490. } else {
  16491. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  16492. }
  16493. l = v2
  16494. }
  16495. return m_FcFalse
  16496. }
  16497. var _platform_order = [4]TFT_UShort{
  16498. 0: uint16(m_TT_PLATFORM_MICROSOFT),
  16499. 2: uint16(m_TT_PLATFORM_MACINTOSH),
  16500. 3: uint16(m_TT_PLATFORM_ISO),
  16501. }
  16502. var _nameid_order = [10]TFT_UShort{
  16503. 0: uint16(m_TT_NAME_ID_WWS_FAMILY),
  16504. 1: uint16(m_TT_NAME_ID_TYPOGRAPHIC_FAMILY),
  16505. 2: uint16(m_TT_NAME_ID_FONT_FAMILY),
  16506. 3: uint16(m_TT_NAME_ID_MAC_FULL_NAME),
  16507. 4: uint16(m_TT_NAME_ID_FULL_NAME),
  16508. 5: uint16(m_TT_NAME_ID_WWS_SUBFAMILY),
  16509. 6: uint16(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY),
  16510. 7: uint16(m_TT_NAME_ID_FONT_SUBFAMILY),
  16511. 8: uint16(m_TT_NAME_ID_TRADEMARK),
  16512. 9: uint16(m_TT_NAME_ID_MANUFACTURER),
  16513. }
  16514. type TFcNameMapping = struct {
  16515. Fplatform_id uint32
  16516. Fname_id uint32
  16517. Fencoding_id uint32
  16518. Flanguage_id uint32
  16519. Fidx uint32
  16520. }
  16521. func __is_english(tls *libc.TLS, platform int32, language int32) (r TFcBool) {
  16522. var ret TFcBool
  16523. _ = ret
  16524. ret = m_FcFalse
  16525. switch platform {
  16526. case int32(m_TT_PLATFORM_MACINTOSH):
  16527. ret = libc.BoolInt32(language == m_TT_MAC_LANGID_ENGLISH)
  16528. case int32(m_TT_PLATFORM_MICROSOFT):
  16529. ret = libc.BoolInt32(language == int32(m_TT_MS_LANGID_ENGLISH_UNITED_STATES))
  16530. break
  16531. }
  16532. return ret
  16533. }
  16534. func _name_mapping_cmp(tls *libc.TLS, pa uintptr, pb uintptr) (r int32) {
  16535. var a, b uintptr
  16536. var v1, v2 int32
  16537. _, _, _, _ = a, b, v1, v2
  16538. a = pa
  16539. b = pb
  16540. if (*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id {
  16541. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id)
  16542. }
  16543. if (*TFcNameMapping)(unsafe.Pointer(a)).Fname_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fname_id {
  16544. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fname_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fname_id)
  16545. }
  16546. if (*TFcNameMapping)(unsafe.Pointer(a)).Fencoding_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fencoding_id {
  16547. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fencoding_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fencoding_id)
  16548. }
  16549. if (*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id != (*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id {
  16550. if __is_english(tls, libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id), libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id)) != 0 {
  16551. v1 = -int32(1)
  16552. } else {
  16553. if __is_english(tls, libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id), libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id)) != 0 {
  16554. v2 = int32(1)
  16555. } else {
  16556. v2 = libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id)
  16557. }
  16558. v1 = v2
  16559. }
  16560. return v1
  16561. }
  16562. if (*TFcNameMapping)(unsafe.Pointer(a)).Fidx != (*TFcNameMapping)(unsafe.Pointer(b)).Fidx {
  16563. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fidx) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fidx)
  16564. }
  16565. return 0
  16566. }
  16567. func _FcFreeTypeGetFirstName(tls *libc.TLS, face TFT_Face, platform uint32, nameid uint32, mapping uintptr, count uint32, sname uintptr) (r int32) {
  16568. var max, mid, min int32
  16569. _, _, _ = max, mid, min
  16570. min = 0
  16571. max = libc.Int32FromUint32(count) - int32(1)
  16572. for min <= max {
  16573. mid = (min + max) / int32(2)
  16574. if libfreetype.XFT_Get_Sfnt_Name(tls, face, (*(*TFcNameMapping)(unsafe.Pointer(mapping + uintptr(mid)*20))).Fidx, sname) != 0 {
  16575. return m_FcFalse
  16576. }
  16577. if platform < uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) || platform == uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) && (nameid < uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fname_id) || nameid == uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fname_id) && (mid != 0 && platform == (*(*TFcNameMapping)(unsafe.Pointer(mapping + uintptr(mid-int32(1))*20))).Fplatform_id && nameid == (*(*TFcNameMapping)(unsafe.Pointer(mapping + uintptr(mid-int32(1))*20))).Fname_id)) {
  16578. max = mid - int32(1)
  16579. } else {
  16580. if platform > uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) || platform == uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) && nameid > uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fname_id) {
  16581. min = mid + int32(1)
  16582. } else {
  16583. return mid
  16584. }
  16585. }
  16586. }
  16587. return -int32(1)
  16588. }
  16589. func _FcFreeTypeQueryFaceInternal(tls *libc.TLS, face TFT_Face, file uintptr, id uint32, cs_share uintptr, ls_share uintptr, nm_share uintptr) (r2 uintptr) {
  16590. bp := tls.Alloc(656)
  16591. defer tls.Free(656)
  16592. var bit, has_color, has_outline, i3, i7, lookupid, n1, n2, name_count, nameid, nameidx, platform, rc, slant, spacing, st, v12, v13, v17, v18, v21, v22 int32
  16593. var bits TFT_ULong
  16594. var complex_, cs, end, exclusiveLang, family, font_format, foundry, foundry_, head, instance, lang, ls, name_mapping, nlangp, np, os2, p1, pat, pp, r, r1, ss, start, style_regular, tmp, utf8, utf81, v15, v27 uintptr
  16595. var decorative, symbol, variable, variable_size, variable_weight, variable_width TFcBool
  16596. var def_value, default_value, lower_size, max_value, min_value, mult, upper_size, value, weight, weight_mult, width, width_mult, v3 float64
  16597. var ftresult TFT_Error
  16598. var i, i1, i2, i5, i6, n, p, v6, v7, v8, v9 uint32
  16599. var i4, len1, len11, len2 Tsize_t
  16600. var obj, obj1, objlang TFcObject
  16601. var value1 TFT_Int32
  16602. var v24, v28 bool
  16603. var _ /* family at bp+160 */ uintptr
  16604. var _ /* family at bp+592 */ uintptr
  16605. var _ /* familylang at bp+600 */ uintptr
  16606. var _ /* lang at bp+176 */ uintptr
  16607. var _ /* master at bp+0 */ uintptr
  16608. var _ /* nfamily at bp+80 */ int32
  16609. var _ /* nfamily_lang at bp+84 */ int32
  16610. var _ /* nfullname at bp+96 */ int32
  16611. var _ /* nfullname_lang at bp+100 */ int32
  16612. var _ /* nstyle at bp+88 */ int32
  16613. var _ /* nstyle_lang at bp+92 */ int32
  16614. var _ /* prop at bp+64 */ TBDF_PropertyRec
  16615. var _ /* psfontinfo at bp+8 */ TPS_FontInfoRec
  16616. var _ /* psname at bp+336 */ [256]uint8
  16617. var _ /* sbuf at bp+184 */ TFcStrBuf
  16618. var _ /* sname at bp+112 */ TFT_SfntName
  16619. var _ /* sname at bp+136 */ TFT_SfntName
  16620. var _ /* style at bp+104 */ uintptr
  16621. var _ /* style at bp+168 */ uintptr
  16622. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bit, bits, complex_, cs, decorative, def_value, default_value, end, exclusiveLang, family, font_format, foundry, foundry_, ftresult, has_color, has_outline, head, i, i1, i2, i3, i4, i5, i6, i7, instance, lang, len1, len11, len2, lookupid, lower_size, ls, max_value, min_value, mult, n, n1, n2, name_count, name_mapping, nameid, nameidx, nlangp, np, obj, obj1, objlang, os2, p, p1, pat, platform, pp, r, r1, rc, slant, spacing, ss, st, start, style_regular, symbol, tmp, upper_size, utf8, utf81, value, value1, variable, variable_size, variable_weight, variable_width, weight, weight_mult, width, width_mult, v12, v13, v15, v17, v18, v21, v22, v24, v27, v28, v3, v6, v7, v8, v9
  16623. slant = -int32(1)
  16624. weight = float64(-libc.Int32FromInt32(1))
  16625. width = float64(-libc.Int32FromInt32(1))
  16626. decorative = m_FcFalse
  16627. variable = m_FcFalse
  16628. variable_weight = m_FcFalse
  16629. variable_width = m_FcFalse
  16630. variable_size = m_FcFalse
  16631. name_mapping = libc.UintptrFromInt32(0)
  16632. foundry_ = libc.UintptrFromInt32(0)
  16633. foundry = uintptr(0)
  16634. /* Support for glyph-variation named-instances. */
  16635. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  16636. instance = libc.UintptrFromInt32(0)
  16637. weight_mult = float64(1)
  16638. width_mult = float64(1)
  16639. exclusiveLang = uintptr(0)
  16640. name_count = 0
  16641. *(*int32)(unsafe.Pointer(bp + 80)) = 0
  16642. *(*int32)(unsafe.Pointer(bp + 84)) = 0
  16643. *(*int32)(unsafe.Pointer(bp + 88)) = 0
  16644. *(*int32)(unsafe.Pointer(bp + 92)) = 0
  16645. *(*int32)(unsafe.Pointer(bp + 96)) = 0
  16646. *(*int32)(unsafe.Pointer(bp + 100)) = 0
  16647. *(*uintptr)(unsafe.Pointer(bp + 104)) = uintptr(0)
  16648. symbol = m_FcFalse
  16649. XFcInitDebug(tls) /* We might be called with no initizalization whatsoever. */
  16650. pat = XIA__FcPatternCreate(tls)
  16651. if !(pat != 0) {
  16652. goto bail0
  16653. }
  16654. has_outline = libc.BoolInt32(!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0))
  16655. has_color = 0
  16656. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_OUTLINE_OBJECT), has_outline) != 0) {
  16657. goto bail1
  16658. }
  16659. has_color = libc.BoolInt32(!!!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(14)) != 0))
  16660. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_COLOR_OBJECT), has_color) != 0) {
  16661. goto bail1
  16662. }
  16663. /* All color fonts are designed to be scaled, even if they only have
  16664. * bitmap strikes. Client is responsible to scale the bitmaps. This
  16665. * is in contrast to non-color strikes... */
  16666. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_SCALABLE_OBJECT), libc.BoolInt32(has_outline != 0 || has_color != 0)) != 0) {
  16667. goto bail1
  16668. }
  16669. ftresult = libfreetype.XFT_Get_MM_Var(tls, face, bp)
  16670. if id>>int32(16) != 0 {
  16671. if ftresult != 0 {
  16672. goto bail1
  16673. }
  16674. if id>>int32(16) == uint32(0x8000) {
  16675. i = uint32(0)
  16676. for {
  16677. if !(i < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  16678. break
  16679. }
  16680. min_value = float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*48))).Fminimum) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  16681. def_value = float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*48))).Fdef) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  16682. max_value = float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*48))).Fmaximum) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  16683. obj = int32(_FC_INVALID_OBJECT)
  16684. if min_value > def_value || def_value > max_value || min_value == max_value {
  16685. goto _1
  16686. }
  16687. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*48))).Ftag {
  16688. case uint64(uint32(libc.Uint8FromInt32(libc.Int32FromUint8('w')))<<libc.Int32FromInt32(24) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('g')))<<libc.Int32FromInt32(16) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('h')))<<libc.Int32FromInt32(8) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('t')))):
  16689. obj = int32(_FC_WEIGHT_OBJECT)
  16690. min_value = XIA__FcWeightFromOpenTypeDouble(tls, min_value)
  16691. max_value = XIA__FcWeightFromOpenTypeDouble(tls, max_value)
  16692. variable_weight = int32(m_FcTrue)
  16693. weight = libc.Float64FromInt32(0) /* To stop looking for weight. */
  16694. case uint64(uint32(libc.Uint8FromInt32(libc.Int32FromUint8('w')))<<libc.Int32FromInt32(24) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('d')))<<libc.Int32FromInt32(16) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('t')))<<libc.Int32FromInt32(8) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('h')))):
  16695. obj = int32(_FC_WIDTH_OBJECT)
  16696. /* Values in 'wdth' match Fontconfig FC_WIDTH_* scheme directly. */
  16697. variable_width = int32(m_FcTrue)
  16698. width = libc.Float64FromInt32(0) /* To stop looking for width. */
  16699. case uint64(uint32(libc.Uint8FromInt32(libc.Int32FromUint8('o')))<<libc.Int32FromInt32(24) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('p')))<<libc.Int32FromInt32(16) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('s')))<<libc.Int32FromInt32(8) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('z')))):
  16700. obj = int32(_FC_SIZE_OBJECT)
  16701. /* Values in 'opsz' match Fontconfig FC_SIZE, both are in points. */
  16702. variable_size = int32(m_FcTrue)
  16703. break
  16704. }
  16705. if obj != int32(_FC_INVALID_OBJECT) {
  16706. r = XIA__FcRangeCreateDouble(tls, min_value, max_value)
  16707. if !(XFcPatternObjectAddRange(tls, pat, obj, r) != 0) {
  16708. XIA__FcRangeDestroy(tls, r)
  16709. goto bail1
  16710. }
  16711. XIA__FcRangeDestroy(tls, r)
  16712. variable = int32(m_FcTrue)
  16713. }
  16714. goto _1
  16715. _1:
  16716. ;
  16717. i++
  16718. }
  16719. if !(variable != 0) {
  16720. goto bail1
  16721. }
  16722. id &= uint32(0xFFFF)
  16723. } else {
  16724. if id>>int32(16)-uint32(1) < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_namedstyles {
  16725. instance = (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnamedstyle + uintptr(id>>int32(16)-uint32(1))*16
  16726. i1 = uint32(0)
  16727. for {
  16728. if !(i1 < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  16729. break
  16730. }
  16731. value = float64(*(*TFT_Fixed)(unsafe.Pointer((*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fcoords + uintptr(i1)*8))) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  16732. default_value = float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i1)*48))).Fdef) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  16733. if default_value != 0 {
  16734. v3 = value / default_value
  16735. } else {
  16736. v3 = libc.Float64FromInt32(1)
  16737. }
  16738. mult = v3
  16739. //printf ("named-instance, axis %d tag %lx value %g\n", i, master->axis[i].tag, value);
  16740. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i1)*48))).Ftag {
  16741. case uint64(uint32(libc.Uint8FromInt32(libc.Int32FromUint8('w')))<<libc.Int32FromInt32(24) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('g')))<<libc.Int32FromInt32(16) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('h')))<<libc.Int32FromInt32(8) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('t')))):
  16742. weight_mult = mult
  16743. case uint64(uint32(libc.Uint8FromInt32(libc.Int32FromUint8('w')))<<libc.Int32FromInt32(24) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('d')))<<libc.Int32FromInt32(16) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('t')))<<libc.Int32FromInt32(8) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('h')))):
  16744. width_mult = mult
  16745. case uint64(uint32(libc.Uint8FromInt32(libc.Int32FromUint8('o')))<<libc.Int32FromInt32(24) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('p')))<<libc.Int32FromInt32(16) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('s')))<<libc.Int32FromInt32(8) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('z')))):
  16746. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), value) != 0) {
  16747. goto bail1
  16748. }
  16749. break
  16750. }
  16751. goto _2
  16752. _2:
  16753. ;
  16754. i1++
  16755. }
  16756. } else {
  16757. goto bail1
  16758. }
  16759. }
  16760. } else {
  16761. if !(ftresult != 0) {
  16762. i2 = uint32(0)
  16763. for {
  16764. if !(i2 < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  16765. break
  16766. }
  16767. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i2)*48))).Ftag {
  16768. case uint64(uint32(libc.Uint8FromInt32(libc.Int32FromUint8('o')))<<libc.Int32FromInt32(24) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('p')))<<libc.Int32FromInt32(16) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('s')))<<libc.Int32FromInt32(8) | uint32(libc.Uint8FromInt32(libc.Int32FromUint8('z')))):
  16769. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i2)*48))).Fdef)/float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))) != 0) {
  16770. goto bail1
  16771. }
  16772. variable_size = int32(m_FcTrue)
  16773. break
  16774. }
  16775. goto _4
  16776. _4:
  16777. ;
  16778. i2++
  16779. }
  16780. } else {
  16781. /* ignore an error of FT_Get_MM_Var() */
  16782. }
  16783. }
  16784. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_VARIABLE_OBJECT), variable) != 0) {
  16785. goto bail1
  16786. }
  16787. /*
  16788. * Get the OS/2 table
  16789. */
  16790. os2 = libfreetype.XFT_Get_Sfnt_Table(tls, face, int32(_FT_SFNT_OS2))
  16791. /*
  16792. * Look first in the OS/2 table for the foundry, if
  16793. * not found here, the various notices will be searched for
  16794. * that information, either from the sfnt name tables or
  16795. * the Postscript FontInfo dictionary. Finally, the
  16796. * BDF properties will queried.
  16797. */
  16798. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0001) && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  16799. if int32(*(*TFT_Char)(unsafe.Pointer(os2 + 80))) != 0 {
  16800. foundry_ = libc.Xmalloc(tls, libc.Uint64FromInt64(4)+libc.Uint64FromInt32(1))
  16801. libc.Xmemcpy(tls, foundry_, os2+80, uint64(4))
  16802. *(*TFcChar8)(unsafe.Pointer(foundry_ + uintptr(4))) = uint8(0)
  16803. foundry = foundry_
  16804. }
  16805. }
  16806. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16807. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  16808. }
  16809. /*
  16810. * Grub through the name table looking for family
  16811. * and style names. FreeType makes quite a hash
  16812. * of them
  16813. */
  16814. name_count = libc.Int32FromUint32(libfreetype.XFT_Get_Sfnt_Name_Count(tls, face))
  16815. if nm_share != 0 {
  16816. name_mapping = *(*uintptr)(unsafe.Pointer(nm_share))
  16817. }
  16818. if !(name_mapping != 0) {
  16819. i3 = 0
  16820. name_mapping = libc.Xmalloc(tls, libc.Uint64FromInt32(name_count)*uint64(20))
  16821. if !(name_mapping != 0) {
  16822. name_count = 0
  16823. }
  16824. i3 = 0
  16825. for {
  16826. if !(i3 < name_count) {
  16827. break
  16828. }
  16829. p1 = name_mapping + uintptr(i3)*20
  16830. if libfreetype.XFT_Get_Sfnt_Name(tls, face, libc.Uint32FromInt32(i3), bp+112) == 0 {
  16831. (*TFcNameMapping)(unsafe.Pointer(p1)).Fplatform_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 112))).Fplatform_id)
  16832. (*TFcNameMapping)(unsafe.Pointer(p1)).Fname_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 112))).Fname_id)
  16833. (*TFcNameMapping)(unsafe.Pointer(p1)).Fencoding_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 112))).Fencoding_id)
  16834. (*TFcNameMapping)(unsafe.Pointer(p1)).Flanguage_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 112))).Flanguage_id)
  16835. (*TFcNameMapping)(unsafe.Pointer(p1)).Fidx = libc.Uint32FromInt32(i3)
  16836. } else {
  16837. v9 = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  16838. (*TFcNameMapping)(unsafe.Pointer(p1)).Fidx = v9
  16839. v8 = v9
  16840. (*TFcNameMapping)(unsafe.Pointer(p1)).Flanguage_id = v8
  16841. v7 = v8
  16842. (*TFcNameMapping)(unsafe.Pointer(p1)).Fencoding_id = v7
  16843. v6 = v7
  16844. (*TFcNameMapping)(unsafe.Pointer(p1)).Fname_id = v6
  16845. (*TFcNameMapping)(unsafe.Pointer(p1)).Fplatform_id = v6
  16846. }
  16847. goto _5
  16848. _5:
  16849. ;
  16850. i3++
  16851. }
  16852. libc.Xqsort(tls, name_mapping, libc.Uint64FromInt32(name_count), uint64(20), __ccgo_fp(_name_mapping_cmp))
  16853. if nm_share != 0 {
  16854. *(*uintptr)(unsafe.Pointer(nm_share)) = name_mapping
  16855. }
  16856. }
  16857. p = uint32(0)
  16858. for {
  16859. if !(uint64(p) < libc.Uint64FromInt64(8)/libc.Uint64FromInt64(2)) {
  16860. break
  16861. }
  16862. platform = libc.Int32FromUint16(_platform_order[p])
  16863. /*
  16864. * Order nameids so preferred names appear first
  16865. * in the resulting list
  16866. */
  16867. n = uint32(0)
  16868. for {
  16869. if !(uint64(n) < libc.Uint64FromInt64(20)/libc.Uint64FromInt64(2)) {
  16870. break
  16871. }
  16872. np = uintptr(0)
  16873. nlangp = uintptr(0)
  16874. obj1 = int32(_FC_INVALID_OBJECT)
  16875. objlang = int32(_FC_INVALID_OBJECT)
  16876. v12 = libc.Int32FromUint16(_nameid_order[n])
  16877. lookupid = v12
  16878. nameid = v12
  16879. if instance != 0 {
  16880. /* For named-instances, we skip regular style nameIDs,
  16881. * and treat the instance's nameid as FONT_SUBFAMILY.
  16882. * Postscript name is automatically handled by FreeType. */
  16883. if nameid == int32(m_TT_NAME_ID_WWS_SUBFAMILY) || nameid == int32(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY) || nameid == int32(m_TT_NAME_ID_FULL_NAME) {
  16884. goto _11
  16885. }
  16886. if nameid == int32(m_TT_NAME_ID_FONT_SUBFAMILY) {
  16887. lookupid = libc.Int32FromUint32((*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fstrid)
  16888. }
  16889. }
  16890. nameidx = _FcFreeTypeGetFirstName(tls, face, libc.Uint32FromInt32(platform), libc.Uint32FromInt32(lookupid), name_mapping, libc.Uint32FromInt32(name_count), bp+136)
  16891. if nameidx == -int32(1) {
  16892. goto _11
  16893. }
  16894. for {
  16895. switch nameid {
  16896. case int32(m_TT_NAME_ID_WWS_FAMILY):
  16897. fallthrough
  16898. case int32(m_TT_NAME_ID_TYPOGRAPHIC_FAMILY):
  16899. fallthrough
  16900. case int32(m_TT_NAME_ID_FONT_FAMILY):
  16901. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16902. libc.Xprintf(tls, __ccgo_ts+4281, libc.VaList(bp+616, libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fname_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fplatform_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fencoding_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Flanguage_id)))
  16903. }
  16904. obj1 = int32(_FC_FAMILY_OBJECT)
  16905. objlang = int32(_FC_FAMILYLANG_OBJECT)
  16906. np = bp + 80
  16907. nlangp = bp + 84
  16908. case int32(m_TT_NAME_ID_MAC_FULL_NAME):
  16909. fallthrough
  16910. case int32(m_TT_NAME_ID_FULL_NAME):
  16911. if variable != 0 {
  16912. break
  16913. }
  16914. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16915. libc.Xprintf(tls, __ccgo_ts+4321, libc.VaList(bp+616, libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fname_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fplatform_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fencoding_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Flanguage_id)))
  16916. }
  16917. obj1 = int32(_FC_FULLNAME_OBJECT)
  16918. objlang = int32(_FC_FULLNAMELANG_OBJECT)
  16919. np = bp + 96
  16920. nlangp = bp + 100
  16921. case int32(m_TT_NAME_ID_WWS_SUBFAMILY):
  16922. fallthrough
  16923. case int32(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY):
  16924. fallthrough
  16925. case int32(m_TT_NAME_ID_FONT_SUBFAMILY):
  16926. if variable != 0 {
  16927. break
  16928. }
  16929. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16930. libc.Xprintf(tls, __ccgo_ts+4361, libc.VaList(bp+616, libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fname_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fplatform_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fencoding_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Flanguage_id)))
  16931. }
  16932. obj1 = int32(_FC_STYLE_OBJECT)
  16933. objlang = int32(_FC_STYLELANG_OBJECT)
  16934. np = bp + 88
  16935. nlangp = bp + 92
  16936. case int32(m_TT_NAME_ID_TRADEMARK):
  16937. fallthrough
  16938. case int32(m_TT_NAME_ID_MANUFACTURER):
  16939. /* If the foundry wasn't found in the OS/2 table, look here */
  16940. if !(foundry != 0) {
  16941. utf8 = _FcSfntNameTranscode(tls, bp+136)
  16942. foundry = _FcNoticeFoundry(tls, utf8)
  16943. libc.Xfree(tls, utf8)
  16944. }
  16945. break
  16946. }
  16947. if obj1 != int32(_FC_INVALID_OBJECT) {
  16948. utf81 = _FcSfntNameTranscode(tls, bp+136)
  16949. lang = _FcSfntNameLanguage(tls, bp+136)
  16950. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16951. if utf81 != 0 {
  16952. v15 = utf81
  16953. } else {
  16954. v15 = __ccgo_ts + 4402
  16955. }
  16956. libc.Xprintf(tls, __ccgo_ts+4409, libc.VaList(bp+616, v15))
  16957. }
  16958. if !(utf81 != 0) {
  16959. goto _14
  16960. }
  16961. /* Trim surrounding whitespace. */
  16962. pp = utf81
  16963. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(pp))) == int32(' ') {
  16964. pp++
  16965. }
  16966. len1 = libc.Xstrlen(tls, pp)
  16967. libc.Xmemmove(tls, utf81, pp, len1+uint64(1))
  16968. pp = utf81 + uintptr(len1)
  16969. for pp > utf81 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(pp - libc.UintptrFromInt32(1)))) == int32(' ') {
  16970. pp--
  16971. }
  16972. *(*TFcChar8)(unsafe.Pointer(pp)) = uint8(0)
  16973. if _FcStringInPatternElement(tls, pat, obj1, utf81) != 0 {
  16974. libc.Xfree(tls, utf81)
  16975. goto _14
  16976. }
  16977. /* add new element */
  16978. if !(XFcPatternObjectAddString(tls, pat, obj1, utf81) != 0) {
  16979. libc.Xfree(tls, utf81)
  16980. goto bail1
  16981. }
  16982. libc.Xfree(tls, utf81)
  16983. if lang != 0 {
  16984. /* pad lang list with 'und' to line up with elt */
  16985. for *(*int32)(unsafe.Pointer(nlangp)) < *(*int32)(unsafe.Pointer(np)) {
  16986. if !(XFcPatternObjectAddString(tls, pat, objlang, __ccgo_ts+1356) != 0) {
  16987. goto bail1
  16988. }
  16989. *(*int32)(unsafe.Pointer(nlangp))++
  16990. }
  16991. if !(XFcPatternObjectAddString(tls, pat, objlang, lang) != 0) {
  16992. goto bail1
  16993. }
  16994. *(*int32)(unsafe.Pointer(nlangp))++
  16995. }
  16996. *(*int32)(unsafe.Pointer(np))++
  16997. }
  16998. goto _14
  16999. _14:
  17000. ;
  17001. nameidx++
  17002. v13 = nameidx
  17003. if !(v13 < name_count && libfreetype.XFT_Get_Sfnt_Name(tls, face, (*(*TFcNameMapping)(unsafe.Pointer(name_mapping + uintptr(nameidx)*20))).Fidx, bp+136) == 0 && platform == libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fplatform_id) && lookupid == libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fname_id)) {
  17004. break
  17005. }
  17006. }
  17007. goto _11
  17008. _11:
  17009. ;
  17010. n++
  17011. }
  17012. goto _10
  17013. _10:
  17014. ;
  17015. p++
  17016. }
  17017. if !(nm_share != 0) {
  17018. libc.Xfree(tls, name_mapping)
  17019. name_mapping = libc.UintptrFromInt32(0)
  17020. }
  17021. if !(*(*int32)(unsafe.Pointer(bp + 80)) != 0) && (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name != 0 && XFcStrCmpIgnoreBlanksAndCase(tls, (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name, __ccgo_ts+110) != 0 {
  17022. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17023. libc.Xprintf(tls, __ccgo_ts+4413, libc.VaList(bp+616, (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name))
  17024. }
  17025. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILY_OBJECT), (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name) != 0) {
  17026. goto bail1
  17027. }
  17028. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), __ccgo_ts+2787) != 0) {
  17029. goto bail1
  17030. }
  17031. *(*int32)(unsafe.Pointer(bp + 80))++
  17032. }
  17033. if !(variable != 0) && !(*(*int32)(unsafe.Pointer(bp + 88)) != 0) {
  17034. style_regular = __ccgo_ts + 4441
  17035. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name != 0 && XFcStrCmpIgnoreBlanksAndCase(tls, (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name, __ccgo_ts+110) != 0 {
  17036. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17037. libc.Xprintf(tls, __ccgo_ts+4449, libc.VaList(bp+616, (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name))
  17038. }
  17039. ss = (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name
  17040. } else {
  17041. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17042. libc.Xprintf(tls, __ccgo_ts+4476, 0)
  17043. }
  17044. ss = style_regular
  17045. }
  17046. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_STYLE_OBJECT), ss) != 0) {
  17047. goto bail1
  17048. }
  17049. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_STYLELANG_OBJECT), __ccgo_ts+2787) != 0) {
  17050. goto bail1
  17051. }
  17052. *(*int32)(unsafe.Pointer(bp + 88))++
  17053. }
  17054. if !(*(*int32)(unsafe.Pointer(bp + 80)) != 0) && file != 0 && *(*TFcChar8)(unsafe.Pointer(file)) != 0 {
  17055. start = libc.Xstrrchr(tls, file, int32('/'))
  17056. if start != 0 {
  17057. start++
  17058. } else {
  17059. start = file
  17060. }
  17061. end = libc.Xstrrchr(tls, start, int32('.'))
  17062. if !(end != 0) {
  17063. end = start + uintptr(libc.Xstrlen(tls, start))
  17064. }
  17065. /* freed below */
  17066. family = libc.Xmalloc(tls, libc.Uint64FromInt64(int64(end)-int64(start)+int64(1)))
  17067. libc.Xstrncpy(tls, family, start, libc.Uint64FromInt64(int64(end)-int64(start)))
  17068. *(*TFcChar8)(unsafe.Pointer(family + uintptr(int64(end)-int64(start)))) = uint8('\000')
  17069. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17070. libc.Xprintf(tls, __ccgo_ts+4508, libc.VaList(bp+616, family))
  17071. }
  17072. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILY_OBJECT), family) != 0) {
  17073. libc.Xfree(tls, family)
  17074. goto bail1
  17075. }
  17076. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), __ccgo_ts+2787) != 0) {
  17077. libc.Xfree(tls, family)
  17078. goto bail1
  17079. }
  17080. libc.Xfree(tls, family)
  17081. *(*int32)(unsafe.Pointer(bp + 80))++
  17082. }
  17083. /* Add the fullname into the cache */
  17084. if !(variable != 0) && !(*(*int32)(unsafe.Pointer(bp + 96)) != 0) {
  17085. *(*uintptr)(unsafe.Pointer(bp + 176)) = libc.UintptrFromInt32(0)
  17086. n1 = 0
  17087. for XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), n1, bp+176) == int32(_FcResultMatch) {
  17088. if XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), __ccgo_ts+2787) == 0 {
  17089. break
  17090. }
  17091. n1++
  17092. *(*uintptr)(unsafe.Pointer(bp + 176)) = libc.UintptrFromInt32(0)
  17093. }
  17094. if !(*(*uintptr)(unsafe.Pointer(bp + 176)) != 0) {
  17095. n1 = 0
  17096. }
  17097. if XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILY_OBJECT), n1, bp+160) != int32(_FcResultMatch) {
  17098. goto bail1
  17099. }
  17100. len11 = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 160)))
  17101. i4 = len11
  17102. for {
  17103. if !(i4 > uint64(0)) {
  17104. break
  17105. }
  17106. v17 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 160)) + uintptr(i4-uint64(1)))))
  17107. v18 = libc.BoolInt32(v17 == int32(' ') || libc.Uint32FromInt32(v17)-uint32('\t') < uint32(5))
  17108. goto _19
  17109. _19:
  17110. if !(v18 != 0) {
  17111. break
  17112. }
  17113. goto _16
  17114. _16:
  17115. ;
  17116. i4--
  17117. }
  17118. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 160)) + uintptr(i4))) = uint8(0)
  17119. n1 = 0
  17120. for XFcPatternObjectGetString(tls, pat, int32(_FC_STYLELANG_OBJECT), n1, bp+176) == int32(_FcResultMatch) {
  17121. if XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), __ccgo_ts+2787) == 0 {
  17122. break
  17123. }
  17124. n1++
  17125. *(*uintptr)(unsafe.Pointer(bp + 176)) = libc.UintptrFromInt32(0)
  17126. }
  17127. if !(*(*uintptr)(unsafe.Pointer(bp + 176)) != 0) {
  17128. n1 = 0
  17129. }
  17130. if XFcPatternObjectGetString(tls, pat, int32(_FC_STYLE_OBJECT), n1, bp+168) != int32(_FcResultMatch) {
  17131. goto bail1
  17132. }
  17133. len11 = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 168)))
  17134. i4 = uint64(0)
  17135. for {
  17136. if v24 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 168)) + uintptr(i4)))) != 0; v24 {
  17137. v21 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 168)) + uintptr(i4))))
  17138. v22 = libc.BoolInt32(v21 == int32(' ') || libc.Uint32FromInt32(v21)-uint32('\t') < uint32(5))
  17139. goto _23
  17140. _23:
  17141. }
  17142. if !(v24 && v22 != 0) {
  17143. break
  17144. }
  17145. goto _20
  17146. _20:
  17147. ;
  17148. i4++
  17149. }
  17150. libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 168)), *(*uintptr)(unsafe.Pointer(bp + 168))+uintptr(i4), len11-i4)
  17151. XFcStrBufInit(tls, bp+184, libc.UintptrFromInt32(0), 0)
  17152. XFcStrBufString(tls, bp+184, *(*uintptr)(unsafe.Pointer(bp + 160)))
  17153. XFcStrBufChar(tls, bp+184, uint8(' '))
  17154. XFcStrBufString(tls, bp+184, *(*uintptr)(unsafe.Pointer(bp + 168)))
  17155. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FULLNAME_OBJECT), XFcStrBufDoneStatic(tls, bp+184)) != 0) {
  17156. XFcStrBufDestroy(tls, bp+184)
  17157. goto bail1
  17158. }
  17159. XFcStrBufDestroy(tls, bp+184)
  17160. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FULLNAMELANG_OBJECT), __ccgo_ts+2787) != 0) {
  17161. goto bail1
  17162. }
  17163. *(*int32)(unsafe.Pointer(bp + 96))++
  17164. }
  17165. /* Add the PostScript name into the cache */
  17166. if !(variable != 0) {
  17167. tmp = libfreetype.XFT_Get_Postscript_Name(tls, face)
  17168. if !(tmp != 0) {
  17169. *(*uintptr)(unsafe.Pointer(bp + 600)) = libc.UintptrFromInt32(0)
  17170. n2 = 0
  17171. /* Workaround when FT_Get_Postscript_Name didn't give any name.
  17172. * try to find out the English family name and convert.
  17173. */
  17174. for XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), n2, bp+600) == int32(_FcResultMatch) {
  17175. if XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer(bp + 600)), __ccgo_ts+2787) == 0 {
  17176. break
  17177. }
  17178. n2++
  17179. *(*uintptr)(unsafe.Pointer(bp + 600)) = libc.UintptrFromInt32(0)
  17180. }
  17181. if !(*(*uintptr)(unsafe.Pointer(bp + 600)) != 0) {
  17182. n2 = 0
  17183. }
  17184. if XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILY_OBJECT), n2, bp+592) != int32(_FcResultMatch) {
  17185. goto bail1
  17186. }
  17187. len2 = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 592)))
  17188. /* the literal name in PostScript Language is limited to 127 characters though,
  17189. * It is the architectural limit. so assuming 255 characters may works enough.
  17190. */
  17191. i5 = uint32(0)
  17192. for {
  17193. if !(uint64(i5) < len2 && i5 < uint32(255)) {
  17194. break
  17195. }
  17196. if libc.Xstrchr(tls, uintptr(unsafe.Pointer(&_exclusive_chars)), libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 592)) + uintptr(i5))))) != libc.UintptrFromInt32(0) {
  17197. (*(*[256]uint8)(unsafe.Pointer(bp + 336)))[i5] = uint8('-')
  17198. } else {
  17199. (*(*[256]uint8)(unsafe.Pointer(bp + 336)))[i5] = *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 592)) + uintptr(i5)))
  17200. }
  17201. goto _25
  17202. _25:
  17203. ;
  17204. i5++
  17205. }
  17206. (*(*[256]uint8)(unsafe.Pointer(bp + 336)))[i5] = uint8(0)
  17207. } else {
  17208. libc.Xstrncpy(tls, bp+336, tmp, uint64(255))
  17209. (*(*[256]uint8)(unsafe.Pointer(bp + 336)))[int32(255)] = uint8(0)
  17210. }
  17211. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_POSTSCRIPT_NAME_OBJECT), bp+336) != 0) {
  17212. goto bail1
  17213. }
  17214. }
  17215. if file != 0 && *(*TFcChar8)(unsafe.Pointer(file)) != 0 && !(XFcPatternObjectAddString(tls, pat, int32(_FC_FILE_OBJECT), file) != 0) {
  17216. goto bail1
  17217. }
  17218. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_INDEX_OBJECT), libc.Int32FromUint32(id)) != 0) {
  17219. goto bail1
  17220. }
  17221. /*
  17222. * Find the font revision (if available)
  17223. */
  17224. head = libfreetype.XFT_Get_Sfnt_Table(tls, face, int32(_FT_SFNT_HEAD))
  17225. if head != 0 {
  17226. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_FONTVERSION_OBJECT), int32((*TTT_Header)(unsafe.Pointer(head)).FFont_Revision)) != 0) {
  17227. goto bail1
  17228. }
  17229. } else {
  17230. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_FONTVERSION_OBJECT), 0) != 0) {
  17231. goto bail1
  17232. }
  17233. }
  17234. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_ORDER_OBJECT), 0) != 0) {
  17235. goto bail1
  17236. }
  17237. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0001) && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  17238. i6 = uint32(0)
  17239. for {
  17240. if !(i6 < libc.Uint32FromInt32(libc.Int32FromUint64(libc.Uint64FromInt64(28)/libc.Uint64FromInt64(7)))) {
  17241. break
  17242. }
  17243. if libc.Int32FromUint8(_FcCodePageRange[i6].Fbit) < int32(32) {
  17244. bits = (*TTT_OS2)(unsafe.Pointer(os2)).FulCodePageRange1
  17245. bit = libc.Int32FromUint8(_FcCodePageRange[i6].Fbit)
  17246. } else {
  17247. bits = (*TTT_OS2)(unsafe.Pointer(os2)).FulCodePageRange2
  17248. bit = libc.Int32FromUint8(_FcCodePageRange[i6].Fbit) - int32(32)
  17249. }
  17250. if bits&uint64(libc.Uint32FromUint32(1)<<bit) != 0 {
  17251. /*
  17252. * If the font advertises support for multiple
  17253. * "exclusive" languages, then include support
  17254. * for any language found to have coverage
  17255. */
  17256. if exclusiveLang != 0 {
  17257. exclusiveLang = uintptr(0)
  17258. break
  17259. }
  17260. exclusiveLang = uintptr(unsafe.Pointer(&_FcCodePageRange)) + uintptr(i6)*7 + 1
  17261. }
  17262. goto _26
  17263. _26:
  17264. ;
  17265. i6++
  17266. }
  17267. }
  17268. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  17269. weight = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusWeightClass)
  17270. weight = XIA__FcWeightFromOpenTypeDouble(tls, weight*weight_mult)
  17271. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 && weight != float64(-libc.Int32FromInt32(1)) {
  17272. libc.Xprintf(tls, __ccgo_ts+4538, libc.VaList(bp+616, libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWeightClass), weight_mult, weight))
  17273. }
  17274. switch libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWidthClass) {
  17275. case int32(1):
  17276. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRACONDENSED)
  17277. case int32(2):
  17278. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRACONDENSED)
  17279. case int32(3):
  17280. width = libc.Float64FromInt32(m_FC_WIDTH_CONDENSED)
  17281. case int32(4):
  17282. width = libc.Float64FromInt32(m_FC_WIDTH_SEMICONDENSED)
  17283. case int32(5):
  17284. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  17285. case int32(6):
  17286. width = libc.Float64FromInt32(m_FC_WIDTH_SEMIEXPANDED)
  17287. case int32(7):
  17288. width = libc.Float64FromInt32(m_FC_WIDTH_EXPANDED)
  17289. case int32(8):
  17290. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRAEXPANDED)
  17291. case int32(9):
  17292. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRAEXPANDED)
  17293. break
  17294. }
  17295. width *= width_mult
  17296. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 && width != float64(-libc.Int32FromInt32(1)) {
  17297. libc.Xprintf(tls, __ccgo_ts+4592, libc.VaList(bp+616, libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWidthClass), width_mult, width))
  17298. }
  17299. }
  17300. if v28 = os2 != 0; v28 {
  17301. v27 = _FcFontCapabilities(tls, face)
  17302. complex_ = v27
  17303. }
  17304. if v28 && v27 != 0 {
  17305. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_CAPABILITY_OBJECT), complex_) != 0) {
  17306. libc.Xfree(tls, complex_)
  17307. goto bail1
  17308. }
  17309. libc.Xfree(tls, complex_)
  17310. }
  17311. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_FONT_HAS_HINT_OBJECT), _FcFontHasHint(tls, face)) != 0) {
  17312. goto bail1
  17313. }
  17314. if !(variable_size != 0) && os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0005) && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  17315. /* usLowerPointSize and usUpperPointSize is actually twips */
  17316. lower_size = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusLowerOpticalPointSize) / libc.Float64FromFloat64(20)
  17317. upper_size = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusUpperOpticalPointSize) / libc.Float64FromFloat64(20)
  17318. if lower_size == upper_size {
  17319. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), lower_size) != 0) {
  17320. goto bail1
  17321. }
  17322. } else {
  17323. r1 = XIA__FcRangeCreateDouble(tls, lower_size, upper_size)
  17324. if !(XFcPatternObjectAddRange(tls, pat, int32(_FC_SIZE_OBJECT), r1) != 0) {
  17325. XIA__FcRangeDestroy(tls, r1)
  17326. goto bail1
  17327. }
  17328. XIA__FcRangeDestroy(tls, r1)
  17329. }
  17330. }
  17331. /*
  17332. * Type 1: Check for FontInfo dictionary information
  17333. * Code from g2@magestudios.net (Gerard Escalante)
  17334. */
  17335. if libfreetype.XFT_Get_PS_Font_Info(tls, face, bp+8) == 0 {
  17336. if weight == float64(-libc.Int32FromInt32(1)) && (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 8))).Fweight != 0 {
  17337. weight = float64(_FcStringIsConst(tls, (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 8))).Fweight, uintptr(unsafe.Pointer(&_weightConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(368)/libc.Uint64FromInt64(16))))
  17338. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17339. libc.Xprintf(tls, __ccgo_ts+4644, libc.VaList(bp+616, (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 8))).Fweight, weight))
  17340. }
  17341. }
  17342. if !(foundry != 0) {
  17343. foundry = _FcNoticeFoundry(tls, (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 8))).Fnotice)
  17344. }
  17345. }
  17346. /*
  17347. * Finally, look for a FOUNDRY BDF property if no other
  17348. * mechanism has managed to locate a foundry
  17349. */
  17350. if !(foundry != 0) {
  17351. rc = libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4673, bp+64)
  17352. if rc == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_ATOM) {
  17353. foundry = *(*uintptr)(unsafe.Pointer(bp + 64 + 8))
  17354. }
  17355. }
  17356. if width == float64(-libc.Int32FromInt32(1)) {
  17357. if libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4681, bp+64) == 0 && ((*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_INTEGER) || (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_CARDINAL)) {
  17358. if (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_INTEGER) {
  17359. value1 = *(*TFT_Int32)(unsafe.Pointer(bp + 64 + 8))
  17360. } else {
  17361. value1 = libc.Int32FromUint32(*(*TFT_UInt32)(unsafe.Pointer(bp + 64 + 8)))
  17362. }
  17363. switch (value1 + libc.Int32FromInt32(5)) / libc.Int32FromInt32(10) {
  17364. case int32(1):
  17365. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRACONDENSED)
  17366. case int32(2):
  17367. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRACONDENSED)
  17368. case int32(3):
  17369. width = libc.Float64FromInt32(m_FC_WIDTH_CONDENSED)
  17370. case int32(4):
  17371. width = libc.Float64FromInt32(m_FC_WIDTH_SEMICONDENSED)
  17372. case int32(5):
  17373. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  17374. case int32(6):
  17375. width = libc.Float64FromInt32(m_FC_WIDTH_SEMIEXPANDED)
  17376. case int32(7):
  17377. width = libc.Float64FromInt32(m_FC_WIDTH_EXPANDED)
  17378. case int32(8):
  17379. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRAEXPANDED)
  17380. case int32(9):
  17381. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRAEXPANDED)
  17382. break
  17383. }
  17384. }
  17385. if width == float64(-libc.Int32FromInt32(1)) && libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4699, bp+64) == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_ATOM) && *(*uintptr)(unsafe.Pointer(bp + 64 + 8)) != libc.UintptrFromInt32(0) {
  17386. width = float64(_FcStringIsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), uintptr(unsafe.Pointer(&_widthConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(16))))
  17387. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17388. libc.Xprintf(tls, __ccgo_ts+4713, libc.VaList(bp+616, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), width))
  17389. }
  17390. }
  17391. }
  17392. /*
  17393. * Look for weight, width and slant names in the style value
  17394. */
  17395. st = 0
  17396. for {
  17397. if !(XIA__FcPatternGetString(tls, pat, __ccgo_ts+4738, st, bp+104) == int32(_FcResultMatch)) {
  17398. break
  17399. }
  17400. if weight == float64(-libc.Int32FromInt32(1)) {
  17401. weight = float64(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), uintptr(unsafe.Pointer(&_weightConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(368)/libc.Uint64FromInt64(16))))
  17402. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17403. libc.Xprintf(tls, __ccgo_ts+4744, libc.VaList(bp+616, *(*uintptr)(unsafe.Pointer(bp + 104)), weight))
  17404. }
  17405. }
  17406. if width == float64(-libc.Int32FromInt32(1)) {
  17407. width = float64(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), uintptr(unsafe.Pointer(&_widthConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(16))))
  17408. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17409. libc.Xprintf(tls, __ccgo_ts+4773, libc.VaList(bp+616, *(*uintptr)(unsafe.Pointer(bp + 104)), width))
  17410. }
  17411. }
  17412. if slant == -int32(1) {
  17413. slant = _FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), uintptr(unsafe.Pointer(&_slantConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(48)/libc.Uint64FromInt64(16)))
  17414. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17415. libc.Xprintf(tls, __ccgo_ts+4801, libc.VaList(bp+616, *(*uintptr)(unsafe.Pointer(bp + 104)), slant))
  17416. }
  17417. }
  17418. if decorative == m_FcFalse {
  17419. decorative = libc.BoolInt32(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), uintptr(unsafe.Pointer(&_decorativeConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(96)/libc.Uint64FromInt64(16))) > 0)
  17420. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17421. libc.Xprintf(tls, __ccgo_ts+4829, libc.VaList(bp+616, *(*uintptr)(unsafe.Pointer(bp + 104)), decorative))
  17422. }
  17423. }
  17424. goto _29
  17425. _29:
  17426. ;
  17427. st++
  17428. }
  17429. /*
  17430. * Pull default values from the FreeType flags if more
  17431. * specific values not found above
  17432. */
  17433. if slant == -int32(1) {
  17434. slant = m_FC_SLANT_ROMAN
  17435. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_flags&int64(libc.Int32FromInt32(1)<<libc.Int32FromInt32(0)) != 0 {
  17436. slant = int32(m_FC_SLANT_ITALIC)
  17437. }
  17438. }
  17439. if weight == float64(-libc.Int32FromInt32(1)) {
  17440. weight = libc.Float64FromInt32(m_FC_WEIGHT_MEDIUM)
  17441. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_flags&int64(libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)) != 0 {
  17442. weight = libc.Float64FromInt32(m_FC_WEIGHT_BOLD)
  17443. }
  17444. }
  17445. if width == float64(-libc.Int32FromInt32(1)) {
  17446. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  17447. }
  17448. if foundry == uintptr(0) {
  17449. foundry = __ccgo_ts + 4862
  17450. }
  17451. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_SLANT_OBJECT), slant) != 0) {
  17452. goto bail1
  17453. }
  17454. if !(variable_weight != 0) && !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_WEIGHT_OBJECT), weight) != 0) {
  17455. goto bail1
  17456. }
  17457. if !(variable_width != 0) && !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_WIDTH_OBJECT), width) != 0) {
  17458. goto bail1
  17459. }
  17460. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FOUNDRY_OBJECT), foundry) != 0) {
  17461. goto bail1
  17462. }
  17463. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_DECORATIVE_OBJECT), decorative) != 0) {
  17464. goto bail1
  17465. }
  17466. /*
  17467. * Compute the unicode coverage for the font
  17468. */
  17469. if cs_share != 0 && *(*uintptr)(unsafe.Pointer(cs_share)) != 0 {
  17470. cs = XIA__FcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(cs_share)))
  17471. } else {
  17472. cs = XIA__FcFreeTypeCharSet(tls, face, libc.UintptrFromInt32(0))
  17473. if cs_share != 0 {
  17474. *(*uintptr)(unsafe.Pointer(cs_share)) = XIA__FcCharSetCopy(tls, cs)
  17475. }
  17476. }
  17477. if !(cs != 0) {
  17478. goto bail1
  17479. }
  17480. /* The FcFreeTypeCharSet() chose the encoding; test it for symbol. */
  17481. symbol = libc.BoolInt32((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0 && (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding == int32(_FT_ENCODING_MS_SYMBOL))
  17482. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_SYMBOL_OBJECT), symbol) != 0) {
  17483. goto bail1
  17484. }
  17485. spacing = _FcFreeTypeSpacing(tls, face)
  17486. /* For PCF fonts, override the computed spacing with the one from
  17487. the property */
  17488. if libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4870, bp+64) == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_ATOM) && *(*uintptr)(unsafe.Pointer(bp + 64 + 8)) != libc.UintptrFromInt32(0) {
  17489. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4878) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4880) != 0) {
  17490. spacing = int32(m_FC_CHARCELL)
  17491. } else {
  17492. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4882) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4884) != 0) {
  17493. spacing = int32(m_FC_MONO)
  17494. } else {
  17495. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4886) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4888) != 0) {
  17496. spacing = m_FC_PROPORTIONAL
  17497. }
  17498. }
  17499. }
  17500. }
  17501. /*
  17502. * Skip over PCF fonts that have no encoded characters; they're
  17503. * usually just Unicode fonts transcoded to some legacy encoding
  17504. * FT forces us to approximate whether a font is a PCF font
  17505. * or not by whether it has any BDF properties. Try PIXEL_SIZE;
  17506. * I don't know how to get a list of BDF properties on the font. -PL
  17507. */
  17508. if XIA__FcCharSetCount(tls, cs) == uint32(0) {
  17509. if libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4270, bp+64) == 0 {
  17510. goto bail2
  17511. }
  17512. }
  17513. if !(XFcPatternObjectAddCharSet(tls, pat, int32(_FC_CHARSET_OBJECT), cs) != 0) {
  17514. goto bail2
  17515. }
  17516. if !(symbol != 0) {
  17517. if ls_share != 0 && *(*uintptr)(unsafe.Pointer(ls_share)) != 0 {
  17518. ls = XIA__FcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(ls_share)))
  17519. } else {
  17520. ls = XFcFreeTypeLangSet(tls, cs, exclusiveLang)
  17521. if ls_share != 0 {
  17522. *(*uintptr)(unsafe.Pointer(ls_share)) = XIA__FcLangSetCopy(tls, ls)
  17523. }
  17524. }
  17525. if !(ls != 0) {
  17526. goto bail2
  17527. }
  17528. } else {
  17529. /* Symbol fonts don't cover any language, even though they
  17530. * claim to support Latin1 range. */
  17531. ls = XIA__FcLangSetCreate(tls)
  17532. }
  17533. if !(XFcPatternObjectAddLangSet(tls, pat, int32(_FC_LANG_OBJECT), ls) != 0) {
  17534. XIA__FcLangSetDestroy(tls, ls)
  17535. goto bail2
  17536. }
  17537. XIA__FcLangSetDestroy(tls, ls)
  17538. if spacing != m_FC_PROPORTIONAL {
  17539. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_SPACING_OBJECT), spacing) != 0) {
  17540. goto bail2
  17541. }
  17542. }
  17543. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0) {
  17544. i7 = 0
  17545. for {
  17546. if !(i7 < (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes) {
  17547. break
  17548. }
  17549. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_PIXEL_SIZE_OBJECT), _FcGetPixelSize(tls, face, i7)) != 0) {
  17550. goto bail2
  17551. }
  17552. goto _30
  17553. _30:
  17554. ;
  17555. i7++
  17556. }
  17557. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_ANTIALIAS_OBJECT), m_FcFalse) != 0) {
  17558. goto bail2
  17559. }
  17560. }
  17561. /*
  17562. * Use the (not well documented or supported) X-specific function
  17563. * from FreeType to figure out the font format
  17564. */
  17565. font_format = libfreetype.XFT_Get_X11_Font_Format(tls, face)
  17566. if font_format != 0 {
  17567. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FONTFORMAT_OBJECT), font_format) != 0) {
  17568. goto bail2
  17569. }
  17570. }
  17571. /*
  17572. * Drop our reference to the charset
  17573. */
  17574. XIA__FcCharSetDestroy(tls, cs)
  17575. if foundry_ != 0 {
  17576. libc.Xfree(tls, foundry_)
  17577. }
  17578. if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  17579. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph != 0 {
  17580. libfreetype.XFT_Done_MM_Var(tls, (*TFT_GlyphSlotRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph)).Flibrary, *(*uintptr)(unsafe.Pointer(bp)))
  17581. }
  17582. }
  17583. return pat
  17584. goto bail2
  17585. bail2:
  17586. ;
  17587. XIA__FcCharSetDestroy(tls, cs)
  17588. goto bail1
  17589. bail1:
  17590. ;
  17591. XIA__FcPatternDestroy(tls, pat)
  17592. if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  17593. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph != 0 {
  17594. libfreetype.XFT_Done_MM_Var(tls, (*TFT_GlyphSlotRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph)).Flibrary, *(*uintptr)(unsafe.Pointer(bp)))
  17595. }
  17596. }
  17597. if !(nm_share != 0) && name_mapping != 0 {
  17598. libc.Xfree(tls, name_mapping)
  17599. }
  17600. if foundry_ != 0 {
  17601. libc.Xfree(tls, foundry_)
  17602. }
  17603. goto bail0
  17604. bail0:
  17605. ;
  17606. return libc.UintptrFromInt32(0)
  17607. return r2
  17608. }
  17609. /* those characters are not allowed to be the literal name in PostScript */
  17610. var _exclusive_chars = [16]uint8{4, '(', ')', '/', '<', '>', '[', ']', '{', '}', 9, 12, 13, 10, ' '}
  17611. func XIA__FcFreeTypeQueryFace(tls *libc.TLS, face TFT_Face, file uintptr, id uint32, blanks uintptr) (r uintptr) {
  17612. return _FcFreeTypeQueryFaceInternal(tls, face, file, id, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  17613. }
  17614. var XFcFreeTypeQueryFace = XIA__FcFreeTypeQueryFace
  17615. func XIA__FcFreeTypeQuery(tls *libc.TLS, file uintptr, id uint32, blanks uintptr, count uintptr) (r uintptr) {
  17616. bp := tls.Alloc(16)
  17617. defer tls.Free(16)
  17618. var pat uintptr
  17619. var _ /* face at bp+0 */ TFT_Face
  17620. var _ /* ftLibrary at bp+8 */ TFT_Library
  17621. _ = pat
  17622. pat = libc.UintptrFromInt32(0)
  17623. if libfreetype.XFT_Init_FreeType(tls, bp+8) != 0 {
  17624. return libc.UintptrFromInt32(0)
  17625. }
  17626. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), file, libc.Int64FromUint32(id&uint32(0x7FFFFFFF)), bp) != 0 {
  17627. goto bail
  17628. }
  17629. if count != 0 {
  17630. *(*int32)(unsafe.Pointer(count)) = int32((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fnum_faces)
  17631. }
  17632. pat = _FcFreeTypeQueryFaceInternal(tls, *(*TFT_Face)(unsafe.Pointer(bp)), file, id, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  17633. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  17634. goto bail
  17635. bail:
  17636. ;
  17637. libfreetype.XFT_Done_FreeType(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)))
  17638. return pat
  17639. }
  17640. var XFcFreeTypeQuery = XIA__FcFreeTypeQuery
  17641. func XIA__FcFreeTypeQueryAll(tls *libc.TLS, file uintptr, id uint32, blanks uintptr, count uintptr, set uintptr) (r uint32) {
  17642. bp := tls.Alloc(48)
  17643. defer tls.Free(48)
  17644. var coords, instance, pat uintptr
  17645. var err int32
  17646. var face_num, i, instance_num, num_faces, num_instances, ret, set_face_num, set_instance_num, v1, v2 uint32
  17647. var index_set, nonzero TFcBool
  17648. var _ /* cs at bp+16 */ uintptr
  17649. var _ /* face at bp+0 */ TFT_Face
  17650. var _ /* ftLibrary at bp+8 */ TFT_Library
  17651. var _ /* ls at bp+24 */ uintptr
  17652. var _ /* mm_var at bp+40 */ uintptr
  17653. var _ /* nm at bp+32 */ uintptr
  17654. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = coords, err, face_num, i, index_set, instance, instance_num, nonzero, num_faces, num_instances, pat, ret, set_face_num, set_instance_num, v1, v2
  17655. *(*TFT_Face)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  17656. *(*TFT_Library)(unsafe.Pointer(bp + 8)) = libc.UintptrFromInt32(0)
  17657. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  17658. *(*uintptr)(unsafe.Pointer(bp + 24)) = libc.UintptrFromInt32(0)
  17659. *(*uintptr)(unsafe.Pointer(bp + 32)) = libc.UintptrFromInt32(0)
  17660. *(*uintptr)(unsafe.Pointer(bp + 40)) = libc.UintptrFromInt32(0)
  17661. index_set = libc.BoolInt32(id != libc.Uint32FromInt32(-libc.Int32FromInt32(1)))
  17662. if index_set != 0 {
  17663. v1 = id & uint32(0xFFFF)
  17664. } else {
  17665. v1 = uint32(0)
  17666. }
  17667. set_face_num = v1
  17668. if index_set != 0 {
  17669. v2 = id >> int32(16)
  17670. } else {
  17671. v2 = uint32(0)
  17672. }
  17673. set_instance_num = v2
  17674. face_num = set_face_num
  17675. instance_num = set_instance_num
  17676. num_faces = uint32(0)
  17677. num_instances = uint32(0)
  17678. ret = uint32(0)
  17679. err = 0
  17680. if count != 0 {
  17681. *(*int32)(unsafe.Pointer(count)) = 0
  17682. }
  17683. if libfreetype.XFT_Init_FreeType(tls, bp+8) != 0 {
  17684. return uint32(0)
  17685. }
  17686. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), file, libc.Int64FromUint32(face_num), bp) != 0 {
  17687. goto bail
  17688. }
  17689. num_faces = libc.Uint32FromInt64((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fnum_faces)
  17690. num_instances = libc.Uint32FromInt64((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fstyle_flags >> int32(16))
  17691. if num_instances != 0 && (!(index_set != 0) || instance_num != 0) {
  17692. libfreetype.XFT_Get_MM_Var(tls, *(*TFT_Face)(unsafe.Pointer(bp)), bp+40)
  17693. if !(*(*uintptr)(unsafe.Pointer(bp + 40)) != 0) {
  17694. num_instances = uint32(0)
  17695. }
  17696. }
  17697. if count != 0 {
  17698. *(*int32)(unsafe.Pointer(count)) = libc.Int32FromUint32(num_faces)
  17699. }
  17700. for cond := true; cond; cond = !(err != 0) && (!(index_set != 0) || face_num == set_face_num) && face_num < num_faces {
  17701. pat = libc.UintptrFromInt32(0)
  17702. if instance_num == uint32(0x8000) || instance_num > num_instances {
  17703. libfreetype.XFT_Set_Var_Design_Coordinates(tls, *(*TFT_Face)(unsafe.Pointer(bp)), uint32(0), libc.UintptrFromInt32(0))
  17704. } else {
  17705. if instance_num != 0 {
  17706. instance = (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Fnamedstyle + uintptr(instance_num-uint32(1))*16
  17707. coords = (*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fcoords
  17708. /* Skip named-instance that coincides with base instance. */
  17709. nonzero = m_FcFalse
  17710. i = uint32(0)
  17711. for {
  17712. if !(i < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Fnum_axis) {
  17713. break
  17714. }
  17715. if *(*TFT_Fixed)(unsafe.Pointer(coords + uintptr(i)*8)) != (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Faxis + uintptr(i)*48))).Fdef {
  17716. nonzero = int32(m_FcTrue)
  17717. break
  17718. }
  17719. goto _3
  17720. _3:
  17721. ;
  17722. i++
  17723. }
  17724. if !(nonzero != 0) {
  17725. goto skip
  17726. }
  17727. libfreetype.XFT_Set_Var_Design_Coordinates(tls, *(*TFT_Face)(unsafe.Pointer(bp)), (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Fnum_axis, coords)
  17728. }
  17729. }
  17730. id = instance_num<<int32(16) + face_num
  17731. pat = _FcFreeTypeQueryFaceInternal(tls, *(*TFT_Face)(unsafe.Pointer(bp)), file, id, bp+16, bp+24, bp+32)
  17732. if pat != 0 {
  17733. ret++
  17734. if !(set != 0) || !(XIA__FcFontSetAdd(tls, set, pat) != 0) {
  17735. XIA__FcPatternDestroy(tls, pat)
  17736. }
  17737. } else {
  17738. if instance_num != uint32(0x8000) {
  17739. err = int32(1)
  17740. }
  17741. }
  17742. goto skip
  17743. skip:
  17744. ;
  17745. if !(index_set != 0) && instance_num < num_instances {
  17746. instance_num++
  17747. } else {
  17748. if !(index_set != 0) && instance_num == num_instances {
  17749. instance_num = uint32(0x8000)
  17750. } else {
  17751. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
  17752. *(*uintptr)(unsafe.Pointer(bp + 32)) = libc.UintptrFromInt32(0)
  17753. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
  17754. *(*uintptr)(unsafe.Pointer(bp + 24)) = libc.UintptrFromInt32(0)
  17755. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  17756. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  17757. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  17758. *(*TFT_Face)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  17759. face_num++
  17760. instance_num = set_instance_num
  17761. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), file, libc.Int64FromUint32(face_num), bp) != 0 {
  17762. break
  17763. }
  17764. }
  17765. }
  17766. }
  17767. goto bail
  17768. bail:
  17769. ;
  17770. libfreetype.XFT_Done_MM_Var(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 40)))
  17771. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
  17772. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  17773. if *(*TFT_Face)(unsafe.Pointer(bp)) != 0 {
  17774. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  17775. }
  17776. libfreetype.XFT_Done_FreeType(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)))
  17777. if *(*uintptr)(unsafe.Pointer(bp + 32)) != 0 {
  17778. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
  17779. }
  17780. return ret
  17781. }
  17782. var XFcFreeTypeQueryAll = XIA__FcFreeTypeQueryAll
  17783. var _fcFontEncodings = [2]TFT_Encoding{
  17784. 0: int32(_FT_ENCODING_UNICODE),
  17785. 1: int32(_FT_ENCODING_MS_SYMBOL),
  17786. }
  17787. /*
  17788. * Map a UCS4 glyph to a glyph index. Use all available encoding
  17789. * tables to try and find one that works. This information is expected
  17790. * to be cached by higher levels, so performance isn't critical
  17791. */
  17792. func XIA__FcFreeTypeCharIndex(tls *libc.TLS, face TFT_Face, ucs4 TFcChar32) (r TFT_UInt) {
  17793. var decode, initial, offset int32
  17794. var glyphindex TFT_UInt
  17795. _, _, _, _ = decode, glyphindex, initial, offset
  17796. initial = 0
  17797. if !(face != 0) {
  17798. return uint32(0)
  17799. }
  17800. /*
  17801. * Find the current encoding
  17802. */
  17803. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0 {
  17804. for {
  17805. if !(initial < libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  17806. break
  17807. }
  17808. if _fcFontEncodings[initial] == (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding {
  17809. break
  17810. }
  17811. goto _1
  17812. _1:
  17813. ;
  17814. initial++
  17815. }
  17816. if initial == libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4)) {
  17817. initial = 0
  17818. }
  17819. }
  17820. /*
  17821. * Check each encoding for the glyph, starting with the current one
  17822. */
  17823. offset = 0
  17824. for {
  17825. if !(offset < libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  17826. break
  17827. }
  17828. decode = (initial + offset) % libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))
  17829. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0) || (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding != _fcFontEncodings[decode] {
  17830. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[decode]) != 0 {
  17831. goto _2
  17832. }
  17833. }
  17834. glyphindex = libfreetype.XFT_Get_Char_Index(tls, face, uint64(ucs4))
  17835. if glyphindex != 0 {
  17836. return glyphindex
  17837. }
  17838. if ucs4 < uint32(0x100) && (*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0 && (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding == int32(_FT_ENCODING_MS_SYMBOL) {
  17839. /* For symbol-encoded OpenType fonts, we duplicate the
  17840. * U+F000..F0FF range at U+0000..U+00FF. That's what
  17841. * Windows seems to do, and that's hinted about at:
  17842. * http://www.microsoft.com/typography/otspec/recom.htm
  17843. * under "Non-Standard (Symbol) Fonts".
  17844. *
  17845. * See thread with subject "Webdings and other MS symbol
  17846. * fonts don't display" on mailing list from May 2015.
  17847. */
  17848. glyphindex = libfreetype.XFT_Get_Char_Index(tls, face, uint64(ucs4)+uint64(0xF000))
  17849. if glyphindex != 0 {
  17850. return glyphindex
  17851. }
  17852. }
  17853. goto _2
  17854. _2:
  17855. ;
  17856. offset++
  17857. }
  17858. return uint32(0)
  17859. }
  17860. var XFcFreeTypeCharIndex = XIA__FcFreeTypeCharIndex
  17861. func _fc_min(tls *libc.TLS, a int32, b int32) (r int32) {
  17862. var v1 int32
  17863. _ = v1
  17864. if a <= b {
  17865. v1 = a
  17866. } else {
  17867. v1 = b
  17868. }
  17869. return v1
  17870. }
  17871. func _fc_max(tls *libc.TLS, a int32, b int32) (r int32) {
  17872. var v1 int32
  17873. _ = v1
  17874. if a >= b {
  17875. v1 = a
  17876. } else {
  17877. v1 = b
  17878. }
  17879. return v1
  17880. }
  17881. func _fc_approximately_equal(tls *libc.TLS, x int32, y int32) (r TFcBool) {
  17882. return libc.BoolInt32(libc.Xabs(tls, x-y)*int32(33) <= _fc_max(tls, libc.Xabs(tls, x), libc.Xabs(tls, y)))
  17883. }
  17884. func _FcFreeTypeSpacing(tls *libc.TLS, face TFT_Face) (r int32) {
  17885. bp := tls.Alloc(16)
  17886. defer tls.Free(16)
  17887. var advances [3]TFT_Pos
  17888. var i, load_flags, strike_index TFT_Int
  17889. var j, num_advances, v4 uint32
  17890. var o int32
  17891. var ucs4 TFcChar32
  17892. var _ /* advance at bp+8 */ TFT_Pos
  17893. var _ /* glyph at bp+0 */ TFT_UInt
  17894. _, _, _, _, _, _, _, _, _ = advances, i, j, load_flags, num_advances, o, strike_index, ucs4, v4
  17895. load_flags = int32(libc.Int64FromInt64(1)<<libc.Int32FromInt32(9) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(0) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(1))
  17896. advances = [3]TFT_Pos{}
  17897. num_advances = uint32(0)
  17898. /* When using scalable fonts, only report those glyphs
  17899. * which can be scaled; otherwise those fonts will
  17900. * only be available at some sizes, and never when
  17901. * transformed. Avoid this by simply reporting bitmap-only
  17902. * glyphs as missing
  17903. */
  17904. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0 {
  17905. load_flags = TFT_Int(int64(load_flags) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(3))
  17906. }
  17907. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0) && (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes > 0 && libfreetype.XFT_Get_Sfnt_Table(tls, face, int32(_FT_SFNT_HEAD)) != 0 {
  17908. strike_index = 0
  17909. /* Select the face closest to 16 pixels tall */
  17910. i = int32(1)
  17911. for {
  17912. if !(i < (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes) {
  17913. break
  17914. }
  17915. if libc.Xabs(tls, int32((*(*TFT_Bitmap_Size)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Favailable_sizes + uintptr(i)*32))).Fheight)-int32(16)) < libc.Xabs(tls, int32((*(*TFT_Bitmap_Size)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Favailable_sizes + uintptr(strike_index)*32))).Fheight)-int32(16)) {
  17916. strike_index = i
  17917. }
  17918. goto _1
  17919. _1:
  17920. ;
  17921. i++
  17922. }
  17923. libfreetype.XFT_Select_Size(tls, face, strike_index)
  17924. }
  17925. o = 0
  17926. for {
  17927. if !(o < libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  17928. break
  17929. }
  17930. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[o]) != 0 {
  17931. goto _2
  17932. }
  17933. ucs4 = uint32(libfreetype.XFT_Get_First_Char(tls, face, bp))
  17934. for *(*TFT_UInt)(unsafe.Pointer(bp)) != uint32(0) && num_advances < uint32(3) {
  17935. *(*TFT_Pos)(unsafe.Pointer(bp + 8)) = 0
  17936. if !(libfreetype.XFT_Get_Advance(tls, face, *(*TFT_UInt)(unsafe.Pointer(bp)), load_flags, bp+8) != 0) && *(*TFT_Pos)(unsafe.Pointer(bp + 8)) != 0 {
  17937. j = uint32(0)
  17938. for {
  17939. if !(j < num_advances) {
  17940. break
  17941. }
  17942. if _fc_approximately_equal(tls, int32(*(*TFT_Pos)(unsafe.Pointer(bp + 8))), int32(advances[j])) != 0 {
  17943. break
  17944. }
  17945. goto _3
  17946. _3:
  17947. ;
  17948. j++
  17949. }
  17950. if j == num_advances {
  17951. v4 = num_advances
  17952. num_advances++
  17953. advances[v4] = *(*TFT_Pos)(unsafe.Pointer(bp + 8))
  17954. }
  17955. }
  17956. ucs4 = uint32(libfreetype.XFT_Get_Next_Char(tls, face, uint64(ucs4), bp))
  17957. }
  17958. break
  17959. goto _2
  17960. _2:
  17961. ;
  17962. o++
  17963. }
  17964. if num_advances <= uint32(1) {
  17965. return int32(m_FC_MONO)
  17966. } else {
  17967. if num_advances == uint32(2) && _fc_approximately_equal(tls, _fc_min(tls, int32(advances[0]), int32(advances[int32(1)]))*int32(2), _fc_max(tls, int32(advances[0]), int32(advances[int32(1)]))) != 0 {
  17968. return int32(m_FC_DUAL)
  17969. } else {
  17970. return m_FC_PROPORTIONAL
  17971. }
  17972. }
  17973. return r
  17974. }
  17975. func XIA__FcFreeTypeCharSet(tls *libc.TLS, face TFT_Face, blanks uintptr) (r uintptr) {
  17976. bp := tls.Alloc(16)
  17977. defer tls.Free(16)
  17978. var fcs, leaf uintptr
  17979. var good TFcBool
  17980. var load_flags TFT_Int
  17981. var o int32
  17982. var off, page, ucs4 TFcChar32
  17983. var _ /* glyph at bp+0 */ TFT_UInt
  17984. _, _, _, _, _, _, _, _ = fcs, good, leaf, load_flags, o, off, page, ucs4
  17985. load_flags = int32(libc.Int64FromInt64(1)<<libc.Int32FromInt32(9) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(0) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(1))
  17986. fcs = XIA__FcCharSetCreate(tls)
  17987. if !(fcs != 0) {
  17988. goto bail
  17989. }
  17990. o = 0
  17991. for {
  17992. if !(o < libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  17993. break
  17994. }
  17995. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[o]) != 0 {
  17996. goto _1
  17997. }
  17998. page = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  17999. leaf = libc.UintptrFromInt32(0)
  18000. ucs4 = uint32(libfreetype.XFT_Get_First_Char(tls, face, bp))
  18001. for *(*TFT_UInt)(unsafe.Pointer(bp)) != uint32(0) {
  18002. good = int32(m_FcTrue)
  18003. /* CID fonts built by Adobe used to make ASCII control chars to cid1
  18004. * (space glyph). As such, always check contour for those characters. */
  18005. if ucs4 <= uint32(0x001F) {
  18006. if libfreetype.XFT_Load_Glyph(tls, face, *(*TFT_UInt)(unsafe.Pointer(bp)), load_flags) != 0 || (*TFT_GlyphSlotRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph)).Fformat == int32(_FT_GLYPH_FORMAT_OUTLINE) && int32((*TFT_GlyphSlotRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph)).Foutline.Fn_contours) == 0 {
  18007. good = m_FcFalse
  18008. }
  18009. }
  18010. if good != 0 {
  18011. XIA__FcCharSetAddChar(tls, fcs, ucs4)
  18012. if ucs4>>libc.Int32FromInt32(8) != page {
  18013. page = ucs4 >> int32(8)
  18014. leaf = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  18015. if !(leaf != 0) {
  18016. goto bail
  18017. }
  18018. }
  18019. off = ucs4 & uint32(0xff)
  18020. *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(off>>int32(5))*4)) |= uint32(1) << (off & uint32(0x1f))
  18021. }
  18022. ucs4 = uint32(libfreetype.XFT_Get_Next_Char(tls, face, uint64(ucs4), bp))
  18023. }
  18024. if _fcFontEncodings[o] == int32(_FT_ENCODING_MS_SYMBOL) {
  18025. /* For symbol-encoded OpenType fonts, we duplicate the
  18026. * U+F000..F0FF range at U+0000..U+00FF. That's what
  18027. * Windows seems to do, and that's hinted about at:
  18028. * http://www.microsoft.com/typography/otspec/recom.htm
  18029. * under "Non-Standard (Symbol) Fonts".
  18030. *
  18031. * See thread with subject "Webdings and other MS symbol
  18032. * fonts don't display" on mailing list from May 2015.
  18033. */
  18034. ucs4 = uint32(0xF000)
  18035. for {
  18036. if !(ucs4 < uint32(0xF100)) {
  18037. break
  18038. }
  18039. if XIA__FcCharSetHasChar(tls, fcs, ucs4) != 0 {
  18040. XIA__FcCharSetAddChar(tls, fcs, ucs4-uint32(0xF000))
  18041. }
  18042. goto _2
  18043. _2:
  18044. ;
  18045. ucs4++
  18046. }
  18047. }
  18048. break
  18049. goto _1
  18050. _1:
  18051. ;
  18052. o++
  18053. }
  18054. return fcs
  18055. goto bail
  18056. bail:
  18057. ;
  18058. XIA__FcCharSetDestroy(tls, fcs)
  18059. return uintptr(0)
  18060. }
  18061. var XFcFreeTypeCharSet = XIA__FcFreeTypeCharSet
  18062. func XIA__FcFreeTypeCharSetAndSpacing(tls *libc.TLS, face TFT_Face, blanks uintptr, spacing uintptr) (r uintptr) {
  18063. if spacing != 0 {
  18064. *(*int32)(unsafe.Pointer(spacing)) = _FcFreeTypeSpacing(tls, face)
  18065. }
  18066. return XIA__FcFreeTypeCharSet(tls, face, blanks)
  18067. }
  18068. var XFcFreeTypeCharSetAndSpacing = XIA__FcFreeTypeCharSetAndSpacing
  18069. /* space + head + id */
  18070. /*
  18071. * This is a bit generous; the registry has only lower case and space
  18072. * except for 'DFLT'.
  18073. */
  18074. func _addtag(tls *libc.TLS, complex_ uintptr, tag TFT_ULong) {
  18075. bp := tls.Alloc(16)
  18076. defer tls.Free(16)
  18077. var _ /* tagstring at bp+0 */ [5]TFcChar8
  18078. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0] = uint8(tag >> libc.Int32FromInt32(24))
  18079. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)] = uint8(tag >> libc.Int32FromInt32(16))
  18080. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)] = uint8(tag >> libc.Int32FromInt32(8))
  18081. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)] = uint8(tag)
  18082. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(4)] = uint8('\000')
  18083. /* skip tags which aren't alphanumeric, under the assumption that
  18084. * they're probably broken
  18085. */
  18086. if !(int32(0141) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) <= int32(0172) || int32(0101) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) <= int32(0132) || int32('0') <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) <= int32('9') || int32(040) == libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0])) || !(int32(0141) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) <= int32(0172) || int32(0101) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) <= int32(0132) || int32('0') <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) <= int32('9') || int32(040) == libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)])) || !(int32(0141) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) <= int32(0172) || int32(0101) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) <= int32(0132) || int32('0') <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) <= int32('9') || int32(040) == libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)])) || !(int32(0141) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) <= int32(0172) || int32(0101) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) <= int32(0132) || int32('0') <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) <= int32('9') || int32(040) == libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)])) {
  18087. return
  18088. }
  18089. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(complex_))) != int32('\000') {
  18090. libc.Xstrcat(tls, complex_, __ccgo_ts+1987)
  18091. }
  18092. libc.Xstrcat(tls, complex_, __ccgo_ts+4890)
  18093. libc.Xstrcat(tls, complex_, bp)
  18094. }
  18095. func _compareulong(tls *libc.TLS, a uintptr, b uintptr) (r int32) {
  18096. var ua, ub uintptr
  18097. _, _ = ua, ub
  18098. ua = a
  18099. ub = b
  18100. return libc.Int32FromUint64(*(*TFT_ULong)(unsafe.Pointer(ua)) - *(*TFT_ULong)(unsafe.Pointer(ub)))
  18101. }
  18102. func _FindTable(tls *libc.TLS, face TFT_Face, tabletag TFT_ULong) (r TFcBool) {
  18103. var error1, v1 TFT_Error
  18104. var stream TFT_Stream
  18105. _, _, _ = error1, stream, v1
  18106. stream = (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstream
  18107. if !(stream != 0) {
  18108. return m_FcFalse
  18109. }
  18110. v1 = Xftglue_face_goto_table(tls, face, tabletag, stream)
  18111. error1 = v1
  18112. if v1 != 0 {
  18113. return m_FcFalse
  18114. }
  18115. return int32(m_FcTrue)
  18116. }
  18117. func _GetScriptTags(tls *libc.TLS, face TFT_Face, tabletag TFT_ULong, stags uintptr) (r int32) {
  18118. var base_offset, cur_offset, new_offset TFT_ULong
  18119. var error1, v1 TFT_Error
  18120. var n, p TFT_UShort
  18121. var script_count int32
  18122. var stream TFT_Stream
  18123. _, _, _, _, _, _, _, _, _ = base_offset, cur_offset, error1, n, new_offset, p, script_count, stream, v1
  18124. stream = (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstream
  18125. if !(stream != 0) {
  18126. return 0
  18127. }
  18128. v1 = Xftglue_face_goto_table(tls, face, tabletag, stream)
  18129. error1 = v1
  18130. if v1 != 0 {
  18131. return 0
  18132. }
  18133. base_offset = libc.Uint64FromInt64(Xftglue_stream_pos(tls, stream))
  18134. /* skip version */
  18135. if Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(base_offset+uint64(4))) != 0 || Xftglue_stream_frame_enter(tls, stream, uint64(2)) != 0 {
  18136. return 0
  18137. }
  18138. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  18139. new_offset = uint64(libc.Uint16FromInt16(libc.Int16FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8)|uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))) + base_offset
  18140. Xftglue_stream_frame_exit(tls, stream)
  18141. cur_offset = libc.Uint64FromInt64(Xftglue_stream_pos(tls, stream))
  18142. if Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(new_offset)) != int32(_FT_Err_Ok) {
  18143. return 0
  18144. }
  18145. base_offset = libc.Uint64FromInt64(Xftglue_stream_pos(tls, stream))
  18146. if Xftglue_stream_frame_enter(tls, stream, uint64(2)) != 0 {
  18147. return 0
  18148. }
  18149. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  18150. script_count = libc.Int32FromUint16(libc.Uint16FromInt16(libc.Int16FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1)))))))
  18151. Xftglue_stream_frame_exit(tls, stream)
  18152. *(*uintptr)(unsafe.Pointer(stags)) = libc.Xmalloc(tls, libc.Uint64FromInt32(script_count)*uint64(8))
  18153. if !(*(*uintptr)(unsafe.Pointer(stags)) != 0) {
  18154. return 0
  18155. }
  18156. p = uint16(0)
  18157. n = uint16(0)
  18158. for {
  18159. if !(libc.Int32FromUint16(n) < script_count) {
  18160. break
  18161. }
  18162. if Xftglue_stream_frame_enter(tls, stream, uint64(6)) != 0 {
  18163. goto Fail
  18164. }
  18165. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  18166. *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(stags)) + uintptr(p)*8)) = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  18167. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  18168. new_offset = uint64(libc.Uint16FromInt16(libc.Int16FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8)|uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))) + base_offset
  18169. Xftglue_stream_frame_exit(tls, stream)
  18170. cur_offset = libc.Uint64FromInt64(Xftglue_stream_pos(tls, stream))
  18171. error1 = Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(new_offset))
  18172. if error1 == int32(_FT_Err_Ok) {
  18173. p++
  18174. }
  18175. Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(cur_offset))
  18176. goto _2
  18177. _2:
  18178. ;
  18179. n++
  18180. }
  18181. if !(p != 0) {
  18182. goto Fail
  18183. }
  18184. /* sort the tag list before returning it */
  18185. libc.Xqsort(tls, *(*uintptr)(unsafe.Pointer(stags)), libc.Uint64FromInt32(script_count), uint64(8), __ccgo_fp(_compareulong))
  18186. return script_count
  18187. goto Fail
  18188. Fail:
  18189. ;
  18190. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(stags)))
  18191. *(*uintptr)(unsafe.Pointer(stags)) = libc.UintptrFromInt32(0)
  18192. return 0
  18193. }
  18194. func _FcFontCapabilities(tls *libc.TLS, face TFT_Face) (r uintptr) {
  18195. bp := tls.Alloc(48)
  18196. defer tls.Free(48)
  18197. var complex_ uintptr
  18198. var err TFT_Error
  18199. var gpos_count, gsub_count TFT_UShort
  18200. var indx1, indx2, v1 int32
  18201. var issilgraphitefont TFcBool
  18202. var maxsize TFT_ULong
  18203. var _ /* gpostags at bp+16 */ uintptr
  18204. var _ /* gsubtags at bp+8 */ uintptr
  18205. var _ /* len at bp+0 */ TFT_ULong
  18206. _, _, _, _, _, _, _, _, _ = complex_, err, gpos_count, gsub_count, indx1, indx2, issilgraphitefont, maxsize, v1
  18207. issilgraphitefont = 0
  18208. *(*TFT_ULong)(unsafe.Pointer(bp)) = uint64(0)
  18209. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.UintptrFromInt32(0)
  18210. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  18211. gsub_count = uint16(0)
  18212. gpos_count = uint16(0)
  18213. complex_ = libc.UintptrFromInt32(0)
  18214. indx1 = 0
  18215. indx2 = 0
  18216. err = libfreetype.XFT_Load_Sfnt_Table(tls, face, uint64(uint32(libc.Uint8FromInt32(libc.Int32FromUint8('S')))<<libc.Int32FromInt32(24)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('i')))<<libc.Int32FromInt32(16)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('l')))<<libc.Int32FromInt32(8)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('f')))), 0, uintptr(0), bp)
  18217. issilgraphitefont = libc.BoolInt32(err == int32(_FT_Err_Ok))
  18218. gpos_count = libc.Uint16FromInt32(_GetScriptTags(tls, face, uint64(uint32(libc.Uint8FromInt32(libc.Int32FromUint8('G')))<<libc.Int32FromInt32(24)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('P')))<<libc.Int32FromInt32(16)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('O')))<<libc.Int32FromInt32(8)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('S')))), bp+16))
  18219. gsub_count = libc.Uint16FromInt32(_GetScriptTags(tls, face, uint64(uint32(libc.Uint8FromInt32(libc.Int32FromUint8('G')))<<libc.Int32FromInt32(24)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('S')))<<libc.Int32FromInt32(16)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('U')))<<libc.Int32FromInt32(8)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('B')))), bp+8))
  18220. if !(issilgraphitefont != 0) && !(gsub_count != 0) && !(gpos_count != 0) {
  18221. goto bail
  18222. }
  18223. if issilgraphitefont != 0 {
  18224. v1 = int32(13)
  18225. } else {
  18226. v1 = 0
  18227. }
  18228. maxsize = (uint64(gpos_count)+uint64(gsub_count))*libc.Uint64FromInt32(libc.Int32FromInt32(1)+libc.Int32FromInt32(m_OTLAYOUT_HEAD_LEN)+libc.Int32FromInt32(m_OTLAYOUT_ID_LEN)) + libc.Uint64FromInt32(v1)
  18229. complex_ = libc.Xmalloc(tls, uint64(1)*maxsize)
  18230. if !(complex_ != 0) {
  18231. goto bail
  18232. }
  18233. *(*TFcChar8)(unsafe.Pointer(complex_)) = uint8('\000')
  18234. if issilgraphitefont != 0 {
  18235. libc.Xstrcpy(tls, complex_, __ccgo_ts+4900)
  18236. }
  18237. for indx1 < libc.Int32FromUint16(gsub_count) || indx2 < libc.Int32FromUint16(gpos_count) {
  18238. if indx1 == libc.Int32FromUint16(gsub_count) {
  18239. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + uintptr(indx2)*8)))
  18240. indx2++
  18241. } else {
  18242. if indx2 == libc.Int32FromUint16(gpos_count) || *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx1)*8)) < *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + uintptr(indx2)*8)) {
  18243. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx1)*8)))
  18244. indx1++
  18245. } else {
  18246. if *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx1)*8)) == *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + uintptr(indx2)*8)) {
  18247. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx1)*8)))
  18248. indx1++
  18249. indx2++
  18250. } else {
  18251. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + uintptr(indx2)*8)))
  18252. indx2++
  18253. }
  18254. }
  18255. }
  18256. }
  18257. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  18258. libc.Xprintf(tls, __ccgo_ts+4913, libc.VaList(bp+32, complex_))
  18259. }
  18260. goto bail
  18261. bail:
  18262. ;
  18263. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  18264. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  18265. return complex_
  18266. }
  18267. func _FcFontHasHint(tls *libc.TLS, face TFT_Face) (r TFcBool) {
  18268. return _FindTable(tls, face, uint64(uint32(libc.Uint8FromInt32(libc.Int32FromUint8('p')))<<libc.Int32FromInt32(24)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('r')))<<libc.Int32FromInt32(16)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('e')))<<libc.Int32FromInt32(8)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('p')))))
  18269. }
  18270. func XIA__FcFontSetCreate(tls *libc.TLS) (r uintptr) {
  18271. var s uintptr
  18272. _ = s
  18273. s = libc.Xmalloc(tls, uint64(16))
  18274. if !(s != 0) {
  18275. return uintptr(0)
  18276. }
  18277. (*TFcFontSet)(unsafe.Pointer(s)).Fnfont = 0
  18278. (*TFcFontSet)(unsafe.Pointer(s)).Fsfont = 0
  18279. (*TFcFontSet)(unsafe.Pointer(s)).Ffonts = uintptr(0)
  18280. return s
  18281. }
  18282. var XFcFontSetCreate = XIA__FcFontSetCreate
  18283. func XIA__FcFontSetDestroy(tls *libc.TLS, s uintptr) {
  18284. var i int32
  18285. _ = i
  18286. i = 0
  18287. for {
  18288. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  18289. break
  18290. }
  18291. XIA__FcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8)))
  18292. goto _1
  18293. _1:
  18294. ;
  18295. i++
  18296. }
  18297. if (*TFcFontSet)(unsafe.Pointer(s)).Ffonts != 0 {
  18298. libc.Xfree(tls, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts)
  18299. }
  18300. libc.Xfree(tls, s)
  18301. }
  18302. var XFcFontSetDestroy = XIA__FcFontSetDestroy
  18303. func XIA__FcFontSetAdd(tls *libc.TLS, s uintptr, font uintptr) (r TFcBool) {
  18304. var f, v2 uintptr
  18305. var sfont, v1 int32
  18306. _, _, _, _ = f, sfont, v1, v2
  18307. if (*TFcFontSet)(unsafe.Pointer(s)).Fnfont == (*TFcFontSet)(unsafe.Pointer(s)).Fsfont {
  18308. sfont = (*TFcFontSet)(unsafe.Pointer(s)).Fsfont + int32(32)
  18309. if (*TFcFontSet)(unsafe.Pointer(s)).Ffonts != 0 {
  18310. f = libc.Xrealloc(tls, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts, libc.Uint64FromInt32(sfont)*uint64(8))
  18311. } else {
  18312. f = libc.Xmalloc(tls, libc.Uint64FromInt32(sfont)*uint64(8))
  18313. }
  18314. if !(f != 0) {
  18315. return m_FcFalse
  18316. }
  18317. (*TFcFontSet)(unsafe.Pointer(s)).Fsfont = sfont
  18318. (*TFcFontSet)(unsafe.Pointer(s)).Ffonts = f
  18319. }
  18320. v2 = s
  18321. v1 = *(*int32)(unsafe.Pointer(v2))
  18322. *(*int32)(unsafe.Pointer(v2))++
  18323. *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(v1)*8)) = font
  18324. return int32(m_FcTrue)
  18325. }
  18326. var XFcFontSetAdd = XIA__FcFontSetAdd
  18327. func XFcFontSetSerializeAlloc(tls *libc.TLS, serialize uintptr, s uintptr) (r TFcBool) {
  18328. var i int32
  18329. _ = i
  18330. if !(XFcSerializeAlloc(tls, serialize, s, int32(16)) != 0) {
  18331. return m_FcFalse
  18332. }
  18333. if !(XFcSerializeAlloc(tls, serialize, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts, libc.Int32FromUint64(libc.Uint64FromInt32((*TFcFontSet)(unsafe.Pointer(s)).Fnfont)*uint64(8))) != 0) {
  18334. return m_FcFalse
  18335. }
  18336. i = 0
  18337. for {
  18338. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  18339. break
  18340. }
  18341. if !(XFcPatternSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8))) != 0) {
  18342. return m_FcFalse
  18343. }
  18344. goto _1
  18345. _1:
  18346. ;
  18347. i++
  18348. }
  18349. return int32(m_FcTrue)
  18350. }
  18351. func XFcFontSetSerialize(tls *libc.TLS, serialize uintptr, s uintptr) (r uintptr) {
  18352. var fonts_serialize, p_serialize, s_serialize uintptr
  18353. var i int32
  18354. _, _, _, _ = fonts_serialize, i, p_serialize, s_serialize
  18355. s_serialize = XFcSerializePtr(tls, serialize, s)
  18356. if !(s_serialize != 0) {
  18357. return libc.UintptrFromInt32(0)
  18358. }
  18359. *(*TFcFontSet)(unsafe.Pointer(s_serialize)) = *(*TFcFontSet)(unsafe.Pointer(s))
  18360. (*TFcFontSet)(unsafe.Pointer(s_serialize)).Fsfont = (*TFcFontSet)(unsafe.Pointer(s_serialize)).Fnfont
  18361. fonts_serialize = XFcSerializePtr(tls, serialize, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts)
  18362. if !(fonts_serialize != 0) {
  18363. return libc.UintptrFromInt32(0)
  18364. }
  18365. (*TFcFontSet)(unsafe.Pointer(s_serialize)).Ffonts = uintptr(int64(fonts_serialize) - int64(s_serialize) | libc.Int64FromInt32(1))
  18366. i = 0
  18367. for {
  18368. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  18369. break
  18370. }
  18371. p_serialize = XFcPatternSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8)))
  18372. if !(p_serialize != 0) {
  18373. return libc.UintptrFromInt32(0)
  18374. }
  18375. *(*uintptr)(unsafe.Pointer(fonts_serialize + uintptr(i)*8)) = uintptr(int64(p_serialize) - int64(s_serialize) | libc.Int64FromInt32(1))
  18376. goto _1
  18377. _1:
  18378. ;
  18379. i++
  18380. }
  18381. return s_serialize
  18382. }
  18383. func XFcFontSetDeserialize(tls *libc.TLS, set uintptr) (r uintptr) {
  18384. var i int32
  18385. var new1, v2, v3 uintptr
  18386. _, _, _, _ = i, new1, v2, v3
  18387. new1 = XIA__FcFontSetCreate(tls)
  18388. if !(new1 != 0) {
  18389. return libc.UintptrFromInt32(0)
  18390. }
  18391. i = 0
  18392. for {
  18393. if !(i < (*TFcFontSet)(unsafe.Pointer(set)).Fnfont) {
  18394. break
  18395. }
  18396. if int64((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int64(1) != 0 {
  18397. if int64((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int64(1) != 0 {
  18398. v3 = uintptr(int64(set) + int64((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  18399. } else {
  18400. v3 = (*TFcFontSet)(unsafe.Pointer(set)).Ffonts
  18401. }
  18402. v2 = uintptr(int64(set) + int64(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  18403. } else {
  18404. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(set)).Ffonts + uintptr(i)*8))
  18405. }
  18406. if !(XIA__FcFontSetAdd(tls, new1, XIA__FcPatternDuplicate(tls, v2)) != 0) {
  18407. goto bail
  18408. }
  18409. goto _1
  18410. _1:
  18411. ;
  18412. i++
  18413. }
  18414. return new1
  18415. goto bail
  18416. bail:
  18417. ;
  18418. XIA__FcFontSetDestroy(tls, new1)
  18419. return libc.UintptrFromInt32(0)
  18420. }
  18421. type TFcPtrList = struct {
  18422. Fdestroy_func TFcDestroyFunc
  18423. Flist uintptr
  18424. }
  18425. type T_FcPtrList = TFcPtrList
  18426. type TFcPtrListEntry = struct {
  18427. Fnext uintptr
  18428. Fdata uintptr
  18429. }
  18430. type T_FcPtrListEntry = TFcPtrListEntry
  18431. type TFcPtrListIterPrivate = struct {
  18432. Flist uintptr
  18433. Fentry uintptr
  18434. Fprev uintptr
  18435. }
  18436. type T_FcPtrListIterPrivate = TFcPtrListIterPrivate
  18437. func XFcPtrListCreate(tls *libc.TLS, func1 TFcDestroyFunc) (r uintptr) {
  18438. var ret uintptr
  18439. _ = ret
  18440. ret = libc.Xmalloc(tls, uint64(16))
  18441. if ret != 0 {
  18442. (*TFcPtrList)(unsafe.Pointer(ret)).Fdestroy_func = func1
  18443. (*TFcPtrList)(unsafe.Pointer(ret)).Flist = libc.UintptrFromInt32(0)
  18444. }
  18445. return ret
  18446. }
  18447. func XFcPtrListDestroy(tls *libc.TLS, list uintptr) {
  18448. bp := tls.Alloc(32)
  18449. defer tls.Free(32)
  18450. var _ /* iter at bp+0 */ TFcPtrListIter
  18451. XFcPtrListIterInit(tls, list, bp)
  18452. for cond := true; cond; cond = XFcPtrListIterIsValid(tls, list, bp) != 0 {
  18453. if XFcPtrListIterGetValue(tls, list, bp) != 0 {
  18454. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcPtrList)(unsafe.Pointer(list)).Fdestroy_func})))(tls, XFcPtrListIterGetValue(tls, list, bp))
  18455. }
  18456. XFcPtrListIterRemove(tls, list, bp)
  18457. }
  18458. libc.Xfree(tls, list)
  18459. }
  18460. func XFcPtrListIterInit(tls *libc.TLS, list uintptr, iter uintptr) {
  18461. var priv uintptr
  18462. _ = priv
  18463. priv = iter
  18464. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist = list
  18465. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrList)(unsafe.Pointer(list)).Flist
  18466. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = libc.UintptrFromInt32(0)
  18467. }
  18468. func XFcPtrListIterInitAtLast(tls *libc.TLS, list uintptr, iter uintptr) {
  18469. var e, p, priv uintptr
  18470. _, _, _ = e, p, priv
  18471. priv = iter
  18472. e = list + 8
  18473. p = e
  18474. for {
  18475. if !(*(*uintptr)(unsafe.Pointer(e)) != 0) {
  18476. break
  18477. }
  18478. goto _1
  18479. _1:
  18480. ;
  18481. p = e
  18482. e = *(*uintptr)(unsafe.Pointer(e))
  18483. }
  18484. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist = list
  18485. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = *(*uintptr)(unsafe.Pointer(e))
  18486. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = *(*uintptr)(unsafe.Pointer(p))
  18487. }
  18488. func XFcPtrListIterNext(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  18489. var priv uintptr
  18490. _ = priv
  18491. priv = iter
  18492. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  18493. return m_FcFalse
  18494. }
  18495. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry
  18496. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  18497. return libc.BoolInt32((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != libc.UintptrFromInt32(0))
  18498. }
  18499. func XFcPtrListIterIsValid(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  18500. var priv uintptr
  18501. _ = priv
  18502. priv = iter
  18503. return libc.BoolInt32(list == (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist && (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0)
  18504. }
  18505. func XFcPtrListIterGetValue(tls *libc.TLS, list uintptr, iter uintptr) (r uintptr) {
  18506. var priv uintptr
  18507. _ = priv
  18508. priv = iter
  18509. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist || !((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0) {
  18510. return libc.UintptrFromInt32(0)
  18511. }
  18512. return (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fdata
  18513. }
  18514. func XFcPtrListIterAdd(tls *libc.TLS, list uintptr, iter uintptr, data uintptr) (r TFcBool) {
  18515. var e, priv uintptr
  18516. _, _ = e, priv
  18517. priv = iter
  18518. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  18519. return m_FcFalse
  18520. }
  18521. e = libc.Xmalloc(tls, uint64(16))
  18522. if !(e != 0) {
  18523. return m_FcFalse
  18524. }
  18525. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fdata = data
  18526. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0 {
  18527. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fnext = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  18528. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext = e
  18529. } else {
  18530. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fnext = libc.UintptrFromInt32(0)
  18531. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev != 0 {
  18532. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev)).Fnext = e
  18533. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev
  18534. } else {
  18535. (*TFcPtrList)(unsafe.Pointer(list)).Flist = e
  18536. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = e
  18537. return int32(m_FcTrue)
  18538. }
  18539. }
  18540. return XFcPtrListIterNext(tls, list, iter)
  18541. }
  18542. func XFcPtrListIterRemove(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  18543. var e, priv uintptr
  18544. _, _ = e, priv
  18545. priv = iter
  18546. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  18547. return m_FcFalse
  18548. }
  18549. if !((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0) {
  18550. return int32(m_FcTrue)
  18551. }
  18552. if (*TFcPtrList)(unsafe.Pointer(list)).Flist == (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry {
  18553. (*TFcPtrList)(unsafe.Pointer(list)).Flist = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrList)(unsafe.Pointer(list)).Flist)).Fnext
  18554. }
  18555. e = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry
  18556. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev != 0 {
  18557. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev)).Fnext = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  18558. }
  18559. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  18560. libc.Xfree(tls, e)
  18561. return int32(m_FcTrue)
  18562. }
  18563. const m_FC_HASH_SIZE = 227
  18564. type TFcHashTable = struct {
  18565. Fbuckets [227]uintptr
  18566. Fhash_func TFcHashFunc
  18567. Fcompare_func TFcCompareFunc
  18568. Fkey_copy_func TFcCopyFunc
  18569. Fvalue_copy_func TFcCopyFunc
  18570. Fkey_destroy_func TFcDestroyFunc
  18571. Fvalue_destroy_func TFcDestroyFunc
  18572. }
  18573. type T_FcHashTable = TFcHashTable
  18574. type TFcHashBucket = struct {
  18575. Fnext uintptr
  18576. Fkey uintptr
  18577. Fvalue uintptr
  18578. }
  18579. type T_FcHashBucket = TFcHashBucket
  18580. func XFcHashStrCopy(tls *libc.TLS, src uintptr, dest uintptr) (r TFcBool) {
  18581. *(*uintptr)(unsafe.Pointer(dest)) = libc.Xstrdup(tls, src)
  18582. return libc.BoolInt32(*(*uintptr)(unsafe.Pointer(dest)) != libc.UintptrFromInt32(0))
  18583. }
  18584. func XFcHashTableCreate(tls *libc.TLS, hash_func TFcHashFunc, compare_func TFcCompareFunc, key_copy_func TFcCopyFunc, value_copy_func TFcCopyFunc, key_destroy_func TFcDestroyFunc, value_destroy_func TFcDestroyFunc) (r uintptr) {
  18585. var ret uintptr
  18586. _ = ret
  18587. ret = libc.Xmalloc(tls, uint64(1864))
  18588. if ret != 0 {
  18589. libc.Xmemset(tls, ret, 0, libc.Uint64FromInt64(8)*libc.Uint64FromInt32(m_FC_HASH_SIZE))
  18590. (*TFcHashTable)(unsafe.Pointer(ret)).Fhash_func = hash_func
  18591. (*TFcHashTable)(unsafe.Pointer(ret)).Fcompare_func = compare_func
  18592. (*TFcHashTable)(unsafe.Pointer(ret)).Fkey_copy_func = key_copy_func
  18593. (*TFcHashTable)(unsafe.Pointer(ret)).Fvalue_copy_func = value_copy_func
  18594. (*TFcHashTable)(unsafe.Pointer(ret)).Fkey_destroy_func = key_destroy_func
  18595. (*TFcHashTable)(unsafe.Pointer(ret)).Fvalue_destroy_func = value_destroy_func
  18596. }
  18597. return ret
  18598. }
  18599. func XFcHashTableDestroy(tls *libc.TLS, table uintptr) {
  18600. var bucket, prev uintptr
  18601. var i int32
  18602. _, _, _ = bucket, i, prev
  18603. i = 0
  18604. for {
  18605. if !(i < int32(m_FC_HASH_SIZE)) {
  18606. break
  18607. }
  18608. bucket = *(*uintptr)(unsafe.Pointer(table + uintptr(i)*8))
  18609. for bucket != 0 {
  18610. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  18611. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  18612. }
  18613. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  18614. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  18615. }
  18616. prev = bucket
  18617. bucket = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  18618. libc.Xfree(tls, prev)
  18619. }
  18620. *(*uintptr)(unsafe.Pointer(table + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  18621. goto _1
  18622. _1:
  18623. ;
  18624. i++
  18625. }
  18626. libc.Xfree(tls, table)
  18627. }
  18628. func XFcHashTableFind(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  18629. var bucket uintptr
  18630. var hash TFcChar32
  18631. _, _ = bucket, hash
  18632. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  18633. bucket = *(*uintptr)(unsafe.Pointer(table + uintptr(hash%uint32(m_FC_HASH_SIZE))*8))
  18634. for {
  18635. if !(bucket != 0) {
  18636. break
  18637. }
  18638. if !((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fcompare_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey, key) != 0) {
  18639. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func != 0 {
  18640. if !((*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue, value) != 0) {
  18641. return m_FcFalse
  18642. }
  18643. } else {
  18644. *(*uintptr)(unsafe.Pointer(value)) = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue
  18645. }
  18646. return int32(m_FcTrue)
  18647. }
  18648. goto _1
  18649. _1:
  18650. ;
  18651. bucket = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  18652. }
  18653. return m_FcFalse
  18654. }
  18655. func _FcHashTableAddInternal(tls *libc.TLS, table uintptr, key uintptr, value uintptr, replace TFcBool) (r TFcBool) {
  18656. var b, bucket, prev, v3 uintptr
  18657. var hash TFcChar32
  18658. var ret TFcBool
  18659. var v4, v5 int32
  18660. _, _, _, _, _, _, _, _ = b, bucket, hash, prev, ret, v3, v4, v5
  18661. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  18662. ret = m_FcFalse
  18663. bucket = libc.Xmalloc(tls, uint64(24))
  18664. if !(bucket != 0) {
  18665. return m_FcFalse
  18666. }
  18667. libc.Xmemset(tls, bucket, 0, uint64(24))
  18668. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_copy_func != 0 {
  18669. ret |= libc.BoolInt32(!((*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_copy_func})))(tls, key, bucket+8) != 0))
  18670. } else {
  18671. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey = key
  18672. }
  18673. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func != 0 {
  18674. ret |= libc.BoolInt32(!((*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func})))(tls, value, bucket+16) != 0))
  18675. } else {
  18676. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue = value
  18677. }
  18678. if !(ret != 0) {
  18679. goto _1
  18680. }
  18681. goto destroy
  18682. destroy:
  18683. ;
  18684. if (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey != 0 && (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  18685. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  18686. }
  18687. if (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue != 0 && (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  18688. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  18689. }
  18690. libc.Xfree(tls, bucket)
  18691. return libc.BoolInt32(!(ret != 0))
  18692. _1:
  18693. ;
  18694. goto retry
  18695. retry:
  18696. ;
  18697. prev = table + uintptr(hash%uint32(m_FC_HASH_SIZE))*8
  18698. for {
  18699. v3 = *(*uintptr)(unsafe.Pointer(prev))
  18700. b = v3
  18701. if !(v3 != 0) {
  18702. break
  18703. }
  18704. if !((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fcompare_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(b)).Fkey, key) != 0) {
  18705. if replace != 0 {
  18706. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext = (*TFcHashBucket)(unsafe.Pointer(b)).Fnext
  18707. if *(*uintptr)(unsafe.Pointer(prev)) == b {
  18708. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  18709. v4 = libc.Int32FromInt32(m_FcTrue)
  18710. } else {
  18711. v4 = m_FcFalse
  18712. }
  18713. if !(v4 != 0) {
  18714. goto retry
  18715. }
  18716. bucket = b
  18717. } else {
  18718. ret = int32(m_FcTrue)
  18719. }
  18720. goto destroy
  18721. }
  18722. goto _2
  18723. _2:
  18724. ;
  18725. prev = b
  18726. }
  18727. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext = libc.UintptrFromInt32(0)
  18728. if *(*uintptr)(unsafe.Pointer(prev)) == b {
  18729. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  18730. v5 = libc.Int32FromInt32(m_FcTrue)
  18731. } else {
  18732. v5 = m_FcFalse
  18733. }
  18734. if !(v5 != 0) {
  18735. goto retry
  18736. }
  18737. return int32(m_FcTrue)
  18738. }
  18739. func XFcHashTableAdd(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  18740. return _FcHashTableAddInternal(tls, table, key, value, m_FcFalse)
  18741. }
  18742. func XFcHashTableReplace(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  18743. return _FcHashTableAddInternal(tls, table, key, value, int32(m_FcTrue))
  18744. }
  18745. func XFcHashTableRemove(tls *libc.TLS, table uintptr, key uintptr) (r TFcBool) {
  18746. var bucket, prev, v2 uintptr
  18747. var hash TFcChar32
  18748. var ret TFcBool
  18749. var v3 int32
  18750. _, _, _, _, _, _ = bucket, hash, prev, ret, v2, v3
  18751. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  18752. ret = m_FcFalse
  18753. goto retry
  18754. retry:
  18755. ;
  18756. prev = table + uintptr(hash%uint32(m_FC_HASH_SIZE))*8
  18757. for {
  18758. v2 = *(*uintptr)(unsafe.Pointer(prev))
  18759. bucket = v2
  18760. if !(v2 != 0) {
  18761. break
  18762. }
  18763. if !((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fcompare_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey, key) != 0) {
  18764. if *(*uintptr)(unsafe.Pointer(prev)) == bucket {
  18765. *(*uintptr)(unsafe.Pointer(prev)) = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  18766. v3 = libc.Int32FromInt32(m_FcTrue)
  18767. } else {
  18768. v3 = m_FcFalse
  18769. }
  18770. if !(v3 != 0) {
  18771. goto retry
  18772. }
  18773. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  18774. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  18775. }
  18776. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  18777. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  18778. }
  18779. libc.Xfree(tls, bucket)
  18780. ret = int32(m_FcTrue)
  18781. break
  18782. }
  18783. goto _1
  18784. _1:
  18785. ;
  18786. prev = bucket
  18787. }
  18788. return ret
  18789. }
  18790. const m_FC_DIR_SEPARATOR_S3 = "/fontconfig"
  18791. func _FcInitFallbackConfig(tls *libc.TLS, sysroot uintptr) (r uintptr) {
  18792. var config, fallback uintptr
  18793. _, _ = config, fallback
  18794. fallback = __ccgo_ts + 4949
  18795. config = XIA__FcConfigCreate(tls)
  18796. if !(config != 0) {
  18797. goto bail0
  18798. }
  18799. XIA__FcConfigSetSysRoot(tls, config, sysroot)
  18800. if !(XIA__FcConfigParseAndLoadFromMemory(tls, config, fallback, m_FcFalse) != 0) {
  18801. goto bail1
  18802. }
  18803. return config
  18804. goto bail1
  18805. bail1:
  18806. ;
  18807. XIA__FcConfigDestroy(tls, config)
  18808. goto bail0
  18809. bail0:
  18810. ;
  18811. return uintptr(0)
  18812. return r
  18813. }
  18814. func XIA__FcGetVersion(tls *libc.TLS) (r int32) {
  18815. return libc.Int32FromInt32(m_FC_MAJOR)*libc.Int32FromInt32(10000) + libc.Int32FromInt32(m_FC_MINOR)*libc.Int32FromInt32(100) + libc.Int32FromInt32(m_FC_REVISION)
  18816. }
  18817. var XFcGetVersion = XIA__FcGetVersion
  18818. // C documentation
  18819. //
  18820. // /*
  18821. // * Load the configuration files
  18822. // */
  18823. func XFcInitLoadOwnConfig(tls *libc.TLS, config uintptr) (r uintptr) {
  18824. bp := tls.Alloc(16)
  18825. defer tls.Free(16)
  18826. var env_file, env_path, fallback, fallback1, p, prefix, sysroot, sysroot1 uintptr
  18827. var have_own TFcBool
  18828. var plen Tsize_t
  18829. _, _, _, _, _, _, _, _, _, _ = env_file, env_path, fallback, fallback1, have_own, p, plen, prefix, sysroot, sysroot1
  18830. if !(config != 0) {
  18831. config = XIA__FcConfigCreate(tls)
  18832. if !(config != 0) {
  18833. return libc.UintptrFromInt32(0)
  18834. }
  18835. }
  18836. XFcInitDebug(tls)
  18837. if !(XIA__FcConfigParseAndLoad(tls, config, uintptr(0), int32(m_FcTrue)) != 0) {
  18838. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  18839. fallback = _FcInitFallbackConfig(tls, sysroot)
  18840. XIA__FcConfigDestroy(tls, config)
  18841. return fallback
  18842. }
  18843. XFcConfigParseOnly(tls, config, __ccgo_ts+5334, m_FcFalse)
  18844. if !((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs != 0 && (*TFcStrSet)(unsafe.Pointer((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)).Fnum == 0) {
  18845. goto _1
  18846. }
  18847. have_own = m_FcFalse
  18848. env_file = libc.Xgetenv(tls, __ccgo_ts+1645)
  18849. env_path = libc.Xgetenv(tls, __ccgo_ts+1495)
  18850. if env_file != libc.UintptrFromInt32(0) && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(env_file))) != 0 || env_path != libc.UintptrFromInt32(0) && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(env_path))) != 0 {
  18851. have_own = int32(m_FcTrue)
  18852. }
  18853. if !(have_own != 0) {
  18854. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5367, 0)
  18855. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5439, libc.VaList(bp+8, __ccgo_ts+5491))
  18856. }
  18857. prefix = XFcConfigXdgCacheHome(tls)
  18858. if !(prefix != 0) {
  18859. goto bail
  18860. }
  18861. plen = libc.Xstrlen(tls, prefix)
  18862. p = libc.Xrealloc(tls, prefix, plen+uint64(12))
  18863. if !(p != 0) {
  18864. goto bail
  18865. }
  18866. prefix = p
  18867. libc.Xmemcpy(tls, prefix+uintptr(plen), __ccgo_ts+5517, uint64(11))
  18868. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint64(11)))) = uint8(0)
  18869. if !(have_own != 0) {
  18870. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5529, 0)
  18871. }
  18872. if !(!(XFcConfigAddCacheDir(tls, config, __ccgo_ts+5491) != 0) || !(XFcConfigAddCacheDir(tls, config, prefix) != 0)) {
  18873. goto _2
  18874. }
  18875. goto bail
  18876. bail:
  18877. ;
  18878. sysroot1 = XIA__FcConfigGetSysRoot(tls, config)
  18879. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5602, 0)
  18880. if prefix != 0 {
  18881. XIA__FcStrFree(tls, prefix)
  18882. }
  18883. fallback1 = _FcInitFallbackConfig(tls, sysroot1)
  18884. XIA__FcConfigDestroy(tls, config)
  18885. return fallback1
  18886. _2:
  18887. ;
  18888. XIA__FcStrFree(tls, prefix)
  18889. _1:
  18890. ;
  18891. return config
  18892. }
  18893. func XIA__FcInitLoadConfig(tls *libc.TLS) (r uintptr) {
  18894. return XFcInitLoadOwnConfig(tls, libc.UintptrFromInt32(0))
  18895. }
  18896. var XFcInitLoadConfig = XIA__FcInitLoadConfig
  18897. // C documentation
  18898. //
  18899. // /*
  18900. // * Load the configuration files and scan for available fonts
  18901. // */
  18902. func XFcInitLoadOwnConfigAndFonts(tls *libc.TLS, config uintptr) (r uintptr) {
  18903. config = XFcInitLoadOwnConfig(tls, config)
  18904. if !(config != 0) {
  18905. return uintptr(0)
  18906. }
  18907. if !(XIA__FcConfigBuildFonts(tls, config) != 0) {
  18908. XIA__FcConfigDestroy(tls, config)
  18909. return uintptr(0)
  18910. }
  18911. return config
  18912. }
  18913. func XIA__FcInitLoadConfigAndFonts(tls *libc.TLS) (r uintptr) {
  18914. return XFcInitLoadOwnConfigAndFonts(tls, libc.UintptrFromInt32(0))
  18915. }
  18916. var XFcInitLoadConfigAndFonts = XIA__FcInitLoadConfigAndFonts
  18917. // C documentation
  18918. //
  18919. // /*
  18920. // * Initialize the default library configuration
  18921. // */
  18922. func XIA__FcInit(tls *libc.TLS) (r TFcBool) {
  18923. return XFcConfigInit(tls)
  18924. }
  18925. var XFcInit = XIA__FcInit
  18926. // C documentation
  18927. //
  18928. // /*
  18929. // * Free all library-allocated data structures.
  18930. // */
  18931. func XIA__FcFini(tls *libc.TLS) {
  18932. XFcConfigFini(tls)
  18933. XFcConfigPathFini(tls)
  18934. XFcDefaultFini(tls)
  18935. XFcObjectFini(tls)
  18936. XFcCacheFini(tls)
  18937. }
  18938. var XFcFini = XIA__FcFini
  18939. // C documentation
  18940. //
  18941. // /*
  18942. // * Reread the configuration and available font lists
  18943. // */
  18944. func XIA__FcInitReinitialize(tls *libc.TLS) (r TFcBool) {
  18945. var config uintptr
  18946. var ret TFcBool
  18947. _, _ = config, ret
  18948. config = XIA__FcInitLoadConfigAndFonts(tls)
  18949. if !(config != 0) {
  18950. return m_FcFalse
  18951. }
  18952. ret = XIA__FcConfigSetCurrent(tls, config)
  18953. /* FcConfigSetCurrent() increases the refcount.
  18954. * decrease it here to avoid the memory leak.
  18955. */
  18956. XIA__FcConfigDestroy(tls, config)
  18957. return ret
  18958. }
  18959. var XFcInitReinitialize = XIA__FcInitReinitialize
  18960. func XIA__FcInitBringUptoDate(tls *libc.TLS) (r TFcBool) {
  18961. var config uintptr
  18962. var now Ttime_t
  18963. var ret TFcBool
  18964. _, _, _ = config, now, ret
  18965. config = XIA__FcConfigReference(tls, libc.UintptrFromInt32(0))
  18966. ret = int32(m_FcTrue)
  18967. if !(config != 0) {
  18968. return m_FcFalse
  18969. }
  18970. /*
  18971. * rescanInterval == 0 disables automatic up to date
  18972. */
  18973. if (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval == 0 {
  18974. goto bail
  18975. }
  18976. /*
  18977. * Check no more often than rescanInterval seconds
  18978. */
  18979. now = libc.Xtime(tls, uintptr(0))
  18980. if (*TFcConfig)(unsafe.Pointer(config)).FrescanTime+int64((*TFcConfig)(unsafe.Pointer(config)).FrescanInterval)-now > 0 {
  18981. goto bail
  18982. }
  18983. /*
  18984. * If up to date, don't reload configuration
  18985. */
  18986. if XIA__FcConfigUptoDate(tls, uintptr(0)) != 0 {
  18987. goto bail
  18988. }
  18989. ret = XIA__FcInitReinitialize(tls)
  18990. goto bail
  18991. bail:
  18992. ;
  18993. XIA__FcConfigDestroy(tls, config)
  18994. return ret
  18995. }
  18996. var XFcInitBringUptoDate = XIA__FcInitBringUptoDate
  18997. const m_FC_DIR_SEPARATOR_S4 = "/"
  18998. const m_FcFreeTypeCharIndex = "IA__FcFreeTypeCharIndex"
  18999. const m_FcFreeTypeCharSet = "IA__FcFreeTypeCharSet"
  19000. const m_FcFreeTypeCharSetAndSpacing = "IA__FcFreeTypeCharSetAndSpacing"
  19001. const m_FcFreeTypeQueryFace = "IA__FcFreeTypeQueryFace"
  19002. const m_NUM_COUNTRY_SET = 10
  19003. const m_NUM_LANG_CHAR_SET = 246
  19004. const m_NUM_LANG_SET_MAP = 8
  19005. type TFcLangSet = struct {
  19006. Fextra uintptr
  19007. Fmap_size TFcChar32
  19008. Fmap1 [8]TFcChar32
  19009. }
  19010. type T_FcLangSet = TFcLangSet
  19011. /* Objects MT-safe for readonly access. */
  19012. type TFcLangCharSet = struct {
  19013. Flang [16]TFcChar8
  19014. Fcharset TFcCharSet
  19015. }
  19016. type TFcLangCharSetRange = struct {
  19017. Fbegin int32
  19018. Fend int32
  19019. }
  19020. var _fcLangData = struct {
  19021. FlangCharSets [246]TFcLangCharSet
  19022. Fleaves [725]TFcCharLeaf
  19023. Fleaf_offsets [780]Tuintptr_t
  19024. Fnumbers [780]TFcChar16
  19025. FlangIndices [246]TFcChar8
  19026. FlangIndicesInv [246]TFcChar8
  19027. }{
  19028. FlangCharSets: [246]TFcLangCharSet{
  19029. 0: {
  19030. Flang: [16]TFcChar8{'a', 'a'},
  19031. Fcharset: TFcCharSet{
  19032. Fref: TFcRef{
  19033. Fcount: -libc.Int32FromInt32(1),
  19034. },
  19035. Fnum: int32(1),
  19036. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(0)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(0)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19037. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(0)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(0)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19038. },
  19039. },
  19040. 1: {
  19041. Flang: [16]TFcChar8{'a', 'b'},
  19042. Fcharset: TFcCharSet{
  19043. Fref: TFcRef{
  19044. Fcount: -libc.Int32FromInt32(1),
  19045. },
  19046. Fnum: int32(1),
  19047. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(1)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(1)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19048. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(1)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(1)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19049. },
  19050. },
  19051. 2: {
  19052. Flang: [16]TFcChar8{'a', 'f'},
  19053. Fcharset: TFcCharSet{
  19054. Fref: TFcRef{
  19055. Fcount: -libc.Int32FromInt32(1),
  19056. },
  19057. Fnum: int32(2),
  19058. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(2)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19059. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(2)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19060. },
  19061. },
  19062. 3: {
  19063. Flang: [16]TFcChar8{'a', 'k'},
  19064. Fcharset: TFcCharSet{
  19065. Fref: TFcRef{
  19066. Fcount: -libc.Int32FromInt32(1),
  19067. },
  19068. Fnum: int32(5),
  19069. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(3)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19070. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(3)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19071. },
  19072. },
  19073. 4: {
  19074. Flang: [16]TFcChar8{'a', 'm'},
  19075. Fcharset: TFcCharSet{
  19076. Fref: TFcRef{
  19077. Fcount: -libc.Int32FromInt32(1),
  19078. },
  19079. Fnum: int32(2),
  19080. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(4)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19081. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(4)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19082. },
  19083. },
  19084. 5: {
  19085. Flang: [16]TFcChar8{'a', 'n'},
  19086. Fcharset: TFcCharSet{
  19087. Fref: TFcRef{
  19088. Fcount: -libc.Int32FromInt32(1),
  19089. },
  19090. Fnum: int32(1),
  19091. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(5)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19092. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(5)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19093. },
  19094. },
  19095. 6: {
  19096. Flang: [16]TFcChar8{'a', 'r'},
  19097. Fcharset: TFcCharSet{
  19098. Fref: TFcRef{
  19099. Fcount: -libc.Int32FromInt32(1),
  19100. },
  19101. Fnum: int32(1),
  19102. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(12)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(6)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19103. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(12)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(6)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19104. },
  19105. },
  19106. 7: {
  19107. Flang: [16]TFcChar8{'a', 's'},
  19108. Fcharset: TFcCharSet{
  19109. Fref: TFcRef{
  19110. Fcount: -libc.Int32FromInt32(1),
  19111. },
  19112. Fnum: int32(1),
  19113. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(13)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(7)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19114. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(13)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(7)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19115. },
  19116. },
  19117. 8: {
  19118. Flang: [16]TFcChar8{'a', 's', 't'},
  19119. Fcharset: TFcCharSet{
  19120. Fref: TFcRef{
  19121. Fcount: -libc.Int32FromInt32(1),
  19122. },
  19123. Fnum: int32(2),
  19124. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(8)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19125. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(8)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19126. },
  19127. },
  19128. 9: {
  19129. Flang: [16]TFcChar8{'a', 'v'},
  19130. Fcharset: TFcCharSet{
  19131. Fref: TFcRef{
  19132. Fcount: -libc.Int32FromInt32(1),
  19133. },
  19134. Fnum: int32(1),
  19135. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(9)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19136. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(9)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19137. },
  19138. },
  19139. 10: {
  19140. Flang: [16]TFcChar8{'a', 'y'},
  19141. Fcharset: TFcCharSet{
  19142. Fref: TFcRef{
  19143. Fcount: -libc.Int32FromInt32(1),
  19144. },
  19145. Fnum: int32(1),
  19146. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(17)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(10)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19147. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(17)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(10)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19148. },
  19149. },
  19150. 11: {
  19151. Flang: [16]TFcChar8{'a', 'z', '-', 'a', 'z'},
  19152. Fcharset: TFcCharSet{
  19153. Fref: TFcRef{
  19154. Fcount: -libc.Int32FromInt32(1),
  19155. },
  19156. Fnum: int32(3),
  19157. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(11)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19158. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(11)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19159. },
  19160. },
  19161. 12: {
  19162. Flang: [16]TFcChar8{'a', 'z', '-', 'i', 'r'},
  19163. Fcharset: TFcCharSet{
  19164. Fref: TFcRef{
  19165. Fcount: -libc.Int32FromInt32(1),
  19166. },
  19167. Fnum: int32(1),
  19168. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(12)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19169. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(12)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19170. },
  19171. },
  19172. 13: {
  19173. Flang: [16]TFcChar8{'b', 'a'},
  19174. Fcharset: TFcCharSet{
  19175. Fref: TFcRef{
  19176. Fcount: -libc.Int32FromInt32(1),
  19177. },
  19178. Fnum: int32(1),
  19179. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(22)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(13)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19180. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(22)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(13)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19181. },
  19182. },
  19183. 14: {
  19184. Flang: [16]TFcChar8{'b', 'e'},
  19185. Fcharset: TFcCharSet{
  19186. Fref: TFcRef{
  19187. Fcount: -libc.Int32FromInt32(1),
  19188. },
  19189. Fnum: int32(1),
  19190. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(14)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19191. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(14)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19192. },
  19193. },
  19194. 15: {
  19195. Flang: [16]TFcChar8{'b', 'e', 'r', '-', 'd', 'z'},
  19196. Fcharset: TFcCharSet{
  19197. Fref: TFcRef{
  19198. Fcount: -libc.Int32FromInt32(1),
  19199. },
  19200. Fnum: int32(4),
  19201. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(15)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19202. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(15)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19203. },
  19204. },
  19205. 16: {
  19206. Flang: [16]TFcChar8{'b', 'e', 'r', '-', 'm', 'a'},
  19207. Fcharset: TFcCharSet{
  19208. Fref: TFcRef{
  19209. Fcount: -libc.Int32FromInt32(1),
  19210. },
  19211. Fnum: int32(1),
  19212. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(28)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(16)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19213. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(28)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(16)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19214. },
  19215. },
  19216. 17: {
  19217. Flang: [16]TFcChar8{'b', 'g'},
  19218. Fcharset: TFcCharSet{
  19219. Fref: TFcRef{
  19220. Fcount: -libc.Int32FromInt32(1),
  19221. },
  19222. Fnum: int32(1),
  19223. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(29)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(17)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19224. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(29)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(17)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19225. },
  19226. },
  19227. 18: {
  19228. Flang: [16]TFcChar8{'b', 'h'},
  19229. Fcharset: TFcCharSet{
  19230. Fref: TFcRef{
  19231. Fcount: -libc.Int32FromInt32(1),
  19232. },
  19233. Fnum: int32(1),
  19234. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(18)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19235. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(18)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19236. },
  19237. },
  19238. 19: {
  19239. Flang: [16]TFcChar8{'b', 'h', 'o'},
  19240. Fcharset: TFcCharSet{
  19241. Fref: TFcRef{
  19242. Fcount: -libc.Int32FromInt32(1),
  19243. },
  19244. Fnum: int32(1),
  19245. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(19)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19246. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(19)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19247. },
  19248. },
  19249. 20: {
  19250. Flang: [16]TFcChar8{'b', 'i'},
  19251. Fcharset: TFcCharSet{
  19252. Fref: TFcRef{
  19253. Fcount: -libc.Int32FromInt32(1),
  19254. },
  19255. Fnum: int32(1),
  19256. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(20)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19257. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(20)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19258. },
  19259. },
  19260. 21: {
  19261. Flang: [16]TFcChar8{'b', 'i', 'n'},
  19262. Fcharset: TFcCharSet{
  19263. Fref: TFcRef{
  19264. Fcount: -libc.Int32FromInt32(1),
  19265. },
  19266. Fnum: int32(3),
  19267. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(21)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19268. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(21)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19269. },
  19270. },
  19271. 22: {
  19272. Flang: [16]TFcChar8{'b', 'm'},
  19273. Fcharset: TFcCharSet{
  19274. Fref: TFcRef{
  19275. Fcount: -libc.Int32FromInt32(1),
  19276. },
  19277. Fnum: int32(3),
  19278. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(22)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19279. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(22)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19280. },
  19281. },
  19282. 23: {
  19283. Flang: [16]TFcChar8{'b', 'n'},
  19284. Fcharset: TFcCharSet{
  19285. Fref: TFcRef{
  19286. Fcount: -libc.Int32FromInt32(1),
  19287. },
  19288. Fnum: int32(1),
  19289. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(38)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(23)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19290. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(38)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(23)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19291. },
  19292. },
  19293. 24: {
  19294. Flang: [16]TFcChar8{'b', 'o'},
  19295. Fcharset: TFcCharSet{
  19296. Fref: TFcRef{
  19297. Fcount: -libc.Int32FromInt32(1),
  19298. },
  19299. Fnum: int32(1),
  19300. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(24)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19301. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(24)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19302. },
  19303. },
  19304. 25: {
  19305. Flang: [16]TFcChar8{'b', 'r'},
  19306. Fcharset: TFcCharSet{
  19307. Fref: TFcRef{
  19308. Fcount: -libc.Int32FromInt32(1),
  19309. },
  19310. Fnum: int32(1),
  19311. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(25)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19312. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(25)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19313. },
  19314. },
  19315. 26: {
  19316. Flang: [16]TFcChar8{'b', 'r', 'x'},
  19317. Fcharset: TFcCharSet{
  19318. Fref: TFcRef{
  19319. Fcount: -libc.Int32FromInt32(1),
  19320. },
  19321. Fnum: int32(1),
  19322. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(41)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(26)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19323. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(41)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(26)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19324. },
  19325. },
  19326. 27: {
  19327. Flang: [16]TFcChar8{'b', 's'},
  19328. Fcharset: TFcCharSet{
  19329. Fref: TFcRef{
  19330. Fcount: -libc.Int32FromInt32(1),
  19331. },
  19332. Fnum: int32(2),
  19333. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(27)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19334. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(27)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19335. },
  19336. },
  19337. 28: {
  19338. Flang: [16]TFcChar8{'b', 'u', 'a'},
  19339. Fcharset: TFcCharSet{
  19340. Fref: TFcRef{
  19341. Fcount: -libc.Int32FromInt32(1),
  19342. },
  19343. Fnum: int32(1),
  19344. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(44)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(28)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19345. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(44)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(28)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19346. },
  19347. },
  19348. 29: {
  19349. Flang: [16]TFcChar8{'b', 'y', 'n'},
  19350. Fcharset: TFcCharSet{
  19351. Fref: TFcRef{
  19352. Fcount: -libc.Int32FromInt32(1),
  19353. },
  19354. Fnum: int32(2),
  19355. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(29)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19356. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(29)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19357. },
  19358. },
  19359. 30: {
  19360. Flang: [16]TFcChar8{'c', 'a'},
  19361. Fcharset: TFcCharSet{
  19362. Fref: TFcRef{
  19363. Fcount: -libc.Int32FromInt32(1),
  19364. },
  19365. Fnum: int32(2),
  19366. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(30)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19367. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(30)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19368. },
  19369. },
  19370. 31: {
  19371. Flang: [16]TFcChar8{'c', 'e'},
  19372. Fcharset: TFcCharSet{
  19373. Fref: TFcRef{
  19374. Fcount: -libc.Int32FromInt32(1),
  19375. },
  19376. Fnum: int32(1),
  19377. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(31)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19378. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(31)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19379. },
  19380. },
  19381. 32: {
  19382. Flang: [16]TFcChar8{'c', 'h'},
  19383. Fcharset: TFcCharSet{
  19384. Fref: TFcRef{
  19385. Fcount: -libc.Int32FromInt32(1),
  19386. },
  19387. Fnum: int32(1),
  19388. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(49)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(32)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19389. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(49)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(32)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19390. },
  19391. },
  19392. 33: {
  19393. Flang: [16]TFcChar8{'c', 'h', 'm'},
  19394. Fcharset: TFcCharSet{
  19395. Fref: TFcRef{
  19396. Fcount: -libc.Int32FromInt32(1),
  19397. },
  19398. Fnum: int32(1),
  19399. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(50)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(33)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19400. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(50)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(33)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19401. },
  19402. },
  19403. 34: {
  19404. Flang: [16]TFcChar8{'c', 'h', 'r'},
  19405. Fcharset: TFcCharSet{
  19406. Fref: TFcRef{
  19407. Fcount: -libc.Int32FromInt32(1),
  19408. },
  19409. Fnum: int32(1),
  19410. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(51)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(34)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19411. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(51)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(34)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19412. },
  19413. },
  19414. 35: {
  19415. Flang: [16]TFcChar8{'c', 'o'},
  19416. Fcharset: TFcCharSet{
  19417. Fref: TFcRef{
  19418. Fcount: -libc.Int32FromInt32(1),
  19419. },
  19420. Fnum: int32(2),
  19421. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(35)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19422. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(35)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19423. },
  19424. },
  19425. 36: {
  19426. Flang: [16]TFcChar8{'c', 'r', 'h'},
  19427. Fcharset: TFcCharSet{
  19428. Fref: TFcRef{
  19429. Fcount: -libc.Int32FromInt32(1),
  19430. },
  19431. Fnum: int32(2),
  19432. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(36)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19433. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(36)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19434. },
  19435. },
  19436. 37: {
  19437. Flang: [16]TFcChar8{'c', 's'},
  19438. Fcharset: TFcCharSet{
  19439. Fref: TFcRef{
  19440. Fcount: -libc.Int32FromInt32(1),
  19441. },
  19442. Fnum: int32(2),
  19443. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(37)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19444. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(37)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19445. },
  19446. },
  19447. 38: {
  19448. Flang: [16]TFcChar8{'c', 's', 'b'},
  19449. Fcharset: TFcCharSet{
  19450. Fref: TFcRef{
  19451. Fcount: -libc.Int32FromInt32(1),
  19452. },
  19453. Fnum: int32(2),
  19454. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(38)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19455. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(38)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19456. },
  19457. },
  19458. 39: {
  19459. Flang: [16]TFcChar8{'c', 'u'},
  19460. Fcharset: TFcCharSet{
  19461. Fref: TFcRef{
  19462. Fcount: -libc.Int32FromInt32(1),
  19463. },
  19464. Fnum: int32(1),
  19465. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(60)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(39)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19466. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(60)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(39)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19467. },
  19468. },
  19469. 40: {
  19470. Flang: [16]TFcChar8{'c', 'v'},
  19471. Fcharset: TFcCharSet{
  19472. Fref: TFcRef{
  19473. Fcount: -libc.Int32FromInt32(1),
  19474. },
  19475. Fnum: int32(2),
  19476. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(40)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19477. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(40)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19478. },
  19479. },
  19480. 41: {
  19481. Flang: [16]TFcChar8{'c', 'y'},
  19482. Fcharset: TFcCharSet{
  19483. Fref: TFcRef{
  19484. Fcount: -libc.Int32FromInt32(1),
  19485. },
  19486. Fnum: int32(3),
  19487. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(41)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19488. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(41)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19489. },
  19490. },
  19491. 42: {
  19492. Flang: [16]TFcChar8{'d', 'a'},
  19493. Fcharset: TFcCharSet{
  19494. Fref: TFcRef{
  19495. Fcount: -libc.Int32FromInt32(1),
  19496. },
  19497. Fnum: int32(1),
  19498. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(66)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(42)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19499. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(66)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(42)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19500. },
  19501. },
  19502. 43: {
  19503. Flang: [16]TFcChar8{'d', 'e'},
  19504. Fcharset: TFcCharSet{
  19505. Fref: TFcRef{
  19506. Fcount: -libc.Int32FromInt32(1),
  19507. },
  19508. Fnum: int32(1),
  19509. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(43)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19510. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(43)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19511. },
  19512. },
  19513. 44: {
  19514. Flang: [16]TFcChar8{'d', 'o', 'i'},
  19515. Fcharset: TFcCharSet{
  19516. Fref: TFcRef{
  19517. Fcount: -libc.Int32FromInt32(1),
  19518. },
  19519. Fnum: int32(1),
  19520. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(68)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(44)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19521. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(68)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(44)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19522. },
  19523. },
  19524. 45: {
  19525. Flang: [16]TFcChar8{'d', 'v'},
  19526. Fcharset: TFcCharSet{
  19527. Fref: TFcRef{
  19528. Fcount: -libc.Int32FromInt32(1),
  19529. },
  19530. Fnum: int32(1),
  19531. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(69)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(45)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19532. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(69)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(45)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19533. },
  19534. },
  19535. 46: {
  19536. Flang: [16]TFcChar8{'d', 'z'},
  19537. Fcharset: TFcCharSet{
  19538. Fref: TFcRef{
  19539. Fcount: -libc.Int32FromInt32(1),
  19540. },
  19541. Fnum: int32(1),
  19542. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(46)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19543. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(46)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19544. },
  19545. },
  19546. 47: {
  19547. Flang: [16]TFcChar8{'e', 'e'},
  19548. Fcharset: TFcCharSet{
  19549. Fref: TFcRef{
  19550. Fcount: -libc.Int32FromInt32(1),
  19551. },
  19552. Fnum: int32(4),
  19553. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(47)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19554. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(47)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19555. },
  19556. },
  19557. 48: {
  19558. Flang: [16]TFcChar8{'e', 'l'},
  19559. Fcharset: TFcCharSet{
  19560. Fref: TFcRef{
  19561. Fcount: -libc.Int32FromInt32(1),
  19562. },
  19563. Fnum: int32(1),
  19564. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(48)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19565. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(48)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19566. },
  19567. },
  19568. 49: {
  19569. Flang: [16]TFcChar8{'e', 'n'},
  19570. Fcharset: TFcCharSet{
  19571. Fref: TFcRef{
  19572. Fcount: -libc.Int32FromInt32(1),
  19573. },
  19574. Fnum: int32(1),
  19575. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(75)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(49)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19576. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(75)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(49)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19577. },
  19578. },
  19579. 50: {
  19580. Flang: [16]TFcChar8{'e', 'o'},
  19581. Fcharset: TFcCharSet{
  19582. Fref: TFcRef{
  19583. Fcount: -libc.Int32FromInt32(1),
  19584. },
  19585. Fnum: int32(2),
  19586. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(50)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19587. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(50)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19588. },
  19589. },
  19590. 51: {
  19591. Flang: [16]TFcChar8{'e', 's'},
  19592. Fcharset: TFcCharSet{
  19593. Fref: TFcRef{
  19594. Fcount: -libc.Int32FromInt32(1),
  19595. },
  19596. Fnum: int32(1),
  19597. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(51)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19598. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(51)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19599. },
  19600. },
  19601. 52: {
  19602. Flang: [16]TFcChar8{'e', 't'},
  19603. Fcharset: TFcCharSet{
  19604. Fref: TFcRef{
  19605. Fcount: -libc.Int32FromInt32(1),
  19606. },
  19607. Fnum: int32(2),
  19608. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(52)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19609. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(52)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19610. },
  19611. },
  19612. 53: {
  19613. Flang: [16]TFcChar8{'e', 'u'},
  19614. Fcharset: TFcCharSet{
  19615. Fref: TFcRef{
  19616. Fcount: -libc.Int32FromInt32(1),
  19617. },
  19618. Fnum: int32(1),
  19619. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(80)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(53)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19620. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(80)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(53)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19621. },
  19622. },
  19623. 54: {
  19624. Flang: [16]TFcChar8{'f', 'a'},
  19625. Fcharset: TFcCharSet{
  19626. Fref: TFcRef{
  19627. Fcount: -libc.Int32FromInt32(1),
  19628. },
  19629. Fnum: int32(1),
  19630. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(54)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19631. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(54)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19632. },
  19633. },
  19634. 55: {
  19635. Flang: [16]TFcChar8{'f', 'a', 't'},
  19636. Fcharset: TFcCharSet{
  19637. Fref: TFcRef{
  19638. Fcount: -libc.Int32FromInt32(1),
  19639. },
  19640. Fnum: int32(5),
  19641. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(55)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19642. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(55)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19643. },
  19644. },
  19645. 56: {
  19646. Flang: [16]TFcChar8{'f', 'f'},
  19647. Fcharset: TFcCharSet{
  19648. Fref: TFcRef{
  19649. Fcount: -libc.Int32FromInt32(1),
  19650. },
  19651. Fnum: int32(3),
  19652. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(56)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19653. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(56)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19654. },
  19655. },
  19656. 57: {
  19657. Flang: [16]TFcChar8{'f', 'i'},
  19658. Fcharset: TFcCharSet{
  19659. Fref: TFcRef{
  19660. Fcount: -libc.Int32FromInt32(1),
  19661. },
  19662. Fnum: int32(2),
  19663. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(57)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19664. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(57)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19665. },
  19666. },
  19667. 58: {
  19668. Flang: [16]TFcChar8{'f', 'i', 'l'},
  19669. Fcharset: TFcCharSet{
  19670. Fref: TFcRef{
  19671. Fcount: -libc.Int32FromInt32(1),
  19672. },
  19673. Fnum: int32(1),
  19674. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(58)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19675. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(58)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19676. },
  19677. },
  19678. 59: {
  19679. Flang: [16]TFcChar8{'f', 'j'},
  19680. Fcharset: TFcCharSet{
  19681. Fref: TFcRef{
  19682. Fcount: -libc.Int32FromInt32(1),
  19683. },
  19684. Fnum: int32(1),
  19685. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(59)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19686. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(59)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19687. },
  19688. },
  19689. 60: {
  19690. Flang: [16]TFcChar8{'f', 'o'},
  19691. Fcharset: TFcCharSet{
  19692. Fref: TFcRef{
  19693. Fcount: -libc.Int32FromInt32(1),
  19694. },
  19695. Fnum: int32(1),
  19696. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(88)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(60)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19697. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(88)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(60)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19698. },
  19699. },
  19700. 61: {
  19701. Flang: [16]TFcChar8{'f', 'r'},
  19702. Fcharset: TFcCharSet{
  19703. Fref: TFcRef{
  19704. Fcount: -libc.Int32FromInt32(1),
  19705. },
  19706. Fnum: int32(2),
  19707. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(61)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19708. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(61)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19709. },
  19710. },
  19711. 62: {
  19712. Flang: [16]TFcChar8{'f', 'u', 'r'},
  19713. Fcharset: TFcCharSet{
  19714. Fref: TFcRef{
  19715. Fcount: -libc.Int32FromInt32(1),
  19716. },
  19717. Fnum: int32(1),
  19718. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(89)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(62)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19719. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(89)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(62)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19720. },
  19721. },
  19722. 63: {
  19723. Flang: [16]TFcChar8{'f', 'y'},
  19724. Fcharset: TFcCharSet{
  19725. Fref: TFcRef{
  19726. Fcount: -libc.Int32FromInt32(1),
  19727. },
  19728. Fnum: int32(1),
  19729. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(90)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(63)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19730. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(90)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(63)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19731. },
  19732. },
  19733. 64: {
  19734. Flang: [16]TFcChar8{'g', 'a'},
  19735. Fcharset: TFcCharSet{
  19736. Fref: TFcRef{
  19737. Fcount: -libc.Int32FromInt32(1),
  19738. },
  19739. Fnum: int32(3),
  19740. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(64)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19741. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(64)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19742. },
  19743. },
  19744. 65: {
  19745. Flang: [16]TFcChar8{'g', 'd'},
  19746. Fcharset: TFcCharSet{
  19747. Fref: TFcRef{
  19748. Fcount: -libc.Int32FromInt32(1),
  19749. },
  19750. Fnum: int32(1),
  19751. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(94)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(65)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19752. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(94)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(65)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19753. },
  19754. },
  19755. 66: {
  19756. Flang: [16]TFcChar8{'g', 'e', 'z'},
  19757. Fcharset: TFcCharSet{
  19758. Fref: TFcRef{
  19759. Fcount: -libc.Int32FromInt32(1),
  19760. },
  19761. Fnum: int32(2),
  19762. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(66)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19763. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(66)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19764. },
  19765. },
  19766. 67: {
  19767. Flang: [16]TFcChar8{'g', 'l'},
  19768. Fcharset: TFcCharSet{
  19769. Fref: TFcRef{
  19770. Fcount: -libc.Int32FromInt32(1),
  19771. },
  19772. Fnum: int32(1),
  19773. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(67)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19774. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(67)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19775. },
  19776. },
  19777. 68: {
  19778. Flang: [16]TFcChar8{'g', 'n'},
  19779. Fcharset: TFcCharSet{
  19780. Fref: TFcRef{
  19781. Fcount: -libc.Int32FromInt32(1),
  19782. },
  19783. Fnum: int32(3),
  19784. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(68)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19785. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(68)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19786. },
  19787. },
  19788. 69: {
  19789. Flang: [16]TFcChar8{'g', 'u'},
  19790. Fcharset: TFcCharSet{
  19791. Fref: TFcRef{
  19792. Fcount: -libc.Int32FromInt32(1),
  19793. },
  19794. Fnum: int32(1),
  19795. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(100)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(69)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19796. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(100)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(69)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19797. },
  19798. },
  19799. 70: {
  19800. Flang: [16]TFcChar8{'g', 'v'},
  19801. Fcharset: TFcCharSet{
  19802. Fref: TFcRef{
  19803. Fcount: -libc.Int32FromInt32(1),
  19804. },
  19805. Fnum: int32(1),
  19806. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(101)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(70)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19807. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(101)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(70)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19808. },
  19809. },
  19810. 71: {
  19811. Flang: [16]TFcChar8{'h', 'a'},
  19812. Fcharset: TFcCharSet{
  19813. Fref: TFcRef{
  19814. Fcount: -libc.Int32FromInt32(1),
  19815. },
  19816. Fnum: int32(3),
  19817. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(71)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19818. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(71)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19819. },
  19820. },
  19821. 72: {
  19822. Flang: [16]TFcChar8{'h', 'a', 'w'},
  19823. Fcharset: TFcCharSet{
  19824. Fref: TFcRef{
  19825. Fcount: -libc.Int32FromInt32(1),
  19826. },
  19827. Fnum: int32(3),
  19828. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(72)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19829. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(72)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19830. },
  19831. },
  19832. 73: {
  19833. Flang: [16]TFcChar8{'h', 'e'},
  19834. Fcharset: TFcCharSet{
  19835. Fref: TFcRef{
  19836. Fcount: -libc.Int32FromInt32(1),
  19837. },
  19838. Fnum: int32(1),
  19839. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(73)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19840. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(73)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19841. },
  19842. },
  19843. 74: {
  19844. Flang: [16]TFcChar8{'h', 'i'},
  19845. Fcharset: TFcCharSet{
  19846. Fref: TFcRef{
  19847. Fcount: -libc.Int32FromInt32(1),
  19848. },
  19849. Fnum: int32(1),
  19850. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(74)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19851. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(74)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19852. },
  19853. },
  19854. 75: {
  19855. Flang: [16]TFcChar8{'h', 'n', 'e'},
  19856. Fcharset: TFcCharSet{
  19857. Fref: TFcRef{
  19858. Fcount: -libc.Int32FromInt32(1),
  19859. },
  19860. Fnum: int32(1),
  19861. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(75)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19862. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(75)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19863. },
  19864. },
  19865. 76: {
  19866. Flang: [16]TFcChar8{'h', 'o'},
  19867. Fcharset: TFcCharSet{
  19868. Fref: TFcRef{
  19869. Fcount: -libc.Int32FromInt32(1),
  19870. },
  19871. Fnum: int32(1),
  19872. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(76)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19873. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(76)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19874. },
  19875. },
  19876. 77: {
  19877. Flang: [16]TFcChar8{'h', 'r'},
  19878. Fcharset: TFcCharSet{
  19879. Fref: TFcRef{
  19880. Fcount: -libc.Int32FromInt32(1),
  19881. },
  19882. Fnum: int32(2),
  19883. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(77)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19884. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(77)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19885. },
  19886. },
  19887. 78: {
  19888. Flang: [16]TFcChar8{'h', 's', 'b'},
  19889. Fcharset: TFcCharSet{
  19890. Fref: TFcRef{
  19891. Fcount: -libc.Int32FromInt32(1),
  19892. },
  19893. Fnum: int32(2),
  19894. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(78)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19895. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(78)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19896. },
  19897. },
  19898. 79: {
  19899. Flang: [16]TFcChar8{'h', 't'},
  19900. Fcharset: TFcCharSet{
  19901. Fref: TFcRef{
  19902. Fcount: -libc.Int32FromInt32(1),
  19903. },
  19904. Fnum: int32(1),
  19905. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(111)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(79)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19906. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(111)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(79)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19907. },
  19908. },
  19909. 80: {
  19910. Flang: [16]TFcChar8{'h', 'u'},
  19911. Fcharset: TFcCharSet{
  19912. Fref: TFcRef{
  19913. Fcount: -libc.Int32FromInt32(1),
  19914. },
  19915. Fnum: int32(2),
  19916. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(80)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19917. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(80)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19918. },
  19919. },
  19920. 81: {
  19921. Flang: [16]TFcChar8{'h', 'y'},
  19922. Fcharset: TFcCharSet{
  19923. Fref: TFcRef{
  19924. Fcount: -libc.Int32FromInt32(1),
  19925. },
  19926. Fnum: int32(1),
  19927. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(114)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(81)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19928. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(114)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(81)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19929. },
  19930. },
  19931. 82: {
  19932. Flang: [16]TFcChar8{'h', 'z'},
  19933. Fcharset: TFcCharSet{
  19934. Fref: TFcRef{
  19935. Fcount: -libc.Int32FromInt32(1),
  19936. },
  19937. Fnum: int32(3),
  19938. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(82)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19939. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(82)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19940. },
  19941. },
  19942. 83: {
  19943. Flang: [16]TFcChar8{'i', 'a'},
  19944. Fcharset: TFcCharSet{
  19945. Fref: TFcRef{
  19946. Fcount: -libc.Int32FromInt32(1),
  19947. },
  19948. Fnum: int32(1),
  19949. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(83)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19950. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(83)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19951. },
  19952. },
  19953. 84: {
  19954. Flang: [16]TFcChar8{'i', 'd'},
  19955. Fcharset: TFcCharSet{
  19956. Fref: TFcRef{
  19957. Fcount: -libc.Int32FromInt32(1),
  19958. },
  19959. Fnum: int32(1),
  19960. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(84)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19961. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(84)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19962. },
  19963. },
  19964. 85: {
  19965. Flang: [16]TFcChar8{'i', 'e'},
  19966. Fcharset: TFcCharSet{
  19967. Fref: TFcRef{
  19968. Fcount: -libc.Int32FromInt32(1),
  19969. },
  19970. Fnum: int32(1),
  19971. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(85)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19972. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(85)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19973. },
  19974. },
  19975. 86: {
  19976. Flang: [16]TFcChar8{'i', 'g'},
  19977. Fcharset: TFcCharSet{
  19978. Fref: TFcRef{
  19979. Fcount: -libc.Int32FromInt32(1),
  19980. },
  19981. Fnum: int32(2),
  19982. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(86)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19983. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(86)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19984. },
  19985. },
  19986. 87: {
  19987. Flang: [16]TFcChar8{'i', 'i'},
  19988. Fcharset: TFcCharSet{
  19989. Fref: TFcRef{
  19990. Fcount: -libc.Int32FromInt32(1),
  19991. },
  19992. Fnum: int32(5),
  19993. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(87)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19994. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(87)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19995. },
  19996. },
  19997. 88: {
  19998. Flang: [16]TFcChar8{'i', 'k'},
  19999. Fcharset: TFcCharSet{
  20000. Fref: TFcRef{
  20001. Fcount: -libc.Int32FromInt32(1),
  20002. },
  20003. Fnum: int32(1),
  20004. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(88)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20005. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(88)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20006. },
  20007. },
  20008. 89: {
  20009. Flang: [16]TFcChar8{'i', 'o'},
  20010. Fcharset: TFcCharSet{
  20011. Fref: TFcRef{
  20012. Fcount: -libc.Int32FromInt32(1),
  20013. },
  20014. Fnum: int32(1),
  20015. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(89)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20016. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(89)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20017. },
  20018. },
  20019. 90: {
  20020. Flang: [16]TFcChar8{'i', 's'},
  20021. Fcharset: TFcCharSet{
  20022. Fref: TFcRef{
  20023. Fcount: -libc.Int32FromInt32(1),
  20024. },
  20025. Fnum: int32(1),
  20026. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(90)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20027. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(90)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20028. },
  20029. },
  20030. 91: {
  20031. Flang: [16]TFcChar8{'i', 't'},
  20032. Fcharset: TFcCharSet{
  20033. Fref: TFcRef{
  20034. Fcount: -libc.Int32FromInt32(1),
  20035. },
  20036. Fnum: int32(1),
  20037. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(91)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20038. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(91)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20039. },
  20040. },
  20041. 92: {
  20042. Flang: [16]TFcChar8{'i', 'u'},
  20043. Fcharset: TFcCharSet{
  20044. Fref: TFcRef{
  20045. Fcount: -libc.Int32FromInt32(1),
  20046. },
  20047. Fnum: int32(3),
  20048. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(92)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20049. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(92)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20050. },
  20051. },
  20052. 93: {
  20053. Flang: [16]TFcChar8{'j', 'a'},
  20054. Fcharset: TFcCharSet{
  20055. Fref: TFcRef{
  20056. Fcount: -libc.Int32FromInt32(1),
  20057. },
  20058. Fnum: int32(83),
  20059. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(93)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20060. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(93)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20061. },
  20062. },
  20063. 94: {
  20064. Flang: [16]TFcChar8{'j', 'v'},
  20065. Fcharset: TFcCharSet{
  20066. Fref: TFcRef{
  20067. Fcount: -libc.Int32FromInt32(1),
  20068. },
  20069. Fnum: int32(1),
  20070. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(94)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20071. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(94)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20072. },
  20073. },
  20074. 95: {
  20075. Flang: [16]TFcChar8{'k', 'a'},
  20076. Fcharset: TFcCharSet{
  20077. Fref: TFcRef{
  20078. Fcount: -libc.Int32FromInt32(1),
  20079. },
  20080. Fnum: int32(1),
  20081. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(95)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20082. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(95)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20083. },
  20084. },
  20085. 96: {
  20086. Flang: [16]TFcChar8{'k', 'a', 'a'},
  20087. Fcharset: TFcCharSet{
  20088. Fref: TFcRef{
  20089. Fcount: -libc.Int32FromInt32(1),
  20090. },
  20091. Fnum: int32(1),
  20092. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(96)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20093. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(96)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20094. },
  20095. },
  20096. 97: {
  20097. Flang: [16]TFcChar8{'k', 'a', 'b'},
  20098. Fcharset: TFcCharSet{
  20099. Fref: TFcRef{
  20100. Fcount: -libc.Int32FromInt32(1),
  20101. },
  20102. Fnum: int32(4),
  20103. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(97)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20104. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(97)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20105. },
  20106. },
  20107. 98: {
  20108. Flang: [16]TFcChar8{'k', 'i'},
  20109. Fcharset: TFcCharSet{
  20110. Fref: TFcRef{
  20111. Fcount: -libc.Int32FromInt32(1),
  20112. },
  20113. Fnum: int32(2),
  20114. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(98)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20115. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(98)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20116. },
  20117. },
  20118. 99: {
  20119. Flang: [16]TFcChar8{'k', 'j'},
  20120. Fcharset: TFcCharSet{
  20121. Fref: TFcRef{
  20122. Fcount: -libc.Int32FromInt32(1),
  20123. },
  20124. Fnum: int32(1),
  20125. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(99)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20126. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(99)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20127. },
  20128. },
  20129. 100: {
  20130. Flang: [16]TFcChar8{'k', 'k'},
  20131. Fcharset: TFcCharSet{
  20132. Fref: TFcRef{
  20133. Fcount: -libc.Int32FromInt32(1),
  20134. },
  20135. Fnum: int32(1),
  20136. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(100)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20137. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(100)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20138. },
  20139. },
  20140. 101: {
  20141. Flang: [16]TFcChar8{'k', 'l'},
  20142. Fcharset: TFcCharSet{
  20143. Fref: TFcRef{
  20144. Fcount: -libc.Int32FromInt32(1),
  20145. },
  20146. Fnum: int32(2),
  20147. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(101)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20148. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(101)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20149. },
  20150. },
  20151. 102: {
  20152. Flang: [16]TFcChar8{'k', 'm'},
  20153. Fcharset: TFcCharSet{
  20154. Fref: TFcRef{
  20155. Fcount: -libc.Int32FromInt32(1),
  20156. },
  20157. Fnum: int32(1),
  20158. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(102)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20159. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(102)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20160. },
  20161. },
  20162. 103: {
  20163. Flang: [16]TFcChar8{'k', 'n'},
  20164. Fcharset: TFcCharSet{
  20165. Fref: TFcRef{
  20166. Fcount: -libc.Int32FromInt32(1),
  20167. },
  20168. Fnum: int32(1),
  20169. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(103)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20170. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(103)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20171. },
  20172. },
  20173. 104: {
  20174. Flang: [16]TFcChar8{'k', 'o'},
  20175. Fcharset: TFcCharSet{
  20176. Fref: TFcRef{
  20177. Fcount: -libc.Int32FromInt32(1),
  20178. },
  20179. Fnum: int32(45),
  20180. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(104)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20181. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(104)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20182. },
  20183. },
  20184. 105: {
  20185. Flang: [16]TFcChar8{'k', 'o', 'k'},
  20186. Fcharset: TFcCharSet{
  20187. Fref: TFcRef{
  20188. Fcount: -libc.Int32FromInt32(1),
  20189. },
  20190. Fnum: int32(1),
  20191. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(105)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20192. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(105)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20193. },
  20194. },
  20195. 106: {
  20196. Flang: [16]TFcChar8{'k', 'r'},
  20197. Fcharset: TFcCharSet{
  20198. Fref: TFcRef{
  20199. Fcount: -libc.Int32FromInt32(1),
  20200. },
  20201. Fnum: int32(3),
  20202. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(106)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20203. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(106)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20204. },
  20205. },
  20206. 107: {
  20207. Flang: [16]TFcChar8{'k', 's'},
  20208. Fcharset: TFcCharSet{
  20209. Fref: TFcRef{
  20210. Fcount: -libc.Int32FromInt32(1),
  20211. },
  20212. Fnum: int32(1),
  20213. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(107)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20214. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(107)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20215. },
  20216. },
  20217. 108: {
  20218. Flang: [16]TFcChar8{'k', 'u', '-', 'a', 'm'},
  20219. Fcharset: TFcCharSet{
  20220. Fref: TFcRef{
  20221. Fcount: -libc.Int32FromInt32(1),
  20222. },
  20223. Fnum: int32(2),
  20224. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(108)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20225. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(108)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20226. },
  20227. },
  20228. 109: {
  20229. Flang: [16]TFcChar8{'k', 'u', '-', 'i', 'q'},
  20230. Fcharset: TFcCharSet{
  20231. Fref: TFcRef{
  20232. Fcount: -libc.Int32FromInt32(1),
  20233. },
  20234. Fnum: int32(1),
  20235. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(109)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20236. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(109)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20237. },
  20238. },
  20239. 110: {
  20240. Flang: [16]TFcChar8{'k', 'u', '-', 'i', 'r'},
  20241. Fcharset: TFcCharSet{
  20242. Fref: TFcRef{
  20243. Fcount: -libc.Int32FromInt32(1),
  20244. },
  20245. Fnum: int32(1),
  20246. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(110)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20247. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(110)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20248. },
  20249. },
  20250. 111: {
  20251. Flang: [16]TFcChar8{'k', 'u', '-', 't', 'r'},
  20252. Fcharset: TFcCharSet{
  20253. Fref: TFcRef{
  20254. Fcount: -libc.Int32FromInt32(1),
  20255. },
  20256. Fnum: int32(2),
  20257. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(111)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20258. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(111)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20259. },
  20260. },
  20261. 112: {
  20262. Flang: [16]TFcChar8{'k', 'u', 'm'},
  20263. Fcharset: TFcCharSet{
  20264. Fref: TFcRef{
  20265. Fcount: -libc.Int32FromInt32(1),
  20266. },
  20267. Fnum: int32(1),
  20268. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(112)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20269. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(112)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20270. },
  20271. },
  20272. 113: {
  20273. Flang: [16]TFcChar8{'k', 'v'},
  20274. Fcharset: TFcCharSet{
  20275. Fref: TFcRef{
  20276. Fcount: -libc.Int32FromInt32(1),
  20277. },
  20278. Fnum: int32(1),
  20279. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(113)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20280. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(113)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20281. },
  20282. },
  20283. 114: {
  20284. Flang: [16]TFcChar8{'k', 'w'},
  20285. Fcharset: TFcCharSet{
  20286. Fref: TFcRef{
  20287. Fcount: -libc.Int32FromInt32(1),
  20288. },
  20289. Fnum: int32(3),
  20290. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(114)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20291. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(114)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20292. },
  20293. },
  20294. 115: {
  20295. Flang: [16]TFcChar8{'k', 'w', 'm'},
  20296. Fcharset: TFcCharSet{
  20297. Fref: TFcRef{
  20298. Fcount: -libc.Int32FromInt32(1),
  20299. },
  20300. Fnum: int32(1),
  20301. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(115)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20302. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(115)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20303. },
  20304. },
  20305. 116: {
  20306. Flang: [16]TFcChar8{'k', 'y'},
  20307. Fcharset: TFcCharSet{
  20308. Fref: TFcRef{
  20309. Fcount: -libc.Int32FromInt32(1),
  20310. },
  20311. Fnum: int32(1),
  20312. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(116)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20313. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(116)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20314. },
  20315. },
  20316. 117: {
  20317. Flang: [16]TFcChar8{'l', 'a'},
  20318. Fcharset: TFcCharSet{
  20319. Fref: TFcRef{
  20320. Fcount: -libc.Int32FromInt32(1),
  20321. },
  20322. Fnum: int32(2),
  20323. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(117)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20324. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(117)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20325. },
  20326. },
  20327. 118: {
  20328. Flang: [16]TFcChar8{'l', 'a', 'h'},
  20329. Fcharset: TFcCharSet{
  20330. Fref: TFcRef{
  20331. Fcount: -libc.Int32FromInt32(1),
  20332. },
  20333. Fnum: int32(1),
  20334. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(118)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20335. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(118)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20336. },
  20337. },
  20338. 119: {
  20339. Flang: [16]TFcChar8{'l', 'b'},
  20340. Fcharset: TFcCharSet{
  20341. Fref: TFcRef{
  20342. Fcount: -libc.Int32FromInt32(1),
  20343. },
  20344. Fnum: int32(1),
  20345. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(119)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20346. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(119)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20347. },
  20348. },
  20349. 120: {
  20350. Flang: [16]TFcChar8{'l', 'e', 'z'},
  20351. Fcharset: TFcCharSet{
  20352. Fref: TFcRef{
  20353. Fcount: -libc.Int32FromInt32(1),
  20354. },
  20355. Fnum: int32(1),
  20356. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(120)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20357. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(120)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20358. },
  20359. },
  20360. 121: {
  20361. Flang: [16]TFcChar8{'l', 'g'},
  20362. Fcharset: TFcCharSet{
  20363. Fref: TFcRef{
  20364. Fcount: -libc.Int32FromInt32(1),
  20365. },
  20366. Fnum: int32(2),
  20367. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(121)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20368. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(121)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20369. },
  20370. },
  20371. 122: {
  20372. Flang: [16]TFcChar8{'l', 'i'},
  20373. Fcharset: TFcCharSet{
  20374. Fref: TFcRef{
  20375. Fcount: -libc.Int32FromInt32(1),
  20376. },
  20377. Fnum: int32(1),
  20378. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(122)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20379. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(122)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20380. },
  20381. },
  20382. 123: {
  20383. Flang: [16]TFcChar8{'l', 'n'},
  20384. Fcharset: TFcCharSet{
  20385. Fref: TFcRef{
  20386. Fcount: -libc.Int32FromInt32(1),
  20387. },
  20388. Fnum: int32(4),
  20389. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(123)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20390. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(123)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20391. },
  20392. },
  20393. 124: {
  20394. Flang: [16]TFcChar8{'l', 'o'},
  20395. Fcharset: TFcCharSet{
  20396. Fref: TFcRef{
  20397. Fcount: -libc.Int32FromInt32(1),
  20398. },
  20399. Fnum: int32(1),
  20400. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(124)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20401. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(124)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20402. },
  20403. },
  20404. 125: {
  20405. Flang: [16]TFcChar8{'l', 't'},
  20406. Fcharset: TFcCharSet{
  20407. Fref: TFcRef{
  20408. Fcount: -libc.Int32FromInt32(1),
  20409. },
  20410. Fnum: int32(2),
  20411. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(125)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20412. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(125)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20413. },
  20414. },
  20415. 126: {
  20416. Flang: [16]TFcChar8{'l', 'v'},
  20417. Fcharset: TFcCharSet{
  20418. Fref: TFcRef{
  20419. Fcount: -libc.Int32FromInt32(1),
  20420. },
  20421. Fnum: int32(2),
  20422. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(126)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20423. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(126)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20424. },
  20425. },
  20426. 127: {
  20427. Flang: [16]TFcChar8{'m', 'a', 'i'},
  20428. Fcharset: TFcCharSet{
  20429. Fref: TFcRef{
  20430. Fcount: -libc.Int32FromInt32(1),
  20431. },
  20432. Fnum: int32(1),
  20433. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(127)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20434. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(127)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20435. },
  20436. },
  20437. 128: {
  20438. Flang: [16]TFcChar8{'m', 'g'},
  20439. Fcharset: TFcCharSet{
  20440. Fref: TFcRef{
  20441. Fcount: -libc.Int32FromInt32(1),
  20442. },
  20443. Fnum: int32(1),
  20444. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(128)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20445. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(128)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20446. },
  20447. },
  20448. 129: {
  20449. Flang: [16]TFcChar8{'m', 'h'},
  20450. Fcharset: TFcCharSet{
  20451. Fref: TFcRef{
  20452. Fcount: -libc.Int32FromInt32(1),
  20453. },
  20454. Fnum: int32(2),
  20455. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(129)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20456. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(129)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20457. },
  20458. },
  20459. 130: {
  20460. Flang: [16]TFcChar8{'m', 'i'},
  20461. Fcharset: TFcCharSet{
  20462. Fref: TFcRef{
  20463. Fcount: -libc.Int32FromInt32(1),
  20464. },
  20465. Fnum: int32(3),
  20466. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(130)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20467. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(130)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20468. },
  20469. },
  20470. 131: {
  20471. Flang: [16]TFcChar8{'m', 'k'},
  20472. Fcharset: TFcCharSet{
  20473. Fref: TFcRef{
  20474. Fcount: -libc.Int32FromInt32(1),
  20475. },
  20476. Fnum: int32(1),
  20477. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(131)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20478. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(131)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20479. },
  20480. },
  20481. 132: {
  20482. Flang: [16]TFcChar8{'m', 'l'},
  20483. Fcharset: TFcCharSet{
  20484. Fref: TFcRef{
  20485. Fcount: -libc.Int32FromInt32(1),
  20486. },
  20487. Fnum: int32(1),
  20488. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(132)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20489. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(132)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20490. },
  20491. },
  20492. 133: {
  20493. Flang: [16]TFcChar8{'m', 'n', '-', 'c', 'n'},
  20494. Fcharset: TFcCharSet{
  20495. Fref: TFcRef{
  20496. Fcount: -libc.Int32FromInt32(1),
  20497. },
  20498. Fnum: int32(1),
  20499. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(133)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20500. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(133)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20501. },
  20502. },
  20503. 134: {
  20504. Flang: [16]TFcChar8{'m', 'n', '-', 'm', 'n'},
  20505. Fcharset: TFcCharSet{
  20506. Fref: TFcRef{
  20507. Fcount: -libc.Int32FromInt32(1),
  20508. },
  20509. Fnum: int32(1),
  20510. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(134)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20511. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(134)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20512. },
  20513. },
  20514. 135: {
  20515. Flang: [16]TFcChar8{'m', 'n', 'i'},
  20516. Fcharset: TFcCharSet{
  20517. Fref: TFcRef{
  20518. Fcount: -libc.Int32FromInt32(1),
  20519. },
  20520. Fnum: int32(1),
  20521. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(135)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20522. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(135)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20523. },
  20524. },
  20525. 136: {
  20526. Flang: [16]TFcChar8{'m', 'o'},
  20527. Fcharset: TFcCharSet{
  20528. Fref: TFcRef{
  20529. Fcount: -libc.Int32FromInt32(1),
  20530. },
  20531. Fnum: int32(4),
  20532. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(136)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20533. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(136)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20534. },
  20535. },
  20536. 137: {
  20537. Flang: [16]TFcChar8{'m', 'r'},
  20538. Fcharset: TFcCharSet{
  20539. Fref: TFcRef{
  20540. Fcount: -libc.Int32FromInt32(1),
  20541. },
  20542. Fnum: int32(1),
  20543. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(137)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20544. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(137)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20545. },
  20546. },
  20547. 138: {
  20548. Flang: [16]TFcChar8{'m', 's'},
  20549. Fcharset: TFcCharSet{
  20550. Fref: TFcRef{
  20551. Fcount: -libc.Int32FromInt32(1),
  20552. },
  20553. Fnum: int32(1),
  20554. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(138)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20555. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(138)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20556. },
  20557. },
  20558. 139: {
  20559. Flang: [16]TFcChar8{'m', 't'},
  20560. Fcharset: TFcCharSet{
  20561. Fref: TFcRef{
  20562. Fcount: -libc.Int32FromInt32(1),
  20563. },
  20564. Fnum: int32(2),
  20565. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(139)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20566. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(139)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20567. },
  20568. },
  20569. 140: {
  20570. Flang: [16]TFcChar8{'m', 'y'},
  20571. Fcharset: TFcCharSet{
  20572. Fref: TFcRef{
  20573. Fcount: -libc.Int32FromInt32(1),
  20574. },
  20575. Fnum: int32(1),
  20576. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(140)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20577. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(140)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20578. },
  20579. },
  20580. 141: {
  20581. Flang: [16]TFcChar8{'n', 'a'},
  20582. Fcharset: TFcCharSet{
  20583. Fref: TFcRef{
  20584. Fcount: -libc.Int32FromInt32(1),
  20585. },
  20586. Fnum: int32(2),
  20587. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(141)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20588. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(141)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20589. },
  20590. },
  20591. 142: {
  20592. Flang: [16]TFcChar8{'n', 'b'},
  20593. Fcharset: TFcCharSet{
  20594. Fref: TFcRef{
  20595. Fcount: -libc.Int32FromInt32(1),
  20596. },
  20597. Fnum: int32(1),
  20598. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(142)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20599. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(142)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20600. },
  20601. },
  20602. 143: {
  20603. Flang: [16]TFcChar8{'n', 'd', 's'},
  20604. Fcharset: TFcCharSet{
  20605. Fref: TFcRef{
  20606. Fcount: -libc.Int32FromInt32(1),
  20607. },
  20608. Fnum: int32(1),
  20609. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(143)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20610. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(143)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20611. },
  20612. },
  20613. 144: {
  20614. Flang: [16]TFcChar8{'n', 'e'},
  20615. Fcharset: TFcCharSet{
  20616. Fref: TFcRef{
  20617. Fcount: -libc.Int32FromInt32(1),
  20618. },
  20619. Fnum: int32(1),
  20620. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(144)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20621. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(144)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20622. },
  20623. },
  20624. 145: {
  20625. Flang: [16]TFcChar8{'n', 'g'},
  20626. Fcharset: TFcCharSet{
  20627. Fref: TFcRef{
  20628. Fcount: -libc.Int32FromInt32(1),
  20629. },
  20630. Fnum: int32(1),
  20631. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(145)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20632. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(145)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20633. },
  20634. },
  20635. 146: {
  20636. Flang: [16]TFcChar8{'n', 'l'},
  20637. Fcharset: TFcCharSet{
  20638. Fref: TFcRef{
  20639. Fcount: -libc.Int32FromInt32(1),
  20640. },
  20641. Fnum: int32(1),
  20642. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(146)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20643. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(146)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20644. },
  20645. },
  20646. 147: {
  20647. Flang: [16]TFcChar8{'n', 'n'},
  20648. Fcharset: TFcCharSet{
  20649. Fref: TFcRef{
  20650. Fcount: -libc.Int32FromInt32(1),
  20651. },
  20652. Fnum: int32(1),
  20653. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(147)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20654. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(147)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20655. },
  20656. },
  20657. 148: {
  20658. Flang: [16]TFcChar8{'n', 'o'},
  20659. Fcharset: TFcCharSet{
  20660. Fref: TFcRef{
  20661. Fcount: -libc.Int32FromInt32(1),
  20662. },
  20663. Fnum: int32(1),
  20664. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(148)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20665. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(148)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20666. },
  20667. },
  20668. 149: {
  20669. Flang: [16]TFcChar8{'n', 'q', 'o'},
  20670. Fcharset: TFcCharSet{
  20671. Fref: TFcRef{
  20672. Fcount: -libc.Int32FromInt32(1),
  20673. },
  20674. Fnum: int32(1),
  20675. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(149)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20676. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(149)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20677. },
  20678. },
  20679. 150: {
  20680. Flang: [16]TFcChar8{'n', 'r'},
  20681. Fcharset: TFcCharSet{
  20682. Fref: TFcRef{
  20683. Fcount: -libc.Int32FromInt32(1),
  20684. },
  20685. Fnum: int32(1),
  20686. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(150)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20687. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(150)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20688. },
  20689. },
  20690. 151: {
  20691. Flang: [16]TFcChar8{'n', 's', 'o'},
  20692. Fcharset: TFcCharSet{
  20693. Fref: TFcRef{
  20694. Fcount: -libc.Int32FromInt32(1),
  20695. },
  20696. Fnum: int32(2),
  20697. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(151)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20698. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(151)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20699. },
  20700. },
  20701. 152: {
  20702. Flang: [16]TFcChar8{'n', 'v'},
  20703. Fcharset: TFcCharSet{
  20704. Fref: TFcRef{
  20705. Fcount: -libc.Int32FromInt32(1),
  20706. },
  20707. Fnum: int32(4),
  20708. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(152)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20709. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(152)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20710. },
  20711. },
  20712. 153: {
  20713. Flang: [16]TFcChar8{'n', 'y'},
  20714. Fcharset: TFcCharSet{
  20715. Fref: TFcRef{
  20716. Fcount: -libc.Int32FromInt32(1),
  20717. },
  20718. Fnum: int32(2),
  20719. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(153)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20720. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(153)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20721. },
  20722. },
  20723. 154: {
  20724. Flang: [16]TFcChar8{'o', 'c'},
  20725. Fcharset: TFcCharSet{
  20726. Fref: TFcRef{
  20727. Fcount: -libc.Int32FromInt32(1),
  20728. },
  20729. Fnum: int32(1),
  20730. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(154)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20731. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(154)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20732. },
  20733. },
  20734. 155: {
  20735. Flang: [16]TFcChar8{'o', 'm'},
  20736. Fcharset: TFcCharSet{
  20737. Fref: TFcRef{
  20738. Fcount: -libc.Int32FromInt32(1),
  20739. },
  20740. Fnum: int32(1),
  20741. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(155)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20742. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(155)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20743. },
  20744. },
  20745. 156: {
  20746. Flang: [16]TFcChar8{'o', 'r'},
  20747. Fcharset: TFcCharSet{
  20748. Fref: TFcRef{
  20749. Fcount: -libc.Int32FromInt32(1),
  20750. },
  20751. Fnum: int32(1),
  20752. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(156)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20753. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(156)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20754. },
  20755. },
  20756. 157: {
  20757. Flang: [16]TFcChar8{'o', 's'},
  20758. Fcharset: TFcCharSet{
  20759. Fref: TFcRef{
  20760. Fcount: -libc.Int32FromInt32(1),
  20761. },
  20762. Fnum: int32(1),
  20763. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(157)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20764. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(157)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20765. },
  20766. },
  20767. 158: {
  20768. Flang: [16]TFcChar8{'o', 't', 'a'},
  20769. Fcharset: TFcCharSet{
  20770. Fref: TFcRef{
  20771. Fcount: -libc.Int32FromInt32(1),
  20772. },
  20773. Fnum: int32(1),
  20774. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(158)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20775. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(158)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20776. },
  20777. },
  20778. 159: {
  20779. Flang: [16]TFcChar8{'p', 'a'},
  20780. Fcharset: TFcCharSet{
  20781. Fref: TFcRef{
  20782. Fcount: -libc.Int32FromInt32(1),
  20783. },
  20784. Fnum: int32(1),
  20785. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(159)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20786. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(159)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20787. },
  20788. },
  20789. 160: {
  20790. Flang: [16]TFcChar8{'p', 'a', '-', 'p', 'k'},
  20791. Fcharset: TFcCharSet{
  20792. Fref: TFcRef{
  20793. Fcount: -libc.Int32FromInt32(1),
  20794. },
  20795. Fnum: int32(1),
  20796. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(160)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20797. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(160)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20798. },
  20799. },
  20800. 161: {
  20801. Flang: [16]TFcChar8{'p', 'a', 'p', '-', 'a', 'n'},
  20802. Fcharset: TFcCharSet{
  20803. Fref: TFcRef{
  20804. Fcount: -libc.Int32FromInt32(1),
  20805. },
  20806. Fnum: int32(1),
  20807. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(161)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20808. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(161)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20809. },
  20810. },
  20811. 162: {
  20812. Flang: [16]TFcChar8{'p', 'a', 'p', '-', 'a', 'w'},
  20813. Fcharset: TFcCharSet{
  20814. Fref: TFcRef{
  20815. Fcount: -libc.Int32FromInt32(1),
  20816. },
  20817. Fnum: int32(1),
  20818. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(162)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20819. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(162)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20820. },
  20821. },
  20822. 163: {
  20823. Flang: [16]TFcChar8{'p', 'l'},
  20824. Fcharset: TFcCharSet{
  20825. Fref: TFcRef{
  20826. Fcount: -libc.Int32FromInt32(1),
  20827. },
  20828. Fnum: int32(2),
  20829. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(163)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20830. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(163)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20831. },
  20832. },
  20833. 164: {
  20834. Flang: [16]TFcChar8{'p', 's', '-', 'a', 'f'},
  20835. Fcharset: TFcCharSet{
  20836. Fref: TFcRef{
  20837. Fcount: -libc.Int32FromInt32(1),
  20838. },
  20839. Fnum: int32(1),
  20840. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(164)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20841. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(164)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20842. },
  20843. },
  20844. 165: {
  20845. Flang: [16]TFcChar8{'p', 's', '-', 'p', 'k'},
  20846. Fcharset: TFcCharSet{
  20847. Fref: TFcRef{
  20848. Fcount: -libc.Int32FromInt32(1),
  20849. },
  20850. Fnum: int32(1),
  20851. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(165)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20852. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(165)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20853. },
  20854. },
  20855. 166: {
  20856. Flang: [16]TFcChar8{'p', 't'},
  20857. Fcharset: TFcCharSet{
  20858. Fref: TFcRef{
  20859. Fcount: -libc.Int32FromInt32(1),
  20860. },
  20861. Fnum: int32(1),
  20862. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(166)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20863. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(166)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20864. },
  20865. },
  20866. 167: {
  20867. Flang: [16]TFcChar8{'q', 'u'},
  20868. Fcharset: TFcCharSet{
  20869. Fref: TFcRef{
  20870. Fcount: -libc.Int32FromInt32(1),
  20871. },
  20872. Fnum: int32(2),
  20873. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(167)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20874. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(167)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20875. },
  20876. },
  20877. 168: {
  20878. Flang: [16]TFcChar8{'q', 'u', 'z'},
  20879. Fcharset: TFcCharSet{
  20880. Fref: TFcRef{
  20881. Fcount: -libc.Int32FromInt32(1),
  20882. },
  20883. Fnum: int32(2),
  20884. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(168)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20885. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(168)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20886. },
  20887. },
  20888. 169: {
  20889. Flang: [16]TFcChar8{'r', 'm'},
  20890. Fcharset: TFcCharSet{
  20891. Fref: TFcRef{
  20892. Fcount: -libc.Int32FromInt32(1),
  20893. },
  20894. Fnum: int32(1),
  20895. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(169)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20896. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(169)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20897. },
  20898. },
  20899. 170: {
  20900. Flang: [16]TFcChar8{'r', 'n'},
  20901. Fcharset: TFcCharSet{
  20902. Fref: TFcRef{
  20903. Fcount: -libc.Int32FromInt32(1),
  20904. },
  20905. Fnum: int32(1),
  20906. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(170)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20907. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(170)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20908. },
  20909. },
  20910. 171: {
  20911. Flang: [16]TFcChar8{'r', 'o'},
  20912. Fcharset: TFcCharSet{
  20913. Fref: TFcRef{
  20914. Fcount: -libc.Int32FromInt32(1),
  20915. },
  20916. Fnum: int32(3),
  20917. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(171)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20918. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(171)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20919. },
  20920. },
  20921. 172: {
  20922. Flang: [16]TFcChar8{'r', 'u'},
  20923. Fcharset: TFcCharSet{
  20924. Fref: TFcRef{
  20925. Fcount: -libc.Int32FromInt32(1),
  20926. },
  20927. Fnum: int32(1),
  20928. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(172)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20929. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(172)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20930. },
  20931. },
  20932. 173: {
  20933. Flang: [16]TFcChar8{'r', 'w'},
  20934. Fcharset: TFcCharSet{
  20935. Fref: TFcRef{
  20936. Fcount: -libc.Int32FromInt32(1),
  20937. },
  20938. Fnum: int32(1),
  20939. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(173)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20940. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(173)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20941. },
  20942. },
  20943. 174: {
  20944. Flang: [16]TFcChar8{'s', 'a'},
  20945. Fcharset: TFcCharSet{
  20946. Fref: TFcRef{
  20947. Fcount: -libc.Int32FromInt32(1),
  20948. },
  20949. Fnum: int32(1),
  20950. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(174)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20951. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(174)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20952. },
  20953. },
  20954. 175: {
  20955. Flang: [16]TFcChar8{'s', 'a', 'h'},
  20956. Fcharset: TFcCharSet{
  20957. Fref: TFcRef{
  20958. Fcount: -libc.Int32FromInt32(1),
  20959. },
  20960. Fnum: int32(1),
  20961. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(175)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20962. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(175)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20963. },
  20964. },
  20965. 176: {
  20966. Flang: [16]TFcChar8{'s', 'a', 't'},
  20967. Fcharset: TFcCharSet{
  20968. Fref: TFcRef{
  20969. Fcount: -libc.Int32FromInt32(1),
  20970. },
  20971. Fnum: int32(1),
  20972. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(176)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20973. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(176)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20974. },
  20975. },
  20976. 177: {
  20977. Flang: [16]TFcChar8{'s', 'c'},
  20978. Fcharset: TFcCharSet{
  20979. Fref: TFcRef{
  20980. Fcount: -libc.Int32FromInt32(1),
  20981. },
  20982. Fnum: int32(1),
  20983. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(177)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20984. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(177)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20985. },
  20986. },
  20987. 178: {
  20988. Flang: [16]TFcChar8{'s', 'c', 'o'},
  20989. Fcharset: TFcCharSet{
  20990. Fref: TFcRef{
  20991. Fcount: -libc.Int32FromInt32(1),
  20992. },
  20993. Fnum: int32(3),
  20994. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(178)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20995. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(178)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20996. },
  20997. },
  20998. 179: {
  20999. Flang: [16]TFcChar8{'s', 'd'},
  21000. Fcharset: TFcCharSet{
  21001. Fref: TFcRef{
  21002. Fcount: -libc.Int32FromInt32(1),
  21003. },
  21004. Fnum: int32(1),
  21005. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(179)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21006. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(179)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21007. },
  21008. },
  21009. 180: {
  21010. Flang: [16]TFcChar8{'s', 'e'},
  21011. Fcharset: TFcCharSet{
  21012. Fref: TFcRef{
  21013. Fcount: -libc.Int32FromInt32(1),
  21014. },
  21015. Fnum: int32(2),
  21016. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(180)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21017. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(180)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21018. },
  21019. },
  21020. 181: {
  21021. Flang: [16]TFcChar8{'s', 'e', 'l'},
  21022. Fcharset: TFcCharSet{
  21023. Fref: TFcRef{
  21024. Fcount: -libc.Int32FromInt32(1),
  21025. },
  21026. Fnum: int32(1),
  21027. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(181)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21028. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(181)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21029. },
  21030. },
  21031. 182: {
  21032. Flang: [16]TFcChar8{'s', 'g'},
  21033. Fcharset: TFcCharSet{
  21034. Fref: TFcRef{
  21035. Fcount: -libc.Int32FromInt32(1),
  21036. },
  21037. Fnum: int32(1),
  21038. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(182)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21039. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(182)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21040. },
  21041. },
  21042. 183: {
  21043. Flang: [16]TFcChar8{'s', 'h'},
  21044. Fcharset: TFcCharSet{
  21045. Fref: TFcRef{
  21046. Fcount: -libc.Int32FromInt32(1),
  21047. },
  21048. Fnum: int32(3),
  21049. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(183)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21050. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(183)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21051. },
  21052. },
  21053. 184: {
  21054. Flang: [16]TFcChar8{'s', 'h', 's'},
  21055. Fcharset: TFcCharSet{
  21056. Fref: TFcRef{
  21057. Fcount: -libc.Int32FromInt32(1),
  21058. },
  21059. Fnum: int32(2),
  21060. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(184)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21061. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(184)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21062. },
  21063. },
  21064. 185: {
  21065. Flang: [16]TFcChar8{'s', 'i'},
  21066. Fcharset: TFcCharSet{
  21067. Fref: TFcRef{
  21068. Fcount: -libc.Int32FromInt32(1),
  21069. },
  21070. Fnum: int32(1),
  21071. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(185)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21072. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(185)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21073. },
  21074. },
  21075. 186: {
  21076. Flang: [16]TFcChar8{'s', 'i', 'd'},
  21077. Fcharset: TFcCharSet{
  21078. Fref: TFcRef{
  21079. Fcount: -libc.Int32FromInt32(1),
  21080. },
  21081. Fnum: int32(2),
  21082. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(186)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21083. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(186)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21084. },
  21085. },
  21086. 187: {
  21087. Flang: [16]TFcChar8{'s', 'k'},
  21088. Fcharset: TFcCharSet{
  21089. Fref: TFcRef{
  21090. Fcount: -libc.Int32FromInt32(1),
  21091. },
  21092. Fnum: int32(2),
  21093. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(187)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21094. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(187)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21095. },
  21096. },
  21097. 188: {
  21098. Flang: [16]TFcChar8{'s', 'l'},
  21099. Fcharset: TFcCharSet{
  21100. Fref: TFcRef{
  21101. Fcount: -libc.Int32FromInt32(1),
  21102. },
  21103. Fnum: int32(2),
  21104. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(188)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21105. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(188)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21106. },
  21107. },
  21108. 189: {
  21109. Flang: [16]TFcChar8{'s', 'm'},
  21110. Fcharset: TFcCharSet{
  21111. Fref: TFcRef{
  21112. Fcount: -libc.Int32FromInt32(1),
  21113. },
  21114. Fnum: int32(2),
  21115. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(189)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21116. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(189)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21117. },
  21118. },
  21119. 190: {
  21120. Flang: [16]TFcChar8{'s', 'm', 'a'},
  21121. Fcharset: TFcCharSet{
  21122. Fref: TFcRef{
  21123. Fcount: -libc.Int32FromInt32(1),
  21124. },
  21125. Fnum: int32(1),
  21126. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(190)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21127. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(190)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21128. },
  21129. },
  21130. 191: {
  21131. Flang: [16]TFcChar8{'s', 'm', 'j'},
  21132. Fcharset: TFcCharSet{
  21133. Fref: TFcRef{
  21134. Fcount: -libc.Int32FromInt32(1),
  21135. },
  21136. Fnum: int32(1),
  21137. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(191)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21138. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(191)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21139. },
  21140. },
  21141. 192: {
  21142. Flang: [16]TFcChar8{'s', 'm', 'n'},
  21143. Fcharset: TFcCharSet{
  21144. Fref: TFcRef{
  21145. Fcount: -libc.Int32FromInt32(1),
  21146. },
  21147. Fnum: int32(2),
  21148. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(192)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21149. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(192)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21150. },
  21151. },
  21152. 193: {
  21153. Flang: [16]TFcChar8{'s', 'm', 's'},
  21154. Fcharset: TFcCharSet{
  21155. Fref: TFcRef{
  21156. Fcount: -libc.Int32FromInt32(1),
  21157. },
  21158. Fnum: int32(3),
  21159. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(193)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21160. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(193)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21161. },
  21162. },
  21163. 194: {
  21164. Flang: [16]TFcChar8{'s', 'n'},
  21165. Fcharset: TFcCharSet{
  21166. Fref: TFcRef{
  21167. Fcount: -libc.Int32FromInt32(1),
  21168. },
  21169. Fnum: int32(1),
  21170. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(194)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21171. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(194)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21172. },
  21173. },
  21174. 195: {
  21175. Flang: [16]TFcChar8{'s', 'o'},
  21176. Fcharset: TFcCharSet{
  21177. Fref: TFcRef{
  21178. Fcount: -libc.Int32FromInt32(1),
  21179. },
  21180. Fnum: int32(1),
  21181. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(195)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21182. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(195)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21183. },
  21184. },
  21185. 196: {
  21186. Flang: [16]TFcChar8{'s', 'q'},
  21187. Fcharset: TFcCharSet{
  21188. Fref: TFcRef{
  21189. Fcount: -libc.Int32FromInt32(1),
  21190. },
  21191. Fnum: int32(1),
  21192. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(196)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21193. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(196)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21194. },
  21195. },
  21196. 197: {
  21197. Flang: [16]TFcChar8{'s', 'r'},
  21198. Fcharset: TFcCharSet{
  21199. Fref: TFcRef{
  21200. Fcount: -libc.Int32FromInt32(1),
  21201. },
  21202. Fnum: int32(1),
  21203. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(197)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21204. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(197)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21205. },
  21206. },
  21207. 198: {
  21208. Flang: [16]TFcChar8{'s', 's'},
  21209. Fcharset: TFcCharSet{
  21210. Fref: TFcRef{
  21211. Fcount: -libc.Int32FromInt32(1),
  21212. },
  21213. Fnum: int32(1),
  21214. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(198)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21215. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(198)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21216. },
  21217. },
  21218. 199: {
  21219. Flang: [16]TFcChar8{'s', 't'},
  21220. Fcharset: TFcCharSet{
  21221. Fref: TFcRef{
  21222. Fcount: -libc.Int32FromInt32(1),
  21223. },
  21224. Fnum: int32(1),
  21225. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(199)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21226. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(199)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21227. },
  21228. },
  21229. 200: {
  21230. Flang: [16]TFcChar8{'s', 'u'},
  21231. Fcharset: TFcCharSet{
  21232. Fref: TFcRef{
  21233. Fcount: -libc.Int32FromInt32(1),
  21234. },
  21235. Fnum: int32(1),
  21236. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(200)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21237. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(200)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21238. },
  21239. },
  21240. 201: {
  21241. Flang: [16]TFcChar8{'s', 'v'},
  21242. Fcharset: TFcCharSet{
  21243. Fref: TFcRef{
  21244. Fcount: -libc.Int32FromInt32(1),
  21245. },
  21246. Fnum: int32(1),
  21247. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(201)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21248. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(201)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21249. },
  21250. },
  21251. 202: {
  21252. Flang: [16]TFcChar8{'s', 'w'},
  21253. Fcharset: TFcCharSet{
  21254. Fref: TFcRef{
  21255. Fcount: -libc.Int32FromInt32(1),
  21256. },
  21257. Fnum: int32(1),
  21258. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(202)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21259. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(202)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21260. },
  21261. },
  21262. 203: {
  21263. Flang: [16]TFcChar8{'s', 'y', 'r'},
  21264. Fcharset: TFcCharSet{
  21265. Fref: TFcRef{
  21266. Fcount: -libc.Int32FromInt32(1),
  21267. },
  21268. Fnum: int32(1),
  21269. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(203)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21270. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(203)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21271. },
  21272. },
  21273. 204: {
  21274. Flang: [16]TFcChar8{'t', 'a'},
  21275. Fcharset: TFcCharSet{
  21276. Fref: TFcRef{
  21277. Fcount: -libc.Int32FromInt32(1),
  21278. },
  21279. Fnum: int32(1),
  21280. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(204)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21281. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(204)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21282. },
  21283. },
  21284. 205: {
  21285. Flang: [16]TFcChar8{'t', 'e'},
  21286. Fcharset: TFcCharSet{
  21287. Fref: TFcRef{
  21288. Fcount: -libc.Int32FromInt32(1),
  21289. },
  21290. Fnum: int32(1),
  21291. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(205)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21292. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(205)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21293. },
  21294. },
  21295. 206: {
  21296. Flang: [16]TFcChar8{'t', 'g'},
  21297. Fcharset: TFcCharSet{
  21298. Fref: TFcRef{
  21299. Fcount: -libc.Int32FromInt32(1),
  21300. },
  21301. Fnum: int32(1),
  21302. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(206)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21303. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(206)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21304. },
  21305. },
  21306. 207: {
  21307. Flang: [16]TFcChar8{'t', 'h'},
  21308. Fcharset: TFcCharSet{
  21309. Fref: TFcRef{
  21310. Fcount: -libc.Int32FromInt32(1),
  21311. },
  21312. Fnum: int32(1),
  21313. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(207)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21314. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(207)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21315. },
  21316. },
  21317. 208: {
  21318. Flang: [16]TFcChar8{'t', 'i', '-', 'e', 'r'},
  21319. Fcharset: TFcCharSet{
  21320. Fref: TFcRef{
  21321. Fcount: -libc.Int32FromInt32(1),
  21322. },
  21323. Fnum: int32(2),
  21324. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(208)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21325. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(208)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21326. },
  21327. },
  21328. 209: {
  21329. Flang: [16]TFcChar8{'t', 'i', '-', 'e', 't'},
  21330. Fcharset: TFcCharSet{
  21331. Fref: TFcRef{
  21332. Fcount: -libc.Int32FromInt32(1),
  21333. },
  21334. Fnum: int32(2),
  21335. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(209)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21336. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(209)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21337. },
  21338. },
  21339. 210: {
  21340. Flang: [16]TFcChar8{'t', 'i', 'g'},
  21341. Fcharset: TFcCharSet{
  21342. Fref: TFcRef{
  21343. Fcount: -libc.Int32FromInt32(1),
  21344. },
  21345. Fnum: int32(2),
  21346. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(210)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21347. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(210)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21348. },
  21349. },
  21350. 211: {
  21351. Flang: [16]TFcChar8{'t', 'k'},
  21352. Fcharset: TFcCharSet{
  21353. Fref: TFcRef{
  21354. Fcount: -libc.Int32FromInt32(1),
  21355. },
  21356. Fnum: int32(2),
  21357. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(211)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21358. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(211)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21359. },
  21360. },
  21361. 212: {
  21362. Flang: [16]TFcChar8{'t', 'l'},
  21363. Fcharset: TFcCharSet{
  21364. Fref: TFcRef{
  21365. Fcount: -libc.Int32FromInt32(1),
  21366. },
  21367. Fnum: int32(1),
  21368. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(212)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21369. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(212)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21370. },
  21371. },
  21372. 213: {
  21373. Flang: [16]TFcChar8{'t', 'n'},
  21374. Fcharset: TFcCharSet{
  21375. Fref: TFcRef{
  21376. Fcount: -libc.Int32FromInt32(1),
  21377. },
  21378. Fnum: int32(2),
  21379. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(213)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21380. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(213)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21381. },
  21382. },
  21383. 214: {
  21384. Flang: [16]TFcChar8{'t', 'o'},
  21385. Fcharset: TFcCharSet{
  21386. Fref: TFcRef{
  21387. Fcount: -libc.Int32FromInt32(1),
  21388. },
  21389. Fnum: int32(2),
  21390. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(214)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21391. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(214)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21392. },
  21393. },
  21394. 215: {
  21395. Flang: [16]TFcChar8{'t', 'r'},
  21396. Fcharset: TFcCharSet{
  21397. Fref: TFcRef{
  21398. Fcount: -libc.Int32FromInt32(1),
  21399. },
  21400. Fnum: int32(2),
  21401. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(215)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21402. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(215)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21403. },
  21404. },
  21405. 216: {
  21406. Flang: [16]TFcChar8{'t', 's'},
  21407. Fcharset: TFcCharSet{
  21408. Fref: TFcRef{
  21409. Fcount: -libc.Int32FromInt32(1),
  21410. },
  21411. Fnum: int32(1),
  21412. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(216)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21413. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(216)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21414. },
  21415. },
  21416. 217: {
  21417. Flang: [16]TFcChar8{'t', 't'},
  21418. Fcharset: TFcCharSet{
  21419. Fref: TFcRef{
  21420. Fcount: -libc.Int32FromInt32(1),
  21421. },
  21422. Fnum: int32(1),
  21423. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(217)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21424. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(217)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21425. },
  21426. },
  21427. 218: {
  21428. Flang: [16]TFcChar8{'t', 'w'},
  21429. Fcharset: TFcCharSet{
  21430. Fref: TFcRef{
  21431. Fcount: -libc.Int32FromInt32(1),
  21432. },
  21433. Fnum: int32(5),
  21434. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(218)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21435. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(218)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21436. },
  21437. },
  21438. 219: {
  21439. Flang: [16]TFcChar8{'t', 'y'},
  21440. Fcharset: TFcCharSet{
  21441. Fref: TFcRef{
  21442. Fcount: -libc.Int32FromInt32(1),
  21443. },
  21444. Fnum: int32(3),
  21445. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(219)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21446. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(219)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21447. },
  21448. },
  21449. 220: {
  21450. Flang: [16]TFcChar8{'t', 'y', 'v'},
  21451. Fcharset: TFcCharSet{
  21452. Fref: TFcRef{
  21453. Fcount: -libc.Int32FromInt32(1),
  21454. },
  21455. Fnum: int32(1),
  21456. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(220)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21457. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(220)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21458. },
  21459. },
  21460. 221: {
  21461. Flang: [16]TFcChar8{'u', 'g'},
  21462. Fcharset: TFcCharSet{
  21463. Fref: TFcRef{
  21464. Fcount: -libc.Int32FromInt32(1),
  21465. },
  21466. Fnum: int32(1),
  21467. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(221)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21468. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(221)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21469. },
  21470. },
  21471. 222: {
  21472. Flang: [16]TFcChar8{'u', 'k'},
  21473. Fcharset: TFcCharSet{
  21474. Fref: TFcRef{
  21475. Fcount: -libc.Int32FromInt32(1),
  21476. },
  21477. Fnum: int32(1),
  21478. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(222)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21479. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(222)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21480. },
  21481. },
  21482. 223: {
  21483. Flang: [16]TFcChar8{'u', 'n', 'd', '-', 'z', 'm', 't', 'h'},
  21484. Fcharset: TFcCharSet{
  21485. Fref: TFcRef{
  21486. Fcount: -libc.Int32FromInt32(1),
  21487. },
  21488. Fnum: int32(12),
  21489. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(223)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21490. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(223)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21491. },
  21492. },
  21493. 224: {
  21494. Flang: [16]TFcChar8{'u', 'n', 'd', '-', 'z', 's', 'y', 'e'},
  21495. Fcharset: TFcCharSet{
  21496. Fref: TFcRef{
  21497. Fcount: -libc.Int32FromInt32(1),
  21498. },
  21499. Fnum: int32(12),
  21500. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(224)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21501. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(224)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21502. },
  21503. },
  21504. 225: {
  21505. Flang: [16]TFcChar8{'u', 'r'},
  21506. Fcharset: TFcCharSet{
  21507. Fref: TFcRef{
  21508. Fcount: -libc.Int32FromInt32(1),
  21509. },
  21510. Fnum: int32(1),
  21511. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(225)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21512. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(225)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21513. },
  21514. },
  21515. 226: {
  21516. Flang: [16]TFcChar8{'u', 'z'},
  21517. Fcharset: TFcCharSet{
  21518. Fref: TFcRef{
  21519. Fcount: -libc.Int32FromInt32(1),
  21520. },
  21521. Fnum: int32(1),
  21522. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(226)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21523. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(226)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21524. },
  21525. },
  21526. 227: {
  21527. Flang: [16]TFcChar8{'v', 'e'},
  21528. Fcharset: TFcCharSet{
  21529. Fref: TFcRef{
  21530. Fcount: -libc.Int32FromInt32(1),
  21531. },
  21532. Fnum: int32(2),
  21533. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(227)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21534. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(227)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21535. },
  21536. },
  21537. 228: {
  21538. Flang: [16]TFcChar8{'v', 'i'},
  21539. Fcharset: TFcCharSet{
  21540. Fref: TFcRef{
  21541. Fcount: -libc.Int32FromInt32(1),
  21542. },
  21543. Fnum: int32(4),
  21544. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(228)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21545. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(228)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21546. },
  21547. },
  21548. 229: {
  21549. Flang: [16]TFcChar8{'v', 'o'},
  21550. Fcharset: TFcCharSet{
  21551. Fref: TFcRef{
  21552. Fcount: -libc.Int32FromInt32(1),
  21553. },
  21554. Fnum: int32(1),
  21555. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(229)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21556. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(229)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21557. },
  21558. },
  21559. 230: {
  21560. Flang: [16]TFcChar8{'v', 'o', 't'},
  21561. Fcharset: TFcCharSet{
  21562. Fref: TFcRef{
  21563. Fcount: -libc.Int32FromInt32(1),
  21564. },
  21565. Fnum: int32(2),
  21566. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(230)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21567. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(230)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21568. },
  21569. },
  21570. 231: {
  21571. Flang: [16]TFcChar8{'w', 'a'},
  21572. Fcharset: TFcCharSet{
  21573. Fref: TFcRef{
  21574. Fcount: -libc.Int32FromInt32(1),
  21575. },
  21576. Fnum: int32(1),
  21577. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(231)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21578. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(231)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21579. },
  21580. },
  21581. 232: {
  21582. Flang: [16]TFcChar8{'w', 'a', 'l'},
  21583. Fcharset: TFcCharSet{
  21584. Fref: TFcRef{
  21585. Fcount: -libc.Int32FromInt32(1),
  21586. },
  21587. Fnum: int32(2),
  21588. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(232)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21589. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(232)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21590. },
  21591. },
  21592. 233: {
  21593. Flang: [16]TFcChar8{'w', 'e', 'n'},
  21594. Fcharset: TFcCharSet{
  21595. Fref: TFcRef{
  21596. Fcount: -libc.Int32FromInt32(1),
  21597. },
  21598. Fnum: int32(2),
  21599. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(233)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21600. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(233)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21601. },
  21602. },
  21603. 234: {
  21604. Flang: [16]TFcChar8{'w', 'o'},
  21605. Fcharset: TFcCharSet{
  21606. Fref: TFcRef{
  21607. Fcount: -libc.Int32FromInt32(1),
  21608. },
  21609. Fnum: int32(2),
  21610. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(234)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21611. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(234)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21612. },
  21613. },
  21614. 235: {
  21615. Flang: [16]TFcChar8{'x', 'h'},
  21616. Fcharset: TFcCharSet{
  21617. Fref: TFcRef{
  21618. Fcount: -libc.Int32FromInt32(1),
  21619. },
  21620. Fnum: int32(1),
  21621. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(235)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21622. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(235)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21623. },
  21624. },
  21625. 236: {
  21626. Flang: [16]TFcChar8{'y', 'a', 'p'},
  21627. Fcharset: TFcCharSet{
  21628. Fref: TFcRef{
  21629. Fcount: -libc.Int32FromInt32(1),
  21630. },
  21631. Fnum: int32(1),
  21632. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(236)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21633. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(236)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21634. },
  21635. },
  21636. 237: {
  21637. Flang: [16]TFcChar8{'y', 'i'},
  21638. Fcharset: TFcCharSet{
  21639. Fref: TFcRef{
  21640. Fcount: -libc.Int32FromInt32(1),
  21641. },
  21642. Fnum: int32(1),
  21643. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(237)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21644. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(237)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21645. },
  21646. },
  21647. 238: {
  21648. Flang: [16]TFcChar8{'y', 'o'},
  21649. Fcharset: TFcCharSet{
  21650. Fref: TFcRef{
  21651. Fcount: -libc.Int32FromInt32(1),
  21652. },
  21653. Fnum: int32(4),
  21654. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(238)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21655. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(238)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21656. },
  21657. },
  21658. 239: {
  21659. Flang: [16]TFcChar8{'z', 'a'},
  21660. Fcharset: TFcCharSet{
  21661. Fref: TFcRef{
  21662. Fcount: -libc.Int32FromInt32(1),
  21663. },
  21664. Fnum: int32(1),
  21665. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(239)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21666. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(239)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21667. },
  21668. },
  21669. 240: {
  21670. Flang: [16]TFcChar8{'z', 'h', '-', 'c', 'n'},
  21671. Fcharset: TFcCharSet{
  21672. Fref: TFcRef{
  21673. Fcount: -libc.Int32FromInt32(1),
  21674. },
  21675. Fnum: int32(82),
  21676. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(240)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21677. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(240)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21678. },
  21679. },
  21680. 241: {
  21681. Flang: [16]TFcChar8{'z', 'h', '-', 'h', 'k'},
  21682. Fcharset: TFcCharSet{
  21683. Fref: TFcRef{
  21684. Fcount: -libc.Int32FromInt32(1),
  21685. },
  21686. Fnum: int32(171),
  21687. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(241)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21688. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(241)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21689. },
  21690. },
  21691. 242: {
  21692. Flang: [16]TFcChar8{'z', 'h', '-', 'm', 'o'},
  21693. Fcharset: TFcCharSet{
  21694. Fref: TFcRef{
  21695. Fcount: -libc.Int32FromInt32(1),
  21696. },
  21697. Fnum: int32(171),
  21698. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(242)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21699. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(242)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21700. },
  21701. },
  21702. 243: {
  21703. Flang: [16]TFcChar8{'z', 'h', '-', 's', 'g'},
  21704. Fcharset: TFcCharSet{
  21705. Fref: TFcRef{
  21706. Fcount: -libc.Int32FromInt32(1),
  21707. },
  21708. Fnum: int32(82),
  21709. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(243)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21710. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(243)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21711. },
  21712. },
  21713. 244: {
  21714. Flang: [16]TFcChar8{'z', 'h', '-', 't', 'w'},
  21715. Fcharset: TFcCharSet{
  21716. Fref: TFcRef{
  21717. Fcount: -libc.Int32FromInt32(1),
  21718. },
  21719. Fnum: int32(83),
  21720. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(244)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21721. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(244)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21722. },
  21723. },
  21724. 245: {
  21725. Flang: [16]TFcChar8{'z', 'u'},
  21726. Fcharset: TFcCharSet{
  21727. Fref: TFcRef{
  21728. Fcount: -libc.Int32FromInt32(1),
  21729. },
  21730. Fnum: int32(1),
  21731. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(245)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21732. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(245)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21733. },
  21734. },
  21735. },
  21736. Fleaves: [725]TFcCharLeaf{
  21737. 0: {
  21738. Fmap1: [8]TFcChar32{
  21739. 2: uint32(0x07fffffe),
  21740. 3: uint32(0x07fffffe),
  21741. 6: uint32(0x08104404),
  21742. 7: uint32(0x08104404),
  21743. },
  21744. },
  21745. 1: {
  21746. Fmap1: [8]TFcChar32{
  21747. 0: uint32(0xffff8002),
  21748. 1: uint32(0xffffffff),
  21749. 2: uint32(0x8002ffff),
  21750. 4: uint32(0xc0000000),
  21751. 5: uint32(0xf0fc33c0),
  21752. 6: uint32(0x03000000),
  21753. 7: uint32(0x00000003),
  21754. },
  21755. },
  21756. 2: {
  21757. Fmap1: [8]TFcChar32{
  21758. 2: uint32(0x07fffffe),
  21759. 3: uint32(0x07fffffe),
  21760. 6: uint32(0x0810cf00),
  21761. 7: uint32(0x0810cf00),
  21762. },
  21763. },
  21764. 3: {
  21765. Fmap1: [8]TFcChar32{
  21766. 2: uint32(0x00000200),
  21767. },
  21768. },
  21769. 4: {
  21770. Fmap1: [8]TFcChar32{
  21771. 2: uint32(0x07fffffe),
  21772. 3: uint32(0x07fffffe),
  21773. 6: uint32(0x00220008),
  21774. 7: uint32(0x00220008),
  21775. },
  21776. },
  21777. 5: {
  21778. Fmap1: [8]TFcChar32{
  21779. 1: uint32(0x00000300),
  21780. 3: uint32(0x00000300),
  21781. 4: uint32(0x00010040),
  21782. },
  21783. },
  21784. 6: {
  21785. Fmap1: [8]TFcChar32{
  21786. 2: uint32(0x08100000),
  21787. },
  21788. },
  21789. 7: {
  21790. Fmap1: [8]TFcChar32{
  21791. 0: uint32(0x00000048),
  21792. 1: uint32(0x00000200),
  21793. },
  21794. },
  21795. 8: {
  21796. Fmap1: [8]TFcChar32{
  21797. 5: uint32(0x30000000),
  21798. 7: uint32(0x03000000),
  21799. },
  21800. },
  21801. 9: {
  21802. Fmap1: [8]TFcChar32{
  21803. 0: uint32(0xff7fff7f),
  21804. 1: uint32(0xff01ff7f),
  21805. 2: uint32(0x00003d7f),
  21806. 3: uint32(0xffff7fff),
  21807. 4: uint32(0xffff3d7f),
  21808. 5: uint32(0x003d7fff),
  21809. 6: uint32(0xff7f7f00),
  21810. 7: uint32(0x00ff7fff),
  21811. },
  21812. },
  21813. 10: {
  21814. Fmap1: [8]TFcChar32{
  21815. 0: uint32(0x003d7fff),
  21816. 1: uint32(0xffffffff),
  21817. 2: uint32(0x007fff7f),
  21818. },
  21819. },
  21820. 11: {
  21821. Fmap1: [8]TFcChar32{
  21822. 2: uint32(0x07fffffe),
  21823. 3: uint32(0x07fffffe),
  21824. 6: uint32(0x140a2202),
  21825. 7: uint32(0x140a2202),
  21826. },
  21827. },
  21828. 12: {
  21829. Fmap1: [8]TFcChar32{
  21830. 1: uint32(0x07fffffe),
  21831. 2: uint32(0x000007fe),
  21832. },
  21833. },
  21834. 13: {
  21835. Fmap1: [8]TFcChar32{
  21836. 4: uint32(0xfff99fee),
  21837. 5: uint32(0xd3c4fdff),
  21838. 6: uint32(0xb000399f),
  21839. 7: uint32(0x00030000),
  21840. },
  21841. },
  21842. 14: {
  21843. Fmap1: [8]TFcChar32{
  21844. 1: uint32(0x00c00030),
  21845. },
  21846. },
  21847. 15: {
  21848. Fmap1: [8]TFcChar32{
  21849. 0: uint32(0xffff0042),
  21850. 1: uint32(0xffffffff),
  21851. 2: uint32(0x0002ffff),
  21852. },
  21853. },
  21854. 16: {
  21855. Fmap1: [8]TFcChar32{
  21856. 2: uint32(0x07fffffe),
  21857. 3: uint32(0x07fffffe),
  21858. 6: uint32(0x10028010),
  21859. 7: uint32(0x10028010),
  21860. },
  21861. },
  21862. 17: {
  21863. Fmap1: [8]TFcChar32{
  21864. 2: uint32(0x07fffffe),
  21865. 3: uint32(0x07fffffe),
  21866. 6: uint32(0x10400080),
  21867. 7: uint32(0x10400080),
  21868. },
  21869. },
  21870. 18: {
  21871. Fmap1: [8]TFcChar32{
  21872. 0: uint32(0xc0000000),
  21873. 1: uint32(0x00030000),
  21874. 2: uint32(0xc0000000),
  21875. 4: uint32(0x00008000),
  21876. },
  21877. },
  21878. 19: {
  21879. Fmap1: [8]TFcChar32{
  21880. 2: uint32(0x02000000),
  21881. },
  21882. },
  21883. 20: {
  21884. Fmap1: [8]TFcChar32{
  21885. 1: uint32(0x07ffffde),
  21886. 2: uint32(0x001009f6),
  21887. 3: uint32(0x40000000),
  21888. 4: uint32(0x01000040),
  21889. 5: uint32(0x00008200),
  21890. 6: uint32(0x00001000),
  21891. },
  21892. },
  21893. 21: {
  21894. Fmap1: [8]TFcChar32{
  21895. 0: uint32(0xffff0000),
  21896. 1: uint32(0xffffffff),
  21897. 2: uint32(0x0000ffff),
  21898. 4: uint32(0x030c0000),
  21899. 5: uint32(0x0c00cc0f),
  21900. 6: uint32(0x03000000),
  21901. 7: uint32(0x00000300),
  21902. },
  21903. },
  21904. 22: {
  21905. Fmap1: [8]TFcChar32{
  21906. 0: uint32(0xffff4040),
  21907. 1: uint32(0xffffffff),
  21908. 2: uint32(0x4040ffff),
  21909. },
  21910. },
  21911. 23: {
  21912. Fmap1: [8]TFcChar32{
  21913. 2: uint32(0x07fffffe),
  21914. 3: uint32(0x07fffffe),
  21915. },
  21916. },
  21917. 24: {
  21918. Fmap1: [8]TFcChar32{
  21919. 0: uint32(0x00003000),
  21920. 4: uint32(0x00110000),
  21921. 7: uint32(0x000000c0),
  21922. },
  21923. },
  21924. 25: {
  21925. Fmap1: [8]TFcChar32{
  21926. 2: uint32(0x08000000),
  21927. 3: uint32(0x00000008),
  21928. },
  21929. },
  21930. 26: {
  21931. Fmap1: [8]TFcChar32{
  21932. 0: uint32(0x00003000),
  21933. 1: uint32(0x00000030),
  21934. 3: uint32(0x0000300c),
  21935. 4: uint32(0x000c0000),
  21936. },
  21937. },
  21938. 27: {
  21939. Fmap1: [8]TFcChar32{
  21940. 1: uint32(0x3a8b0000),
  21941. 2: uint32(0x9e78e6b9),
  21942. 3: uint32(0x0000802e),
  21943. },
  21944. },
  21945. 28: {
  21946. Fmap1: [8]TFcChar32{
  21947. 0: uint32(0xffff0000),
  21948. 1: uint32(0xffffd7ff),
  21949. 2: uint32(0x0000d7ff),
  21950. },
  21951. },
  21952. 29: {
  21953. Fmap1: [8]TFcChar32{
  21954. 0: uint32(0xffffffe0),
  21955. 1: uint32(0x83ffffff),
  21956. 2: uint32(0x00003fff),
  21957. },
  21958. },
  21959. 30: {
  21960. Fmap1: [8]TFcChar32{
  21961. 2: uint32(0x07fffffe),
  21962. 3: uint32(0x07fffffe),
  21963. 6: uint32(0x10008200),
  21964. 7: uint32(0x10008200),
  21965. },
  21966. },
  21967. 31: {
  21968. Fmap1: [8]TFcChar32{
  21969. 2: uint32(0x07fffffe),
  21970. 3: uint32(0x07fffffe),
  21971. 6: uint32(0x060c3303),
  21972. 7: uint32(0x060c3303),
  21973. },
  21974. },
  21975. 32: {
  21976. Fmap1: [8]TFcChar32{
  21977. 0: uint32(0x00000003),
  21978. },
  21979. },
  21980. 33: {
  21981. Fmap1: [8]TFcChar32{
  21982. 5: uint32(0x03000000),
  21983. 6: uint32(0x00003000),
  21984. },
  21985. },
  21986. 34: {
  21987. Fmap1: [8]TFcChar32{
  21988. 2: uint32(0x00000c00),
  21989. 4: uint32(0x20010040),
  21990. },
  21991. },
  21992. 35: {
  21993. Fmap1: [8]TFcChar32{
  21994. 2: uint32(0x08100000),
  21995. 3: uint32(0x00040000),
  21996. },
  21997. },
  21998. 36: {
  21999. Fmap1: [8]TFcChar32{
  22000. 4: uint32(0xfff99fee),
  22001. 5: uint32(0xd3c5fdff),
  22002. 6: uint32(0xb000399f),
  22003. },
  22004. },
  22005. 37: {
  22006. Fmap1: [8]TFcChar32{
  22007. 2: uint32(0xfffffeff),
  22008. 3: uint32(0x3d7e03ff),
  22009. 4: uint32(0xfeff0003),
  22010. 5: uint32(0x03ffffff),
  22011. },
  22012. },
  22013. 38: {
  22014. Fmap1: [8]TFcChar32{
  22015. 2: uint32(0x07fffffe),
  22016. 3: uint32(0x07fffffe),
  22017. 6: uint32(0x12120404),
  22018. 7: uint32(0x12120404),
  22019. },
  22020. },
  22021. 39: {
  22022. Fmap1: [8]TFcChar32{
  22023. 0: uint32(0xfff99fee),
  22024. 1: uint32(0xf3e5fdff),
  22025. 2: uint32(0x0007399f),
  22026. 3: uint32(0x0001ffff),
  22027. },
  22028. },
  22029. 40: {
  22030. Fmap1: [8]TFcChar32{
  22031. 0: uint32(0x000330c0),
  22032. 3: uint32(0x60000003),
  22033. },
  22034. },
  22035. 41: {
  22036. Fmap1: [8]TFcChar32{
  22037. 0: uint32(0xffff0002),
  22038. 1: uint32(0xffffffff),
  22039. 2: uint32(0x0002ffff),
  22040. 5: uint32(0x0c00c000),
  22041. },
  22042. },
  22043. 42: {
  22044. Fmap1: [8]TFcChar32{
  22045. 0: uint32(0xff7fff7f),
  22046. 1: uint32(0xff01ff00),
  22047. 2: uint32(0x3d7f3d7f),
  22048. 3: uint32(0xffff7fff),
  22049. 4: uint32(0xffff0000),
  22050. 5: uint32(0x003d7fff),
  22051. 6: uint32(0xff7f7f3d),
  22052. 7: uint32(0x00ff7fff),
  22053. },
  22054. },
  22055. 43: {
  22056. Fmap1: [8]TFcChar32{
  22057. 0: uint32(0x003d7fff),
  22058. 1: uint32(0xffffffff),
  22059. 2: uint32(0x007fff00),
  22060. },
  22061. },
  22062. 44: {
  22063. Fmap1: [8]TFcChar32{
  22064. 2: uint32(0x07fffffe),
  22065. 3: uint32(0x07fffffe),
  22066. 6: uint32(0x140ca381),
  22067. 7: uint32(0x140ca381),
  22068. },
  22069. },
  22070. 45: {
  22071. Fmap1: [8]TFcChar32{
  22072. 1: uint32(0x80000000),
  22073. 2: uint32(0x00000001),
  22074. },
  22075. },
  22076. 46: {
  22077. Fmap1: [8]TFcChar32{
  22078. 2: uint32(0x07fffffe),
  22079. 3: uint32(0x07fffffe),
  22080. 6: uint32(0x10020004),
  22081. 7: uint32(0x10020004),
  22082. },
  22083. },
  22084. 47: {
  22085. Fmap1: [8]TFcChar32{
  22086. 0: uint32(0xffff0002),
  22087. 1: uint32(0xffffffff),
  22088. 2: uint32(0x0002ffff),
  22089. 5: uint32(0x00000030),
  22090. 6: uint32(0x000c0000),
  22091. 7: uint32(0x030300c0),
  22092. },
  22093. },
  22094. 48: {
  22095. Fmap1: [8]TFcChar32{
  22096. 5: uint32(0xffffffff),
  22097. 6: uint32(0xffffffff),
  22098. 7: uint32(0x001fffff),
  22099. },
  22100. },
  22101. 49: {
  22102. Fmap1: [8]TFcChar32{
  22103. 2: uint32(0x07fffffe),
  22104. 3: uint32(0x07fffffe),
  22105. 6: uint32(0x1a10cfc5),
  22106. 7: uint32(0x9a10cfc5),
  22107. },
  22108. },
  22109. 50: {
  22110. Fmap1: [8]TFcChar32{
  22111. 2: uint32(0x000c0000),
  22112. 3: uint32(0x01000000),
  22113. },
  22114. },
  22115. 51: {
  22116. Fmap1: [8]TFcChar32{
  22117. 2: uint32(0x07fffffe),
  22118. 3: uint32(0x07fffffe),
  22119. 6: uint32(0x10420084),
  22120. 7: uint32(0x10420084),
  22121. },
  22122. },
  22123. 52: {
  22124. Fmap1: [8]TFcChar32{
  22125. 0: uint32(0xc0000000),
  22126. 1: uint32(0x00030000),
  22127. 2: uint32(0xc0000000),
  22128. },
  22129. },
  22130. 53: {
  22131. Fmap1: [8]TFcChar32{
  22132. 2: uint32(0x07fffffe),
  22133. 3: uint32(0x07fffffe),
  22134. 6: uint32(0x24082202),
  22135. 7: uint32(0x24082202),
  22136. },
  22137. },
  22138. 54: {
  22139. Fmap1: [8]TFcChar32{
  22140. 0: uint32(0x0c00f000),
  22141. 2: uint32(0x03000180),
  22142. 3: uint32(0x6000c033),
  22143. },
  22144. },
  22145. 55: {
  22146. Fmap1: [8]TFcChar32{
  22147. 2: uint32(0x07fffffe),
  22148. 3: uint32(0x07fffffe),
  22149. 6: uint32(0x021c0a08),
  22150. 7: uint32(0x021c0a08),
  22151. },
  22152. },
  22153. 56: {
  22154. Fmap1: [8]TFcChar32{
  22155. 0: uint32(0x00000030),
  22156. 2: uint32(0x0000001e),
  22157. 3: uint32(0x18000000),
  22158. },
  22159. },
  22160. 57: {
  22161. Fmap1: [8]TFcChar32{
  22162. 0: uint32(0xfdffa966),
  22163. 1: uint32(0xffffdfff),
  22164. 2: uint32(0xa965dfff),
  22165. 3: uint32(0x03ffffff),
  22166. },
  22167. },
  22168. 58: {
  22169. Fmap1: [8]TFcChar32{
  22170. 0: uint32(0x0000000c),
  22171. },
  22172. },
  22173. 59: {
  22174. Fmap1: [8]TFcChar32{
  22175. 0: uint32(0xffff0002),
  22176. 1: uint32(0xffffffff),
  22177. 2: uint32(0x0002ffff),
  22178. 5: uint32(0x00000c00),
  22179. 6: uint32(0x00c00000),
  22180. 7: uint32(0x000c0000),
  22181. },
  22182. },
  22183. 60: {
  22184. Fmap1: [8]TFcChar32{
  22185. 2: uint32(0x07fffffe),
  22186. 3: uint32(0x07fffffe),
  22187. 6: uint32(0x0010c604),
  22188. 7: uint32(0x8010c604),
  22189. },
  22190. },
  22191. 61: {
  22192. Fmap1: [8]TFcChar32{
  22193. 3: uint32(0x01f00000),
  22194. },
  22195. },
  22196. 62: {
  22197. Fmap1: [8]TFcChar32{
  22198. 4: uint32(0x0000003f),
  22199. 7: uint32(0x000c0000),
  22200. },
  22201. },
  22202. 63: {
  22203. Fmap1: [8]TFcChar32{
  22204. 2: uint32(0x07fffffe),
  22205. 3: uint32(0x07fffffe),
  22206. 6: uint32(0x25082262),
  22207. 7: uint32(0x25082262),
  22208. },
  22209. },
  22210. 64: {
  22211. Fmap1: [8]TFcChar32{
  22212. 2: uint32(0x07fffffe),
  22213. 3: uint32(0x07fffffe),
  22214. 6: uint32(0x90400010),
  22215. 7: uint32(0x10400010),
  22216. },
  22217. },
  22218. 65: {
  22219. Fmap1: [8]TFcChar32{
  22220. 0: uint32(0xfff99fec),
  22221. 1: uint32(0xf3e5fdff),
  22222. 2: uint32(0xf807399f),
  22223. 3: uint32(0x0000ffff),
  22224. },
  22225. },
  22226. 66: {
  22227. Fmap1: [8]TFcChar32{
  22228. 4: uint32(0xffffffff),
  22229. 5: uint32(0x0001ffff),
  22230. },
  22231. },
  22232. 67: {
  22233. Fmap1: [8]TFcChar32{
  22234. 0: uint32(0x0c000000),
  22235. 2: uint32(0x00000c00),
  22236. 4: uint32(0x00170240),
  22237. 5: uint32(0x00040000),
  22238. 6: uint32(0x001fe000),
  22239. },
  22240. },
  22241. 68: {
  22242. Fmap1: [8]TFcChar32{
  22243. 2: uint32(0x08500000),
  22244. 3: uint32(0x00000008),
  22245. 4: uint32(0x00000800),
  22246. },
  22247. },
  22248. 69: {
  22249. Fmap1: [8]TFcChar32{
  22250. 0: uint32(0x00001003),
  22251. },
  22252. },
  22253. 70: {
  22254. Fmap1: [8]TFcChar32{
  22255. 4: uint32(0xffffd740),
  22256. 5: uint32(0xfffffffb),
  22257. 6: uint32(0x00007fff),
  22258. },
  22259. },
  22260. 71: {
  22261. Fmap1: [8]TFcChar32{
  22262. 2: uint32(0x07fffffe),
  22263. 3: uint32(0x07fffffe),
  22264. 6: uint32(0x00528f81),
  22265. 7: uint32(0x00528f81),
  22266. },
  22267. },
  22268. 72: {
  22269. Fmap1: [8]TFcChar32{
  22270. 0: uint32(0x30000300),
  22271. 1: uint32(0x00300030),
  22272. 2: uint32(0x30000000),
  22273. 3: uint32(0x00003000),
  22274. },
  22275. },
  22276. 73: {
  22277. Fmap1: [8]TFcChar32{
  22278. 2: uint32(0x07fffffe),
  22279. 3: uint32(0x07fffffe),
  22280. 6: uint32(0x10600010),
  22281. 7: uint32(0x10600010),
  22282. },
  22283. },
  22284. 74: {
  22285. Fmap1: [8]TFcChar32{
  22286. 3: uint32(0x60000003),
  22287. },
  22288. },
  22289. 75: {
  22290. Fmap1: [8]TFcChar32{
  22291. 2: uint32(0x07fffffe),
  22292. 3: uint32(0x07fffffe),
  22293. 6: uint32(0x10020000),
  22294. 7: uint32(0x10020000),
  22295. },
  22296. },
  22297. 76: {
  22298. Fmap1: [8]TFcChar32{
  22299. 2: uint32(0x00000c00),
  22300. 4: uint32(0x20000402),
  22301. 5: uint32(0x00180000),
  22302. },
  22303. },
  22304. 77: {
  22305. Fmap1: [8]TFcChar32{
  22306. 2: uint32(0x00880000),
  22307. 3: uint32(0x00040000),
  22308. },
  22309. },
  22310. 78: {
  22311. Fmap1: [8]TFcChar32{
  22312. 2: uint32(0x07fffffe),
  22313. 3: uint32(0x07fffffe),
  22314. 6: uint32(0x00400030),
  22315. 7: uint32(0x00400030),
  22316. },
  22317. },
  22318. 79: {
  22319. Fmap1: [8]TFcChar32{
  22320. 2: uint32(0x07fffffe),
  22321. 3: uint32(0x07fffffe),
  22322. 6: uint32(0x0e1e7707),
  22323. 7: uint32(0x0e1e7707),
  22324. },
  22325. },
  22326. 80: {
  22327. Fmap1: [8]TFcChar32{
  22328. 2: uint32(0x07fffffe),
  22329. 3: uint32(0x07fffffe),
  22330. 6: uint32(0x25092042),
  22331. 7: uint32(0x25092042),
  22332. },
  22333. },
  22334. 81: {
  22335. Fmap1: [8]TFcChar32{
  22336. 2: uint32(0x07fffffe),
  22337. 3: uint32(0x07fffffe),
  22338. 6: uint32(0x02041107),
  22339. 7: uint32(0x02041107),
  22340. },
  22341. },
  22342. 82: {
  22343. Fmap1: [8]TFcChar32{
  22344. 2: uint32(0x07fffffe),
  22345. 3: uint32(0x07fffffe),
  22346. 6: uint32(0x9c508e14),
  22347. 7: uint32(0x1c508e14),
  22348. },
  22349. },
  22350. 83: {
  22351. Fmap1: [8]TFcChar32{
  22352. 2: uint32(0x07fffffe),
  22353. 3: uint32(0x07fffffe),
  22354. 6: uint32(0x04082202),
  22355. 7: uint32(0x04082202),
  22356. },
  22357. },
  22358. 84: {
  22359. Fmap1: [8]TFcChar32{
  22360. 0: uint32(0x00000c00),
  22361. 1: uint32(0x00000003),
  22362. },
  22363. },
  22364. 85: {
  22365. Fmap1: [8]TFcChar32{
  22366. 0: uint32(0xc0000c0c),
  22367. 2: uint32(0x00c00003),
  22368. 3: uint32(0x00000c03),
  22369. },
  22370. },
  22371. 86: {
  22372. Fmap1: [8]TFcChar32{
  22373. 2: uint32(0x07fffffe),
  22374. 3: uint32(0x07fffffe),
  22375. 6: uint32(0x020c1383),
  22376. 7: uint32(0x020c1383),
  22377. },
  22378. },
  22379. 87: {
  22380. Fmap1: [8]TFcChar32{
  22381. 0: uint32(0xff7fff7f),
  22382. 1: uint32(0xff01ff7f),
  22383. 2: uint32(0x00003d7f),
  22384. 3: uint32(0x00ff00ff),
  22385. 4: uint32(0x00ff3d7f),
  22386. 5: uint32(0x003d7fff),
  22387. 6: uint32(0xff7f7f00),
  22388. 7: uint32(0x00ff7f00),
  22389. },
  22390. },
  22391. 88: {
  22392. Fmap1: [8]TFcChar32{
  22393. 0: uint32(0x003d7f00),
  22394. 1: uint32(0xffff01ff),
  22395. 2: uint32(0x007fff7f),
  22396. },
  22397. },
  22398. 89: {
  22399. Fmap1: [8]TFcChar32{
  22400. 2: uint32(0x07fffffe),
  22401. 3: uint32(0x07fffffe),
  22402. 6: uint32(0x040a2202),
  22403. 7: uint32(0x042a220a),
  22404. },
  22405. },
  22406. 90: {
  22407. Fmap1: [8]TFcChar32{
  22408. 1: uint32(0x00000200),
  22409. 3: uint32(0x00000200),
  22410. },
  22411. },
  22412. 91: {
  22413. Fmap1: [8]TFcChar32{
  22414. 5: uint32(0x20000000),
  22415. 7: uint32(0x02000000),
  22416. },
  22417. },
  22418. 92: {
  22419. Fmap1: [8]TFcChar32{
  22420. 4: uint32(0xfffbafee),
  22421. 5: uint32(0xf3edfdff),
  22422. 6: uint32(0x00013bbf),
  22423. 7: uint32(0x00000001),
  22424. },
  22425. },
  22426. 93: {
  22427. Fmap1: [8]TFcChar32{
  22428. 2: uint32(0x07fffffe),
  22429. 3: uint32(0x07fffffe),
  22430. 6: uint32(0x00000080),
  22431. 7: uint32(0x00000080),
  22432. },
  22433. },
  22434. 94: {
  22435. Fmap1: [8]TFcChar32{
  22436. 4: uint32(0x03000402),
  22437. 5: uint32(0x00180000),
  22438. },
  22439. },
  22440. 95: {
  22441. Fmap1: [8]TFcChar32{
  22442. 2: uint32(0x00880000),
  22443. },
  22444. },
  22445. 96: {
  22446. Fmap1: [8]TFcChar32{
  22447. 0: uint32(0x000c0003),
  22448. 1: uint32(0x00000c00),
  22449. 2: uint32(0x00003000),
  22450. 3: uint32(0x00000c00),
  22451. },
  22452. },
  22453. 97: {
  22454. Fmap1: [8]TFcChar32{
  22455. 5: uint32(0x08000000),
  22456. },
  22457. },
  22458. 98: {
  22459. Fmap1: [8]TFcChar32{
  22460. 6: uint32(0xffff0000),
  22461. 7: uint32(0x000007ff),
  22462. },
  22463. },
  22464. 99: {
  22465. Fmap1: [8]TFcChar32{
  22466. 2: uint32(0x07fffffe),
  22467. 3: uint32(0x07fffffe),
  22468. 6: uint32(0x00080000),
  22469. 7: uint32(0x00080000),
  22470. },
  22471. },
  22472. 100: {
  22473. Fmap1: [8]TFcChar32{
  22474. 0: uint32(0x0c0030c0),
  22475. 2: uint32(0x0300001e),
  22476. 3: uint32(0x66000003),
  22477. },
  22478. },
  22479. 101: {
  22480. Fmap1: [8]TFcChar32{
  22481. 2: uint32(0x07fffffe),
  22482. 3: uint32(0x07fffffe),
  22483. 6: uint32(0x00040100),
  22484. 7: uint32(0x00040100),
  22485. },
  22486. },
  22487. 102: {
  22488. Fmap1: [8]TFcChar32{
  22489. 2: uint32(0x07fffffe),
  22490. 3: uint32(0x07fffffe),
  22491. 6: uint32(0x14482202),
  22492. 7: uint32(0x14482202),
  22493. },
  22494. },
  22495. 103: {
  22496. Fmap1: [8]TFcChar32{
  22497. 2: uint32(0x00030000),
  22498. 3: uint32(0x00030000),
  22499. },
  22500. },
  22501. 104: {
  22502. Fmap1: [8]TFcChar32{
  22503. 1: uint32(0xfffe0000),
  22504. 2: uint32(0x007fffff),
  22505. 3: uint32(0xfffffffe),
  22506. 4: uint32(0x000000ff),
  22507. },
  22508. },
  22509. 105: {
  22510. Fmap1: [8]TFcChar32{
  22511. 1: uint32(0x00008000),
  22512. },
  22513. },
  22514. 106: {
  22515. Fmap1: [8]TFcChar32{
  22516. 0: uint32(0x000c0000),
  22517. 2: uint32(0x00000c00),
  22518. },
  22519. },
  22520. 107: {
  22521. Fmap1: [8]TFcChar32{
  22522. 2: uint32(0x07fffffe),
  22523. 3: uint32(0x07fffffe),
  22524. 6: uint32(0x00000200),
  22525. 7: uint32(0x00000200),
  22526. },
  22527. },
  22528. 108: {
  22529. Fmap1: [8]TFcChar32{
  22530. 6: uint32(0x00003c00),
  22531. 7: uint32(0x00000030),
  22532. },
  22533. },
  22534. 109: {
  22535. Fmap1: [8]TFcChar32{
  22536. 0: uint32(0xffffffff),
  22537. 1: uint32(0xffffffff),
  22538. 2: uint32(0xffffffff),
  22539. 3: uint32(0xffffffff),
  22540. 4: uint32(0xffffffff),
  22541. 5: uint32(0xffffffff),
  22542. 6: uint32(0xffffffff),
  22543. 7: uint32(0xffffffff),
  22544. },
  22545. },
  22546. 110: {
  22547. Fmap1: [8]TFcChar32{
  22548. 0: uint32(0xffffffff),
  22549. 1: uint32(0xffffffff),
  22550. 2: uint32(0xffffffff),
  22551. 3: uint32(0xffffffff),
  22552. 4: uint32(0x00001fff),
  22553. },
  22554. },
  22555. 111: {
  22556. Fmap1: [8]TFcChar32{
  22557. 0: uint32(0xffff4002),
  22558. 1: uint32(0xffffffff),
  22559. 2: uint32(0x4002ffff),
  22560. },
  22561. },
  22562. 112: {
  22563. Fmap1: [8]TFcChar32{
  22564. 2: uint32(0x07fffffe),
  22565. 3: uint32(0x07fffffe),
  22566. 6: uint32(0x64092242),
  22567. 7: uint32(0x64092242),
  22568. },
  22569. },
  22570. 113: {
  22571. Fmap1: [8]TFcChar32{
  22572. 2: uint32(0x07fffffe),
  22573. 3: uint32(0x07fffffe),
  22574. 6: uint32(0x060cb301),
  22575. 7: uint32(0x060cb301),
  22576. },
  22577. },
  22578. 114: {
  22579. Fmap1: [8]TFcChar32{
  22580. 0: uint32(0x00000c7e),
  22581. 1: uint32(0x031f8000),
  22582. 2: uint32(0x0063f200),
  22583. 3: uint32(0x000df840),
  22584. 4: uint32(0x00037e08),
  22585. 5: uint32(0x08000dfa),
  22586. 6: uint32(0x0df901bf),
  22587. 7: uint32(0x5437e400),
  22588. },
  22589. },
  22590. 115: {
  22591. Fmap1: [8]TFcChar32{
  22592. 0: uint32(0x00000025),
  22593. 1: uint32(0x40006fc0),
  22594. 2: uint32(0x27f91be4),
  22595. 3: uint32(0xdee00000),
  22596. 4: uint32(0x007ff83f),
  22597. 5: uint32(0x00007f7f),
  22598. },
  22599. },
  22600. 116: {
  22601. Fmap1: [8]TFcChar32{
  22602. 3: uint32(0x007f8000),
  22603. },
  22604. },
  22605. 117: {
  22606. Fmap1: [8]TFcChar32{
  22607. 0: uint32(0x000000a7),
  22608. 2: uint32(0xfffffffe),
  22609. 3: uint32(0xffffffff),
  22610. 4: uint32(0x780fffff),
  22611. 5: uint32(0xfffffffe),
  22612. 6: uint32(0xffffffff),
  22613. 7: uint32(0x787fffff),
  22614. },
  22615. },
  22616. 118: {
  22617. Fmap1: [8]TFcChar32{
  22618. 0: uint32(0x03506f8b),
  22619. 1: uint32(0x1b042042),
  22620. 2: uint32(0x62808020),
  22621. 3: uint32(0x400a0000),
  22622. 4: uint32(0x10341b41),
  22623. 5: uint32(0x04003812),
  22624. 6: uint32(0x03608c02),
  22625. 7: uint32(0x08454038),
  22626. },
  22627. },
  22628. 119: {
  22629. Fmap1: [8]TFcChar32{
  22630. 0: uint32(0x2403c002),
  22631. 1: uint32(0x15108000),
  22632. 2: uint32(0x1229e040),
  22633. 3: uint32(0x80280000),
  22634. 4: uint32(0x28002800),
  22635. 5: uint32(0x8060c002),
  22636. 6: uint32(0x2080040c),
  22637. 7: uint32(0x05284002),
  22638. },
  22639. },
  22640. 120: {
  22641. Fmap1: [8]TFcChar32{
  22642. 0: uint32(0x82042a00),
  22643. 1: uint32(0x02000818),
  22644. 2: uint32(0x10008200),
  22645. 3: uint32(0x20700020),
  22646. 4: uint32(0x03022000),
  22647. 5: uint32(0x40a41000),
  22648. 6: uint32(0x0420a020),
  22649. 7: uint32(0x00000080),
  22650. },
  22651. },
  22652. 121: {
  22653. Fmap1: [8]TFcChar32{
  22654. 0: uint32(0x80040011),
  22655. 1: uint32(0x00000400),
  22656. 2: uint32(0x04012b78),
  22657. 3: uint32(0x11a23920),
  22658. 4: uint32(0x02842460),
  22659. 5: uint32(0x00c01021),
  22660. 6: uint32(0x20002050),
  22661. 7: uint32(0x07400042),
  22662. },
  22663. },
  22664. 122: {
  22665. Fmap1: [8]TFcChar32{
  22666. 0: uint32(0x208205c9),
  22667. 1: uint32(0x0fc10230),
  22668. 2: uint32(0x08402480),
  22669. 3: uint32(0x00258018),
  22670. 4: uint32(0x88000080),
  22671. 5: uint32(0x42120609),
  22672. 6: uint32(0xa32002a8),
  22673. 7: uint32(0x40040094),
  22674. },
  22675. },
  22676. 123: {
  22677. Fmap1: [8]TFcChar32{
  22678. 0: uint32(0x00c00024),
  22679. 1: uint32(0x8e000001),
  22680. 2: uint32(0x059e058a),
  22681. 3: uint32(0x013b0001),
  22682. 4: uint32(0x85000010),
  22683. 5: uint32(0x08080000),
  22684. 6: uint32(0x02d07d04),
  22685. 7: uint32(0x018d9838),
  22686. },
  22687. },
  22688. 124: {
  22689. Fmap1: [8]TFcChar32{
  22690. 0: uint32(0x8803f310),
  22691. 1: uint32(0x03000840),
  22692. 2: uint32(0x00000704),
  22693. 3: uint32(0x30080500),
  22694. 4: uint32(0x00001000),
  22695. 5: uint32(0x20040000),
  22696. 6: uint32(0x00000003),
  22697. 7: uint32(0x04040002),
  22698. },
  22699. },
  22700. 125: {
  22701. Fmap1: [8]TFcChar32{
  22702. 0: uint32(0x000100d0),
  22703. 1: uint32(0x40028000),
  22704. 2: uint32(0x00088040),
  22705. 4: uint32(0x34000210),
  22706. 5: uint32(0x00400e00),
  22707. 6: uint32(0x00000020),
  22708. 7: uint32(0x00000008),
  22709. },
  22710. },
  22711. 126: {
  22712. Fmap1: [8]TFcChar32{
  22713. 0: uint32(0x00000040),
  22714. 1: uint32(0x00060000),
  22715. 3: uint32(0x00100100),
  22716. 4: uint32(0x00000080),
  22717. 6: uint32(0x4c000000),
  22718. 7: uint32(0x240d0009),
  22719. },
  22720. },
  22721. 127: {
  22722. Fmap1: [8]TFcChar32{
  22723. 0: uint32(0x80048000),
  22724. 1: uint32(0x00010180),
  22725. 2: uint32(0x00020484),
  22726. 3: uint32(0x00000400),
  22727. 4: uint32(0x00000804),
  22728. 5: uint32(0x00000008),
  22729. 6: uint32(0x80004800),
  22730. 7: uint32(0x16800000),
  22731. },
  22732. },
  22733. 128: {
  22734. Fmap1: [8]TFcChar32{
  22735. 0: uint32(0x00200065),
  22736. 1: uint32(0x00120410),
  22737. 2: uint32(0x44920403),
  22738. 3: uint32(0x40000200),
  22739. 4: uint32(0x10880008),
  22740. 5: uint32(0x40080100),
  22741. 6: uint32(0x00001482),
  22742. 7: uint32(0x00074800),
  22743. },
  22744. },
  22745. 129: {
  22746. Fmap1: [8]TFcChar32{
  22747. 0: uint32(0x14608200),
  22748. 1: uint32(0x00024e84),
  22749. 2: uint32(0x00128380),
  22750. 3: uint32(0x20184520),
  22751. 4: uint32(0x0240041c),
  22752. 5: uint32(0x0a001120),
  22753. 6: uint32(0x00180a00),
  22754. 7: uint32(0x88000800),
  22755. },
  22756. },
  22757. 130: {
  22758. Fmap1: [8]TFcChar32{
  22759. 0: uint32(0x01000002),
  22760. 1: uint32(0x00008001),
  22761. 2: uint32(0x04000040),
  22762. 3: uint32(0x80000040),
  22763. 4: uint32(0x08040000),
  22764. 6: uint32(0x00001202),
  22765. 7: uint32(0x00000002),
  22766. },
  22767. },
  22768. 131: {
  22769. Fmap1: [8]TFcChar32{
  22770. 1: uint32(0x00000004),
  22771. 2: uint32(0x21910000),
  22772. 3: uint32(0x00000858),
  22773. 4: uint32(0xbf8013a0),
  22774. 5: uint32(0x8279401c),
  22775. 6: uint32(0xa8041054),
  22776. 7: uint32(0xc5004282),
  22777. },
  22778. },
  22779. 132: {
  22780. Fmap1: [8]TFcChar32{
  22781. 0: uint32(0x0402ce56),
  22782. 1: uint32(0xfc020000),
  22783. 2: uint32(0x40200d21),
  22784. 3: uint32(0x00028030),
  22785. 4: uint32(0x00010000),
  22786. 5: uint32(0x01081202),
  22787. 7: uint32(0x00410003),
  22788. },
  22789. },
  22790. 133: {
  22791. Fmap1: [8]TFcChar32{
  22792. 0: uint32(0x00404080),
  22793. 1: uint32(0x00000200),
  22794. 2: uint32(0x00010000),
  22795. 6: uint32(0x60000000),
  22796. 7: uint32(0x480241ea),
  22797. },
  22798. },
  22799. 134: {
  22800. Fmap1: [8]TFcChar32{
  22801. 0: uint32(0x2000104c),
  22802. 1: uint32(0x2109a820),
  22803. 2: uint32(0x00200020),
  22804. 3: uint32(0x7b1c0008),
  22805. 4: uint32(0x10a0840a),
  22806. 5: uint32(0x01c028c0),
  22807. 6: uint32(0x00000608),
  22808. 7: uint32(0x04c00000),
  22809. },
  22810. },
  22811. 135: {
  22812. Fmap1: [8]TFcChar32{
  22813. 0: uint32(0x80398412),
  22814. 1: uint32(0x40a200e0),
  22815. 2: uint32(0x02080000),
  22816. 3: uint32(0x12030a04),
  22817. 4: uint32(0x008d1833),
  22818. 5: uint32(0x02184602),
  22819. 6: uint32(0x13803028),
  22820. 7: uint32(0x00200801),
  22821. },
  22822. },
  22823. 136: {
  22824. Fmap1: [8]TFcChar32{
  22825. 0: uint32(0x20440000),
  22826. 1: uint32(0x000005a1),
  22827. 2: uint32(0x00050800),
  22828. 3: uint32(0x0020a328),
  22829. 4: uint32(0x80100000),
  22830. 5: uint32(0x10040649),
  22831. 6: uint32(0x10020020),
  22832. 7: uint32(0x00090180),
  22833. },
  22834. },
  22835. 137: {
  22836. Fmap1: [8]TFcChar32{
  22837. 0: uint32(0x8c008202),
  22838. 2: uint32(0x00205910),
  22839. 3: uint32(0x0041410c),
  22840. 4: uint32(0x00004004),
  22841. 5: uint32(0x40441290),
  22842. 6: uint32(0x00010080),
  22843. 7: uint32(0x01040000),
  22844. },
  22845. },
  22846. 138: {
  22847. Fmap1: [8]TFcChar32{
  22848. 0: uint32(0x04070000),
  22849. 1: uint32(0x89108040),
  22850. 2: uint32(0x00282a81),
  22851. 3: uint32(0x82420000),
  22852. 4: uint32(0x51a20411),
  22853. 5: uint32(0x32220800),
  22854. 6: uint32(0x2b0d2220),
  22855. 7: uint32(0x40c83003),
  22856. },
  22857. },
  22858. 139: {
  22859. Fmap1: [8]TFcChar32{
  22860. 0: uint32(0x82020082),
  22861. 1: uint32(0x80008900),
  22862. 2: uint32(0x10a00200),
  22863. 3: uint32(0x08004100),
  22864. 4: uint32(0x09041108),
  22865. 5: uint32(0x000405a6),
  22866. 6: uint32(0x0c018000),
  22867. 7: uint32(0x04104002),
  22868. },
  22869. },
  22870. 140: {
  22871. Fmap1: [8]TFcChar32{
  22872. 0: uint32(0x00002000),
  22873. 1: uint32(0x44003000),
  22874. 2: uint32(0x01000004),
  22875. 3: uint32(0x00008200),
  22876. 4: uint32(0x00000008),
  22877. 5: uint32(0x00044010),
  22878. 6: uint32(0x00002002),
  22879. 7: uint32(0x00001040),
  22880. },
  22881. },
  22882. 141: {
  22883. Fmap1: [8]TFcChar32{
  22884. 1: uint32(0xca008000),
  22885. 2: uint32(0x02828020),
  22886. 3: uint32(0x00b1100c),
  22887. 4: uint32(0x12824280),
  22888. 5: uint32(0x22013030),
  22889. 6: uint32(0x00808820),
  22890. 7: uint32(0x040013e4),
  22891. },
  22892. },
  22893. 142: {
  22894. Fmap1: [8]TFcChar32{
  22895. 0: uint32(0x801840c0),
  22896. 1: uint32(0x1000a1a1),
  22897. 2: uint32(0x00000004),
  22898. 3: uint32(0x0050c200),
  22899. 4: uint32(0x00c20082),
  22900. 5: uint32(0x00104840),
  22901. 6: uint32(0x10400080),
  22902. 7: uint32(0xa3140000),
  22903. },
  22904. },
  22905. 143: {
  22906. Fmap1: [8]TFcChar32{
  22907. 0: uint32(0xa8a02301),
  22908. 1: uint32(0x24123d00),
  22909. 2: uint32(0x80030200),
  22910. 3: uint32(0xc0028022),
  22911. 4: uint32(0x34a10000),
  22912. 5: uint32(0x00408005),
  22913. 6: uint32(0x00190010),
  22914. 7: uint32(0x882a0000),
  22915. },
  22916. },
  22917. 144: {
  22918. Fmap1: [8]TFcChar32{
  22919. 0: uint32(0x00080018),
  22920. 1: uint32(0x33000402),
  22921. 2: uint32(0x9002010a),
  22922. 4: uint32(0x00800020),
  22923. 5: uint32(0x00010100),
  22924. 6: uint32(0x84040810),
  22925. 7: uint32(0x04004000),
  22926. },
  22927. },
  22928. 145: {
  22929. Fmap1: [8]TFcChar32{
  22930. 0: uint32(0x10006020),
  22931. 3: uint32(0x30a02000),
  22932. 4: uint32(0x00000004),
  22933. 6: uint32(0x01000800),
  22934. 7: uint32(0x20000000),
  22935. },
  22936. },
  22937. 146: {
  22938. Fmap1: [8]TFcChar32{
  22939. 0: uint32(0x02000000),
  22940. 1: uint32(0x02000602),
  22941. 2: uint32(0x80000800),
  22942. },
  22943. },
  22944. 147: {
  22945. Fmap1: [8]TFcChar32{
  22946. 0: uint32(0x00000010),
  22947. 1: uint32(0x44040083),
  22948. 2: uint32(0x00081000),
  22949. 3: uint32(0x0818824c),
  22950. 4: uint32(0x00400e00),
  22951. 5: uint32(0x8c300000),
  22952. 6: uint32(0x08146001),
  22953. },
  22954. },
  22955. 148: {
  22956. Fmap1: [8]TFcChar32{
  22957. 0: uint32(0x00828000),
  22958. 1: uint32(0x41900000),
  22959. 2: uint32(0x84804006),
  22960. 3: uint32(0x24010001),
  22961. 4: uint32(0x02400108),
  22962. 5: uint32(0x9b080006),
  22963. 6: uint32(0x00201602),
  22964. 7: uint32(0x0009012e),
  22965. },
  22966. },
  22967. 149: {
  22968. Fmap1: [8]TFcChar32{
  22969. 0: uint32(0x40800800),
  22970. 1: uint32(0x48000420),
  22971. 2: uint32(0x10000032),
  22972. 3: uint32(0x01904440),
  22973. 4: uint32(0x02000100),
  22974. 5: uint32(0x10048000),
  22975. 6: uint32(0x00020000),
  22976. 7: uint32(0x08820802),
  22977. },
  22978. },
  22979. 150: {
  22980. Fmap1: [8]TFcChar32{
  22981. 0: uint32(0x08080ba0),
  22982. 1: uint32(0x00009242),
  22983. 2: uint32(0x00400000),
  22984. 3: uint32(0xc0008080),
  22985. 4: uint32(0x20410001),
  22986. 5: uint32(0x04400000),
  22987. 6: uint32(0x60020820),
  22988. 7: uint32(0x00100000),
  22989. },
  22990. },
  22991. 151: {
  22992. Fmap1: [8]TFcChar32{
  22993. 0: uint32(0x00108046),
  22994. 1: uint32(0x01001805),
  22995. 2: uint32(0x90100000),
  22996. 3: uint32(0x00014010),
  22997. 4: uint32(0x00000010),
  22998. 6: uint32(0x0000000b),
  22999. 7: uint32(0x00008800),
  23000. },
  23001. },
  23002. 152: {
  23003. Fmap1: [8]TFcChar32{
  23004. 1: uint32(0x00001000),
  23005. 3: uint32(0x20018800),
  23006. 4: uint32(0x00004600),
  23007. 5: uint32(0x06002000),
  23008. 6: uint32(0x00000100),
  23009. },
  23010. },
  23011. 153: {
  23012. Fmap1: [8]TFcChar32{
  23013. 1: uint32(0x10400042),
  23014. 2: uint32(0x02004000),
  23015. 3: uint32(0x00004280),
  23016. 4: uint32(0x80000400),
  23017. 5: uint32(0x00020000),
  23018. 6: uint32(0x00000008),
  23019. 7: uint32(0x00000020),
  23020. },
  23021. },
  23022. 154: {
  23023. Fmap1: [8]TFcChar32{
  23024. 0: uint32(0x00000040),
  23025. 1: uint32(0x20600400),
  23026. 2: uint32(0x0a000180),
  23027. 3: uint32(0x02040280),
  23028. 5: uint32(0x00409001),
  23029. 6: uint32(0x02000004),
  23030. 7: uint32(0x00003200),
  23031. },
  23032. },
  23033. 155: {
  23034. Fmap1: [8]TFcChar32{
  23035. 0: uint32(0x88000000),
  23036. 1: uint32(0x80404800),
  23037. 2: uint32(0x00000010),
  23038. 3: uint32(0x00040008),
  23039. 4: uint32(0x00000a90),
  23040. 5: uint32(0x00000200),
  23041. 6: uint32(0x00002000),
  23042. 7: uint32(0x40002001),
  23043. },
  23044. },
  23045. 156: {
  23046. Fmap1: [8]TFcChar32{
  23047. 0: uint32(0x00000048),
  23048. 1: uint32(0x00100000),
  23049. 3: uint32(0x00000001),
  23050. 4: uint32(0x00000008),
  23051. 5: uint32(0x20010080),
  23052. 7: uint32(0x00400040),
  23053. },
  23054. },
  23055. 157: {
  23056. Fmap1: [8]TFcChar32{
  23057. 0: uint32(0x85000000),
  23058. 1: uint32(0x0c8f0108),
  23059. 2: uint32(0x32129000),
  23060. 3: uint32(0x80090420),
  23061. 4: uint32(0x00024000),
  23062. 5: uint32(0x40040800),
  23063. 6: uint32(0x092000a0),
  23064. 7: uint32(0x00100204),
  23065. },
  23066. },
  23067. 158: {
  23068. Fmap1: [8]TFcChar32{
  23069. 0: uint32(0x00002000),
  23070. 2: uint32(0x00440004),
  23071. 3: uint32(0x6c000000),
  23072. 4: uint32(0x000000d0),
  23073. 5: uint32(0x80004000),
  23074. 6: uint32(0x88800440),
  23075. 7: uint32(0x41144018),
  23076. },
  23077. },
  23078. 159: {
  23079. Fmap1: [8]TFcChar32{
  23080. 0: uint32(0x80001a02),
  23081. 1: uint32(0x14000001),
  23082. 2: uint32(0x00000001),
  23083. 3: uint32(0x0000004a),
  23084. 5: uint32(0x00083000),
  23085. 6: uint32(0x08000000),
  23086. 7: uint32(0x0008a024),
  23087. },
  23088. },
  23089. 160: {
  23090. Fmap1: [8]TFcChar32{
  23091. 0: uint32(0x00300004),
  23092. 1: uint32(0x00140000),
  23093. 2: uint32(0x20000000),
  23094. 3: uint32(0x00001800),
  23095. 4: uint32(0x00020002),
  23096. 5: uint32(0x04000000),
  23097. 6: uint32(0x00000002),
  23098. 7: uint32(0x00000100),
  23099. },
  23100. },
  23101. 161: {
  23102. Fmap1: [8]TFcChar32{
  23103. 0: uint32(0x00004002),
  23104. 1: uint32(0x54000000),
  23105. 2: uint32(0x60400300),
  23106. 3: uint32(0x00002120),
  23107. 4: uint32(0x0000a022),
  23108. 6: uint32(0x81060803),
  23109. 7: uint32(0x08010200),
  23110. },
  23111. },
  23112. 162: {
  23113. Fmap1: [8]TFcChar32{
  23114. 0: uint32(0x04004800),
  23115. 1: uint32(0xb0044000),
  23116. 2: uint32(0x0000a005),
  23117. 3: uint32(0x04500800),
  23118. 4: uint32(0x800c000a),
  23119. 5: uint32(0x0000c000),
  23120. 6: uint32(0x10000800),
  23121. 7: uint32(0x02408021),
  23122. },
  23123. },
  23124. 163: {
  23125. Fmap1: [8]TFcChar32{
  23126. 0: uint32(0x08020000),
  23127. 1: uint32(0x00001040),
  23128. 2: uint32(0x00540a40),
  23129. 4: uint32(0x00800880),
  23130. 5: uint32(0x01020002),
  23131. 6: uint32(0x00000211),
  23132. 7: uint32(0x00000010),
  23133. },
  23134. },
  23135. 164: {
  23136. Fmap1: [8]TFcChar32{
  23137. 1: uint32(0x80000002),
  23138. 2: uint32(0x00002000),
  23139. 3: uint32(0x00080001),
  23140. 4: uint32(0x09840a00),
  23141. 5: uint32(0x40000080),
  23142. 6: uint32(0x00400000),
  23143. 7: uint32(0x49000080),
  23144. },
  23145. },
  23146. 165: {
  23147. Fmap1: [8]TFcChar32{
  23148. 0: uint32(0x0e102831),
  23149. 1: uint32(0x06098807),
  23150. 2: uint32(0x40011014),
  23151. 3: uint32(0x02620042),
  23152. 4: uint32(0x06000000),
  23153. 5: uint32(0x88062000),
  23154. 6: uint32(0x04068400),
  23155. 7: uint32(0x08108301),
  23156. },
  23157. },
  23158. 166: {
  23159. Fmap1: [8]TFcChar32{
  23160. 0: uint32(0x08000012),
  23161. 1: uint32(0x40004840),
  23162. 2: uint32(0x00300402),
  23163. 3: uint32(0x00012000),
  23164. },
  23165. },
  23166. 167: {
  23167. Fmap1: [8]TFcChar32{
  23168. 1: uint32(0x00400000),
  23169. 3: uint32(0x00a54400),
  23170. 4: uint32(0x40004420),
  23171. 5: uint32(0x20000310),
  23172. 6: uint32(0x00041002),
  23173. 7: uint32(0x18000000),
  23174. },
  23175. },
  23176. 168: {
  23177. Fmap1: [8]TFcChar32{
  23178. 0: uint32(0x00a1002a),
  23179. 1: uint32(0x00080000),
  23180. 2: uint32(0x40400000),
  23181. 3: uint32(0x00900000),
  23182. 4: uint32(0x21401200),
  23183. 5: uint32(0x04048626),
  23184. 6: uint32(0x40005048),
  23185. 7: uint32(0x21100000),
  23186. },
  23187. },
  23188. 169: {
  23189. Fmap1: [8]TFcChar32{
  23190. 0: uint32(0x040005a4),
  23191. 1: uint32(0x000a0000),
  23192. 2: uint32(0x00214000),
  23193. 3: uint32(0x07010800),
  23194. 4: uint32(0x34000000),
  23195. 5: uint32(0x00080100),
  23196. 6: uint32(0x00080040),
  23197. 7: uint32(0x10182508),
  23198. },
  23199. },
  23200. 170: {
  23201. Fmap1: [8]TFcChar32{
  23202. 0: uint32(0xc0805100),
  23203. 1: uint32(0x02c01400),
  23204. 2: uint32(0x00000080),
  23205. 3: uint32(0x00448040),
  23206. 4: uint32(0x20000800),
  23207. 5: uint32(0x210a8000),
  23208. 6: uint32(0x08800000),
  23209. 7: uint32(0x00020060),
  23210. },
  23211. },
  23212. 171: {
  23213. Fmap1: [8]TFcChar32{
  23214. 0: uint32(0x00004004),
  23215. 1: uint32(0x00400100),
  23216. 2: uint32(0x01040200),
  23217. 3: uint32(0x00800000),
  23218. 6: uint32(0x10081400),
  23219. 7: uint32(0x00008000),
  23220. },
  23221. },
  23222. 172: {
  23223. Fmap1: [8]TFcChar32{
  23224. 0: uint32(0x00004000),
  23225. 1: uint32(0x20000000),
  23226. 2: uint32(0x08800200),
  23227. 3: uint32(0x00001000),
  23228. 5: uint32(0x01000000),
  23229. 6: uint32(0x00000810),
  23230. },
  23231. },
  23232. 173: {
  23233. Fmap1: [8]TFcChar32{
  23234. 0: uint32(0x00020000),
  23235. 1: uint32(0x20200000),
  23236. 4: uint32(0x00000010),
  23237. 5: uint32(0x00001c40),
  23238. 6: uint32(0x00002000),
  23239. 7: uint32(0x08000210),
  23240. },
  23241. },
  23242. 174: {
  23243. Fmap1: [8]TFcChar32{
  23244. 2: uint32(0x54014000),
  23245. 3: uint32(0x02000800),
  23246. 4: uint32(0x00200400),
  23247. 6: uint32(0x00002080),
  23248. 7: uint32(0x00004000),
  23249. },
  23250. },
  23251. 175: {
  23252. Fmap1: [8]TFcChar32{
  23253. 0: uint32(0x10000004),
  23254. 4: uint32(0x00002000),
  23255. },
  23256. },
  23257. 176: {
  23258. Fmap1: [8]TFcChar32{
  23259. 2: uint32(0x28881041),
  23260. 3: uint32(0x0081010a),
  23261. 4: uint32(0x00400800),
  23262. 5: uint32(0x00000800),
  23263. 6: uint32(0x10208026),
  23264. 7: uint32(0x61000000),
  23265. },
  23266. },
  23267. 177: {
  23268. Fmap1: [8]TFcChar32{
  23269. 0: uint32(0x00050080),
  23270. 2: uint32(0x80000000),
  23271. 3: uint32(0x80040000),
  23272. 4: uint32(0x044088c2),
  23273. 5: uint32(0x00080480),
  23274. 6: uint32(0x00040000),
  23275. 7: uint32(0x00000048),
  23276. },
  23277. },
  23278. 178: {
  23279. Fmap1: [8]TFcChar32{
  23280. 0: uint32(0x8188410d),
  23281. 1: uint32(0x141a2400),
  23282. 2: uint32(0x40310000),
  23283. 3: uint32(0x000f4249),
  23284. 4: uint32(0x41283280),
  23285. 5: uint32(0x80053011),
  23286. 6: uint32(0x00400880),
  23287. 7: uint32(0x410060c0),
  23288. },
  23289. },
  23290. 179: {
  23291. Fmap1: [8]TFcChar32{
  23292. 0: uint32(0x2a004013),
  23293. 1: uint32(0x02000002),
  23294. 2: uint32(0x11000000),
  23295. 3: uint32(0x00850040),
  23296. },
  23297. },
  23298. 180: {
  23299. Fmap1: [8]TFcChar32{
  23300. 1: uint32(0x00800000),
  23301. 2: uint32(0x04000440),
  23302. 3: uint32(0x00000402),
  23303. 4: uint32(0x60001000),
  23304. 5: uint32(0x99909f87),
  23305. 6: uint32(0x5808049d),
  23306. 7: uint32(0x10002445),
  23307. },
  23308. },
  23309. 181: {
  23310. Fmap1: [8]TFcChar32{
  23311. 0: uint32(0x00000100),
  23312. 3: uint32(0x00910050),
  23313. 4: uint32(0x00000420),
  23314. 5: uint32(0x00080008),
  23315. 6: uint32(0x20000000),
  23316. 7: uint32(0x00288002),
  23317. },
  23318. },
  23319. 182: {
  23320. Fmap1: [8]TFcChar32{
  23321. 0: uint32(0x00008400),
  23322. 1: uint32(0x00000400),
  23323. 3: uint32(0x00100000),
  23324. 4: uint32(0x00002000),
  23325. 5: uint32(0x00000800),
  23326. 6: uint32(0x80043400),
  23327. 7: uint32(0x21000004),
  23328. },
  23329. },
  23330. 183: {
  23331. Fmap1: [8]TFcChar32{
  23332. 0: uint32(0x20000208),
  23333. 1: uint32(0x01000600),
  23334. 2: uint32(0x00000010),
  23335. 4: uint32(0x48000000),
  23336. 5: uint32(0x14060008),
  23337. 6: uint32(0x00124020),
  23338. 7: uint32(0x20812800),
  23339. },
  23340. },
  23341. 184: {
  23342. Fmap1: [8]TFcChar32{
  23343. 0: uint32(0xa419804b),
  23344. 1: uint32(0x01064009),
  23345. 2: uint32(0x10386ca4),
  23346. 3: uint32(0x85a0620b),
  23347. 4: uint32(0x00000010),
  23348. 5: uint32(0x01000448),
  23349. 6: uint32(0x00004400),
  23350. 7: uint32(0x20a02102),
  23351. },
  23352. },
  23353. 185: {
  23354. Fmap1: [8]TFcChar32{
  23355. 2: uint32(0x00147000),
  23356. 3: uint32(0x01a01404),
  23357. 4: uint32(0x10040000),
  23358. 5: uint32(0x01000000),
  23359. 6: uint32(0x3002f180),
  23360. 7: uint32(0x00000008),
  23361. },
  23362. },
  23363. 186: {
  23364. Fmap1: [8]TFcChar32{
  23365. 0: uint32(0x00002000),
  23366. 1: uint32(0x00100000),
  23367. 2: uint32(0x08000010),
  23368. 3: uint32(0x00020004),
  23369. 4: uint32(0x01000029),
  23370. 5: uint32(0x00002000),
  23371. 7: uint32(0x10082000),
  23372. },
  23373. },
  23374. 187: {
  23375. Fmap1: [8]TFcChar32{
  23376. 1: uint32(0x0004d041),
  23377. 2: uint32(0x08000800),
  23378. 3: uint32(0x00200000),
  23379. 4: uint32(0x00401000),
  23380. 5: uint32(0x00004000),
  23381. 7: uint32(0x00000002),
  23382. },
  23383. },
  23384. 188: {
  23385. Fmap1: [8]TFcChar32{
  23386. 0: uint32(0x01000000),
  23387. 2: uint32(0x00020000),
  23388. },
  23389. },
  23390. 189: {
  23391. Fmap1: [8]TFcChar32{
  23392. 3: uint32(0x00800000),
  23393. 4: uint32(0x000a0a01),
  23394. 5: uint32(0x0004002c),
  23395. 6: uint32(0x01000080),
  23396. },
  23397. },
  23398. 190: {
  23399. Fmap1: [8]TFcChar32{
  23400. 0: uint32(0x10000000),
  23401. 1: uint32(0x08040400),
  23402. 2: uint32(0x08012010),
  23403. 3: uint32(0x2569043c),
  23404. 4: uint32(0x1a10c460),
  23405. 5: uint32(0x08800009),
  23406. 6: uint32(0x000210f0),
  23407. 7: uint32(0x08c5050c),
  23408. },
  23409. },
  23410. 191: {
  23411. Fmap1: [8]TFcChar32{
  23412. 0: uint32(0x10000481),
  23413. 1: uint32(0x00040080),
  23414. 2: uint32(0x42040000),
  23415. 3: uint32(0x00100204),
  23416. 6: uint32(0x00080000),
  23417. 7: uint32(0x88080000),
  23418. },
  23419. },
  23420. 192: {
  23421. Fmap1: [8]TFcChar32{
  23422. 0: uint32(0x010f016c),
  23423. 1: uint32(0x18002000),
  23424. 2: uint32(0x41307000),
  23425. 3: uint32(0x00000080),
  23426. 5: uint32(0x00000100),
  23427. 6: uint32(0x88000000),
  23428. 7: uint32(0x70048004),
  23429. },
  23430. },
  23431. 193: {
  23432. Fmap1: [8]TFcChar32{
  23433. 0: uint32(0x00081420),
  23434. 1: uint32(0x00000100),
  23435. 4: uint32(0x02400000),
  23436. 5: uint32(0x00001000),
  23437. 6: uint32(0x00050070),
  23438. },
  23439. },
  23440. 194: {
  23441. Fmap1: [8]TFcChar32{
  23442. 0: uint32(0x000c4000),
  23443. 1: uint32(0x00010000),
  23444. 2: uint32(0x04000000),
  23445. 5: uint32(0x01000100),
  23446. 6: uint32(0x01000010),
  23447. 7: uint32(0x00000400),
  23448. },
  23449. },
  23450. 195: {
  23451. Fmap1: [8]TFcChar32{
  23452. 1: uint32(0x10020000),
  23453. 2: uint32(0x04100024),
  23454. 5: uint32(0x00004000),
  23455. 7: uint32(0x00000100),
  23456. },
  23457. },
  23458. 196: {
  23459. Fmap1: [8]TFcChar32{
  23460. 7: uint32(0x00100020),
  23461. },
  23462. },
  23463. 197: {
  23464. Fmap1: [8]TFcChar32{
  23465. 4: uint32(0x00008000),
  23466. 5: uint32(0x00100000),
  23467. },
  23468. },
  23469. 198: {
  23470. Fmap1: [8]TFcChar32{
  23471. 3: uint32(0x80000000),
  23472. 4: uint32(0x00880000),
  23473. 5: uint32(0x0c000040),
  23474. 6: uint32(0x02040010),
  23475. },
  23476. },
  23477. 199: {
  23478. Fmap1: [8]TFcChar32{
  23479. 0: uint32(0x00080000),
  23480. 1: uint32(0x08000000),
  23481. 3: uint32(0x00000004),
  23482. },
  23483. },
  23484. 200: {
  23485. Fmap1: [8]TFcChar32{
  23486. 2: uint32(0x07fffffe),
  23487. 3: uint32(0x07fffffe),
  23488. 6: uint32(0x00000300),
  23489. 7: uint32(0x00000300),
  23490. },
  23491. },
  23492. 201: {
  23493. Fmap1: [8]TFcChar32{
  23494. 6: uint32(0xffff0000),
  23495. 7: uint32(0x0001ffff),
  23496. },
  23497. },
  23498. 202: {
  23499. Fmap1: [8]TFcChar32{
  23500. 0: uint32(0xffff0002),
  23501. 1: uint32(0xffffffff),
  23502. 2: uint32(0x0002ffff),
  23503. 4: uint32(0x0c0c0000),
  23504. 5: uint32(0x000cc00c),
  23505. 6: uint32(0x03000000),
  23506. },
  23507. },
  23508. 203: {
  23509. Fmap1: [8]TFcChar32{
  23510. 1: uint32(0x00000300),
  23511. 3: uint32(0x00000300),
  23512. },
  23513. },
  23514. 204: {
  23515. Fmap1: [8]TFcChar32{
  23516. 0: uint32(0xffff0000),
  23517. 1: uint32(0xffffffff),
  23518. 2: uint32(0x0040ffff),
  23519. 4: uint32(0x0c0c0000),
  23520. 5: uint32(0x0c00000c),
  23521. 6: uint32(0x03000000),
  23522. 7: uint32(0x00000300),
  23523. },
  23524. },
  23525. 205: {
  23526. Fmap1: [8]TFcChar32{
  23527. 2: uint32(0x07fffffe),
  23528. 3: uint32(0x07fffffe),
  23529. 6: uint32(0x0d10646e),
  23530. 7: uint32(0x0d10646e),
  23531. },
  23532. },
  23533. 206: {
  23534. Fmap1: [8]TFcChar32{
  23535. 1: uint32(0x01000300),
  23536. 3: uint32(0x00000300),
  23537. },
  23538. },
  23539. 207: {
  23540. Fmap1: [8]TFcChar32{
  23541. 4: uint32(0x9fffffff),
  23542. 5: uint32(0xffcffee7),
  23543. 6: uint32(0x0000003f),
  23544. },
  23545. },
  23546. 208: {
  23547. Fmap1: [8]TFcChar32{
  23548. 4: uint32(0xfffddfec),
  23549. 5: uint32(0xc3effdff),
  23550. 6: uint32(0x40603ddf),
  23551. 7: uint32(0x00000003),
  23552. },
  23553. },
  23554. 209: {
  23555. Fmap1: [8]TFcChar32{
  23556. 1: uint32(0xfffe0000),
  23557. 2: uint32(0xffffffff),
  23558. 3: uint32(0xffffffef),
  23559. 4: uint32(0x00007fff),
  23560. },
  23561. },
  23562. 210: {
  23563. Fmap1: [8]TFcChar32{
  23564. 0: uint32(0x3eff0793),
  23565. 1: uint32(0x1303b011),
  23566. 2: uint32(0x11102801),
  23567. 3: uint32(0x05930000),
  23568. 4: uint32(0xb0111e7b),
  23569. 5: uint32(0x3b019703),
  23570. 6: uint32(0x00a01112),
  23571. 7: uint32(0x306b9593),
  23572. },
  23573. },
  23574. 211: {
  23575. Fmap1: [8]TFcChar32{
  23576. 0: uint32(0x1102b051),
  23577. 1: uint32(0x11303201),
  23578. 2: uint32(0x011102b0),
  23579. 3: uint32(0xb879300a),
  23580. 4: uint32(0x30011306),
  23581. 5: uint32(0x00800010),
  23582. 6: uint32(0x100b0113),
  23583. 7: uint32(0x93000011),
  23584. },
  23585. },
  23586. 212: {
  23587. Fmap1: [8]TFcChar32{
  23588. 0: uint32(0x00102b03),
  23589. 1: uint32(0x05930000),
  23590. 2: uint32(0xb051746b),
  23591. 3: uint32(0x3b011323),
  23592. 4: uint32(0x00001030),
  23593. 5: uint32(0x70000000),
  23594. 6: uint32(0x1303b011),
  23595. 7: uint32(0x11102900),
  23596. },
  23597. },
  23598. 213: {
  23599. Fmap1: [8]TFcChar32{
  23600. 0: uint32(0x00012180),
  23601. 1: uint32(0xb0153000),
  23602. 2: uint32(0x3001030e),
  23603. 3: uint32(0x02000030),
  23604. 4: uint32(0x10230111),
  23605. 5: uint32(0x13000000),
  23606. 6: uint32(0x10106b81),
  23607. 7: uint32(0x01130300),
  23608. },
  23609. },
  23610. 214: {
  23611. Fmap1: [8]TFcChar32{
  23612. 0: uint32(0x30111013),
  23613. 1: uint32(0x00000100),
  23614. 2: uint32(0x22b85530),
  23615. 3: uint32(0x30000000),
  23616. 4: uint32(0x9702b011),
  23617. 5: uint32(0x113afb07),
  23618. 6: uint32(0x011303b0),
  23619. 7: uint32(0x00000021),
  23620. },
  23621. },
  23622. 215: {
  23623. Fmap1: [8]TFcChar32{
  23624. 0: uint32(0x3b0d1b00),
  23625. 1: uint32(0x03b01138),
  23626. 2: uint32(0x11330113),
  23627. 3: uint32(0x13000001),
  23628. 4: uint32(0x111c2b05),
  23629. 5: uint32(0x00000100),
  23630. 6: uint32(0xb0111000),
  23631. 7: uint32(0x2a011300),
  23632. },
  23633. },
  23634. 216: {
  23635. Fmap1: [8]TFcChar32{
  23636. 0: uint32(0x02b01930),
  23637. 1: uint32(0x10100001),
  23638. 2: uint32(0x11000000),
  23639. 3: uint32(0x10300301),
  23640. 4: uint32(0x07130230),
  23641. 5: uint32(0x0011146b),
  23642. 6: uint32(0x2b051300),
  23643. 7: uint32(0x8fb8f974),
  23644. },
  23645. },
  23646. 217: {
  23647. Fmap1: [8]TFcChar32{
  23648. 0: uint32(0x103b0113),
  23649. 2: uint32(0xd9700000),
  23650. 3: uint32(0x01134ab0),
  23651. 4: uint32(0x0011103b),
  23652. 5: uint32(0x00001103),
  23653. 6: uint32(0x2ab15930),
  23654. 7: uint32(0x10000111),
  23655. },
  23656. },
  23657. 218: {
  23658. Fmap1: [8]TFcChar32{
  23659. 0: uint32(0x11010000),
  23660. 1: uint32(0x00100b01),
  23661. 2: uint32(0x01130000),
  23662. 3: uint32(0x0000102b),
  23663. 4: uint32(0x20000101),
  23664. 5: uint32(0x02a01110),
  23665. 6: uint32(0x30210111),
  23666. 7: uint32(0x0102b059),
  23667. },
  23668. },
  23669. 219: {
  23670. Fmap1: [8]TFcChar32{
  23671. 0: uint32(0x19300000),
  23672. 1: uint32(0x011307b0),
  23673. 2: uint32(0xb011383b),
  23674. 3: uint32(0x00000003),
  23675. 5: uint32(0x383b0d13),
  23676. 6: uint32(0x0103b011),
  23677. 7: uint32(0x00001000),
  23678. },
  23679. },
  23680. 220: {
  23681. Fmap1: [8]TFcChar32{
  23682. 0: uint32(0x01130000),
  23683. 1: uint32(0x00101020),
  23684. 2: uint32(0x00000100),
  23685. 3: uint32(0x00000110),
  23686. 4: uint32(0x30000000),
  23687. 5: uint32(0x00021811),
  23688. 6: uint32(0x00100000),
  23689. 7: uint32(0x01110000),
  23690. },
  23691. },
  23692. 221: {
  23693. Fmap1: [8]TFcChar32{
  23694. 0: uint32(0x00000023),
  23695. 1: uint32(0x0b019300),
  23696. 2: uint32(0x00301110),
  23697. 3: uint32(0x302b0111),
  23698. 4: uint32(0x13c7b011),
  23699. 5: uint32(0x01303b01),
  23700. 6: uint32(0x00000280),
  23701. 7: uint32(0xb0113000),
  23702. },
  23703. },
  23704. 222: {
  23705. Fmap1: [8]TFcChar32{
  23706. 0: uint32(0x2b011383),
  23707. 1: uint32(0x03b01130),
  23708. 2: uint32(0x300a0011),
  23709. 3: uint32(0x1102b011),
  23710. 4: uint32(0x00002000),
  23711. 5: uint32(0x01110100),
  23712. 6: uint32(0xa011102b),
  23713. 7: uint32(0x2b011302),
  23714. },
  23715. },
  23716. 223: {
  23717. Fmap1: [8]TFcChar32{
  23718. 0: uint32(0x01000010),
  23719. 1: uint32(0x30000001),
  23720. 2: uint32(0x13029011),
  23721. 3: uint32(0x11302b01),
  23722. 4: uint32(0x000066b0),
  23723. 5: uint32(0xb0113000),
  23724. 6: uint32(0x6b07d302),
  23725. 7: uint32(0x07b0113a),
  23726. },
  23727. },
  23728. 224: {
  23729. Fmap1: [8]TFcChar32{
  23730. 0: uint32(0x00200103),
  23731. 1: uint32(0x13000000),
  23732. 2: uint32(0x11386b05),
  23733. 3: uint32(0x011303b0),
  23734. 4: uint32(0x000010b8),
  23735. 5: uint32(0x2b051b00),
  23736. 6: uint32(0x03000110),
  23737. 7: uint32(0x10000000),
  23738. },
  23739. },
  23740. 225: {
  23741. Fmap1: [8]TFcChar32{
  23742. 0: uint32(0x1102a011),
  23743. 1: uint32(0x79700a01),
  23744. 2: uint32(0x0111a2b0),
  23745. 3: uint32(0x0000100a),
  23746. 4: uint32(0x00011100),
  23747. 5: uint32(0x00901110),
  23748. 6: uint32(0x00090111),
  23749. 7: uint32(0x93000000),
  23750. },
  23751. },
  23752. 226: {
  23753. Fmap1: [8]TFcChar32{
  23754. 0: uint32(0xf9f2bb05),
  23755. 1: uint32(0x011322b0),
  23756. 2: uint32(0x2001323b),
  23757. 4: uint32(0x06b05930),
  23758. 5: uint32(0x303b0193),
  23759. 6: uint32(0x1123a011),
  23760. 7: uint32(0x11700000),
  23761. },
  23762. },
  23763. 227: {
  23764. Fmap1: [8]TFcChar32{
  23765. 0: uint32(0x001102b0),
  23766. 1: uint32(0x00001010),
  23767. 2: uint32(0x03011301),
  23768. 3: uint32(0x00000110),
  23769. 4: uint32(0x162b0793),
  23770. 5: uint32(0x01010010),
  23771. 6: uint32(0x11300000),
  23772. 7: uint32(0x01110200),
  23773. },
  23774. },
  23775. 228: {
  23776. Fmap1: [8]TFcChar32{
  23777. 0: uint32(0xb0113029),
  23778. 2: uint32(0x0eb05130),
  23779. 3: uint32(0x383b0513),
  23780. 4: uint32(0x0303b011),
  23781. 5: uint32(0x00000100),
  23782. 6: uint32(0x01930000),
  23783. 7: uint32(0x00001039),
  23784. },
  23785. },
  23786. 229: {
  23787. Fmap1: [8]TFcChar32{
  23788. 0: uint32(0x3b000302),
  23789. 2: uint32(0x00230113),
  23790. 4: uint32(0x00100000),
  23791. 5: uint32(0x00010000),
  23792. 6: uint32(0x90113020),
  23793. 7: uint32(0x00000002),
  23794. },
  23795. },
  23796. 230: {
  23797. Fmap1: [8]TFcChar32{
  23798. 1: uint32(0x10000000),
  23799. 2: uint32(0x11020000),
  23800. 3: uint32(0x00000301),
  23801. 4: uint32(0x01130000),
  23802. 5: uint32(0xb079b02b),
  23803. 6: uint32(0x3b011323),
  23804. 7: uint32(0x02b01130),
  23805. },
  23806. },
  23807. 231: {
  23808. Fmap1: [8]TFcChar32{
  23809. 0: uint32(0xf0210111),
  23810. 1: uint32(0x1343b0d9),
  23811. 2: uint32(0x11303b01),
  23812. 3: uint32(0x011103b0),
  23813. 4: uint32(0xb0517020),
  23814. 5: uint32(0x20011322),
  23815. 6: uint32(0x01901110),
  23816. 7: uint32(0x300b0111),
  23817. },
  23818. },
  23819. 232: {
  23820. Fmap1: [8]TFcChar32{
  23821. 0: uint32(0x9302b011),
  23822. 1: uint32(0x0016ab01),
  23823. 2: uint32(0x01130100),
  23824. 3: uint32(0xb0113021),
  23825. 4: uint32(0x29010302),
  23826. 5: uint32(0x02b03130),
  23827. 6: uint32(0x30000000),
  23828. 7: uint32(0x1b42b819),
  23829. },
  23830. },
  23831. 233: {
  23832. Fmap1: [8]TFcChar32{
  23833. 0: uint32(0x11383301),
  23834. 1: uint32(0x00000330),
  23835. 2: uint32(0x00000020),
  23836. 3: uint32(0x33051300),
  23837. 4: uint32(0x00001110),
  23838. 6: uint32(0x93000000),
  23839. 7: uint32(0x01302305),
  23840. },
  23841. },
  23842. 234: {
  23843. Fmap1: [8]TFcChar32{
  23844. 0: uint32(0x00010100),
  23845. 1: uint32(0x30111010),
  23846. 2: uint32(0x00000100),
  23847. 3: uint32(0x02301130),
  23848. 4: uint32(0x10100001),
  23849. 5: uint32(0x11000000),
  23850. 7: uint32(0x85130200),
  23851. },
  23852. },
  23853. 235: {
  23854. Fmap1: [8]TFcChar32{
  23855. 0: uint32(0x10111003),
  23856. 1: uint32(0x2b011300),
  23857. 2: uint32(0x63b87730),
  23858. 3: uint32(0x303b0113),
  23859. 4: uint32(0x11a2b091),
  23860. 5: uint32(0x7b300201),
  23861. 6: uint32(0x011357f0),
  23862. 7: uint32(0xf0d1702b),
  23863. },
  23864. },
  23865. 236: {
  23866. Fmap1: [8]TFcChar32{
  23867. 0: uint32(0x1b0111e3),
  23868. 1: uint32(0x0ab97130),
  23869. 2: uint32(0x303b0113),
  23870. 3: uint32(0x13029001),
  23871. 4: uint32(0x11302b01),
  23872. 5: uint32(0x071302b0),
  23873. 6: uint32(0x3011302b),
  23874. 7: uint32(0x23011303),
  23875. },
  23876. },
  23877. 237: {
  23878. Fmap1: [8]TFcChar32{
  23879. 0: uint32(0x02b01130),
  23880. 1: uint32(0x30ab0113),
  23881. 2: uint32(0x11feb411),
  23882. 3: uint32(0x71300901),
  23883. 4: uint32(0x05d347b8),
  23884. 5: uint32(0xb011307b),
  23885. 6: uint32(0x21015303),
  23886. 7: uint32(0x00001110),
  23887. },
  23888. },
  23889. 238: {
  23890. Fmap1: [8]TFcChar32{
  23891. 0: uint32(0x306b0513),
  23892. 1: uint32(0x1102b011),
  23893. 2: uint32(0x00103301),
  23894. 3: uint32(0x05130000),
  23895. 4: uint32(0xa01038eb),
  23896. 5: uint32(0x30000102),
  23897. 6: uint32(0x02b01110),
  23898. 7: uint32(0x30200013),
  23899. },
  23900. },
  23901. 239: {
  23902. Fmap1: [8]TFcChar32{
  23903. 0: uint32(0x0102b071),
  23904. 1: uint32(0x00101000),
  23905. 2: uint32(0x01130000),
  23906. 3: uint32(0x1011100b),
  23907. 4: uint32(0x2b011300),
  23908. 6: uint32(0x366b0593),
  23909. 7: uint32(0x1303b095),
  23910. },
  23911. },
  23912. 240: {
  23913. Fmap1: [8]TFcChar32{
  23914. 0: uint32(0x01103b01),
  23915. 1: uint32(0x00000200),
  23916. 2: uint32(0xb0113000),
  23917. 3: uint32(0x20000103),
  23918. 4: uint32(0x01000010),
  23919. 5: uint32(0x30000000),
  23920. 6: uint32(0x030ab011),
  23921. 7: uint32(0x00101001),
  23922. },
  23923. },
  23924. 241: {
  23925. Fmap1: [8]TFcChar32{
  23926. 0: uint32(0x01110100),
  23927. 1: uint32(0x00000003),
  23928. 2: uint32(0x23011302),
  23929. 3: uint32(0x03000010),
  23930. 4: uint32(0x10000000),
  23931. 5: uint32(0x01000000),
  23932. 6: uint32(0x00100000),
  23933. 7: uint32(0x00000290),
  23934. },
  23935. },
  23936. 242: {
  23937. Fmap1: [8]TFcChar32{
  23938. 0: uint32(0x30113000),
  23939. 1: uint32(0x7b015386),
  23940. 2: uint32(0x03b01130),
  23941. 3: uint32(0x00210151),
  23942. 4: uint32(0x13000000),
  23943. 5: uint32(0x11303b01),
  23944. 6: uint32(0x001102b0),
  23945. 7: uint32(0x00011010),
  23946. },
  23947. },
  23948. 243: {
  23949. Fmap1: [8]TFcChar32{
  23950. 0: uint32(0x2b011302),
  23951. 1: uint32(0x02001110),
  23952. 2: uint32(0x10000000),
  23953. 3: uint32(0x0102b011),
  23954. 4: uint32(0x11300100),
  23955. 5: uint32(0x000102b0),
  23956. 6: uint32(0x00011010),
  23957. 7: uint32(0x2b011100),
  23958. },
  23959. },
  23960. 244: {
  23961. Fmap1: [8]TFcChar32{
  23962. 0: uint32(0x02101110),
  23963. 1: uint32(0x002b0113),
  23964. 2: uint32(0x93000000),
  23965. 3: uint32(0x11302b03),
  23966. 4: uint32(0x011302b0),
  23967. 5: uint32(0x0000303b),
  23968. 6: uint32(0x00000002),
  23969. 7: uint32(0x03b01930),
  23970. },
  23971. },
  23972. 245: {
  23973. Fmap1: [8]TFcChar32{
  23974. 0: uint32(0x102b0113),
  23975. 1: uint32(0x0103b011),
  23976. 2: uint32(0x11300000),
  23977. 3: uint32(0x011302b0),
  23978. 4: uint32(0x00001021),
  23979. 5: uint32(0x00010102),
  23980. 6: uint32(0x00000010),
  23981. 7: uint32(0x102b0113),
  23982. },
  23983. },
  23984. 246: {
  23985. Fmap1: [8]TFcChar32{
  23986. 0: uint32(0x01020011),
  23987. 1: uint32(0x11302000),
  23988. 2: uint32(0x011102b0),
  23989. 3: uint32(0x30113001),
  23990. 4: uint32(0x00000002),
  23991. 5: uint32(0x02b01130),
  23992. 6: uint32(0x303b0313),
  23993. 7: uint32(0x0103b011),
  23994. },
  23995. },
  23996. 247: {
  23997. Fmap1: [8]TFcChar32{
  23998. 0: uint32(0x00002000),
  23999. 1: uint32(0x05130000),
  24000. 2: uint32(0xb011303b),
  24001. 3: uint32(0x10001102),
  24002. 4: uint32(0x00000110),
  24003. 5: uint32(0x142b0113),
  24004. 6: uint32(0x01000001),
  24005. 7: uint32(0x01100000),
  24006. },
  24007. },
  24008. 248: {
  24009. Fmap1: [8]TFcChar32{
  24010. 0: uint32(0x00010280),
  24011. 1: uint32(0xb0113000),
  24012. 2: uint32(0x10000102),
  24013. 3: uint32(0x00000010),
  24014. 4: uint32(0x10230113),
  24015. 5: uint32(0x93021011),
  24016. 6: uint32(0x11100b05),
  24017. 7: uint32(0x01130030),
  24018. },
  24019. },
  24020. 249: {
  24021. Fmap1: [8]TFcChar32{
  24022. 0: uint32(0xb051702b),
  24023. 1: uint32(0x3b011323),
  24024. 2: uint32(0x00000030),
  24025. 3: uint32(0x30000000),
  24026. 4: uint32(0x1303b011),
  24027. 5: uint32(0x11102b01),
  24028. 6: uint32(0x01010330),
  24029. 7: uint32(0xb011300a),
  24030. },
  24031. },
  24032. 250: {
  24033. Fmap1: [8]TFcChar32{
  24034. 0: uint32(0x20000102),
  24035. 2: uint32(0x10000011),
  24036. 3: uint32(0x9300a011),
  24037. 4: uint32(0x00102b05),
  24038. 5: uint32(0x00000200),
  24039. 6: uint32(0x90111000),
  24040. 7: uint32(0x29011100),
  24041. },
  24042. },
  24043. 251: {
  24044. Fmap1: [8]TFcChar32{
  24045. 0: uint32(0x00b01110),
  24046. 1: uint32(0x30000000),
  24047. 2: uint32(0x1302b011),
  24048. 3: uint32(0x11302b21),
  24049. 4: uint32(0x000103b0),
  24050. 5: uint32(0x00000020),
  24051. 6: uint32(0x2b051300),
  24052. 7: uint32(0x02b01130),
  24053. },
  24054. },
  24055. 252: {
  24056. Fmap1: [8]TFcChar32{
  24057. 0: uint32(0x103b0113),
  24058. 1: uint32(0x13002011),
  24059. 2: uint32(0x11322b21),
  24060. 3: uint32(0x00130280),
  24061. 4: uint32(0xa0113028),
  24062. 5: uint32(0x0a011102),
  24063. 6: uint32(0x02921130),
  24064. 7: uint32(0x30210111),
  24065. },
  24066. },
  24067. 253: {
  24068. Fmap1: [8]TFcChar32{
  24069. 0: uint32(0x13020011),
  24070. 1: uint32(0x11302b01),
  24071. 2: uint32(0x03d30290),
  24072. 3: uint32(0x3011122b),
  24073. 4: uint32(0x2b011302),
  24074. },
  24075. },
  24076. 254: {
  24077. Fmap1: [8]TFcChar32{
  24078. 4: uint32(0x00004000),
  24079. 6: uint32(0x20000000),
  24080. },
  24081. },
  24082. 255: {
  24083. Fmap1: [8]TFcChar32{
  24084. 2: uint32(0x00003000),
  24085. },
  24086. },
  24087. 256: {
  24088. Fmap1: [8]TFcChar32{
  24089. 1: uint32(0x040001df),
  24090. 2: uint32(0x80800176),
  24091. 3: uint32(0x420c0000),
  24092. 4: uint32(0x01020140),
  24093. 5: uint32(0x44008200),
  24094. 6: uint32(0x00041018),
  24095. },
  24096. },
  24097. 257: {
  24098. Fmap1: [8]TFcChar32{
  24099. 0: uint32(0xffff0000),
  24100. 1: uint32(0xffff27bf),
  24101. 2: uint32(0x000027bf),
  24102. 5: uint32(0x0c000000),
  24103. 6: uint32(0x03000000),
  24104. 7: uint32(0x000000c0),
  24105. },
  24106. },
  24107. 258: {
  24108. Fmap1: [8]TFcChar32{
  24109. 0: uint32(0x3c000000),
  24110. },
  24111. },
  24112. 259: {
  24113. Fmap1: [8]TFcChar32{
  24114. 1: uint32(0x061ef5c0),
  24115. 2: uint32(0x000001f6),
  24116. 3: uint32(0x40000000),
  24117. 4: uint32(0x01040040),
  24118. 5: uint32(0x00208210),
  24119. 6: uint32(0x00005040),
  24120. },
  24121. },
  24122. 260: {
  24123. Fmap1: [8]TFcChar32{
  24124. 2: uint32(0x07fffffe),
  24125. 3: uint32(0x07fffffe),
  24126. 6: uint32(0x08004480),
  24127. 7: uint32(0x08004480),
  24128. },
  24129. },
  24130. 261: {
  24131. Fmap1: [8]TFcChar32{
  24132. 2: uint32(0xc0000000),
  24133. },
  24134. },
  24135. 262: {
  24136. Fmap1: [8]TFcChar32{
  24137. 0: uint32(0xffff0002),
  24138. 1: uint32(0xffffffff),
  24139. 2: uint32(0x0002ffff),
  24140. },
  24141. },
  24142. 263: {
  24143. Fmap1: [8]TFcChar32{
  24144. 0: uint32(0xffff0042),
  24145. 1: uint32(0xffffffff),
  24146. 2: uint32(0x0042ffff),
  24147. 7: uint32(0x000000c0),
  24148. },
  24149. },
  24150. 264: {
  24151. Fmap1: [8]TFcChar32{
  24152. 1: uint32(0x000c0000),
  24153. },
  24154. },
  24155. 265: {
  24156. Fmap1: [8]TFcChar32{
  24157. 0: uint32(0xffff0002),
  24158. 1: uint32(0xffffffff),
  24159. 2: uint32(0x0002ffff),
  24160. 5: uint32(0x0000c00c),
  24161. },
  24162. },
  24163. 266: {
  24164. Fmap1: [8]TFcChar32{
  24165. 0: uint32(0x000c0003),
  24166. 1: uint32(0x00003c00),
  24167. 2: uint32(0x0000f000),
  24168. 3: uint32(0x00003c00),
  24169. },
  24170. },
  24171. 267: {
  24172. Fmap1: [8]TFcChar32{
  24173. 1: uint32(0x040001de),
  24174. 2: uint32(0x00000176),
  24175. 3: uint32(0x42000000),
  24176. 4: uint32(0x01020140),
  24177. 5: uint32(0x44008200),
  24178. 6: uint32(0x00041008),
  24179. },
  24180. },
  24181. 268: {
  24182. Fmap1: [8]TFcChar32{
  24183. 2: uint32(0x07fffffe),
  24184. 3: uint32(0x07fffffe),
  24185. 6: uint32(0x98504f14),
  24186. 7: uint32(0x18504f14),
  24187. },
  24188. },
  24189. 269: {
  24190. Fmap1: [8]TFcChar32{
  24191. 2: uint32(0x00000c00),
  24192. },
  24193. },
  24194. 270: {
  24195. Fmap1: [8]TFcChar32{
  24196. 2: uint32(0x07fffffe),
  24197. 3: uint32(0x07fffffe),
  24198. 6: uint32(0x00480910),
  24199. 7: uint32(0x00480910),
  24200. },
  24201. },
  24202. 271: {
  24203. Fmap1: [8]TFcChar32{
  24204. 2: uint32(0x07fffffe),
  24205. 3: uint32(0x07fffffe),
  24206. 6: uint32(0x0c186606),
  24207. 7: uint32(0x0c186606),
  24208. },
  24209. },
  24210. 272: {
  24211. Fmap1: [8]TFcChar32{
  24212. 0: uint32(0x0c000000),
  24213. 4: uint32(0x00010040),
  24214. },
  24215. },
  24216. 273: {
  24217. Fmap1: [8]TFcChar32{
  24218. 0: uint32(0x00001006),
  24219. },
  24220. },
  24221. 274: {
  24222. Fmap1: [8]TFcChar32{
  24223. 4: uint32(0xfef02596),
  24224. 5: uint32(0x3bffecae),
  24225. 6: uint32(0x30003f5f),
  24226. },
  24227. },
  24228. 275: {
  24229. Fmap1: [8]TFcChar32{
  24230. 0: uint32(0x03c03030),
  24231. 1: uint32(0x0000c000),
  24232. 3: uint32(0x600c0c03),
  24233. },
  24234. },
  24235. 276: {
  24236. Fmap1: [8]TFcChar32{
  24237. 0: uint32(0x000c3003),
  24238. 1: uint32(0x18c00c0c),
  24239. 2: uint32(0x00c03060),
  24240. 3: uint32(0x60000c03),
  24241. },
  24242. },
  24243. 277: {
  24244. Fmap1: [8]TFcChar32{
  24245. 2: uint32(0x07fffffe),
  24246. 3: uint32(0x07fffffe),
  24247. 6: uint32(0x00100002),
  24248. 7: uint32(0x00100002),
  24249. },
  24250. },
  24251. 278: {
  24252. Fmap1: [8]TFcChar32{
  24253. 0: uint32(0x00000003),
  24254. 1: uint32(0x18000000),
  24255. 2: uint32(0x00003060),
  24256. 3: uint32(0x00000c00),
  24257. },
  24258. },
  24259. 279: {
  24260. Fmap1: [8]TFcChar32{
  24261. 1: uint32(0x00300000),
  24262. },
  24263. },
  24264. 280: {
  24265. Fmap1: [8]TFcChar32{
  24266. 0: uint32(0xfdffb729),
  24267. 1: uint32(0x000001ff),
  24268. 2: uint32(0xb7290000),
  24269. },
  24270. },
  24271. 281: {
  24272. Fmap1: [8]TFcChar32{
  24273. 0: uint32(0xfffddfec),
  24274. 1: uint32(0xc3fffdff),
  24275. 2: uint32(0x00803dcf),
  24276. 3: uint32(0x00000003),
  24277. },
  24278. },
  24279. 282: {
  24280. Fmap1: [8]TFcChar32{
  24281. 1: uint32(0xffffffff),
  24282. 2: uint32(0xffffffff),
  24283. 3: uint32(0x00ffffff),
  24284. 4: uint32(0xffffffff),
  24285. 5: uint32(0x000003ff),
  24286. },
  24287. },
  24288. 283: {
  24289. Fmap1: [8]TFcChar32{
  24290. 0: uint32(0xffff0002),
  24291. 1: uint32(0xffffffff),
  24292. 2: uint32(0x0002ffff),
  24293. 5: uint32(0x0000c000),
  24294. 7: uint32(0x00000300),
  24295. },
  24296. },
  24297. 284: {
  24298. Fmap1: [8]TFcChar32{
  24299. 3: uint32(0x00000010),
  24300. 4: uint32(0xfff99fee),
  24301. 5: uint32(0xf3c5fdff),
  24302. 6: uint32(0xb000798f),
  24303. 7: uint32(0x0002ffc0),
  24304. },
  24305. },
  24306. 285: {
  24307. Fmap1: [8]TFcChar32{
  24308. 2: uint32(0x07fffffe),
  24309. 3: uint32(0x07fffffe),
  24310. 6: uint32(0x00004004),
  24311. 7: uint32(0x00004004),
  24312. },
  24313. },
  24314. 286: {
  24315. Fmap1: [8]TFcChar32{
  24316. 0: uint32(0x0f000000),
  24317. },
  24318. },
  24319. 287: {
  24320. Fmap1: [8]TFcChar32{
  24321. 2: uint32(0x07fffffe),
  24322. 3: uint32(0x07fffffe),
  24323. 6: uint32(0x02045101),
  24324. 7: uint32(0x02045101),
  24325. },
  24326. },
  24327. 288: {
  24328. Fmap1: [8]TFcChar32{
  24329. 0: uint32(0x00000c00),
  24330. 1: uint32(0x000000c3),
  24331. 3: uint32(0x18000000),
  24332. },
  24333. },
  24334. 289: {
  24335. Fmap1: [8]TFcChar32{
  24336. 0: uint32(0xffffffff),
  24337. 1: uint32(0x0007f6fb),
  24338. },
  24339. },
  24340. 290: {
  24341. Fmap1: [8]TFcChar32{
  24342. 3: uint32(0x00000300),
  24343. },
  24344. },
  24345. 291: {
  24346. Fmap1: [8]TFcChar32{
  24347. 2: uint32(0x07fffffe),
  24348. 3: uint32(0x07fffffe),
  24349. 6: uint32(0x011c0661),
  24350. 7: uint32(0x011c0661),
  24351. },
  24352. },
  24353. 292: {
  24354. Fmap1: [8]TFcChar32{
  24355. 0: uint32(0xfff98fee),
  24356. 1: uint32(0xc3e5fdff),
  24357. 2: uint32(0x0001398f),
  24358. 3: uint32(0x0001fff0),
  24359. },
  24360. },
  24361. 293: {
  24362. Fmap1: [8]TFcChar32{
  24363. 2: uint32(0x07fffffe),
  24364. 3: uint32(0x07fffffe),
  24365. 6: uint32(0x1c58af16),
  24366. 7: uint32(0x1c58af16),
  24367. },
  24368. },
  24369. 294: {
  24370. Fmap1: [8]TFcChar32{
  24371. 2: uint32(0x07fffffe),
  24372. 3: uint32(0x07fffffe),
  24373. 6: uint32(0x115c0671),
  24374. 7: uint32(0x115c0671),
  24375. },
  24376. },
  24377. 295: {
  24378. Fmap1: [8]TFcChar32{
  24379. 6: uint32(0xffffffff),
  24380. 7: uint32(0x07ffffff),
  24381. },
  24382. },
  24383. 296: {
  24384. Fmap1: [8]TFcChar32{
  24385. 2: uint32(0x07fffffe),
  24386. 3: uint32(0x07fffffe),
  24387. 6: uint32(0x00100400),
  24388. 7: uint32(0x00100400),
  24389. },
  24390. },
  24391. 297: {
  24392. Fmap1: [8]TFcChar32{
  24393. 3: uint32(0x00000003),
  24394. },
  24395. },
  24396. 298: {
  24397. Fmap1: [8]TFcChar32{
  24398. 2: uint32(0x07fffffe),
  24399. 3: uint32(0x07fffffe),
  24400. 6: uint32(0x00082202),
  24401. 7: uint32(0x00082202),
  24402. },
  24403. },
  24404. 299: {
  24405. Fmap1: [8]TFcChar32{
  24406. 0: uint32(0x03000030),
  24407. 1: uint32(0x0000c000),
  24408. 2: uint32(0x00000006),
  24409. 7: uint32(0x00000c00),
  24410. },
  24411. },
  24412. 300: {
  24413. Fmap1: [8]TFcChar32{
  24414. 5: uint32(0x10000000),
  24415. },
  24416. },
  24417. 301: {
  24418. Fmap1: [8]TFcChar32{
  24419. 0: uint32(0x00000002),
  24420. },
  24421. },
  24422. 302: {
  24423. Fmap1: [8]TFcChar32{
  24424. 3: uint32(0x00300000),
  24425. },
  24426. },
  24427. 303: {
  24428. Fmap1: [8]TFcChar32{
  24429. 2: uint32(0x07fffffe),
  24430. 3: uint32(0x07fffffe),
  24431. 6: uint32(0x040c2383),
  24432. 7: uint32(0x040c2383),
  24433. },
  24434. },
  24435. 304: {
  24436. Fmap1: [8]TFcChar32{
  24437. 0: uint32(0xfff99fee),
  24438. 1: uint32(0xf3cdfdff),
  24439. 2: uint32(0xb0c0398f),
  24440. 3: uint32(0x00000003),
  24441. },
  24442. },
  24443. 305: {
  24444. Fmap1: [8]TFcChar32{
  24445. 1: uint32(0x07ffffc6),
  24446. 2: uint32(0x000001fe),
  24447. 3: uint32(0x40000000),
  24448. 4: uint32(0x01000040),
  24449. 5: uint32(0x0000a000),
  24450. 6: uint32(0x00001000),
  24451. },
  24452. },
  24453. 306: {
  24454. Fmap1: [8]TFcChar32{
  24455. 0: uint32(0xfff987e0),
  24456. 1: uint32(0xd36dfdff),
  24457. 2: uint32(0x1e003987),
  24458. 3: uint32(0x001f0000),
  24459. },
  24460. },
  24461. 307: {
  24462. Fmap1: [8]TFcChar32{
  24463. 2: uint32(0x07fffffe),
  24464. 3: uint32(0x07fffffe),
  24465. 6: uint32(0x160e2302),
  24466. 7: uint32(0x160e2302),
  24467. },
  24468. },
  24469. 308: {
  24470. Fmap1: [8]TFcChar32{
  24471. 2: uint32(0x07fffffe),
  24472. 3: uint32(0x07fffffe),
  24473. 6: uint32(0x00020000),
  24474. 7: uint32(0x00020000),
  24475. },
  24476. },
  24477. 309: {
  24478. Fmap1: [8]TFcChar32{
  24479. 0: uint32(0x030000f0),
  24480. 2: uint32(0x0c00001e),
  24481. 3: uint32(0x1e000000),
  24482. },
  24483. },
  24484. 310: {
  24485. Fmap1: [8]TFcChar32{
  24486. 1: uint32(0x07ffffde),
  24487. 2: uint32(0x000005f6),
  24488. 3: uint32(0x50000000),
  24489. 4: uint32(0x05480262),
  24490. 5: uint32(0x10000a00),
  24491. 6: uint32(0x00013000),
  24492. },
  24493. },
  24494. 311: {
  24495. Fmap1: [8]TFcChar32{
  24496. 1: uint32(0x07ffffde),
  24497. 2: uint32(0x000005f6),
  24498. 3: uint32(0x50000000),
  24499. 4: uint32(0x05480262),
  24500. 5: uint32(0x10000a00),
  24501. 6: uint32(0x00052000),
  24502. },
  24503. },
  24504. 312: {
  24505. Fmap1: [8]TFcChar32{
  24506. 2: uint32(0x07fffffe),
  24507. 3: uint32(0x07fffffe),
  24508. 6: uint32(0x143c278f),
  24509. 7: uint32(0x143c278f),
  24510. },
  24511. },
  24512. 313: {
  24513. Fmap1: [8]TFcChar32{
  24514. 6: uint32(0x00000100),
  24515. },
  24516. },
  24517. 314: {
  24518. Fmap1: [8]TFcChar32{
  24519. 2: uint32(0x07fffffe),
  24520. 3: uint32(0x07fffffe),
  24521. 6: uint32(0x02045301),
  24522. 7: uint32(0x02045301),
  24523. },
  24524. },
  24525. 315: {
  24526. Fmap1: [8]TFcChar32{
  24527. 0: uint32(0xffff0002),
  24528. 1: uint32(0xffffffff),
  24529. 2: uint32(0x0002ffff),
  24530. 4: uint32(0x00300000),
  24531. 5: uint32(0x0c00c030),
  24532. 6: uint32(0x03000000),
  24533. },
  24534. },
  24535. 316: {
  24536. Fmap1: [8]TFcChar32{
  24537. 0: uint32(0xfff987ee),
  24538. 1: uint32(0xf325fdff),
  24539. 2: uint32(0x00013987),
  24540. 3: uint32(0x0001fff0),
  24541. },
  24542. },
  24543. 317: {
  24544. Fmap1: [8]TFcChar32{
  24545. 2: uint32(0x07fffffe),
  24546. 3: uint32(0x07fffffe),
  24547. 6: uint32(0x02041101),
  24548. 7: uint32(0x02041101),
  24549. },
  24550. },
  24551. 318: {
  24552. Fmap1: [8]TFcChar32{
  24553. 5: uint32(0x00800000),
  24554. },
  24555. },
  24556. 319: {
  24557. Fmap1: [8]TFcChar32{
  24558. 0: uint32(0x30000000),
  24559. 4: uint32(0x00040000),
  24560. },
  24561. },
  24562. 320: {
  24563. Fmap1: [8]TFcChar32{
  24564. 1: uint32(0x07fffdd6),
  24565. 2: uint32(0x000005f6),
  24566. 3: uint32(0xec000000),
  24567. 4: uint32(0x0200b4d9),
  24568. 5: uint32(0x480a8640),
  24569. },
  24570. },
  24571. 321: {
  24572. Fmap1: [8]TFcChar32{
  24573. 2: uint32(0x07fffffe),
  24574. 3: uint32(0x07fffffe),
  24575. 6: uint32(0x00000002),
  24576. 7: uint32(0x00000002),
  24577. },
  24578. },
  24579. 322: {
  24580. Fmap1: [8]TFcChar32{
  24581. 0: uint32(0x00033000),
  24582. 2: uint32(0x00000c00),
  24583. 3: uint32(0x600000c3),
  24584. },
  24585. },
  24586. 323: {
  24587. Fmap1: [8]TFcChar32{
  24588. 2: uint32(0x07fffffe),
  24589. 3: uint32(0x07fffffe),
  24590. 6: uint32(0x1850cc14),
  24591. 7: uint32(0x1850cc14),
  24592. },
  24593. },
  24594. 324: {
  24595. Fmap1: [8]TFcChar32{
  24596. 0: uint32(0xffff8f04),
  24597. 1: uint32(0xffffffff),
  24598. 2: uint32(0x8f04ffff),
  24599. 4: uint32(0x030c0000),
  24600. 5: uint32(0x0c00cc0f),
  24601. 6: uint32(0x03000000),
  24602. 7: uint32(0x00000300),
  24603. },
  24604. },
  24605. 325: {
  24606. Fmap1: [8]TFcChar32{
  24607. 1: uint32(0x00800000),
  24608. 2: uint32(0x03bffbaa),
  24609. 3: uint32(0x03bffbaa),
  24610. 6: uint32(0x00002202),
  24611. 7: uint32(0x00002202),
  24612. },
  24613. },
  24614. 326: {
  24615. Fmap1: [8]TFcChar32{
  24616. 0: uint32(0x00080000),
  24617. },
  24618. },
  24619. 327: {
  24620. Fmap1: [8]TFcChar32{
  24621. 4: uint32(0xfc7e3fec),
  24622. 5: uint32(0x2ffbffbf),
  24623. 6: uint32(0x7f5f847f),
  24624. 7: uint32(0x00040000),
  24625. },
  24626. },
  24627. 328: {
  24628. Fmap1: [8]TFcChar32{
  24629. 0: uint32(0xff7fff7f),
  24630. 1: uint32(0xff01ff7f),
  24631. 2: uint32(0x3d7f3d7f),
  24632. 3: uint32(0xffff7fff),
  24633. 4: uint32(0xffff3d7f),
  24634. 5: uint32(0x003d7fff),
  24635. 6: uint32(0xff7f7f3d),
  24636. 7: uint32(0x00ff7fff),
  24637. },
  24638. },
  24639. 329: {
  24640. Fmap1: [8]TFcChar32{
  24641. 2: uint32(0x07fffffe),
  24642. 3: uint32(0x07fffffe),
  24643. 6: uint32(0x24182212),
  24644. 7: uint32(0x24182212),
  24645. },
  24646. },
  24647. 330: {
  24648. Fmap1: [8]TFcChar32{
  24649. 0: uint32(0x0000f000),
  24650. 1: uint32(0x66000000),
  24651. 2: uint32(0x00300180),
  24652. 3: uint32(0x60000033),
  24653. },
  24654. },
  24655. 331: {
  24656. Fmap1: [8]TFcChar32{
  24657. 2: uint32(0x07fffffe),
  24658. 3: uint32(0x07fffffe),
  24659. 6: uint32(0x00408030),
  24660. 7: uint32(0x00408030),
  24661. },
  24662. },
  24663. 332: {
  24664. Fmap1: [8]TFcChar32{
  24665. 2: uint32(0x07fffffe),
  24666. 3: uint32(0x07fffffe),
  24667. 6: uint32(0x00020032),
  24668. 7: uint32(0x00020032),
  24669. },
  24670. },
  24671. 333: {
  24672. Fmap1: [8]TFcChar32{
  24673. 2: uint32(0x07fffffe),
  24674. 3: uint32(0x07fffffe),
  24675. 6: uint32(0x00000016),
  24676. 7: uint32(0x00000016),
  24677. },
  24678. },
  24679. 334: {
  24680. Fmap1: [8]TFcChar32{
  24681. 0: uint32(0x00033000),
  24682. 2: uint32(0x00000c00),
  24683. 3: uint32(0x60000003),
  24684. },
  24685. },
  24686. 335: {
  24687. Fmap1: [8]TFcChar32{
  24688. 2: uint32(0x07fffffe),
  24689. 3: uint32(0x07fffffe),
  24690. 6: uint32(0x00200034),
  24691. 7: uint32(0x00200034),
  24692. },
  24693. },
  24694. 336: {
  24695. Fmap1: [8]TFcChar32{
  24696. 0: uint32(0x00033000),
  24697. 2: uint32(0x00000c00),
  24698. 3: uint32(0x60000003),
  24699. 5: uint32(0x00800000),
  24700. 7: uint32(0x0000c3f0),
  24701. },
  24702. },
  24703. 337: {
  24704. Fmap1: [8]TFcChar32{
  24705. 4: uint32(0x00040000),
  24706. },
  24707. },
  24708. 338: {
  24709. Fmap1: [8]TFcChar32{
  24710. 2: uint32(0x07fffffe),
  24711. 3: uint32(0x07fffffe),
  24712. 6: uint32(0x00000880),
  24713. 7: uint32(0x00000880),
  24714. },
  24715. },
  24716. 339: {
  24717. Fmap1: [8]TFcChar32{
  24718. 0: uint32(0xfdff8f04),
  24719. 1: uint32(0xfdff01ff),
  24720. 2: uint32(0x8f0401ff),
  24721. },
  24722. },
  24723. 340: {
  24724. Fmap1: [8]TFcChar32{
  24725. 2: uint32(0x07fffffe),
  24726. 3: uint32(0x07fffffe),
  24727. 6: uint32(0x10400a33),
  24728. 7: uint32(0x10400a33),
  24729. },
  24730. },
  24731. 341: {
  24732. Fmap1: [8]TFcChar32{
  24733. 0: uint32(0xffff0000),
  24734. 1: uint32(0xffff1fff),
  24735. },
  24736. },
  24737. 342: {
  24738. Fmap1: [8]TFcChar32{
  24739. 4: uint32(0xd63dc7e8),
  24740. 5: uint32(0xc3bfc718),
  24741. 6: uint32(0x00803dc7),
  24742. },
  24743. },
  24744. 343: {
  24745. Fmap1: [8]TFcChar32{
  24746. 0: uint32(0xfffddfee),
  24747. 1: uint32(0xc3effdff),
  24748. 2: uint32(0x00603ddf),
  24749. 3: uint32(0x00000003),
  24750. },
  24751. },
  24752. 344: {
  24753. Fmap1: [8]TFcChar32{
  24754. 0: uint32(0xffff0002),
  24755. 1: uint32(0xffffffff),
  24756. 2: uint32(0x0002ffff),
  24757. 4: uint32(0x0c0c0000),
  24758. 5: uint32(0x00cc0000),
  24759. 7: uint32(0x0000c00c),
  24760. },
  24761. },
  24762. 345: {
  24763. Fmap1: [8]TFcChar32{
  24764. 0: uint32(0xfffffffe),
  24765. 1: uint32(0x87ffffff),
  24766. 2: uint32(0x00007fff),
  24767. },
  24768. },
  24769. 346: {
  24770. Fmap1: [8]TFcChar32{
  24771. 0: uint32(0xff7fff7f),
  24772. 1: uint32(0xff01ff00),
  24773. 2: uint32(0x00003d7f),
  24774. 3: uint32(0xffff7fff),
  24775. 4: uint32(0x00ff0000),
  24776. 5: uint32(0x003d7f7f),
  24777. 6: uint32(0xff7f7f00),
  24778. 7: uint32(0x00ff7f00),
  24779. },
  24780. },
  24781. 347: {
  24782. Fmap1: [8]TFcChar32{
  24783. 2: uint32(0x07fffffe),
  24784. 3: uint32(0x07fffffe),
  24785. 6: uint32(0x30400090),
  24786. 7: uint32(0x30400090),
  24787. },
  24788. },
  24789. 348: {
  24790. Fmap1: [8]TFcChar32{
  24791. 2: uint32(0xc0000180),
  24792. 3: uint32(0x60000000),
  24793. },
  24794. },
  24795. 349: {
  24796. Fmap1: [8]TFcChar32{
  24797. 2: uint32(0x07fffffe),
  24798. 3: uint32(0x07fffffe),
  24799. 6: uint32(0x18404084),
  24800. 7: uint32(0x18404084),
  24801. },
  24802. },
  24803. 350: {
  24804. Fmap1: [8]TFcChar32{
  24805. 0: uint32(0xffff0002),
  24806. 1: uint32(0xffffffff),
  24807. 2: uint32(0x0002ffff),
  24808. 4: uint32(0x00c00000),
  24809. 5: uint32(0x0c00c00c),
  24810. 6: uint32(0x03000000),
  24811. },
  24812. },
  24813. 351: {
  24814. Fmap1: [8]TFcChar32{
  24815. 2: uint32(0x07fffffe),
  24816. 3: uint32(0x07fffffe),
  24817. 6: uint32(0x00008000),
  24818. 7: uint32(0x00008000),
  24819. },
  24820. },
  24821. 352: {
  24822. Fmap1: [8]TFcChar32{
  24823. 1: uint32(0x041ed5c0),
  24824. 2: uint32(0x0000077e),
  24825. 3: uint32(0x40000000),
  24826. 4: uint32(0x01000040),
  24827. 5: uint32(0x4000a000),
  24828. 6: uint32(0x002109c0),
  24829. },
  24830. },
  24831. 353: {
  24832. Fmap1: [8]TFcChar32{
  24833. 0: uint32(0xffff00d0),
  24834. 1: uint32(0xffffffff),
  24835. 2: uint32(0x00d0ffff),
  24836. 4: uint32(0x00030000),
  24837. },
  24838. },
  24839. 354: {
  24840. Fmap1: [8]TFcChar32{
  24841. 1: uint32(0xffffff7b),
  24842. 2: uint32(0x7fffffff),
  24843. 3: uint32(0x7ffffffe),
  24844. 5: uint32(0x80e310fe),
  24845. 6: uint32(0x00800000),
  24846. 7: uint32(0x00800000),
  24847. },
  24848. },
  24849. 355: {
  24850. Fmap1: [8]TFcChar32{
  24851. 1: uint32(0x00020000),
  24852. },
  24853. },
  24854. 356: {
  24855. Fmap1: [8]TFcChar32{
  24856. 0: uint32(0x00001500),
  24857. 1: uint32(0x01000000),
  24858. 4: uint32(0xfffe0000),
  24859. 5: uint32(0xfffe03db),
  24860. 6: uint32(0x006003fb),
  24861. 7: uint32(0x00030000),
  24862. },
  24863. },
  24864. 357: {
  24865. Fmap1: [8]TFcChar32{
  24866. 0: uint32(0x00400000),
  24867. 1: uint32(0x00000047),
  24868. 2: uint32(0x00800010),
  24869. 7: uint32(0x00000002),
  24870. },
  24871. },
  24872. 358: {
  24873. Fmap1: [8]TFcChar32{
  24874. 0: uint32(0x3f2fc004),
  24875. 1: uint32(0x00000010),
  24876. },
  24877. },
  24878. 359: {
  24879. Fmap1: [8]TFcChar32{
  24880. 0: uint32(0xe3ffbfff),
  24881. 1: uint32(0xfff007ff),
  24882. 2: uint32(0x00000001),
  24883. 4: uint32(0xfffff000),
  24884. 5: uint32(0x0000003f),
  24885. 6: uint32(0x0000e10f),
  24886. },
  24887. },
  24888. 360: {
  24889. Fmap1: [8]TFcChar32{
  24890. 0: uint32(0x00000f00),
  24891. 1: uint32(0x0000000c),
  24892. },
  24893. },
  24894. 361: {
  24895. Fmap1: [8]TFcChar32{
  24896. 5: uint32(0x00000003),
  24897. },
  24898. },
  24899. 362: {
  24900. Fmap1: [8]TFcChar32{
  24901. 7: uint32(0x000003c0),
  24902. },
  24903. },
  24904. 363: {
  24905. Fmap1: [8]TFcChar32{
  24906. 0: uint32(0xffffffff),
  24907. 1: uint32(0xffffffff),
  24908. 2: uint32(0xffdfffff),
  24909. 3: uint32(0xffffffff),
  24910. 4: uint32(0xdfffffff),
  24911. 5: uint32(0x00001e64),
  24912. },
  24913. },
  24914. 364: {
  24915. Fmap1: [8]TFcChar32{
  24916. 1: uint32(0x78000000),
  24917. 2: uint32(0x0001fc5f),
  24918. },
  24919. },
  24920. 365: {
  24921. Fmap1: [8]TFcChar32{
  24922. 5: uint32(0x00000030),
  24923. },
  24924. },
  24925. 366: {
  24926. Fmap1: [8]TFcChar32{
  24927. 0: uint32(0x0c000000),
  24928. 7: uint32(0x00091e00),
  24929. },
  24930. },
  24931. 367: {
  24932. Fmap1: [8]TFcChar32{
  24933. 7: uint32(0x60000000),
  24934. },
  24935. },
  24936. 368: {
  24937. Fmap1: [8]TFcChar32{
  24938. 0: uint32(0x00300000),
  24939. 2: uint32(0x000fff00),
  24940. 3: uint32(0x80000000),
  24941. 4: uint32(0x00080000),
  24942. 5: uint32(0x60000c02),
  24943. 6: uint32(0x00104030),
  24944. 7: uint32(0x242c0400),
  24945. },
  24946. },
  24947. 369: {
  24948. Fmap1: [8]TFcChar32{
  24949. 0: uint32(0x00000c20),
  24950. 1: uint32(0x00000100),
  24951. 2: uint32(0x00b85000),
  24952. 4: uint32(0x00e00000),
  24953. 5: uint32(0x80010000),
  24954. },
  24955. },
  24956. 370: {
  24957. Fmap1: [8]TFcChar32{
  24958. 0: uint32(0x18000000),
  24959. 2: uint32(0x00210000),
  24960. },
  24961. },
  24962. 371: {
  24963. Fmap1: [8]TFcChar32{
  24964. 0: uint32(0x00000010),
  24965. 6: uint32(0x00008000),
  24966. },
  24967. },
  24968. 372: {
  24969. Fmap1: [8]TFcChar32{
  24970. 4: uint32(0x07fe4000),
  24971. 7: uint32(0xffffffc0),
  24972. },
  24973. },
  24974. 373: {
  24975. Fmap1: [8]TFcChar32{
  24976. 0: uint32(0x04000002),
  24977. 1: uint32(0x077c8000),
  24978. 2: uint32(0x00030000),
  24979. },
  24980. },
  24981. 374: {
  24982. Fmap1: [8]TFcChar32{
  24983. 0: uint32(0xffffffff),
  24984. 1: uint32(0xffbf0001),
  24985. 2: uint32(0xffffffff),
  24986. 3: uint32(0x1fffffff),
  24987. 4: uint32(0x000fffff),
  24988. 5: uint32(0xffffffff),
  24989. 6: uint32(0x000007df),
  24990. 7: uint32(0x0001ffff),
  24991. },
  24992. },
  24993. 375: {
  24994. Fmap1: [8]TFcChar32{
  24995. 2: uint32(0xfffffffd),
  24996. 3: uint32(0xffffffff),
  24997. 4: uint32(0xffffffff),
  24998. 5: uint32(0xffffffff),
  24999. 6: uint32(0xffffffff),
  25000. 7: uint32(0x1effffff),
  25001. },
  25002. },
  25003. 376: {
  25004. Fmap1: [8]TFcChar32{
  25005. 0: uint32(0xffffffff),
  25006. 1: uint32(0x3fffffff),
  25007. 2: uint32(0xffff0000),
  25008. 3: uint32(0x000000ff),
  25009. 7: uint32(0xf8000000),
  25010. },
  25011. },
  25012. 377: {
  25013. Fmap1: [8]TFcChar32{
  25014. 0: uint32(0x755dfffe),
  25015. 1: uint32(0xffef2f3f),
  25016. 2: uint32(0x0000ffe1),
  25017. },
  25018. },
  25019. 378: {
  25020. Fmap1: [8]TFcChar32{
  25021. 0: uint32(0x000c0000),
  25022. 1: uint32(0x30000000),
  25023. 2: uint32(0x00000c30),
  25024. 3: uint32(0x00030000),
  25025. },
  25026. },
  25027. 379: {
  25028. Fmap1: [8]TFcChar32{
  25029. 2: uint32(0x07fffffe),
  25030. 3: uint32(0x07fffffe),
  25031. 6: uint32(0x263c370f),
  25032. 7: uint32(0x263c370f),
  25033. },
  25034. },
  25035. 380: {
  25036. Fmap1: [8]TFcChar32{
  25037. 0: uint32(0x0003000c),
  25038. 1: uint32(0x00000300),
  25039. 3: uint32(0x00000300),
  25040. 5: uint32(0x00018003),
  25041. },
  25042. },
  25043. 381: {
  25044. Fmap1: [8]TFcChar32{
  25045. 0: uint32(0x0800024f),
  25046. 1: uint32(0x00000008),
  25047. },
  25048. },
  25049. 382: {
  25050. Fmap1: [8]TFcChar32{
  25051. 5: uint32(0xffffffff),
  25052. 6: uint32(0xffffffff),
  25053. 7: uint32(0x03ffffff),
  25054. },
  25055. },
  25056. 383: {
  25057. Fmap1: [8]TFcChar32{
  25058. 2: uint32(0x077dfffe),
  25059. 3: uint32(0x077dfffe),
  25060. 6: uint32(0x10400010),
  25061. 7: uint32(0x10400010),
  25062. },
  25063. },
  25064. 384: {
  25065. Fmap1: [8]TFcChar32{
  25066. 2: uint32(0x07fffffe),
  25067. 3: uint32(0x07fffffe),
  25068. 6: uint32(0x10400010),
  25069. 7: uint32(0x10400010),
  25070. },
  25071. },
  25072. 385: {
  25073. Fmap1: [8]TFcChar32{
  25074. 2: uint32(0x07fffffe),
  25075. 3: uint32(0x07fffffe),
  25076. 6: uint32(0x081047a4),
  25077. 7: uint32(0x081047a4),
  25078. },
  25079. },
  25080. 386: {
  25081. Fmap1: [8]TFcChar32{
  25082. 0: uint32(0x0c0030c0),
  25083. 2: uint32(0x0f30001e),
  25084. 3: uint32(0x66000003),
  25085. },
  25086. },
  25087. 387: {
  25088. Fmap1: [8]TFcChar32{
  25089. 2: uint32(0x07fffffe),
  25090. 3: uint32(0x07fffffe),
  25091. 6: uint32(0x000a0a09),
  25092. 7: uint32(0x000a0a09),
  25093. },
  25094. },
  25095. 388: {
  25096. Fmap1: [8]TFcChar32{
  25097. 2: uint32(0x07fffffe),
  25098. 3: uint32(0x07fffffe),
  25099. 6: uint32(0x00400810),
  25100. 7: uint32(0x00400810),
  25101. },
  25102. },
  25103. 389: {
  25104. Fmap1: [8]TFcChar32{
  25105. 2: uint32(0x07fffffe),
  25106. 3: uint32(0x07fffffe),
  25107. 6: uint32(0x0e3c770f),
  25108. 7: uint32(0x0e3c770f),
  25109. },
  25110. },
  25111. 390: {
  25112. Fmap1: [8]TFcChar32{
  25113. 0: uint32(0x0c000000),
  25114. 1: uint32(0x00000300),
  25115. 2: uint32(0x00000018),
  25116. 3: uint32(0x00000300),
  25117. 6: uint32(0x001fe000),
  25118. 7: uint32(0x03000000),
  25119. },
  25120. },
  25121. 391: {
  25122. Fmap1: [8]TFcChar32{
  25123. 0: uint32(0x0000100f),
  25124. },
  25125. },
  25126. 392: {
  25127. Fmap1: [8]TFcChar32{
  25128. 1: uint32(0xc0000000),
  25129. 3: uint32(0x0000000c),
  25130. 5: uint32(0x33000000),
  25131. 6: uint32(0x00003000),
  25132. },
  25133. },
  25134. 393: {
  25135. Fmap1: [8]TFcChar32{
  25136. 6: uint32(0x00000280),
  25137. },
  25138. },
  25139. 394: {
  25140. Fmap1: [8]TFcChar32{
  25141. 0: uint32(0x7f7b7f8b),
  25142. 1: uint32(0xef553db4),
  25143. 2: uint32(0xf35dfba8),
  25144. 3: uint32(0x400b0243),
  25145. 4: uint32(0x8d3efb40),
  25146. 5: uint32(0x8c2c7bf7),
  25147. 6: uint32(0xe3fa6eff),
  25148. 7: uint32(0xa8ed1d3a),
  25149. },
  25150. },
  25151. 395: {
  25152. Fmap1: [8]TFcChar32{
  25153. 0: uint32(0xcf83e602),
  25154. 1: uint32(0x35558cf5),
  25155. 2: uint32(0xffabe048),
  25156. 3: uint32(0xd85992b9),
  25157. 4: uint32(0x2892ab18),
  25158. 5: uint32(0x8020d7e9),
  25159. 6: uint32(0xf583c438),
  25160. 7: uint32(0x450ae74a),
  25161. },
  25162. },
  25163. 396: {
  25164. Fmap1: [8]TFcChar32{
  25165. 0: uint32(0x9714b000),
  25166. 1: uint32(0x54007762),
  25167. 2: uint32(0x1420d188),
  25168. 3: uint32(0xc8c01020),
  25169. 4: uint32(0x00002121),
  25170. 5: uint32(0x0c0413a8),
  25171. 6: uint32(0x04408000),
  25172. 7: uint32(0x082870c0),
  25173. },
  25174. },
  25175. 397: {
  25176. Fmap1: [8]TFcChar32{
  25177. 0: uint32(0x000408c0),
  25178. 1: uint32(0x80000002),
  25179. 2: uint32(0x14722b7b),
  25180. 3: uint32(0x3bfb7924),
  25181. 4: uint32(0x1ae43327),
  25182. 5: uint32(0x38ef9835),
  25183. 6: uint32(0x28029ad1),
  25184. 7: uint32(0xbf69a813),
  25185. },
  25186. },
  25187. 398: {
  25188. Fmap1: [8]TFcChar32{
  25189. 0: uint32(0x2fc665cf),
  25190. 1: uint32(0xafc96b11),
  25191. 2: uint32(0x5053340f),
  25192. 3: uint32(0xa00486a2),
  25193. 4: uint32(0xe8090106),
  25194. 5: uint32(0xc00e3f0f),
  25195. 6: uint32(0x81450a88),
  25196. 7: uint32(0xc6010010),
  25197. },
  25198. },
  25199. 399: {
  25200. Fmap1: [8]TFcChar32{
  25201. 0: uint32(0x26e1a161),
  25202. 1: uint32(0xce00444b),
  25203. 2: uint32(0xd4eec7aa),
  25204. 3: uint32(0x85bbcadf),
  25205. 4: uint32(0xa5203a74),
  25206. 5: uint32(0x8840436c),
  25207. 6: uint32(0x8bd23f06),
  25208. 7: uint32(0x3befff79),
  25209. },
  25210. },
  25211. 400: {
  25212. Fmap1: [8]TFcChar32{
  25213. 0: uint32(0xe8eff75a),
  25214. 1: uint32(0x5b36fbcb),
  25215. 2: uint32(0x1bfd0d49),
  25216. 3: uint32(0x39ee0154),
  25217. 4: uint32(0x2e75d855),
  25218. 5: uint32(0xa91abfd8),
  25219. 6: uint32(0xf6bff3d7),
  25220. 7: uint32(0xb40c67e0),
  25221. },
  25222. },
  25223. 401: {
  25224. Fmap1: [8]TFcChar32{
  25225. 0: uint32(0x081382c2),
  25226. 1: uint32(0xd08bd49d),
  25227. 2: uint32(0x1061065a),
  25228. 3: uint32(0x59e074f2),
  25229. 4: uint32(0xb3128f9f),
  25230. 5: uint32(0x6aaa0080),
  25231. 6: uint32(0xb05e3230),
  25232. 7: uint32(0x60ac9d7a),
  25233. },
  25234. },
  25235. 402: {
  25236. Fmap1: [8]TFcChar32{
  25237. 0: uint32(0xc900d303),
  25238. 1: uint32(0x8a563098),
  25239. 2: uint32(0x13907000),
  25240. 3: uint32(0x18421f14),
  25241. 4: uint32(0x0008c060),
  25242. 5: uint32(0x10808008),
  25243. 6: uint32(0xec900400),
  25244. 7: uint32(0xe6332817),
  25245. },
  25246. },
  25247. 403: {
  25248. Fmap1: [8]TFcChar32{
  25249. 0: uint32(0x90000758),
  25250. 1: uint32(0x4e09f708),
  25251. 2: uint32(0xfc83f485),
  25252. 3: uint32(0x18c8af53),
  25253. 4: uint32(0x080c187c),
  25254. 5: uint32(0x01146adf),
  25255. 6: uint32(0xa734c80c),
  25256. 7: uint32(0x2710a011),
  25257. },
  25258. },
  25259. 404: {
  25260. Fmap1: [8]TFcChar32{
  25261. 0: uint32(0x422228c5),
  25262. 1: uint32(0x00210413),
  25263. 2: uint32(0x41123010),
  25264. 3: uint32(0x40001820),
  25265. 4: uint32(0xc60c022b),
  25266. 5: uint32(0x10000300),
  25267. 6: uint32(0x00220022),
  25268. 7: uint32(0x02495810),
  25269. },
  25270. },
  25271. 405: {
  25272. Fmap1: [8]TFcChar32{
  25273. 0: uint32(0x9670a094),
  25274. 1: uint32(0x1792eeb0),
  25275. 2: uint32(0x05f2cb96),
  25276. 3: uint32(0x23580025),
  25277. 4: uint32(0x42cc25de),
  25278. 5: uint32(0x4a04cf38),
  25279. 6: uint32(0x359f0c40),
  25280. 7: uint32(0x8a001128),
  25281. },
  25282. },
  25283. 406: {
  25284. Fmap1: [8]TFcChar32{
  25285. 0: uint32(0x910a13fa),
  25286. 1: uint32(0x10560229),
  25287. 2: uint32(0x04200641),
  25288. 3: uint32(0x84f00484),
  25289. 4: uint32(0x0c040000),
  25290. 5: uint32(0x412c0400),
  25291. 6: uint32(0x11541206),
  25292. 7: uint32(0x00020a4b),
  25293. },
  25294. },
  25295. 407: {
  25296. Fmap1: [8]TFcChar32{
  25297. 0: uint32(0x00c00200),
  25298. 1: uint32(0x00940000),
  25299. 2: uint32(0xbfbb0001),
  25300. 3: uint32(0x242b167c),
  25301. 4: uint32(0x7fa89bbb),
  25302. 5: uint32(0xe3790c7f),
  25303. 6: uint32(0xe00d10f4),
  25304. 7: uint32(0x9f014132),
  25305. },
  25306. },
  25307. 408: {
  25308. Fmap1: [8]TFcChar32{
  25309. 0: uint32(0x35728652),
  25310. 1: uint32(0xff1210b4),
  25311. 2: uint32(0x4223cf27),
  25312. 3: uint32(0x8602c06b),
  25313. 4: uint32(0x1fd33106),
  25314. 5: uint32(0xa1aa3a0c),
  25315. 6: uint32(0x02040812),
  25316. 7: uint32(0x08012572),
  25317. },
  25318. },
  25319. 409: {
  25320. Fmap1: [8]TFcChar32{
  25321. 0: uint32(0x485040cc),
  25322. 1: uint32(0x601062d0),
  25323. 2: uint32(0x29001c80),
  25324. 3: uint32(0x00109a00),
  25325. 4: uint32(0x22000004),
  25326. 5: uint32(0x00800000),
  25327. 6: uint32(0x68002020),
  25328. 7: uint32(0x609ecbe6),
  25329. },
  25330. },
  25331. 410: {
  25332. Fmap1: [8]TFcChar32{
  25333. 0: uint32(0x3f73916e),
  25334. 1: uint32(0x398260c0),
  25335. 2: uint32(0x48301034),
  25336. 3: uint32(0xbd5c0006),
  25337. 4: uint32(0xd6fb8cd1),
  25338. 5: uint32(0x43e820e1),
  25339. 6: uint32(0x084e0600),
  25340. 7: uint32(0xc4d00500),
  25341. },
  25342. },
  25343. 411: {
  25344. Fmap1: [8]TFcChar32{
  25345. 0: uint32(0x89aa8d1f),
  25346. 1: uint32(0x1602a6e1),
  25347. 2: uint32(0x21ed0001),
  25348. 3: uint32(0x1a8b3656),
  25349. 4: uint32(0x13a51fb7),
  25350. 5: uint32(0x30a06502),
  25351. 6: uint32(0x23c7b278),
  25352. 7: uint32(0xe9226c93),
  25353. },
  25354. },
  25355. 412: {
  25356. Fmap1: [8]TFcChar32{
  25357. 0: uint32(0x3a74e47f),
  25358. 1: uint32(0x98208fe3),
  25359. 2: uint32(0x2625280e),
  25360. 3: uint32(0xbf49bf9c),
  25361. 4: uint32(0xac543218),
  25362. 5: uint32(0x1916b949),
  25363. 6: uint32(0xb5220c60),
  25364. 7: uint32(0x0659fbc1),
  25365. },
  25366. },
  25367. 413: {
  25368. Fmap1: [8]TFcChar32{
  25369. 0: uint32(0x8420e343),
  25370. 1: uint32(0x800008d9),
  25371. 2: uint32(0x20225500),
  25372. 3: uint32(0x00a10184),
  25373. 4: uint32(0x20104800),
  25374. 5: uint32(0x40801380),
  25375. 6: uint32(0x00160d04),
  25376. 7: uint32(0x80200040),
  25377. },
  25378. },
  25379. 414: {
  25380. Fmap1: [8]TFcChar32{
  25381. 0: uint32(0x8de7fd40),
  25382. 1: uint32(0xe0985436),
  25383. 2: uint32(0x091e7b8b),
  25384. 3: uint32(0xd249fec8),
  25385. 4: uint32(0x8dee0611),
  25386. 5: uint32(0xba221937),
  25387. 6: uint32(0x9fdd77f4),
  25388. 7: uint32(0xf0daf3ec),
  25389. },
  25390. },
  25391. 415: {
  25392. Fmap1: [8]TFcChar32{
  25393. 0: uint32(0xec424386),
  25394. 1: uint32(0x26048d3f),
  25395. 2: uint32(0xc021fa6c),
  25396. 3: uint32(0x0cc2628e),
  25397. 4: uint32(0x0145d785),
  25398. 5: uint32(0x559977ad),
  25399. 6: uint32(0x4045e250),
  25400. 7: uint32(0xa154260b),
  25401. },
  25402. },
  25403. 416: {
  25404. Fmap1: [8]TFcChar32{
  25405. 0: uint32(0x58199827),
  25406. 1: uint32(0xa4103443),
  25407. 2: uint32(0x411405f2),
  25408. 3: uint32(0x07002280),
  25409. 4: uint32(0x426600b4),
  25410. 5: uint32(0x15a17210),
  25411. 6: uint32(0x41856025),
  25412. 7: uint32(0x00000054),
  25413. },
  25414. },
  25415. 417: {
  25416. Fmap1: [8]TFcChar32{
  25417. 0: uint32(0x01040201),
  25418. 1: uint32(0xcb70c820),
  25419. 2: uint32(0x6a629320),
  25420. 3: uint32(0x0095184c),
  25421. 4: uint32(0x9a8b1880),
  25422. 5: uint32(0x3201aab2),
  25423. 6: uint32(0x00c4d87a),
  25424. 7: uint32(0x04c3f3e5),
  25425. },
  25426. },
  25427. 418: {
  25428. Fmap1: [8]TFcChar32{
  25429. 0: uint32(0xa238d44d),
  25430. 1: uint32(0x5072a1a1),
  25431. 2: uint32(0x84fc980a),
  25432. 3: uint32(0x44d1c152),
  25433. 4: uint32(0x20c21094),
  25434. 5: uint32(0x42104180),
  25435. 6: uint32(0x3a000000),
  25436. 7: uint32(0xd29d0240),
  25437. },
  25438. },
  25439. 419: {
  25440. Fmap1: [8]TFcChar32{
  25441. 0: uint32(0xa8b12f01),
  25442. 1: uint32(0x2432bd40),
  25443. 2: uint32(0xd04bd34d),
  25444. 3: uint32(0xd0ada723),
  25445. 4: uint32(0x75a10a92),
  25446. 5: uint32(0x01e9adac),
  25447. 6: uint32(0x771f801a),
  25448. 7: uint32(0xa01b9225),
  25449. },
  25450. },
  25451. 420: {
  25452. Fmap1: [8]TFcChar32{
  25453. 0: uint32(0x20cadfa1),
  25454. 1: uint32(0x738c0602),
  25455. 2: uint32(0x003b577f),
  25456. 3: uint32(0x00d00bff),
  25457. 4: uint32(0x0088806a),
  25458. 5: uint32(0x0029a1c4),
  25459. 6: uint32(0x05242a05),
  25460. 7: uint32(0x16234009),
  25461. },
  25462. },
  25463. 421: {
  25464. Fmap1: [8]TFcChar32{
  25465. 0: uint32(0x80056822),
  25466. 1: uint32(0xa2112011),
  25467. 2: uint32(0x64900004),
  25468. 3: uint32(0x13824849),
  25469. 4: uint32(0x193023d5),
  25470. 5: uint32(0x08922980),
  25471. 6: uint32(0x88115402),
  25472. 7: uint32(0xa0042001),
  25473. },
  25474. },
  25475. 422: {
  25476. Fmap1: [8]TFcChar32{
  25477. 0: uint32(0x81800400),
  25478. 1: uint32(0x60228502),
  25479. 2: uint32(0x0b010090),
  25480. 3: uint32(0x12020022),
  25481. 4: uint32(0x00834011),
  25482. 5: uint32(0x00001a01),
  25483. },
  25484. },
  25485. 423: {
  25486. Fmap1: [8]TFcChar32{
  25487. 1: uint32(0x4684009f),
  25488. 2: uint32(0x020012c8),
  25489. 3: uint32(0x1a0004fc),
  25490. 4: uint32(0x0c4c2ede),
  25491. 5: uint32(0x80b80402),
  25492. 6: uint32(0x0afca826),
  25493. 7: uint32(0x22288c02),
  25494. },
  25495. },
  25496. 424: {
  25497. Fmap1: [8]TFcChar32{
  25498. 0: uint32(0x8f7ba0e0),
  25499. 1: uint32(0x2135c7d6),
  25500. 2: uint32(0xf8b106c7),
  25501. 3: uint32(0x62550713),
  25502. 4: uint32(0x8a19936e),
  25503. 5: uint32(0xfb0e6efa),
  25504. 6: uint32(0x48f91630),
  25505. 7: uint32(0x7debcd2f),
  25506. },
  25507. },
  25508. 425: {
  25509. Fmap1: [8]TFcChar32{
  25510. 0: uint32(0x4e845892),
  25511. 1: uint32(0x7a2e4ca0),
  25512. 2: uint32(0x561eedea),
  25513. 3: uint32(0x1190c649),
  25514. 4: uint32(0xe83a5324),
  25515. 5: uint32(0x8124cfdb),
  25516. 6: uint32(0x634218f1),
  25517. 7: uint32(0x1a8a5853),
  25518. },
  25519. },
  25520. 426: {
  25521. Fmap1: [8]TFcChar32{
  25522. 0: uint32(0x24d37420),
  25523. 1: uint32(0x0514aa3b),
  25524. 2: uint32(0x89586018),
  25525. 3: uint32(0xc0004800),
  25526. 4: uint32(0x91018268),
  25527. 5: uint32(0x2cd684a4),
  25528. 6: uint32(0xc4ba8886),
  25529. 7: uint32(0x02100377),
  25530. },
  25531. },
  25532. 427: {
  25533. Fmap1: [8]TFcChar32{
  25534. 0: uint32(0x00388244),
  25535. 1: uint32(0x404aae11),
  25536. 2: uint32(0x510028c0),
  25537. 3: uint32(0x15146044),
  25538. 4: uint32(0x10007310),
  25539. 5: uint32(0x02480082),
  25540. 6: uint32(0x40060205),
  25541. 7: uint32(0x0000c003),
  25542. },
  25543. },
  25544. 428: {
  25545. Fmap1: [8]TFcChar32{
  25546. 0: uint32(0x0c020000),
  25547. 1: uint32(0x02200008),
  25548. 2: uint32(0x40009000),
  25549. 3: uint32(0xd161b800),
  25550. 4: uint32(0x32744621),
  25551. 5: uint32(0x3b8af800),
  25552. 6: uint32(0x8b00050f),
  25553. 7: uint32(0x2280bbd0),
  25554. },
  25555. },
  25556. 429: {
  25557. Fmap1: [8]TFcChar32{
  25558. 0: uint32(0x07690600),
  25559. 1: uint32(0x00438040),
  25560. 2: uint32(0x50005420),
  25561. 3: uint32(0x250c41d0),
  25562. 4: uint32(0x83108410),
  25563. 5: uint32(0x02281101),
  25564. 6: uint32(0x00304008),
  25565. 7: uint32(0x020040a1),
  25566. },
  25567. },
  25568. 430: {
  25569. Fmap1: [8]TFcChar32{
  25570. 0: uint32(0x20000040),
  25571. 1: uint32(0xabe31500),
  25572. 2: uint32(0xaa443180),
  25573. 3: uint32(0xc624c2c6),
  25574. 4: uint32(0x8004ac13),
  25575. 5: uint32(0x03d1b000),
  25576. 6: uint32(0x4285611e),
  25577. 7: uint32(0x1d9ff303),
  25578. },
  25579. },
  25580. 431: {
  25581. Fmap1: [8]TFcChar32{
  25582. 0: uint32(0x78e8440a),
  25583. 1: uint32(0xc3925e26),
  25584. 2: uint32(0x00852000),
  25585. 3: uint32(0x4000b001),
  25586. 4: uint32(0x88424a90),
  25587. 5: uint32(0x0c8dca04),
  25588. 6: uint32(0x4203a705),
  25589. 7: uint32(0x000422a1),
  25590. },
  25591. },
  25592. 432: {
  25593. Fmap1: [8]TFcChar32{
  25594. 0: uint32(0x0c018668),
  25595. 1: uint32(0x10795564),
  25596. 2: uint32(0xdea00002),
  25597. 3: uint32(0x40c12000),
  25598. 4: uint32(0x5001488b),
  25599. 5: uint32(0x04000380),
  25600. 6: uint32(0x50040000),
  25601. 7: uint32(0x80d0c05d),
  25602. },
  25603. },
  25604. 433: {
  25605. Fmap1: [8]TFcChar32{
  25606. 0: uint32(0x970aa010),
  25607. 1: uint32(0x4dafbb20),
  25608. 2: uint32(0x1e10d921),
  25609. 3: uint32(0x83140460),
  25610. 4: uint32(0xa6d68848),
  25611. 5: uint32(0x733fd83b),
  25612. 6: uint32(0x497427bc),
  25613. 7: uint32(0x92130ddc),
  25614. },
  25615. },
  25616. 434: {
  25617. Fmap1: [8]TFcChar32{
  25618. 0: uint32(0x8ba1142b),
  25619. 1: uint32(0xd1392e75),
  25620. 2: uint32(0x50503009),
  25621. 3: uint32(0x69008808),
  25622. 4: uint32(0x024a49d4),
  25623. 5: uint32(0x80164010),
  25624. 6: uint32(0x89d7e564),
  25625. 7: uint32(0x5316c020),
  25626. },
  25627. },
  25628. 435: {
  25629. Fmap1: [8]TFcChar32{
  25630. 0: uint32(0x86002b92),
  25631. 1: uint32(0x15e0a345),
  25632. 2: uint32(0x0c03008b),
  25633. 3: uint32(0xe200196e),
  25634. 4: uint32(0x80067031),
  25635. 5: uint32(0xa82916a5),
  25636. 6: uint32(0x18802000),
  25637. 7: uint32(0xe1487aac),
  25638. },
  25639. },
  25640. 436: {
  25641. Fmap1: [8]TFcChar32{
  25642. 0: uint32(0xb5d63207),
  25643. 1: uint32(0x5f9132e8),
  25644. 2: uint32(0x20e550a1),
  25645. 3: uint32(0x10807c00),
  25646. 4: uint32(0x9d8a7280),
  25647. 5: uint32(0x421f00aa),
  25648. 6: uint32(0x02310e22),
  25649. 7: uint32(0x04941100),
  25650. },
  25651. },
  25652. 437: {
  25653. Fmap1: [8]TFcChar32{
  25654. 0: uint32(0x40080022),
  25655. 1: uint32(0x5c100010),
  25656. 2: uint32(0xfcc80343),
  25657. 3: uint32(0x0580a1a5),
  25658. 4: uint32(0x04008433),
  25659. 5: uint32(0x6e080080),
  25660. 6: uint32(0x81262a4b),
  25661. 7: uint32(0x2901aad8),
  25662. },
  25663. },
  25664. 438: {
  25665. Fmap1: [8]TFcChar32{
  25666. 0: uint32(0x4490684d),
  25667. 1: uint32(0xba880009),
  25668. 2: uint32(0x00820040),
  25669. 3: uint32(0x87d10000),
  25670. 4: uint32(0xb1e6215b),
  25671. 5: uint32(0x80083161),
  25672. 6: uint32(0xc2400800),
  25673. 7: uint32(0xa600a069),
  25674. },
  25675. },
  25676. 439: {
  25677. Fmap1: [8]TFcChar32{
  25678. 0: uint32(0x4a328d58),
  25679. 1: uint32(0x550a5d71),
  25680. 2: uint32(0x2d579aa0),
  25681. 3: uint32(0x4aa64005),
  25682. 4: uint32(0x30b12021),
  25683. 5: uint32(0x01123fc6),
  25684. 6: uint32(0x260a10c2),
  25685. 7: uint32(0x50824462),
  25686. },
  25687. },
  25688. 440: {
  25689. Fmap1: [8]TFcChar32{
  25690. 0: uint32(0x80409880),
  25691. 1: uint32(0x810004c0),
  25692. 2: uint32(0x00002003),
  25693. 3: uint32(0x38180000),
  25694. 4: uint32(0xf1a60200),
  25695. 5: uint32(0x720e4434),
  25696. 6: uint32(0x92e035a2),
  25697. 7: uint32(0x09008101),
  25698. },
  25699. },
  25700. 441: {
  25701. Fmap1: [8]TFcChar32{
  25702. 0: uint32(0x00000400),
  25703. 1: uint32(0x00008885),
  25704. 3: uint32(0x00804000),
  25705. 5: uint32(0x00004040),
  25706. },
  25707. },
  25708. 442: {
  25709. Fmap1: [8]TFcChar32{
  25710. 1: uint32(0x08000000),
  25711. 2: uint32(0x00000082),
  25712. 4: uint32(0x88000004),
  25713. 5: uint32(0xe7efbfff),
  25714. 6: uint32(0xffbfffff),
  25715. 7: uint32(0xfdffefef),
  25716. },
  25717. },
  25718. 443: {
  25719. Fmap1: [8]TFcChar32{
  25720. 0: uint32(0xbffefbff),
  25721. 1: uint32(0x057fffff),
  25722. 2: uint32(0x85b30034),
  25723. 3: uint32(0x42164706),
  25724. 4: uint32(0xe4105402),
  25725. 5: uint32(0xb3058092),
  25726. 6: uint32(0x81305422),
  25727. 7: uint32(0x180b4263),
  25728. },
  25729. },
  25730. 444: {
  25731. Fmap1: [8]TFcChar32{
  25732. 0: uint32(0x13f5387b),
  25733. 1: uint32(0xa9ea07e5),
  25734. 2: uint32(0x05143c4c),
  25735. 3: uint32(0x80020600),
  25736. 4: uint32(0xbd481ad9),
  25737. 5: uint32(0xf496ee37),
  25738. 6: uint32(0x7ec0705f),
  25739. 7: uint32(0x355fbfb2),
  25740. },
  25741. },
  25742. 445: {
  25743. Fmap1: [8]TFcChar32{
  25744. 0: uint32(0x455fe644),
  25745. 1: uint32(0x41469000),
  25746. 2: uint32(0x063b1d40),
  25747. 3: uint32(0xfe1362a1),
  25748. 4: uint32(0x39028505),
  25749. 5: uint32(0x0c080548),
  25750. 6: uint32(0x0000144f),
  25751. 7: uint32(0x58183488),
  25752. },
  25753. },
  25754. 446: {
  25755. Fmap1: [8]TFcChar32{
  25756. 0: uint32(0xd8153077),
  25757. 1: uint32(0x4bfbbd0e),
  25758. 2: uint32(0x85008a90),
  25759. 3: uint32(0xe61dc100),
  25760. 4: uint32(0xb386ed14),
  25761. 5: uint32(0x639bff72),
  25762. 6: uint32(0xd9befd92),
  25763. 7: uint32(0x0a92887b),
  25764. },
  25765. },
  25766. 447: {
  25767. Fmap1: [8]TFcChar32{
  25768. 0: uint32(0x1cb2d3fe),
  25769. 1: uint32(0x177ab980),
  25770. 2: uint32(0xdc1782c9),
  25771. 3: uint32(0x3980fffb),
  25772. 4: uint32(0x590c4260),
  25773. 5: uint32(0x37df0f01),
  25774. 6: uint32(0xb15094a3),
  25775. 7: uint32(0x23070623),
  25776. },
  25777. },
  25778. 448: {
  25779. Fmap1: [8]TFcChar32{
  25780. 0: uint32(0x3102f85a),
  25781. 1: uint32(0x310201f0),
  25782. 2: uint32(0x1e820040),
  25783. 3: uint32(0x056a3a0a),
  25784. 4: uint32(0x12805b84),
  25785. 5: uint32(0xa7148002),
  25786. 6: uint32(0xa04b2612),
  25787. 7: uint32(0x90011069),
  25788. },
  25789. },
  25790. 449: {
  25791. Fmap1: [8]TFcChar32{
  25792. 0: uint32(0x848a1000),
  25793. 1: uint32(0x3f801802),
  25794. 2: uint32(0x42400708),
  25795. 3: uint32(0x4e140110),
  25796. 4: uint32(0x180080b0),
  25797. 5: uint32(0x0281c510),
  25798. 6: uint32(0x10298202),
  25799. 7: uint32(0x88000210),
  25800. },
  25801. },
  25802. 450: {
  25803. Fmap1: [8]TFcChar32{
  25804. 0: uint32(0x00420020),
  25805. 1: uint32(0x11000280),
  25806. 2: uint32(0x4413e000),
  25807. 3: uint32(0xfe025804),
  25808. 4: uint32(0x30283c07),
  25809. 5: uint32(0x04739798),
  25810. 6: uint32(0xcb13ced1),
  25811. 7: uint32(0x431f6210),
  25812. },
  25813. },
  25814. 451: {
  25815. Fmap1: [8]TFcChar32{
  25816. 0: uint32(0x55ac278d),
  25817. 1: uint32(0xc892422e),
  25818. 2: uint32(0x02885380),
  25819. 3: uint32(0x78514039),
  25820. 4: uint32(0x8088292c),
  25821. 5: uint32(0x2428b900),
  25822. 6: uint32(0x080e0c41),
  25823. 7: uint32(0x42004421),
  25824. },
  25825. },
  25826. 452: {
  25827. Fmap1: [8]TFcChar32{
  25828. 0: uint32(0x08680408),
  25829. 1: uint32(0x12040006),
  25830. 2: uint32(0x02903031),
  25831. 3: uint32(0xe0855b3e),
  25832. 4: uint32(0x10442936),
  25833. 5: uint32(0x10822814),
  25834. 6: uint32(0x83344266),
  25835. 7: uint32(0x531b013c),
  25836. },
  25837. },
  25838. 453: {
  25839. Fmap1: [8]TFcChar32{
  25840. 0: uint32(0x0e0d0404),
  25841. 1: uint32(0x00510c22),
  25842. 2: uint32(0xc0000012),
  25843. 3: uint32(0x88000040),
  25844. 4: uint32(0x0000004a),
  25845. 6: uint32(0x5447dff6),
  25846. 7: uint32(0x00088868),
  25847. },
  25848. },
  25849. 454: {
  25850. Fmap1: [8]TFcChar32{
  25851. 0: uint32(0x00000081),
  25852. 1: uint32(0x40000000),
  25853. 2: uint32(0x00000100),
  25854. 3: uint32(0x02000000),
  25855. 4: uint32(0x00080600),
  25856. },
  25857. },
  25858. 455: {
  25859. Fmap1: [8]TFcChar32{
  25860. 0: uint32(0x00000080),
  25861. 1: uint32(0x00000040),
  25862. 3: uint32(0x00001040),
  25863. 5: uint32(0xf7fdefff),
  25864. 6: uint32(0xfffeff7f),
  25865. 7: uint32(0xfffffbff),
  25866. },
  25867. },
  25868. 456: {
  25869. Fmap1: [8]TFcChar32{
  25870. 0: uint32(0xbffffdff),
  25871. 1: uint32(0x00ffffff),
  25872. 2: uint32(0x042012c2),
  25873. 3: uint32(0x07080c06),
  25874. 4: uint32(0x01101624),
  25875. },
  25876. },
  25877. 457: {
  25878. Fmap1: [8]TFcChar32{
  25879. 0: uint32(0xe0000000),
  25880. 1: uint32(0xfffffffe),
  25881. 2: uint32(0x7f79ffff),
  25882. 3: uint32(0x00f928df),
  25883. 4: uint32(0x80120c32),
  25884. 5: uint32(0xd53a0008),
  25885. 6: uint32(0xecc2d858),
  25886. 7: uint32(0x2fa89d18),
  25887. },
  25888. },
  25889. 458: {
  25890. Fmap1: [8]TFcChar32{
  25891. 0: uint32(0xe0109620),
  25892. 1: uint32(0x2622d60c),
  25893. 2: uint32(0x02060f97),
  25894. 3: uint32(0x9055b240),
  25895. 4: uint32(0x501180a2),
  25896. 5: uint32(0x04049800),
  25897. 6: uint32(0x00004000),
  25898. },
  25899. },
  25900. 459: {
  25901. Fmap1: [8]TFcChar32{
  25902. 3: uint32(0xfffffbc0),
  25903. 4: uint32(0xdffbeffe),
  25904. 5: uint32(0x62430b08),
  25905. 6: uint32(0xfb3b41b6),
  25906. 7: uint32(0x23896f74),
  25907. },
  25908. },
  25909. 460: {
  25910. Fmap1: [8]TFcChar32{
  25911. 0: uint32(0xecd7ae7f),
  25912. 1: uint32(0x5960e047),
  25913. 2: uint32(0x098fa096),
  25914. 3: uint32(0xa030612c),
  25915. 4: uint32(0x2aaa090d),
  25916. 5: uint32(0x4f7bd44e),
  25917. 6: uint32(0x388bc4b2),
  25918. 7: uint32(0x6110a9c6),
  25919. },
  25920. },
  25921. 461: {
  25922. Fmap1: [8]TFcChar32{
  25923. 0: uint32(0x42000014),
  25924. 1: uint32(0x0202800c),
  25925. 2: uint32(0x6485fe48),
  25926. 3: uint32(0xe3f7d63e),
  25927. 4: uint32(0x0c073aa0),
  25928. 5: uint32(0x0430e40c),
  25929. 6: uint32(0x1002f680),
  25930. },
  25931. },
  25932. 462: {
  25933. Fmap1: [8]TFcChar32{
  25934. 3: uint32(0x00100000),
  25935. 4: uint32(0x00004000),
  25936. 5: uint32(0x00004000),
  25937. 6: uint32(0x00000100),
  25938. },
  25939. },
  25940. 463: {
  25941. Fmap1: [8]TFcChar32{
  25942. 1: uint32(0x40000000),
  25943. 3: uint32(0x00000400),
  25944. 4: uint32(0x00008000),
  25945. 6: uint32(0x00400400),
  25946. },
  25947. },
  25948. 464: {
  25949. Fmap1: [8]TFcChar32{
  25950. 1: uint32(0x40000000),
  25951. 3: uint32(0x00000800),
  25952. 4: uint32(0xfebdffe0),
  25953. 5: uint32(0xffffffff),
  25954. 6: uint32(0xfbe77f7f),
  25955. 7: uint32(0xf7ffffbf),
  25956. },
  25957. },
  25958. 465: {
  25959. Fmap1: [8]TFcChar32{
  25960. 0: uint32(0xefffffff),
  25961. 1: uint32(0xdff7ff7e),
  25962. 2: uint32(0xfbdff6f7),
  25963. 3: uint32(0x804fbffe),
  25964. 7: uint32(0x7fffef00),
  25965. },
  25966. },
  25967. 466: {
  25968. Fmap1: [8]TFcChar32{
  25969. 0: uint32(0xb6f7ff7f),
  25970. 1: uint32(0xb87e4406),
  25971. 2: uint32(0x88313bf5),
  25972. 3: uint32(0x00f41796),
  25973. 4: uint32(0x1391a960),
  25974. 5: uint32(0x72490080),
  25975. 6: uint32(0x0024f2f3),
  25976. 7: uint32(0x42c88701),
  25977. },
  25978. },
  25979. 467: {
  25980. Fmap1: [8]TFcChar32{
  25981. 0: uint32(0x5048e3d3),
  25982. 1: uint32(0x43052400),
  25983. 2: uint32(0x4a4c0000),
  25984. 3: uint32(0x10580227),
  25985. 4: uint32(0x01162820),
  25986. 5: uint32(0x0014a809),
  25987. 7: uint32(0x00683ec0),
  25988. },
  25989. },
  25990. 468: {
  25991. Fmap1: [8]TFcChar32{
  25992. 3: uint32(0xffe00000),
  25993. 4: uint32(0xfddbb7ff),
  25994. 5: uint32(0x000000f7),
  25995. 6: uint32(0xc72e4000),
  25996. 7: uint32(0x00000180),
  25997. },
  25998. },
  25999. 469: {
  26000. Fmap1: [8]TFcChar32{
  26001. 0: uint32(0x00012000),
  26002. 1: uint32(0x00004000),
  26003. 2: uint32(0x00300000),
  26004. 3: uint32(0xb4f7ffa8),
  26005. 4: uint32(0x03ffadf3),
  26006. 5: uint32(0x00000120),
  26007. },
  26008. },
  26009. 470: {
  26010. Fmap1: [8]TFcChar32{
  26011. 3: uint32(0xfffbf000),
  26012. 4: uint32(0xfdcf9df7),
  26013. 5: uint32(0x15c301bf),
  26014. 6: uint32(0x810a1827),
  26015. 7: uint32(0x0a00a842),
  26016. },
  26017. },
  26018. 471: {
  26019. Fmap1: [8]TFcChar32{
  26020. 0: uint32(0x80088108),
  26021. 1: uint32(0x18048008),
  26022. 2: uint32(0x0012a3be),
  26023. },
  26024. },
  26025. 472: {
  26026. Fmap1: [8]TFcChar32{
  26027. 3: uint32(0x90000000),
  26028. 4: uint32(0xdc3769e6),
  26029. 5: uint32(0x3dff6bff),
  26030. 6: uint32(0xf3f9fcf8),
  26031. 7: uint32(0x00000004),
  26032. },
  26033. },
  26034. 473: {
  26035. Fmap1: [8]TFcChar32{
  26036. 0: uint32(0x80000000),
  26037. 1: uint32(0xe7eebf6f),
  26038. 2: uint32(0x5da2dffe),
  26039. 3: uint32(0xc00b3fd8),
  26040. 4: uint32(0xa00c0984),
  26041. 5: uint32(0x69100040),
  26042. 6: uint32(0xb912e210),
  26043. 7: uint32(0x5a0086a5),
  26044. },
  26045. },
  26046. 474: {
  26047. Fmap1: [8]TFcChar32{
  26048. 0: uint32(0x02896800),
  26049. 1: uint32(0x6a809005),
  26050. 2: uint32(0x00030010),
  26051. 3: uint32(0x80000000),
  26052. 4: uint32(0x8e001ff9),
  26053. 5: uint32(0x00000001),
  26054. },
  26055. },
  26056. 475: {
  26057. Fmap1: [8]TFcChar32{
  26058. 0: uint32(0x00000080),
  26059. },
  26060. },
  26061. 476: {
  26062. Fmap1: [8]TFcChar32{
  26063. 2: uint32(0x00001000),
  26064. 3: uint32(0x64080010),
  26065. 4: uint32(0x00480000),
  26066. 5: uint32(0x10000020),
  26067. 6: uint32(0x80000102),
  26068. 7: uint32(0x08000010),
  26069. },
  26070. },
  26071. 477: {
  26072. Fmap1: [8]TFcChar32{
  26073. 0: uint32(0x00000040),
  26074. 1: uint32(0x40000000),
  26075. 2: uint32(0x00020000),
  26076. 3: uint32(0x01852002),
  26077. 4: uint32(0x00800010),
  26078. 5: uint32(0x80002022),
  26079. 6: uint32(0x084444a2),
  26080. 7: uint32(0x480e0000),
  26081. },
  26082. },
  26083. 478: {
  26084. Fmap1: [8]TFcChar32{
  26085. 0: uint32(0x04000200),
  26086. 1: uint32(0x02202008),
  26087. 2: uint32(0x80004380),
  26088. 3: uint32(0x04000000),
  26089. 4: uint32(0x00000002),
  26090. 5: uint32(0x12231420),
  26091. 6: uint32(0x2058003a),
  26092. 7: uint32(0x00200060),
  26093. },
  26094. },
  26095. 479: {
  26096. Fmap1: [8]TFcChar32{
  26097. 0: uint32(0x10002508),
  26098. 1: uint32(0x040d0028),
  26099. 2: uint32(0x00000009),
  26100. 3: uint32(0x00008004),
  26101. 4: uint32(0x00800000),
  26102. 5: uint32(0x42000001),
  26103. 7: uint32(0x09040000),
  26104. },
  26105. },
  26106. 480: {
  26107. Fmap1: [8]TFcChar32{
  26108. 0: uint32(0x02008000),
  26109. 1: uint32(0x01402001),
  26110. 3: uint32(0x00000008),
  26111. 5: uint32(0x00000001),
  26112. 6: uint32(0x00021008),
  26113. 7: uint32(0x04000000),
  26114. },
  26115. },
  26116. 481: {
  26117. Fmap1: [8]TFcChar32{
  26118. 0: uint32(0x00100100),
  26119. 1: uint32(0x80040080),
  26120. 2: uint32(0x00002000),
  26121. 3: uint32(0x00000008),
  26122. 4: uint32(0x08040601),
  26123. 5: uint32(0x01000012),
  26124. 6: uint32(0x10000000),
  26125. 7: uint32(0x49001024),
  26126. },
  26127. },
  26128. 482: {
  26129. Fmap1: [8]TFcChar32{
  26130. 0: uint32(0x0180004a),
  26131. 1: uint32(0x00100600),
  26132. 2: uint32(0x50840800),
  26133. 3: uint32(0x000000c0),
  26134. 4: uint32(0x00800000),
  26135. 5: uint32(0x20000800),
  26136. 6: uint32(0x40000000),
  26137. 7: uint32(0x08050000),
  26138. },
  26139. },
  26140. 483: {
  26141. Fmap1: [8]TFcChar32{
  26142. 0: uint32(0x02004000),
  26143. 1: uint32(0x02000804),
  26144. 2: uint32(0x01000004),
  26145. 3: uint32(0x18060001),
  26146. 4: uint32(0x02400001),
  26147. 5: uint32(0x40000002),
  26148. 6: uint32(0x20800014),
  26149. 7: uint32(0x000c1000),
  26150. },
  26151. },
  26152. 484: {
  26153. Fmap1: [8]TFcChar32{
  26154. 0: uint32(0x00222000),
  26155. 2: uint32(0x00100000),
  26156. 6: uint32(0x10422800),
  26157. 7: uint32(0x00000800),
  26158. },
  26159. },
  26160. 485: {
  26161. Fmap1: [8]TFcChar32{
  26162. 0: uint32(0x20080000),
  26163. 1: uint32(0x00040000),
  26164. 2: uint32(0x80025040),
  26165. 3: uint32(0x20208604),
  26166. 4: uint32(0x00028020),
  26167. 5: uint32(0x80102020),
  26168. 6: uint32(0x080820c0),
  26169. 7: uint32(0x10880800),
  26170. },
  26171. },
  26172. 486: {
  26173. Fmap1: [8]TFcChar32{
  26174. 2: uint32(0x00200109),
  26175. 3: uint32(0x00100000),
  26176. 5: uint32(0x81022700),
  26177. 6: uint32(0x40c21404),
  26178. 7: uint32(0x84010882),
  26179. },
  26180. },
  26181. 487: {
  26182. Fmap1: [8]TFcChar32{
  26183. 0: uint32(0x00004010),
  26184. 2: uint32(0x03000000),
  26185. 3: uint32(0x00000008),
  26186. 4: uint32(0x00080000),
  26187. 6: uint32(0x10800001),
  26188. 7: uint32(0x06002020),
  26189. },
  26190. },
  26191. 488: {
  26192. Fmap1: [8]TFcChar32{
  26193. 0: uint32(0x00000010),
  26194. 1: uint32(0x02000000),
  26195. 2: uint32(0x00880020),
  26196. 3: uint32(0x00008424),
  26197. 5: uint32(0x88000000),
  26198. 6: uint32(0x81000100),
  26199. 7: uint32(0x04000000),
  26200. },
  26201. },
  26202. 489: {
  26203. Fmap1: [8]TFcChar32{
  26204. 0: uint32(0x00004218),
  26205. 1: uint32(0x00040000),
  26206. 3: uint32(0x80005080),
  26207. 4: uint32(0x00010000),
  26208. 5: uint32(0x00040000),
  26209. 6: uint32(0x08008000),
  26210. 7: uint32(0x02008000),
  26211. },
  26212. },
  26213. 490: {
  26214. Fmap1: [8]TFcChar32{
  26215. 0: uint32(0x00020000),
  26216. 2: uint32(0x00000001),
  26217. 3: uint32(0x04000401),
  26218. 4: uint32(0x00100000),
  26219. 5: uint32(0x12200004),
  26220. 7: uint32(0x18100000),
  26221. },
  26222. },
  26223. 491: {
  26224. Fmap1: [8]TFcChar32{
  26225. 1: uint32(0x00000800),
  26226. 3: uint32(0x00004000),
  26227. 4: uint32(0x00800000),
  26228. 5: uint32(0x04000000),
  26229. 6: uint32(0x82000002),
  26230. 7: uint32(0x00042000),
  26231. },
  26232. },
  26233. 492: {
  26234. Fmap1: [8]TFcChar32{
  26235. 0: uint32(0x00080006),
  26236. 3: uint32(0x04000000),
  26237. 4: uint32(0x80008000),
  26238. 5: uint32(0x00810001),
  26239. 6: uint32(0xa0000000),
  26240. 7: uint32(0x00100410),
  26241. },
  26242. },
  26243. 493: {
  26244. Fmap1: [8]TFcChar32{
  26245. 0: uint32(0x00400218),
  26246. 1: uint32(0x88084080),
  26247. 2: uint32(0x00260008),
  26248. 3: uint32(0x00800404),
  26249. 4: uint32(0x00000020),
  26250. 7: uint32(0x00000200),
  26251. },
  26252. },
  26253. 494: {
  26254. Fmap1: [8]TFcChar32{
  26255. 0: uint32(0x00a08048),
  26256. 2: uint32(0x08000000),
  26257. 3: uint32(0x04000000),
  26258. 6: uint32(0x00018000),
  26259. 7: uint32(0x00200000),
  26260. },
  26261. },
  26262. 495: {
  26263. Fmap1: [8]TFcChar32{
  26264. 0: uint32(0x01000000),
  26265. 3: uint32(0x10000000),
  26266. 6: uint32(0x00200000),
  26267. 7: uint32(0x00102000),
  26268. },
  26269. },
  26270. 496: {
  26271. Fmap1: [8]TFcChar32{
  26272. 0: uint32(0x00000801),
  26273. 3: uint32(0x00020000),
  26274. 4: uint32(0x08000000),
  26275. 5: uint32(0x00002000),
  26276. 6: uint32(0x20010000),
  26277. 7: uint32(0x04002000),
  26278. },
  26279. },
  26280. 497: {
  26281. Fmap1: [8]TFcChar32{
  26282. 0: uint32(0x40000040),
  26283. 1: uint32(0x50202400),
  26284. 2: uint32(0x000a0020),
  26285. 3: uint32(0x00040420),
  26286. 4: uint32(0x00000200),
  26287. 5: uint32(0x00000080),
  26288. 6: uint32(0x80000000),
  26289. 7: uint32(0x00000020),
  26290. },
  26291. },
  26292. 498: {
  26293. Fmap1: [8]TFcChar32{
  26294. 0: uint32(0x20008000),
  26295. 1: uint32(0x00200010),
  26296. 4: uint32(0x00400000),
  26297. 5: uint32(0x01100000),
  26298. 6: uint32(0x00020000),
  26299. 7: uint32(0x80000010),
  26300. },
  26301. },
  26302. 499: {
  26303. Fmap1: [8]TFcChar32{
  26304. 0: uint32(0x02000000),
  26305. 1: uint32(0x00801000),
  26306. 3: uint32(0x48058000),
  26307. 4: uint32(0x20c94000),
  26308. 5: uint32(0x60000000),
  26309. 6: uint32(0x00000001),
  26310. },
  26311. },
  26312. 500: {
  26313. Fmap1: [8]TFcChar32{
  26314. 0: uint32(0x00004090),
  26315. 1: uint32(0x48000000),
  26316. 2: uint32(0x08000000),
  26317. 3: uint32(0x28802000),
  26318. 4: uint32(0x00000002),
  26319. 5: uint32(0x00014000),
  26320. 6: uint32(0x00002000),
  26321. 7: uint32(0x00002002),
  26322. },
  26323. },
  26324. 501: {
  26325. Fmap1: [8]TFcChar32{
  26326. 0: uint32(0x00010200),
  26327. 1: uint32(0x00100000),
  26328. 3: uint32(0x00800000),
  26329. 4: uint32(0x10020000),
  26330. },
  26331. },
  26332. 502: {
  26333. Fmap1: [8]TFcChar32{
  26334. 0: uint32(0x00000010),
  26335. 1: uint32(0x00000402),
  26336. 2: uint32(0x0c000000),
  26337. 3: uint32(0x01000400),
  26338. 4: uint32(0x01000021),
  26339. 6: uint32(0x00004000),
  26340. 7: uint32(0x00004000),
  26341. },
  26342. },
  26343. 503: {
  26344. Fmap1: [8]TFcChar32{
  26345. 1: uint32(0x00800000),
  26346. 7: uint32(0x02000020),
  26347. },
  26348. },
  26349. 504: {
  26350. Fmap1: [8]TFcChar32{
  26351. 0: uint32(0x00000100),
  26352. 1: uint32(0x08000000),
  26353. 6: uint32(0x00002000),
  26354. },
  26355. },
  26356. 505: {
  26357. Fmap1: [8]TFcChar32{
  26358. 0: uint32(0x00006000),
  26359. 3: uint32(0x00000400),
  26360. 4: uint32(0x04000040),
  26361. 5: uint32(0x003c0180),
  26362. 6: uint32(0x00000200),
  26363. 7: uint32(0x00102000),
  26364. },
  26365. },
  26366. 506: {
  26367. Fmap1: [8]TFcChar32{
  26368. 0: uint32(0x00000800),
  26369. 1: uint32(0x101000c0),
  26370. 2: uint32(0x00800000),
  26371. 4: uint32(0x00008000),
  26372. 5: uint32(0x02200000),
  26373. 6: uint32(0x00020020),
  26374. },
  26375. },
  26376. 507: {
  26377. Fmap1: [8]TFcChar32{
  26378. 1: uint32(0x01000000),
  26379. 3: uint32(0x20100000),
  26380. 4: uint32(0x00080000),
  26381. 5: uint32(0x00000141),
  26382. 6: uint32(0x02001002),
  26383. 7: uint32(0x40400001),
  26384. },
  26385. },
  26386. 508: {
  26387. Fmap1: [8]TFcChar32{
  26388. 0: uint32(0x00580000),
  26389. 1: uint32(0x00000002),
  26390. 2: uint32(0x00003000),
  26391. 3: uint32(0x00002400),
  26392. 4: uint32(0x00988000),
  26393. 5: uint32(0x00040010),
  26394. 6: uint32(0x00002800),
  26395. 7: uint32(0x00000008),
  26396. },
  26397. },
  26398. 509: {
  26399. Fmap1: [8]TFcChar32{
  26400. 0: uint32(0x40080004),
  26401. 1: uint32(0x00000020),
  26402. 2: uint32(0x20080000),
  26403. 3: uint32(0x02060a00),
  26404. 4: uint32(0x00010040),
  26405. 5: uint32(0x14010200),
  26406. 6: uint32(0x40800000),
  26407. 7: uint32(0x08031000),
  26408. },
  26409. },
  26410. 510: {
  26411. Fmap1: [8]TFcChar32{
  26412. 0: uint32(0x40020020),
  26413. 1: uint32(0x0000202c),
  26414. 2: uint32(0x2014a008),
  26415. 4: uint32(0x80040200),
  26416. 5: uint32(0x82020012),
  26417. 6: uint32(0x00400000),
  26418. 7: uint32(0x20000000),
  26419. },
  26420. },
  26421. 511: {
  26422. Fmap1: [8]TFcChar32{
  26423. 2: uint32(0x00000004),
  26424. 3: uint32(0x04000000),
  26425. 6: uint32(0x40800100),
  26426. },
  26427. },
  26428. 512: {
  26429. Fmap1: [8]TFcChar32{
  26430. 0: uint32(0x00000008),
  26431. 1: uint32(0x04000040),
  26432. 2: uint32(0x00000001),
  26433. 3: uint32(0x000c0200),
  26434. 5: uint32(0x08000400),
  26435. 7: uint32(0x080c0001),
  26436. },
  26437. },
  26438. 513: {
  26439. Fmap1: [8]TFcChar32{
  26440. 0: uint32(0x00000400),
  26441. 3: uint32(0x00200000),
  26442. 4: uint32(0x80000000),
  26443. 5: uint32(0x00001000),
  26444. 6: uint32(0x00000200),
  26445. 7: uint32(0x01000800),
  26446. },
  26447. },
  26448. 514: {
  26449. Fmap1: [8]TFcChar32{
  26450. 1: uint32(0x00000800),
  26451. 3: uint32(0x40000000),
  26452. 7: uint32(0x04040000),
  26453. },
  26454. },
  26455. 515: {
  26456. Fmap1: [8]TFcChar32{
  26457. 2: uint32(0x00000040),
  26458. 3: uint32(0x00002000),
  26459. 4: uint32(0xa0000000),
  26460. 6: uint32(0x08000008),
  26461. 7: uint32(0x00080000),
  26462. },
  26463. },
  26464. 516: {
  26465. Fmap1: [8]TFcChar32{
  26466. 0: uint32(0x00000020),
  26467. 2: uint32(0x40000400),
  26468. 7: uint32(0x00008000),
  26469. },
  26470. },
  26471. 517: {
  26472. Fmap1: [8]TFcChar32{
  26473. 4: uint32(0x00000800),
  26474. 7: uint32(0x00200000),
  26475. },
  26476. },
  26477. 518: {
  26478. Fmap1: [8]TFcChar32{
  26479. 3: uint32(0x04000000),
  26480. 4: uint32(0x00000008),
  26481. 6: uint32(0x00010000),
  26482. 7: uint32(0x1b000000),
  26483. },
  26484. },
  26485. 519: {
  26486. Fmap1: [8]TFcChar32{
  26487. 0: uint32(0x00007000),
  26488. 2: uint32(0x10000000),
  26489. 5: uint32(0x00000080),
  26490. 6: uint32(0x80000000),
  26491. },
  26492. },
  26493. 520: {
  26494. Fmap1: [8]TFcChar32{
  26495. 1: uint32(0x00020000),
  26496. 3: uint32(0x00200000),
  26497. 4: uint32(0x40000000),
  26498. 5: uint32(0x00000010),
  26499. 6: uint32(0x00800000),
  26500. 7: uint32(0x00000008),
  26501. },
  26502. },
  26503. 521: {
  26504. Fmap1: [8]TFcChar32{
  26505. 2: uint32(0x02000000),
  26506. 3: uint32(0x20000010),
  26507. 4: uint32(0x00000080),
  26508. 6: uint32(0x00010000),
  26509. },
  26510. },
  26511. 522: {
  26512. Fmap1: [8]TFcChar32{
  26513. 1: uint32(0x02000000),
  26514. 4: uint32(0x20000000),
  26515. 5: uint32(0x00000040),
  26516. 6: uint32(0x00200028),
  26517. },
  26518. },
  26519. 523: {
  26520. Fmap1: [8]TFcChar32{
  26521. 1: uint32(0x00020000),
  26522. 3: uint32(0x02000000),
  26523. 5: uint32(0x02000000),
  26524. 6: uint32(0x40020000),
  26525. 7: uint32(0x51000040),
  26526. },
  26527. },
  26528. 524: {
  26529. Fmap1: [8]TFcChar32{
  26530. 0: uint32(0x00000080),
  26531. 1: uint32(0x04040000),
  26532. 3: uint32(0x10000000),
  26533. 4: uint32(0x00022000),
  26534. 5: uint32(0x00100000),
  26535. 6: uint32(0x20000000),
  26536. 7: uint32(0x00000082),
  26537. },
  26538. },
  26539. 525: {
  26540. Fmap1: [8]TFcChar32{
  26541. 0: uint32(0x40000000),
  26542. 1: uint32(0x00010000),
  26543. 2: uint32(0x00002000),
  26544. 4: uint32(0x00000240),
  26545. 7: uint32(0x00000008),
  26546. },
  26547. },
  26548. 526: {
  26549. Fmap1: [8]TFcChar32{
  26550. 1: uint32(0x00010000),
  26551. 2: uint32(0x00000810),
  26552. 3: uint32(0x00080880),
  26553. 4: uint32(0x00004000),
  26554. 7: uint32(0x00020000),
  26555. },
  26556. },
  26557. 527: {
  26558. Fmap1: [8]TFcChar32{
  26559. 1: uint32(0x00400020),
  26560. 3: uint32(0x00000082),
  26561. 5: uint32(0x00020001),
  26562. },
  26563. },
  26564. 528: {
  26565. Fmap1: [8]TFcChar32{
  26566. 0: uint32(0x40000018),
  26567. 1: uint32(0x00000004),
  26568. 4: uint32(0x01000000),
  26569. 5: uint32(0x00400000),
  26570. },
  26571. },
  26572. 529: {
  26573. Fmap1: [8]TFcChar32{
  26574. 0: uint32(0x00000001),
  26575. 1: uint32(0x00400000),
  26576. 3: uint32(0x00080002),
  26577. 4: uint32(0x00000400),
  26578. 5: uint32(0x00040000),
  26579. },
  26580. },
  26581. 530: {
  26582. Fmap1: [8]TFcChar32{
  26583. 0: uint32(0x00000800),
  26584. 1: uint32(0x00000800),
  26585. 6: uint32(0x00000100),
  26586. },
  26587. },
  26588. 531: {
  26589. Fmap1: [8]TFcChar32{
  26590. 1: uint32(0x00200000),
  26591. 3: uint32(0x04108000),
  26592. 7: uint32(0x00000002),
  26593. },
  26594. },
  26595. 532: {
  26596. Fmap1: [8]TFcChar32{
  26597. 1: uint32(0x02800000),
  26598. 2: uint32(0x04000000),
  26599. 5: uint32(0x00000004),
  26600. 7: uint32(0x00000400),
  26601. },
  26602. },
  26603. 533: {
  26604. Fmap1: [8]TFcChar32{
  26605. 2: uint32(0x10000000),
  26606. 3: uint32(0x00040000),
  26607. 4: uint32(0x00400000),
  26608. },
  26609. },
  26610. 534: {
  26611. Fmap1: [8]TFcChar32{
  26612. 0: uint32(0x00200000),
  26613. 1: uint32(0x00000200),
  26614. 3: uint32(0x10000000),
  26615. 6: uint32(0x2a000000),
  26616. },
  26617. },
  26618. 535: {
  26619. Fmap1: [8]TFcChar32{
  26620. 0: uint32(0x00400000),
  26621. 2: uint32(0x00400000),
  26622. 4: uint32(0x00000002),
  26623. 5: uint32(0x40000000),
  26624. 7: uint32(0x00400000),
  26625. },
  26626. },
  26627. 536: {
  26628. Fmap1: [8]TFcChar32{
  26629. 0: uint32(0x40000000),
  26630. 1: uint32(0x00001000),
  26631. 4: uint32(0x00000202),
  26632. 5: uint32(0x02000000),
  26633. 6: uint32(0x80000000),
  26634. 7: uint32(0x00020000),
  26635. },
  26636. },
  26637. 537: {
  26638. Fmap1: [8]TFcChar32{
  26639. 0: uint32(0x00000020),
  26640. 1: uint32(0x00000800),
  26641. 2: uint32(0x00020421),
  26642. 3: uint32(0x00020000),
  26643. 7: uint32(0x00400000),
  26644. },
  26645. },
  26646. 538: {
  26647. Fmap1: [8]TFcChar32{
  26648. 0: uint32(0x00200000),
  26649. 2: uint32(0x00000001),
  26650. 4: uint32(0x00000084),
  26651. },
  26652. },
  26653. 539: {
  26654. Fmap1: [8]TFcChar32{
  26655. 1: uint32(0x00004400),
  26656. 2: uint32(0x00000002),
  26657. 3: uint32(0x00100000),
  26658. 6: uint32(0x00008200),
  26659. },
  26660. },
  26661. 540: {
  26662. Fmap1: [8]TFcChar32{
  26663. 1: uint32(0x12000000),
  26664. 2: uint32(0x00000100),
  26665. 3: uint32(0x00000001),
  26666. },
  26667. },
  26668. 541: {
  26669. Fmap1: [8]TFcChar32{
  26670. 0: uint32(0x00000020),
  26671. 1: uint32(0x08100000),
  26672. 2: uint32(0x000a0400),
  26673. 3: uint32(0x00000081),
  26674. 4: uint32(0x00006000),
  26675. 5: uint32(0x00120000),
  26676. },
  26677. },
  26678. 542: {
  26679. Fmap1: [8]TFcChar32{
  26680. 0: uint32(0x00000004),
  26681. 1: uint32(0x08000000),
  26682. 2: uint32(0x00004000),
  26683. 3: uint32(0x044000c0),
  26684. },
  26685. },
  26686. 543: {
  26687. Fmap1: [8]TFcChar32{
  26688. 0: uint32(0x40001000),
  26689. 2: uint32(0x01000001),
  26690. 3: uint32(0x05000000),
  26691. 4: uint32(0x00080000),
  26692. 5: uint32(0x02000000),
  26693. 6: uint32(0x00000800),
  26694. },
  26695. },
  26696. 544: {
  26697. Fmap1: [8]TFcChar32{
  26698. 0: uint32(0x00000100),
  26699. 4: uint32(0x00002002),
  26700. 5: uint32(0x01020000),
  26701. 6: uint32(0x00800000),
  26702. },
  26703. },
  26704. 545: {
  26705. Fmap1: [8]TFcChar32{
  26706. 0: uint32(0x00000040),
  26707. 1: uint32(0x00004000),
  26708. 2: uint32(0x01000000),
  26709. 3: uint32(0x00000004),
  26710. 4: uint32(0x00020000),
  26711. 6: uint32(0x00000010),
  26712. },
  26713. },
  26714. 546: {
  26715. Fmap1: [8]TFcChar32{
  26716. 4: uint32(0x00080000),
  26717. 5: uint32(0x00010000),
  26718. 6: uint32(0x30000300),
  26719. 7: uint32(0x00000400),
  26720. },
  26721. },
  26722. 547: {
  26723. Fmap1: [8]TFcChar32{
  26724. 0: uint32(0x00000800),
  26725. 1: uint32(0x02000000),
  26726. 3: uint32(0x00008000),
  26727. },
  26728. },
  26729. 548: {
  26730. Fmap1: [8]TFcChar32{
  26731. 0: uint32(0x00200000),
  26732. 5: uint32(0x000040c0),
  26733. 6: uint32(0x00002200),
  26734. 7: uint32(0x12002000),
  26735. },
  26736. },
  26737. 549: {
  26738. Fmap1: [8]TFcChar32{
  26739. 1: uint32(0x00000020),
  26740. 2: uint32(0x20000000),
  26741. 4: uint32(0x00000200),
  26742. 5: uint32(0x00080800),
  26743. 6: uint32(0x1000a000),
  26744. },
  26745. },
  26746. 550: {
  26747. Fmap1: [8]TFcChar32{
  26748. 3: uint32(0x00004000),
  26749. },
  26750. },
  26751. 551: {
  26752. Fmap1: [8]TFcChar32{
  26753. 2: uint32(0x00004280),
  26754. 3: uint32(0x01000000),
  26755. 4: uint32(0x00800000),
  26756. 5: uint32(0x00000008),
  26757. },
  26758. },
  26759. 552: {
  26760. Fmap1: [8]TFcChar32{
  26761. 3: uint32(0x00000002),
  26762. 5: uint32(0x20400000),
  26763. 6: uint32(0x00000040),
  26764. },
  26765. },
  26766. 553: {
  26767. Fmap1: [8]TFcChar32{
  26768. 0: uint32(0x00800080),
  26769. 1: uint32(0x00800000),
  26770. 5: uint32(0x00400020),
  26771. 7: uint32(0x00008000),
  26772. },
  26773. },
  26774. 554: {
  26775. Fmap1: [8]TFcChar32{
  26776. 0: uint32(0x01000000),
  26777. 1: uint32(0x00000040),
  26778. 3: uint32(0x00400000),
  26779. 5: uint32(0x00000440),
  26780. 7: uint32(0x00800000),
  26781. },
  26782. },
  26783. 555: {
  26784. Fmap1: [8]TFcChar32{
  26785. 0: uint32(0x01000000),
  26786. 6: uint32(0x00080000),
  26787. },
  26788. },
  26789. 556: {
  26790. Fmap1: [8]TFcChar32{
  26791. 0: uint32(0x01000000),
  26792. 1: uint32(0x00000001),
  26793. 3: uint32(0x00020000),
  26794. 5: uint32(0x20002000),
  26795. 7: uint32(0x00000004),
  26796. },
  26797. },
  26798. 557: {
  26799. Fmap1: [8]TFcChar32{
  26800. 0: uint32(0x00000008),
  26801. 1: uint32(0x00100000),
  26802. 3: uint32(0x00010000),
  26803. },
  26804. },
  26805. 558: {
  26806. Fmap1: [8]TFcChar32{
  26807. 0: uint32(0x00000004),
  26808. 1: uint32(0x00008000),
  26809. 7: uint32(0x00008000),
  26810. },
  26811. },
  26812. 559: {
  26813. Fmap1: [8]TFcChar32{
  26814. 4: uint32(0x00000040),
  26815. 6: uint32(0x00004000),
  26816. },
  26817. },
  26818. 560: {
  26819. Fmap1: [8]TFcChar32{
  26820. 0: uint32(0x00000010),
  26821. 1: uint32(0x00002000),
  26822. 2: uint32(0x40000040),
  26823. 4: uint32(0x10000000),
  26824. 6: uint32(0x00008080),
  26825. },
  26826. },
  26827. 561: {
  26828. Fmap1: [8]TFcChar32{
  26829. 2: uint32(0x00000080),
  26830. 4: uint32(0x00100080),
  26831. 5: uint32(0x000000a0),
  26832. },
  26833. },
  26834. 562: {
  26835. Fmap1: [8]TFcChar32{
  26836. 4: uint32(0x00100000),
  26837. },
  26838. },
  26839. 563: {
  26840. Fmap1: [8]TFcChar32{
  26841. 2: uint32(0x00001000),
  26842. 4: uint32(0x0001000a),
  26843. },
  26844. },
  26845. 564: {
  26846. Fmap1: [8]TFcChar32{
  26847. 6: uint32(0x08002000),
  26848. },
  26849. },
  26850. 565: {
  26851. Fmap1: [8]TFcChar32{
  26852. 0: uint32(0x00000808),
  26853. },
  26854. },
  26855. 566: {
  26856. Fmap1: [8]TFcChar32{
  26857. 0: uint32(0x00004000),
  26858. 1: uint32(0x00002400),
  26859. 2: uint32(0x00008000),
  26860. 3: uint32(0x40000000),
  26861. 4: uint32(0x00000001),
  26862. 5: uint32(0x00002000),
  26863. 6: uint32(0x04000000),
  26864. 7: uint32(0x00040004),
  26865. },
  26866. },
  26867. 567: {
  26868. Fmap1: [8]TFcChar32{
  26869. 1: uint32(0x00002000),
  26870. 5: uint32(0x1c200000),
  26871. 7: uint32(0x02000000),
  26872. },
  26873. },
  26874. 568: {
  26875. Fmap1: [8]TFcChar32{
  26876. 1: uint32(0x00080000),
  26877. 2: uint32(0x00400000),
  26878. 3: uint32(0x00000002),
  26879. 5: uint32(0x00000100),
  26880. },
  26881. },
  26882. 569: {
  26883. Fmap1: [8]TFcChar32{
  26884. 3: uint32(0x00400000),
  26885. },
  26886. },
  26887. 570: {
  26888. Fmap1: [8]TFcChar32{
  26889. 0: uint32(0x00004100),
  26890. 1: uint32(0x00000400),
  26891. 2: uint32(0x20200010),
  26892. 3: uint32(0x00004004),
  26893. 5: uint32(0x42000000),
  26894. },
  26895. },
  26896. 571: {
  26897. Fmap1: [8]TFcChar32{
  26898. 0: uint32(0x00000080),
  26899. 2: uint32(0x00000121),
  26900. 3: uint32(0x00000200),
  26901. 4: uint32(0x000000b0),
  26902. 5: uint32(0x80002000),
  26903. 7: uint32(0x00010000),
  26904. },
  26905. },
  26906. 572: {
  26907. Fmap1: [8]TFcChar32{
  26908. 0: uint32(0x00000010),
  26909. 1: uint32(0x000000c0),
  26910. 2: uint32(0x08100000),
  26911. 3: uint32(0x00000020),
  26912. },
  26913. },
  26914. 573: {
  26915. Fmap1: [8]TFcChar32{
  26916. 4: uint32(0x02000000),
  26917. 5: uint32(0x00000404),
  26918. },
  26919. },
  26920. 574: {
  26921. Fmap1: [8]TFcChar32{
  26922. 4: uint32(0x00400000),
  26923. 5: uint32(0x00000008),
  26924. },
  26925. },
  26926. 575: {
  26927. Fmap1: [8]TFcChar32{
  26928. 1: uint32(0x00000002),
  26929. 2: uint32(0x00020000),
  26930. 3: uint32(0x00002000),
  26931. 7: uint32(0x00204000),
  26932. },
  26933. },
  26934. 576: {
  26935. Fmap1: [8]TFcChar32{
  26936. 1: uint32(0x00100000),
  26937. 5: uint32(0x00800000),
  26938. 6: uint32(0x00000100),
  26939. 7: uint32(0x00000001),
  26940. },
  26941. },
  26942. 577: {
  26943. Fmap1: [8]TFcChar32{
  26944. 0: uint32(0x10000000),
  26945. 1: uint32(0x01000000),
  26946. 2: uint32(0x00002400),
  26947. 3: uint32(0x00000004),
  26948. 6: uint32(0x00000020),
  26949. 7: uint32(0x00000002),
  26950. },
  26951. },
  26952. 578: {
  26953. Fmap1: [8]TFcChar32{
  26954. 0: uint32(0x00010000),
  26955. },
  26956. },
  26957. 579: {
  26958. Fmap1: [8]TFcChar32{
  26959. 1: uint32(0x00002400),
  26960. 4: uint32(0x00004802),
  26961. 7: uint32(0x80022000),
  26962. },
  26963. },
  26964. 580: {
  26965. Fmap1: [8]TFcChar32{
  26966. 0: uint32(0x00001004),
  26967. 1: uint32(0x04208000),
  26968. 2: uint32(0x20000020),
  26969. 3: uint32(0x00040000),
  26970. },
  26971. },
  26972. 581: {
  26973. Fmap1: [8]TFcChar32{
  26974. 1: uint32(0x00100000),
  26975. 2: uint32(0x40010000),
  26976. 4: uint32(0x00080000),
  26977. 6: uint32(0x00100211),
  26978. },
  26979. },
  26980. 582: {
  26981. Fmap1: [8]TFcChar32{
  26982. 0: uint32(0x00001400),
  26983. 4: uint32(0x00610000),
  26984. 5: uint32(0x80008c00),
  26985. },
  26986. },
  26987. 583: {
  26988. Fmap1: [8]TFcChar32{
  26989. 0: uint32(0x00000100),
  26990. 1: uint32(0x00000040),
  26991. 3: uint32(0x00000004),
  26992. 4: uint32(0x00004000),
  26993. },
  26994. },
  26995. 584: {
  26996. Fmap1: [8]TFcChar32{
  26997. 6: uint32(0x00000400),
  26998. },
  26999. },
  27000. 585: {
  27001. Fmap1: [8]TFcChar32{
  27002. 5: uint32(0x00000210),
  27003. },
  27004. },
  27005. 586: {
  27006. Fmap1: [8]TFcChar32{
  27007. 1: uint32(0x00000020),
  27008. 2: uint32(0x00000002),
  27009. },
  27010. },
  27011. 587: {
  27012. Fmap1: [8]TFcChar32{
  27013. 0: uint32(0x00004000),
  27014. 3: uint32(0x02000000),
  27015. },
  27016. },
  27017. 588: {
  27018. Fmap1: [8]TFcChar32{
  27019. 2: uint32(0x00080002),
  27020. 3: uint32(0x01000020),
  27021. 4: uint32(0x00400000),
  27022. 5: uint32(0x00200000),
  27023. 6: uint32(0x00008000),
  27024. },
  27025. },
  27026. 589: {
  27027. Fmap1: [8]TFcChar32{
  27028. 1: uint32(0x00020000),
  27029. 3: uint32(0xc0020000),
  27030. 4: uint32(0x10000000),
  27031. 5: uint32(0x00000080),
  27032. },
  27033. },
  27034. 590: {
  27035. Fmap1: [8]TFcChar32{
  27036. 0: uint32(0x00000210),
  27037. 2: uint32(0x00001000),
  27038. 3: uint32(0x04480000),
  27039. 4: uint32(0x20000000),
  27040. 5: uint32(0x00000004),
  27041. 6: uint32(0x00800000),
  27042. 7: uint32(0x02000000),
  27043. },
  27044. },
  27045. 591: {
  27046. Fmap1: [8]TFcChar32{
  27047. 1: uint32(0x08006000),
  27048. 2: uint32(0x00001000),
  27049. 5: uint32(0x00100000),
  27050. 7: uint32(0x00000400),
  27051. },
  27052. },
  27053. 592: {
  27054. Fmap1: [8]TFcChar32{
  27055. 0: uint32(0x00100000),
  27056. 2: uint32(0x10000000),
  27057. 3: uint32(0x08608000),
  27058. 6: uint32(0x00080002),
  27059. },
  27060. },
  27061. 593: {
  27062. Fmap1: [8]TFcChar32{
  27063. 1: uint32(0x20000000),
  27064. 2: uint32(0x00008020),
  27065. },
  27066. },
  27067. 594: {
  27068. Fmap1: [8]TFcChar32{
  27069. 3: uint32(0x10000000),
  27070. },
  27071. },
  27072. 595: {
  27073. Fmap1: [8]TFcChar32{
  27074. 1: uint32(0x00100000),
  27075. },
  27076. },
  27077. 596: {
  27078. Fmap1: [8]TFcChar32{
  27079. 1: uint32(0x00000400),
  27080. },
  27081. },
  27082. 597: {
  27083. Fmap1: [8]TFcChar32{
  27084. 7: uint32(0x02000000),
  27085. },
  27086. },
  27087. 598: {
  27088. Fmap1: [8]TFcChar32{
  27089. 6: uint32(0x00000080),
  27090. },
  27091. },
  27092. 599: {
  27093. Fmap1: [8]TFcChar32{
  27094. 5: uint32(0x00000002),
  27095. },
  27096. },
  27097. 600: {
  27098. Fmap1: [8]TFcChar32{
  27099. 6: uint32(0x00008000),
  27100. },
  27101. },
  27102. 601: {
  27103. Fmap1: [8]TFcChar32{
  27104. 2: uint32(0x00000008),
  27105. 6: uint32(0x00000400),
  27106. },
  27107. },
  27108. 602: {
  27109. Fmap1: [8]TFcChar32{
  27110. 2: uint32(0x00220000),
  27111. 3: uint32(0x00000004),
  27112. 5: uint32(0x00040000),
  27113. 6: uint32(0x00000004),
  27114. },
  27115. },
  27116. 603: {
  27117. Fmap1: [8]TFcChar32{
  27118. 2: uint32(0x00001000),
  27119. 3: uint32(0x00000080),
  27120. 4: uint32(0x00002000),
  27121. 7: uint32(0x00004000),
  27122. },
  27123. },
  27124. 604: {
  27125. Fmap1: [8]TFcChar32{
  27126. 3: uint32(0x00100000),
  27127. },
  27128. },
  27129. 605: {
  27130. Fmap1: [8]TFcChar32{
  27131. 4: uint32(0x00200000),
  27132. },
  27133. },
  27134. 606: {
  27135. Fmap1: [8]TFcChar32{
  27136. 5: uint32(0x04000000),
  27137. },
  27138. },
  27139. 607: {
  27140. Fmap1: [8]TFcChar32{
  27141. 4: uint32(0x00000200),
  27142. },
  27143. },
  27144. 608: {
  27145. Fmap1: [8]TFcChar32{
  27146. 4: uint32(0x00000001),
  27147. },
  27148. },
  27149. 609: {
  27150. Fmap1: [8]TFcChar32{
  27151. 6: uint32(0x00080000),
  27152. },
  27153. },
  27154. 610: {
  27155. Fmap1: [8]TFcChar32{
  27156. 5: uint32(0x01000000),
  27157. 7: uint32(0x00000400),
  27158. },
  27159. },
  27160. 611: {
  27161. Fmap1: [8]TFcChar32{
  27162. 5: uint32(0x00000080),
  27163. },
  27164. },
  27165. 612: {
  27166. Fmap1: [8]TFcChar32{
  27167. 1: uint32(0x00000800),
  27168. 2: uint32(0x00000100),
  27169. 3: uint32(0x40000000),
  27170. },
  27171. },
  27172. 613: {
  27173. Fmap1: [8]TFcChar32{
  27174. 1: uint32(0x00200000),
  27175. },
  27176. },
  27177. 614: {
  27178. Fmap1: [8]TFcChar32{
  27179. 2: uint32(0x01000000),
  27180. },
  27181. },
  27182. 615: {
  27183. Fmap1: [8]TFcChar32{
  27184. 6: uint32(0x04000000),
  27185. },
  27186. },
  27187. 616: {
  27188. Fmap1: [8]TFcChar32{
  27189. 6: uint32(0x00001000),
  27190. },
  27191. },
  27192. 617: {
  27193. Fmap1: [8]TFcChar32{
  27194. 4: uint32(0x00000400),
  27195. },
  27196. },
  27197. 618: {
  27198. Fmap1: [8]TFcChar32{
  27199. 7: uint32(0x04040000),
  27200. },
  27201. },
  27202. 619: {
  27203. Fmap1: [8]TFcChar32{
  27204. 4: uint32(0x00000020),
  27205. },
  27206. },
  27207. 620: {
  27208. Fmap1: [8]TFcChar32{
  27209. 2: uint32(0x00800000),
  27210. },
  27211. },
  27212. 621: {
  27213. Fmap1: [8]TFcChar32{
  27214. 1: uint32(0x00200000),
  27215. 2: uint32(0x40000000),
  27216. },
  27217. },
  27218. 622: {
  27219. Fmap1: [8]TFcChar32{
  27220. 4: uint32(0x20000000),
  27221. },
  27222. },
  27223. 623: {
  27224. Fmap1: [8]TFcChar32{
  27225. 3: uint32(0x04000000),
  27226. 5: uint32(0x00000001),
  27227. },
  27228. },
  27229. 624: {
  27230. Fmap1: [8]TFcChar32{
  27231. 1: uint32(0x40000000),
  27232. 2: uint32(0x02000000),
  27233. },
  27234. },
  27235. 625: {
  27236. Fmap1: [8]TFcChar32{
  27237. 3: uint32(0x00080000),
  27238. },
  27239. },
  27240. 626: {
  27241. Fmap1: [8]TFcChar32{
  27242. 1: uint32(0x00000010),
  27243. 5: uint32(0x20000000),
  27244. },
  27245. },
  27246. 627: {
  27247. Fmap1: [8]TFcChar32{
  27248. 2: uint32(0x20000000),
  27249. },
  27250. },
  27251. 628: {
  27252. Fmap1: [8]TFcChar32{
  27253. 0: uint32(0x00000080),
  27254. 7: uint32(0x00000004),
  27255. },
  27256. },
  27257. 629: {
  27258. Fmap1: [8]TFcChar32{
  27259. 3: uint32(0x00002000),
  27260. },
  27261. },
  27262. 630: {
  27263. Fmap1: [8]TFcChar32{
  27264. 6: uint32(0x10000001),
  27265. },
  27266. },
  27267. 631: {
  27268. Fmap1: [8]TFcChar32{
  27269. 0: uint32(0x00008000),
  27270. },
  27271. },
  27272. 632: {
  27273. Fmap1: [8]TFcChar32{
  27274. 2: uint32(0x00004040),
  27275. },
  27276. },
  27277. 633: {
  27278. Fmap1: [8]TFcChar32{
  27279. 6: uint32(0x00042400),
  27280. },
  27281. },
  27282. 634: {
  27283. Fmap1: [8]TFcChar32{
  27284. 4: uint32(0x02000000),
  27285. },
  27286. },
  27287. 635: {
  27288. Fmap1: [8]TFcChar32{
  27289. 7: uint32(0x00000080),
  27290. },
  27291. },
  27292. 636: {
  27293. Fmap1: [8]TFcChar32{
  27294. 7: uint32(0x00000020),
  27295. },
  27296. },
  27297. 637: {
  27298. Fmap1: [8]TFcChar32{
  27299. 1: uint32(0x00000001),
  27300. },
  27301. },
  27302. 638: {
  27303. Fmap1: [8]TFcChar32{
  27304. 6: uint32(0x00020000),
  27305. },
  27306. },
  27307. 639: {
  27308. Fmap1: [8]TFcChar32{
  27309. 2: uint32(0x00002000),
  27310. },
  27311. },
  27312. 640: {
  27313. Fmap1: [8]TFcChar32{
  27314. 4: uint32(0x01000000),
  27315. },
  27316. },
  27317. 641: {
  27318. Fmap1: [8]TFcChar32{
  27319. 1: uint32(0x00040000),
  27320. 2: uint32(0x08000000),
  27321. },
  27322. },
  27323. 642: {
  27324. Fmap1: [8]TFcChar32{
  27325. 0: uint32(0xc373ff8b),
  27326. 1: uint32(0x1b0f6840),
  27327. 2: uint32(0xf34ce9ac),
  27328. 3: uint32(0xc0080200),
  27329. 4: uint32(0xca3e795c),
  27330. 5: uint32(0x06487976),
  27331. 6: uint32(0xf7f02fdf),
  27332. 7: uint32(0xa8ff033a),
  27333. },
  27334. },
  27335. 643: {
  27336. Fmap1: [8]TFcChar32{
  27337. 0: uint32(0x233fef37),
  27338. 1: uint32(0xfd59b004),
  27339. 2: uint32(0xfffff3ca),
  27340. 3: uint32(0xfff9de9f),
  27341. 4: uint32(0x7df7abff),
  27342. 5: uint32(0x8eecc000),
  27343. 6: uint32(0xffdbeebf),
  27344. 7: uint32(0x45fad003),
  27345. },
  27346. },
  27347. 644: {
  27348. Fmap1: [8]TFcChar32{
  27349. 0: uint32(0xdffefae1),
  27350. 1: uint32(0x10abbfef),
  27351. 2: uint32(0xfcaaffeb),
  27352. 3: uint32(0x24fdef3f),
  27353. 4: uint32(0x7f7678ad),
  27354. 5: uint32(0xedfff00c),
  27355. 6: uint32(0x2cfacff6),
  27356. 7: uint32(0xeb6bf7f9),
  27357. },
  27358. },
  27359. 645: {
  27360. Fmap1: [8]TFcChar32{
  27361. 0: uint32(0x95bf1ffd),
  27362. 1: uint32(0xbfbf6677),
  27363. 2: uint32(0xfeb43bfb),
  27364. 3: uint32(0x11e27bae),
  27365. 4: uint32(0x41bea681),
  27366. 5: uint32(0x72c31435),
  27367. 6: uint32(0x71917d70),
  27368. 7: uint32(0x276b0003),
  27369. },
  27370. },
  27371. 646: {
  27372. Fmap1: [8]TFcChar32{
  27373. 0: uint32(0x70cf57cb),
  27374. 1: uint32(0x0def4732),
  27375. 2: uint32(0xfc747eda),
  27376. 3: uint32(0xbdb4fe06),
  27377. 4: uint32(0x8bca3f9f),
  27378. 5: uint32(0x58007e49),
  27379. 6: uint32(0xebec228f),
  27380. 7: uint32(0xddbb8a5c),
  27381. },
  27382. },
  27383. 647: {
  27384. Fmap1: [8]TFcChar32{
  27385. 0: uint32(0xb6e7ef60),
  27386. 1: uint32(0xf293a40f),
  27387. 2: uint32(0x549e37bb),
  27388. 3: uint32(0x9bafd04b),
  27389. 4: uint32(0xf7d4c414),
  27390. 5: uint32(0x0a1430b0),
  27391. 6: uint32(0x88d02f08),
  27392. 7: uint32(0x192fff7e),
  27393. },
  27394. },
  27395. 648: {
  27396. Fmap1: [8]TFcChar32{
  27397. 0: uint32(0xfb07ffda),
  27398. 1: uint32(0x7beb7ff1),
  27399. 2: uint32(0x0010c5ef),
  27400. 3: uint32(0xfdff99ff),
  27401. 4: uint32(0x056779d7),
  27402. 5: uint32(0xfdcbffe7),
  27403. 6: uint32(0x4040c3ff),
  27404. 7: uint32(0xbd8e6ff7),
  27405. },
  27406. },
  27407. 649: {
  27408. Fmap1: [8]TFcChar32{
  27409. 0: uint32(0x0497dffa),
  27410. 1: uint32(0x5bfff4c0),
  27411. 2: uint32(0xd0e7ed7b),
  27412. 3: uint32(0xf8e0047e),
  27413. 4: uint32(0xb73eff9f),
  27414. 5: uint32(0x882e7dfe),
  27415. 6: uint32(0xbe7ffffd),
  27416. 7: uint32(0xf6c483fe),
  27417. },
  27418. },
  27419. 650: {
  27420. Fmap1: [8]TFcChar32{
  27421. 0: uint32(0xb8fdf357),
  27422. 1: uint32(0xef7dd680),
  27423. 2: uint32(0x47885767),
  27424. 3: uint32(0xc3dfff7d),
  27425. 4: uint32(0x37a9f0ff),
  27426. 5: uint32(0x70fc7de0),
  27427. 6: uint32(0xec9a3f6f),
  27428. 7: uint32(0x86814cb3),
  27429. },
  27430. },
  27431. 651: {
  27432. Fmap1: [8]TFcChar32{
  27433. 0: uint32(0xdd5c3f9e),
  27434. 1: uint32(0x4819f70d),
  27435. 2: uint32(0x0007fea3),
  27436. 3: uint32(0x38ffaf56),
  27437. 4: uint32(0xefb8980d),
  27438. 5: uint32(0xb760403d),
  27439. 6: uint32(0x9035d8ce),
  27440. 7: uint32(0x3fff72bf),
  27441. },
  27442. },
  27443. 652: {
  27444. Fmap1: [8]TFcChar32{
  27445. 0: uint32(0x7a117ff7),
  27446. 1: uint32(0xabfff7bb),
  27447. 2: uint32(0x6fbeff00),
  27448. 3: uint32(0xfe72a93c),
  27449. 4: uint32(0xf11bcfef),
  27450. 5: uint32(0xf40adb6b),
  27451. 6: uint32(0xef7ec3e6),
  27452. 7: uint32(0xf6109b9c),
  27453. },
  27454. },
  27455. 653: {
  27456. Fmap1: [8]TFcChar32{
  27457. 0: uint32(0x16f4f048),
  27458. 1: uint32(0x5182feb5),
  27459. 2: uint32(0x15bbc7b1),
  27460. 3: uint32(0xfbdf6e87),
  27461. 4: uint32(0x63cde43f),
  27462. 5: uint32(0x7e7ec1ff),
  27463. 6: uint32(0x7d5ffdeb),
  27464. 7: uint32(0xfcfe777b),
  27465. },
  27466. },
  27467. 654: {
  27468. Fmap1: [8]TFcChar32{
  27469. 0: uint32(0xdbea960b),
  27470. 1: uint32(0x53e86229),
  27471. 2: uint32(0xfdef37df),
  27472. 3: uint32(0xbd8136f5),
  27473. 4: uint32(0xfcbddc18),
  27474. 5: uint32(0xffffd2e4),
  27475. 6: uint32(0xffe03fd7),
  27476. 7: uint32(0xabf87f6f),
  27477. },
  27478. },
  27479. 655: {
  27480. Fmap1: [8]TFcChar32{
  27481. 0: uint32(0x6ed99bae),
  27482. 1: uint32(0xf115f5fb),
  27483. 2: uint32(0xbdfb79a9),
  27484. 3: uint32(0xadaf5a3c),
  27485. 4: uint32(0x1facdbba),
  27486. 5: uint32(0x837971fc),
  27487. 6: uint32(0xc35f7cf7),
  27488. 7: uint32(0x0567dfff),
  27489. },
  27490. },
  27491. 656: {
  27492. Fmap1: [8]TFcChar32{
  27493. 0: uint32(0x8467ff9a),
  27494. 1: uint32(0xdf8b1534),
  27495. 2: uint32(0x3373f9f3),
  27496. 3: uint32(0x5e1af7bd),
  27497. 4: uint32(0xa03fbf40),
  27498. 5: uint32(0x01ebffff),
  27499. 6: uint32(0xcfdddfc0),
  27500. 7: uint32(0xabd37500),
  27501. },
  27502. },
  27503. 657: {
  27504. Fmap1: [8]TFcChar32{
  27505. 0: uint32(0xeed6f8c3),
  27506. 1: uint32(0xb7ff43fd),
  27507. 2: uint32(0x42275eaf),
  27508. 3: uint32(0xf6869bac),
  27509. 4: uint32(0xf6bc27d7),
  27510. 5: uint32(0x35b7f787),
  27511. 6: uint32(0xe176aacd),
  27512. 7: uint32(0xe29f49e7),
  27513. },
  27514. },
  27515. 658: {
  27516. Fmap1: [8]TFcChar32{
  27517. 0: uint32(0xaff2545c),
  27518. 1: uint32(0x61d82b3f),
  27519. 2: uint32(0xbbb8fc3b),
  27520. 3: uint32(0x7b7dffcf),
  27521. 4: uint32(0x1ce0bf95),
  27522. 5: uint32(0x43ff7dfd),
  27523. 6: uint32(0xfffe5ff6),
  27524. 7: uint32(0xc4ced3ef),
  27525. },
  27526. },
  27527. 659: {
  27528. Fmap1: [8]TFcChar32{
  27529. 0: uint32(0xadbc8db6),
  27530. 1: uint32(0x11eb63dc),
  27531. 2: uint32(0x23d0df59),
  27532. 3: uint32(0xf3dbbeb4),
  27533. 4: uint32(0xdbc71fe7),
  27534. 5: uint32(0xfae4ff63),
  27535. 6: uint32(0x63f7b22b),
  27536. 7: uint32(0xadbaed3b),
  27537. },
  27538. },
  27539. 660: {
  27540. Fmap1: [8]TFcChar32{
  27541. 0: uint32(0x7efffe01),
  27542. 1: uint32(0x02bcfff7),
  27543. 2: uint32(0xef3932ff),
  27544. 3: uint32(0x8005fffc),
  27545. 4: uint32(0xbcf577fb),
  27546. 5: uint32(0xfff7010d),
  27547. 6: uint32(0xbf3afffb),
  27548. 7: uint32(0xdfff0057),
  27549. },
  27550. },
  27551. 661: {
  27552. Fmap1: [8]TFcChar32{
  27553. 0: uint32(0xbd7def7b),
  27554. 1: uint32(0xc8d4db88),
  27555. 2: uint32(0xed7cfff3),
  27556. 3: uint32(0x56ff5dee),
  27557. 4: uint32(0xac5f7e0d),
  27558. 5: uint32(0xd57fff96),
  27559. 6: uint32(0xc1403fee),
  27560. 7: uint32(0xffe76ff9),
  27561. },
  27562. },
  27563. 662: {
  27564. Fmap1: [8]TFcChar32{
  27565. 0: uint32(0x8e77779b),
  27566. 1: uint32(0xe45d6ebf),
  27567. 2: uint32(0x5f1f6fcf),
  27568. 3: uint32(0xfedfe07f),
  27569. 4: uint32(0x01fed7db),
  27570. 5: uint32(0xfb7bff00),
  27571. 6: uint32(0x1fdfffd4),
  27572. 7: uint32(0xfffff800),
  27573. },
  27574. },
  27575. 663: {
  27576. Fmap1: [8]TFcChar32{
  27577. 0: uint32(0x007bfb8f),
  27578. 1: uint32(0x7f5cbf00),
  27579. 2: uint32(0x07f3ffff),
  27580. 3: uint32(0x3de7eba0),
  27581. 4: uint32(0xfbd7f7bf),
  27582. 5: uint32(0x6003ffbf),
  27583. 6: uint32(0xbfedfffd),
  27584. 7: uint32(0x027fefbb),
  27585. },
  27586. },
  27587. 664: {
  27588. Fmap1: [8]TFcChar32{
  27589. 0: uint32(0xddfdfe40),
  27590. 1: uint32(0xe2f9fdff),
  27591. 2: uint32(0xfb1f680b),
  27592. 3: uint32(0xaffdfbe3),
  27593. 4: uint32(0xf7ed9fa4),
  27594. 5: uint32(0xf80f7a7d),
  27595. 6: uint32(0x0fd5eebe),
  27596. 7: uint32(0xfd9fbb5d),
  27597. },
  27598. },
  27599. 665: {
  27600. Fmap1: [8]TFcChar32{
  27601. 0: uint32(0x3bf9f2db),
  27602. 1: uint32(0xebccfe7f),
  27603. 2: uint32(0x73fa876a),
  27604. 3: uint32(0x9ffc95fc),
  27605. 4: uint32(0xfaf7109f),
  27606. 5: uint32(0xbbcdddb7),
  27607. 6: uint32(0xeccdf87e),
  27608. 7: uint32(0x3c3ff366),
  27609. },
  27610. },
  27611. 666: {
  27612. Fmap1: [8]TFcChar32{
  27613. 0: uint32(0xb03ffffd),
  27614. 1: uint32(0x067ee9f7),
  27615. 2: uint32(0xfe0696ae),
  27616. 3: uint32(0x5fd7d576),
  27617. 4: uint32(0xa3f33fd1),
  27618. 5: uint32(0x6fb7cf07),
  27619. 6: uint32(0x7f449fd1),
  27620. 7: uint32(0xd3dd7b59),
  27621. },
  27622. },
  27623. 667: {
  27624. Fmap1: [8]TFcChar32{
  27625. 0: uint32(0xa9bdaf3b),
  27626. 1: uint32(0xff3a7dcf),
  27627. 2: uint32(0xf6ebfbe0),
  27628. 3: uint32(0xffffb401),
  27629. 4: uint32(0xb7bf7afa),
  27630. 5: uint32(0x0ffdc000),
  27631. 6: uint32(0xff1fff7f),
  27632. 7: uint32(0x95fffefc),
  27633. },
  27634. },
  27635. 668: {
  27636. Fmap1: [8]TFcChar32{
  27637. 0: uint32(0xb5dc0000),
  27638. 1: uint32(0x3f3eef63),
  27639. 2: uint32(0x001bfb7f),
  27640. 3: uint32(0xfbf6e800),
  27641. 4: uint32(0xb8df9eef),
  27642. 5: uint32(0x003fff9f),
  27643. 6: uint32(0xf5ff7bd0),
  27644. 7: uint32(0x3fffdfdb),
  27645. },
  27646. },
  27647. 669: {
  27648. Fmap1: [8]TFcChar32{
  27649. 0: uint32(0x00bffdf0),
  27650. 1: uint32(0xbbbd8420),
  27651. 2: uint32(0xffdedf37),
  27652. 3: uint32(0x0ff3ff6d),
  27653. 4: uint32(0x5efb604c),
  27654. 5: uint32(0xfafbfffb),
  27655. 6: uint32(0x0219fe5e),
  27656. 7: uint32(0xf9de79f4),
  27657. },
  27658. },
  27659. 670: {
  27660. Fmap1: [8]TFcChar32{
  27661. 0: uint32(0xebfaa7f7),
  27662. 1: uint32(0xff3401eb),
  27663. 2: uint32(0xef73ebd3),
  27664. 3: uint32(0xc040afd7),
  27665. 4: uint32(0xdcff72bb),
  27666. 5: uint32(0x2fd8f17f),
  27667. 6: uint32(0xfe0bb8ec),
  27668. 7: uint32(0x1f0bdda3),
  27669. },
  27670. },
  27671. 671: {
  27672. Fmap1: [8]TFcChar32{
  27673. 0: uint32(0x47cf8f1d),
  27674. 1: uint32(0xffdeb12b),
  27675. 2: uint32(0xda737fee),
  27676. 3: uint32(0xcbc424ff),
  27677. 4: uint32(0xcbf2f75d),
  27678. 5: uint32(0xb4edecfd),
  27679. 6: uint32(0x4dddbff9),
  27680. 7: uint32(0xfb8d99dd),
  27681. },
  27682. },
  27683. 672: {
  27684. Fmap1: [8]TFcChar32{
  27685. 0: uint32(0xaf7bbb7f),
  27686. 1: uint32(0xc959ddfb),
  27687. 2: uint32(0xfab5fc4f),
  27688. 3: uint32(0x6d5fafe3),
  27689. 4: uint32(0x3f7dffff),
  27690. 5: uint32(0xffdb7800),
  27691. 6: uint32(0x7effb6ff),
  27692. 7: uint32(0x022ffbaf),
  27693. },
  27694. },
  27695. 673: {
  27696. Fmap1: [8]TFcChar32{
  27697. 0: uint32(0xefc7ff9b),
  27698. 1: uint32(0xffffffa5),
  27699. 2: uint32(0xc7000007),
  27700. 3: uint32(0xfff1f7ff),
  27701. 4: uint32(0x01bf7ffd),
  27702. 5: uint32(0xfdbcdc00),
  27703. 6: uint32(0xffffbff5),
  27704. 7: uint32(0x3effff7f),
  27705. },
  27706. },
  27707. 674: {
  27708. Fmap1: [8]TFcChar32{
  27709. 0: uint32(0xbe000029),
  27710. 1: uint32(0xff7ff9ff),
  27711. 2: uint32(0xfd7e6efb),
  27712. 3: uint32(0x039ecbff),
  27713. 4: uint32(0xfbdde300),
  27714. 5: uint32(0xf6dfccff),
  27715. 6: uint32(0x117fffff),
  27716. 7: uint32(0xfbf6f800),
  27717. },
  27718. },
  27719. 675: {
  27720. Fmap1: [8]TFcChar32{
  27721. 0: uint32(0xd73ce7ef),
  27722. 1: uint32(0xdfeffeef),
  27723. 2: uint32(0xedbfc00b),
  27724. 3: uint32(0xfdcdfedf),
  27725. 4: uint32(0x40fd7bf5),
  27726. 5: uint32(0xb75fffff),
  27727. 6: uint32(0xf930ffdf),
  27728. 7: uint32(0xdc97fbdf),
  27729. },
  27730. },
  27731. 676: {
  27732. Fmap1: [8]TFcChar32{
  27733. 0: uint32(0xbff2fef3),
  27734. 1: uint32(0xdfbf8fdf),
  27735. 2: uint32(0xede6177f),
  27736. 3: uint32(0x35530f7f),
  27737. 4: uint32(0x877e447c),
  27738. 5: uint32(0x45bbfa12),
  27739. 6: uint32(0x779eede0),
  27740. 7: uint32(0xbfd98017),
  27741. },
  27742. },
  27743. 677: {
  27744. Fmap1: [8]TFcChar32{
  27745. 0: uint32(0xde897e55),
  27746. 1: uint32(0x0447c16f),
  27747. 2: uint32(0xf75d7ade),
  27748. 3: uint32(0x290557ff),
  27749. 4: uint32(0xfe9586f7),
  27750. 5: uint32(0xf32f97b3),
  27751. 6: uint32(0x9f75cfff),
  27752. 7: uint32(0xfb1771f7),
  27753. },
  27754. },
  27755. 678: {
  27756. Fmap1: [8]TFcChar32{
  27757. 0: uint32(0xee1934ee),
  27758. 1: uint32(0xef6137cc),
  27759. 2: uint32(0xef4c9fd6),
  27760. 3: uint32(0xfbddd68f),
  27761. 4: uint32(0x6def7b73),
  27762. 5: uint32(0xa431d7fe),
  27763. 6: uint32(0x97d75e7f),
  27764. 7: uint32(0xffd80f5b),
  27765. },
  27766. },
  27767. 679: {
  27768. Fmap1: [8]TFcChar32{
  27769. 0: uint32(0x7bce9d83),
  27770. 1: uint32(0xdcff22ec),
  27771. 2: uint32(0xef87763d),
  27772. 3: uint32(0xfdeddfe7),
  27773. 4: uint32(0xa0fc4fff),
  27774. 5: uint32(0xdbfc3b77),
  27775. 6: uint32(0x7fdc3ded),
  27776. 7: uint32(0xf5706fa9),
  27777. },
  27778. },
  27779. 680: {
  27780. Fmap1: [8]TFcChar32{
  27781. 0: uint32(0x2c403ffb),
  27782. 1: uint32(0x847fff7f),
  27783. 2: uint32(0xdeb7ec57),
  27784. 3: uint32(0xf22fe69c),
  27785. 4: uint32(0xd5b50feb),
  27786. 5: uint32(0xede7afeb),
  27787. 6: uint32(0xfff08c2f),
  27788. 7: uint32(0xe8f0537f),
  27789. },
  27790. },
  27791. 681: {
  27792. Fmap1: [8]TFcChar32{
  27793. 0: uint32(0xb5ffb99d),
  27794. 1: uint32(0xe78fff66),
  27795. 2: uint32(0xbe10d981),
  27796. 3: uint32(0xe3c19c7c),
  27797. 4: uint32(0x27339cd1),
  27798. 5: uint32(0xff6d0cbc),
  27799. 6: uint32(0xefb7fcb7),
  27800. 7: uint32(0xffffa0df),
  27801. },
  27802. },
  27803. 682: {
  27804. Fmap1: [8]TFcChar32{
  27805. 0: uint32(0xfe7bbf0b),
  27806. 1: uint32(0x353fa3ff),
  27807. 2: uint32(0x97cd13cc),
  27808. 3: uint32(0xfb277637),
  27809. 4: uint32(0x7e6ccfd6),
  27810. 5: uint32(0xed31ec50),
  27811. 6: uint32(0xfc1c677c),
  27812. 7: uint32(0x5fbff6fa),
  27813. },
  27814. },
  27815. 683: {
  27816. Fmap1: [8]TFcChar32{
  27817. 0: uint32(0xae2f0fba),
  27818. 1: uint32(0x7ffea3ad),
  27819. 2: uint32(0xde74fcf0),
  27820. 3: uint32(0xf200ffef),
  27821. 4: uint32(0xfea2fbbf),
  27822. 5: uint32(0xbcff3daf),
  27823. 6: uint32(0x5fb9f694),
  27824. 7: uint32(0x3f8ff3ad),
  27825. },
  27826. },
  27827. 684: {
  27828. Fmap1: [8]TFcChar32{
  27829. 0: uint32(0xa01ff26c),
  27830. 1: uint32(0x01bfffef),
  27831. 2: uint32(0x70057728),
  27832. 3: uint32(0xda03ff35),
  27833. 4: uint32(0xc7fad2f9),
  27834. 5: uint32(0x5c1d3fbf),
  27835. 6: uint32(0xec33ff3a),
  27836. 7: uint32(0xfe9cb7af),
  27837. },
  27838. },
  27839. 685: {
  27840. Fmap1: [8]TFcChar32{
  27841. 0: uint32(0x7a9f5236),
  27842. 1: uint32(0xe722bffa),
  27843. 2: uint32(0xfcff9ff7),
  27844. 3: uint32(0xb61d2fbb),
  27845. 4: uint32(0x1dfded06),
  27846. 5: uint32(0xefdf7dd7),
  27847. 6: uint32(0xf166eb23),
  27848. 7: uint32(0x0dc07ed9),
  27849. },
  27850. },
  27851. 686: {
  27852. Fmap1: [8]TFcChar32{
  27853. 0: uint32(0xdfbf3d3d),
  27854. 1: uint32(0xba83c945),
  27855. 2: uint32(0x9dd07dd1),
  27856. 3: uint32(0xcf737b87),
  27857. 4: uint32(0xc3f59ff3),
  27858. 5: uint32(0xc5fedf0d),
  27859. 6: uint32(0x83020cb3),
  27860. 7: uint32(0xaec0e879),
  27861. },
  27862. },
  27863. 687: {
  27864. Fmap1: [8]TFcChar32{
  27865. 0: uint32(0x6f0fc773),
  27866. 1: uint32(0x093ffd7d),
  27867. 2: uint32(0x0157fff1),
  27868. 3: uint32(0x01ff62fb),
  27869. 4: uint32(0x3bf3fdb4),
  27870. 5: uint32(0x43b2b013),
  27871. 6: uint32(0xff305ed3),
  27872. 7: uint32(0xeb9f0fff),
  27873. },
  27874. },
  27875. 688: {
  27876. Fmap1: [8]TFcChar32{
  27877. 0: uint32(0xf203feef),
  27878. 1: uint32(0xfb893fef),
  27879. 2: uint32(0x9e9937a9),
  27880. 3: uint32(0xa72cdef9),
  27881. 4: uint32(0xc1f63733),
  27882. 5: uint32(0xfe3e812e),
  27883. 6: uint32(0xf2f75d20),
  27884. 7: uint32(0x69d7d585),
  27885. },
  27886. },
  27887. 689: {
  27888. Fmap1: [8]TFcChar32{
  27889. 0: uint32(0xffffffff),
  27890. 1: uint32(0xff6fdb07),
  27891. 2: uint32(0xd97fc4ff),
  27892. 3: uint32(0xbe0fefce),
  27893. 4: uint32(0xf05ef17b),
  27894. 5: uint32(0xffb7f6cf),
  27895. 6: uint32(0xef845ef7),
  27896. 7: uint32(0x0edfd7cb),
  27897. },
  27898. },
  27899. 690: {
  27900. Fmap1: [8]TFcChar32{
  27901. 0: uint32(0xfcffff08),
  27902. 1: uint32(0xffffee3f),
  27903. 2: uint32(0xd7ff13ff),
  27904. 3: uint32(0x7ffdaf0f),
  27905. 4: uint32(0x1ffabdc7),
  27906. },
  27907. },
  27908. 691: {
  27909. Fmap1: [8]TFcChar32{
  27910. 1: uint32(0xe7400000),
  27911. 2: uint32(0xf933bd38),
  27912. 3: uint32(0xfeed7feb),
  27913. 4: uint32(0x7c767fe8),
  27914. 5: uint32(0xffefb3f7),
  27915. 6: uint32(0xd8b7feaf),
  27916. 7: uint32(0xfbbfff6f),
  27917. },
  27918. },
  27919. 692: {
  27920. Fmap1: [8]TFcChar32{
  27921. 0: uint32(0xdbf7f8fb),
  27922. 1: uint32(0xe2f91752),
  27923. 2: uint32(0x754785c8),
  27924. 3: uint32(0xe3ef9090),
  27925. 4: uint32(0x3f6d9ef4),
  27926. 5: uint32(0x0536ee2e),
  27927. 6: uint32(0x7ff3f7bc),
  27928. 7: uint32(0x7f3fa07b),
  27929. },
  27930. },
  27931. 693: {
  27932. Fmap1: [8]TFcChar32{
  27933. 0: uint32(0xeb600567),
  27934. 1: uint32(0x6601babe),
  27935. 2: uint32(0x583ffcd8),
  27936. 3: uint32(0x87dfcaf7),
  27937. 4: uint32(0xffa0bfcd),
  27938. 5: uint32(0xfebf5bcd),
  27939. 6: uint32(0xefa7b6fd),
  27940. 7: uint32(0xdf9c77ef),
  27941. },
  27942. },
  27943. 694: {
  27944. Fmap1: [8]TFcChar32{
  27945. 0: uint32(0xf8773fb7),
  27946. 1: uint32(0xb7fc9d27),
  27947. 2: uint32(0xdfefcab5),
  27948. 3: uint32(0xf1b6fb5a),
  27949. 4: uint32(0xef1fec39),
  27950. 5: uint32(0x7ffbfbbf),
  27951. 6: uint32(0xdafe000d),
  27952. 7: uint32(0x4e7fbdfb),
  27953. },
  27954. },
  27955. 695: {
  27956. Fmap1: [8]TFcChar32{
  27957. 0: uint32(0x5ac033ff),
  27958. 1: uint32(0x9ffebff5),
  27959. 2: uint32(0x005fffbf),
  27960. 3: uint32(0xfdf80000),
  27961. 4: uint32(0x6ffdffca),
  27962. 5: uint32(0xa001cffd),
  27963. 6: uint32(0xfbf2dfff),
  27964. 7: uint32(0xff7fdfbf),
  27965. },
  27966. },
  27967. 696: {
  27968. Fmap1: [8]TFcChar32{
  27969. 0: uint32(0x080ffeda),
  27970. 1: uint32(0xbfffba08),
  27971. 2: uint32(0xeed77afd),
  27972. 3: uint32(0x67f9fbeb),
  27973. 4: uint32(0xff93e044),
  27974. 5: uint32(0x9f57df97),
  27975. 6: uint32(0x08dffef7),
  27976. 7: uint32(0xfedfdf80),
  27977. },
  27978. },
  27979. 697: {
  27980. Fmap1: [8]TFcChar32{
  27981. 0: uint32(0xf7feffc5),
  27982. 1: uint32(0x6803fffb),
  27983. 2: uint32(0x6bfa67fb),
  27984. 3: uint32(0x5fe27fff),
  27985. 4: uint32(0xff73ffff),
  27986. 5: uint32(0xe7fb87df),
  27987. 6: uint32(0xf7a7ebfd),
  27988. 7: uint32(0xefc7bf7e),
  27989. },
  27990. },
  27991. 698: {
  27992. Fmap1: [8]TFcChar32{
  27993. 0: uint32(0xdf821ef3),
  27994. 1: uint32(0xdf7e76ff),
  27995. 2: uint32(0xda7d79c9),
  27996. 3: uint32(0x1e9befbe),
  27997. 4: uint32(0x77fb7ce0),
  27998. 5: uint32(0xfffb87be),
  27999. 6: uint32(0xffdb1bff),
  28000. 7: uint32(0x4fe03f5c),
  28001. },
  28002. },
  28003. 699: {
  28004. Fmap1: [8]TFcChar32{
  28005. 0: uint32(0x5f0e7fff),
  28006. 1: uint32(0xddbf77ff),
  28007. 2: uint32(0xfffff04f),
  28008. 3: uint32(0x0ff8ffff),
  28009. 4: uint32(0xfddfa3be),
  28010. 5: uint32(0xfffdfc1c),
  28011. 6: uint32(0xfb9e1f7d),
  28012. 7: uint32(0xdedcbdff),
  28013. },
  28014. },
  28015. 700: {
  28016. Fmap1: [8]TFcChar32{
  28017. 0: uint32(0xbafb3f6f),
  28018. 1: uint32(0xfbefdf7f),
  28019. 2: uint32(0x2eec7d1b),
  28020. 3: uint32(0xf2f7af8e),
  28021. 4: uint32(0xcfee7b0f),
  28022. 5: uint32(0x77c61d96),
  28023. 6: uint32(0xfff57e07),
  28024. 7: uint32(0x7fdfd982),
  28025. },
  28026. },
  28027. 701: {
  28028. Fmap1: [8]TFcChar32{
  28029. 0: uint32(0xc7ff5ee6),
  28030. 1: uint32(0x79effeee),
  28031. 2: uint32(0xffcf9a56),
  28032. 3: uint32(0xde5efe5f),
  28033. 4: uint32(0xf9e8896e),
  28034. 5: uint32(0xe6c4f45e),
  28035. 6: uint32(0xbe7c0001),
  28036. 7: uint32(0xdddf3b7f),
  28037. },
  28038. },
  28039. 702: {
  28040. Fmap1: [8]TFcChar32{
  28041. 0: uint32(0xe9efd59d),
  28042. 1: uint32(0xde5334ac),
  28043. 2: uint32(0x4bf7f573),
  28044. 3: uint32(0x9eff7b4f),
  28045. 4: uint32(0x476eb8fe),
  28046. 5: uint32(0xff450dfb),
  28047. 6: uint32(0xfbfeabfd),
  28048. 7: uint32(0xddffe9d7),
  28049. },
  28050. },
  28051. 703: {
  28052. Fmap1: [8]TFcChar32{
  28053. 0: uint32(0x7fffedf7),
  28054. 1: uint32(0x7eebddfd),
  28055. 2: uint32(0xb7ffcfe7),
  28056. 3: uint32(0xef91bde9),
  28057. 4: uint32(0xd77c5d75),
  28058. },
  28059. },
  28060. 704: {
  28061. Fmap1: [8]TFcChar32{
  28062. 1: uint32(0xfa800000),
  28063. 2: uint32(0xb4f1ffee),
  28064. 3: uint32(0x2fefbf76),
  28065. 4: uint32(0x77bfb677),
  28066. 5: uint32(0xfffd9fbf),
  28067. 6: uint32(0xf6ae95bf),
  28068. 7: uint32(0x7f3b75ff),
  28069. },
  28070. },
  28071. 705: {
  28072. Fmap1: [8]TFcChar32{
  28073. 0: uint32(0x0af9a7f5),
  28074. 3: uint32(0x2bddfbd0),
  28075. 4: uint32(0x9a7ff633),
  28076. 5: uint32(0xd6fcfdab),
  28077. 6: uint32(0xbfebf9e6),
  28078. 7: uint32(0xf41fdfdf),
  28079. },
  28080. },
  28081. 706: {
  28082. Fmap1: [8]TFcChar32{
  28083. 0: uint32(0xffffa6fd),
  28084. 1: uint32(0xf37b4aff),
  28085. 2: uint32(0xfef97fb7),
  28086. 3: uint32(0x1d5cb6ff),
  28087. 4: uint32(0xe5ff7ff6),
  28088. 5: uint32(0x24041f7b),
  28089. 6: uint32(0xf99ebe05),
  28090. 7: uint32(0xdff2dbe3),
  28091. },
  28092. },
  28093. 707: {
  28094. Fmap1: [8]TFcChar32{
  28095. 0: uint32(0xfdff6fef),
  28096. 1: uint32(0xcbfcd679),
  28097. 2: uint32(0xefffebfd),
  28098. 3: uint32(0x0000001f),
  28099. 4: uint32(0x98000000),
  28100. 5: uint32(0x8017e148),
  28101. 6: uint32(0x00fe6a74),
  28102. 7: uint32(0xfdf16d7f),
  28103. },
  28104. },
  28105. 708: {
  28106. Fmap1: [8]TFcChar32{
  28107. 0: uint32(0xfef3b87f),
  28108. 1: uint32(0xf176e01f),
  28109. 2: uint32(0x7b3fee96),
  28110. 3: uint32(0xfffdeb8d),
  28111. 4: uint32(0xcbb3adff),
  28112. 5: uint32(0xe17f84ef),
  28113. 6: uint32(0xbff04daa),
  28114. 7: uint32(0xfe3fbf3f),
  28115. },
  28116. },
  28117. 709: {
  28118. Fmap1: [8]TFcChar32{
  28119. 0: uint32(0xffd7ebff),
  28120. 1: uint32(0xcf7fffdf),
  28121. 2: uint32(0x85edfffb),
  28122. 3: uint32(0x07bcd73f),
  28123. 4: uint32(0xfe0faeff),
  28124. 5: uint32(0x76bffdaf),
  28125. 6: uint32(0x37bbfaef),
  28126. 7: uint32(0xa3ba7fdc),
  28127. },
  28128. },
  28129. 710: {
  28130. Fmap1: [8]TFcChar32{
  28131. 0: uint32(0x56f7b6ff),
  28132. 1: uint32(0xe7df60f8),
  28133. 2: uint32(0x4cdfff61),
  28134. 3: uint32(0xff45b0fb),
  28135. 4: uint32(0x3ffa7ded),
  28136. 5: uint32(0x18fc1fff),
  28137. 6: uint32(0xe3afffff),
  28138. 7: uint32(0xdf83c7d3),
  28139. },
  28140. },
  28141. 711: {
  28142. Fmap1: [8]TFcChar32{
  28143. 0: uint32(0xef7dfb57),
  28144. 1: uint32(0x1378efff),
  28145. 2: uint32(0x5ff7fec0),
  28146. 3: uint32(0x5ee334bb),
  28147. 4: uint32(0xeff6f70d),
  28148. 5: uint32(0x00bfd7fe),
  28149. 6: uint32(0xf7f7f59d),
  28150. 7: uint32(0xffe051de),
  28151. },
  28152. },
  28153. 712: {
  28154. Fmap1: [8]TFcChar32{
  28155. 0: uint32(0x037ffec9),
  28156. 1: uint32(0xbfef5f01),
  28157. 2: uint32(0x60a79ff1),
  28158. 3: uint32(0xf1ffef1d),
  28159. 4: uint32(0x0000000f),
  28160. },
  28161. },
  28162. 713: {
  28163. Fmap1: [8]TFcChar32{
  28164. 3: uint32(0x3c800000),
  28165. 4: uint32(0xd91ffb4d),
  28166. 5: uint32(0xfee37b3a),
  28167. 6: uint32(0xdc7f3fe9),
  28168. 7: uint32(0x0000003f),
  28169. },
  28170. },
  28171. 714: {
  28172. Fmap1: [8]TFcChar32{
  28173. 0: uint32(0x50000000),
  28174. 1: uint32(0xbe07f51f),
  28175. 2: uint32(0xf91bfc1d),
  28176. 3: uint32(0x71ffbc1e),
  28177. 4: uint32(0x5bbe6ff9),
  28178. 5: uint32(0x9b1b5796),
  28179. 6: uint32(0xfffc7fff),
  28180. 7: uint32(0xafe7872e),
  28181. },
  28182. },
  28183. 715: {
  28184. Fmap1: [8]TFcChar32{
  28185. 0: uint32(0xf34febf5),
  28186. 1: uint32(0xe725dffd),
  28187. 2: uint32(0x5d440bdc),
  28188. 3: uint32(0xfddd5747),
  28189. 4: uint32(0x7790ed3f),
  28190. 5: uint32(0x8ac87d7f),
  28191. 6: uint32(0xf3f9fafa),
  28192. 7: uint32(0xef4b202a),
  28193. },
  28194. },
  28195. 716: {
  28196. Fmap1: [8]TFcChar32{
  28197. 0: uint32(0x79cff5ff),
  28198. 1: uint32(0x0ba5abd3),
  28199. 2: uint32(0xfb8ff77a),
  28200. 3: uint32(0x001f8ebd),
  28201. 5: uint32(0xfd4ef300),
  28202. 6: uint32(0x88001a57),
  28203. 7: uint32(0x7654aeac),
  28204. },
  28205. },
  28206. 717: {
  28207. Fmap1: [8]TFcChar32{
  28208. 0: uint32(0xcdff17ad),
  28209. 1: uint32(0xf42fffb2),
  28210. 2: uint32(0xdbff5baa),
  28211. 3: uint32(0x00000002),
  28212. 4: uint32(0x73c00000),
  28213. 5: uint32(0x2e3ff9ea),
  28214. 6: uint32(0xbbfffa8e),
  28215. 7: uint32(0xffd376bc),
  28216. },
  28217. },
  28218. 718: {
  28219. Fmap1: [8]TFcChar32{
  28220. 0: uint32(0x7e72eefe),
  28221. 1: uint32(0xe7f77ebd),
  28222. 2: uint32(0xcefdf77f),
  28223. 3: uint32(0x00000ff5),
  28224. 5: uint32(0xdb9ba900),
  28225. 6: uint32(0x917fa4c7),
  28226. 7: uint32(0x7ecef8ca),
  28227. },
  28228. },
  28229. 719: {
  28230. Fmap1: [8]TFcChar32{
  28231. 0: uint32(0xc7e77d7a),
  28232. 1: uint32(0xdcaecbbd),
  28233. 2: uint32(0x8f76fd7e),
  28234. 3: uint32(0x7cf391d3),
  28235. 4: uint32(0x4c2f01e5),
  28236. 5: uint32(0xa360ed77),
  28237. 6: uint32(0x5ef807db),
  28238. 7: uint32(0x21811df7),
  28239. },
  28240. },
  28241. 720: {
  28242. Fmap1: [8]TFcChar32{
  28243. 0: uint32(0x309c6be0),
  28244. 1: uint32(0xfade3b3a),
  28245. 2: uint32(0xc3f57f53),
  28246. 3: uint32(0x07ba61cd),
  28247. 7: uint32(0xbefe26e0),
  28248. },
  28249. },
  28250. 721: {
  28251. Fmap1: [8]TFcChar32{
  28252. 0: uint32(0xebb503f9),
  28253. 1: uint32(0xe9cbe36d),
  28254. 2: uint32(0xbfde9c2f),
  28255. 3: uint32(0xabbf9f83),
  28256. 4: uint32(0xffd51ff7),
  28257. 5: uint32(0xdffeb7df),
  28258. 6: uint32(0xffeffdae),
  28259. 7: uint32(0xeffdfb7e),
  28260. },
  28261. },
  28262. 722: {
  28263. Fmap1: [8]TFcChar32{
  28264. 0: uint32(0x6ebfaaff),
  28265. 3: uint32(0xb6200000),
  28266. 4: uint32(0xbe9e7fcd),
  28267. 5: uint32(0x58f162b3),
  28268. 6: uint32(0xfd7bf10d),
  28269. 7: uint32(0xbefde9f1),
  28270. },
  28271. },
  28272. 723: {
  28273. Fmap1: [8]TFcChar32{
  28274. 0: uint32(0x5f6dc6c3),
  28275. 1: uint32(0x69ffff3d),
  28276. 2: uint32(0xfbf4ffcf),
  28277. 3: uint32(0x4ff7dcfb),
  28278. 4: uint32(0x11372000),
  28279. 5: uint32(0x00000015),
  28280. },
  28281. },
  28282. 724: {
  28283. Fmap1: [8]TFcChar32{
  28284. 0: uint32(0x00003000),
  28285. },
  28286. },
  28287. },
  28288. Fleaf_offsets: [780]Tuintptr_t{
  28289. 0: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(0)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(0)*libc.Uint64FromInt64(8)),
  28290. 1: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(1)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(1)*libc.Uint64FromInt64(8)),
  28291. 2: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(8)),
  28292. 3: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(3)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(8)),
  28293. 4: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8)),
  28294. 5: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(5)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8)),
  28295. 6: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(6)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8)),
  28296. 7: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(7)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8)),
  28297. 8: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(8)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8)),
  28298. 9: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(8)),
  28299. 10: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(10)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(8)),
  28300. 11: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(8)),
  28301. 12: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(12)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(12)*libc.Uint64FromInt64(8)),
  28302. 13: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(13)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(13)*libc.Uint64FromInt64(8)),
  28303. 14: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(8)),
  28304. 15: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(8)),
  28305. 16: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(15)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(8)),
  28306. 17: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(17)*libc.Uint64FromInt64(8)),
  28307. 18: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(17)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(8)),
  28308. 19: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(8)),
  28309. 20: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(19)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(8)),
  28310. 21: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(20)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(8)),
  28311. 22: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(22)*libc.Uint64FromInt64(8)),
  28312. 23: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(22)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(8)),
  28313. 24: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8)),
  28314. 25: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8)),
  28315. 26: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(25)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8)),
  28316. 27: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(26)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8)),
  28317. 28: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(27)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(28)*libc.Uint64FromInt64(8)),
  28318. 29: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(28)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(29)*libc.Uint64FromInt64(8)),
  28319. 30: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(29)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8)),
  28320. 31: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(8)),
  28321. 32: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(8)),
  28322. 33: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(8)),
  28323. 34: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(33)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(8)),
  28324. 35: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(8)),
  28325. 36: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(34)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(8)),
  28326. 37: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(8)),
  28327. 38: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(36)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(38)*libc.Uint64FromInt64(8)),
  28328. 39: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(37)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(8)),
  28329. 40: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(38)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(8)),
  28330. 41: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(41)*libc.Uint64FromInt64(8)),
  28331. 42: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(8)),
  28332. 43: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(8)),
  28333. 44: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(41)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(44)*libc.Uint64FromInt64(8)),
  28334. 45: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(8)),
  28335. 46: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(43)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(8)),
  28336. 47: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(44)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(8)),
  28337. 48: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(8)),
  28338. 49: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(46)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(49)*libc.Uint64FromInt64(8)),
  28339. 50: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(50)*libc.Uint64FromInt64(8)),
  28340. 51: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(48)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(51)*libc.Uint64FromInt64(8)),
  28341. 52: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(49)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(8)),
  28342. 53: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(50)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(8)),
  28343. 54: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(51)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(8)),
  28344. 55: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(8)),
  28345. 56: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(53)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(8)),
  28346. 57: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(8)),
  28347. 58: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(55)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(8)),
  28348. 59: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(8)),
  28349. 60: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(57)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(60)*libc.Uint64FromInt64(8)),
  28350. 61: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(8)),
  28351. 62: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(59)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(8)),
  28352. 63: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(60)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(8)),
  28353. 64: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(8)),
  28354. 65: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(62)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(8)),
  28355. 66: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(66)*libc.Uint64FromInt64(8)),
  28356. 67: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(64)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(8)),
  28357. 68: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(65)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(68)*libc.Uint64FromInt64(8)),
  28358. 69: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(66)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(69)*libc.Uint64FromInt64(8)),
  28359. 70: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(8)),
  28360. 71: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(8)),
  28361. 72: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(68)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(8)),
  28362. 73: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(69)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(8)),
  28363. 74: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(8)),
  28364. 75: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(71)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(75)*libc.Uint64FromInt64(8)),
  28365. 76: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(8)),
  28366. 77: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(72)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(8)),
  28367. 78: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(73)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(8)),
  28368. 79: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(8)),
  28369. 80: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(75)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(80)*libc.Uint64FromInt64(8)),
  28370. 81: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(8)),
  28371. 82: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(8)),
  28372. 83: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(77)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(8)),
  28373. 84: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(8)),
  28374. 85: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(8)),
  28375. 86: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(79)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(8)),
  28376. 87: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8)),
  28377. 88: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(80)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(88)*libc.Uint64FromInt64(8)),
  28378. 89: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(89)*libc.Uint64FromInt64(8)),
  28379. 90: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(82)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(90)*libc.Uint64FromInt64(8)),
  28380. 91: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(83)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(8)),
  28381. 92: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(8)),
  28382. 93: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(85)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(8)),
  28383. 94: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(94)*libc.Uint64FromInt64(8)),
  28384. 95: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(8)),
  28385. 96: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(88)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(8)),
  28386. 97: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(89)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(8)),
  28387. 98: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(90)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(8)),
  28388. 99: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(8)),
  28389. 100: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(92)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(100)*libc.Uint64FromInt64(8)),
  28390. 101: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(93)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(101)*libc.Uint64FromInt64(8)),
  28391. 102: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(8)),
  28392. 103: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(94)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(8)),
  28393. 104: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(8)),
  28394. 105: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(8)),
  28395. 106: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(96)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(8)),
  28396. 107: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(8)),
  28397. 108: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(98)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(8)),
  28398. 109: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(99)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(8)),
  28399. 110: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(100)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(8)),
  28400. 111: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(101)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(111)*libc.Uint64FromInt64(8)),
  28401. 112: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(8)),
  28402. 113: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(103)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(8)),
  28403. 114: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(104)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(114)*libc.Uint64FromInt64(8)),
  28404. 115: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(8)),
  28405. 116: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(8)),
  28406. 117: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(106)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(8)),
  28407. 118: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(107)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(8)),
  28408. 119: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(53)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(8)),
  28409. 120: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(8)),
  28410. 121: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(8)),
  28411. 122: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8)),
  28412. 123: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8)),
  28413. 124: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8)),
  28414. 125: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8)),
  28415. 126: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(110)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8)),
  28416. 127: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(111)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(8)),
  28417. 128: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(8)),
  28418. 129: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(113)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(8)),
  28419. 130: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(114)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(8)),
  28420. 131: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(8)),
  28421. 132: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(116)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(8)),
  28422. 133: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(117)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28423. 134: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28424. 135: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28425. 136: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28426. 137: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(121)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28427. 138: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28428. 139: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(123)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28429. 140: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(124)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28430. 141: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(125)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28431. 142: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(126)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28432. 143: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28433. 144: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28434. 145: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28435. 146: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28436. 147: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(131)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28437. 148: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28438. 149: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28439. 150: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(134)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28440. 151: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(135)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28441. 152: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(136)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28442. 153: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(137)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28443. 154: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(138)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28444. 155: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(139)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28445. 156: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(140)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28446. 157: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(141)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28447. 158: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(142)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28448. 159: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(143)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28449. 160: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(144)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28450. 161: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(145)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28451. 162: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(146)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28452. 163: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(147)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28453. 164: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(148)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28454. 165: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(149)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28455. 166: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(150)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28456. 167: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(151)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28457. 168: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(152)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28458. 169: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(153)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28459. 170: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(154)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28460. 171: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(155)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28461. 172: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(156)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28462. 173: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(157)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28463. 174: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(158)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28464. 175: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(159)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28465. 176: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(160)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28466. 177: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(161)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28467. 178: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(162)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28468. 179: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(163)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28469. 180: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(164)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28470. 181: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(165)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28471. 182: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(166)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28472. 183: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(167)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28473. 184: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(168)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28474. 185: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(169)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28475. 186: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(170)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28476. 187: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(171)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28477. 188: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(172)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28478. 189: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(173)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28479. 190: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(174)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28480. 191: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(175)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28481. 192: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(176)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28482. 193: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(177)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28483. 194: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(178)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28484. 195: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(179)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28485. 196: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(180)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28486. 197: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(181)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28487. 198: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(182)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28488. 199: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(183)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28489. 200: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(184)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28490. 201: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(185)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28491. 202: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(186)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28492. 203: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(187)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28493. 204: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(188)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28494. 205: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(189)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28495. 206: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(190)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28496. 207: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(191)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28497. 208: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(192)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28498. 209: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(193)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28499. 210: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(194)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28500. 211: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(195)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28501. 212: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(196)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28502. 213: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(197)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28503. 214: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(198)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28504. 215: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(199)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  28505. 216: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(200)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(8)),
  28506. 217: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(201)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(8)),
  28507. 218: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(202)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(8)),
  28508. 219: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(8)),
  28509. 220: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(203)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(8)),
  28510. 221: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(204)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(8)),
  28511. 222: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(205)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(8)),
  28512. 223: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(206)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(8)),
  28513. 224: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(207)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(8)),
  28514. 225: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(208)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  28515. 226: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(209)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28516. 227: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(210)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28517. 228: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(211)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28518. 229: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(212)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28519. 230: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(213)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28520. 231: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(214)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28521. 232: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(215)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28522. 233: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28523. 234: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28524. 235: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28525. 236: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28526. 237: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(220)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28527. 238: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28528. 239: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28529. 240: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(223)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28530. 241: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28531. 242: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28532. 243: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28533. 244: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(227)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28534. 245: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(228)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28535. 246: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(229)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28536. 247: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(230)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28537. 248: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(231)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28538. 249: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(232)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28539. 250: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(233)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28540. 251: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(234)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28541. 252: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(235)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28542. 253: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(236)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28543. 254: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(237)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28544. 255: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(238)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28545. 256: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(239)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28546. 257: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(240)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28547. 258: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(241)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28548. 259: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(242)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28549. 260: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(243)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28550. 261: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(244)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28551. 262: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(245)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28552. 263: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(246)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28553. 264: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(247)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28554. 265: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(248)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28555. 266: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(249)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28556. 267: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(250)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28557. 268: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(251)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28558. 269: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(252)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28559. 270: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(253)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  28560. 271: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(8)),
  28561. 272: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(254)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(8)),
  28562. 273: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(255)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(8)),
  28563. 274: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(256)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(8)),
  28564. 275: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(257)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(8)),
  28565. 276: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(258)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(8)),
  28566. 277: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(259)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(8)),
  28567. 278: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(260)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(8)),
  28568. 279: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(261)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(8)),
  28569. 280: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(262)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8)),
  28570. 281: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(263)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(8)),
  28571. 282: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(8)),
  28572. 283: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(96)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(8)),
  28573. 284: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(264)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(8)),
  28574. 285: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(265)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(8)),
  28575. 286: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(8)),
  28576. 287: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(266)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(8)),
  28577. 288: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(267)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(8)),
  28578. 289: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(268)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(8)),
  28579. 290: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(8)),
  28580. 291: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(269)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(8)),
  28581. 292: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(270)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(8)),
  28582. 293: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(8)),
  28583. 294: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(272)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(8)),
  28584. 295: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(6)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(8)),
  28585. 296: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(273)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(8)),
  28586. 297: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(8)),
  28587. 298: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(8)),
  28588. 299: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(8)),
  28589. 300: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(8)),
  28590. 301: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(276)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(8)),
  28591. 302: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(8)),
  28592. 303: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(8)),
  28593. 304: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(8)),
  28594. 305: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(8)),
  28595. 306: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(96)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(8)),
  28596. 307: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(8)),
  28597. 308: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(8)),
  28598. 309: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(8)),
  28599. 310: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(8)),
  28600. 311: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(283)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(8)),
  28601. 312: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(284)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(8)),
  28602. 313: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(8)),
  28603. 314: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(8)),
  28604. 315: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(8)),
  28605. 316: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(262)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(8)),
  28606. 317: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(287)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(8)),
  28607. 318: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(8)),
  28608. 319: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(8)),
  28609. 320: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(8)),
  28610. 321: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(8)),
  28611. 322: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(291)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(8)),
  28612. 323: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(8)),
  28613. 324: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(8)),
  28614. 325: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(294)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(8)),
  28615. 326: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(295)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(8)),
  28616. 327: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(296)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(8)),
  28617. 328: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(8)),
  28618. 329: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(8)),
  28619. 330: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(299)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(8)),
  28620. 331: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(8)),
  28621. 332: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(301)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(8)),
  28622. 333: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(8)),
  28623. 334: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(8)),
  28624. 335: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(8)),
  28625. 336: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(304)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(8)),
  28626. 337: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(8)),
  28627. 338: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(306)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(8)),
  28628. 339: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(307)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(8)),
  28629. 340: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(8)),
  28630. 341: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(99)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(8)),
  28631. 342: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(8)),
  28632. 343: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(8)),
  28633. 344: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(8)),
  28634. 345: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(8)),
  28635. 346: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(8)),
  28636. 347: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(8)),
  28637. 348: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(314)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(8)),
  28638. 349: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(8)),
  28639. 350: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(8)),
  28640. 351: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(8)),
  28641. 352: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(315)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(8)),
  28642. 353: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(316)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(8)),
  28643. 354: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(8)),
  28644. 355: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(8)),
  28645. 356: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(318)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(8)),
  28646. 357: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(8)),
  28647. 358: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(8)),
  28648. 359: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(321)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(8)),
  28649. 360: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(8)),
  28650. 361: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(8)),
  28651. 362: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(8)),
  28652. 363: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(8)),
  28653. 364: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(8)),
  28654. 365: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(8)),
  28655. 366: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(8)),
  28656. 367: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(8)),
  28657. 368: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(328)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(8)),
  28658. 369: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(10)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(8)),
  28659. 370: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(8)),
  28660. 371: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(330)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(8)),
  28661. 372: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(8)),
  28662. 373: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(8)),
  28663. 374: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(331)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(8)),
  28664. 375: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(332)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(8)),
  28665. 376: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(8)),
  28666. 377: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(334)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(8)),
  28667. 378: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(8)),
  28668. 379: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(8)),
  28669. 380: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(8)),
  28670. 381: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(8)),
  28671. 382: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(8)),
  28672. 383: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(8)),
  28673. 384: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(8)),
  28674. 385: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(342)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(8)),
  28675. 386: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(8)),
  28676. 387: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(8)),
  28677. 388: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(8)),
  28678. 389: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(8)),
  28679. 390: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(43)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(8)),
  28680. 391: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(347)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(8)),
  28681. 392: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(8)),
  28682. 393: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(8)),
  28683. 394: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(8)),
  28684. 395: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(350)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(8)),
  28685. 396: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(351)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(8)),
  28686. 397: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(96)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(8)),
  28687. 398: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(8)),
  28688. 399: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(8)),
  28689. 400: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8)),
  28690. 401: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  28691. 402: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  28692. 403: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(356)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  28693. 404: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(357)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  28694. 405: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  28695. 406: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  28696. 407: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(360)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  28697. 408: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  28698. 409: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  28699. 410: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(363)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  28700. 411: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(364)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  28701. 412: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  28702. 413: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(366)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  28703. 414: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  28704. 415: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  28705. 416: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(369)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  28706. 417: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  28707. 418: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(371)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  28708. 419: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  28709. 420: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(373)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  28710. 421: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  28711. 422: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  28712. 423: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  28713. 424: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(377)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  28714. 425: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(8)),
  28715. 426: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(8)),
  28716. 427: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(379)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(8)),
  28717. 428: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(380)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(8)),
  28718. 429: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(8)),
  28719. 430: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(8)),
  28720. 431: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(8)),
  28721. 432: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(8)),
  28722. 433: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(8)),
  28723. 434: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(8)),
  28724. 435: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(99)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(8)),
  28725. 436: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(8)),
  28726. 437: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(8)),
  28727. 438: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(269)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(8)),
  28728. 439: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(8)),
  28729. 440: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(8)),
  28730. 441: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(390)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(8)),
  28731. 442: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(8)),
  28732. 443: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(392)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(8)),
  28733. 444: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28734. 445: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(394)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28735. 446: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28736. 447: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28737. 448: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(397)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28738. 449: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(398)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28739. 450: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28740. 451: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28741. 452: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28742. 453: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(402)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28743. 454: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(403)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28744. 455: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(404)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28745. 456: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(405)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28746. 457: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(406)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28747. 458: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(407)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28748. 459: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(408)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28749. 460: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(409)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28750. 461: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(410)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28751. 462: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(411)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28752. 463: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28753. 464: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28754. 465: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(414)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28755. 466: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(415)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28756. 467: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(416)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28757. 468: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(417)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28758. 469: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(418)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28759. 470: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(419)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28760. 471: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(420)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28761. 472: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(421)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28762. 473: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(422)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28763. 474: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(423)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28764. 475: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(424)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28765. 476: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28766. 477: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(426)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28767. 478: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28768. 479: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(428)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28769. 480: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(429)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28770. 481: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(430)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28771. 482: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28772. 483: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28773. 484: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(433)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28774. 485: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28775. 486: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28776. 487: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(436)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28777. 488: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28778. 489: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(438)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28779. 490: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28780. 491: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28781. 492: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(441)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28782. 493: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(442)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28783. 494: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28784. 495: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28785. 496: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(445)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28786. 497: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(446)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28787. 498: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(447)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28788. 499: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(448)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28789. 500: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(449)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28790. 501: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(450)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28791. 502: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(451)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28792. 503: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(452)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28793. 504: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(453)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28794. 505: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(454)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28795. 506: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(455)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28796. 507: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(456)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28797. 508: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(457)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28798. 509: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(458)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28799. 510: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(459)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28800. 511: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(460)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28801. 512: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(461)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28802. 513: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(462)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28803. 514: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(463)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28804. 515: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(464)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28805. 516: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(465)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28806. 517: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(466)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28807. 518: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(467)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28808. 519: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(468)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28809. 520: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(469)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28810. 521: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(470)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28811. 522: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(471)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28812. 523: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(472)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28813. 524: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(473)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28814. 525: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(474)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  28815. 526: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(475)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28816. 527: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(476)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28817. 528: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(477)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28818. 529: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(478)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28819. 530: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(479)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28820. 531: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(480)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28821. 532: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(481)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28822. 533: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(482)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28823. 534: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(483)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28824. 535: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(484)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28825. 536: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(485)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28826. 537: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(486)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28827. 538: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(487)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28828. 539: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(488)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28829. 540: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(489)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28830. 541: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(490)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28831. 542: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(491)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28832. 543: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(492)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28833. 544: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(493)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28834. 545: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(494)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28835. 546: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(495)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28836. 547: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(496)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28837. 548: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(497)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28838. 549: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(498)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28839. 550: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(499)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28840. 551: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(500)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28841. 552: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(501)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28842. 553: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(502)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28843. 554: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(503)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28844. 555: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(504)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28845. 556: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(505)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28846. 557: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(506)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28847. 558: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(507)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28848. 559: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(508)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28849. 560: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(509)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28850. 561: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(510)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28851. 562: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(511)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28852. 563: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(512)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28853. 564: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(513)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28854. 565: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(514)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28855. 566: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(515)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28856. 567: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(516)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28857. 568: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(517)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28858. 569: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(518)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28859. 570: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(519)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28860. 571: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(520)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28861. 572: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(521)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28862. 573: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(522)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28863. 574: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(523)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28864. 575: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(524)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28865. 576: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28866. 577: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28867. 578: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(527)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28868. 579: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(528)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28869. 580: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(529)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28870. 581: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(530)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28871. 582: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(531)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28872. 583: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(532)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28873. 584: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(533)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28874. 585: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(534)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28875. 586: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(535)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28876. 587: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(536)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28877. 588: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(537)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28878. 589: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(538)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28879. 590: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(539)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28880. 591: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(540)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28881. 592: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(541)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28882. 593: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(542)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28883. 594: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(543)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28884. 595: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(544)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28885. 596: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(545)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28886. 597: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(546)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28887. 598: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(547)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28888. 599: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(548)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28889. 600: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(549)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28890. 601: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(550)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28891. 602: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(551)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28892. 603: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(552)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28893. 604: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(553)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28894. 605: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(554)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28895. 606: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(555)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28896. 607: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(556)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28897. 608: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(557)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28898. 609: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(558)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28899. 610: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(559)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28900. 611: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(560)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28901. 612: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(561)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28902. 613: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(562)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28903. 614: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(563)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28904. 615: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(564)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28905. 616: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(565)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28906. 617: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(566)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28907. 618: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(567)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28908. 619: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(568)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28909. 620: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(569)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28910. 621: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(570)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28911. 622: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(571)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28912. 623: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(572)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28913. 624: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(573)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28914. 625: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(574)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28915. 626: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(575)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28916. 627: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(576)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28917. 628: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(577)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28918. 629: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(578)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28919. 630: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(579)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28920. 631: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(580)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28921. 632: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(581)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28922. 633: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(582)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28923. 634: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(583)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28924. 635: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(584)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28925. 636: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(585)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28926. 637: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(586)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28927. 638: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(587)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28928. 639: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(588)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28929. 640: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(589)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28930. 641: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(590)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28931. 642: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(591)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28932. 643: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(592)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28933. 644: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(593)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28934. 645: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(594)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28935. 646: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(595)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28936. 647: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(596)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28937. 648: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(597)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28938. 649: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(598)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28939. 650: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(599)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28940. 651: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(600)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28941. 652: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(601)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28942. 653: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(602)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28943. 654: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(603)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28944. 655: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(604)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28945. 656: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28946. 657: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(605)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28947. 658: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(606)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28948. 659: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(318)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28949. 660: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(607)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28950. 661: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(608)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28951. 662: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(609)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28952. 663: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(610)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28953. 664: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(611)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28954. 665: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(612)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28955. 666: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(613)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28956. 667: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(3)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28957. 668: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(614)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28958. 669: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(615)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28959. 670: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(616)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28960. 671: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(617)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28961. 672: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(618)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28962. 673: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(619)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28963. 674: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(604)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28964. 675: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(620)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28965. 676: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(621)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28966. 677: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(622)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28967. 678: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(623)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28968. 679: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(624)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28969. 680: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(625)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28970. 681: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(626)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28971. 682: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(627)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28972. 683: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(628)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28973. 684: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(629)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28974. 685: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(630)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28975. 686: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(631)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28976. 687: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(632)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28977. 688: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(633)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28978. 689: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(634)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28979. 690: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(635)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28980. 691: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(636)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28981. 692: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(637)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28982. 693: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(638)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28983. 694: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(639)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28984. 695: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(640)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28985. 696: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(641)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  28986. 697: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(642)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  28987. 698: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(643)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  28988. 699: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(644)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  28989. 700: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(645)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  28990. 701: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(646)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  28991. 702: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(647)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  28992. 703: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(648)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  28993. 704: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(649)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  28994. 705: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(650)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  28995. 706: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(651)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  28996. 707: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(652)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  28997. 708: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(653)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  28998. 709: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(654)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  28999. 710: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(655)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29000. 711: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(656)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29001. 712: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(657)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29002. 713: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(658)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29003. 714: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(659)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29004. 715: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(660)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29005. 716: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(661)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29006. 717: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(662)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29007. 718: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(663)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29008. 719: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(664)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29009. 720: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(665)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29010. 721: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(666)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29011. 722: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(667)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29012. 723: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(668)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29013. 724: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(669)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29014. 725: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(670)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29015. 726: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(671)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29016. 727: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(672)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29017. 728: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(673)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29018. 729: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(674)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29019. 730: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(675)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29020. 731: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(676)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29021. 732: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(677)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29022. 733: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(678)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29023. 734: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(679)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29024. 735: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(680)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29025. 736: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(681)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29026. 737: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(682)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29027. 738: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(683)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29028. 739: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(684)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29029. 740: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(685)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29030. 741: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(686)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29031. 742: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(687)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29032. 743: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(688)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29033. 744: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(689)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29034. 745: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(690)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29035. 746: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(691)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29036. 747: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(692)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29037. 748: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(693)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29038. 749: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(694)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29039. 750: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(695)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29040. 751: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29041. 752: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29042. 753: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(698)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29043. 754: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(699)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29044. 755: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(700)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29045. 756: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(701)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29046. 757: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(702)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29047. 758: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(703)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29048. 759: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(704)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29049. 760: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(705)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29050. 761: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(706)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29051. 762: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(707)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29052. 763: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(708)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29053. 764: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(709)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29054. 765: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(710)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29055. 766: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(711)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29056. 767: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(712)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29057. 768: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(713)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29058. 769: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(714)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29059. 770: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(715)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29060. 771: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(716)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29061. 772: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(717)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29062. 773: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(718)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29063. 774: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(719)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29064. 775: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(720)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29065. 776: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(721)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29066. 777: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(722)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29067. 778: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(723)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29068. 779: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(724)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  29069. },
  29070. Fnumbers: [780]TFcChar16{
  29071. 1: uint16(0x0004),
  29072. 3: uint16(0x0001),
  29073. 5: uint16(0x0001),
  29074. 6: uint16(0x0002),
  29075. 7: uint16(0x0003),
  29076. 8: uint16(0x001e),
  29077. 9: uint16(0x0012),
  29078. 10: uint16(0x0013),
  29079. 12: uint16(0x0006),
  29080. 13: uint16(0x0009),
  29081. 15: uint16(0x001e),
  29082. 16: uint16(0x0004),
  29083. 19: uint16(0x0001),
  29084. 20: uint16(0x0002),
  29085. 21: uint16(0x0006),
  29086. 22: uint16(0x0004),
  29087. 23: uint16(0x0004),
  29088. 25: uint16(0x0001),
  29089. 26: uint16(0x0002),
  29090. 27: uint16(0x001e),
  29091. 28: uint16(0x002d),
  29092. 29: uint16(0x0004),
  29093. 30: uint16(0x0009),
  29094. 33: uint16(0x0003),
  29095. 34: uint16(0x001e),
  29096. 36: uint16(0x0001),
  29097. 37: uint16(0x0002),
  29098. 38: uint16(0x0009),
  29099. 39: uint16(0x000f),
  29100. 41: uint16(0x0009),
  29101. 43: uint16(0x0001),
  29102. 44: uint16(0x0004),
  29103. 45: uint16(0x0012),
  29104. 46: uint16(0x0013),
  29105. 48: uint16(0x0001),
  29106. 50: uint16(0x0004),
  29107. 51: uint16(0x0013),
  29108. 53: uint16(0x0001),
  29109. 55: uint16(0x0001),
  29110. 57: uint16(0x0001),
  29111. 59: uint16(0x0001),
  29112. 60: uint16(0x0004),
  29113. 61: uint16(0x0001),
  29114. 62: uint16(0x0004),
  29115. 64: uint16(0x0001),
  29116. 65: uint16(0x001e),
  29117. 68: uint16(0x0009),
  29118. 69: uint16(0x0007),
  29119. 71: uint16(0x0001),
  29120. 72: uint16(0x0002),
  29121. 73: uint16(0x0003),
  29122. 74: uint16(0x0003),
  29123. 77: uint16(0x0001),
  29124. 79: uint16(0x0001),
  29125. 82: uint16(0x0001),
  29126. 83: uint16(0x0002),
  29127. 85: uint16(0x0001),
  29128. 92: uint16(0x0001),
  29129. 93: uint16(0x001e),
  29130. 95: uint16(0x0012),
  29131. 96: uint16(0x0013),
  29132. 98: uint16(0x0001),
  29133. 99: uint16(0x001e),
  29134. 100: uint16(0x000a),
  29135. 103: uint16(0x0001),
  29136. 104: uint16(0x0002),
  29137. 106: uint16(0x0001),
  29138. 107: uint16(0x0002),
  29139. 108: uint16(0x0005),
  29140. 110: uint16(0x0001),
  29141. 113: uint16(0x0001),
  29142. 114: uint16(0x0005),
  29143. 116: uint16(0x0003),
  29144. 117: uint16(0x001e),
  29145. 121: uint16(0x001e),
  29146. 122: uint16(0x00a0),
  29147. 123: uint16(0x00a1),
  29148. 124: uint16(0x00a2),
  29149. 125: uint16(0x00a3),
  29150. 126: uint16(0x00a4),
  29151. 127: uint16(0x0004),
  29152. 130: uint16(0x0014),
  29153. 131: uint16(0x0015),
  29154. 132: uint16(0x0016),
  29155. 133: uint16(0x0030),
  29156. 134: uint16(0x004e),
  29157. 135: uint16(0x004f),
  29158. 136: uint16(0x0050),
  29159. 137: uint16(0x0051),
  29160. 138: uint16(0x0052),
  29161. 139: uint16(0x0053),
  29162. 140: uint16(0x0054),
  29163. 141: uint16(0x0055),
  29164. 142: uint16(0x0056),
  29165. 143: uint16(0x0057),
  29166. 144: uint16(0x0058),
  29167. 145: uint16(0x0059),
  29168. 146: uint16(0x005a),
  29169. 147: uint16(0x005b),
  29170. 148: uint16(0x005c),
  29171. 149: uint16(0x005d),
  29172. 150: uint16(0x005e),
  29173. 151: uint16(0x005f),
  29174. 152: uint16(0x0060),
  29175. 153: uint16(0x0061),
  29176. 154: uint16(0x0062),
  29177. 155: uint16(0x0063),
  29178. 156: uint16(0x0064),
  29179. 157: uint16(0x0065),
  29180. 158: uint16(0x0066),
  29181. 159: uint16(0x0067),
  29182. 160: uint16(0x0068),
  29183. 161: uint16(0x0069),
  29184. 162: uint16(0x006a),
  29185. 163: uint16(0x006b),
  29186. 164: uint16(0x006c),
  29187. 165: uint16(0x006d),
  29188. 166: uint16(0x006e),
  29189. 167: uint16(0x006f),
  29190. 168: uint16(0x0070),
  29191. 169: uint16(0x0071),
  29192. 170: uint16(0x0072),
  29193. 171: uint16(0x0073),
  29194. 172: uint16(0x0074),
  29195. 173: uint16(0x0075),
  29196. 174: uint16(0x0076),
  29197. 175: uint16(0x0077),
  29198. 176: uint16(0x0078),
  29199. 177: uint16(0x0079),
  29200. 178: uint16(0x007a),
  29201. 179: uint16(0x007b),
  29202. 180: uint16(0x007c),
  29203. 181: uint16(0x007d),
  29204. 182: uint16(0x007e),
  29205. 183: uint16(0x007f),
  29206. 184: uint16(0x0080),
  29207. 185: uint16(0x0081),
  29208. 186: uint16(0x0082),
  29209. 187: uint16(0x0083),
  29210. 188: uint16(0x0084),
  29211. 189: uint16(0x0085),
  29212. 190: uint16(0x0086),
  29213. 191: uint16(0x0087),
  29214. 192: uint16(0x0088),
  29215. 193: uint16(0x0089),
  29216. 194: uint16(0x008a),
  29217. 195: uint16(0x008b),
  29218. 196: uint16(0x008c),
  29219. 197: uint16(0x008d),
  29220. 198: uint16(0x008e),
  29221. 199: uint16(0x008f),
  29222. 200: uint16(0x0090),
  29223. 201: uint16(0x0091),
  29224. 202: uint16(0x0092),
  29225. 203: uint16(0x0093),
  29226. 204: uint16(0x0094),
  29227. 205: uint16(0x0095),
  29228. 206: uint16(0x0096),
  29229. 207: uint16(0x0097),
  29230. 208: uint16(0x0098),
  29231. 209: uint16(0x0099),
  29232. 210: uint16(0x009a),
  29233. 211: uint16(0x009b),
  29234. 212: uint16(0x009c),
  29235. 213: uint16(0x009d),
  29236. 214: uint16(0x009e),
  29237. 215: uint16(0x009f),
  29238. 217: uint16(0x0010),
  29239. 218: uint16(0x0004),
  29240. 220: uint16(0x0001),
  29241. 221: uint16(0x0004),
  29242. 223: uint16(0x0001),
  29243. 224: uint16(0x0017),
  29244. 225: uint16(0x000c),
  29245. 226: uint16(0x0031),
  29246. 227: uint16(0x00ac),
  29247. 228: uint16(0x00ad),
  29248. 229: uint16(0x00ae),
  29249. 230: uint16(0x00af),
  29250. 231: uint16(0x00b0),
  29251. 232: uint16(0x00b1),
  29252. 233: uint16(0x00b2),
  29253. 234: uint16(0x00b3),
  29254. 235: uint16(0x00b4),
  29255. 236: uint16(0x00b5),
  29256. 237: uint16(0x00b6),
  29257. 238: uint16(0x00b7),
  29258. 239: uint16(0x00b8),
  29259. 240: uint16(0x00b9),
  29260. 241: uint16(0x00ba),
  29261. 242: uint16(0x00bb),
  29262. 243: uint16(0x00bc),
  29263. 244: uint16(0x00bd),
  29264. 245: uint16(0x00be),
  29265. 246: uint16(0x00bf),
  29266. 247: uint16(0x00c0),
  29267. 248: uint16(0x00c1),
  29268. 249: uint16(0x00c2),
  29269. 250: uint16(0x00c3),
  29270. 251: uint16(0x00c4),
  29271. 252: uint16(0x00c5),
  29272. 253: uint16(0x00c6),
  29273. 254: uint16(0x00c7),
  29274. 255: uint16(0x00c8),
  29275. 256: uint16(0x00c9),
  29276. 257: uint16(0x00ca),
  29277. 258: uint16(0x00cb),
  29278. 259: uint16(0x00cc),
  29279. 260: uint16(0x00cd),
  29280. 261: uint16(0x00ce),
  29281. 262: uint16(0x00cf),
  29282. 263: uint16(0x00d0),
  29283. 264: uint16(0x00d1),
  29284. 265: uint16(0x00d2),
  29285. 266: uint16(0x00d3),
  29286. 267: uint16(0x00d4),
  29287. 268: uint16(0x00d5),
  29288. 269: uint16(0x00d6),
  29289. 270: uint16(0x00d7),
  29290. 272: uint16(0x0001),
  29291. 273: uint16(0x0002),
  29292. 274: uint16(0x0006),
  29293. 275: uint16(0x0004),
  29294. 276: uint16(0x0005),
  29295. 277: uint16(0x0006),
  29296. 279: uint16(0x0001),
  29297. 280: uint16(0x0004),
  29298. 281: uint16(0x0004),
  29299. 283: uint16(0x0001),
  29300. 284: uint16(0x0002),
  29301. 285: uint16(0x0004),
  29302. 287: uint16(0x0001),
  29303. 288: uint16(0x0006),
  29304. 291: uint16(0x0001),
  29305. 294: uint16(0x0001),
  29306. 295: uint16(0x0002),
  29307. 296: uint16(0x0003),
  29308. 297: uint16(0x000e),
  29309. 299: uint16(0x0001),
  29310. 301: uint16(0x0001),
  29311. 304: uint16(0x0001),
  29312. 306: uint16(0x0001),
  29313. 307: uint16(0x001e),
  29314. 308: uint16(0x0004),
  29315. 309: uint16(0x000d),
  29316. 310: uint16(0x0018),
  29317. 311: uint16(0x0004),
  29318. 312: uint16(0x0009),
  29319. 314: uint16(0x0001),
  29320. 315: uint16(0x0002),
  29321. 316: uint16(0x0004),
  29322. 318: uint16(0x0001),
  29323. 319: uint16(0x0010),
  29324. 321: uint16(0x0001),
  29325. 323: uint16(0x0009),
  29326. 326: uint16(0x0007),
  29327. 328: uint16(0x0001),
  29328. 330: uint16(0x0001),
  29329. 331: uint16(0x0002),
  29330. 332: uint16(0x0003),
  29331. 334: uint16(0x0001),
  29332. 336: uint16(0x000b),
  29333. 337: uint16(0x0006),
  29334. 338: uint16(0x000a),
  29335. 342: uint16(0x0001),
  29336. 343: uint16(0x0006),
  29337. 344: uint16(0x0006),
  29338. 347: uint16(0x0002),
  29339. 350: uint16(0x0001),
  29340. 351: uint16(0x0002),
  29341. 352: uint16(0x0004),
  29342. 353: uint16(0x0009),
  29343. 356: uint16(0x0001),
  29344. 357: uint16(0x0002),
  29345. 358: uint16(0x0006),
  29346. 360: uint16(0x0001),
  29347. 363: uint16(0x0001),
  29348. 364: uint16(0x0004),
  29349. 366: uint16(0x0003),
  29350. 367: uint16(0x000d),
  29351. 368: uint16(0x0012),
  29352. 369: uint16(0x0013),
  29353. 371: uint16(0x0001),
  29354. 373: uint16(0x0002),
  29355. 377: uint16(0x0001),
  29356. 379: uint16(0x0001),
  29357. 380: uint16(0x0002),
  29358. 382: uint16(0x0004),
  29359. 384: uint16(0x0007),
  29360. 385: uint16(0x000b),
  29361. 386: uint16(0x000c),
  29362. 387: uint16(0x0004),
  29363. 388: uint16(0x000e),
  29364. 389: uint16(0x0012),
  29365. 390: uint16(0x0013),
  29366. 392: uint16(0x0001),
  29367. 394: uint16(0x0001),
  29368. 395: uint16(0x0004),
  29369. 397: uint16(0x0001),
  29370. 398: uint16(0x0002),
  29371. 399: uint16(0x0006),
  29372. 400: uint16(0x0004),
  29373. 402: uint16(0x0001),
  29374. 403: uint16(0x0003),
  29375. 404: uint16(0x0020),
  29376. 405: uint16(0x0021),
  29377. 406: uint16(0x0022),
  29378. 407: uint16(0x0023),
  29379. 408: uint16(0x0025),
  29380. 409: uint16(0x0027),
  29381. 410: uint16(0x01d4),
  29382. 411: uint16(0x01d5),
  29383. 412: uint16(0x01d6),
  29384. 413: uint16(0x0023),
  29385. 414: uint16(0x0025),
  29386. 415: uint16(0x0026),
  29387. 416: uint16(0x0027),
  29388. 417: uint16(0x002b),
  29389. 418: uint16(0x01f0),
  29390. 419: uint16(0x01f1),
  29391. 420: uint16(0x01f2),
  29392. 421: uint16(0x01f3),
  29393. 422: uint16(0x01f4),
  29394. 423: uint16(0x01f5),
  29395. 424: uint16(0x01f6),
  29396. 426: uint16(0x001e),
  29397. 428: uint16(0x0001),
  29398. 429: uint16(0x0003),
  29399. 430: uint16(0x001e),
  29400. 433: uint16(0x0001),
  29401. 436: uint16(0x0001),
  29402. 438: uint16(0x0001),
  29403. 441: uint16(0x0001),
  29404. 442: uint16(0x0003),
  29405. 443: uint16(0x001e),
  29406. 444: uint16(0x0002),
  29407. 445: uint16(0x004e),
  29408. 446: uint16(0x004f),
  29409. 447: uint16(0x0050),
  29410. 448: uint16(0x0051),
  29411. 449: uint16(0x0052),
  29412. 450: uint16(0x0053),
  29413. 451: uint16(0x0054),
  29414. 452: uint16(0x0055),
  29415. 453: uint16(0x0056),
  29416. 454: uint16(0x0057),
  29417. 455: uint16(0x0058),
  29418. 456: uint16(0x0059),
  29419. 457: uint16(0x005a),
  29420. 458: uint16(0x005b),
  29421. 459: uint16(0x005c),
  29422. 460: uint16(0x005d),
  29423. 461: uint16(0x005e),
  29424. 462: uint16(0x005f),
  29425. 463: uint16(0x0060),
  29426. 464: uint16(0x0061),
  29427. 465: uint16(0x0062),
  29428. 466: uint16(0x0063),
  29429. 467: uint16(0x0064),
  29430. 468: uint16(0x0065),
  29431. 469: uint16(0x0066),
  29432. 470: uint16(0x0067),
  29433. 471: uint16(0x0068),
  29434. 472: uint16(0x0069),
  29435. 473: uint16(0x006a),
  29436. 474: uint16(0x006b),
  29437. 475: uint16(0x006c),
  29438. 476: uint16(0x006d),
  29439. 477: uint16(0x006e),
  29440. 478: uint16(0x006f),
  29441. 479: uint16(0x0070),
  29442. 480: uint16(0x0071),
  29443. 481: uint16(0x0072),
  29444. 482: uint16(0x0073),
  29445. 483: uint16(0x0074),
  29446. 484: uint16(0x0075),
  29447. 485: uint16(0x0076),
  29448. 486: uint16(0x0077),
  29449. 487: uint16(0x0078),
  29450. 488: uint16(0x0079),
  29451. 489: uint16(0x007a),
  29452. 490: uint16(0x007b),
  29453. 491: uint16(0x007c),
  29454. 492: uint16(0x007d),
  29455. 493: uint16(0x007e),
  29456. 494: uint16(0x007f),
  29457. 495: uint16(0x0080),
  29458. 496: uint16(0x0081),
  29459. 497: uint16(0x0082),
  29460. 498: uint16(0x0083),
  29461. 499: uint16(0x0084),
  29462. 500: uint16(0x0085),
  29463. 501: uint16(0x0086),
  29464. 502: uint16(0x0087),
  29465. 503: uint16(0x0088),
  29466. 504: uint16(0x0089),
  29467. 505: uint16(0x008a),
  29468. 506: uint16(0x008b),
  29469. 507: uint16(0x008c),
  29470. 508: uint16(0x008d),
  29471. 509: uint16(0x008e),
  29472. 510: uint16(0x008f),
  29473. 511: uint16(0x0090),
  29474. 512: uint16(0x0091),
  29475. 513: uint16(0x0092),
  29476. 514: uint16(0x0093),
  29477. 515: uint16(0x0094),
  29478. 516: uint16(0x0095),
  29479. 517: uint16(0x0096),
  29480. 518: uint16(0x0097),
  29481. 519: uint16(0x0098),
  29482. 520: uint16(0x0099),
  29483. 521: uint16(0x009a),
  29484. 522: uint16(0x009b),
  29485. 523: uint16(0x009c),
  29486. 524: uint16(0x009e),
  29487. 525: uint16(0x009f),
  29488. 526: uint16(0x0030),
  29489. 527: uint16(0x0034),
  29490. 528: uint16(0x0035),
  29491. 529: uint16(0x0036),
  29492. 530: uint16(0x0037),
  29493. 531: uint16(0x0038),
  29494. 532: uint16(0x0039),
  29495. 533: uint16(0x003a),
  29496. 534: uint16(0x003b),
  29497. 535: uint16(0x003c),
  29498. 536: uint16(0x003d),
  29499. 537: uint16(0x003e),
  29500. 538: uint16(0x003f),
  29501. 539: uint16(0x0040),
  29502. 540: uint16(0x0041),
  29503. 541: uint16(0x0042),
  29504. 542: uint16(0x0043),
  29505. 543: uint16(0x0044),
  29506. 544: uint16(0x0045),
  29507. 545: uint16(0x0046),
  29508. 546: uint16(0x0047),
  29509. 547: uint16(0x0048),
  29510. 548: uint16(0x0049),
  29511. 549: uint16(0x004a),
  29512. 550: uint16(0x004b),
  29513. 551: uint16(0x004c),
  29514. 552: uint16(0x004d),
  29515. 553: uint16(0x004e),
  29516. 554: uint16(0x004f),
  29517. 555: uint16(0x0050),
  29518. 556: uint16(0x0051),
  29519. 557: uint16(0x0052),
  29520. 558: uint16(0x0053),
  29521. 559: uint16(0x0054),
  29522. 560: uint16(0x0055),
  29523. 561: uint16(0x0056),
  29524. 562: uint16(0x0057),
  29525. 563: uint16(0x0058),
  29526. 564: uint16(0x0059),
  29527. 565: uint16(0x005a),
  29528. 566: uint16(0x005b),
  29529. 567: uint16(0x005c),
  29530. 568: uint16(0x005d),
  29531. 569: uint16(0x005e),
  29532. 570: uint16(0x005f),
  29533. 571: uint16(0x0060),
  29534. 572: uint16(0x0061),
  29535. 573: uint16(0x0062),
  29536. 574: uint16(0x0063),
  29537. 575: uint16(0x0064),
  29538. 576: uint16(0x0065),
  29539. 577: uint16(0x0066),
  29540. 578: uint16(0x0067),
  29541. 579: uint16(0x0068),
  29542. 580: uint16(0x0069),
  29543. 581: uint16(0x006a),
  29544. 582: uint16(0x006b),
  29545. 583: uint16(0x006c),
  29546. 584: uint16(0x006d),
  29547. 585: uint16(0x006e),
  29548. 586: uint16(0x006f),
  29549. 587: uint16(0x0070),
  29550. 588: uint16(0x0071),
  29551. 589: uint16(0x0072),
  29552. 590: uint16(0x0073),
  29553. 591: uint16(0x0074),
  29554. 592: uint16(0x0075),
  29555. 593: uint16(0x0076),
  29556. 594: uint16(0x0077),
  29557. 595: uint16(0x0078),
  29558. 596: uint16(0x0079),
  29559. 597: uint16(0x007a),
  29560. 598: uint16(0x007b),
  29561. 599: uint16(0x007c),
  29562. 600: uint16(0x007d),
  29563. 601: uint16(0x007e),
  29564. 602: uint16(0x007f),
  29565. 603: uint16(0x0080),
  29566. 604: uint16(0x0081),
  29567. 605: uint16(0x0082),
  29568. 606: uint16(0x0083),
  29569. 607: uint16(0x0084),
  29570. 608: uint16(0x0085),
  29571. 609: uint16(0x0086),
  29572. 610: uint16(0x0087),
  29573. 611: uint16(0x0088),
  29574. 612: uint16(0x0089),
  29575. 613: uint16(0x008a),
  29576. 614: uint16(0x008b),
  29577. 615: uint16(0x008c),
  29578. 616: uint16(0x008d),
  29579. 617: uint16(0x008e),
  29580. 618: uint16(0x008f),
  29581. 619: uint16(0x0090),
  29582. 620: uint16(0x0091),
  29583. 621: uint16(0x0092),
  29584. 622: uint16(0x0093),
  29585. 623: uint16(0x0094),
  29586. 624: uint16(0x0095),
  29587. 625: uint16(0x0096),
  29588. 626: uint16(0x0097),
  29589. 627: uint16(0x0098),
  29590. 628: uint16(0x0099),
  29591. 629: uint16(0x009a),
  29592. 630: uint16(0x009b),
  29593. 631: uint16(0x009c),
  29594. 632: uint16(0x009d),
  29595. 633: uint16(0x009e),
  29596. 634: uint16(0x009f),
  29597. 635: uint16(0x0200),
  29598. 636: uint16(0x0201),
  29599. 637: uint16(0x0203),
  29600. 638: uint16(0x0207),
  29601. 639: uint16(0x020c),
  29602. 640: uint16(0x020d),
  29603. 641: uint16(0x020e),
  29604. 642: uint16(0x020f),
  29605. 643: uint16(0x0210),
  29606. 644: uint16(0x0211),
  29607. 645: uint16(0x0219),
  29608. 646: uint16(0x021a),
  29609. 647: uint16(0x021c),
  29610. 648: uint16(0x021d),
  29611. 649: uint16(0x0220),
  29612. 650: uint16(0x0221),
  29613. 651: uint16(0x022a),
  29614. 652: uint16(0x022b),
  29615. 653: uint16(0x022c),
  29616. 654: uint16(0x022d),
  29617. 655: uint16(0x022f),
  29618. 656: uint16(0x0232),
  29619. 657: uint16(0x0235),
  29620. 658: uint16(0x0236),
  29621. 659: uint16(0x023c),
  29622. 660: uint16(0x023e),
  29623. 661: uint16(0x023f),
  29624. 662: uint16(0x0244),
  29625. 663: uint16(0x024d),
  29626. 664: uint16(0x024e),
  29627. 665: uint16(0x0251),
  29628. 666: uint16(0x0255),
  29629. 667: uint16(0x025e),
  29630. 668: uint16(0x0262),
  29631. 669: uint16(0x0266),
  29632. 670: uint16(0x0267),
  29633. 671: uint16(0x0268),
  29634. 672: uint16(0x0269),
  29635. 673: uint16(0x0272),
  29636. 674: uint16(0x0275),
  29637. 675: uint16(0x0276),
  29638. 676: uint16(0x0277),
  29639. 677: uint16(0x0278),
  29640. 678: uint16(0x0279),
  29641. 679: uint16(0x027a),
  29642. 680: uint16(0x027d),
  29643. 681: uint16(0x0280),
  29644. 682: uint16(0x0281),
  29645. 683: uint16(0x0282),
  29646. 684: uint16(0x0283),
  29647. 685: uint16(0x0289),
  29648. 686: uint16(0x028a),
  29649. 687: uint16(0x028b),
  29650. 688: uint16(0x028c),
  29651. 689: uint16(0x028d),
  29652. 690: uint16(0x028e),
  29653. 691: uint16(0x0294),
  29654. 692: uint16(0x0297),
  29655. 693: uint16(0x0298),
  29656. 694: uint16(0x029a),
  29657. 695: uint16(0x029d),
  29658. 696: uint16(0x02a6),
  29659. 697: uint16(0x004e),
  29660. 698: uint16(0x004f),
  29661. 699: uint16(0x0050),
  29662. 700: uint16(0x0051),
  29663. 701: uint16(0x0052),
  29664. 702: uint16(0x0053),
  29665. 703: uint16(0x0054),
  29666. 704: uint16(0x0055),
  29667. 705: uint16(0x0056),
  29668. 706: uint16(0x0057),
  29669. 707: uint16(0x0058),
  29670. 708: uint16(0x0059),
  29671. 709: uint16(0x005a),
  29672. 710: uint16(0x005b),
  29673. 711: uint16(0x005c),
  29674. 712: uint16(0x005d),
  29675. 713: uint16(0x005e),
  29676. 714: uint16(0x005f),
  29677. 715: uint16(0x0060),
  29678. 716: uint16(0x0061),
  29679. 717: uint16(0x0062),
  29680. 718: uint16(0x0063),
  29681. 719: uint16(0x0064),
  29682. 720: uint16(0x0065),
  29683. 721: uint16(0x0066),
  29684. 722: uint16(0x0067),
  29685. 723: uint16(0x0068),
  29686. 724: uint16(0x0069),
  29687. 725: uint16(0x006a),
  29688. 726: uint16(0x006b),
  29689. 727: uint16(0x006c),
  29690. 728: uint16(0x006d),
  29691. 729: uint16(0x006e),
  29692. 730: uint16(0x006f),
  29693. 731: uint16(0x0070),
  29694. 732: uint16(0x0071),
  29695. 733: uint16(0x0072),
  29696. 734: uint16(0x0073),
  29697. 735: uint16(0x0074),
  29698. 736: uint16(0x0075),
  29699. 737: uint16(0x0076),
  29700. 738: uint16(0x0077),
  29701. 739: uint16(0x0078),
  29702. 740: uint16(0x0079),
  29703. 741: uint16(0x007a),
  29704. 742: uint16(0x007b),
  29705. 743: uint16(0x007c),
  29706. 744: uint16(0x007d),
  29707. 745: uint16(0x007e),
  29708. 746: uint16(0x007f),
  29709. 747: uint16(0x0080),
  29710. 748: uint16(0x0081),
  29711. 749: uint16(0x0082),
  29712. 750: uint16(0x0083),
  29713. 751: uint16(0x0084),
  29714. 752: uint16(0x0085),
  29715. 753: uint16(0x0086),
  29716. 754: uint16(0x0087),
  29717. 755: uint16(0x0088),
  29718. 756: uint16(0x0089),
  29719. 757: uint16(0x008a),
  29720. 758: uint16(0x008b),
  29721. 759: uint16(0x008c),
  29722. 760: uint16(0x008d),
  29723. 761: uint16(0x008e),
  29724. 762: uint16(0x008f),
  29725. 763: uint16(0x0090),
  29726. 764: uint16(0x0091),
  29727. 765: uint16(0x0092),
  29728. 766: uint16(0x0093),
  29729. 767: uint16(0x0094),
  29730. 768: uint16(0x0095),
  29731. 769: uint16(0x0096),
  29732. 770: uint16(0x0097),
  29733. 771: uint16(0x0098),
  29734. 772: uint16(0x0099),
  29735. 773: uint16(0x009a),
  29736. 774: uint16(0x009b),
  29737. 775: uint16(0x009c),
  29738. 776: uint16(0x009d),
  29739. 777: uint16(0x009e),
  29740. 778: uint16(0x009f),
  29741. 779: uint16(0x00fa),
  29742. },
  29743. FlangIndices: [246]TFcChar8{
  29744. 1: uint8(1),
  29745. 2: uint8(2),
  29746. 3: uint8(190),
  29747. 4: uint8(3),
  29748. 5: uint8(191),
  29749. 6: uint8(4),
  29750. 7: uint8(5),
  29751. 8: uint8(6),
  29752. 9: uint8(7),
  29753. 10: uint8(8),
  29754. 11: uint8(9),
  29755. 12: uint8(10),
  29756. 13: uint8(11),
  29757. 14: uint8(13),
  29758. 15: uint8(192),
  29759. 16: uint8(193),
  29760. 17: uint8(14),
  29761. 18: uint8(15),
  29762. 19: uint8(16),
  29763. 20: uint8(17),
  29764. 21: uint8(18),
  29765. 22: uint8(12),
  29766. 23: uint8(19),
  29767. 24: uint8(20),
  29768. 25: uint8(21),
  29769. 26: uint8(240),
  29770. 27: uint8(22),
  29771. 28: uint8(23),
  29772. 29: uint8(194),
  29773. 30: uint8(24),
  29774. 31: uint8(25),
  29775. 32: uint8(26),
  29776. 33: uint8(27),
  29777. 34: uint8(28),
  29778. 35: uint8(29),
  29779. 36: uint8(195),
  29780. 37: uint8(30),
  29781. 38: uint8(196),
  29782. 39: uint8(31),
  29783. 40: uint8(32),
  29784. 41: uint8(33),
  29785. 42: uint8(34),
  29786. 43: uint8(35),
  29787. 44: uint8(242),
  29788. 45: uint8(197),
  29789. 46: uint8(36),
  29790. 47: uint8(198),
  29791. 48: uint8(37),
  29792. 49: uint8(38),
  29793. 50: uint8(39),
  29794. 51: uint8(40),
  29795. 52: uint8(41),
  29796. 53: uint8(42),
  29797. 54: uint8(43),
  29798. 55: uint8(199),
  29799. 56: uint8(48),
  29800. 57: uint8(44),
  29801. 58: uint8(200),
  29802. 59: uint8(45),
  29803. 60: uint8(46),
  29804. 61: uint8(47),
  29805. 62: uint8(49),
  29806. 63: uint8(50),
  29807. 64: uint8(51),
  29808. 65: uint8(52),
  29809. 66: uint8(53),
  29810. 67: uint8(54),
  29811. 68: uint8(55),
  29812. 69: uint8(56),
  29813. 70: uint8(57),
  29814. 71: uint8(58),
  29815. 72: uint8(59),
  29816. 73: uint8(60),
  29817. 74: uint8(61),
  29818. 75: uint8(201),
  29819. 76: uint8(62),
  29820. 77: uint8(63),
  29821. 78: uint8(202),
  29822. 79: uint8(203),
  29823. 80: uint8(64),
  29824. 81: uint8(65),
  29825. 82: uint8(204),
  29826. 83: uint8(66),
  29827. 84: uint8(68),
  29828. 85: uint8(69),
  29829. 86: uint8(67),
  29830. 87: uint8(205),
  29831. 88: uint8(70),
  29832. 89: uint8(71),
  29833. 90: uint8(72),
  29834. 91: uint8(73),
  29835. 92: uint8(74),
  29836. 93: uint8(75),
  29837. 94: uint8(206),
  29838. 95: uint8(76),
  29839. 96: uint8(77),
  29840. 97: uint8(207),
  29841. 98: uint8(78),
  29842. 99: uint8(208),
  29843. 100: uint8(79),
  29844. 101: uint8(80),
  29845. 102: uint8(81),
  29846. 103: uint8(82),
  29847. 104: uint8(83),
  29848. 105: uint8(84),
  29849. 106: uint8(209),
  29850. 107: uint8(85),
  29851. 108: uint8(86),
  29852. 109: uint8(210),
  29853. 110: uint8(87),
  29854. 111: uint8(211),
  29855. 112: uint8(88),
  29856. 113: uint8(89),
  29857. 114: uint8(90),
  29858. 115: uint8(212),
  29859. 116: uint8(91),
  29860. 117: uint8(92),
  29861. 118: uint8(238),
  29862. 119: uint8(93),
  29863. 120: uint8(94),
  29864. 121: uint8(213),
  29865. 122: uint8(214),
  29866. 123: uint8(95),
  29867. 124: uint8(96),
  29868. 125: uint8(97),
  29869. 126: uint8(98),
  29870. 127: uint8(215),
  29871. 128: uint8(99),
  29872. 129: uint8(100),
  29873. 130: uint8(101),
  29874. 131: uint8(102),
  29875. 132: uint8(103),
  29876. 133: uint8(104),
  29877. 134: uint8(216),
  29878. 135: uint8(243),
  29879. 136: uint8(105),
  29880. 137: uint8(106),
  29881. 138: uint8(217),
  29882. 139: uint8(107),
  29883. 140: uint8(108),
  29884. 141: uint8(218),
  29885. 142: uint8(109),
  29886. 143: uint8(110),
  29887. 144: uint8(111),
  29888. 145: uint8(219),
  29889. 146: uint8(112),
  29890. 147: uint8(113),
  29891. 148: uint8(114),
  29892. 149: uint8(239),
  29893. 150: uint8(115),
  29894. 151: uint8(116),
  29895. 152: uint8(220),
  29896. 153: uint8(117),
  29897. 154: uint8(118),
  29898. 155: uint8(119),
  29899. 156: uint8(120),
  29900. 157: uint8(121),
  29901. 158: uint8(221),
  29902. 159: uint8(122),
  29903. 160: uint8(222),
  29904. 161: uint8(223),
  29905. 162: uint8(224),
  29906. 163: uint8(123),
  29907. 164: uint8(124),
  29908. 165: uint8(125),
  29909. 166: uint8(126),
  29910. 167: uint8(225),
  29911. 168: uint8(226),
  29912. 169: uint8(127),
  29913. 170: uint8(227),
  29914. 171: uint8(128),
  29915. 172: uint8(129),
  29916. 173: uint8(228),
  29917. 174: uint8(130),
  29918. 175: uint8(131),
  29919. 176: uint8(241),
  29920. 177: uint8(229),
  29921. 178: uint8(132),
  29922. 179: uint8(230),
  29923. 180: uint8(133),
  29924. 181: uint8(134),
  29925. 182: uint8(231),
  29926. 183: uint8(135),
  29927. 184: uint8(136),
  29928. 185: uint8(137),
  29929. 186: uint8(232),
  29930. 187: uint8(138),
  29931. 188: uint8(139),
  29932. 189: uint8(140),
  29933. 190: uint8(141),
  29934. 191: uint8(142),
  29935. 192: uint8(143),
  29936. 193: uint8(144),
  29937. 194: uint8(233),
  29938. 195: uint8(145),
  29939. 196: uint8(146),
  29940. 197: uint8(147),
  29941. 198: uint8(148),
  29942. 199: uint8(149),
  29943. 200: uint8(234),
  29944. 201: uint8(150),
  29945. 202: uint8(151),
  29946. 203: uint8(152),
  29947. 204: uint8(153),
  29948. 205: uint8(154),
  29949. 206: uint8(155),
  29950. 207: uint8(156),
  29951. 208: uint8(157),
  29952. 209: uint8(158),
  29953. 210: uint8(159),
  29954. 211: uint8(160),
  29955. 212: uint8(161),
  29956. 213: uint8(162),
  29957. 214: uint8(163),
  29958. 215: uint8(164),
  29959. 216: uint8(165),
  29960. 217: uint8(166),
  29961. 218: uint8(167),
  29962. 219: uint8(235),
  29963. 220: uint8(168),
  29964. 221: uint8(169),
  29965. 222: uint8(170),
  29966. 223: uint8(245),
  29967. 224: uint8(244),
  29968. 225: uint8(171),
  29969. 226: uint8(172),
  29970. 227: uint8(173),
  29971. 228: uint8(174),
  29972. 229: uint8(175),
  29973. 230: uint8(176),
  29974. 231: uint8(177),
  29975. 232: uint8(236),
  29976. 233: uint8(178),
  29977. 234: uint8(179),
  29978. 235: uint8(180),
  29979. 236: uint8(181),
  29980. 237: uint8(182),
  29981. 238: uint8(183),
  29982. 239: uint8(237),
  29983. 240: uint8(184),
  29984. 241: uint8(185),
  29985. 242: uint8(186),
  29986. 243: uint8(187),
  29987. 244: uint8(188),
  29988. 245: uint8(189),
  29989. },
  29990. FlangIndicesInv: [246]TFcChar8{
  29991. 1: uint8(1),
  29992. 2: uint8(2),
  29993. 3: uint8(4),
  29994. 4: uint8(6),
  29995. 5: uint8(7),
  29996. 6: uint8(8),
  29997. 7: uint8(9),
  29998. 8: uint8(10),
  29999. 9: uint8(11),
  30000. 10: uint8(12),
  30001. 11: uint8(13),
  30002. 12: uint8(22),
  30003. 13: uint8(14),
  30004. 14: uint8(17),
  30005. 15: uint8(18),
  30006. 16: uint8(19),
  30007. 17: uint8(20),
  30008. 18: uint8(21),
  30009. 19: uint8(23),
  30010. 20: uint8(24),
  30011. 21: uint8(25),
  30012. 22: uint8(27),
  30013. 23: uint8(28),
  30014. 24: uint8(30),
  30015. 25: uint8(31),
  30016. 26: uint8(32),
  30017. 27: uint8(33),
  30018. 28: uint8(34),
  30019. 29: uint8(35),
  30020. 30: uint8(37),
  30021. 31: uint8(39),
  30022. 32: uint8(40),
  30023. 33: uint8(41),
  30024. 34: uint8(42),
  30025. 35: uint8(43),
  30026. 36: uint8(46),
  30027. 37: uint8(48),
  30028. 38: uint8(49),
  30029. 39: uint8(50),
  30030. 40: uint8(51),
  30031. 41: uint8(52),
  30032. 42: uint8(53),
  30033. 43: uint8(54),
  30034. 44: uint8(57),
  30035. 45: uint8(59),
  30036. 46: uint8(60),
  30037. 47: uint8(61),
  30038. 48: uint8(56),
  30039. 49: uint8(62),
  30040. 50: uint8(63),
  30041. 51: uint8(64),
  30042. 52: uint8(65),
  30043. 53: uint8(66),
  30044. 54: uint8(67),
  30045. 55: uint8(68),
  30046. 56: uint8(69),
  30047. 57: uint8(70),
  30048. 58: uint8(71),
  30049. 59: uint8(72),
  30050. 60: uint8(73),
  30051. 61: uint8(74),
  30052. 62: uint8(76),
  30053. 63: uint8(77),
  30054. 64: uint8(80),
  30055. 65: uint8(81),
  30056. 66: uint8(83),
  30057. 67: uint8(86),
  30058. 68: uint8(84),
  30059. 69: uint8(85),
  30060. 70: uint8(88),
  30061. 71: uint8(89),
  30062. 72: uint8(90),
  30063. 73: uint8(91),
  30064. 74: uint8(92),
  30065. 75: uint8(93),
  30066. 76: uint8(95),
  30067. 77: uint8(96),
  30068. 78: uint8(98),
  30069. 79: uint8(100),
  30070. 80: uint8(101),
  30071. 81: uint8(102),
  30072. 82: uint8(103),
  30073. 83: uint8(104),
  30074. 84: uint8(105),
  30075. 85: uint8(107),
  30076. 86: uint8(108),
  30077. 87: uint8(110),
  30078. 88: uint8(112),
  30079. 89: uint8(113),
  30080. 90: uint8(114),
  30081. 91: uint8(116),
  30082. 92: uint8(117),
  30083. 93: uint8(119),
  30084. 94: uint8(120),
  30085. 95: uint8(123),
  30086. 96: uint8(124),
  30087. 97: uint8(125),
  30088. 98: uint8(126),
  30089. 99: uint8(128),
  30090. 100: uint8(129),
  30091. 101: uint8(130),
  30092. 102: uint8(131),
  30093. 103: uint8(132),
  30094. 104: uint8(133),
  30095. 105: uint8(136),
  30096. 106: uint8(137),
  30097. 107: uint8(139),
  30098. 108: uint8(140),
  30099. 109: uint8(142),
  30100. 110: uint8(143),
  30101. 111: uint8(144),
  30102. 112: uint8(146),
  30103. 113: uint8(147),
  30104. 114: uint8(148),
  30105. 115: uint8(150),
  30106. 116: uint8(151),
  30107. 117: uint8(153),
  30108. 118: uint8(154),
  30109. 119: uint8(155),
  30110. 120: uint8(156),
  30111. 121: uint8(157),
  30112. 122: uint8(159),
  30113. 123: uint8(163),
  30114. 124: uint8(164),
  30115. 125: uint8(165),
  30116. 126: uint8(166),
  30117. 127: uint8(169),
  30118. 128: uint8(171),
  30119. 129: uint8(172),
  30120. 130: uint8(174),
  30121. 131: uint8(175),
  30122. 132: uint8(178),
  30123. 133: uint8(180),
  30124. 134: uint8(181),
  30125. 135: uint8(183),
  30126. 136: uint8(184),
  30127. 137: uint8(185),
  30128. 138: uint8(187),
  30129. 139: uint8(188),
  30130. 140: uint8(189),
  30131. 141: uint8(190),
  30132. 142: uint8(191),
  30133. 143: uint8(192),
  30134. 144: uint8(193),
  30135. 145: uint8(195),
  30136. 146: uint8(196),
  30137. 147: uint8(197),
  30138. 148: uint8(198),
  30139. 149: uint8(199),
  30140. 150: uint8(201),
  30141. 151: uint8(202),
  30142. 152: uint8(203),
  30143. 153: uint8(204),
  30144. 154: uint8(205),
  30145. 155: uint8(206),
  30146. 156: uint8(207),
  30147. 157: uint8(208),
  30148. 158: uint8(209),
  30149. 159: uint8(210),
  30150. 160: uint8(211),
  30151. 161: uint8(212),
  30152. 162: uint8(213),
  30153. 163: uint8(214),
  30154. 164: uint8(215),
  30155. 165: uint8(216),
  30156. 166: uint8(217),
  30157. 167: uint8(218),
  30158. 168: uint8(220),
  30159. 169: uint8(221),
  30160. 170: uint8(222),
  30161. 171: uint8(225),
  30162. 172: uint8(226),
  30163. 173: uint8(227),
  30164. 174: uint8(228),
  30165. 175: uint8(229),
  30166. 176: uint8(230),
  30167. 177: uint8(231),
  30168. 178: uint8(233),
  30169. 179: uint8(234),
  30170. 180: uint8(235),
  30171. 181: uint8(236),
  30172. 182: uint8(237),
  30173. 183: uint8(238),
  30174. 184: uint8(240),
  30175. 185: uint8(241),
  30176. 186: uint8(242),
  30177. 187: uint8(243),
  30178. 188: uint8(244),
  30179. 189: uint8(245),
  30180. 190: uint8(3),
  30181. 191: uint8(5),
  30182. 192: uint8(15),
  30183. 193: uint8(16),
  30184. 194: uint8(29),
  30185. 195: uint8(36),
  30186. 196: uint8(38),
  30187. 197: uint8(45),
  30188. 198: uint8(47),
  30189. 199: uint8(55),
  30190. 200: uint8(58),
  30191. 201: uint8(75),
  30192. 202: uint8(78),
  30193. 203: uint8(79),
  30194. 204: uint8(82),
  30195. 205: uint8(87),
  30196. 206: uint8(94),
  30197. 207: uint8(97),
  30198. 208: uint8(99),
  30199. 209: uint8(106),
  30200. 210: uint8(109),
  30201. 211: uint8(111),
  30202. 212: uint8(115),
  30203. 213: uint8(121),
  30204. 214: uint8(122),
  30205. 215: uint8(127),
  30206. 216: uint8(134),
  30207. 217: uint8(138),
  30208. 218: uint8(141),
  30209. 219: uint8(145),
  30210. 220: uint8(152),
  30211. 221: uint8(158),
  30212. 222: uint8(160),
  30213. 223: uint8(161),
  30214. 224: uint8(162),
  30215. 225: uint8(167),
  30216. 226: uint8(168),
  30217. 227: uint8(170),
  30218. 228: uint8(173),
  30219. 229: uint8(177),
  30220. 230: uint8(179),
  30221. 231: uint8(182),
  30222. 232: uint8(186),
  30223. 233: uint8(194),
  30224. 234: uint8(200),
  30225. 235: uint8(219),
  30226. 236: uint8(232),
  30227. 237: uint8(239),
  30228. 238: uint8(118),
  30229. 239: uint8(149),
  30230. 240: uint8(26),
  30231. 241: uint8(176),
  30232. 242: uint8(44),
  30233. 243: uint8(135),
  30234. 244: uint8(224),
  30235. 245: uint8(223),
  30236. },
  30237. }
  30238. var _fcLangCountrySets = [10][8]TFcChar32{
  30239. 0: {
  30240. 0: uint32(0x00000600),
  30241. },
  30242. 1: {
  30243. 6: uint32(0x00000003),
  30244. },
  30245. 2: {
  30246. 2: uint32(0x00c00000),
  30247. 6: uint32(0x000c0000),
  30248. },
  30249. 3: {
  30250. 3: uint32(0x00000100),
  30251. 6: uint32(0x01000000),
  30252. },
  30253. 4: {
  30254. 6: uint32(0x40000000),
  30255. },
  30256. 5: {
  30257. 6: uint32(0x80000000),
  30258. 7: uint32(0x00000001),
  30259. },
  30260. 6: {
  30261. 3: uint32(0x30000000),
  30262. },
  30263. 7: {
  30264. 4: uint32(0x60000000),
  30265. },
  30266. 8: {
  30267. 7: uint32(0x00300000),
  30268. },
  30269. 9: {
  30270. 5: uint32(0x1f000000),
  30271. },
  30272. }
  30273. var _fcLangCharSetRanges = [26]TFcLangCharSetRange{
  30274. 0: {
  30275. Fend: int32(12),
  30276. },
  30277. 1: {
  30278. Fbegin: int32(13),
  30279. Fend: int32(29),
  30280. },
  30281. 2: {
  30282. Fbegin: int32(30),
  30283. Fend: int32(41),
  30284. },
  30285. 3: {
  30286. Fbegin: int32(42),
  30287. Fend: int32(46),
  30288. },
  30289. 4: {
  30290. Fbegin: int32(47),
  30291. Fend: int32(53),
  30292. },
  30293. 5: {
  30294. Fbegin: int32(54),
  30295. Fend: int32(63),
  30296. },
  30297. 6: {
  30298. Fbegin: int32(64),
  30299. Fend: int32(70),
  30300. },
  30301. 7: {
  30302. Fbegin: int32(71),
  30303. Fend: int32(82),
  30304. },
  30305. 8: {
  30306. Fbegin: int32(83),
  30307. Fend: int32(92),
  30308. },
  30309. 9: {
  30310. Fbegin: int32(93),
  30311. Fend: int32(94),
  30312. },
  30313. 10: {
  30314. Fbegin: int32(95),
  30315. Fend: int32(116),
  30316. },
  30317. 11: {
  30318. Fbegin: int32(117),
  30319. Fend: int32(126),
  30320. },
  30321. 12: {
  30322. Fbegin: int32(127),
  30323. Fend: int32(140),
  30324. },
  30325. 13: {
  30326. Fbegin: int32(141),
  30327. Fend: int32(153),
  30328. },
  30329. 14: {
  30330. Fbegin: int32(154),
  30331. Fend: int32(158),
  30332. },
  30333. 15: {
  30334. Fbegin: int32(159),
  30335. Fend: int32(166),
  30336. },
  30337. 16: {
  30338. Fbegin: int32(167),
  30339. Fend: int32(168),
  30340. },
  30341. 17: {
  30342. Fbegin: int32(169),
  30343. Fend: int32(173),
  30344. },
  30345. 18: {
  30346. Fbegin: int32(174),
  30347. Fend: int32(203),
  30348. },
  30349. 19: {
  30350. Fbegin: int32(204),
  30351. Fend: int32(220),
  30352. },
  30353. 20: {
  30354. Fbegin: int32(221),
  30355. Fend: int32(226),
  30356. },
  30357. 21: {
  30358. Fbegin: int32(227),
  30359. Fend: int32(230),
  30360. },
  30361. 22: {
  30362. Fbegin: int32(231),
  30363. Fend: int32(234),
  30364. },
  30365. 23: {
  30366. Fbegin: int32(235),
  30367. Fend: int32(235),
  30368. },
  30369. 24: {
  30370. Fbegin: int32(236),
  30371. Fend: int32(238),
  30372. },
  30373. 25: {
  30374. Fbegin: int32(239),
  30375. Fend: int32(245),
  30376. },
  30377. }
  30378. func _FcLangSetBitSet(tls *libc.TLS, ls uintptr, id uint32) {
  30379. var bucket uint32
  30380. _ = bucket
  30381. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 40840 + uintptr(id))))
  30382. bucket = id >> int32(5)
  30383. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  30384. return
  30385. } /* shouldn't happen really */
  30386. *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(bucket)*4)) |= libc.Uint32FromUint32(1) << (id & libc.Uint32FromInt32(0x1f))
  30387. }
  30388. func _FcLangSetBitGet(tls *libc.TLS, ls uintptr, id uint32) (r TFcBool) {
  30389. var bucket uint32
  30390. var v1 int32
  30391. _, _ = bucket, v1
  30392. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 40840 + uintptr(id))))
  30393. bucket = id >> int32(5)
  30394. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  30395. return m_FcFalse
  30396. }
  30397. if *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(bucket)*4))>>(id&libc.Uint32FromInt32(0x1f))&uint32(1) != 0 {
  30398. v1 = int32(m_FcTrue)
  30399. } else {
  30400. v1 = m_FcFalse
  30401. }
  30402. return v1
  30403. }
  30404. func _FcLangSetBitReset(tls *libc.TLS, ls uintptr, id uint32) {
  30405. var bucket uint32
  30406. _ = bucket
  30407. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 40840 + uintptr(id))))
  30408. bucket = id >> int32(5)
  30409. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  30410. return
  30411. } /* shouldn't happen really */
  30412. *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(bucket)*4)) &= ^(libc.Uint32FromUint32(1) << (id & libc.Uint32FromInt32(0x1f)))
  30413. }
  30414. func XFcFreeTypeLangSet(tls *libc.TLS, charset uintptr, exclusiveLang uintptr) (r uintptr) {
  30415. bp := tls.Alloc(64)
  30416. defer tls.Free(64)
  30417. var exclusiveCharset, ls, missed uintptr
  30418. var i, i1, j, j1 int32
  30419. var missing, ucs4 TFcChar32
  30420. var _ /* map at bp+0 */ [8]TFcChar32
  30421. var _ /* next at bp+32 */ TFcChar32
  30422. _, _, _, _, _, _, _, _, _ = exclusiveCharset, i, i1, j, j1, ls, missed, missing, ucs4
  30423. exclusiveCharset = uintptr(0)
  30424. if exclusiveLang != 0 {
  30425. exclusiveCharset = XIA__FcLangGetCharSet(tls, exclusiveLang)
  30426. }
  30427. ls = XIA__FcLangSetCreate(tls)
  30428. if !(ls != 0) {
  30429. return uintptr(0)
  30430. }
  30431. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  30432. libc.Xprintf(tls, __ccgo_ts+5634, 0)
  30433. XFcCharSetPrint(tls, charset)
  30434. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  30435. }
  30436. i = 0
  30437. for {
  30438. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  30439. break
  30440. }
  30441. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  30442. libc.Xprintf(tls, __ccgo_ts+5647, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40))
  30443. XFcCharSetPrint(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)
  30444. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  30445. }
  30446. /*
  30447. * Check for Han charsets to make fonts
  30448. * which advertise support for a single language
  30449. * not support other Han languages
  30450. */
  30451. if exclusiveCharset != 0 && XFcFreeTypeIsExclusiveLang(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40) != 0 {
  30452. if (*(*TFcLangCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*40))).Fcharset.Fnum != (*TFcCharSet)(unsafe.Pointer(exclusiveCharset)).Fnum {
  30453. goto _1
  30454. }
  30455. j = 0
  30456. for {
  30457. if !(j < (*(*TFcLangCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*40))).Fcharset.Fnum) {
  30458. break
  30459. }
  30460. if uintptr(int64(uintptr(Tintptr_t(uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)+(*TFcCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(Tintptr_t(uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)+(*TFcCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)).Fleaves_offset) + uintptr(j)*8))) != uintptr(int64(uintptr(int64(exclusiveCharset)+(*TFcCharSet)(unsafe.Pointer(exclusiveCharset)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(exclusiveCharset)+(*TFcCharSet)(unsafe.Pointer(exclusiveCharset)).Fleaves_offset) + uintptr(j)*8))) {
  30461. goto _2
  30462. }
  30463. goto _2
  30464. _2:
  30465. ;
  30466. j++
  30467. }
  30468. }
  30469. missing = XIA__FcCharSetSubtractCount(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16, charset)
  30470. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  30471. if missing != 0 && missing < uint32(10) {
  30472. missed = XIA__FcCharSetSubtract(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16, charset)
  30473. libc.Xprintf(tls, __ccgo_ts+5658, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, missing))
  30474. libc.Xprintf(tls, __ccgo_ts+5667, 0)
  30475. ucs4 = XIA__FcCharSetFirstPage(tls, missed, bp, bp+32)
  30476. for {
  30477. if !(ucs4 != libc.Uint32FromInt32(-libc.Int32FromInt32(1))) {
  30478. break
  30479. }
  30480. i1 = 0
  30481. for {
  30482. if !(i1 < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  30483. break
  30484. }
  30485. if (*(*[8]TFcChar32)(unsafe.Pointer(bp)))[i1] != 0 {
  30486. j1 = 0
  30487. for {
  30488. if !(j1 < int32(32)) {
  30489. break
  30490. }
  30491. if (*(*[8]TFcChar32)(unsafe.Pointer(bp)))[i1]&(uint32(1)<<j1) != 0 {
  30492. libc.Xprintf(tls, __ccgo_ts+5669, libc.VaList(bp+48, ucs4+libc.Uint32FromInt32(i1*int32(32))+libc.Uint32FromInt32(j1)))
  30493. }
  30494. goto _5
  30495. _5:
  30496. ;
  30497. j1++
  30498. }
  30499. }
  30500. goto _4
  30501. _4:
  30502. ;
  30503. i1++
  30504. }
  30505. goto _3
  30506. _3:
  30507. ;
  30508. ucs4 = XIA__FcCharSetNextPage(tls, missed, bp, bp+32)
  30509. }
  30510. libc.Xprintf(tls, __ccgo_ts+5675, 0)
  30511. XIA__FcCharSetDestroy(tls, missed)
  30512. } else {
  30513. libc.Xprintf(tls, __ccgo_ts+5680, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, missing))
  30514. }
  30515. }
  30516. if !(missing != 0) {
  30517. _FcLangSetBitSet(tls, ls, libc.Uint32FromInt32(i))
  30518. }
  30519. goto _1
  30520. _1:
  30521. ;
  30522. i++
  30523. }
  30524. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  30525. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  30526. }
  30527. return ls
  30528. }
  30529. func XIA__FcLangNormalize(tls *libc.TLS, lang uintptr) (r uintptr) {
  30530. bp := tls.Alloc(32)
  30531. defer tls.Free(32)
  30532. var encoding, modifier, orig, result, s, territory uintptr
  30533. var llen, mlen, tlen Tsize_t
  30534. var v1 uint64
  30535. _, _, _, _, _, _, _, _, _, _ = encoding, llen, mlen, modifier, orig, result, s, territory, tlen, v1
  30536. result = libc.UintptrFromInt32(0)
  30537. tlen = uint64(0)
  30538. mlen = uint64(0)
  30539. if !(lang != 0) || !(*(*TFcChar8)(unsafe.Pointer(lang)) != 0) {
  30540. return libc.UintptrFromInt32(0)
  30541. }
  30542. /* might be called without initialization */
  30543. XFcInitDebug(tls)
  30544. if XIA__FcStrCmpIgnoreCase(tls, lang, __ccgo_ts+4880) == 0 || XIA__FcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5688) == 0 || XIA__FcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5696) == 0 || XIA__FcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5703) == 0 {
  30545. result = XIA__FcStrCopy(tls, __ccgo_ts+2787)
  30546. goto bail
  30547. }
  30548. s = XIA__FcStrCopy(tls, lang)
  30549. if !(s != 0) {
  30550. goto bail
  30551. }
  30552. /* from the comments in glibc:
  30553. *
  30554. * LOCALE can consist of up to four recognized parts for the XPG syntax:
  30555. *
  30556. * language[_territory[.codeset]][@modifier]
  30557. *
  30558. * Beside the first all of them are allowed to be missing. If the
  30559. * full specified locale is not found, the less specific one are
  30560. * looked for. The various part will be stripped off according to
  30561. * the following order:
  30562. * (1) codeset
  30563. * (2) normalized codeset
  30564. * (3) territory
  30565. * (4) modifier
  30566. *
  30567. * So since we don't take care of the codeset part here, what patterns
  30568. * we need to deal with is:
  30569. *
  30570. * 1. language_territory@modifier
  30571. * 2. language@modifier
  30572. * 3. language
  30573. *
  30574. * then. and maybe no need to try language_territory here.
  30575. */
  30576. modifier = libc.Xstrchr(tls, s, int32('@'))
  30577. if modifier != 0 {
  30578. *(*uint8)(unsafe.Pointer(modifier)) = uint8(0)
  30579. modifier++
  30580. mlen = libc.Xstrlen(tls, modifier)
  30581. }
  30582. encoding = libc.Xstrchr(tls, s, int32('.'))
  30583. if encoding != 0 {
  30584. *(*uint8)(unsafe.Pointer(encoding)) = uint8(0)
  30585. encoding++
  30586. if modifier != 0 {
  30587. libc.Xmemmove(tls, encoding, modifier, mlen+uint64(1))
  30588. modifier = encoding
  30589. }
  30590. }
  30591. territory = libc.Xstrchr(tls, s, int32('_'))
  30592. if !(territory != 0) {
  30593. territory = libc.Xstrchr(tls, s, int32('-'))
  30594. }
  30595. if territory != 0 {
  30596. *(*uint8)(unsafe.Pointer(territory)) = uint8(0)
  30597. territory++
  30598. tlen = libc.Xstrlen(tls, territory)
  30599. }
  30600. llen = libc.Xstrlen(tls, s)
  30601. if llen < uint64(2) || llen > uint64(3) {
  30602. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5709, libc.VaList(bp+8, lang))
  30603. goto bail0
  30604. }
  30605. if territory != 0 && (tlen < uint64(2) || tlen > uint64(3)) && !(libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(territory))) == int32('z') && tlen < uint64(5)) {
  30606. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5768, libc.VaList(bp+8, lang))
  30607. goto bail0
  30608. }
  30609. if territory != 0 {
  30610. *(*uint8)(unsafe.Pointer(territory + uintptr(-libc.Int32FromInt32(1)))) = uint8('-')
  30611. }
  30612. if modifier != 0 {
  30613. *(*uint8)(unsafe.Pointer(modifier + uintptr(-libc.Int32FromInt32(1)))) = uint8('@')
  30614. }
  30615. orig = XIA__FcStrDowncase(tls, s)
  30616. if !(orig != 0) {
  30617. goto bail0
  30618. }
  30619. if territory != 0 {
  30620. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  30621. libc.Xprintf(tls, __ccgo_ts+5825, libc.VaList(bp+8, s))
  30622. }
  30623. if _FcLangSetIndex(tls, s) < 0 {
  30624. if mlen > uint64(0) {
  30625. v1 = mlen + uint64(1)
  30626. } else {
  30627. v1 = uint64(0)
  30628. }
  30629. libc.Xmemmove(tls, territory-uintptr(1), territory+uintptr(tlen), v1+uint64(1))
  30630. if modifier != 0 {
  30631. modifier = territory
  30632. }
  30633. } else {
  30634. result = s
  30635. /* we'll miss the opportunity to reduce the correct size
  30636. * of the allocated memory for the string after that.
  30637. */
  30638. s = libc.UintptrFromInt32(0)
  30639. goto bail1
  30640. }
  30641. }
  30642. if modifier != 0 {
  30643. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  30644. libc.Xprintf(tls, __ccgo_ts+5825, libc.VaList(bp+8, s))
  30645. }
  30646. if _FcLangSetIndex(tls, s) < 0 {
  30647. *(*uint8)(unsafe.Pointer(modifier + uintptr(-libc.Int32FromInt32(1)))) = uint8(0)
  30648. } else {
  30649. result = s
  30650. /* we'll miss the opportunity to reduce the correct size
  30651. * of the allocated memory for the string after that.
  30652. */
  30653. s = libc.UintptrFromInt32(0)
  30654. goto bail1
  30655. }
  30656. }
  30657. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  30658. libc.Xprintf(tls, __ccgo_ts+5825, libc.VaList(bp+8, s))
  30659. }
  30660. if _FcLangSetIndex(tls, s) < 0 {
  30661. /* there seems no languages matched in orth.
  30662. * add the language as is for fallback.
  30663. */
  30664. result = orig
  30665. orig = libc.UintptrFromInt32(0)
  30666. } else {
  30667. result = s
  30668. /* we'll miss the opportunity to reduce the correct size
  30669. * of the allocated memory for the string after that.
  30670. */
  30671. s = libc.UintptrFromInt32(0)
  30672. }
  30673. goto bail1
  30674. bail1:
  30675. ;
  30676. if orig != 0 {
  30677. XIA__FcStrFree(tls, orig)
  30678. }
  30679. goto bail0
  30680. bail0:
  30681. ;
  30682. if s != 0 {
  30683. libc.Xfree(tls, s)
  30684. }
  30685. goto bail
  30686. bail:
  30687. ;
  30688. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  30689. if result != 0 {
  30690. libc.Xprintf(tls, __ccgo_ts+5860, libc.VaList(bp+8, lang, result))
  30691. } else {
  30692. libc.Xprintf(tls, __ccgo_ts+5882, libc.VaList(bp+8, lang))
  30693. }
  30694. }
  30695. return result
  30696. }
  30697. var XFcLangNormalize = XIA__FcLangNormalize
  30698. func XFcLangCompare(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcLangResult) {
  30699. var c1, c2 TFcChar8
  30700. var is_und TFcBool
  30701. var result TFcLangResult
  30702. var s1_orig, v7, v8 uintptr
  30703. var v1, v10, v11, v2, v4, v9 int32
  30704. var v3, v5 bool
  30705. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c1, c2, is_und, result, s1_orig, v1, v10, v11, v2, v3, v4, v5, v7, v8, v9
  30706. result = int32(_FcLangDifferentLang)
  30707. s1_orig = s1
  30708. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) <= int32(0132) {
  30709. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) - int32(0101) + int32(0141)
  30710. } else {
  30711. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1)))
  30712. }
  30713. if v3 = v1 == int32('u'); v3 {
  30714. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) <= int32(0132) {
  30715. v2 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) - int32(0101) + int32(0141)
  30716. } else {
  30717. v2 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1)))
  30718. }
  30719. }
  30720. if v5 = v3 && v2 == int32('n'); v5 {
  30721. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) <= int32(0132) {
  30722. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) - int32(0101) + int32(0141)
  30723. } else {
  30724. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2)))
  30725. }
  30726. }
  30727. is_und = libc.BoolInt32(v5 && v4 == int32('d') && (libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 3))) == int32('-') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 3))) == int32('\000')))
  30728. for {
  30729. v7 = s1
  30730. s1++
  30731. c1 = *(*TFcChar8)(unsafe.Pointer(v7))
  30732. v8 = s2
  30733. s2++
  30734. c2 = *(*TFcChar8)(unsafe.Pointer(v8))
  30735. if int32(0101) <= libc.Int32FromUint8(c1) && libc.Int32FromUint8(c1) <= int32(0132) {
  30736. v9 = libc.Int32FromUint8(c1) - int32(0101) + int32(0141)
  30737. } else {
  30738. v9 = libc.Int32FromUint8(c1)
  30739. }
  30740. c1 = libc.Uint8FromInt32(v9)
  30741. if int32(0101) <= libc.Int32FromUint8(c2) && libc.Int32FromUint8(c2) <= int32(0132) {
  30742. v10 = libc.Int32FromUint8(c2) - int32(0101) + int32(0141)
  30743. } else {
  30744. v10 = libc.Int32FromUint8(c2)
  30745. }
  30746. c2 = libc.Uint8FromInt32(v10)
  30747. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  30748. if !(is_und != 0) && (libc.Int32FromUint8(c1) == int32('-') || libc.Int32FromUint8(c1) == int32('\000')) && (libc.Int32FromUint8(c2) == int32('-') || libc.Int32FromUint8(c2) == int32('\000')) {
  30749. result = int32(_FcLangDifferentTerritory)
  30750. }
  30751. return result
  30752. } else {
  30753. if !(c1 != 0) {
  30754. if is_und != 0 {
  30755. v11 = result
  30756. } else {
  30757. v11 = int32(_FcLangEqual)
  30758. }
  30759. return v11
  30760. } else {
  30761. if libc.Int32FromUint8(c1) == int32('-') {
  30762. if !(is_und != 0) {
  30763. result = int32(_FcLangDifferentTerritory)
  30764. }
  30765. }
  30766. }
  30767. }
  30768. /* If we parsed past "und-", then do not consider it undefined anymore,
  30769. * as there's *something* specified. */
  30770. if is_und != 0 && int64(s1)-int64(s1_orig) == int64(4) {
  30771. is_und = m_FcFalse
  30772. }
  30773. goto _6
  30774. _6:
  30775. }
  30776. return r
  30777. }
  30778. /*
  30779. * Return FcTrue when super contains sub.
  30780. *
  30781. * super contains sub if super and sub have the same
  30782. * language and either the same country or one
  30783. * is missing the country
  30784. */
  30785. func _FcLangContains(tls *libc.TLS, super uintptr, sub uintptr) (r TFcBool) {
  30786. var c1, c2 TFcChar8
  30787. var v2, v3 uintptr
  30788. var v4, v5 int32
  30789. _, _, _, _, _, _ = c1, c2, v2, v3, v4, v5
  30790. for {
  30791. v2 = super
  30792. super++
  30793. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  30794. v3 = sub
  30795. sub++
  30796. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  30797. if int32(0101) <= libc.Int32FromUint8(c1) && libc.Int32FromUint8(c1) <= int32(0132) {
  30798. v4 = libc.Int32FromUint8(c1) - int32(0101) + int32(0141)
  30799. } else {
  30800. v4 = libc.Int32FromUint8(c1)
  30801. }
  30802. c1 = libc.Uint8FromInt32(v4)
  30803. if int32(0101) <= libc.Int32FromUint8(c2) && libc.Int32FromUint8(c2) <= int32(0132) {
  30804. v5 = libc.Int32FromUint8(c2) - int32(0101) + int32(0141)
  30805. } else {
  30806. v5 = libc.Int32FromUint8(c2)
  30807. }
  30808. c2 = libc.Uint8FromInt32(v5)
  30809. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  30810. /* see if super has a country while sub is missing one */
  30811. if libc.Int32FromUint8(c1) == int32('-') && libc.Int32FromUint8(c2) == int32('\000') {
  30812. return int32(m_FcTrue)
  30813. }
  30814. /* see if sub has a country while super is missing one */
  30815. if libc.Int32FromUint8(c1) == int32('\000') && libc.Int32FromUint8(c2) == int32('-') {
  30816. return int32(m_FcTrue)
  30817. }
  30818. return m_FcFalse
  30819. } else {
  30820. if !(c1 != 0) {
  30821. return int32(m_FcTrue)
  30822. }
  30823. }
  30824. goto _1
  30825. _1:
  30826. }
  30827. return r
  30828. }
  30829. func XIA__FcLangGetCharSet(tls *libc.TLS, lang uintptr) (r uintptr) {
  30830. var country, i int32
  30831. _, _ = country, i
  30832. country = -int32(1)
  30833. i = 0
  30834. for {
  30835. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  30836. break
  30837. }
  30838. switch XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40) {
  30839. case int32(_FcLangEqual):
  30840. return uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*40 + 16
  30841. case int32(_FcLangDifferentTerritory):
  30842. if country == -int32(1) {
  30843. country = i
  30844. }
  30845. fallthrough
  30846. case int32(_FcLangDifferentLang):
  30847. fallthrough
  30848. default:
  30849. break
  30850. }
  30851. goto _1
  30852. _1:
  30853. ;
  30854. i++
  30855. }
  30856. if country == -int32(1) {
  30857. return uintptr(0)
  30858. }
  30859. return uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(country)*40 + 16
  30860. }
  30861. var XFcLangGetCharSet = XIA__FcLangGetCharSet
  30862. func XIA__FcGetLangs(tls *libc.TLS) (r uintptr) {
  30863. var i int32
  30864. var langs uintptr
  30865. _, _ = i, langs
  30866. langs = XIA__FcStrSetCreate(tls)
  30867. if !(langs != 0) {
  30868. return uintptr(0)
  30869. }
  30870. i = 0
  30871. for {
  30872. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  30873. break
  30874. }
  30875. XIA__FcStrSetAdd(tls, langs, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  30876. goto _1
  30877. _1:
  30878. ;
  30879. i++
  30880. }
  30881. return langs
  30882. }
  30883. var XFcGetLangs = XIA__FcGetLangs
  30884. func XIA__FcLangSetCreate(tls *libc.TLS) (r uintptr) {
  30885. var ls uintptr
  30886. _ = ls
  30887. ls = libc.Xmalloc(tls, uint64(48))
  30888. if !(ls != 0) {
  30889. return uintptr(0)
  30890. }
  30891. libc.Xmemset(tls, ls+12, int32('\000'), uint64(32))
  30892. (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  30893. (*TFcLangSet)(unsafe.Pointer(ls)).Fextra = uintptr(0)
  30894. return ls
  30895. }
  30896. var XFcLangSetCreate = XIA__FcLangSetCreate
  30897. func XIA__FcLangSetDestroy(tls *libc.TLS, ls uintptr) {
  30898. if !(ls != 0) {
  30899. return
  30900. }
  30901. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  30902. XIA__FcStrSetDestroy(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  30903. }
  30904. libc.Xfree(tls, ls)
  30905. }
  30906. var XFcLangSetDestroy = XIA__FcLangSetDestroy
  30907. func XIA__FcLangSetCopy(tls *libc.TLS, ls uintptr) (r uintptr) {
  30908. var extra, list, new1, v2 uintptr
  30909. var v1 uint64
  30910. _, _, _, _, _ = extra, list, new1, v1, v2
  30911. if !(ls != 0) {
  30912. return libc.UintptrFromInt32(0)
  30913. }
  30914. new1 = XIA__FcLangSetCreate(tls)
  30915. if !(new1 != 0) {
  30916. goto bail0
  30917. }
  30918. libc.Xmemset(tls, new1+12, int32('\000'), uint64(32))
  30919. if libc.Uint64FromInt64(32) < uint64((*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size)*uint64(4) {
  30920. v1 = libc.Uint64FromInt64(32)
  30921. } else {
  30922. v1 = uint64((*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size) * uint64(4)
  30923. }
  30924. libc.Xmemcpy(tls, new1+12, ls+12, v1)
  30925. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  30926. (*TFcLangSet)(unsafe.Pointer(new1)).Fextra = XIA__FcStrSetCreate(tls)
  30927. if !((*TFcLangSet)(unsafe.Pointer(new1)).Fextra != 0) {
  30928. goto bail1
  30929. }
  30930. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  30931. if !(list != 0) {
  30932. goto bail1
  30933. }
  30934. for {
  30935. v2 = XIA__FcStrListNext(tls, list)
  30936. extra = v2
  30937. if !(v2 != 0) {
  30938. break
  30939. }
  30940. if !(XIA__FcStrSetAdd(tls, (*TFcLangSet)(unsafe.Pointer(new1)).Fextra, extra) != 0) {
  30941. XIA__FcStrListDone(tls, list)
  30942. goto bail1
  30943. }
  30944. }
  30945. XIA__FcStrListDone(tls, list)
  30946. }
  30947. return new1
  30948. goto bail1
  30949. bail1:
  30950. ;
  30951. XIA__FcLangSetDestroy(tls, new1)
  30952. goto bail0
  30953. bail0:
  30954. ;
  30955. return uintptr(0)
  30956. return r
  30957. }
  30958. var XFcLangSetCopy = XIA__FcLangSetCopy
  30959. // C documentation
  30960. //
  30961. // /* When the language isn't found, the return value r is such that:
  30962. // * 1) r < 0
  30963. // * 2) -r -1 is the index of the first language in fcLangCharSets that comes
  30964. // * after the 'lang' argument in lexicographic order.
  30965. // *
  30966. // * The -1 is necessary to avoid problems with language id 0 (otherwise, we
  30967. // * wouldn't be able to distinguish between “language found, id is 0” and
  30968. // * “language not found, sorts right before the language with id 0”).
  30969. // */
  30970. func _FcLangSetIndex(tls *libc.TLS, lang uintptr) (r int32) {
  30971. var cmp, high, low, mid, v1, v2, v3 int32
  30972. var firstChar, secondChar TFcChar8
  30973. _, _, _, _, _, _, _, _, _ = cmp, firstChar, high, low, mid, secondChar, v1, v2, v3
  30974. mid = 0
  30975. cmp = 0
  30976. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) <= int32(0132) {
  30977. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) - int32(0101) + int32(0141)
  30978. } else {
  30979. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang)))
  30980. }
  30981. firstChar = libc.Uint8FromInt32(v1)
  30982. if firstChar != 0 {
  30983. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) <= int32(0132) {
  30984. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) - int32(0101) + int32(0141)
  30985. } else {
  30986. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1)))
  30987. }
  30988. v2 = v3
  30989. } else {
  30990. v2 = int32('\000')
  30991. }
  30992. secondChar = libc.Uint8FromInt32(v2)
  30993. if libc.Int32FromUint8(firstChar) < int32('a') {
  30994. low = 0
  30995. high = _fcLangCharSetRanges[0].Fbegin
  30996. } else {
  30997. if libc.Int32FromUint8(firstChar) > int32('z') {
  30998. low = _fcLangCharSetRanges[int32(25)].Fbegin
  30999. high = libc.Int32FromInt32(m_NUM_LANG_CHAR_SET) - libc.Int32FromInt32(1)
  31000. } else {
  31001. low = _fcLangCharSetRanges[libc.Int32FromUint8(firstChar)-int32('a')].Fbegin
  31002. high = _fcLangCharSetRanges[libc.Int32FromUint8(firstChar)-int32('a')].Fend
  31003. /* no matches */
  31004. if low > high {
  31005. return -(low + int32(1))
  31006. } /* one past next entry after where it would be */
  31007. }
  31008. }
  31009. for low <= high {
  31010. mid = (high + low) >> int32(1)
  31011. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*40))) != libc.Int32FromUint8(firstChar) {
  31012. cmp = XIA__FcStrCmpIgnoreCase(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(mid)*40, lang)
  31013. } else {
  31014. /* fast path for resolving 2-letter languages (by far the most common) after
  31015. * finding the first char (probably already true because of the hash table) */
  31016. cmp = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*40 + 1))) - libc.Int32FromUint8(secondChar)
  31017. if cmp == 0 && (libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*40 + 2))) != int32('\000') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 2))) != int32('\000')) {
  31018. cmp = XIA__FcStrCmpIgnoreCase(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(mid)*40+uintptr(2), lang+uintptr(2))
  31019. }
  31020. }
  31021. if cmp == 0 {
  31022. return mid
  31023. }
  31024. if cmp < 0 {
  31025. low = mid + int32(1)
  31026. } else {
  31027. high = mid - int32(1)
  31028. }
  31029. }
  31030. if cmp < 0 {
  31031. mid++
  31032. }
  31033. return -(mid + int32(1))
  31034. }
  31035. func XIA__FcLangSetAdd(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  31036. var id int32
  31037. _ = id
  31038. id = _FcLangSetIndex(tls, lang)
  31039. if id >= 0 {
  31040. _FcLangSetBitSet(tls, ls, libc.Uint32FromInt32(id))
  31041. return int32(m_FcTrue)
  31042. }
  31043. if !((*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0) {
  31044. (*TFcLangSet)(unsafe.Pointer(ls)).Fextra = XIA__FcStrSetCreate(tls)
  31045. if !((*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0) {
  31046. return m_FcFalse
  31047. }
  31048. }
  31049. return XIA__FcStrSetAdd(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra, lang)
  31050. }
  31051. var XFcLangSetAdd = XIA__FcLangSetAdd
  31052. func XIA__FcLangSetDel(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  31053. var id int32
  31054. _ = id
  31055. id = _FcLangSetIndex(tls, lang)
  31056. if id >= 0 {
  31057. _FcLangSetBitReset(tls, ls, libc.Uint32FromInt32(id))
  31058. } else {
  31059. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  31060. XIA__FcStrSetDel(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra, lang)
  31061. }
  31062. }
  31063. return int32(m_FcTrue)
  31064. }
  31065. var XFcLangSetDel = XIA__FcLangSetDel
  31066. func XIA__FcLangSetHasLang(tls *libc.TLS, ls uintptr, lang uintptr) (r1 TFcLangResult) {
  31067. var best, r TFcLangResult
  31068. var extra, list, v3 uintptr
  31069. var i, id int32
  31070. var v4 bool
  31071. _, _, _, _, _, _, _, _ = best, extra, i, id, list, r, v3, v4
  31072. id = _FcLangSetIndex(tls, lang)
  31073. if id < 0 {
  31074. id = -id - int32(1)
  31075. } else {
  31076. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(id)) != 0 {
  31077. return int32(_FcLangEqual)
  31078. }
  31079. }
  31080. best = int32(_FcLangDifferentLang)
  31081. i = id - int32(1)
  31082. for {
  31083. if !(i >= 0) {
  31084. break
  31085. }
  31086. r = XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  31087. if r == int32(_FcLangDifferentLang) {
  31088. break
  31089. }
  31090. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && r < best {
  31091. best = r
  31092. }
  31093. goto _1
  31094. _1:
  31095. ;
  31096. i--
  31097. }
  31098. i = id
  31099. for {
  31100. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  31101. break
  31102. }
  31103. r = XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  31104. if r == int32(_FcLangDifferentLang) {
  31105. break
  31106. }
  31107. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && r < best {
  31108. best = r
  31109. }
  31110. goto _2
  31111. _2:
  31112. ;
  31113. i++
  31114. }
  31115. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  31116. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  31117. if list != 0 {
  31118. for {
  31119. if v4 = best > int32(_FcLangEqual); v4 {
  31120. v3 = XIA__FcStrListNext(tls, list)
  31121. extra = v3
  31122. }
  31123. if !(v4 && v3 != 0) {
  31124. break
  31125. }
  31126. r = XFcLangCompare(tls, lang, extra)
  31127. if r < best {
  31128. best = r
  31129. }
  31130. }
  31131. XIA__FcStrListDone(tls, list)
  31132. }
  31133. }
  31134. return best
  31135. }
  31136. var XFcLangSetHasLang = XIA__FcLangSetHasLang
  31137. func _FcLangSetCompareStrSet(tls *libc.TLS, ls uintptr, set uintptr) (r1 TFcLangResult) {
  31138. var best, r TFcLangResult
  31139. var extra, list, v1 uintptr
  31140. var v2 bool
  31141. _, _, _, _, _, _ = best, extra, list, r, v1, v2
  31142. list = XIA__FcStrListCreate(tls, set)
  31143. best = int32(_FcLangDifferentLang)
  31144. if list != 0 {
  31145. for {
  31146. if v2 = best > int32(_FcLangEqual); v2 {
  31147. v1 = XIA__FcStrListNext(tls, list)
  31148. extra = v1
  31149. }
  31150. if !(v2 && v1 != 0) {
  31151. break
  31152. }
  31153. r = XIA__FcLangSetHasLang(tls, ls, extra)
  31154. if r < best {
  31155. best = r
  31156. }
  31157. }
  31158. XIA__FcStrListDone(tls, list)
  31159. }
  31160. return best
  31161. }
  31162. func XIA__FcLangSetCompare(tls *libc.TLS, lsa uintptr, lsb uintptr) (r1 TFcLangResult) {
  31163. var aInCountrySet, bInCountrySet TFcChar32
  31164. var best, r TFcLangResult
  31165. var count, i, j, v2 int32
  31166. var v1 uint32
  31167. _, _, _, _, _, _, _, _, _ = aInCountrySet, bInCountrySet, best, count, i, j, r, v1, v2
  31168. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  31169. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  31170. } else {
  31171. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  31172. }
  31173. count = libc.Int32FromUint32(v1)
  31174. if int32(m_NUM_LANG_SET_MAP) < count {
  31175. v2 = int32(m_NUM_LANG_SET_MAP)
  31176. } else {
  31177. v2 = count
  31178. }
  31179. count = v2
  31180. i = 0
  31181. for {
  31182. if !(i < count) {
  31183. break
  31184. }
  31185. if *(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4))&*(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) != 0 {
  31186. return int32(_FcLangEqual)
  31187. }
  31188. goto _3
  31189. _3:
  31190. ;
  31191. i++
  31192. }
  31193. best = int32(_FcLangDifferentLang)
  31194. j = 0
  31195. for {
  31196. if !(j < int32(m_NUM_COUNTRY_SET)) {
  31197. break
  31198. }
  31199. aInCountrySet = uint32(0)
  31200. bInCountrySet = uint32(0)
  31201. i = 0
  31202. for {
  31203. if !(i < count) {
  31204. break
  31205. }
  31206. aInCountrySet |= *(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangCountrySets)) + uintptr(j)*32 + uintptr(i)*4))
  31207. bInCountrySet |= *(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangCountrySets)) + uintptr(j)*32 + uintptr(i)*4))
  31208. if aInCountrySet != 0 && bInCountrySet != 0 {
  31209. best = int32(_FcLangDifferentTerritory)
  31210. break
  31211. }
  31212. goto _5
  31213. _5:
  31214. ;
  31215. i++
  31216. }
  31217. goto _4
  31218. _4:
  31219. ;
  31220. j++
  31221. }
  31222. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0 {
  31223. r = _FcLangSetCompareStrSet(tls, lsb, (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra)
  31224. if r < best {
  31225. best = r
  31226. }
  31227. }
  31228. if best > int32(_FcLangEqual) && (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  31229. r = _FcLangSetCompareStrSet(tls, lsa, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  31230. if r < best {
  31231. best = r
  31232. }
  31233. }
  31234. return best
  31235. }
  31236. var XFcLangSetCompare = XIA__FcLangSetCompare
  31237. // C documentation
  31238. //
  31239. // /*
  31240. // * Used in computing values -- mustn't allocate any storage
  31241. // */
  31242. func XFcLangSetPromote(tls *libc.TLS, lang uintptr, vbuf uintptr) (r uintptr) {
  31243. var buf uintptr
  31244. var id int32
  31245. _, _ = buf, id
  31246. buf = vbuf
  31247. libc.Xmemset(tls, buf+12, int32('\000'), uint64(32))
  31248. (*struct {
  31249. Fls TFcLangSet
  31250. Fstrs TFcStrSet
  31251. Fstr uintptr
  31252. })(unsafe.Pointer(buf)).Fls.Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  31253. (*struct {
  31254. Fls TFcLangSet
  31255. Fstrs TFcStrSet
  31256. Fstr uintptr
  31257. })(unsafe.Pointer(buf)).Fls.Fextra = uintptr(0)
  31258. if lang != 0 {
  31259. id = _FcLangSetIndex(tls, lang)
  31260. if id >= 0 {
  31261. _FcLangSetBitSet(tls, buf, libc.Uint32FromInt32(id))
  31262. } else {
  31263. (*struct {
  31264. Fls TFcLangSet
  31265. Fstrs TFcStrSet
  31266. Fstr uintptr
  31267. })(unsafe.Pointer(buf)).Fls.Fextra = buf + 48
  31268. (*struct {
  31269. Fls TFcLangSet
  31270. Fstrs TFcStrSet
  31271. Fstr uintptr
  31272. })(unsafe.Pointer(buf)).Fstrs.Fnum = int32(1)
  31273. (*struct {
  31274. Fls TFcLangSet
  31275. Fstrs TFcStrSet
  31276. Fstr uintptr
  31277. })(unsafe.Pointer(buf)).Fstrs.Fsize = int32(1)
  31278. (*struct {
  31279. Fls TFcLangSet
  31280. Fstrs TFcStrSet
  31281. Fstr uintptr
  31282. })(unsafe.Pointer(buf)).Fstrs.Fstrs = buf + 80
  31283. (*TFcRef)(unsafe.Pointer(buf + 48)).Fcount = int32(1)
  31284. (*struct {
  31285. Fls TFcLangSet
  31286. Fstrs TFcStrSet
  31287. Fstr uintptr
  31288. })(unsafe.Pointer(buf)).Fstr = lang
  31289. }
  31290. }
  31291. return buf
  31292. }
  31293. func XIA__FcLangSetHash(tls *libc.TLS, ls uintptr) (r TFcChar32) {
  31294. var count, i int32
  31295. var h TFcChar32
  31296. var v1 uint32
  31297. _, _, _, _ = count, h, i, v1
  31298. h = uint32(0)
  31299. if (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size < libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP)) {
  31300. v1 = (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size
  31301. } else {
  31302. v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP))
  31303. }
  31304. count = libc.Int32FromUint32(v1)
  31305. i = 0
  31306. for {
  31307. if !(i < count) {
  31308. break
  31309. }
  31310. h ^= *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(i)*4))
  31311. goto _2
  31312. _2:
  31313. ;
  31314. i++
  31315. }
  31316. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  31317. h ^= libc.Uint32FromInt32((*TFcStrSet)(unsafe.Pointer((*TFcLangSet)(unsafe.Pointer(ls)).Fextra)).Fnum)
  31318. }
  31319. return h
  31320. }
  31321. var XFcLangSetHash = XIA__FcLangSetHash
  31322. func XFcNameParseLangSet(tls *libc.TLS, string1 uintptr) (r uintptr) {
  31323. bp := tls.Alloc(32)
  31324. defer tls.Free(32)
  31325. var c TFcChar8
  31326. var i int32
  31327. var ls, v3 uintptr
  31328. var _ /* lang at bp+0 */ [32]TFcChar8
  31329. _, _, _, _ = c, i, ls, v3
  31330. c = uint8(0)
  31331. ls = XIA__FcLangSetCreate(tls)
  31332. if !(ls != 0) {
  31333. goto bail0
  31334. }
  31335. for {
  31336. i = 0
  31337. for {
  31338. if !(i < int32(31)) {
  31339. break
  31340. }
  31341. v3 = string1
  31342. string1++
  31343. c = *(*TFcChar8)(unsafe.Pointer(v3))
  31344. if libc.Int32FromUint8(c) == int32('\000') || libc.Int32FromUint8(c) == int32('|') {
  31345. break
  31346. } /* end of this code */
  31347. (*(*[32]TFcChar8)(unsafe.Pointer(bp)))[i] = c
  31348. goto _2
  31349. _2:
  31350. ;
  31351. i++
  31352. }
  31353. (*(*[32]TFcChar8)(unsafe.Pointer(bp)))[i] = uint8('\000')
  31354. if !(XIA__FcLangSetAdd(tls, ls, bp) != 0) {
  31355. goto bail1
  31356. }
  31357. if libc.Int32FromUint8(c) == int32('\000') {
  31358. break
  31359. }
  31360. goto _1
  31361. _1:
  31362. }
  31363. return ls
  31364. goto bail1
  31365. bail1:
  31366. ;
  31367. XIA__FcLangSetDestroy(tls, ls)
  31368. goto bail0
  31369. bail0:
  31370. ;
  31371. return uintptr(0)
  31372. return r
  31373. }
  31374. func XFcNameUnparseLangSet(tls *libc.TLS, buf uintptr, ls uintptr) (r TFcBool) {
  31375. var bit, count, i, id int32
  31376. var bits, v3 TFcChar32
  31377. var extra, list, v5 uintptr
  31378. var first TFcBool
  31379. var v1 uint32
  31380. _, _, _, _, _, _, _, _, _, _, _ = bit, bits, count, extra, first, i, id, list, v1, v3, v5
  31381. first = int32(m_FcTrue)
  31382. if (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size < libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP)) {
  31383. v1 = (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size
  31384. } else {
  31385. v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP))
  31386. }
  31387. count = libc.Int32FromUint32(v1)
  31388. i = 0
  31389. for {
  31390. if !(i < count) {
  31391. break
  31392. }
  31393. v3 = *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(i)*4))
  31394. bits = v3
  31395. if v3 != 0 {
  31396. bit = 0
  31397. for {
  31398. if !(bit <= int32(31)) {
  31399. break
  31400. }
  31401. if bits&(uint32(1)<<bit) != 0 {
  31402. id = i<<int32(5) | bit
  31403. if !(first != 0) {
  31404. if !(XFcStrBufChar(tls, buf, uint8('|')) != 0) {
  31405. return m_FcFalse
  31406. }
  31407. }
  31408. if !(XFcStrBufString(tls, buf, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 41086 + uintptr(id))))*40) != 0) {
  31409. return m_FcFalse
  31410. }
  31411. first = m_FcFalse
  31412. }
  31413. goto _4
  31414. _4:
  31415. ;
  31416. bit++
  31417. }
  31418. }
  31419. goto _2
  31420. _2:
  31421. ;
  31422. i++
  31423. }
  31424. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  31425. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  31426. if !(list != 0) {
  31427. return m_FcFalse
  31428. }
  31429. for {
  31430. v5 = XIA__FcStrListNext(tls, list)
  31431. extra = v5
  31432. if !(v5 != 0) {
  31433. break
  31434. }
  31435. if !(first != 0) {
  31436. if !(XFcStrBufChar(tls, buf, uint8('|')) != 0) {
  31437. XIA__FcStrListDone(tls, list)
  31438. return m_FcFalse
  31439. }
  31440. }
  31441. if !(XFcStrBufString(tls, buf, extra) != 0) {
  31442. XIA__FcStrListDone(tls, list)
  31443. return m_FcFalse
  31444. }
  31445. first = m_FcFalse
  31446. }
  31447. XIA__FcStrListDone(tls, list)
  31448. }
  31449. return int32(m_FcTrue)
  31450. }
  31451. func XIA__FcLangSetEqual(tls *libc.TLS, lsa uintptr, lsb uintptr) (r TFcBool) {
  31452. var count, i, v2 int32
  31453. var v1 uint32
  31454. _, _, _, _ = count, i, v1, v2
  31455. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  31456. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  31457. } else {
  31458. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  31459. }
  31460. count = libc.Int32FromUint32(v1)
  31461. if int32(m_NUM_LANG_SET_MAP) < count {
  31462. v2 = int32(m_NUM_LANG_SET_MAP)
  31463. } else {
  31464. v2 = count
  31465. }
  31466. count = v2
  31467. i = 0
  31468. for {
  31469. if !(i < count) {
  31470. break
  31471. }
  31472. if *(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4)) != *(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) {
  31473. return m_FcFalse
  31474. }
  31475. goto _3
  31476. _3:
  31477. ;
  31478. i++
  31479. }
  31480. if !((*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0) && !((*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0) {
  31481. return int32(m_FcTrue)
  31482. }
  31483. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0 && (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  31484. return XIA__FcStrSetEqual(tls, (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  31485. }
  31486. return m_FcFalse
  31487. }
  31488. var XFcLangSetEqual = XIA__FcLangSetEqual
  31489. func _FcLangSetContainsLang(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  31490. var extra, list, v3 uintptr
  31491. var i, id int32
  31492. _, _, _, _, _ = extra, i, id, list, v3
  31493. id = _FcLangSetIndex(tls, lang)
  31494. if id < 0 {
  31495. id = -id - int32(1)
  31496. } else {
  31497. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(id)) != 0 {
  31498. return int32(m_FcTrue)
  31499. }
  31500. }
  31501. /*
  31502. * search up and down among equal languages for a match
  31503. */
  31504. i = id - int32(1)
  31505. for {
  31506. if !(i >= 0) {
  31507. break
  31508. }
  31509. if XFcLangCompare(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) == int32(_FcLangDifferentLang) {
  31510. break
  31511. }
  31512. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && _FcLangContains(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) != 0 {
  31513. return int32(m_FcTrue)
  31514. }
  31515. goto _1
  31516. _1:
  31517. ;
  31518. i--
  31519. }
  31520. i = id
  31521. for {
  31522. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  31523. break
  31524. }
  31525. if XFcLangCompare(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) == int32(_FcLangDifferentLang) {
  31526. break
  31527. }
  31528. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && _FcLangContains(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) != 0 {
  31529. return int32(m_FcTrue)
  31530. }
  31531. goto _2
  31532. _2:
  31533. ;
  31534. i++
  31535. }
  31536. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  31537. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  31538. if list != 0 {
  31539. for {
  31540. v3 = XIA__FcStrListNext(tls, list)
  31541. extra = v3
  31542. if !(v3 != 0) {
  31543. break
  31544. }
  31545. if _FcLangContains(tls, extra, lang) != 0 {
  31546. break
  31547. }
  31548. }
  31549. XIA__FcStrListDone(tls, list)
  31550. if extra != 0 {
  31551. return int32(m_FcTrue)
  31552. }
  31553. }
  31554. }
  31555. return m_FcFalse
  31556. }
  31557. // C documentation
  31558. //
  31559. // /*
  31560. // * return FcTrue if lsa contains every language in lsb
  31561. // */
  31562. func XIA__FcLangSetContains(tls *libc.TLS, lsa uintptr, lsb uintptr) (r TFcBool) {
  31563. bp := tls.Alloc(16)
  31564. defer tls.Free(16)
  31565. var count, i, j, v2 int32
  31566. var extra, list, v5 uintptr
  31567. var missing TFcChar32
  31568. var v1 uint32
  31569. _, _, _, _, _, _, _, _, _ = count, extra, i, j, list, missing, v1, v2, v5
  31570. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  31571. libc.Xprintf(tls, __ccgo_ts+5906, 0)
  31572. XFcLangSetPrint(tls, lsa)
  31573. libc.Xprintf(tls, __ccgo_ts+5917, 0)
  31574. XFcLangSetPrint(tls, lsb)
  31575. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  31576. }
  31577. /*
  31578. * check bitmaps for missing language support
  31579. */
  31580. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  31581. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  31582. } else {
  31583. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  31584. }
  31585. count = libc.Int32FromUint32(v1)
  31586. if int32(m_NUM_LANG_SET_MAP) < count {
  31587. v2 = int32(m_NUM_LANG_SET_MAP)
  31588. } else {
  31589. v2 = count
  31590. }
  31591. count = v2
  31592. i = 0
  31593. for {
  31594. if !(i < count) {
  31595. break
  31596. }
  31597. missing = *(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) & ^*(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4))
  31598. if missing != 0 {
  31599. j = 0
  31600. for {
  31601. if !(j < int32(32)) {
  31602. break
  31603. }
  31604. if missing&(uint32(1)<<j) != 0 {
  31605. if !(_FcLangSetContainsLang(tls, lsa, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 41086 + uintptr(i*int32(32)+j))))*40) != 0) {
  31606. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  31607. libc.Xprintf(tls, __ccgo_ts+5928, libc.VaList(bp+8, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 41086 + uintptr(i*int32(32)+j))))*40))
  31608. }
  31609. return m_FcFalse
  31610. }
  31611. }
  31612. goto _4
  31613. _4:
  31614. ;
  31615. j++
  31616. }
  31617. }
  31618. goto _3
  31619. _3:
  31620. ;
  31621. i++
  31622. }
  31623. if (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  31624. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  31625. if list != 0 {
  31626. for {
  31627. v5 = XIA__FcStrListNext(tls, list)
  31628. extra = v5
  31629. if !(v5 != 0) {
  31630. break
  31631. }
  31632. if !(_FcLangSetContainsLang(tls, lsa, extra) != 0) {
  31633. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  31634. libc.Xprintf(tls, __ccgo_ts+5948, libc.VaList(bp+8, extra))
  31635. }
  31636. break
  31637. }
  31638. }
  31639. XIA__FcStrListDone(tls, list)
  31640. if extra != 0 {
  31641. return m_FcFalse
  31642. }
  31643. }
  31644. }
  31645. return int32(m_FcTrue)
  31646. }
  31647. var XFcLangSetContains = XIA__FcLangSetContains
  31648. func XFcLangSetSerializeAlloc(tls *libc.TLS, serialize uintptr, l uintptr) (r TFcBool) {
  31649. if !(XFcSerializeAlloc(tls, serialize, l, int32(48)) != 0) {
  31650. return m_FcFalse
  31651. }
  31652. return int32(m_FcTrue)
  31653. }
  31654. func XFcLangSetSerialize(tls *libc.TLS, serialize uintptr, l uintptr) (r uintptr) {
  31655. var l_serialize uintptr
  31656. var v1 uint64
  31657. _, _ = l_serialize, v1
  31658. l_serialize = XFcSerializePtr(tls, serialize, l)
  31659. if !(l_serialize != 0) {
  31660. return libc.UintptrFromInt32(0)
  31661. }
  31662. libc.Xmemset(tls, l_serialize+12, int32('\000'), uint64(32))
  31663. if libc.Uint64FromInt64(32) < uint64((*TFcLangSet)(unsafe.Pointer(l)).Fmap_size)*uint64(4) {
  31664. v1 = libc.Uint64FromInt64(32)
  31665. } else {
  31666. v1 = uint64((*TFcLangSet)(unsafe.Pointer(l)).Fmap_size) * uint64(4)
  31667. }
  31668. libc.Xmemcpy(tls, l_serialize+12, l+12, v1)
  31669. (*TFcLangSet)(unsafe.Pointer(l_serialize)).Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  31670. (*TFcLangSet)(unsafe.Pointer(l_serialize)).Fextra = libc.UintptrFromInt32(0) /* We don't serialize ls->extra */
  31671. return l_serialize
  31672. }
  31673. func XIA__FcLangSetGetLangs(tls *libc.TLS, ls uintptr) (r uintptr) {
  31674. var extra, langs, list, v2 uintptr
  31675. var i int32
  31676. _, _, _, _, _ = extra, i, langs, list, v2
  31677. langs = XIA__FcStrSetCreate(tls)
  31678. if !(langs != 0) {
  31679. return uintptr(0)
  31680. }
  31681. i = 0
  31682. for {
  31683. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  31684. break
  31685. }
  31686. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 {
  31687. XIA__FcStrSetAdd(tls, langs, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  31688. }
  31689. goto _1
  31690. _1:
  31691. ;
  31692. i++
  31693. }
  31694. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  31695. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  31696. if list != 0 {
  31697. for {
  31698. v2 = XIA__FcStrListNext(tls, list)
  31699. extra = v2
  31700. if !(v2 != 0) {
  31701. break
  31702. }
  31703. XIA__FcStrSetAdd(tls, langs, extra)
  31704. }
  31705. XIA__FcStrListDone(tls, list)
  31706. }
  31707. }
  31708. return langs
  31709. }
  31710. var XFcLangSetGetLangs = XIA__FcLangSetGetLangs
  31711. func _FcLangSetOperate(tls *libc.TLS, a uintptr, b uintptr, func1 uintptr) (r uintptr) {
  31712. var langset, set, sl, str, v1 uintptr
  31713. _, _, _, _, _ = langset, set, sl, str, v1
  31714. langset = XIA__FcLangSetCopy(tls, a)
  31715. set = XIA__FcLangSetGetLangs(tls, b)
  31716. sl = XIA__FcStrListCreate(tls, set)
  31717. XIA__FcStrSetDestroy(tls, set)
  31718. for {
  31719. v1 = XIA__FcStrListNext(tls, sl)
  31720. str = v1
  31721. if !(v1 != 0) {
  31722. break
  31723. }
  31724. (*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{func1})))(tls, langset, str)
  31725. }
  31726. XIA__FcStrListDone(tls, sl)
  31727. return langset
  31728. }
  31729. func XIA__FcLangSetUnion(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  31730. return _FcLangSetOperate(tls, a, b, __ccgo_fp(XIA__FcLangSetAdd))
  31731. }
  31732. var XFcLangSetUnion = XIA__FcLangSetUnion
  31733. func XIA__FcLangSetSubtract(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  31734. return _FcLangSetOperate(tls, a, b, __ccgo_fp(XIA__FcLangSetDel))
  31735. }
  31736. var XFcLangSetSubtract = XIA__FcLangSetSubtract
  31737. const m_FC_LIST_HASH_SIZE = 4099
  31738. func XIA__FcObjectSetCreate(tls *libc.TLS) (r uintptr) {
  31739. var os uintptr
  31740. _ = os
  31741. os = libc.Xmalloc(tls, uint64(16))
  31742. if !(os != 0) {
  31743. return uintptr(0)
  31744. }
  31745. (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject = 0
  31746. (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject = 0
  31747. (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects = uintptr(0)
  31748. return os
  31749. }
  31750. var XFcObjectSetCreate = XIA__FcObjectSetCreate
  31751. func XIA__FcObjectSetAdd(tls *libc.TLS, os uintptr, object uintptr) (r TFcBool) {
  31752. var c, high, low, mid, s int32
  31753. var objects uintptr
  31754. _, _, _, _, _, _ = c, high, low, mid, objects, s
  31755. if (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject == (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject {
  31756. s = (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject + int32(4)
  31757. if (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects != 0 {
  31758. objects = libc.Xrealloc(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects, libc.Uint64FromInt32(s)*uint64(8))
  31759. } else {
  31760. objects = libc.Xmalloc(tls, libc.Uint64FromInt32(s)*uint64(8))
  31761. }
  31762. if !(objects != 0) {
  31763. return m_FcFalse
  31764. }
  31765. (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects = objects
  31766. (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject = s
  31767. }
  31768. high = (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject - int32(1)
  31769. low = 0
  31770. mid = 0
  31771. c = int32(1)
  31772. object = libc.Xstrdup(tls, object)
  31773. for low <= high {
  31774. mid = (low + high) >> int32(1)
  31775. c = int32(int64(*(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(mid)*8))) - int64(object))
  31776. if c == 0 {
  31777. libc.Xfree(tls, object)
  31778. return int32(m_FcTrue)
  31779. }
  31780. if c < 0 {
  31781. low = mid + int32(1)
  31782. } else {
  31783. high = mid - int32(1)
  31784. }
  31785. }
  31786. if c < 0 {
  31787. mid++
  31788. }
  31789. libc.Xmemmove(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects+uintptr(mid)*8+uintptr(1)*8, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects+uintptr(mid)*8, libc.Uint64FromInt32((*TFcObjectSet)(unsafe.Pointer(os)).Fnobject-mid)*uint64(8))
  31790. *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(mid)*8)) = object
  31791. (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject++
  31792. return int32(m_FcTrue)
  31793. }
  31794. var XFcObjectSetAdd = XIA__FcObjectSetAdd
  31795. func XIA__FcObjectSetDestroy(tls *libc.TLS, os uintptr) {
  31796. var i int32
  31797. _ = i
  31798. if (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects != 0 {
  31799. i = 0
  31800. for {
  31801. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  31802. break
  31803. }
  31804. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  31805. goto _1
  31806. _1:
  31807. ;
  31808. i++
  31809. }
  31810. libc.Xfree(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)
  31811. }
  31812. libc.Xfree(tls, os)
  31813. }
  31814. var XFcObjectSetDestroy = XIA__FcObjectSetDestroy
  31815. func XIA__FcObjectSetVaBuild(tls *libc.TLS, first uintptr, va Tva_list) (r uintptr) {
  31816. var __ob__, __os__, ret uintptr
  31817. _, _, _ = __ob__, __os__, ret
  31818. ret = uintptr(0)
  31819. __os__ = XIA__FcObjectSetCreate(tls)
  31820. if !(__os__ != 0) {
  31821. goto _FcObjectSetVapBuild_bail0
  31822. }
  31823. __ob__ = first
  31824. for __ob__ != 0 {
  31825. if !(XIA__FcObjectSetAdd(tls, __os__, __ob__) != 0) {
  31826. goto _FcObjectSetVapBuild_bail1
  31827. }
  31828. __ob__ = libc.VaUintptr(&va)
  31829. }
  31830. ret = __os__
  31831. goto _FcObjectSetVapBuild_bail1
  31832. _FcObjectSetVapBuild_bail1:
  31833. ;
  31834. if !(ret != 0) && __os__ != 0 {
  31835. XIA__FcObjectSetDestroy(tls, __os__)
  31836. }
  31837. goto _FcObjectSetVapBuild_bail0
  31838. _FcObjectSetVapBuild_bail0:
  31839. ;
  31840. return ret
  31841. }
  31842. var XFcObjectSetVaBuild = XIA__FcObjectSetVaBuild
  31843. func XIA__FcObjectSetBuild(tls *libc.TLS, first uintptr, va1 uintptr) (r uintptr) {
  31844. var __ob__, __os__, os uintptr
  31845. var va Tva_list
  31846. _, _, _, _ = __ob__, __os__, os, va
  31847. va = va1
  31848. os = uintptr(0)
  31849. __os__ = XIA__FcObjectSetCreate(tls)
  31850. if !(__os__ != 0) {
  31851. goto _FcObjectSetVapBuild_bail0
  31852. }
  31853. __ob__ = first
  31854. for __ob__ != 0 {
  31855. if !(XIA__FcObjectSetAdd(tls, __os__, __ob__) != 0) {
  31856. goto _FcObjectSetVapBuild_bail1
  31857. }
  31858. __ob__ = libc.VaUintptr(&va)
  31859. }
  31860. os = __os__
  31861. goto _FcObjectSetVapBuild_bail1
  31862. _FcObjectSetVapBuild_bail1:
  31863. ;
  31864. if !(os != 0) && __os__ != 0 {
  31865. XIA__FcObjectSetDestroy(tls, __os__)
  31866. }
  31867. goto _FcObjectSetVapBuild_bail0
  31868. _FcObjectSetVapBuild_bail0:
  31869. ;
  31870. _ = va
  31871. return os
  31872. }
  31873. var XFcObjectSetBuild = XIA__FcObjectSetBuild
  31874. // C documentation
  31875. //
  31876. // /*
  31877. // * Font must have a containing value for every value in the pattern
  31878. // */
  31879. func _FcListValueListMatchAny(tls *libc.TLS, patOrig TFcValueListPtr, fntOrig TFcValueListPtr) (r TFcBool) {
  31880. /* font */
  31881. var fnt, pat TFcValueListPtr
  31882. var v3, v4 uintptr
  31883. _, _, _, _ = fnt, pat, v3, v4
  31884. pat = patOrig
  31885. for {
  31886. if !(pat != libc.UintptrFromInt32(0)) {
  31887. break
  31888. }
  31889. fnt = fntOrig
  31890. for {
  31891. if !(fnt != libc.UintptrFromInt32(0)) {
  31892. break
  31893. }
  31894. /*
  31895. * make sure the font 'contains' the pattern.
  31896. * (OpListing is OpContains except for strings
  31897. * where it requires an exact match)
  31898. */
  31899. if XFcConfigCompareValue(tls, fnt+8, libc.Uint32FromInt32(int32(_FcOpListing)&libc.Int32FromInt32(0xffff)|int32(_FcOpFlagIgnoreBlanks)<<libc.Int32FromInt32(16)), pat+8) != 0 {
  31900. break
  31901. }
  31902. goto _2
  31903. _2:
  31904. ;
  31905. if int64((*T_FcValueList)(unsafe.Pointer(fnt)).Fnext)&int64(1) != 0 {
  31906. v3 = uintptr(int64(fnt) + int64((*T_FcValueList)(unsafe.Pointer(fnt)).Fnext)&int64(^libc.Int32FromInt32(1)))
  31907. } else {
  31908. v3 = (*T_FcValueList)(unsafe.Pointer(fnt)).Fnext
  31909. }
  31910. fnt = v3
  31911. }
  31912. if fnt == libc.UintptrFromInt32(0) {
  31913. return m_FcFalse
  31914. }
  31915. goto _1
  31916. _1:
  31917. ;
  31918. if int64((*T_FcValueList)(unsafe.Pointer(pat)).Fnext)&int64(1) != 0 {
  31919. v4 = uintptr(int64(pat) + int64((*T_FcValueList)(unsafe.Pointer(pat)).Fnext)&int64(^libc.Int32FromInt32(1)))
  31920. } else {
  31921. v4 = (*T_FcValueList)(unsafe.Pointer(pat)).Fnext
  31922. }
  31923. pat = v4
  31924. }
  31925. return int32(m_FcTrue)
  31926. }
  31927. func _FcListValueListEqual(tls *libc.TLS, v1orig TFcValueListPtr, v2orig TFcValueListPtr) (r TFcBool) {
  31928. var v1, v2 TFcValueListPtr
  31929. var v3, v4, v7, v8 uintptr
  31930. _, _, _, _, _, _ = v1, v2, v3, v4, v7, v8
  31931. v1 = v1orig
  31932. for {
  31933. if !(v1 != libc.UintptrFromInt32(0)) {
  31934. break
  31935. }
  31936. v2 = v2orig
  31937. for {
  31938. if !(v2 != libc.UintptrFromInt32(0)) {
  31939. break
  31940. }
  31941. if XIA__FcValueEqual(tls, XFcValueCanonicalize(tls, v1+8), XFcValueCanonicalize(tls, v2+8)) != 0 {
  31942. break
  31943. }
  31944. goto _2
  31945. _2:
  31946. ;
  31947. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  31948. v3 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  31949. } else {
  31950. v3 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  31951. }
  31952. v2 = v3
  31953. }
  31954. if v2 == libc.UintptrFromInt32(0) {
  31955. return m_FcFalse
  31956. }
  31957. goto _1
  31958. _1:
  31959. ;
  31960. if int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(1) != 0 {
  31961. v4 = uintptr(int64(v1) + int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  31962. } else {
  31963. v4 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  31964. }
  31965. v1 = v4
  31966. }
  31967. v2 = v2orig
  31968. for {
  31969. if !(v2 != libc.UintptrFromInt32(0)) {
  31970. break
  31971. }
  31972. v1 = v1orig
  31973. for {
  31974. if !(v1 != libc.UintptrFromInt32(0)) {
  31975. break
  31976. }
  31977. if XIA__FcValueEqual(tls, XFcValueCanonicalize(tls, v1+8), XFcValueCanonicalize(tls, v2+8)) != 0 {
  31978. break
  31979. }
  31980. goto _6
  31981. _6:
  31982. ;
  31983. if int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(1) != 0 {
  31984. v7 = uintptr(int64(v1) + int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  31985. } else {
  31986. v7 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  31987. }
  31988. v1 = v7
  31989. }
  31990. if v1 == libc.UintptrFromInt32(0) {
  31991. return m_FcFalse
  31992. }
  31993. goto _5
  31994. _5:
  31995. ;
  31996. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  31997. v8 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  31998. } else {
  31999. v8 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  32000. }
  32001. v2 = v8
  32002. }
  32003. return int32(m_FcTrue)
  32004. }
  32005. func _FcListPatternEqual(tls *libc.TLS, p1 uintptr, p2 uintptr, os uintptr) (r TFcBool) {
  32006. var e1, e2, v2, v3 uintptr
  32007. var i int32
  32008. _, _, _, _, _ = e1, e2, i, v2, v3
  32009. i = 0
  32010. for {
  32011. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  32012. break
  32013. }
  32014. e1 = XFcPatternObjectFindElt(tls, p1, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8))))
  32015. e2 = XFcPatternObjectFindElt(tls, p2, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8))))
  32016. if !(e1 != 0) && !(e2 != 0) {
  32017. goto _1
  32018. }
  32019. if !(e1 != 0) || !(e2 != 0) {
  32020. return m_FcFalse
  32021. }
  32022. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  32023. v2 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32024. } else {
  32025. v2 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  32026. }
  32027. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  32028. v3 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32029. } else {
  32030. v3 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  32031. }
  32032. if !(_FcListValueListEqual(tls, v2, v3) != 0) {
  32033. return m_FcFalse
  32034. }
  32035. goto _1
  32036. _1:
  32037. ;
  32038. i++
  32039. }
  32040. return int32(m_FcTrue)
  32041. }
  32042. /*
  32043. * FcTrue iff all objects in "p" match "font"
  32044. */
  32045. func XFcListPatternMatchAny(tls *libc.TLS, p uintptr, font uintptr) (r TFcBool) {
  32046. var fe, pe, v2, v3 uintptr
  32047. var i int32
  32048. _, _, _, _, _ = fe, i, pe, v2, v3
  32049. if !(p != 0) {
  32050. return m_FcFalse
  32051. }
  32052. i = 0
  32053. for {
  32054. if !(i < (*TFcPattern)(unsafe.Pointer(p)).Fnum) {
  32055. break
  32056. }
  32057. pe = uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*16
  32058. if (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject == int32(_FC_NAMELANG_OBJECT) {
  32059. /* "namelang" object is the alias object to change "familylang",
  32060. * "stylelang" and "fullnamelang" object all together. it won't be
  32061. * available on the font pattern. so checking its availability
  32062. * causes no results. we should ignore it here.
  32063. */
  32064. goto _1
  32065. }
  32066. fe = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject)
  32067. if !(fe != 0) {
  32068. return m_FcFalse
  32069. }
  32070. if int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(1) != 0 {
  32071. v2 = uintptr(int64(pe) + int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32072. } else {
  32073. v2 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  32074. }
  32075. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  32076. v3 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32077. } else {
  32078. v3 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  32079. }
  32080. if !(_FcListValueListMatchAny(tls, v2, v3) != 0) { /* font elts */
  32081. return m_FcFalse
  32082. }
  32083. goto _1
  32084. _1:
  32085. ;
  32086. i++
  32087. }
  32088. return int32(m_FcTrue)
  32089. }
  32090. func _FcListMatrixHash(tls *libc.TLS, m uintptr) (r TFcChar32) {
  32091. var xx, xy, yx, yy int32
  32092. _, _, _, _ = xx, xy, yx, yy
  32093. xx = int32((*TFcMatrix)(unsafe.Pointer(m)).Fxx * libc.Float64FromInt32(100))
  32094. xy = int32((*TFcMatrix)(unsafe.Pointer(m)).Fxy * libc.Float64FromInt32(100))
  32095. yx = int32((*TFcMatrix)(unsafe.Pointer(m)).Fyx * libc.Float64FromInt32(100))
  32096. yy = int32((*TFcMatrix)(unsafe.Pointer(m)).Fyy * libc.Float64FromInt32(100))
  32097. return libc.Uint32FromInt32(xx) ^ libc.Uint32FromInt32(xy) ^ libc.Uint32FromInt32(yx) ^ libc.Uint32FromInt32(yy)
  32098. }
  32099. func _FcListValueHash(tls *libc.TLS, value uintptr) (r TFcChar32) {
  32100. bp := tls.Alloc(16)
  32101. defer tls.Free(16)
  32102. var _ /* v at bp+0 */ TFcValue
  32103. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  32104. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, value)
  32105. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  32106. case int32(_FcTypeUnknown):
  32107. fallthrough
  32108. case int32(_FcTypeVoid):
  32109. return uint32(0)
  32110. case int32(_FcTypeInteger):
  32111. return libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(bp + 8)))
  32112. case int32(_FcTypeDouble):
  32113. return libc.Uint32FromInt32(int32(*(*float64)(unsafe.Pointer(bp + 8))))
  32114. case int32(_FcTypeString):
  32115. return XFcStrHashIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  32116. case int32(_FcTypeBool):
  32117. return libc.Uint32FromInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)))
  32118. case int32(_FcTypeMatrix):
  32119. return _FcListMatrixHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  32120. case int32(_FcTypeCharSet):
  32121. return XIA__FcCharSetCount(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  32122. case int32(_FcTypeFTFace):
  32123. return libc.Uint32FromInt64(int64(*(*uintptr)(unsafe.Pointer(bp + 8))))
  32124. case int32(_FcTypeLangSet):
  32125. return XIA__FcLangSetHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  32126. case int32(_FcTypeRange):
  32127. return XFcRangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  32128. }
  32129. return uint32(0)
  32130. }
  32131. func _FcListValueListHash(tls *libc.TLS, list TFcValueListPtr) (r TFcChar32) {
  32132. var h TFcChar32
  32133. var v1 uintptr
  32134. _, _ = h, v1
  32135. h = uint32(0)
  32136. for list != libc.UintptrFromInt32(0) {
  32137. h = h ^ _FcListValueHash(tls, list+8)
  32138. if int64((*T_FcValueList)(unsafe.Pointer(list)).Fnext)&int64(1) != 0 {
  32139. v1 = uintptr(int64(list) + int64((*T_FcValueList)(unsafe.Pointer(list)).Fnext)&int64(^libc.Int32FromInt32(1)))
  32140. } else {
  32141. v1 = (*T_FcValueList)(unsafe.Pointer(list)).Fnext
  32142. }
  32143. list = v1
  32144. }
  32145. return h
  32146. }
  32147. func _FcListPatternHash(tls *libc.TLS, font uintptr, os uintptr) (r TFcChar32) {
  32148. var e, v2 uintptr
  32149. var h TFcChar32
  32150. var n int32
  32151. _, _, _, _ = e, h, n, v2
  32152. h = uint32(0)
  32153. n = 0
  32154. for {
  32155. if !(n < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  32156. break
  32157. }
  32158. e = XFcPatternObjectFindElt(tls, font, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(n)*8))))
  32159. if e != 0 {
  32160. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  32161. v2 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32162. } else {
  32163. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  32164. }
  32165. h = h ^ _FcListValueListHash(tls, v2)
  32166. }
  32167. goto _1
  32168. _1:
  32169. ;
  32170. n++
  32171. }
  32172. return h
  32173. }
  32174. type TFcListBucket = struct {
  32175. Fnext uintptr
  32176. Fhash TFcChar32
  32177. Fpattern uintptr
  32178. }
  32179. type T_FcListBucket = TFcListBucket
  32180. type TFcListHashTable = struct {
  32181. Fentries int32
  32182. Fbuckets [4099]uintptr
  32183. }
  32184. type T_FcListHashTable = TFcListHashTable
  32185. func _FcListHashTableInit(tls *libc.TLS, table uintptr) {
  32186. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries = 0
  32187. libc.Xmemset(tls, table+8, int32('\000'), uint64(32792))
  32188. }
  32189. func _FcListHashTableCleanup(tls *libc.TLS, table uintptr) {
  32190. var bucket, next uintptr
  32191. var i int32
  32192. _, _, _ = bucket, i, next
  32193. i = 0
  32194. for {
  32195. if !(i < int32(m_FC_LIST_HASH_SIZE)) {
  32196. break
  32197. }
  32198. bucket = *(*uintptr)(unsafe.Pointer(table + 8 + uintptr(i)*8))
  32199. for {
  32200. if !(bucket != 0) {
  32201. break
  32202. }
  32203. next = (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext
  32204. XIA__FcPatternDestroy(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern)
  32205. libc.Xfree(tls, bucket)
  32206. goto _2
  32207. _2:
  32208. ;
  32209. bucket = next
  32210. }
  32211. *(*uintptr)(unsafe.Pointer(table + 8 + uintptr(i)*8)) = uintptr(0)
  32212. goto _1
  32213. _1:
  32214. ;
  32215. i++
  32216. }
  32217. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries = 0
  32218. }
  32219. func _FcGetDefaultObjectLangIndex(tls *libc.TLS, font uintptr, object TFcObject, lang uintptr) (r int32) {
  32220. bp := tls.Alloc(16)
  32221. defer tls.Free(16)
  32222. var defidx, i, idx, v4, v5 int32
  32223. var e, v2, v3 uintptr
  32224. var res TFcLangResult
  32225. var v TFcValueListPtr
  32226. var _ /* value at bp+0 */ TFcValue
  32227. _, _, _, _, _, _, _, _, _, _ = defidx, e, i, idx, res, v, v2, v3, v4, v5
  32228. e = XFcPatternObjectFindElt(tls, font, object)
  32229. idx = -int32(1)
  32230. defidx = -int32(1)
  32231. if e != 0 {
  32232. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  32233. v2 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32234. } else {
  32235. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  32236. }
  32237. v = v2
  32238. i = libc.Int32FromInt32(0)
  32239. for {
  32240. if !(v != 0) {
  32241. break
  32242. }
  32243. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v+8)
  32244. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeString) {
  32245. res = XFcLangCompare(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), lang)
  32246. if res == int32(_FcLangEqual) {
  32247. return i
  32248. }
  32249. if res == int32(_FcLangDifferentCountry) && idx < 0 {
  32250. idx = i
  32251. }
  32252. if defidx < 0 {
  32253. /* workaround for fonts that has non-English value
  32254. * at the head of values.
  32255. */
  32256. res = XFcLangCompare(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), __ccgo_ts+2787)
  32257. if res == int32(_FcLangEqual) {
  32258. defidx = i
  32259. }
  32260. }
  32261. }
  32262. goto _1
  32263. _1:
  32264. ;
  32265. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  32266. v3 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  32267. } else {
  32268. v3 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  32269. }
  32270. v = v3
  32271. i++
  32272. }
  32273. }
  32274. if idx > 0 {
  32275. v4 = idx
  32276. } else {
  32277. if defidx > 0 {
  32278. v5 = defidx
  32279. } else {
  32280. v5 = 0
  32281. }
  32282. v4 = v5
  32283. }
  32284. return v4
  32285. }
  32286. func _FcListAppend(tls *libc.TLS, table uintptr, font uintptr, os uintptr, lang uintptr) (r TFcBool) {
  32287. var bucket, e, prev, v2, v5, v6 uintptr
  32288. var defidx, familyidx, fullnameidx, idx, o, styleidx int32
  32289. var hash TFcChar32
  32290. var v TFcValueListPtr
  32291. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bucket, defidx, e, familyidx, fullnameidx, hash, idx, o, prev, styleidx, v, v2, v5, v6
  32292. familyidx = -int32(1)
  32293. fullnameidx = -int32(1)
  32294. styleidx = -int32(1)
  32295. defidx = 0
  32296. hash = _FcListPatternHash(tls, font, os)
  32297. prev = table + 8 + uintptr(hash%uint32(m_FC_LIST_HASH_SIZE))*8
  32298. for {
  32299. v2 = *(*uintptr)(unsafe.Pointer(prev))
  32300. bucket = v2
  32301. if !(v2 != 0) {
  32302. break
  32303. }
  32304. if (*TFcListBucket)(unsafe.Pointer(bucket)).Fhash == hash && _FcListPatternEqual(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern, font, os) != 0 {
  32305. return int32(m_FcTrue)
  32306. }
  32307. goto _1
  32308. _1:
  32309. ;
  32310. prev = bucket
  32311. }
  32312. bucket = libc.Xmalloc(tls, uint64(24))
  32313. if !(bucket != 0) {
  32314. goto bail0
  32315. }
  32316. (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext = uintptr(0)
  32317. (*TFcListBucket)(unsafe.Pointer(bucket)).Fhash = hash
  32318. (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern = XIA__FcPatternCreate(tls)
  32319. if !((*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern != 0) {
  32320. goto bail1
  32321. }
  32322. o = 0
  32323. for {
  32324. if !(o < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  32325. break
  32326. }
  32327. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+5968) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+5975) != 0) {
  32328. if familyidx < 0 {
  32329. familyidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_FAMILYLANG_OBJECT), lang)
  32330. }
  32331. defidx = familyidx
  32332. } else {
  32333. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+5986) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+5995) != 0) {
  32334. if fullnameidx < 0 {
  32335. fullnameidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_FULLNAMELANG_OBJECT), lang)
  32336. }
  32337. defidx = fullnameidx
  32338. } else {
  32339. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+4738) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+6008) != 0) {
  32340. if styleidx < 0 {
  32341. styleidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_STYLELANG_OBJECT), lang)
  32342. }
  32343. defidx = styleidx
  32344. } else {
  32345. defidx = 0
  32346. }
  32347. }
  32348. }
  32349. e = XFcPatternObjectFindElt(tls, font, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8))))
  32350. if e != 0 {
  32351. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  32352. v5 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32353. } else {
  32354. v5 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  32355. }
  32356. v = v5
  32357. idx = libc.Int32FromInt32(0)
  32358. for {
  32359. if !(v != 0) {
  32360. break
  32361. }
  32362. if !(XIA__FcPatternAdd(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), XFcValueCanonicalize(tls, v+8), libc.BoolInt32(defidx != idx)) != 0) {
  32363. goto bail2
  32364. }
  32365. goto _4
  32366. _4:
  32367. ;
  32368. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  32369. v6 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  32370. } else {
  32371. v6 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  32372. }
  32373. v = v6
  32374. idx++
  32375. }
  32376. }
  32377. goto _3
  32378. _3:
  32379. ;
  32380. o++
  32381. }
  32382. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  32383. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries++
  32384. return int32(m_FcTrue)
  32385. goto bail2
  32386. bail2:
  32387. ;
  32388. XIA__FcPatternDestroy(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern)
  32389. goto bail1
  32390. bail1:
  32391. ;
  32392. libc.Xfree(tls, bucket)
  32393. goto bail0
  32394. bail0:
  32395. ;
  32396. return m_FcFalse
  32397. return r
  32398. }
  32399. func XIA__FcFontSetList(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, os uintptr) (r uintptr) {
  32400. bp := tls.Alloc(32816)
  32401. defer tls.Free(32816)
  32402. var bucket, ret, s, v4 uintptr
  32403. var destroy_os, f, i, set int32
  32404. var _ /* lang at bp+32800 */ uintptr
  32405. var _ /* table at bp+0 */ TFcListHashTable
  32406. _, _, _, _, _, _, _, _ = bucket, destroy_os, f, i, ret, s, set, v4
  32407. destroy_os = 0
  32408. if !(config != 0) {
  32409. if !(XIA__FcInitBringUptoDate(tls) != 0) {
  32410. goto bail0
  32411. }
  32412. }
  32413. config = XIA__FcConfigReference(tls, config)
  32414. if !(config != 0) {
  32415. goto bail0
  32416. }
  32417. _FcListHashTableInit(tls, bp)
  32418. if !(os != 0) {
  32419. os = XFcObjectGetSet(tls)
  32420. destroy_os = int32(1)
  32421. }
  32422. /*
  32423. * Walk all available fonts adding those that
  32424. * match to the hash table
  32425. */
  32426. set = 0
  32427. for {
  32428. if !(set < nsets) {
  32429. break
  32430. }
  32431. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  32432. if !(s != 0) {
  32433. goto _1
  32434. }
  32435. f = 0
  32436. for {
  32437. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  32438. break
  32439. }
  32440. if XFcListPatternMatchAny(tls, p, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8))) != 0 { /* font */
  32441. if XFcPatternObjectGetString(tls, p, int32(_FC_NAMELANG_OBJECT), 0, bp+32800) != int32(_FcResultMatch) {
  32442. *(*uintptr)(unsafe.Pointer(bp + 32800)) = XFcGetDefaultLang(tls)
  32443. }
  32444. if !(_FcListAppend(tls, bp, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)), os, *(*uintptr)(unsafe.Pointer(bp + 32800))) != 0) {
  32445. goto bail1
  32446. }
  32447. }
  32448. goto _2
  32449. _2:
  32450. ;
  32451. f++
  32452. }
  32453. goto _1
  32454. _1:
  32455. ;
  32456. set++
  32457. }
  32458. /*
  32459. * Walk the hash table and build
  32460. * a font set
  32461. */
  32462. ret = XIA__FcFontSetCreate(tls)
  32463. if !(ret != 0) {
  32464. goto bail1
  32465. }
  32466. i = 0
  32467. for {
  32468. if !(i < int32(m_FC_LIST_HASH_SIZE)) {
  32469. break
  32470. }
  32471. for {
  32472. v4 = *(*uintptr)(unsafe.Pointer(bp + 8 + uintptr(i)*8))
  32473. bucket = v4
  32474. if !(v4 != 0) {
  32475. break
  32476. }
  32477. if !(XIA__FcFontSetAdd(tls, ret, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern) != 0) {
  32478. goto bail2
  32479. }
  32480. *(*uintptr)(unsafe.Pointer(bp + 8 + uintptr(i)*8)) = (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext
  32481. libc.Xfree(tls, bucket)
  32482. }
  32483. goto _3
  32484. _3:
  32485. ;
  32486. i++
  32487. }
  32488. if destroy_os != 0 {
  32489. XIA__FcObjectSetDestroy(tls, os)
  32490. }
  32491. XIA__FcConfigDestroy(tls, config)
  32492. return ret
  32493. goto bail2
  32494. bail2:
  32495. ;
  32496. XIA__FcFontSetDestroy(tls, ret)
  32497. goto bail1
  32498. bail1:
  32499. ;
  32500. _FcListHashTableCleanup(tls, bp)
  32501. XIA__FcConfigDestroy(tls, config)
  32502. goto bail0
  32503. bail0:
  32504. ;
  32505. if destroy_os != 0 {
  32506. XIA__FcObjectSetDestroy(tls, os)
  32507. }
  32508. return uintptr(0)
  32509. }
  32510. var XFcFontSetList = XIA__FcFontSetList
  32511. func XIA__FcFontList(tls *libc.TLS, config uintptr, p uintptr, os uintptr) (r uintptr) {
  32512. bp := tls.Alloc(16)
  32513. defer tls.Free(16)
  32514. var nsets, v1, v2 int32
  32515. var ret uintptr
  32516. var _ /* sets at bp+0 */ [2]uintptr
  32517. _, _, _, _ = nsets, ret, v1, v2
  32518. if !(config != 0) {
  32519. if !(XIA__FcInitBringUptoDate(tls) != 0) {
  32520. return uintptr(0)
  32521. }
  32522. }
  32523. config = XIA__FcConfigReference(tls, config)
  32524. if !(config != 0) {
  32525. return libc.UintptrFromInt32(0)
  32526. }
  32527. nsets = 0
  32528. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8)) != 0 {
  32529. v1 = nsets
  32530. nsets++
  32531. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8))
  32532. }
  32533. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8)) != 0 {
  32534. v2 = nsets
  32535. nsets++
  32536. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8))
  32537. }
  32538. ret = XIA__FcFontSetList(tls, config, bp, nsets, p, os)
  32539. XIA__FcConfigDestroy(tls, config)
  32540. return ret
  32541. }
  32542. var XFcFontList = XIA__FcFontList
  32543. func _FcCompareNumber(tls *libc.TLS, value1 uintptr, value2 uintptr, bestValue uintptr) (r float64) {
  32544. var v, v1, v2 float64
  32545. _, _, _ = v, v1, v2
  32546. switch (*TFcValue)(unsafe.Pointer(value1)).Ftype1 {
  32547. case int32(_FcTypeInteger):
  32548. v1 = float64(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(value1)).Fu)))
  32549. case int32(_FcTypeDouble):
  32550. v1 = *(*float64)(unsafe.Pointer(value1 + 8))
  32551. default:
  32552. return -libc.Float64FromFloat64(1)
  32553. }
  32554. switch (*TFcValue)(unsafe.Pointer(value2)).Ftype1 {
  32555. case int32(_FcTypeInteger):
  32556. v2 = float64(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(value2)).Fu)))
  32557. case int32(_FcTypeDouble):
  32558. v2 = *(*float64)(unsafe.Pointer(value2 + 8))
  32559. default:
  32560. return -libc.Float64FromFloat64(1)
  32561. }
  32562. v = v2 - v1
  32563. if v < libc.Float64FromInt32(0) {
  32564. v = -v
  32565. }
  32566. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, value2)
  32567. return v
  32568. }
  32569. func _FcCompareString(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32570. var v11, v21 uintptr
  32571. _, _ = v11, v21
  32572. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  32573. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  32574. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  32575. } else {
  32576. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  32577. }
  32578. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  32579. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  32580. } else {
  32581. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  32582. }
  32583. return float64(libc.Bool32(float64(XIA__FcStrCmpIgnoreCase(tls, v11, v21)) != libc.Float64FromInt32(0)))
  32584. }
  32585. func _FcCompareFamily(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32586. var v1_string, v2_string, v11, v21 uintptr
  32587. var v3, v4 int32
  32588. _, _, _, _, _, _ = v1_string, v2_string, v11, v21, v3, v4
  32589. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  32590. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  32591. } else {
  32592. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  32593. }
  32594. /* rely on the guarantee in FcPatternObjectAddWithBinding that
  32595. * families are always FcTypeString. */
  32596. v1_string = v11
  32597. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  32598. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  32599. } else {
  32600. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  32601. }
  32602. v2_string = v21
  32603. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  32604. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) <= int32(0132) {
  32605. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) - int32(0101) + int32(0141)
  32606. } else {
  32607. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string)))
  32608. }
  32609. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) <= int32(0132) {
  32610. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) - int32(0101) + int32(0141)
  32611. } else {
  32612. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string)))
  32613. }
  32614. if v3 != v4 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) != int32(' ') && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) != int32(' ') {
  32615. return float64(1)
  32616. }
  32617. return float64(libc.Bool32(float64(XFcStrCmpIgnoreBlanksAndCase(tls, v1_string, v2_string)) != libc.Float64FromInt32(0)))
  32618. }
  32619. func _FcComparePostScript(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32620. var len1, len2, mlen Tsize_t
  32621. var n, v3, v4 int32
  32622. var v1_string, v2_string, v11, v21 uintptr
  32623. var v5 uint64
  32624. _, _, _, _, _, _, _, _, _, _, _ = len1, len2, mlen, n, v1_string, v2_string, v11, v21, v3, v4, v5
  32625. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  32626. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  32627. } else {
  32628. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  32629. }
  32630. v1_string = v11
  32631. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  32632. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  32633. } else {
  32634. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  32635. }
  32636. v2_string = v21
  32637. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  32638. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) <= int32(0132) {
  32639. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) - int32(0101) + int32(0141)
  32640. } else {
  32641. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string)))
  32642. }
  32643. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) <= int32(0132) {
  32644. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) - int32(0101) + int32(0141)
  32645. } else {
  32646. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string)))
  32647. }
  32648. if v3 != v4 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) != int32(' ') && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) != int32(' ') {
  32649. return float64(1)
  32650. }
  32651. n = XFcStrMatchIgnoreCaseAndDelims(tls, v1_string, v2_string, __ccgo_ts+6018)
  32652. len1 = libc.Xstrlen(tls, v1_string)
  32653. len2 = libc.Xstrlen(tls, v2_string)
  32654. if len1 > len2 {
  32655. v5 = len1
  32656. } else {
  32657. v5 = len2
  32658. }
  32659. mlen = v5
  32660. return float64(mlen-libc.Uint64FromInt32(n)) / float64(mlen)
  32661. }
  32662. func _FcCompareLang(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32663. var result TFcLangResult
  32664. var v11, v21, v3, v4, v5, v6, v7, v8 uintptr
  32665. _, _, _, _, _, _, _, _, _ = result, v11, v21, v3, v4, v5, v6, v7, v8
  32666. switch (*TFcValue)(unsafe.Pointer(v1)).Ftype1 {
  32667. case int32(_FcTypeLangSet):
  32668. switch (*TFcValue)(unsafe.Pointer(v2)).Ftype1 {
  32669. case int32(_FcTypeLangSet):
  32670. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  32671. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  32672. } else {
  32673. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  32674. }
  32675. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  32676. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  32677. } else {
  32678. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  32679. }
  32680. result = XIA__FcLangSetCompare(tls, v11, v21)
  32681. case int32(_FcTypeString):
  32682. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  32683. v3 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  32684. } else {
  32685. v3 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  32686. }
  32687. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  32688. v4 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  32689. } else {
  32690. v4 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  32691. }
  32692. result = XIA__FcLangSetHasLang(tls, v3, v4)
  32693. default:
  32694. return -libc.Float64FromFloat64(1)
  32695. }
  32696. case int32(_FcTypeString):
  32697. switch (*TFcValue)(unsafe.Pointer(v2)).Ftype1 {
  32698. case int32(_FcTypeLangSet):
  32699. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  32700. v5 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  32701. } else {
  32702. v5 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  32703. }
  32704. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  32705. v6 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  32706. } else {
  32707. v6 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  32708. }
  32709. result = XIA__FcLangSetHasLang(tls, v5, v6)
  32710. case int32(_FcTypeString):
  32711. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  32712. v7 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  32713. } else {
  32714. v7 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  32715. }
  32716. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  32717. v8 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  32718. } else {
  32719. v8 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  32720. }
  32721. result = XFcLangCompare(tls, v7, v8)
  32722. default:
  32723. return -libc.Float64FromFloat64(1)
  32724. }
  32725. default:
  32726. return -libc.Float64FromFloat64(1)
  32727. }
  32728. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  32729. switch result {
  32730. case int32(_FcLangEqual):
  32731. return libc.Float64FromInt32(0)
  32732. case int32(_FcLangDifferentCountry):
  32733. return libc.Float64FromInt32(1)
  32734. case int32(_FcLangDifferentLang):
  32735. fallthrough
  32736. default:
  32737. return libc.Float64FromInt32(2)
  32738. }
  32739. return r
  32740. }
  32741. func _FcCompareBool(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32742. if (*TFcValue)(unsafe.Pointer(v2)).Ftype1 != int32(_FcTypeBool) || (*TFcValue)(unsafe.Pointer(v1)).Ftype1 != int32(_FcTypeBool) {
  32743. return -libc.Float64FromFloat64(1)
  32744. }
  32745. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeBool)
  32746. if *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu)) != int32(m_FcDontCare) {
  32747. *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(bestValue)).Fu)) = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))
  32748. } else {
  32749. *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(bestValue)).Fu)) = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu))
  32750. }
  32751. return float64(libc.Bool32(*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))^*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu)) == libc.Int32FromInt32(1)))
  32752. }
  32753. func _FcCompareCharSet(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32754. var v11, v21 uintptr
  32755. _, _ = v11, v21
  32756. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2) /* TODO Improve. */
  32757. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  32758. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  32759. } else {
  32760. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  32761. }
  32762. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  32763. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  32764. } else {
  32765. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  32766. }
  32767. return float64(XIA__FcCharSetSubtractCount(tls, v11, v21))
  32768. }
  32769. func _FcCompareRange(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32770. bp := tls.Alloc(32)
  32771. defer tls.Free(32)
  32772. var b1, b2, d, e1, e2, v11, v21, v3, v4, v5, v6, v7 float64
  32773. var _ /* value1 at bp+0 */ TFcValue
  32774. var _ /* value2 at bp+16 */ TFcValue
  32775. _, _, _, _, _, _, _, _, _, _, _, _ = b1, b2, d, e1, e2, v11, v21, v3, v4, v5, v6, v7
  32776. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  32777. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v1)
  32778. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  32779. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, v2)
  32780. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  32781. case int32(_FcTypeInteger):
  32782. v11 = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  32783. e1 = v11
  32784. b1 = v11
  32785. case int32(_FcTypeDouble):
  32786. v21 = *(*float64)(unsafe.Pointer(bp + 8))
  32787. e1 = v21
  32788. b1 = v21
  32789. case int32(_FcTypeRange):
  32790. b1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin
  32791. e1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend
  32792. default:
  32793. return float64(-libc.Int32FromInt32(1))
  32794. }
  32795. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  32796. case int32(_FcTypeInteger):
  32797. v3 = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  32798. e2 = v3
  32799. b2 = v3
  32800. case int32(_FcTypeDouble):
  32801. v4 = *(*float64)(unsafe.Pointer(bp + 16 + 8))
  32802. e2 = v4
  32803. b2 = v4
  32804. case int32(_FcTypeRange):
  32805. b2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fbegin
  32806. e2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fend
  32807. default:
  32808. return float64(-libc.Int32FromInt32(1))
  32809. }
  32810. if e1 < b2 {
  32811. d = b2
  32812. } else {
  32813. if e2 < b1 {
  32814. d = e2
  32815. } else {
  32816. if b1 > b2 {
  32817. v5 = b1
  32818. } else {
  32819. v5 = b2
  32820. }
  32821. if e1 < e2 {
  32822. v6 = e1
  32823. } else {
  32824. v6 = e2
  32825. }
  32826. d = (v5 + v6) * float64(0.5)
  32827. }
  32828. }
  32829. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeDouble)
  32830. *(*float64)(unsafe.Pointer(bestValue + 8)) = d
  32831. /* If the ranges overlap, it's a match, otherwise return closest distance. */
  32832. if e1 < b2 || e2 < b1 {
  32833. if libc.Xfabs(tls, b2-e1) < libc.Xfabs(tls, b1-e2) {
  32834. v7 = libc.Xfabs(tls, b2-e1)
  32835. } else {
  32836. v7 = libc.Xfabs(tls, b1-e2)
  32837. }
  32838. return v7
  32839. } else {
  32840. return float64(0)
  32841. }
  32842. return r
  32843. }
  32844. func _FcCompareSize(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32845. bp := tls.Alloc(32)
  32846. defer tls.Free(32)
  32847. var b1, b2, e1, e2, v11, v21, v3, v4, v5 float64
  32848. var _ /* value1 at bp+0 */ TFcValue
  32849. var _ /* value2 at bp+16 */ TFcValue
  32850. _, _, _, _, _, _, _, _, _ = b1, b2, e1, e2, v11, v21, v3, v4, v5
  32851. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  32852. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v1)
  32853. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  32854. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, v2)
  32855. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  32856. case int32(_FcTypeInteger):
  32857. v11 = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  32858. e1 = v11
  32859. b1 = v11
  32860. case int32(_FcTypeDouble):
  32861. v21 = *(*float64)(unsafe.Pointer(bp + 8))
  32862. e1 = v21
  32863. b1 = v21
  32864. case int32(_FcTypeRange):
  32865. b1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin
  32866. e1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend
  32867. default:
  32868. return float64(-libc.Int32FromInt32(1))
  32869. }
  32870. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  32871. case int32(_FcTypeInteger):
  32872. v3 = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  32873. e2 = v3
  32874. b2 = v3
  32875. case int32(_FcTypeDouble):
  32876. v4 = *(*float64)(unsafe.Pointer(bp + 16 + 8))
  32877. e2 = v4
  32878. b2 = v4
  32879. case int32(_FcTypeRange):
  32880. b2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fbegin
  32881. e2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fend
  32882. default:
  32883. return float64(-libc.Int32FromInt32(1))
  32884. }
  32885. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeDouble)
  32886. *(*float64)(unsafe.Pointer(bestValue + 8)) = (b1 + e1) * float64(0.5)
  32887. /* If the ranges overlap, it's a match, otherwise return closest distance. */
  32888. if e1 < b2 || e2 < b1 {
  32889. if libc.Xfabs(tls, b2-e1) < libc.Xfabs(tls, b1-e2) {
  32890. v5 = libc.Xfabs(tls, b2-e1)
  32891. } else {
  32892. v5 = libc.Xfabs(tls, b1-e2)
  32893. }
  32894. return v5
  32895. }
  32896. if b2 != e2 && b1 == e2 { /* Semi-closed interval. */
  32897. return float64(1e-15)
  32898. } else {
  32899. return float64(0)
  32900. }
  32901. return r
  32902. }
  32903. func _FcCompareFilename(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  32904. var s1, s2, v11, v21 uintptr
  32905. _, _, _, _ = s1, s2, v11, v21
  32906. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  32907. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  32908. } else {
  32909. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  32910. }
  32911. s1 = v11
  32912. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  32913. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  32914. } else {
  32915. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  32916. }
  32917. s2 = v21
  32918. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  32919. if XIA__FcStrCmp(tls, s1, s2) == 0 {
  32920. return float64(0)
  32921. } else {
  32922. if XIA__FcStrCmpIgnoreCase(tls, s1, s2) == 0 {
  32923. return float64(1)
  32924. } else {
  32925. if XFcStrGlobMatch(tls, s1, s2) != 0 {
  32926. return float64(2)
  32927. } else {
  32928. return float64(3)
  32929. }
  32930. }
  32931. }
  32932. return r
  32933. }
  32934. /* Define priorities to -1 for objects that don't have a compare function. */
  32935. type TFcMatcherPriorityDummy = int32
  32936. /* Define priorities to -1 for objects that don't have a compare function. */
  32937. type __FcMatcherPriorityDummy = int32
  32938. const _PRI_FAMILYLANG_STRONG = -1
  32939. const _PRI_FAMILYLANG_WEAK = -1
  32940. const _PRI_STYLELANG_STRONG = -1
  32941. const _PRI_STYLELANG_WEAK = -1
  32942. const _PRI_FULLNAME_STRONG = -1
  32943. const _PRI_FULLNAME_WEAK = -1
  32944. const _PRI_FULLNAMELANG_STRONG = -1
  32945. const _PRI_FULLNAMELANG_WEAK = -1
  32946. const _PRI_ASPECT_STRONG = -1
  32947. const _PRI_ASPECT_WEAK = -1
  32948. const _PRI_HINT_STYLE_STRONG = -1
  32949. const _PRI_HINT_STYLE_WEAK = -1
  32950. const _PRI_HINTING_STRONG = -1
  32951. const _PRI_HINTING_WEAK = -1
  32952. const _PRI_VERTICAL_LAYOUT_STRONG = -1
  32953. const _PRI_VERTICAL_LAYOUT_WEAK = -1
  32954. const _PRI_AUTOHINT_STRONG = -1
  32955. const _PRI_AUTOHINT_WEAK = -1
  32956. const _PRI_GLOBAL_ADVANCE_STRONG = -1
  32957. const _PRI_GLOBAL_ADVANCE_WEAK = -1
  32958. const _PRI_INDEX_STRONG = -1
  32959. const _PRI_INDEX_WEAK = -1
  32960. const _PRI_DPI_STRONG = -1
  32961. const _PRI_DPI_WEAK = -1
  32962. const _PRI_RGBA_STRONG = -1
  32963. const _PRI_RGBA_WEAK = -1
  32964. const _PRI_SCALE_STRONG = -1
  32965. const _PRI_SCALE_WEAK = -1
  32966. const _PRI_MINSPACE_STRONG = -1
  32967. const _PRI_MINSPACE_WEAK = -1
  32968. const _PRI_CHARWIDTH_STRONG = -1
  32969. const _PRI_CHARWIDTH_WEAK = -1
  32970. const _PRI_CHAR_HEIGHT_STRONG = -1
  32971. const _PRI_CHAR_HEIGHT_WEAK = -1
  32972. const _PRI_MATRIX_STRONG = -1
  32973. const _PRI_MATRIX_WEAK = -1
  32974. const _PRI_CAPABILITY_STRONG = -1
  32975. const _PRI_CAPABILITY_WEAK = -1
  32976. const _PRI_EMBOLDEN_STRONG = -1
  32977. const _PRI_EMBOLDEN_WEAK = -1
  32978. const _PRI_EMBEDDED_BITMAP_STRONG = -1
  32979. const _PRI_EMBEDDED_BITMAP_WEAK = -1
  32980. const _PRI_LCD_FILTER_STRONG = -1
  32981. const _PRI_LCD_FILTER_WEAK = -1
  32982. const _PRI_NAMELANG_STRONG = -1
  32983. const _PRI_NAMELANG_WEAK = -1
  32984. const _PRI_FONT_FEATURES_STRONG = -1
  32985. const _PRI_FONT_FEATURES_WEAK = -1
  32986. const _PRI_PRGNAME_STRONG = -1
  32987. const _PRI_PRGNAME_WEAK = -1
  32988. const _PRI_HASH_STRONG = -1
  32989. const _PRI_HASH_WEAK = -1
  32990. const _PRI_FONT_VARIATIONS_STRONG = -1
  32991. const _PRI_FONT_VARIATIONS_WEAK = -1
  32992. /* Canonical match priority order. */
  32993. type TFcMatcherPriority = int32
  32994. /* Canonical match priority order. */
  32995. type __FcMatcherPriority = int32
  32996. const _PRI_FILE = 0
  32997. const _PRI_FILE_STRONG = 0
  32998. const _PRI_FILE_WEAK = 0
  32999. const _PRI_FONTFORMAT = 1
  33000. const _PRI_FONTFORMAT_STRONG = 1
  33001. const _PRI_FONTFORMAT_WEAK = 1
  33002. const _PRI_VARIABLE = 2
  33003. const _PRI_VARIABLE_STRONG = 2
  33004. const _PRI_VARIABLE_WEAK = 2
  33005. const _PRI_SCALABLE = 3
  33006. const _PRI_SCALABLE_STRONG = 3
  33007. const _PRI_SCALABLE_WEAK = 3
  33008. const _PRI_COLOR = 4
  33009. const _PRI_COLOR_STRONG = 4
  33010. const _PRI_COLOR_WEAK = 4
  33011. const _PRI_FOUNDRY = 5
  33012. const _PRI_FOUNDRY_STRONG = 5
  33013. const _PRI_FOUNDRY_WEAK = 5
  33014. const _PRI_CHARSET = 6
  33015. const _PRI_CHARSET_STRONG = 6
  33016. const _PRI_CHARSET_WEAK = 6
  33017. const _PRI_FAMILY_STRONG = 7
  33018. const _PRI_POSTSCRIPT_NAME_STRONG = 8
  33019. const _PRI_LANG = 9
  33020. const _PRI_LANG_STRONG = 9
  33021. const _PRI_LANG_WEAK = 9
  33022. const _PRI_FAMILY_WEAK = 10
  33023. const _PRI_POSTSCRIPT_NAME_WEAK = 11
  33024. const _PRI_SYMBOL = 12
  33025. const _PRI_SYMBOL_STRONG = 12
  33026. const _PRI_SYMBOL_WEAK = 12
  33027. const _PRI_SPACING = 13
  33028. const _PRI_SPACING_STRONG = 13
  33029. const _PRI_SPACING_WEAK = 13
  33030. const _PRI_SIZE = 14
  33031. const _PRI_SIZE_STRONG = 14
  33032. const _PRI_SIZE_WEAK = 14
  33033. const _PRI_PIXEL_SIZE = 15
  33034. const _PRI_PIXEL_SIZE_STRONG = 15
  33035. const _PRI_PIXEL_SIZE_WEAK = 15
  33036. const _PRI_STYLE = 16
  33037. const _PRI_STYLE_STRONG = 16
  33038. const _PRI_STYLE_WEAK = 16
  33039. const _PRI_SLANT = 17
  33040. const _PRI_SLANT_STRONG = 17
  33041. const _PRI_SLANT_WEAK = 17
  33042. const _PRI_WEIGHT = 18
  33043. const _PRI_WEIGHT_STRONG = 18
  33044. const _PRI_WEIGHT_WEAK = 18
  33045. const _PRI_WIDTH = 19
  33046. const _PRI_WIDTH_STRONG = 19
  33047. const _PRI_WIDTH_WEAK = 19
  33048. const _PRI_FONT_HAS_HINT = 20
  33049. const _PRI_FONT_HAS_HINT_STRONG = 20
  33050. const _PRI_FONT_HAS_HINT_WEAK = 20
  33051. const _PRI_DECORATIVE = 21
  33052. const _PRI_DECORATIVE_STRONG = 21
  33053. const _PRI_DECORATIVE_WEAK = 21
  33054. const _PRI_ANTIALIAS = 22
  33055. const _PRI_ANTIALIAS_STRONG = 22
  33056. const _PRI_ANTIALIAS_WEAK = 22
  33057. const _PRI_RASTERIZER = 23
  33058. const _PRI_RASTERIZER_STRONG = 23
  33059. const _PRI_RASTERIZER_WEAK = 23
  33060. const _PRI_OUTLINE = 24
  33061. const _PRI_OUTLINE_STRONG = 24
  33062. const _PRI_OUTLINE_WEAK = 24
  33063. const _PRI_ORDER = 25
  33064. const _PRI_ORDER_STRONG = 25
  33065. const _PRI_ORDER_WEAK = 25
  33066. const _PRI_FONTVERSION = 26
  33067. const _PRI_FONTVERSION_STRONG = 26
  33068. const _PRI_FONTVERSION_WEAK = 26
  33069. const _PRI_END = 27
  33070. type TFcMatcher = struct {
  33071. Fobject TFcObject
  33072. Fcompare uintptr
  33073. Fstrong int32
  33074. Fweak int32
  33075. }
  33076. type T_FcMatcher = TFcMatcher
  33077. // C documentation
  33078. //
  33079. // /*
  33080. // * Order is significant, it defines the precedence of
  33081. // * each value, earlier values are more significant than
  33082. // * later values
  33083. // */
  33084. var __FcMatchers = [53]TFcMatcher{
  33085. 0: {
  33086. Fstrong: -int32(1),
  33087. Fweak: -int32(1),
  33088. },
  33089. 1: {
  33090. Fobject: int32(_FC_FAMILY_OBJECT),
  33091. Fstrong: int32(_PRI_FAMILY_STRONG),
  33092. Fweak: int32(_PRI_FAMILY_WEAK),
  33093. },
  33094. 2: {
  33095. Fobject: int32(_FC_FAMILYLANG_OBJECT),
  33096. Fstrong: int32(_PRI_FAMILYLANG_STRONG),
  33097. Fweak: int32(_PRI_FAMILYLANG_WEAK),
  33098. },
  33099. 3: {
  33100. Fobject: int32(_FC_STYLE_OBJECT),
  33101. Fstrong: int32(_PRI_STYLE_STRONG),
  33102. Fweak: int32(_PRI_STYLE_WEAK),
  33103. },
  33104. 4: {
  33105. Fobject: int32(_FC_STYLELANG_OBJECT),
  33106. Fstrong: int32(_PRI_STYLELANG_STRONG),
  33107. Fweak: int32(_PRI_STYLELANG_WEAK),
  33108. },
  33109. 5: {
  33110. Fobject: int32(_FC_FULLNAME_OBJECT),
  33111. Fstrong: int32(_PRI_FULLNAME_STRONG),
  33112. Fweak: int32(_PRI_FULLNAME_WEAK),
  33113. },
  33114. 6: {
  33115. Fobject: int32(_FC_FULLNAMELANG_OBJECT),
  33116. Fstrong: int32(_PRI_FULLNAMELANG_STRONG),
  33117. Fweak: int32(_PRI_FULLNAMELANG_WEAK),
  33118. },
  33119. 7: {
  33120. Fobject: int32(_FC_SLANT_OBJECT),
  33121. Fstrong: int32(_PRI_SLANT_STRONG),
  33122. Fweak: int32(_PRI_SLANT_WEAK),
  33123. },
  33124. 8: {
  33125. Fobject: int32(_FC_WEIGHT_OBJECT),
  33126. Fstrong: int32(_PRI_WEIGHT_STRONG),
  33127. Fweak: int32(_PRI_WEIGHT_WEAK),
  33128. },
  33129. 9: {
  33130. Fobject: int32(_FC_WIDTH_OBJECT),
  33131. Fstrong: int32(_PRI_WIDTH_STRONG),
  33132. Fweak: int32(_PRI_WIDTH_WEAK),
  33133. },
  33134. 10: {
  33135. Fobject: int32(_FC_SIZE_OBJECT),
  33136. Fstrong: int32(_PRI_SIZE_STRONG),
  33137. Fweak: int32(_PRI_SIZE_WEAK),
  33138. },
  33139. 11: {
  33140. Fobject: int32(_FC_ASPECT_OBJECT),
  33141. Fstrong: int32(_PRI_ASPECT_STRONG),
  33142. Fweak: int32(_PRI_ASPECT_WEAK),
  33143. },
  33144. 12: {
  33145. Fobject: int32(_FC_PIXEL_SIZE_OBJECT),
  33146. Fstrong: int32(_PRI_PIXEL_SIZE_STRONG),
  33147. Fweak: int32(_PRI_PIXEL_SIZE_WEAK),
  33148. },
  33149. 13: {
  33150. Fobject: int32(_FC_SPACING_OBJECT),
  33151. Fstrong: int32(_PRI_SPACING_STRONG),
  33152. Fweak: int32(_PRI_SPACING_WEAK),
  33153. },
  33154. 14: {
  33155. Fobject: int32(_FC_FOUNDRY_OBJECT),
  33156. Fstrong: int32(_PRI_FOUNDRY_STRONG),
  33157. Fweak: int32(_PRI_FOUNDRY_WEAK),
  33158. },
  33159. 15: {
  33160. Fobject: int32(_FC_ANTIALIAS_OBJECT),
  33161. Fstrong: int32(_PRI_ANTIALIAS_STRONG),
  33162. Fweak: int32(_PRI_ANTIALIAS_WEAK),
  33163. },
  33164. 16: {
  33165. Fobject: int32(_FC_HINT_STYLE_OBJECT),
  33166. Fstrong: int32(_PRI_HINT_STYLE_STRONG),
  33167. Fweak: int32(_PRI_HINT_STYLE_WEAK),
  33168. },
  33169. 17: {
  33170. Fobject: int32(_FC_HINTING_OBJECT),
  33171. Fstrong: int32(_PRI_HINTING_STRONG),
  33172. Fweak: int32(_PRI_HINTING_WEAK),
  33173. },
  33174. 18: {
  33175. Fobject: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  33176. Fstrong: int32(_PRI_VERTICAL_LAYOUT_STRONG),
  33177. Fweak: int32(_PRI_VERTICAL_LAYOUT_WEAK),
  33178. },
  33179. 19: {
  33180. Fobject: int32(_FC_AUTOHINT_OBJECT),
  33181. Fstrong: int32(_PRI_AUTOHINT_STRONG),
  33182. Fweak: int32(_PRI_AUTOHINT_WEAK),
  33183. },
  33184. 20: {
  33185. Fobject: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  33186. Fstrong: int32(_PRI_GLOBAL_ADVANCE_STRONG),
  33187. Fweak: int32(_PRI_GLOBAL_ADVANCE_WEAK),
  33188. },
  33189. 21: {
  33190. Fobject: int32(_FC_FILE_OBJECT),
  33191. },
  33192. 22: {
  33193. Fobject: int32(_FC_INDEX_OBJECT),
  33194. Fstrong: int32(_PRI_INDEX_STRONG),
  33195. Fweak: int32(_PRI_INDEX_WEAK),
  33196. },
  33197. 23: {
  33198. Fobject: int32(_FC_RASTERIZER_OBJECT),
  33199. Fstrong: int32(_PRI_RASTERIZER_STRONG),
  33200. Fweak: int32(_PRI_RASTERIZER_WEAK),
  33201. },
  33202. 24: {
  33203. Fobject: int32(_FC_OUTLINE_OBJECT),
  33204. Fstrong: int32(_PRI_OUTLINE_STRONG),
  33205. Fweak: int32(_PRI_OUTLINE_WEAK),
  33206. },
  33207. 25: {
  33208. Fobject: int32(_FC_SCALABLE_OBJECT),
  33209. Fstrong: int32(_PRI_SCALABLE_STRONG),
  33210. Fweak: int32(_PRI_SCALABLE_WEAK),
  33211. },
  33212. 26: {
  33213. Fobject: int32(_FC_DPI_OBJECT),
  33214. Fstrong: int32(_PRI_DPI_STRONG),
  33215. Fweak: int32(_PRI_DPI_WEAK),
  33216. },
  33217. 27: {
  33218. Fobject: int32(_FC_RGBA_OBJECT),
  33219. Fstrong: int32(_PRI_RGBA_STRONG),
  33220. Fweak: int32(_PRI_RGBA_WEAK),
  33221. },
  33222. 28: {
  33223. Fobject: int32(_FC_SCALE_OBJECT),
  33224. Fstrong: int32(_PRI_SCALE_STRONG),
  33225. Fweak: int32(_PRI_SCALE_WEAK),
  33226. },
  33227. 29: {
  33228. Fobject: int32(_FC_MINSPACE_OBJECT),
  33229. Fstrong: int32(_PRI_MINSPACE_STRONG),
  33230. Fweak: int32(_PRI_MINSPACE_WEAK),
  33231. },
  33232. 30: {
  33233. Fobject: int32(_FC_CHARWIDTH_OBJECT),
  33234. Fstrong: int32(_PRI_CHARWIDTH_STRONG),
  33235. Fweak: int32(_PRI_CHARWIDTH_WEAK),
  33236. },
  33237. 31: {
  33238. Fobject: int32(_FC_CHAR_HEIGHT_OBJECT),
  33239. Fstrong: int32(_PRI_CHAR_HEIGHT_STRONG),
  33240. Fweak: int32(_PRI_CHAR_HEIGHT_WEAK),
  33241. },
  33242. 32: {
  33243. Fobject: int32(_FC_MATRIX_OBJECT),
  33244. Fstrong: int32(_PRI_MATRIX_STRONG),
  33245. Fweak: int32(_PRI_MATRIX_WEAK),
  33246. },
  33247. 33: {
  33248. Fobject: int32(_FC_CHARSET_OBJECT),
  33249. Fstrong: int32(_PRI_CHARSET_STRONG),
  33250. Fweak: int32(_PRI_CHARSET_WEAK),
  33251. },
  33252. 34: {
  33253. Fobject: int32(_FC_LANG_OBJECT),
  33254. Fstrong: int32(_PRI_LANG_STRONG),
  33255. Fweak: int32(_PRI_LANG_WEAK),
  33256. },
  33257. 35: {
  33258. Fobject: int32(_FC_FONTVERSION_OBJECT),
  33259. Fstrong: int32(_PRI_FONTVERSION_STRONG),
  33260. Fweak: int32(_PRI_FONTVERSION_WEAK),
  33261. },
  33262. 36: {
  33263. Fobject: int32(_FC_CAPABILITY_OBJECT),
  33264. Fstrong: int32(_PRI_CAPABILITY_STRONG),
  33265. Fweak: int32(_PRI_CAPABILITY_WEAK),
  33266. },
  33267. 37: {
  33268. Fobject: int32(_FC_FONTFORMAT_OBJECT),
  33269. Fstrong: int32(_PRI_FONTFORMAT_STRONG),
  33270. Fweak: int32(_PRI_FONTFORMAT_WEAK),
  33271. },
  33272. 38: {
  33273. Fobject: int32(_FC_EMBOLDEN_OBJECT),
  33274. Fstrong: int32(_PRI_EMBOLDEN_STRONG),
  33275. Fweak: int32(_PRI_EMBOLDEN_WEAK),
  33276. },
  33277. 39: {
  33278. Fobject: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  33279. Fstrong: int32(_PRI_EMBEDDED_BITMAP_STRONG),
  33280. Fweak: int32(_PRI_EMBEDDED_BITMAP_WEAK),
  33281. },
  33282. 40: {
  33283. Fobject: int32(_FC_DECORATIVE_OBJECT),
  33284. Fstrong: int32(_PRI_DECORATIVE_STRONG),
  33285. Fweak: int32(_PRI_DECORATIVE_WEAK),
  33286. },
  33287. 41: {
  33288. Fobject: int32(_FC_LCD_FILTER_OBJECT),
  33289. Fstrong: int32(_PRI_LCD_FILTER_STRONG),
  33290. Fweak: int32(_PRI_LCD_FILTER_WEAK),
  33291. },
  33292. 42: {
  33293. Fobject: int32(_FC_NAMELANG_OBJECT),
  33294. Fstrong: int32(_PRI_NAMELANG_STRONG),
  33295. Fweak: int32(_PRI_NAMELANG_WEAK),
  33296. },
  33297. 43: {
  33298. Fobject: int32(_FC_FONT_FEATURES_OBJECT),
  33299. Fstrong: int32(_PRI_FONT_FEATURES_STRONG),
  33300. Fweak: int32(_PRI_FONT_FEATURES_WEAK),
  33301. },
  33302. 44: {
  33303. Fobject: int32(_FC_PRGNAME_OBJECT),
  33304. Fstrong: int32(_PRI_PRGNAME_STRONG),
  33305. Fweak: int32(_PRI_PRGNAME_WEAK),
  33306. },
  33307. 45: {
  33308. Fobject: int32(_FC_HASH_OBJECT),
  33309. Fstrong: int32(_PRI_HASH_STRONG),
  33310. Fweak: int32(_PRI_HASH_WEAK),
  33311. },
  33312. 46: {
  33313. Fobject: int32(_FC_POSTSCRIPT_NAME_OBJECT),
  33314. Fstrong: int32(_PRI_POSTSCRIPT_NAME_STRONG),
  33315. Fweak: int32(_PRI_POSTSCRIPT_NAME_WEAK),
  33316. },
  33317. 47: {
  33318. Fobject: int32(_FC_COLOR_OBJECT),
  33319. Fstrong: int32(_PRI_COLOR_STRONG),
  33320. Fweak: int32(_PRI_COLOR_WEAK),
  33321. },
  33322. 48: {
  33323. Fobject: int32(_FC_SYMBOL_OBJECT),
  33324. Fstrong: int32(_PRI_SYMBOL_STRONG),
  33325. Fweak: int32(_PRI_SYMBOL_WEAK),
  33326. },
  33327. 49: {
  33328. Fobject: int32(_FC_FONT_VARIATIONS_OBJECT),
  33329. Fstrong: int32(_PRI_FONT_VARIATIONS_STRONG),
  33330. Fweak: int32(_PRI_FONT_VARIATIONS_WEAK),
  33331. },
  33332. 50: {
  33333. Fobject: int32(_FC_VARIABLE_OBJECT),
  33334. Fstrong: int32(_PRI_VARIABLE_STRONG),
  33335. Fweak: int32(_PRI_VARIABLE_WEAK),
  33336. },
  33337. 51: {
  33338. Fobject: int32(_FC_FONT_HAS_HINT_OBJECT),
  33339. Fstrong: int32(_PRI_FONT_HAS_HINT_STRONG),
  33340. Fweak: int32(_PRI_FONT_HAS_HINT_WEAK),
  33341. },
  33342. 52: {
  33343. Fobject: int32(_FC_ORDER_OBJECT),
  33344. Fstrong: int32(_PRI_ORDER_STRONG),
  33345. Fweak: int32(_PRI_ORDER_WEAK),
  33346. },
  33347. }
  33348. func init() {
  33349. p := unsafe.Pointer(&__FcMatchers)
  33350. *(*uintptr)(unsafe.Add(p, 32)) = __ccgo_fp(_FcCompareFamily)
  33351. *(*uintptr)(unsafe.Add(p, 80)) = __ccgo_fp(_FcCompareString)
  33352. *(*uintptr)(unsafe.Add(p, 176)) = __ccgo_fp(_FcCompareNumber)
  33353. *(*uintptr)(unsafe.Add(p, 200)) = __ccgo_fp(_FcCompareRange)
  33354. *(*uintptr)(unsafe.Add(p, 224)) = __ccgo_fp(_FcCompareRange)
  33355. *(*uintptr)(unsafe.Add(p, 248)) = __ccgo_fp(_FcCompareSize)
  33356. *(*uintptr)(unsafe.Add(p, 296)) = __ccgo_fp(_FcCompareNumber)
  33357. *(*uintptr)(unsafe.Add(p, 320)) = __ccgo_fp(_FcCompareNumber)
  33358. *(*uintptr)(unsafe.Add(p, 344)) = __ccgo_fp(_FcCompareString)
  33359. *(*uintptr)(unsafe.Add(p, 368)) = __ccgo_fp(_FcCompareBool)
  33360. *(*uintptr)(unsafe.Add(p, 512)) = __ccgo_fp(_FcCompareFilename)
  33361. *(*uintptr)(unsafe.Add(p, 560)) = __ccgo_fp(_FcCompareString)
  33362. *(*uintptr)(unsafe.Add(p, 584)) = __ccgo_fp(_FcCompareBool)
  33363. *(*uintptr)(unsafe.Add(p, 608)) = __ccgo_fp(_FcCompareBool)
  33364. *(*uintptr)(unsafe.Add(p, 800)) = __ccgo_fp(_FcCompareCharSet)
  33365. *(*uintptr)(unsafe.Add(p, 824)) = __ccgo_fp(_FcCompareLang)
  33366. *(*uintptr)(unsafe.Add(p, 848)) = __ccgo_fp(_FcCompareNumber)
  33367. *(*uintptr)(unsafe.Add(p, 896)) = __ccgo_fp(_FcCompareString)
  33368. *(*uintptr)(unsafe.Add(p, 968)) = __ccgo_fp(_FcCompareBool)
  33369. *(*uintptr)(unsafe.Add(p, 1112)) = __ccgo_fp(_FcComparePostScript)
  33370. *(*uintptr)(unsafe.Add(p, 1136)) = __ccgo_fp(_FcCompareBool)
  33371. *(*uintptr)(unsafe.Add(p, 1160)) = __ccgo_fp(_FcCompareBool)
  33372. *(*uintptr)(unsafe.Add(p, 1208)) = __ccgo_fp(_FcCompareBool)
  33373. *(*uintptr)(unsafe.Add(p, 1232)) = __ccgo_fp(_FcCompareBool)
  33374. *(*uintptr)(unsafe.Add(p, 1256)) = __ccgo_fp(_FcCompareNumber)
  33375. }
  33376. func _FcObjectToMatcher(tls *libc.TLS, object TFcObject, include_lang TFcBool) (r uintptr) {
  33377. if include_lang != 0 {
  33378. switch object {
  33379. case int32(_FC_FAMILYLANG_OBJECT):
  33380. fallthrough
  33381. case int32(_FC_STYLELANG_OBJECT):
  33382. fallthrough
  33383. case int32(_FC_FULLNAMELANG_OBJECT):
  33384. object = int32(_FC_LANG_OBJECT)
  33385. break
  33386. }
  33387. }
  33388. if object > int32(_FC_ONE_AFTER_MAX_BASE_OBJECT)-libc.Int32FromInt32(1) || !(__FcMatchers[object].Fcompare != 0) || __FcMatchers[object].Fstrong == -int32(1) || __FcMatchers[object].Fweak == -int32(1) {
  33389. return libc.UintptrFromInt32(0)
  33390. }
  33391. return uintptr(unsafe.Pointer(&__FcMatchers)) + uintptr(object)*24
  33392. }
  33393. func _FcCompareValueList(tls *libc.TLS, object TFcObject, match uintptr, v1orig TFcValueListPtr, v2orig TFcValueListPtr, bestValue uintptr, value uintptr, n uintptr, result uintptr) (r TFcBool) {
  33394. bp := tls.Alloc(48)
  33395. defer tls.Free(48)
  33396. var best, bestStrong, bestWeak, v float64
  33397. var j, k, pos, strong, weak, v3 int32
  33398. var v1, v2 TFcValueListPtr
  33399. var v4, v5 uintptr
  33400. var _ /* matchValue at bp+0 */ TFcValue
  33401. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = best, bestStrong, bestWeak, j, k, pos, strong, v, v1, v2, weak, v3, v4, v5
  33402. pos = 0
  33403. if !(match != 0) {
  33404. if bestValue != 0 {
  33405. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2orig+8)
  33406. }
  33407. if n != 0 {
  33408. *(*int32)(unsafe.Pointer(n)) = 0
  33409. }
  33410. return int32(m_FcTrue)
  33411. }
  33412. weak = (*TFcMatcher)(unsafe.Pointer(match)).Fweak
  33413. strong = (*TFcMatcher)(unsafe.Pointer(match)).Fstrong
  33414. best = float64(1e+99)
  33415. bestStrong = float64(1e+99)
  33416. bestWeak = float64(1e+99)
  33417. v1 = v1orig
  33418. j = libc.Int32FromInt32(0)
  33419. for {
  33420. if !(v1 != 0) {
  33421. break
  33422. }
  33423. v2 = v2orig
  33424. k = libc.Int32FromInt32(0)
  33425. for {
  33426. if !(v2 != 0) {
  33427. break
  33428. }
  33429. v = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) float64)(unsafe.Pointer(&struct{ uintptr }{(*TFcMatcher)(unsafe.Pointer(match)).Fcompare})))(tls, v1+8, v2+8, bp)
  33430. if v < libc.Float64FromInt32(0) {
  33431. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultTypeMismatch)
  33432. return m_FcFalse
  33433. }
  33434. if (*T_FcValueList)(unsafe.Pointer(v2)).Fvalue.Ftype1 == int32(_FcTypeString) {
  33435. v3 = int32(1)
  33436. } else {
  33437. v3 = 0
  33438. }
  33439. v = v*libc.Float64FromInt32(1000) + float64(j*int32(100)) + float64(k*v3)
  33440. if v < best {
  33441. if bestValue != 0 {
  33442. *(*TFcValue)(unsafe.Pointer(bestValue)) = *(*TFcValue)(unsafe.Pointer(bp))
  33443. }
  33444. best = v
  33445. pos = k
  33446. }
  33447. if weak == strong {
  33448. /* found the best possible match */
  33449. if best < libc.Float64FromInt32(1000) {
  33450. goto done
  33451. }
  33452. } else {
  33453. if (*T_FcValueList)(unsafe.Pointer(v1)).Fbinding == int32(_FcValueBindingStrong) {
  33454. if v < bestStrong {
  33455. bestStrong = v
  33456. }
  33457. } else {
  33458. if v < bestWeak {
  33459. bestWeak = v
  33460. }
  33461. }
  33462. }
  33463. goto _2
  33464. _2:
  33465. ;
  33466. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  33467. v4 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  33468. } else {
  33469. v4 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  33470. }
  33471. v2 = v4
  33472. k++
  33473. }
  33474. goto _1
  33475. _1:
  33476. ;
  33477. if int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(1) != 0 {
  33478. v5 = uintptr(int64(v1) + int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  33479. } else {
  33480. v5 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  33481. }
  33482. v1 = v5
  33483. j++
  33484. }
  33485. goto done
  33486. done:
  33487. ;
  33488. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  33489. libc.Xprintf(tls, __ccgo_ts+6021, libc.VaList(bp+24, XFcObjectName(tls, object), best))
  33490. XFcValueListPrint(tls, v1orig)
  33491. libc.Xprintf(tls, __ccgo_ts+6030, 0)
  33492. XFcValueListPrint(tls, v2orig)
  33493. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  33494. }
  33495. if value != 0 {
  33496. if weak == strong {
  33497. *(*float64)(unsafe.Pointer(value + uintptr(strong)*8)) += best
  33498. } else {
  33499. *(*float64)(unsafe.Pointer(value + uintptr(weak)*8)) += bestWeak
  33500. *(*float64)(unsafe.Pointer(value + uintptr(strong)*8)) += bestStrong
  33501. }
  33502. }
  33503. if n != 0 {
  33504. *(*int32)(unsafe.Pointer(n)) = pos
  33505. }
  33506. return int32(m_FcTrue)
  33507. }
  33508. // C documentation
  33509. //
  33510. // /* The bulk of the time in FcFontMatch and FcFontSort goes to
  33511. // * walking long lists of family names. We speed this up with a
  33512. // * hash table.
  33513. // */
  33514. type TFamilyEntry = struct {
  33515. Fstrong_value float64
  33516. Fweak_value float64
  33517. }
  33518. type TFcCompareData = struct {
  33519. Ffamily_hash uintptr
  33520. }
  33521. func _FcCompareDataClear(tls *libc.TLS, data uintptr) {
  33522. XFcHashTableDestroy(tls, (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash)
  33523. }
  33524. func _FcCompareDataInit(tls *libc.TLS, pat uintptr, data uintptr) {
  33525. bp := tls.Alloc(16)
  33526. defer tls.Free(16)
  33527. var elt, key, table, v2, v3, v4 uintptr
  33528. var i int32
  33529. var l TFcValueListPtr
  33530. var _ /* e at bp+0 */ uintptr
  33531. _, _, _, _, _, _, _, _ = elt, i, key, l, table, v2, v3, v4
  33532. table = XFcHashTableCreate(tls, __ccgo_fp(XFcStrHashIgnoreBlanksAndCase), __ccgo_fp(XFcStrCmpIgnoreBlanksAndCase), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), __ccgo_fp(libc.Xfree))
  33533. elt = XFcPatternObjectFindElt(tls, pat, int32(_FC_FAMILY_OBJECT))
  33534. if elt != 0 {
  33535. if int64((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int64(1) != 0 {
  33536. v2 = uintptr(int64(elt) + int64((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  33537. } else {
  33538. v2 = (*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues
  33539. }
  33540. l = v2
  33541. i = libc.Int32FromInt32(0)
  33542. for {
  33543. if !(l != 0) {
  33544. break
  33545. }
  33546. if int64(*(*uintptr)(unsafe.Pointer(l + 8 + 8)))&int64(1) != 0 {
  33547. v3 = uintptr(Tintptr_t(l+8) + int64(*(*uintptr)(unsafe.Pointer(l + 8 + 8)))&int64(^libc.Int32FromInt32(1)))
  33548. } else {
  33549. v3 = *(*uintptr)(unsafe.Pointer(l + 8 + 8))
  33550. }
  33551. key = v3
  33552. if !(XFcHashTableFind(tls, table, key, bp) != 0) {
  33553. *(*uintptr)(unsafe.Pointer(bp)) = libc.Xmalloc(tls, uint64(16))
  33554. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value = float64(1e+99)
  33555. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value = float64(1e+99)
  33556. XFcHashTableAdd(tls, table, key, *(*uintptr)(unsafe.Pointer(bp)))
  33557. }
  33558. if (*T_FcValueList)(unsafe.Pointer(l)).Fbinding == int32(_FcValueBindingWeak) {
  33559. if float64(i) < (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value {
  33560. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value = float64(i)
  33561. }
  33562. } else {
  33563. if float64(i) < (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value {
  33564. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value = float64(i)
  33565. }
  33566. }
  33567. goto _1
  33568. _1:
  33569. ;
  33570. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  33571. v4 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  33572. } else {
  33573. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  33574. }
  33575. l = v4
  33576. i++
  33577. }
  33578. }
  33579. (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash = table
  33580. }
  33581. func _FcCompareFamilies(tls *libc.TLS, pat uintptr, v1orig TFcValueListPtr, fnt uintptr, v2orig TFcValueListPtr, value uintptr, result uintptr, table uintptr) (r TFcBool) {
  33582. bp := tls.Alloc(32)
  33583. defer tls.Free(32)
  33584. var key, v21, v3 uintptr
  33585. var strong_value, weak_value float64
  33586. var v2 TFcValueListPtr
  33587. var _ /* e at bp+0 */ uintptr
  33588. _, _, _, _, _, _ = key, strong_value, v2, weak_value, v21, v3
  33589. strong_value = float64(1e+99)
  33590. weak_value = float64(1e+99)
  33591. v2 = v2orig
  33592. for {
  33593. if !(v2 != 0) {
  33594. break
  33595. }
  33596. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8 + 8)))&int64(1) != 0 {
  33597. v21 = uintptr(Tintptr_t(v2+8) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8 + 8)))&int64(^libc.Int32FromInt32(1)))
  33598. } else {
  33599. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8 + 8))
  33600. }
  33601. key = v21
  33602. if XFcHashTableFind(tls, table, key, bp) != 0 {
  33603. if (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value < strong_value {
  33604. strong_value = (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value
  33605. }
  33606. if (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value < weak_value {
  33607. weak_value = (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value
  33608. }
  33609. }
  33610. goto _1
  33611. _1:
  33612. ;
  33613. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  33614. v3 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  33615. } else {
  33616. v3 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  33617. }
  33618. v2 = v3
  33619. }
  33620. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  33621. libc.Xprintf(tls, __ccgo_ts+6033, libc.VaList(bp+16, XFcObjectName(tls, int32(_FC_FAMILY_OBJECT)), strong_value))
  33622. XFcValueListPrint(tls, v1orig)
  33623. libc.Xprintf(tls, __ccgo_ts+6030, 0)
  33624. XFcValueListPrint(tls, v2orig)
  33625. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  33626. }
  33627. *(*float64)(unsafe.Pointer(value + uintptr(_PRI_FAMILY_STRONG)*8)) = strong_value
  33628. *(*float64)(unsafe.Pointer(value + uintptr(_PRI_FAMILY_WEAK)*8)) = weak_value
  33629. return int32(m_FcTrue)
  33630. }
  33631. /*
  33632. * Return a value indicating the distance between the two lists of
  33633. * values
  33634. */
  33635. func _FcCompare(tls *libc.TLS, pat uintptr, fnt uintptr, value uintptr, result uintptr, data uintptr) (r TFcBool) {
  33636. var elt_i1, elt_i2, match, v2, v3, v4, v5 uintptr
  33637. var i, i1, i2 int32
  33638. _, _, _, _, _, _, _, _, _, _ = elt_i1, elt_i2, i, i1, i2, match, v2, v3, v4, v5
  33639. i = 0
  33640. for {
  33641. if !(i < int32(_PRI_END)) {
  33642. break
  33643. }
  33644. *(*float64)(unsafe.Pointer(value + uintptr(i)*8)) = float64(0)
  33645. goto _1
  33646. _1:
  33647. ;
  33648. i++
  33649. }
  33650. i1 = 0
  33651. i2 = 0
  33652. for i1 < (*TFcPattern)(unsafe.Pointer(pat)).Fnum && i2 < (*TFcPattern)(unsafe.Pointer(fnt)).Fnum {
  33653. elt_i1 = uintptr(int64(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr(i1)*16
  33654. elt_i2 = uintptr(int64(fnt)+(*TFcPattern)(unsafe.Pointer(fnt)).Felts_offset) + uintptr(i2)*16
  33655. i = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject - (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fobject
  33656. if i > 0 {
  33657. i2++
  33658. } else {
  33659. if i < 0 {
  33660. i1++
  33661. } else {
  33662. if (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject == int32(_FC_FAMILY_OBJECT) && (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash != 0 {
  33663. if int64((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int64(1) != 0 {
  33664. v2 = uintptr(int64(elt_i1) + int64((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  33665. } else {
  33666. v2 = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues
  33667. }
  33668. if int64((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int64(1) != 0 {
  33669. v3 = uintptr(int64(elt_i2) + int64((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  33670. } else {
  33671. v3 = (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues
  33672. }
  33673. if !(_FcCompareFamilies(tls, pat, v2, fnt, v3, value, result, (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash) != 0) {
  33674. return m_FcFalse
  33675. }
  33676. i1++
  33677. i2++
  33678. } else {
  33679. match = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject, m_FcFalse)
  33680. if int64((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int64(1) != 0 {
  33681. v4 = uintptr(int64(elt_i1) + int64((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  33682. } else {
  33683. v4 = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues
  33684. }
  33685. if int64((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int64(1) != 0 {
  33686. v5 = uintptr(int64(elt_i2) + int64((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  33687. } else {
  33688. v5 = (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues
  33689. }
  33690. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject, match, v4, v5, libc.UintptrFromInt32(0), value, libc.UintptrFromInt32(0), result) != 0) {
  33691. return m_FcFalse
  33692. }
  33693. i1++
  33694. i2++
  33695. }
  33696. }
  33697. }
  33698. }
  33699. return int32(m_FcTrue)
  33700. }
  33701. func XIA__FcFontRenderPrepare(tls *libc.TLS, config uintptr, pat uintptr, font uintptr) (r uintptr) {
  33702. bp := tls.Alloc(352)
  33703. defer tls.Free(352)
  33704. var binding TFcValueBinding
  33705. var fe, fel, func1, match, match1, new1, pe, pel, tag, v10, v11, v12, v13, v14, v15, v17, v19, v2, v3, v5, v6, v7, v8, v9 uintptr
  33706. var i, j int32
  33707. var l1, l11, l2, l21, ll, ln TFcValueListPtr
  33708. var num float64
  33709. var v16 bool
  33710. var _ /* n at bp+176 */ int32
  33711. var _ /* result at bp+16 */ TFcResult
  33712. var _ /* temp at bp+180 */ [128]TFcChar8
  33713. var _ /* v at bp+0 */ TFcValue
  33714. var _ /* variable at bp+20 */ TFcBool
  33715. var _ /* variations at bp+24 */ TFcStrBuf
  33716. var _ /* vars at bp+312 */ uintptr
  33717. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = binding, fe, fel, func1, i, j, l1, l11, l2, l21, ll, ln, match, match1, new1, num, pe, pel, tag, v10, v11, v12, v13, v14, v15, v16, v17, v19, v2, v3, v5, v6, v7, v8, v9
  33718. *(*TFcBool)(unsafe.Pointer(bp + 20)) = m_FcFalse
  33719. XFcPatternObjectGetBool(tls, font, int32(_FC_VARIABLE_OBJECT), 0, bp+20)
  33720. if *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0 {
  33721. XFcStrBufInit(tls, bp+24, libc.UintptrFromInt32(0), 0)
  33722. }
  33723. new1 = XIA__FcPatternCreate(tls)
  33724. if !(new1 != 0) {
  33725. return libc.UintptrFromInt32(0)
  33726. }
  33727. i = 0
  33728. for {
  33729. if !(i < (*TFcPattern)(unsafe.Pointer(font)).Fnum) {
  33730. break
  33731. }
  33732. fe = uintptr(int64(font)+(*TFcPattern)(unsafe.Pointer(font)).Felts_offset) + uintptr(i)*16
  33733. if (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_FAMILYLANG_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_STYLELANG_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_FULLNAMELANG_OBJECT) {
  33734. /* ignore those objects. we need to deal with them
  33735. * another way */
  33736. goto _1
  33737. }
  33738. if (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_FAMILY_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_STYLE_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_FULLNAME_OBJECT) {
  33739. fel = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject+int32(1))
  33740. pel = XFcPatternObjectFindElt(tls, pat, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject+int32(1))
  33741. if fel != 0 && pel != 0 {
  33742. /* The font has name languages, and pattern asks for specific language(s).
  33743. * Match on language and and prefer that result.
  33744. * Note: Currently the code only give priority to first matching language.
  33745. */
  33746. *(*int32)(unsafe.Pointer(bp + 176)) = int32(1)
  33747. ln = libc.UintptrFromInt32(0)
  33748. ll = libc.UintptrFromInt32(0)
  33749. match = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(pel)).Fobject, int32(m_FcTrue))
  33750. if int64((*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues)&int64(1) != 0 {
  33751. v2 = uintptr(int64(pel) + int64((*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  33752. } else {
  33753. v2 = (*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues
  33754. }
  33755. if int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(1) != 0 {
  33756. v3 = uintptr(int64(fel) + int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  33757. } else {
  33758. v3 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  33759. }
  33760. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(pel)).Fobject, match, v2, v3, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), bp+176, bp+16) != 0) {
  33761. XIA__FcPatternDestroy(tls, new1)
  33762. return libc.UintptrFromInt32(0)
  33763. }
  33764. j = 0
  33765. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  33766. v5 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  33767. } else {
  33768. v5 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  33769. }
  33770. l1 = v5
  33771. if int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(1) != 0 {
  33772. v6 = uintptr(int64(fel) + int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  33773. } else {
  33774. v6 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  33775. }
  33776. l2 = v6
  33777. for {
  33778. if !(l1 != libc.UintptrFromInt32(0) || l2 != libc.UintptrFromInt32(0)) {
  33779. break
  33780. }
  33781. binding = int32(_FcValueBindingEnd)
  33782. if j == *(*int32)(unsafe.Pointer(bp + 176)) {
  33783. binding = int32(_FcValueBindingStrong)
  33784. func1 = __ccgo_fp(XFcValueListPrepend)
  33785. } else {
  33786. func1 = __ccgo_fp(XFcValueListAppend)
  33787. }
  33788. if l1 != 0 {
  33789. ln = (*(*func(*libc.TLS, TFcValueListPtr, TFcValue, TFcValueBinding) TFcValueListPtr)(unsafe.Pointer(&struct{ uintptr }{func1})))(tls, ln, XFcValueCanonicalize(tls, l1+8), (*T_FcValueList)(unsafe.Pointer(l1)).Fbinding)
  33790. }
  33791. if l2 != 0 {
  33792. if binding == int32(_FcValueBindingEnd) {
  33793. binding = (*T_FcValueList)(unsafe.Pointer(l2)).Fbinding
  33794. }
  33795. ll = (*(*func(*libc.TLS, TFcValueListPtr, TFcValue, TFcValueBinding) TFcValueListPtr)(unsafe.Pointer(&struct{ uintptr }{func1})))(tls, ll, XFcValueCanonicalize(tls, l2+8), binding)
  33796. }
  33797. goto _4
  33798. _4:
  33799. ;
  33800. j++
  33801. if l1 != 0 {
  33802. if int64((*T_FcValueList)(unsafe.Pointer(l1)).Fnext)&int64(1) != 0 {
  33803. v8 = uintptr(int64(l1) + int64((*T_FcValueList)(unsafe.Pointer(l1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  33804. } else {
  33805. v8 = (*T_FcValueList)(unsafe.Pointer(l1)).Fnext
  33806. }
  33807. v7 = v8
  33808. } else {
  33809. v7 = libc.UintptrFromInt32(0)
  33810. }
  33811. l1 = v7
  33812. if l2 != 0 {
  33813. if int64((*T_FcValueList)(unsafe.Pointer(l2)).Fnext)&int64(1) != 0 {
  33814. v10 = uintptr(int64(l2) + int64((*T_FcValueList)(unsafe.Pointer(l2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  33815. } else {
  33816. v10 = (*T_FcValueList)(unsafe.Pointer(l2)).Fnext
  33817. }
  33818. v9 = v10
  33819. } else {
  33820. v9 = libc.UintptrFromInt32(0)
  33821. }
  33822. l2 = v9
  33823. }
  33824. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, ln, m_FcFalse)
  33825. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fel)).Fobject, ll, m_FcFalse)
  33826. goto _1
  33827. } else {
  33828. if fel != 0 {
  33829. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  33830. v11 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  33831. } else {
  33832. v11 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  33833. }
  33834. l11 = XFcValueListDuplicate(tls, v11)
  33835. if int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(1) != 0 {
  33836. v12 = uintptr(int64(fel) + int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  33837. } else {
  33838. v12 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  33839. }
  33840. l21 = XFcValueListDuplicate(tls, v12)
  33841. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, l11, m_FcFalse)
  33842. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fel)).Fobject, l21, m_FcFalse)
  33843. goto _1
  33844. }
  33845. }
  33846. }
  33847. pe = XFcPatternObjectFindElt(tls, pat, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject)
  33848. if pe != 0 {
  33849. match1 = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, m_FcFalse)
  33850. if int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(1) != 0 {
  33851. v13 = uintptr(int64(pe) + int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  33852. } else {
  33853. v13 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  33854. }
  33855. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  33856. v14 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  33857. } else {
  33858. v14 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  33859. }
  33860. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, match1, v13, v14, bp, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), bp+16) != 0) {
  33861. XIA__FcPatternDestroy(tls, new1)
  33862. return libc.UintptrFromInt32(0)
  33863. }
  33864. XFcPatternObjectAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, *(*TFcValue)(unsafe.Pointer(bp)), m_FcFalse)
  33865. /* Set font-variations settings for standard axes in variable fonts. */
  33866. if v16 = *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0; v16 {
  33867. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  33868. v15 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  33869. } else {
  33870. v15 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  33871. }
  33872. }
  33873. if v16 && (*TFcValueList)(unsafe.Pointer(v15)).Fvalue.Ftype1 == int32(_FcTypeRange) && ((*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_WEIGHT_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_WIDTH_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_SIZE_OBJECT)) {
  33874. tag = __ccgo_ts + 6041
  33875. num = *(*float64)(unsafe.Pointer(bp + 8))
  33876. if (*(*TFcStrBuf)(unsafe.Pointer(bp + 24))).Flen1 != 0 {
  33877. XFcStrBufChar(tls, bp+24, uint8(','))
  33878. }
  33879. switch (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject {
  33880. case int32(_FC_WEIGHT_OBJECT):
  33881. tag = __ccgo_ts + 6046
  33882. num = float64(XIA__FcWeightToOpenType(tls, int32(num)))
  33883. case int32(_FC_WIDTH_OBJECT):
  33884. tag = __ccgo_ts + 6051
  33885. case int32(_FC_SIZE_OBJECT):
  33886. tag = __ccgo_ts + 6056
  33887. break
  33888. }
  33889. libc.Xsprintf(tls, bp+180, __ccgo_ts+6061, libc.VaList(bp+328, tag, num))
  33890. XFcStrBufString(tls, bp+24, bp+180)
  33891. }
  33892. } else {
  33893. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  33894. v17 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  33895. } else {
  33896. v17 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  33897. }
  33898. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, XFcValueListDuplicate(tls, v17), int32(m_FcTrue))
  33899. }
  33900. goto _1
  33901. _1:
  33902. ;
  33903. i++
  33904. }
  33905. i = 0
  33906. for {
  33907. if !(i < (*TFcPattern)(unsafe.Pointer(pat)).Fnum) {
  33908. break
  33909. }
  33910. pe = uintptr(int64(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr(i)*16
  33911. fe = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject)
  33912. if !(fe != 0) && (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject != int32(_FC_FAMILYLANG_OBJECT) && (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject != int32(_FC_STYLELANG_OBJECT) && (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject != int32(_FC_FULLNAMELANG_OBJECT) {
  33913. if int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(1) != 0 {
  33914. v19 = uintptr(int64(pe) + int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  33915. } else {
  33916. v19 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  33917. }
  33918. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, XFcValueListDuplicate(tls, v19), m_FcFalse)
  33919. }
  33920. goto _18
  33921. _18:
  33922. ;
  33923. i++
  33924. }
  33925. if *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0 && (*(*TFcStrBuf)(unsafe.Pointer(bp + 24))).Flen1 != 0 {
  33926. *(*uintptr)(unsafe.Pointer(bp + 312)) = libc.UintptrFromInt32(0)
  33927. if XFcPatternObjectGetString(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT), 0, bp+312) == int32(_FcResultMatch) {
  33928. XFcStrBufChar(tls, bp+24, uint8(','))
  33929. XFcStrBufString(tls, bp+24, *(*uintptr)(unsafe.Pointer(bp + 312)))
  33930. XFcPatternObjectDel(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT))
  33931. }
  33932. XFcPatternObjectAddString(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT), XFcStrBufDoneStatic(tls, bp+24))
  33933. XFcStrBufDestroy(tls, bp+24)
  33934. }
  33935. XIA__FcConfigSubstituteWithPat(tls, config, new1, pat, int32(_FcMatchFont))
  33936. return new1
  33937. }
  33938. var XFcFontRenderPrepare = XIA__FcFontRenderPrepare
  33939. func _FcFontSetMatchInternal(tls *libc.TLS, sets uintptr, nsets int32, p uintptr, result uintptr) (r uintptr) {
  33940. bp := tls.Alloc(240)
  33941. defer tls.Free(240)
  33942. var best, elt, env, match, os, p1, pat, s, s1, ss, x, v11, v12, v14, v15, v8 uintptr
  33943. var bestscore [27]float64
  33944. var binding TFcValueBinding
  33945. var f, i, set int32
  33946. var f1 TFcBool
  33947. var l, ll, new1, t, v10 TFcValueListPtr
  33948. var len1 Tsize_t
  33949. var v TFcValue
  33950. var _ /* data at bp+216 */ TFcCompareData
  33951. var _ /* score at bp+0 */ [27]float64
  33952. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = best, bestscore, binding, elt, env, f, f1, i, l, len1, ll, match, new1, os, p1, pat, s, s1, set, ss, t, v, x, v10, v11, v12, v14, v15, v8
  33953. pat = libc.UintptrFromInt32(0)
  33954. i = 0
  33955. for {
  33956. if !(i < int32(_PRI_END)) {
  33957. break
  33958. }
  33959. bestscore[i] = libc.Float64FromInt32(0)
  33960. goto _1
  33961. _1:
  33962. ;
  33963. i++
  33964. }
  33965. best = uintptr(0)
  33966. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  33967. libc.Xprintf(tls, __ccgo_ts+6068, 0)
  33968. XIA__FcPatternPrint(tls, p)
  33969. }
  33970. _FcCompareDataInit(tls, p, bp+216)
  33971. set = 0
  33972. for {
  33973. if !(set < nsets) {
  33974. break
  33975. }
  33976. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  33977. if !(s != 0) {
  33978. goto _2
  33979. }
  33980. f = 0
  33981. for {
  33982. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  33983. break
  33984. }
  33985. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  33986. libc.Xprintf(tls, __ccgo_ts+2727, libc.VaList(bp+232, f))
  33987. XIA__FcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)))
  33988. }
  33989. if !(_FcCompare(tls, p, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)), bp, result, bp+216) != 0) {
  33990. _FcCompareDataClear(tls, bp+216)
  33991. return uintptr(0)
  33992. }
  33993. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  33994. libc.Xprintf(tls, __ccgo_ts+6075, 0)
  33995. i = 0
  33996. for {
  33997. if !(i < int32(_PRI_END)) {
  33998. break
  33999. }
  34000. libc.Xprintf(tls, __ccgo_ts+6081, libc.VaList(bp+232, (*(*[27]float64)(unsafe.Pointer(bp)))[i]))
  34001. goto _4
  34002. _4:
  34003. ;
  34004. i++
  34005. }
  34006. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  34007. }
  34008. i = 0
  34009. for {
  34010. if !(i < int32(_PRI_END)) {
  34011. break
  34012. }
  34013. if best != 0 && bestscore[i] < (*(*[27]float64)(unsafe.Pointer(bp)))[i] {
  34014. break
  34015. }
  34016. if !(best != 0) || (*(*[27]float64)(unsafe.Pointer(bp)))[i] < bestscore[i] {
  34017. i = 0
  34018. for {
  34019. if !(i < int32(_PRI_END)) {
  34020. break
  34021. }
  34022. bestscore[i] = (*(*[27]float64)(unsafe.Pointer(bp)))[i]
  34023. goto _6
  34024. _6:
  34025. ;
  34026. i++
  34027. }
  34028. best = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8))
  34029. break
  34030. }
  34031. goto _5
  34032. _5:
  34033. ;
  34034. i++
  34035. }
  34036. goto _3
  34037. _3:
  34038. ;
  34039. f++
  34040. }
  34041. goto _2
  34042. _2:
  34043. ;
  34044. set++
  34045. }
  34046. _FcCompareDataClear(tls, bp+216)
  34047. /* Update the binding according to the score to indicate how exactly values matches on. */
  34048. if best != 0 {
  34049. pat = XIA__FcPatternCreate(tls)
  34050. elt = uintptr(int64(best) + (*TFcPattern)(unsafe.Pointer(best)).Felts_offset)
  34051. i = 0
  34052. for {
  34053. if !(i < XIA__FcPatternObjectCount(tls, best)) {
  34054. break
  34055. }
  34056. match = _FcObjectToMatcher(tls, (*(*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*16))).Fobject, m_FcFalse)
  34057. if int64((*TFcPatternElt)(unsafe.Pointer(elt+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  34058. v8 = uintptr(Tintptr_t(elt+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elt+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  34059. } else {
  34060. v8 = (*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*16)).Fvalues
  34061. }
  34062. l = v8
  34063. if !(match != 0) {
  34064. XFcPatternObjectListAdd(tls, pat, (*(*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*16))).Fobject, XFcValueListDuplicate(tls, l), int32(m_FcTrue))
  34065. } else {
  34066. binding = int32(_FcValueBindingWeak)
  34067. new1 = libc.UintptrFromInt32(0)
  34068. t = libc.UintptrFromInt32(0)
  34069. /* If the value was matched exactly, update the binding to Strong. */
  34070. if bestscore[(*TFcMatcher)(unsafe.Pointer(match)).Fstrong] < libc.Float64FromInt32(1000) {
  34071. binding = int32(_FcValueBindingStrong)
  34072. }
  34073. ll = l
  34074. for {
  34075. if !(ll != libc.UintptrFromInt32(0)) {
  34076. break
  34077. }
  34078. if !(new1 != 0) {
  34079. v10 = XFcValueListCreate(tls)
  34080. new1 = v10
  34081. t = v10
  34082. } else {
  34083. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = XFcValueListCreate(tls)
  34084. if int64((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int64(1) != 0 {
  34085. v11 = uintptr(int64(t) + int64((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int64(^libc.Int32FromInt32(1)))
  34086. } else {
  34087. v11 = (*T_FcValueList)(unsafe.Pointer(t)).Fnext
  34088. }
  34089. t = v11
  34090. }
  34091. v = XFcValueCanonicalize(tls, ll+8)
  34092. (*T_FcValueList)(unsafe.Pointer(t)).Fvalue = XIA__FcValueSave(tls, v)
  34093. (*T_FcValueList)(unsafe.Pointer(t)).Fbinding = binding
  34094. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = libc.UintptrFromInt32(0)
  34095. goto _9
  34096. _9:
  34097. ;
  34098. if int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(1) != 0 {
  34099. v12 = uintptr(int64(ll) + int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(^libc.Int32FromInt32(1)))
  34100. } else {
  34101. v12 = (*T_FcValueList)(unsafe.Pointer(ll)).Fnext
  34102. }
  34103. ll = v12
  34104. }
  34105. XFcPatternObjectListAdd(tls, pat, (*(*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*16))).Fobject, new1, int32(m_FcTrue))
  34106. }
  34107. goto _7
  34108. _7:
  34109. ;
  34110. i++
  34111. }
  34112. }
  34113. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  34114. libc.Xprintf(tls, __ccgo_ts+6085, 0)
  34115. i = 0
  34116. for {
  34117. if !(i < int32(_PRI_END)) {
  34118. break
  34119. }
  34120. libc.Xprintf(tls, __ccgo_ts+6081, libc.VaList(bp+232, bestscore[i]))
  34121. goto _13
  34122. _13:
  34123. ;
  34124. i++
  34125. }
  34126. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  34127. XIA__FcPatternPrint(tls, pat)
  34128. }
  34129. if XFcDebugVal&int32(m_FC_DBG_MATCH2) != 0 {
  34130. env = libc.Xgetenv(tls, __ccgo_ts+6096)
  34131. os = libc.UintptrFromInt32(0)
  34132. if env != 0 {
  34133. f1 = int32(m_FcTrue)
  34134. v14 = libc.Xstrdup(tls, env)
  34135. s1 = v14
  34136. ss = v14
  34137. os = XIA__FcObjectSetCreate(tls)
  34138. for f1 != 0 {
  34139. v15 = libc.Xstrchr(tls, s1, int32(','))
  34140. p1 = v15
  34141. if !(v15 != 0) {
  34142. f1 = m_FcFalse
  34143. len1 = libc.Xstrlen(tls, s1)
  34144. } else {
  34145. len1 = libc.Uint64FromInt64(int64(p1) - int64(s1))
  34146. }
  34147. x = libc.Xmalloc(tls, uint64(1)*(len1+uint64(1)))
  34148. if x != 0 {
  34149. libc.Xstrcpy(tls, x, s1)
  34150. if XFcObjectFromName(tls, x) > 0 {
  34151. XIA__FcObjectSetAdd(tls, os, x)
  34152. }
  34153. s1 = p1 + uintptr(1)
  34154. libc.Xfree(tls, x)
  34155. }
  34156. }
  34157. libc.Xfree(tls, ss)
  34158. }
  34159. XFcPatternPrint2(tls, p, pat, os)
  34160. if os != 0 {
  34161. XIA__FcObjectSetDestroy(tls, os)
  34162. }
  34163. }
  34164. /* assuming that 'result' is initialized with FcResultNoMatch
  34165. * outside this function */
  34166. if pat != 0 {
  34167. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultMatch)
  34168. }
  34169. return pat
  34170. }
  34171. func XIA__FcFontSetMatch(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, result uintptr) (r uintptr) {
  34172. var best, ret uintptr
  34173. _, _ = best, ret
  34174. ret = libc.UintptrFromInt32(0)
  34175. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  34176. config = XIA__FcConfigReference(tls, config)
  34177. if !(config != 0) {
  34178. return libc.UintptrFromInt32(0)
  34179. }
  34180. best = _FcFontSetMatchInternal(tls, sets, nsets, p, result)
  34181. if best != 0 {
  34182. ret = XIA__FcFontRenderPrepare(tls, config, p, best)
  34183. XIA__FcPatternDestroy(tls, best)
  34184. }
  34185. XIA__FcConfigDestroy(tls, config)
  34186. return ret
  34187. }
  34188. var XFcFontSetMatch = XIA__FcFontSetMatch
  34189. func XIA__FcFontMatch(tls *libc.TLS, config uintptr, p uintptr, result uintptr) (r uintptr) {
  34190. bp := tls.Alloc(16)
  34191. defer tls.Free(16)
  34192. var best, ret uintptr
  34193. var nsets, v1, v2 int32
  34194. var _ /* sets at bp+0 */ [2]uintptr
  34195. _, _, _, _, _ = best, nsets, ret, v1, v2
  34196. ret = libc.UintptrFromInt32(0)
  34197. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  34198. config = XIA__FcConfigReference(tls, config)
  34199. if !(config != 0) {
  34200. return libc.UintptrFromInt32(0)
  34201. }
  34202. nsets = 0
  34203. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8)) != 0 {
  34204. v1 = nsets
  34205. nsets++
  34206. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8))
  34207. }
  34208. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8)) != 0 {
  34209. v2 = nsets
  34210. nsets++
  34211. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8))
  34212. }
  34213. best = _FcFontSetMatchInternal(tls, bp, nsets, p, result)
  34214. if best != 0 {
  34215. ret = XIA__FcFontRenderPrepare(tls, config, p, best)
  34216. XIA__FcPatternDestroy(tls, best)
  34217. }
  34218. XIA__FcConfigDestroy(tls, config)
  34219. return ret
  34220. }
  34221. var XFcFontMatch = XIA__FcFontMatch
  34222. type TFcSortNode = struct {
  34223. Fpattern uintptr
  34224. Fscore [27]float64
  34225. }
  34226. type T_FcSortNode = TFcSortNode
  34227. func _FcSortCompare(tls *libc.TLS, aa uintptr, ab uintptr) (r int32) {
  34228. var a, as, b, bs, v3, v5 uintptr
  34229. var ad, bd, v2, v4 float64
  34230. var i, v1, v7, v8 int32
  34231. var v6 bool
  34232. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, ad, as, b, bd, bs, i, v1, v2, v3, v4, v5, v6, v7, v8
  34233. a = *(*uintptr)(unsafe.Pointer(aa))
  34234. b = *(*uintptr)(unsafe.Pointer(ab))
  34235. as = a + 8
  34236. bs = b + 8
  34237. ad = libc.Float64FromInt32(0)
  34238. bd = libc.Float64FromInt32(0)
  34239. i = int32(_PRI_END)
  34240. for {
  34241. v1 = i
  34242. i--
  34243. if v6 = v1 != 0; v6 {
  34244. v3 = as
  34245. as += 8
  34246. v2 = *(*float64)(unsafe.Pointer(v3))
  34247. ad = v2
  34248. v5 = bs
  34249. bs += 8
  34250. v4 = *(*float64)(unsafe.Pointer(v5))
  34251. bd = v4
  34252. }
  34253. if !(v6 && v2 == v4) {
  34254. break
  34255. }
  34256. }
  34257. if ad < bd {
  34258. v7 = -int32(1)
  34259. } else {
  34260. if ad > bd {
  34261. v8 = int32(1)
  34262. } else {
  34263. v8 = 0
  34264. }
  34265. v7 = v8
  34266. }
  34267. return v7
  34268. }
  34269. func _FcSortWalk(tls *libc.TLS, n uintptr, nnode int32, fs uintptr, csp uintptr, trim TFcBool) (r TFcBool) {
  34270. bp := tls.Alloc(16)
  34271. defer tls.Free(16)
  34272. var cs, node, v2 uintptr
  34273. var i int32
  34274. var ret TFcBool
  34275. var _ /* adds_chars at bp+0 */ TFcBool
  34276. var _ /* ncs at bp+8 */ uintptr
  34277. _, _, _, _, _ = cs, i, node, ret, v2
  34278. ret = m_FcFalse
  34279. cs = uintptr(0)
  34280. if trim != 0 || csp != 0 {
  34281. cs = XIA__FcCharSetCreate(tls)
  34282. if cs == libc.UintptrFromInt32(0) {
  34283. goto bail
  34284. }
  34285. }
  34286. i = 0
  34287. for {
  34288. if !(i < nnode) {
  34289. break
  34290. }
  34291. v2 = n
  34292. n += 8
  34293. node = *(*uintptr)(unsafe.Pointer(v2))
  34294. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  34295. /*
  34296. * Only fetch node charset if we'd need it
  34297. */
  34298. if cs != 0 {
  34299. if XIA__FcPatternGetCharSet(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern, __ccgo_ts+6116, 0, bp+8) != int32(_FcResultMatch) {
  34300. goto _1
  34301. }
  34302. if !(XIA__FcCharSetMerge(tls, cs, *(*uintptr)(unsafe.Pointer(bp + 8)), bp) != 0) {
  34303. goto bail
  34304. }
  34305. }
  34306. /*
  34307. * If this font isn't a subset of the previous fonts,
  34308. * add it to the list
  34309. */
  34310. if !(i != 0) || !(trim != 0) || *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  34311. XIA__FcPatternReference(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  34312. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34313. libc.Xprintf(tls, __ccgo_ts+6124, 0)
  34314. XIA__FcPatternPrint(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  34315. }
  34316. if !(XIA__FcFontSetAdd(tls, fs, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern) != 0) {
  34317. XIA__FcPatternDestroy(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  34318. goto bail
  34319. }
  34320. }
  34321. goto _1
  34322. _1:
  34323. ;
  34324. i++
  34325. }
  34326. if csp != 0 {
  34327. *(*uintptr)(unsafe.Pointer(csp)) = cs
  34328. cs = uintptr(0)
  34329. }
  34330. ret = int32(m_FcTrue)
  34331. goto bail
  34332. bail:
  34333. ;
  34334. if cs != 0 {
  34335. XIA__FcCharSetDestroy(tls, cs)
  34336. }
  34337. return ret
  34338. }
  34339. func XIA__FcFontSetSortDestroy(tls *libc.TLS, fs uintptr) {
  34340. XIA__FcFontSetDestroy(tls, fs)
  34341. }
  34342. var XFcFontSetSortDestroy = XIA__FcFontSetSortDestroy
  34343. func XIA__FcFontSetSort(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, trim TFcBool, csp uintptr, result uintptr) (r uintptr) {
  34344. bp := tls.Alloc(112)
  34345. defer tls.Free(112)
  34346. var compare float64
  34347. var f, i, nPatternLang, nnodes, set int32
  34348. var new1, nodep, nodeps, nodes, patternLangSat, ret, s uintptr
  34349. var satisfies TFcBool
  34350. var _ /* data at bp+16 */ TFcCompareData
  34351. var _ /* family at bp+56 */ uintptr
  34352. var _ /* matchValue at bp+40 */ TFcValue
  34353. var _ /* nodeLang at bp+24 */ TFcValue
  34354. var _ /* patternLang at bp+0 */ TFcValue
  34355. var _ /* style at bp+64 */ uintptr
  34356. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = compare, f, i, nPatternLang, new1, nnodes, nodep, nodeps, nodes, patternLangSat, ret, s, satisfies, set
  34357. /* There are some implementation that relying on the result of
  34358. * "result" to check if the return value of FcFontSetSort
  34359. * is valid or not.
  34360. * So we should initialize it to the conservative way since
  34361. * this function doesn't return NULL anymore.
  34362. */
  34363. if result != 0 {
  34364. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  34365. }
  34366. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  34367. libc.Xprintf(tls, __ccgo_ts+6129, 0)
  34368. XIA__FcPatternPrint(tls, p)
  34369. }
  34370. nnodes = 0
  34371. set = 0
  34372. for {
  34373. if !(set < nsets) {
  34374. break
  34375. }
  34376. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  34377. if !(s != 0) {
  34378. goto _1
  34379. }
  34380. nnodes += (*TFcFontSet)(unsafe.Pointer(s)).Fnfont
  34381. goto _1
  34382. _1:
  34383. ;
  34384. set++
  34385. }
  34386. if !(nnodes != 0) {
  34387. return XIA__FcFontSetCreate(tls)
  34388. }
  34389. nPatternLang = 0
  34390. for {
  34391. if !(XIA__FcPatternGet(tls, p, __ccgo_ts+6135, nPatternLang, bp) == int32(_FcResultMatch)) {
  34392. break
  34393. }
  34394. goto _2
  34395. _2:
  34396. ;
  34397. nPatternLang++
  34398. }
  34399. /* freed below */
  34400. nodes = libc.Xmalloc(tls, libc.Uint64FromInt32(nnodes)*uint64(224)+libc.Uint64FromInt32(nnodes)*uint64(8)+libc.Uint64FromInt32(nPatternLang)*uint64(4))
  34401. if !(nodes != 0) {
  34402. goto bail0
  34403. }
  34404. nodeps = nodes + uintptr(nnodes)*224
  34405. patternLangSat = nodeps + uintptr(nnodes)*8
  34406. _FcCompareDataInit(tls, p, bp+16)
  34407. new1 = nodes
  34408. nodep = nodeps
  34409. set = 0
  34410. for {
  34411. if !(set < nsets) {
  34412. break
  34413. }
  34414. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  34415. if !(s != 0) {
  34416. goto _3
  34417. }
  34418. f = 0
  34419. for {
  34420. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  34421. break
  34422. }
  34423. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34424. libc.Xprintf(tls, __ccgo_ts+2727, libc.VaList(bp+80, f))
  34425. XIA__FcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)))
  34426. }
  34427. (*TFcSortNode)(unsafe.Pointer(new1)).Fpattern = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8))
  34428. if !(_FcCompare(tls, p, (*TFcSortNode)(unsafe.Pointer(new1)).Fpattern, new1+8, result, bp+16) != 0) {
  34429. goto bail1
  34430. }
  34431. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34432. libc.Xprintf(tls, __ccgo_ts+6075, 0)
  34433. i = 0
  34434. for {
  34435. if !(i < int32(_PRI_END)) {
  34436. break
  34437. }
  34438. libc.Xprintf(tls, __ccgo_ts+6081, libc.VaList(bp+80, *(*float64)(unsafe.Pointer(new1 + 8 + uintptr(i)*8))))
  34439. goto _5
  34440. _5:
  34441. ;
  34442. i++
  34443. }
  34444. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  34445. }
  34446. *(*uintptr)(unsafe.Pointer(nodep)) = new1
  34447. new1 += 224
  34448. nodep += 8
  34449. goto _4
  34450. _4:
  34451. ;
  34452. f++
  34453. }
  34454. goto _3
  34455. _3:
  34456. ;
  34457. set++
  34458. }
  34459. _FcCompareDataClear(tls, bp+16)
  34460. nnodes = int32((int64(new1) - int64(nodes)) / 224)
  34461. libc.Xqsort(tls, nodeps, libc.Uint64FromInt32(nnodes), uint64(8), __ccgo_fp(_FcSortCompare))
  34462. i = 0
  34463. for {
  34464. if !(i < nPatternLang) {
  34465. break
  34466. }
  34467. *(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) = m_FcFalse
  34468. goto _6
  34469. _6:
  34470. ;
  34471. i++
  34472. }
  34473. f = 0
  34474. for {
  34475. if !(f < nnodes) {
  34476. break
  34477. }
  34478. satisfies = m_FcFalse
  34479. /*
  34480. * If this node matches any language, go check
  34481. * which ones and satisfy those entries
  34482. */
  34483. if *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)) + 8 + uintptr(_PRI_LANG)*8)) < libc.Float64FromInt32(2000) {
  34484. i = 0
  34485. for {
  34486. if !(i < nPatternLang) {
  34487. break
  34488. }
  34489. if !(*(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) != 0) && XIA__FcPatternGet(tls, p, __ccgo_ts+6135, i, bp) == int32(_FcResultMatch) && XIA__FcPatternGet(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)))).Fpattern, __ccgo_ts+6135, 0, bp+24) == int32(_FcResultMatch) {
  34490. compare = _FcCompareLang(tls, bp, bp+24, bp+40)
  34491. if compare >= libc.Float64FromInt32(0) && compare < libc.Float64FromInt32(2) {
  34492. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34493. if XIA__FcPatternGetString(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)))).Fpattern, __ccgo_ts+5968, 0, bp+56) == int32(_FcResultMatch) && XIA__FcPatternGetString(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)))).Fpattern, __ccgo_ts+4738, 0, bp+64) == int32(_FcResultMatch) {
  34494. libc.Xprintf(tls, __ccgo_ts+6140, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 56)), *(*uintptr)(unsafe.Pointer(bp + 64)), i))
  34495. }
  34496. }
  34497. *(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) = int32(m_FcTrue)
  34498. satisfies = int32(m_FcTrue)
  34499. break
  34500. }
  34501. }
  34502. goto _8
  34503. _8:
  34504. ;
  34505. i++
  34506. }
  34507. }
  34508. if !(satisfies != 0) {
  34509. *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)) + 8 + uintptr(_PRI_LANG)*8)) = float64(10000)
  34510. }
  34511. goto _7
  34512. _7:
  34513. ;
  34514. f++
  34515. }
  34516. /*
  34517. * Re-sort once the language issues have been settled
  34518. */
  34519. libc.Xqsort(tls, nodeps, libc.Uint64FromInt32(nnodes), uint64(8), __ccgo_fp(_FcSortCompare))
  34520. ret = XIA__FcFontSetCreate(tls)
  34521. if !(ret != 0) {
  34522. goto bail1
  34523. }
  34524. if !(_FcSortWalk(tls, nodeps, nnodes, ret, csp, trim) != 0) {
  34525. goto bail2
  34526. }
  34527. libc.Xfree(tls, nodes)
  34528. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  34529. libc.Xprintf(tls, __ccgo_ts+6172, 0)
  34530. XIA__FcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(ret)).Ffonts)))
  34531. }
  34532. if (*TFcFontSet)(unsafe.Pointer(ret)).Fnfont > 0 {
  34533. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultMatch)
  34534. }
  34535. return ret
  34536. goto bail2
  34537. bail2:
  34538. ;
  34539. XIA__FcFontSetDestroy(tls, ret)
  34540. goto bail1
  34541. bail1:
  34542. ;
  34543. libc.Xfree(tls, nodes)
  34544. goto bail0
  34545. bail0:
  34546. ;
  34547. return uintptr(0)
  34548. return r
  34549. }
  34550. var XFcFontSetSort = XIA__FcFontSetSort
  34551. func XIA__FcFontSort(tls *libc.TLS, config uintptr, p uintptr, trim TFcBool, csp uintptr, result uintptr) (r uintptr) {
  34552. bp := tls.Alloc(16)
  34553. defer tls.Free(16)
  34554. var nsets, v1, v2 int32
  34555. var ret uintptr
  34556. var _ /* sets at bp+0 */ [2]uintptr
  34557. _, _, _, _ = nsets, ret, v1, v2
  34558. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  34559. config = XIA__FcConfigReference(tls, config)
  34560. if !(config != 0) {
  34561. return libc.UintptrFromInt32(0)
  34562. }
  34563. nsets = 0
  34564. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8)) != 0 {
  34565. v1 = nsets
  34566. nsets++
  34567. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8))
  34568. }
  34569. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8)) != 0 {
  34570. v2 = nsets
  34571. nsets++
  34572. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8))
  34573. }
  34574. ret = XIA__FcFontSetSort(tls, config, bp, nsets, p, trim, csp, result)
  34575. XIA__FcConfigDestroy(tls, config)
  34576. return ret
  34577. }
  34578. var XFcFontSort = XIA__FcFontSort
  34579. func XIA__FcMatrixCopy(tls *libc.TLS, mat uintptr) (r1 uintptr) {
  34580. var r uintptr
  34581. _ = r
  34582. if !(mat != 0) {
  34583. return uintptr(0)
  34584. }
  34585. r = libc.Xmalloc(tls, uint64(32))
  34586. if !(r != 0) {
  34587. return uintptr(0)
  34588. }
  34589. *(*TFcMatrix)(unsafe.Pointer(r)) = *(*TFcMatrix)(unsafe.Pointer(mat))
  34590. return r
  34591. }
  34592. var XFcMatrixCopy = XIA__FcMatrixCopy
  34593. func XFcMatrixFree(tls *libc.TLS, mat uintptr) {
  34594. if mat != uintptr(unsafe.Pointer(&XFcIdentityMatrix)) {
  34595. libc.Xfree(tls, mat)
  34596. }
  34597. }
  34598. func XIA__FcMatrixEqual(tls *libc.TLS, mat1 uintptr, mat2 uintptr) (r TFcBool) {
  34599. if mat1 == mat2 {
  34600. return int32(m_FcTrue)
  34601. }
  34602. if mat1 == uintptr(0) || mat2 == uintptr(0) {
  34603. return m_FcFalse
  34604. }
  34605. return libc.BoolInt32((*TFcMatrix)(unsafe.Pointer(mat1)).Fxx == (*TFcMatrix)(unsafe.Pointer(mat2)).Fxx && (*TFcMatrix)(unsafe.Pointer(mat1)).Fxy == (*TFcMatrix)(unsafe.Pointer(mat2)).Fxy && (*TFcMatrix)(unsafe.Pointer(mat1)).Fyx == (*TFcMatrix)(unsafe.Pointer(mat2)).Fyx && (*TFcMatrix)(unsafe.Pointer(mat1)).Fyy == (*TFcMatrix)(unsafe.Pointer(mat2)).Fyy)
  34606. }
  34607. var XFcMatrixEqual = XIA__FcMatrixEqual
  34608. func XIA__FcMatrixMultiply(tls *libc.TLS, result uintptr, a uintptr, b uintptr) {
  34609. var r TFcMatrix
  34610. _ = r
  34611. r.Fxx = (*TFcMatrix)(unsafe.Pointer(a)).Fxx*(*TFcMatrix)(unsafe.Pointer(b)).Fxx + (*TFcMatrix)(unsafe.Pointer(a)).Fxy*(*TFcMatrix)(unsafe.Pointer(b)).Fyx
  34612. r.Fxy = (*TFcMatrix)(unsafe.Pointer(a)).Fxx*(*TFcMatrix)(unsafe.Pointer(b)).Fxy + (*TFcMatrix)(unsafe.Pointer(a)).Fxy*(*TFcMatrix)(unsafe.Pointer(b)).Fyy
  34613. r.Fyx = (*TFcMatrix)(unsafe.Pointer(a)).Fyx*(*TFcMatrix)(unsafe.Pointer(b)).Fxx + (*TFcMatrix)(unsafe.Pointer(a)).Fyy*(*TFcMatrix)(unsafe.Pointer(b)).Fyx
  34614. r.Fyy = (*TFcMatrix)(unsafe.Pointer(a)).Fyx*(*TFcMatrix)(unsafe.Pointer(b)).Fxy + (*TFcMatrix)(unsafe.Pointer(a)).Fyy*(*TFcMatrix)(unsafe.Pointer(b)).Fyy
  34615. *(*TFcMatrix)(unsafe.Pointer(result)) = r
  34616. }
  34617. var XFcMatrixMultiply = XIA__FcMatrixMultiply
  34618. func XIA__FcMatrixRotate(tls *libc.TLS, m uintptr, c float64, s float64) {
  34619. bp := tls.Alloc(32)
  34620. defer tls.Free(32)
  34621. var _ /* r at bp+0 */ TFcMatrix
  34622. /*
  34623. * X Coordinate system is upside down, swap to make
  34624. * rotations counterclockwise
  34625. */
  34626. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = c
  34627. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = -s
  34628. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = s
  34629. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = c
  34630. XIA__FcMatrixMultiply(tls, m, bp, m)
  34631. }
  34632. var XFcMatrixRotate = XIA__FcMatrixRotate
  34633. func XIA__FcMatrixScale(tls *libc.TLS, m uintptr, sx float64, sy float64) {
  34634. bp := tls.Alloc(32)
  34635. defer tls.Free(32)
  34636. var _ /* r at bp+0 */ TFcMatrix
  34637. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = sx
  34638. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = libc.Float64FromInt32(0)
  34639. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = libc.Float64FromInt32(0)
  34640. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = sy
  34641. XIA__FcMatrixMultiply(tls, m, bp, m)
  34642. }
  34643. var XFcMatrixScale = XIA__FcMatrixScale
  34644. func XIA__FcMatrixShear(tls *libc.TLS, m uintptr, sh float64, sv float64) {
  34645. bp := tls.Alloc(32)
  34646. defer tls.Free(32)
  34647. var _ /* r at bp+0 */ TFcMatrix
  34648. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = libc.Float64FromInt32(1)
  34649. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = sh
  34650. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = sv
  34651. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = libc.Float64FromInt32(1)
  34652. XIA__FcMatrixMultiply(tls, m, bp, m)
  34653. }
  34654. var XFcMatrixShear = XIA__FcMatrixShear
  34655. const m_FC_ESCAPE_FIXED = "\\-:,"
  34656. const m_FC_ESCAPE_VARIABLE = "\\=_:,"
  34657. var _FcObjects = [52]TFcObjectType{
  34658. 0: {
  34659. Fobject: __ccgo_ts + 5968,
  34660. Ftype1: int32(_FcTypeString),
  34661. },
  34662. 1: {
  34663. Fobject: __ccgo_ts + 5975,
  34664. Ftype1: int32(_FcTypeString),
  34665. },
  34666. 2: {
  34667. Fobject: __ccgo_ts + 4738,
  34668. Ftype1: int32(_FcTypeString),
  34669. },
  34670. 3: {
  34671. Fobject: __ccgo_ts + 6008,
  34672. Ftype1: int32(_FcTypeString),
  34673. },
  34674. 4: {
  34675. Fobject: __ccgo_ts + 5986,
  34676. Ftype1: int32(_FcTypeString),
  34677. },
  34678. 5: {
  34679. Fobject: __ccgo_ts + 5995,
  34680. Ftype1: int32(_FcTypeString),
  34681. },
  34682. 6: {
  34683. Fobject: __ccgo_ts + 6184,
  34684. Ftype1: int32(_FcTypeInteger),
  34685. },
  34686. 7: {
  34687. Fobject: __ccgo_ts + 6190,
  34688. Ftype1: int32(_FcTypeRange),
  34689. },
  34690. 8: {
  34691. Fobject: __ccgo_ts + 6197,
  34692. Ftype1: int32(_FcTypeRange),
  34693. },
  34694. 9: {
  34695. Fobject: __ccgo_ts + 6203,
  34696. Ftype1: int32(_FcTypeRange),
  34697. },
  34698. 10: {
  34699. Fobject: __ccgo_ts + 6208,
  34700. Ftype1: int32(_FcTypeDouble),
  34701. },
  34702. 11: {
  34703. Fobject: __ccgo_ts + 6215,
  34704. Ftype1: int32(_FcTypeDouble),
  34705. },
  34706. 12: {
  34707. Fobject: __ccgo_ts + 6225,
  34708. Ftype1: int32(_FcTypeInteger),
  34709. },
  34710. 13: {
  34711. Fobject: __ccgo_ts + 6233,
  34712. Ftype1: int32(_FcTypeString),
  34713. },
  34714. 14: {
  34715. Fobject: __ccgo_ts + 6241,
  34716. Ftype1: int32(_FcTypeBool),
  34717. },
  34718. 15: {
  34719. Fobject: __ccgo_ts + 6251,
  34720. Ftype1: int32(_FcTypeInteger),
  34721. },
  34722. 16: {
  34723. Fobject: __ccgo_ts + 6261,
  34724. Ftype1: int32(_FcTypeBool),
  34725. },
  34726. 17: {
  34727. Fobject: __ccgo_ts + 6269,
  34728. Ftype1: int32(_FcTypeBool),
  34729. },
  34730. 18: {
  34731. Fobject: __ccgo_ts + 6284,
  34732. Ftype1: int32(_FcTypeBool),
  34733. },
  34734. 19: {
  34735. Fobject: __ccgo_ts + 6293,
  34736. Ftype1: int32(_FcTypeBool),
  34737. },
  34738. 20: {
  34739. Fobject: __ccgo_ts + 6307,
  34740. Ftype1: int32(_FcTypeString),
  34741. },
  34742. 21: {
  34743. Fobject: __ccgo_ts + 6312,
  34744. Ftype1: int32(_FcTypeInteger),
  34745. },
  34746. 22: {
  34747. Fobject: __ccgo_ts + 6318,
  34748. Ftype1: int32(_FcTypeString),
  34749. },
  34750. 23: {
  34751. Fobject: __ccgo_ts + 6329,
  34752. Ftype1: int32(_FcTypeBool),
  34753. },
  34754. 24: {
  34755. Fobject: __ccgo_ts + 6337,
  34756. Ftype1: int32(_FcTypeBool),
  34757. },
  34758. 25: {
  34759. Fobject: __ccgo_ts + 6346,
  34760. Ftype1: int32(_FcTypeDouble),
  34761. },
  34762. 26: {
  34763. Fobject: __ccgo_ts + 6350,
  34764. Ftype1: int32(_FcTypeInteger),
  34765. },
  34766. 27: {
  34767. Fobject: __ccgo_ts + 6355,
  34768. Ftype1: int32(_FcTypeDouble),
  34769. },
  34770. 28: {
  34771. Fobject: __ccgo_ts + 6361,
  34772. Ftype1: int32(_FcTypeBool),
  34773. },
  34774. 29: {
  34775. Fobject: __ccgo_ts + 6370,
  34776. Ftype1: int32(_FcTypeInteger),
  34777. },
  34778. 30: {
  34779. Fobject: __ccgo_ts + 6380,
  34780. Ftype1: int32(_FcTypeInteger),
  34781. },
  34782. 31: {
  34783. Fobject: __ccgo_ts + 6391,
  34784. Ftype1: int32(_FcTypeMatrix),
  34785. },
  34786. 32: {
  34787. Fobject: __ccgo_ts + 6116,
  34788. Ftype1: int32(_FcTypeCharSet),
  34789. },
  34790. 33: {
  34791. Fobject: __ccgo_ts + 6135,
  34792. Ftype1: int32(_FcTypeLangSet),
  34793. },
  34794. 34: {
  34795. Fobject: __ccgo_ts + 6398,
  34796. Ftype1: int32(_FcTypeInteger),
  34797. },
  34798. 35: {
  34799. Fobject: __ccgo_ts + 6410,
  34800. Ftype1: int32(_FcTypeString),
  34801. },
  34802. 36: {
  34803. Fobject: __ccgo_ts + 6421,
  34804. Ftype1: int32(_FcTypeString),
  34805. },
  34806. 37: {
  34807. Fobject: __ccgo_ts + 6432,
  34808. Ftype1: int32(_FcTypeBool),
  34809. },
  34810. 38: {
  34811. Fobject: __ccgo_ts + 6441,
  34812. Ftype1: int32(_FcTypeBool),
  34813. },
  34814. 39: {
  34815. Fobject: __ccgo_ts + 6456,
  34816. Ftype1: int32(_FcTypeBool),
  34817. },
  34818. 40: {
  34819. Fobject: __ccgo_ts + 6467,
  34820. Ftype1: int32(_FcTypeInteger),
  34821. },
  34822. 41: {
  34823. Fobject: __ccgo_ts + 6477,
  34824. Ftype1: int32(_FcTypeString),
  34825. },
  34826. 42: {
  34827. Fobject: __ccgo_ts + 6486,
  34828. Ftype1: int32(_FcTypeString),
  34829. },
  34830. 43: {
  34831. Fobject: __ccgo_ts + 6499,
  34832. Ftype1: int32(_FcTypeString),
  34833. },
  34834. 44: {
  34835. Fobject: __ccgo_ts + 6507,
  34836. Ftype1: int32(_FcTypeString),
  34837. },
  34838. 45: {
  34839. Fobject: __ccgo_ts + 6512,
  34840. Ftype1: int32(_FcTypeString),
  34841. },
  34842. 46: {
  34843. Fobject: __ccgo_ts + 6527,
  34844. Ftype1: int32(_FcTypeBool),
  34845. },
  34846. 47: {
  34847. Fobject: __ccgo_ts + 6533,
  34848. Ftype1: int32(_FcTypeBool),
  34849. },
  34850. 48: {
  34851. Fobject: __ccgo_ts + 6540,
  34852. Ftype1: int32(_FcTypeString),
  34853. },
  34854. 49: {
  34855. Fobject: __ccgo_ts + 6555,
  34856. Ftype1: int32(_FcTypeBool),
  34857. },
  34858. 50: {
  34859. Fobject: __ccgo_ts + 6564,
  34860. Ftype1: int32(_FcTypeBool),
  34861. },
  34862. 51: {
  34863. Fobject: __ccgo_ts + 6576,
  34864. Ftype1: int32(_FcTypeInteger),
  34865. },
  34866. }
  34867. func _FcObjectFindById(tls *libc.TLS, object TFcObject) (r uintptr) {
  34868. if int32(1) <= object && object <= libc.Int32FromUint64(libc.Uint64FromInt64(832)/libc.Uint64FromInt64(16)) {
  34869. return uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(object-int32(1))*16
  34870. }
  34871. return XFcObjectLookupOtherTypeById(tls, object)
  34872. }
  34873. func XIA__FcNameRegisterObjectTypes(tls *libc.TLS, types uintptr, ntypes int32) (r TFcBool) {
  34874. /* Deprecated. */
  34875. return m_FcFalse
  34876. }
  34877. var XFcNameRegisterObjectTypes = XIA__FcNameRegisterObjectTypes
  34878. func XIA__FcNameUnregisterObjectTypes(tls *libc.TLS, types uintptr, ntypes int32) (r TFcBool) {
  34879. /* Deprecated. */
  34880. return m_FcFalse
  34881. }
  34882. var XFcNameUnregisterObjectTypes = XIA__FcNameUnregisterObjectTypes
  34883. func XIA__FcNameGetObjectType(tls *libc.TLS, object uintptr) (r uintptr) {
  34884. var id int32
  34885. _ = id
  34886. id = XFcObjectLookupBuiltinIdByName(tls, object)
  34887. if !(id != 0) {
  34888. return XFcObjectLookupOtherTypeByName(tls, object)
  34889. }
  34890. return uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(id-int32(1))*16
  34891. }
  34892. var XFcNameGetObjectType = XIA__FcNameGetObjectType
  34893. func XFcObjectValidType(tls *libc.TLS, object TFcObject, type1 TFcType) (r TFcBool) {
  34894. var t uintptr
  34895. _ = t
  34896. t = _FcObjectFindById(tls, object)
  34897. if t != 0 {
  34898. switch (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  34899. case int32(_FcTypeUnknown):
  34900. return int32(m_FcTrue)
  34901. case int32(_FcTypeDouble):
  34902. fallthrough
  34903. case int32(_FcTypeInteger):
  34904. if type1 == int32(_FcTypeDouble) || type1 == int32(_FcTypeInteger) {
  34905. return int32(m_FcTrue)
  34906. }
  34907. case int32(_FcTypeLangSet):
  34908. if type1 == int32(_FcTypeLangSet) || type1 == int32(_FcTypeString) {
  34909. return int32(m_FcTrue)
  34910. }
  34911. case int32(_FcTypeRange):
  34912. if type1 == int32(_FcTypeRange) || type1 == int32(_FcTypeDouble) || type1 == int32(_FcTypeInteger) {
  34913. return int32(m_FcTrue)
  34914. }
  34915. default:
  34916. if type1 == (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  34917. return int32(m_FcTrue)
  34918. }
  34919. break
  34920. }
  34921. return m_FcFalse
  34922. }
  34923. return int32(m_FcTrue)
  34924. }
  34925. func XFcObjectFromName(tls *libc.TLS, name uintptr) (r TFcObject) {
  34926. return XFcObjectLookupIdByName(tls, name)
  34927. }
  34928. func XFcObjectGetSet(tls *libc.TLS) (r uintptr) {
  34929. var i int32
  34930. var os uintptr
  34931. _, _ = i, os
  34932. os = libc.UintptrFromInt32(0)
  34933. os = XIA__FcObjectSetCreate(tls)
  34934. i = 0
  34935. for {
  34936. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(832)/libc.Uint64FromInt64(16))) {
  34937. break
  34938. }
  34939. XIA__FcObjectSetAdd(tls, os, _FcObjects[i].Fobject)
  34940. goto _1
  34941. _1:
  34942. ;
  34943. i++
  34944. }
  34945. return os
  34946. }
  34947. func XFcObjectName(tls *libc.TLS, object TFcObject) (r uintptr) {
  34948. var o uintptr
  34949. _ = o
  34950. o = _FcObjectFindById(tls, object)
  34951. if o != 0 {
  34952. return (*TFcObjectType)(unsafe.Pointer(o)).Fobject
  34953. }
  34954. return XFcObjectLookupOtherNameById(tls, object)
  34955. }
  34956. var __FcBaseConstants = [57]TFcConstant{
  34957. 0: {
  34958. Fname: __ccgo_ts + 3901,
  34959. Fobject: __ccgo_ts + 6190,
  34960. },
  34961. 1: {
  34962. Fname: __ccgo_ts + 3906,
  34963. Fobject: __ccgo_ts + 6190,
  34964. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  34965. },
  34966. 2: {
  34967. Fname: __ccgo_ts + 3917,
  34968. Fobject: __ccgo_ts + 6190,
  34969. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  34970. },
  34971. 3: {
  34972. Fname: __ccgo_ts + 3928,
  34973. Fobject: __ccgo_ts + 6190,
  34974. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  34975. },
  34976. 4: {
  34977. Fname: __ccgo_ts + 3938,
  34978. Fobject: __ccgo_ts + 6190,
  34979. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  34980. },
  34981. 5: {
  34982. Fname: __ccgo_ts + 3948,
  34983. Fobject: __ccgo_ts + 6190,
  34984. Fvalue: int32(m_FC_WEIGHT_LIGHT),
  34985. },
  34986. 6: {
  34987. Fname: __ccgo_ts + 3954,
  34988. Fobject: __ccgo_ts + 6190,
  34989. Fvalue: int32(m_FC_WEIGHT_BOOK),
  34990. },
  34991. 7: {
  34992. Fname: __ccgo_ts + 3959,
  34993. Fobject: __ccgo_ts + 6190,
  34994. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  34995. },
  34996. 8: {
  34997. Fname: __ccgo_ts + 3974,
  34998. Fobject: __ccgo_ts + 6190,
  34999. Fvalue: int32(m_FC_WEIGHT_MEDIUM),
  35000. },
  35001. 9: {
  35002. Fname: __ccgo_ts + 3981,
  35003. Fobject: __ccgo_ts + 6190,
  35004. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  35005. },
  35006. 10: {
  35007. Fname: __ccgo_ts + 3995,
  35008. Fobject: __ccgo_ts + 6190,
  35009. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  35010. },
  35011. 11: {
  35012. Fname: __ccgo_ts + 4034,
  35013. Fobject: __ccgo_ts + 6190,
  35014. Fvalue: int32(m_FC_WEIGHT_BOLD),
  35015. },
  35016. 12: {
  35017. Fname: __ccgo_ts + 4004,
  35018. Fobject: __ccgo_ts + 6190,
  35019. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  35020. },
  35021. 13: {
  35022. Fname: __ccgo_ts + 4024,
  35023. Fobject: __ccgo_ts + 6190,
  35024. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  35025. },
  35026. 14: {
  35027. Fname: __ccgo_ts + 4079,
  35028. Fobject: __ccgo_ts + 6190,
  35029. Fvalue: int32(m_FC_WEIGHT_BLACK),
  35030. },
  35031. 15: {
  35032. Fname: __ccgo_ts + 4085,
  35033. Fobject: __ccgo_ts + 6190,
  35034. Fvalue: int32(m_FC_WEIGHT_BLACK),
  35035. },
  35036. 16: {
  35037. Fname: __ccgo_ts + 6582,
  35038. Fobject: __ccgo_ts + 6184,
  35039. },
  35040. 17: {
  35041. Fname: __ccgo_ts + 4204,
  35042. Fobject: __ccgo_ts + 6184,
  35043. Fvalue: int32(m_FC_SLANT_ITALIC),
  35044. },
  35045. 18: {
  35046. Fname: __ccgo_ts + 4218,
  35047. Fobject: __ccgo_ts + 6184,
  35048. Fvalue: int32(m_FC_SLANT_OBLIQUE),
  35049. },
  35050. 19: {
  35051. Fname: __ccgo_ts + 4091,
  35052. Fobject: __ccgo_ts + 6197,
  35053. Fvalue: int32(m_FC_WIDTH_ULTRACONDENSED),
  35054. },
  35055. 20: {
  35056. Fname: __ccgo_ts + 4106,
  35057. Fobject: __ccgo_ts + 6197,
  35058. Fvalue: int32(m_FC_WIDTH_EXTRACONDENSED),
  35059. },
  35060. 21: {
  35061. Fname: __ccgo_ts + 4135,
  35062. Fobject: __ccgo_ts + 6197,
  35063. Fvalue: int32(m_FC_WIDTH_CONDENSED),
  35064. },
  35065. 22: {
  35066. Fname: __ccgo_ts + 4121,
  35067. Fobject: __ccgo_ts + 6197,
  35068. Fvalue: int32(m_FC_WIDTH_SEMICONDENSED),
  35069. },
  35070. 23: {
  35071. Fname: __ccgo_ts + 3967,
  35072. Fobject: __ccgo_ts + 6197,
  35073. Fvalue: int32(m_FC_WIDTH_NORMAL),
  35074. },
  35075. 24: {
  35076. Fname: __ccgo_ts + 4145,
  35077. Fobject: __ccgo_ts + 6197,
  35078. Fvalue: int32(m_FC_WIDTH_SEMIEXPANDED),
  35079. },
  35080. 25: {
  35081. Fname: __ccgo_ts + 4186,
  35082. Fobject: __ccgo_ts + 6197,
  35083. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  35084. },
  35085. 26: {
  35086. Fname: __ccgo_ts + 4158,
  35087. Fobject: __ccgo_ts + 6197,
  35088. Fvalue: int32(m_FC_WIDTH_EXTRAEXPANDED),
  35089. },
  35090. 27: {
  35091. Fname: __ccgo_ts + 4172,
  35092. Fobject: __ccgo_ts + 6197,
  35093. Fvalue: int32(m_FC_WIDTH_ULTRAEXPANDED),
  35094. },
  35095. 28: {
  35096. Fname: __ccgo_ts + 6588,
  35097. Fobject: __ccgo_ts + 6225,
  35098. },
  35099. 29: {
  35100. Fname: __ccgo_ts + 6601,
  35101. Fobject: __ccgo_ts + 6225,
  35102. Fvalue: int32(m_FC_DUAL),
  35103. },
  35104. 30: {
  35105. Fname: __ccgo_ts + 6606,
  35106. Fobject: __ccgo_ts + 6225,
  35107. Fvalue: int32(m_FC_MONO),
  35108. },
  35109. 31: {
  35110. Fname: __ccgo_ts + 6611,
  35111. Fobject: __ccgo_ts + 6225,
  35112. Fvalue: int32(m_FC_CHARCELL),
  35113. },
  35114. 32: {
  35115. Fname: __ccgo_ts + 4862,
  35116. Fobject: __ccgo_ts + 6350,
  35117. },
  35118. 33: {
  35119. Fname: __ccgo_ts + 6620,
  35120. Fobject: __ccgo_ts + 6350,
  35121. Fvalue: int32(m_FC_RGBA_RGB),
  35122. },
  35123. 34: {
  35124. Fname: __ccgo_ts + 6624,
  35125. Fobject: __ccgo_ts + 6350,
  35126. Fvalue: int32(m_FC_RGBA_BGR),
  35127. },
  35128. 35: {
  35129. Fname: __ccgo_ts + 6628,
  35130. Fobject: __ccgo_ts + 6350,
  35131. Fvalue: int32(m_FC_RGBA_VRGB),
  35132. },
  35133. 36: {
  35134. Fname: __ccgo_ts + 6633,
  35135. Fobject: __ccgo_ts + 6350,
  35136. Fvalue: int32(m_FC_RGBA_VBGR),
  35137. },
  35138. 37: {
  35139. Fname: __ccgo_ts + 2500,
  35140. Fobject: __ccgo_ts + 6350,
  35141. Fvalue: int32(m_FC_RGBA_NONE),
  35142. },
  35143. 38: {
  35144. Fname: __ccgo_ts + 6638,
  35145. Fobject: __ccgo_ts + 6251,
  35146. },
  35147. 39: {
  35148. Fname: __ccgo_ts + 6647,
  35149. Fobject: __ccgo_ts + 6251,
  35150. Fvalue: int32(m_FC_HINT_SLIGHT),
  35151. },
  35152. 40: {
  35153. Fname: __ccgo_ts + 6658,
  35154. Fobject: __ccgo_ts + 6251,
  35155. Fvalue: int32(m_FC_HINT_MEDIUM),
  35156. },
  35157. 41: {
  35158. Fname: __ccgo_ts + 6669,
  35159. Fobject: __ccgo_ts + 6251,
  35160. Fvalue: int32(m_FC_HINT_FULL),
  35161. },
  35162. 42: {
  35163. Fname: __ccgo_ts + 6241,
  35164. Fobject: __ccgo_ts + 6241,
  35165. Fvalue: int32(m_FcTrue),
  35166. },
  35167. 43: {
  35168. Fname: __ccgo_ts + 6261,
  35169. Fobject: __ccgo_ts + 6261,
  35170. Fvalue: int32(m_FcTrue),
  35171. },
  35172. 44: {
  35173. Fname: __ccgo_ts + 6269,
  35174. Fobject: __ccgo_ts + 6269,
  35175. Fvalue: int32(m_FcTrue),
  35176. },
  35177. 45: {
  35178. Fname: __ccgo_ts + 6284,
  35179. Fobject: __ccgo_ts + 6284,
  35180. Fvalue: int32(m_FcTrue),
  35181. },
  35182. 46: {
  35183. Fname: __ccgo_ts + 6293,
  35184. Fobject: __ccgo_ts + 6293,
  35185. Fvalue: int32(m_FcTrue),
  35186. },
  35187. 47: {
  35188. Fname: __ccgo_ts + 6329,
  35189. Fobject: __ccgo_ts + 6329,
  35190. Fvalue: int32(m_FcTrue),
  35191. },
  35192. 48: {
  35193. Fname: __ccgo_ts + 6337,
  35194. Fobject: __ccgo_ts + 6337,
  35195. Fvalue: int32(m_FcTrue),
  35196. },
  35197. 49: {
  35198. Fname: __ccgo_ts + 6361,
  35199. Fobject: __ccgo_ts + 6361,
  35200. Fvalue: int32(m_FcTrue),
  35201. },
  35202. 50: {
  35203. Fname: __ccgo_ts + 6432,
  35204. Fobject: __ccgo_ts + 6432,
  35205. Fvalue: int32(m_FcTrue),
  35206. },
  35207. 51: {
  35208. Fname: __ccgo_ts + 6441,
  35209. Fobject: __ccgo_ts + 6441,
  35210. Fvalue: int32(m_FcTrue),
  35211. },
  35212. 52: {
  35213. Fname: __ccgo_ts + 6456,
  35214. Fobject: __ccgo_ts + 6456,
  35215. Fvalue: int32(m_FcTrue),
  35216. },
  35217. 53: {
  35218. Fname: __ccgo_ts + 6678,
  35219. Fobject: __ccgo_ts + 6467,
  35220. },
  35221. 54: {
  35222. Fname: __ccgo_ts + 6686,
  35223. Fobject: __ccgo_ts + 6467,
  35224. Fvalue: int32(m_FC_LCD_DEFAULT),
  35225. },
  35226. 55: {
  35227. Fname: __ccgo_ts + 6697,
  35228. Fobject: __ccgo_ts + 6467,
  35229. Fvalue: int32(m_FC_LCD_LIGHT),
  35230. },
  35231. 56: {
  35232. Fname: __ccgo_ts + 6706,
  35233. Fobject: __ccgo_ts + 6467,
  35234. Fvalue: int32(m_FC_LCD_LEGACY),
  35235. },
  35236. }
  35237. func XIA__FcNameRegisterConstants(tls *libc.TLS, consts uintptr, nconsts int32) (r TFcBool) {
  35238. /* Deprecated. */
  35239. return m_FcFalse
  35240. }
  35241. var XFcNameRegisterConstants = XIA__FcNameRegisterConstants
  35242. func XIA__FcNameUnregisterConstants(tls *libc.TLS, consts uintptr, nconsts int32) (r TFcBool) {
  35243. /* Deprecated. */
  35244. return m_FcFalse
  35245. }
  35246. var XFcNameUnregisterConstants = XIA__FcNameUnregisterConstants
  35247. func XIA__FcNameGetConstant(tls *libc.TLS, string1 uintptr) (r uintptr) {
  35248. var i uint32
  35249. _ = i
  35250. i = uint32(0)
  35251. for {
  35252. if !(uint64(i) < libc.Uint64FromInt64(1368)/libc.Uint64FromInt64(24)) {
  35253. break
  35254. }
  35255. if !(XIA__FcStrCmpIgnoreCase(tls, string1, __FcBaseConstants[i].Fname) != 0) {
  35256. return uintptr(unsafe.Pointer(&__FcBaseConstants)) + uintptr(i)*24
  35257. }
  35258. goto _1
  35259. _1:
  35260. ;
  35261. i++
  35262. }
  35263. return uintptr(0)
  35264. }
  35265. var XFcNameGetConstant = XIA__FcNameGetConstant
  35266. func XIA__FcNameConstant(tls *libc.TLS, string1 uintptr, result uintptr) (r TFcBool) {
  35267. var c, v1 uintptr
  35268. _, _ = c, v1
  35269. v1 = XIA__FcNameGetConstant(tls, string1)
  35270. c = v1
  35271. if v1 != 0 {
  35272. *(*int32)(unsafe.Pointer(result)) = (*TFcConstant)(unsafe.Pointer(c)).Fvalue
  35273. return int32(m_FcTrue)
  35274. }
  35275. return m_FcFalse
  35276. }
  35277. var XFcNameConstant = XIA__FcNameConstant
  35278. func XFcNameConstantWithObjectCheck(tls *libc.TLS, string1 uintptr, object uintptr, result uintptr) (r TFcBool) {
  35279. bp := tls.Alloc(32)
  35280. defer tls.Free(32)
  35281. var c, v1 uintptr
  35282. _, _ = c, v1
  35283. v1 = XIA__FcNameGetConstant(tls, string1)
  35284. c = v1
  35285. if v1 != 0 {
  35286. if libc.Xstrcmp(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject, object) != 0 {
  35287. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+6716, libc.VaList(bp+8, string1, object, (*TFcConstant)(unsafe.Pointer(c)).Fobject))
  35288. return m_FcFalse
  35289. }
  35290. *(*int32)(unsafe.Pointer(result)) = (*TFcConstant)(unsafe.Pointer(c)).Fvalue
  35291. return int32(m_FcTrue)
  35292. }
  35293. return m_FcFalse
  35294. }
  35295. func XFcNameBool(tls *libc.TLS, v uintptr, result uintptr) (r TFcBool) {
  35296. var c0, c1 uint8
  35297. var v1, v2 int32
  35298. _, _, _, _ = c0, c1, v1, v2
  35299. c0 = *(*TFcChar8)(unsafe.Pointer(v))
  35300. if int32(0101) <= libc.Int32FromUint8(c0) && libc.Int32FromUint8(c0) <= int32(0132) {
  35301. v1 = libc.Int32FromUint8(c0) - int32(0101) + int32(0141)
  35302. } else {
  35303. v1 = libc.Int32FromUint8(c0)
  35304. }
  35305. c0 = libc.Uint8FromInt32(v1)
  35306. if libc.Int32FromUint8(c0) == int32('t') || libc.Int32FromUint8(c0) == int32('y') || libc.Int32FromUint8(c0) == int32('1') {
  35307. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcTrue)
  35308. return int32(m_FcTrue)
  35309. }
  35310. if libc.Int32FromUint8(c0) == int32('f') || libc.Int32FromUint8(c0) == int32('n') || libc.Int32FromUint8(c0) == int32('0') {
  35311. *(*TFcBool)(unsafe.Pointer(result)) = m_FcFalse
  35312. return int32(m_FcTrue)
  35313. }
  35314. if libc.Int32FromUint8(c0) == int32('d') || libc.Int32FromUint8(c0) == int32('x') || libc.Int32FromUint8(c0) == int32('2') {
  35315. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcDontCare)
  35316. return int32(m_FcTrue)
  35317. }
  35318. if libc.Int32FromUint8(c0) == int32('o') {
  35319. c1 = *(*TFcChar8)(unsafe.Pointer(v + 1))
  35320. if int32(0101) <= libc.Int32FromUint8(c1) && libc.Int32FromUint8(c1) <= int32(0132) {
  35321. v2 = libc.Int32FromUint8(c1) - int32(0101) + int32(0141)
  35322. } else {
  35323. v2 = libc.Int32FromUint8(c1)
  35324. }
  35325. c1 = libc.Uint8FromInt32(v2)
  35326. if libc.Int32FromUint8(c1) == int32('n') {
  35327. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcTrue)
  35328. return int32(m_FcTrue)
  35329. }
  35330. if libc.Int32FromUint8(c1) == int32('f') {
  35331. *(*TFcBool)(unsafe.Pointer(result)) = m_FcFalse
  35332. return int32(m_FcTrue)
  35333. }
  35334. if libc.Int32FromUint8(c1) == int32('r') {
  35335. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcDontCare)
  35336. return int32(m_FcTrue)
  35337. }
  35338. }
  35339. return m_FcFalse
  35340. }
  35341. func _FcNameConvert(tls *libc.TLS, type1 TFcType, object uintptr, string1 uintptr) (r TFcValue) {
  35342. bp := tls.Alloc(128)
  35343. defer tls.Free(128)
  35344. var ec, sc uintptr
  35345. var len1 Tsize_t
  35346. var v11, v12 float64
  35347. var _ /* b at bp+48 */ float64
  35348. var _ /* e at bp+56 */ float64
  35349. var _ /* ei at bp+76 */ int32
  35350. var _ /* m at bp+16 */ TFcMatrix
  35351. var _ /* p at bp+64 */ uintptr
  35352. var _ /* si at bp+72 */ int32
  35353. var _ /* v at bp+0 */ TFcValue
  35354. _, _, _, _, _ = ec, len1, sc, v11, v12
  35355. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = type1
  35356. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  35357. case int32(_FcTypeInteger):
  35358. goto _1
  35359. case int32(_FcTypeString):
  35360. goto _2
  35361. case int32(_FcTypeBool):
  35362. goto _3
  35363. case int32(_FcTypeDouble):
  35364. goto _4
  35365. case int32(_FcTypeMatrix):
  35366. goto _5
  35367. case int32(_FcTypeCharSet):
  35368. goto _6
  35369. case int32(_FcTypeLangSet):
  35370. goto _7
  35371. case int32(_FcTypeRange):
  35372. goto _8
  35373. default:
  35374. goto _9
  35375. }
  35376. goto _10
  35377. _1:
  35378. ;
  35379. if !(XFcNameConstantWithObjectCheck(tls, string1, object, bp+8) != 0) {
  35380. *(*int32)(unsafe.Pointer(bp + 8)) = libc.Xatoi(tls, string1)
  35381. }
  35382. goto _10
  35383. _2:
  35384. ;
  35385. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, string1)
  35386. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  35387. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35388. }
  35389. goto _10
  35390. _3:
  35391. ;
  35392. if !(XFcNameBool(tls, string1, bp+8) != 0) {
  35393. *(*TFcBool)(unsafe.Pointer(bp + 8)) = m_FcFalse
  35394. }
  35395. goto _10
  35396. _4:
  35397. ;
  35398. *(*float64)(unsafe.Pointer(bp + 8)) = libc.Xstrtod(tls, string1, uintptr(0))
  35399. goto _10
  35400. _5:
  35401. ;
  35402. v11 = libc.Float64FromInt32(1)
  35403. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fyy = v11
  35404. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fxx = v11
  35405. v12 = libc.Float64FromInt32(0)
  35406. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fyx = v12
  35407. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fxy = v12
  35408. libc.Xsscanf(tls, string1, __ccgo_ts+6802, libc.VaList(bp+88, bp+16, bp+16+8, bp+16+16, bp+16+24))
  35409. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcMatrixCopy(tls, bp+16)
  35410. goto _10
  35411. _6:
  35412. ;
  35413. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcNameParseCharSet(tls, string1)
  35414. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  35415. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35416. }
  35417. goto _10
  35418. _7:
  35419. ;
  35420. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcNameParseLangSet(tls, string1)
  35421. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  35422. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35423. }
  35424. goto _10
  35425. _8:
  35426. ;
  35427. if libc.Xsscanf(tls, string1, __ccgo_ts+6818, libc.VaList(bp+88, bp+48, bp+56)) != int32(2) {
  35428. len1 = libc.Xstrlen(tls, string1)
  35429. sc = libc.Xmalloc(tls, len1+uint64(1))
  35430. ec = libc.Xmalloc(tls, len1+uint64(1))
  35431. if !(sc != 0 && ec != 0 && libc.Xsscanf(tls, string1, __ccgo_ts+6828, libc.VaList(bp+88, sc, ec)) == int32(2)) {
  35432. goto _13
  35433. }
  35434. if XFcNameConstantWithObjectCheck(tls, sc, object, bp+72) != 0 && XFcNameConstantWithObjectCheck(tls, ec, object, bp+76) != 0 {
  35435. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcRangeCreateDouble(tls, float64(*(*int32)(unsafe.Pointer(bp + 72))), float64(*(*int32)(unsafe.Pointer(bp + 76))))
  35436. } else {
  35437. goto bail1
  35438. }
  35439. goto _14
  35440. _13:
  35441. ;
  35442. goto bail1
  35443. bail1:
  35444. ;
  35445. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  35446. if XFcNameConstantWithObjectCheck(tls, string1, object, bp+72) != 0 {
  35447. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 72)))
  35448. } else {
  35449. *(*float64)(unsafe.Pointer(bp + 8)) = libc.Xstrtod(tls, string1, bp+64)
  35450. if *(*uintptr)(unsafe.Pointer(bp + 64)) != libc.UintptrFromInt32(0) && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64))))) != 0 {
  35451. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35452. }
  35453. }
  35454. _14:
  35455. ;
  35456. if sc != 0 {
  35457. libc.Xfree(tls, sc)
  35458. }
  35459. if ec != 0 {
  35460. libc.Xfree(tls, ec)
  35461. }
  35462. } else {
  35463. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcRangeCreateDouble(tls, *(*float64)(unsafe.Pointer(bp + 48)), *(*float64)(unsafe.Pointer(bp + 56)))
  35464. }
  35465. goto _10
  35466. _9:
  35467. ;
  35468. goto _10
  35469. _10:
  35470. ;
  35471. return *(*TFcValue)(unsafe.Pointer(bp))
  35472. }
  35473. func _FcNameFindNext(tls *libc.TLS, cur uintptr, delim uintptr, save uintptr, last uintptr) (r uintptr) {
  35474. var c, v1, v5, v6 TFcChar8
  35475. var v2, v3 int32
  35476. var v7 uintptr
  35477. _, _, _, _, _, _, _ = c, v1, v2, v3, v5, v6, v7
  35478. for {
  35479. v1 = *(*TFcChar8)(unsafe.Pointer(cur))
  35480. c = v1
  35481. if !(v1 != 0) {
  35482. break
  35483. }
  35484. v2 = libc.Int32FromUint8(c)
  35485. v3 = libc.BoolInt32(v2 == int32(' ') || libc.Uint32FromInt32(v2)-uint32('\t') < uint32(5))
  35486. goto _4
  35487. _4:
  35488. if !(v3 != 0) {
  35489. break
  35490. }
  35491. cur++
  35492. }
  35493. for {
  35494. v5 = *(*TFcChar8)(unsafe.Pointer(cur))
  35495. c = v5
  35496. if !(v5 != 0) {
  35497. break
  35498. }
  35499. if libc.Int32FromUint8(c) == int32('\\') {
  35500. cur++
  35501. v6 = *(*TFcChar8)(unsafe.Pointer(cur))
  35502. c = v6
  35503. if !(v6 != 0) {
  35504. break
  35505. }
  35506. } else {
  35507. if libc.Xstrchr(tls, delim, libc.Int32FromUint8(c)) != 0 {
  35508. break
  35509. }
  35510. }
  35511. cur++
  35512. v7 = save
  35513. save++
  35514. *(*TFcChar8)(unsafe.Pointer(v7)) = c
  35515. }
  35516. *(*TFcChar8)(unsafe.Pointer(save)) = uint8(0)
  35517. *(*TFcChar8)(unsafe.Pointer(last)) = *(*TFcChar8)(unsafe.Pointer(cur))
  35518. if *(*TFcChar8)(unsafe.Pointer(cur)) != 0 {
  35519. cur++
  35520. }
  35521. return cur
  35522. }
  35523. func XIA__FcNameParse(tls *libc.TLS, name uintptr) (r uintptr) {
  35524. bp := tls.Alloc(16)
  35525. defer tls.Free(16)
  35526. var c, pat, save, t, v4 uintptr
  35527. var d float64
  35528. var v TFcValue
  35529. var _ /* delim at bp+8 */ TFcChar8
  35530. var _ /* e at bp+0 */ uintptr
  35531. _, _, _, _, _, _, _ = c, d, pat, save, t, v, v4
  35532. /* freed below */
  35533. save = libc.Xmalloc(tls, libc.Xstrlen(tls, name)+uint64(1))
  35534. if !(save != 0) {
  35535. goto bail0
  35536. }
  35537. pat = XIA__FcPatternCreate(tls)
  35538. if !(pat != 0) {
  35539. goto bail1
  35540. }
  35541. for {
  35542. name = _FcNameFindNext(tls, name, __ccgo_ts+6839, save, bp+8)
  35543. if *(*TFcChar8)(unsafe.Pointer(save)) != 0 {
  35544. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILY_OBJECT), save) != 0) {
  35545. goto bail2
  35546. }
  35547. }
  35548. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) != int32(',') {
  35549. break
  35550. }
  35551. goto _1
  35552. _1:
  35553. }
  35554. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32('-') {
  35555. for {
  35556. name = _FcNameFindNext(tls, name, __ccgo_ts+6839, save, bp+8)
  35557. d = libc.Xstrtod(tls, save, bp)
  35558. if *(*uintptr)(unsafe.Pointer(bp)) != save {
  35559. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), d) != 0) {
  35560. goto bail2
  35561. }
  35562. }
  35563. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) != int32(',') {
  35564. break
  35565. }
  35566. goto _2
  35567. _2:
  35568. }
  35569. }
  35570. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32(':') {
  35571. name = _FcNameFindNext(tls, name, __ccgo_ts+6843, save, bp+8)
  35572. if *(*TFcChar8)(unsafe.Pointer(save)) != 0 {
  35573. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32('=') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32('_') {
  35574. t = XIA__FcNameGetObjectType(tls, save)
  35575. for {
  35576. name = _FcNameFindNext(tls, name, __ccgo_ts+6847, save, bp+8)
  35577. if t != 0 {
  35578. v = _FcNameConvert(tls, (*TFcObjectType)(unsafe.Pointer(t)).Ftype1, (*TFcObjectType)(unsafe.Pointer(t)).Fobject, save)
  35579. if !(XIA__FcPatternAdd(tls, pat, (*TFcObjectType)(unsafe.Pointer(t)).Fobject, v, int32(m_FcTrue)) != 0) {
  35580. XIA__FcValueDestroy(tls, v)
  35581. goto bail2
  35582. }
  35583. XIA__FcValueDestroy(tls, v)
  35584. }
  35585. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) != int32(',') {
  35586. break
  35587. }
  35588. goto _3
  35589. _3:
  35590. }
  35591. } else {
  35592. v4 = XIA__FcNameGetConstant(tls, save)
  35593. c = v4
  35594. if v4 != 0 {
  35595. t = XIA__FcNameGetObjectType(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject)
  35596. if t == libc.UintptrFromInt32(0) {
  35597. goto bail2
  35598. }
  35599. switch (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  35600. case int32(_FcTypeInteger):
  35601. fallthrough
  35602. case int32(_FcTypeDouble):
  35603. if !(XIA__FcPatternAddInteger(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  35604. goto bail2
  35605. }
  35606. case int32(_FcTypeBool):
  35607. if !(XIA__FcPatternAddBool(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  35608. goto bail2
  35609. }
  35610. case int32(_FcTypeRange):
  35611. if !(XIA__FcPatternAddInteger(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  35612. goto bail2
  35613. }
  35614. default:
  35615. break
  35616. }
  35617. }
  35618. }
  35619. }
  35620. }
  35621. libc.Xfree(tls, save)
  35622. return pat
  35623. goto bail2
  35624. bail2:
  35625. ;
  35626. XIA__FcPatternDestroy(tls, pat)
  35627. goto bail1
  35628. bail1:
  35629. ;
  35630. libc.Xfree(tls, save)
  35631. goto bail0
  35632. bail0:
  35633. ;
  35634. return uintptr(0)
  35635. return r
  35636. }
  35637. var XFcNameParse = XIA__FcNameParse
  35638. func _FcNameUnparseString(tls *libc.TLS, buf uintptr, string1 uintptr, escape uintptr) (r TFcBool) {
  35639. var c, v1 TFcChar8
  35640. var v2 uintptr
  35641. _, _, _ = c, v1, v2
  35642. for {
  35643. v2 = string1
  35644. string1++
  35645. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  35646. c = v1
  35647. if !(v1 != 0) {
  35648. break
  35649. }
  35650. if escape != 0 && libc.Xstrchr(tls, escape, libc.Int32FromUint8(c)) != 0 {
  35651. if !(XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(escape))) != 0) {
  35652. return m_FcFalse
  35653. }
  35654. }
  35655. if !(XFcStrBufChar(tls, buf, c) != 0) {
  35656. return m_FcFalse
  35657. }
  35658. }
  35659. return int32(m_FcTrue)
  35660. }
  35661. func XFcNameUnparseValue(tls *libc.TLS, buf uintptr, v0 uintptr, escape uintptr) (r TFcBool) {
  35662. bp := tls.Alloc(1088)
  35663. defer tls.Free(1088)
  35664. var v1, v2 uintptr
  35665. var _ /* temp at bp+0 */ [1024]TFcChar8
  35666. var _ /* v at bp+1024 */ TFcValue
  35667. _, _ = v1, v2
  35668. *(*TFcValue)(unsafe.Pointer(bp + 1024)) = TFcValue{}
  35669. *(*T_FcValue)(unsafe.Pointer(bp + 1024)) = XFcValueCanonicalize(tls, v0)
  35670. switch (*(*TFcValue)(unsafe.Pointer(bp + 1024))).Ftype1 {
  35671. case int32(_FcTypeUnknown):
  35672. fallthrough
  35673. case int32(_FcTypeVoid):
  35674. return int32(m_FcTrue)
  35675. case int32(_FcTypeInteger):
  35676. libc.Xsprintf(tls, bp, __ccgo_ts+2505, libc.VaList(bp+1048, *(*int32)(unsafe.Pointer(bp + 1024 + 8))))
  35677. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  35678. case int32(_FcTypeDouble):
  35679. libc.Xsprintf(tls, bp, __ccgo_ts+2508, libc.VaList(bp+1048, *(*float64)(unsafe.Pointer(bp + 1024 + 8))))
  35680. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  35681. case int32(_FcTypeString):
  35682. return _FcNameUnparseString(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)), escape)
  35683. case int32(_FcTypeBool):
  35684. if *(*TFcBool)(unsafe.Pointer(bp + 1024 + 8)) == int32(m_FcTrue) {
  35685. v1 = __ccgo_ts + 1939
  35686. } else {
  35687. if *(*TFcBool)(unsafe.Pointer(bp + 1024 + 8)) == m_FcFalse {
  35688. v2 = __ccgo_ts + 1944
  35689. } else {
  35690. v2 = __ccgo_ts + 1950
  35691. }
  35692. v1 = v2
  35693. }
  35694. return _FcNameUnparseString(tls, buf, v1, uintptr(0))
  35695. case int32(_FcTypeMatrix):
  35696. libc.Xsprintf(tls, bp, __ccgo_ts+6850, libc.VaList(bp+1048, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fxx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fxy, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fyx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fyy))
  35697. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  35698. case int32(_FcTypeCharSet):
  35699. return XFcNameUnparseCharSet(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))
  35700. case int32(_FcTypeLangSet):
  35701. return XFcNameUnparseLangSet(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))
  35702. case int32(_FcTypeFTFace):
  35703. return int32(m_FcTrue)
  35704. case int32(_FcTypeRange):
  35705. libc.Xsprintf(tls, bp, __ccgo_ts+1979, libc.VaList(bp+1048, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fend))
  35706. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  35707. }
  35708. return m_FcFalse
  35709. }
  35710. func XFcNameUnparseValueList(tls *libc.TLS, buf uintptr, v TFcValueListPtr, escape uintptr) (r TFcBool) {
  35711. var v1 TFcValueListPtr
  35712. var v2 uintptr
  35713. _, _ = v1, v2
  35714. for v != 0 {
  35715. if !(XFcNameUnparseValue(tls, buf, v+8, escape) != 0) {
  35716. return m_FcFalse
  35717. }
  35718. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  35719. v2 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35720. } else {
  35721. v2 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  35722. }
  35723. v1 = v2
  35724. v = v1
  35725. if v1 != libc.UintptrFromInt32(0) {
  35726. if !(_FcNameUnparseString(tls, buf, __ccgo_ts+6862, uintptr(0)) != 0) {
  35727. return m_FcFalse
  35728. }
  35729. }
  35730. }
  35731. return int32(m_FcTrue)
  35732. }
  35733. func XIA__FcNameUnparse(tls *libc.TLS, pat uintptr) (r uintptr) {
  35734. return XFcNameUnparseEscaped(tls, pat, int32(m_FcTrue))
  35735. }
  35736. var XFcNameUnparse = XIA__FcNameUnparse
  35737. func XFcNameUnparseEscaped(tls *libc.TLS, pat uintptr, escape TFcBool) (r uintptr) {
  35738. bp := tls.Alloc(8752)
  35739. defer tls.Free(8752)
  35740. var e, o, p, v1, v2, v3, v4, v6, v7, v8 uintptr
  35741. var i int32
  35742. var id TFcObject
  35743. var _ /* buf at bp+0 */ TFcStrBuf
  35744. var _ /* buf2 at bp+152 */ TFcStrBuf
  35745. var _ /* buf2_static at bp+8496 */ [256]TFcChar8
  35746. var _ /* buf_static at bp+304 */ [8192]TFcChar8
  35747. _, _, _, _, _, _, _, _, _, _, _, _ = e, i, id, o, p, v1, v2, v3, v4, v6, v7, v8
  35748. XFcStrBufInit(tls, bp, bp+304, int32(8192))
  35749. XFcStrBufInit(tls, bp+152, bp+8496, int32(256))
  35750. e = XFcPatternObjectFindElt(tls, pat, int32(_FC_FAMILY_OBJECT))
  35751. if e != 0 {
  35752. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  35753. v1 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35754. } else {
  35755. v1 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  35756. }
  35757. if escape != 0 {
  35758. v2 = __ccgo_ts + 6864
  35759. } else {
  35760. v2 = uintptr(0)
  35761. }
  35762. if !(XFcNameUnparseValueList(tls, bp, v1, v2) != 0) {
  35763. goto bail0
  35764. }
  35765. }
  35766. e = XFcPatternObjectFindElt(tls, pat, int32(_FC_SIZE_OBJECT))
  35767. if e != 0 {
  35768. if !(_FcNameUnparseString(tls, bp+152, __ccgo_ts+6869, uintptr(0)) != 0) {
  35769. goto bail0
  35770. }
  35771. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  35772. v3 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35773. } else {
  35774. v3 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  35775. }
  35776. if escape != 0 {
  35777. v4 = __ccgo_ts + 6864
  35778. } else {
  35779. v4 = uintptr(0)
  35780. }
  35781. if !(XFcNameUnparseValueList(tls, bp+152, v3, v4) != 0) {
  35782. goto bail0
  35783. }
  35784. p = XFcStrBufDoneStatic(tls, bp+152)
  35785. XFcStrBufDestroy(tls, bp+152)
  35786. if libc.Xstrlen(tls, p) > uint64(1) {
  35787. if !(XFcStrBufString(tls, bp, p) != 0) {
  35788. goto bail0
  35789. }
  35790. }
  35791. }
  35792. i = 0
  35793. for {
  35794. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(832)/libc.Uint64FromInt64(16))) {
  35795. break
  35796. }
  35797. id = i + int32(1)
  35798. o = uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(i)*16
  35799. if !(libc.Xstrcmp(tls, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, __ccgo_ts+5968) != 0) || !(libc.Xstrcmp(tls, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, __ccgo_ts+6203) != 0) {
  35800. goto _5
  35801. }
  35802. e = XFcPatternObjectFindElt(tls, pat, id)
  35803. if e != 0 {
  35804. if !(_FcNameUnparseString(tls, bp, __ccgo_ts+6871, uintptr(0)) != 0) {
  35805. goto bail0
  35806. }
  35807. if escape != 0 {
  35808. v6 = __ccgo_ts + 6873
  35809. } else {
  35810. v6 = uintptr(0)
  35811. }
  35812. if !(_FcNameUnparseString(tls, bp, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, v6) != 0) {
  35813. goto bail0
  35814. }
  35815. if !(_FcNameUnparseString(tls, bp, __ccgo_ts+6879, uintptr(0)) != 0) {
  35816. goto bail0
  35817. }
  35818. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  35819. v7 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35820. } else {
  35821. v7 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  35822. }
  35823. if escape != 0 {
  35824. v8 = __ccgo_ts + 6873
  35825. } else {
  35826. v8 = uintptr(0)
  35827. }
  35828. if !(XFcNameUnparseValueList(tls, bp, v7, v8) != 0) {
  35829. goto bail0
  35830. }
  35831. }
  35832. goto _5
  35833. _5:
  35834. ;
  35835. i++
  35836. }
  35837. return XFcStrBufDone(tls, bp)
  35838. goto bail0
  35839. bail0:
  35840. ;
  35841. XFcStrBufDestroy(tls, bp)
  35842. return uintptr(0)
  35843. }
  35844. /* ANSI-C code produced by gperf version 3.1 */
  35845. /* Command-line: gperf --pic -m 100 fcobjshash.gperf */
  35846. /* Computed positions: -k'3,5' */
  35847. type TFcObjectTypeInfo = struct {
  35848. Fname int32
  35849. Fid int32
  35850. }
  35851. /* maximum key range = 59, duplicates = 0 */
  35852. func _FcObjectTypeHash(tls *libc.TLS, str uintptr, len1 Tsize_t) (r uint32) {
  35853. var hval uint32
  35854. _ = hval
  35855. hval = uint32(len1)
  35856. switch hval {
  35857. default:
  35858. hval += uint32(_asso_values[*(*uint8)(unsafe.Pointer(str + 4))])
  35859. /*FALLTHROUGH*/
  35860. fallthrough
  35861. case uint32(4):
  35862. fallthrough
  35863. case uint32(3):
  35864. hval += uint32(_asso_values[*(*uint8)(unsafe.Pointer(str + 2))])
  35865. break
  35866. }
  35867. return hval
  35868. }
  35869. var _asso_values = [256]uint8{
  35870. 0: uint8(66),
  35871. 1: uint8(66),
  35872. 2: uint8(66),
  35873. 3: uint8(66),
  35874. 4: uint8(66),
  35875. 5: uint8(66),
  35876. 6: uint8(66),
  35877. 7: uint8(66),
  35878. 8: uint8(66),
  35879. 9: uint8(66),
  35880. 10: uint8(66),
  35881. 11: uint8(66),
  35882. 12: uint8(66),
  35883. 13: uint8(66),
  35884. 14: uint8(66),
  35885. 15: uint8(66),
  35886. 16: uint8(66),
  35887. 17: uint8(66),
  35888. 18: uint8(66),
  35889. 19: uint8(66),
  35890. 20: uint8(66),
  35891. 21: uint8(66),
  35892. 22: uint8(66),
  35893. 23: uint8(66),
  35894. 24: uint8(66),
  35895. 25: uint8(66),
  35896. 26: uint8(66),
  35897. 27: uint8(66),
  35898. 28: uint8(66),
  35899. 29: uint8(66),
  35900. 30: uint8(66),
  35901. 31: uint8(66),
  35902. 32: uint8(66),
  35903. 33: uint8(66),
  35904. 34: uint8(66),
  35905. 35: uint8(66),
  35906. 36: uint8(66),
  35907. 37: uint8(66),
  35908. 38: uint8(66),
  35909. 39: uint8(66),
  35910. 40: uint8(66),
  35911. 41: uint8(66),
  35912. 42: uint8(66),
  35913. 43: uint8(66),
  35914. 44: uint8(66),
  35915. 45: uint8(66),
  35916. 46: uint8(66),
  35917. 47: uint8(66),
  35918. 48: uint8(66),
  35919. 49: uint8(66),
  35920. 50: uint8(66),
  35921. 51: uint8(66),
  35922. 52: uint8(66),
  35923. 53: uint8(66),
  35924. 54: uint8(66),
  35925. 55: uint8(66),
  35926. 56: uint8(66),
  35927. 57: uint8(66),
  35928. 58: uint8(66),
  35929. 59: uint8(66),
  35930. 60: uint8(66),
  35931. 61: uint8(66),
  35932. 62: uint8(66),
  35933. 63: uint8(66),
  35934. 64: uint8(66),
  35935. 65: uint8(66),
  35936. 66: uint8(66),
  35937. 67: uint8(66),
  35938. 68: uint8(66),
  35939. 69: uint8(66),
  35940. 70: uint8(66),
  35941. 71: uint8(66),
  35942. 72: uint8(66),
  35943. 73: uint8(66),
  35944. 74: uint8(66),
  35945. 75: uint8(66),
  35946. 76: uint8(66),
  35947. 77: uint8(66),
  35948. 78: uint8(66),
  35949. 79: uint8(66),
  35950. 80: uint8(66),
  35951. 81: uint8(66),
  35952. 82: uint8(66),
  35953. 83: uint8(66),
  35954. 84: uint8(66),
  35955. 85: uint8(66),
  35956. 86: uint8(66),
  35957. 87: uint8(66),
  35958. 88: uint8(66),
  35959. 89: uint8(66),
  35960. 90: uint8(66),
  35961. 91: uint8(66),
  35962. 92: uint8(66),
  35963. 93: uint8(66),
  35964. 94: uint8(66),
  35965. 95: uint8(66),
  35966. 96: uint8(66),
  35967. 97: uint8(4),
  35968. 98: uint8(10),
  35969. 99: uint8(32),
  35970. 100: uint8(21),
  35971. 101: uint8(29),
  35972. 102: uint8(28),
  35973. 103: uint8(49),
  35974. 104: uint8(14),
  35975. 105: uint8(4),
  35976. 106: uint8(66),
  35977. 107: uint8(66),
  35978. 108: uint8(5),
  35979. 109: uint8(31),
  35980. 110: uint8(18),
  35981. 111: uint8(22),
  35982. 112: uint8(27),
  35983. 113: uint8(66),
  35984. 114: uint8(15),
  35985. 115: uint8(9),
  35986. 116: uint8(8),
  35987. 117: uint8(23),
  35988. 118: uint8(23),
  35989. 119: uint8(13),
  35990. 120: uint8(23),
  35991. 121: uint8(16),
  35992. 122: uint8(4),
  35993. 123: uint8(66),
  35994. 124: uint8(66),
  35995. 125: uint8(66),
  35996. 126: uint8(66),
  35997. 127: uint8(66),
  35998. 128: uint8(66),
  35999. 129: uint8(66),
  36000. 130: uint8(66),
  36001. 131: uint8(66),
  36002. 132: uint8(66),
  36003. 133: uint8(66),
  36004. 134: uint8(66),
  36005. 135: uint8(66),
  36006. 136: uint8(66),
  36007. 137: uint8(66),
  36008. 138: uint8(66),
  36009. 139: uint8(66),
  36010. 140: uint8(66),
  36011. 141: uint8(66),
  36012. 142: uint8(66),
  36013. 143: uint8(66),
  36014. 144: uint8(66),
  36015. 145: uint8(66),
  36016. 146: uint8(66),
  36017. 147: uint8(66),
  36018. 148: uint8(66),
  36019. 149: uint8(66),
  36020. 150: uint8(66),
  36021. 151: uint8(66),
  36022. 152: uint8(66),
  36023. 153: uint8(66),
  36024. 154: uint8(66),
  36025. 155: uint8(66),
  36026. 156: uint8(66),
  36027. 157: uint8(66),
  36028. 158: uint8(66),
  36029. 159: uint8(66),
  36030. 160: uint8(66),
  36031. 161: uint8(66),
  36032. 162: uint8(66),
  36033. 163: uint8(66),
  36034. 164: uint8(66),
  36035. 165: uint8(66),
  36036. 166: uint8(66),
  36037. 167: uint8(66),
  36038. 168: uint8(66),
  36039. 169: uint8(66),
  36040. 170: uint8(66),
  36041. 171: uint8(66),
  36042. 172: uint8(66),
  36043. 173: uint8(66),
  36044. 174: uint8(66),
  36045. 175: uint8(66),
  36046. 176: uint8(66),
  36047. 177: uint8(66),
  36048. 178: uint8(66),
  36049. 179: uint8(66),
  36050. 180: uint8(66),
  36051. 181: uint8(66),
  36052. 182: uint8(66),
  36053. 183: uint8(66),
  36054. 184: uint8(66),
  36055. 185: uint8(66),
  36056. 186: uint8(66),
  36057. 187: uint8(66),
  36058. 188: uint8(66),
  36059. 189: uint8(66),
  36060. 190: uint8(66),
  36061. 191: uint8(66),
  36062. 192: uint8(66),
  36063. 193: uint8(66),
  36064. 194: uint8(66),
  36065. 195: uint8(66),
  36066. 196: uint8(66),
  36067. 197: uint8(66),
  36068. 198: uint8(66),
  36069. 199: uint8(66),
  36070. 200: uint8(66),
  36071. 201: uint8(66),
  36072. 202: uint8(66),
  36073. 203: uint8(66),
  36074. 204: uint8(66),
  36075. 205: uint8(66),
  36076. 206: uint8(66),
  36077. 207: uint8(66),
  36078. 208: uint8(66),
  36079. 209: uint8(66),
  36080. 210: uint8(66),
  36081. 211: uint8(66),
  36082. 212: uint8(66),
  36083. 213: uint8(66),
  36084. 214: uint8(66),
  36085. 215: uint8(66),
  36086. 216: uint8(66),
  36087. 217: uint8(66),
  36088. 218: uint8(66),
  36089. 219: uint8(66),
  36090. 220: uint8(66),
  36091. 221: uint8(66),
  36092. 222: uint8(66),
  36093. 223: uint8(66),
  36094. 224: uint8(66),
  36095. 225: uint8(66),
  36096. 226: uint8(66),
  36097. 227: uint8(66),
  36098. 228: uint8(66),
  36099. 229: uint8(66),
  36100. 230: uint8(66),
  36101. 231: uint8(66),
  36102. 232: uint8(66),
  36103. 233: uint8(66),
  36104. 234: uint8(66),
  36105. 235: uint8(66),
  36106. 236: uint8(66),
  36107. 237: uint8(66),
  36108. 238: uint8(66),
  36109. 239: uint8(66),
  36110. 240: uint8(66),
  36111. 241: uint8(66),
  36112. 242: uint8(66),
  36113. 243: uint8(66),
  36114. 244: uint8(66),
  36115. 245: uint8(66),
  36116. 246: uint8(66),
  36117. 247: uint8(66),
  36118. 248: uint8(66),
  36119. 249: uint8(66),
  36120. 250: uint8(66),
  36121. 251: uint8(66),
  36122. 252: uint8(66),
  36123. 253: uint8(66),
  36124. 254: uint8(66),
  36125. 255: uint8(66),
  36126. }
  36127. type TFcObjectTypeNamePool_t = struct {
  36128. FFcObjectTypeNamePool_str7 [4]uint8
  36129. FFcObjectTypeNamePool_str8 [5]uint8
  36130. FFcObjectTypeNamePool_str9 [5]uint8
  36131. FFcObjectTypeNamePool_str13 [5]uint8
  36132. FFcObjectTypeNamePool_str14 [5]uint8
  36133. FFcObjectTypeNamePool_str15 [8]uint8
  36134. FFcObjectTypeNamePool_str16 [9]uint8
  36135. FFcObjectTypeNamePool_str17 [6]uint8
  36136. FFcObjectTypeNamePool_str18 [7]uint8
  36137. FFcObjectTypeNamePool_str19 [8]uint8
  36138. FFcObjectTypeNamePool_str20 [8]uint8
  36139. FFcObjectTypeNamePool_str21 [10]uint8
  36140. FFcObjectTypeNamePool_str22 [5]uint8
  36141. FFcObjectTypeNamePool_str23 [9]uint8
  36142. FFcObjectTypeNamePool_str24 [7]uint8
  36143. FFcObjectTypeNamePool_str25 [6]uint8
  36144. FFcObjectTypeNamePool_str26 [10]uint8
  36145. FFcObjectTypeNamePool_str27 [9]uint8
  36146. FFcObjectTypeNamePool_str28 [11]uint8
  36147. FFcObjectTypeNamePool_str29 [8]uint8
  36148. FFcObjectTypeNamePool_str30 [9]uint8
  36149. FFcObjectTypeNamePool_str31 [9]uint8
  36150. FFcObjectTypeNamePool_str32 [15]uint8
  36151. FFcObjectTypeNamePool_str33 [15]uint8
  36152. FFcObjectTypeNamePool_str34 [10]uint8
  36153. FFcObjectTypeNamePool_str35 [13]uint8
  36154. FFcObjectTypeNamePool_str36 [10]uint8
  36155. FFcObjectTypeNamePool_str37 [10]uint8
  36156. FFcObjectTypeNamePool_str38 [6]uint8
  36157. FFcObjectTypeNamePool_str39 [14]uint8
  36158. FFcObjectTypeNamePool_str40 [6]uint8
  36159. FFcObjectTypeNamePool_str41 [6]uint8
  36160. FFcObjectTypeNamePool_str42 [7]uint8
  36161. FFcObjectTypeNamePool_str43 [12]uint8
  36162. FFcObjectTypeNamePool_str44 [9]uint8
  36163. FFcObjectTypeNamePool_str45 [15]uint8
  36164. FFcObjectTypeNamePool_str46 [11]uint8
  36165. FFcObjectTypeNamePool_str47 [11]uint8
  36166. FFcObjectTypeNamePool_str48 [11]uint8
  36167. FFcObjectTypeNamePool_str49 [6]uint8
  36168. FFcObjectTypeNamePool_str50 [6]uint8
  36169. FFcObjectTypeNamePool_str51 [8]uint8
  36170. FFcObjectTypeNamePool_str52 [12]uint8
  36171. FFcObjectTypeNamePool_str53 [9]uint8
  36172. FFcObjectTypeNamePool_str54 [10]uint8
  36173. FFcObjectTypeNamePool_str55 [15]uint8
  36174. FFcObjectTypeNamePool_str56 [11]uint8
  36175. FFcObjectTypeNamePool_str57 [11]uint8
  36176. FFcObjectTypeNamePool_str58 [13]uint8
  36177. FFcObjectTypeNamePool_str59 [7]uint8
  36178. FFcObjectTypeNamePool_str60 [8]uint8
  36179. FFcObjectTypeNamePool_str65 [7]uint8
  36180. }
  36181. var _FcObjectTypeNamePool_contents = TFcObjectTypeNamePool_t{
  36182. FFcObjectTypeNamePool_str7: [4]uint8{'d', 'p', 'i'},
  36183. FFcObjectTypeNamePool_str8: [5]uint8{'s', 'i', 'z', 'e'},
  36184. FFcObjectTypeNamePool_str9: [5]uint8{'f', 'i', 'l', 'e'},
  36185. FFcObjectTypeNamePool_str13: [5]uint8{'h', 'a', 's', 'h'},
  36186. FFcObjectTypeNamePool_str14: [5]uint8{'r', 'g', 'b', 'a'},
  36187. FFcObjectTypeNamePool_str15: [8]uint8{'s', 'p', 'a', 'c', 'i', 'n', 'g'},
  36188. FFcObjectTypeNamePool_str16: [9]uint8{'s', 'c', 'a', 'l', 'a', 'b', 'l', 'e'},
  36189. FFcObjectTypeNamePool_str17: [6]uint8{'s', 'l', 'a', 'n', 't'},
  36190. FFcObjectTypeNamePool_str18: [7]uint8{'m', 'a', 't', 'r', 'i', 'x'},
  36191. FFcObjectTypeNamePool_str19: [8]uint8{'o', 'u', 't', 'l', 'i', 'n', 'e'},
  36192. FFcObjectTypeNamePool_str20: [8]uint8{'c', 'h', 'a', 'r', 's', 'e', 't'},
  36193. FFcObjectTypeNamePool_str21: [10]uint8{'a', 'n', 't', 'i', 'a', 'l', 'i', 'a', 's'},
  36194. FFcObjectTypeNamePool_str22: [5]uint8{'l', 'a', 'n', 'g'},
  36195. FFcObjectTypeNamePool_str23: [9]uint8{'e', 'm', 'b', 'o', 'l', 'd', 'e', 'n'},
  36196. FFcObjectTypeNamePool_str24: [7]uint8{'w', 'e', 'i', 'g', 'h', 't'},
  36197. FFcObjectTypeNamePool_str25: [6]uint8{'c', 'o', 'l', 'o', 'r'},
  36198. FFcObjectTypeNamePool_str26: [10]uint8{'c', 'h', 'a', 'r', 'w', 'i', 'd', 't', 'h'},
  36199. FFcObjectTypeNamePool_str27: [9]uint8{'v', 'a', 'r', 'i', 'a', 'b', 'l', 'e'},
  36200. FFcObjectTypeNamePool_str28: [11]uint8{'c', 'h', 'a', 'r', 'h', 'e', 'i', 'g', 'h', 't'},
  36201. FFcObjectTypeNamePool_str29: [8]uint8{'h', 'i', 'n', 't', 'i', 'n', 'g'},
  36202. FFcObjectTypeNamePool_str30: [9]uint8{'a', 'u', 't', 'o', 'h', 'i', 'n', 't'},
  36203. FFcObjectTypeNamePool_str31: [9]uint8{'f', 'u', 'l', 'l', 'n', 'a', 'm', 'e'},
  36204. FFcObjectTypeNamePool_str32: [15]uint8{'p', 'o', 's', 't', 's', 'c', 'r', 'i', 'p', 't', 'n', 'a', 'm', 'e'},
  36205. FFcObjectTypeNamePool_str33: [15]uint8{'v', 'e', 'r', 't', 'i', 'c', 'a', 'l', 'l', 'a', 'y', 'o', 'u', 't'},
  36206. FFcObjectTypeNamePool_str34: [10]uint8{'l', 'c', 'd', 'f', 'i', 'l', 't', 'e', 'r'},
  36207. FFcObjectTypeNamePool_str35: [13]uint8{'f', 'u', 'l', 'l', 'n', 'a', 'm', 'e', 'l', 'a', 'n', 'g'},
  36208. FFcObjectTypeNamePool_str36: [10]uint8{'h', 'i', 'n', 't', 's', 't', 'y', 'l', 'e'},
  36209. FFcObjectTypeNamePool_str37: [10]uint8{'p', 'i', 'x', 'e', 'l', 's', 'i', 'z', 'e'},
  36210. FFcObjectTypeNamePool_str38: [6]uint8{'s', 'c', 'a', 'l', 'e'},
  36211. FFcObjectTypeNamePool_str39: [14]uint8{'g', 'l', 'o', 'b', 'a', 'l', 'a', 'd', 'v', 'a', 'n', 'c', 'e'},
  36212. FFcObjectTypeNamePool_str40: [6]uint8{'w', 'i', 'd', 't', 'h'},
  36213. FFcObjectTypeNamePool_str41: [6]uint8{'o', 'r', 'd', 'e', 'r'},
  36214. FFcObjectTypeNamePool_str42: [7]uint8{'f', 'a', 'm', 'i', 'l', 'y'},
  36215. FFcObjectTypeNamePool_str43: [12]uint8{'f', 'o', 'n', 't', 'h', 'a', 's', 'h', 'i', 'n', 't'},
  36216. FFcObjectTypeNamePool_str44: [9]uint8{'n', 'a', 'm', 'e', 'l', 'a', 'n', 'g'},
  36217. FFcObjectTypeNamePool_str45: [15]uint8{'e', 'm', 'b', 'e', 'd', 'd', 'e', 'd', 'b', 'i', 't', 'm', 'a', 'p'},
  36218. FFcObjectTypeNamePool_str46: [11]uint8{'f', 'a', 'm', 'i', 'l', 'y', 'l', 'a', 'n', 'g'},
  36219. FFcObjectTypeNamePool_str47: [11]uint8{'c', 'a', 'p', 'a', 'b', 'i', 'l', 'i', 't', 'y'},
  36220. FFcObjectTypeNamePool_str48: [11]uint8{'r', 'a', 's', 't', 'e', 'r', 'i', 'z', 'e', 'r'},
  36221. FFcObjectTypeNamePool_str49: [6]uint8{'i', 'n', 'd', 'e', 'x'},
  36222. FFcObjectTypeNamePool_str50: [6]uint8{'s', 't', 'y', 'l', 'e'},
  36223. FFcObjectTypeNamePool_str51: [8]uint8{'f', 'o', 'u', 'n', 'd', 'r', 'y'},
  36224. FFcObjectTypeNamePool_str52: [12]uint8{'f', 'o', 'n', 't', 'v', 'e', 'r', 's', 'i', 'o', 'n'},
  36225. FFcObjectTypeNamePool_str53: [9]uint8{'m', 'i', 'n', 's', 'p', 'a', 'c', 'e'},
  36226. FFcObjectTypeNamePool_str54: [10]uint8{'s', 't', 'y', 'l', 'e', 'l', 'a', 'n', 'g'},
  36227. FFcObjectTypeNamePool_str55: [15]uint8{'f', 'o', 'n', 't', 'v', 'a', 'r', 'i', 'a', 't', 'i', 'o', 'n', 's'},
  36228. FFcObjectTypeNamePool_str56: [11]uint8{'f', 'o', 'n', 't', 'f', 'o', 'r', 'm', 'a', 't'},
  36229. FFcObjectTypeNamePool_str57: [11]uint8{'d', 'e', 'c', 'o', 'r', 'a', 't', 'i', 'v', 'e'},
  36230. FFcObjectTypeNamePool_str58: [13]uint8{'f', 'o', 'n', 't', 'f', 'e', 'a', 't', 'u', 'r', 'e', 's'},
  36231. FFcObjectTypeNamePool_str59: [7]uint8{'s', 'y', 'm', 'b', 'o', 'l'},
  36232. FFcObjectTypeNamePool_str60: [8]uint8{'p', 'r', 'g', 'n', 'a', 'm', 'e'},
  36233. FFcObjectTypeNamePool_str65: [7]uint8{'a', 's', 'p', 'e', 'c', 't'},
  36234. }
  36235. func _FcObjectTypeLookup(tls *libc.TLS, str uintptr, len1 Tsize_t) (r uintptr) {
  36236. var key uint32
  36237. var o int32
  36238. var s uintptr
  36239. _, _, _ = key, o, s
  36240. if len1 <= libc.Uint64FromInt32(14) && len1 >= libc.Uint64FromInt32(3) {
  36241. key = _FcObjectTypeHash(tls, str, len1)
  36242. if key <= libc.Uint32FromInt32(65) {
  36243. o = _wordlist[key].Fname
  36244. if o >= 0 {
  36245. s = uintptr(o) + uintptr(unsafe.Pointer(&_FcObjectTypeNamePool_contents))
  36246. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(str))) == libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(s))) && !(libc.Xstrcmp(tls, str+uintptr(1), s+uintptr(1)) != 0) {
  36247. return uintptr(unsafe.Pointer(&_wordlist)) + uintptr(key)*8
  36248. }
  36249. }
  36250. }
  36251. }
  36252. return uintptr(0)
  36253. }
  36254. var _wordlist = [66]TFcObjectTypeInfo{
  36255. 0: {
  36256. Fname: -int32(1),
  36257. },
  36258. 1: {
  36259. Fname: -int32(1),
  36260. },
  36261. 2: {
  36262. Fname: -int32(1),
  36263. },
  36264. 3: {
  36265. Fname: -int32(1),
  36266. },
  36267. 4: {
  36268. Fname: -int32(1),
  36269. },
  36270. 5: {
  36271. Fname: -int32(1),
  36272. },
  36273. 6: {
  36274. Fname: -int32(1),
  36275. },
  36276. 7: {
  36277. Fid: int32(_FC_DPI_OBJECT),
  36278. },
  36279. 8: {
  36280. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 4)),
  36281. Fid: int32(_FC_SIZE_OBJECT),
  36282. },
  36283. 9: {
  36284. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 9)),
  36285. Fid: int32(_FC_FILE_OBJECT),
  36286. },
  36287. 10: {
  36288. Fname: -int32(1),
  36289. },
  36290. 11: {
  36291. Fname: -int32(1),
  36292. },
  36293. 12: {
  36294. Fname: -int32(1),
  36295. },
  36296. 13: {
  36297. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 14)),
  36298. Fid: int32(_FC_HASH_OBJECT),
  36299. },
  36300. 14: {
  36301. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 19)),
  36302. Fid: int32(_FC_RGBA_OBJECT),
  36303. },
  36304. 15: {
  36305. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 24)),
  36306. Fid: int32(_FC_SPACING_OBJECT),
  36307. },
  36308. 16: {
  36309. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 32)),
  36310. Fid: int32(_FC_SCALABLE_OBJECT),
  36311. },
  36312. 17: {
  36313. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 41)),
  36314. Fid: int32(_FC_SLANT_OBJECT),
  36315. },
  36316. 18: {
  36317. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 47)),
  36318. Fid: int32(_FC_MATRIX_OBJECT),
  36319. },
  36320. 19: {
  36321. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 54)),
  36322. Fid: int32(_FC_OUTLINE_OBJECT),
  36323. },
  36324. 20: {
  36325. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 62)),
  36326. Fid: int32(_FC_CHARSET_OBJECT),
  36327. },
  36328. 21: {
  36329. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 70)),
  36330. Fid: int32(_FC_ANTIALIAS_OBJECT),
  36331. },
  36332. 22: {
  36333. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 80)),
  36334. Fid: int32(_FC_LANG_OBJECT),
  36335. },
  36336. 23: {
  36337. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 85)),
  36338. Fid: int32(_FC_EMBOLDEN_OBJECT),
  36339. },
  36340. 24: {
  36341. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 94)),
  36342. Fid: int32(_FC_WEIGHT_OBJECT),
  36343. },
  36344. 25: {
  36345. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 101)),
  36346. Fid: int32(_FC_COLOR_OBJECT),
  36347. },
  36348. 26: {
  36349. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 107)),
  36350. Fid: int32(_FC_CHARWIDTH_OBJECT),
  36351. },
  36352. 27: {
  36353. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 117)),
  36354. Fid: int32(_FC_VARIABLE_OBJECT),
  36355. },
  36356. 28: {
  36357. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 126)),
  36358. Fid: int32(_FC_CHAR_HEIGHT_OBJECT),
  36359. },
  36360. 29: {
  36361. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 137)),
  36362. Fid: int32(_FC_HINTING_OBJECT),
  36363. },
  36364. 30: {
  36365. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 145)),
  36366. Fid: int32(_FC_AUTOHINT_OBJECT),
  36367. },
  36368. 31: {
  36369. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 154)),
  36370. Fid: int32(_FC_FULLNAME_OBJECT),
  36371. },
  36372. 32: {
  36373. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 163)),
  36374. Fid: int32(_FC_POSTSCRIPT_NAME_OBJECT),
  36375. },
  36376. 33: {
  36377. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 178)),
  36378. Fid: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  36379. },
  36380. 34: {
  36381. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 193)),
  36382. Fid: int32(_FC_LCD_FILTER_OBJECT),
  36383. },
  36384. 35: {
  36385. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 203)),
  36386. Fid: int32(_FC_FULLNAMELANG_OBJECT),
  36387. },
  36388. 36: {
  36389. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 216)),
  36390. Fid: int32(_FC_HINT_STYLE_OBJECT),
  36391. },
  36392. 37: {
  36393. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 226)),
  36394. Fid: int32(_FC_PIXEL_SIZE_OBJECT),
  36395. },
  36396. 38: {
  36397. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 236)),
  36398. Fid: int32(_FC_SCALE_OBJECT),
  36399. },
  36400. 39: {
  36401. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 242)),
  36402. Fid: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  36403. },
  36404. 40: {
  36405. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 256)),
  36406. Fid: int32(_FC_WIDTH_OBJECT),
  36407. },
  36408. 41: {
  36409. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 262)),
  36410. Fid: int32(_FC_ORDER_OBJECT),
  36411. },
  36412. 42: {
  36413. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 268)),
  36414. Fid: int32(_FC_FAMILY_OBJECT),
  36415. },
  36416. 43: {
  36417. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 275)),
  36418. Fid: int32(_FC_FONT_HAS_HINT_OBJECT),
  36419. },
  36420. 44: {
  36421. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 287)),
  36422. Fid: int32(_FC_NAMELANG_OBJECT),
  36423. },
  36424. 45: {
  36425. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 296)),
  36426. Fid: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  36427. },
  36428. 46: {
  36429. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 311)),
  36430. Fid: int32(_FC_FAMILYLANG_OBJECT),
  36431. },
  36432. 47: {
  36433. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 322)),
  36434. Fid: int32(_FC_CAPABILITY_OBJECT),
  36435. },
  36436. 48: {
  36437. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 333)),
  36438. Fid: int32(_FC_RASTERIZER_OBJECT),
  36439. },
  36440. 49: {
  36441. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 344)),
  36442. Fid: int32(_FC_INDEX_OBJECT),
  36443. },
  36444. 50: {
  36445. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 350)),
  36446. Fid: int32(_FC_STYLE_OBJECT),
  36447. },
  36448. 51: {
  36449. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 356)),
  36450. Fid: int32(_FC_FOUNDRY_OBJECT),
  36451. },
  36452. 52: {
  36453. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 364)),
  36454. Fid: int32(_FC_FONTVERSION_OBJECT),
  36455. },
  36456. 53: {
  36457. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 376)),
  36458. Fid: int32(_FC_MINSPACE_OBJECT),
  36459. },
  36460. 54: {
  36461. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 385)),
  36462. Fid: int32(_FC_STYLELANG_OBJECT),
  36463. },
  36464. 55: {
  36465. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 395)),
  36466. Fid: int32(_FC_FONT_VARIATIONS_OBJECT),
  36467. },
  36468. 56: {
  36469. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 410)),
  36470. Fid: int32(_FC_FONTFORMAT_OBJECT),
  36471. },
  36472. 57: {
  36473. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 421)),
  36474. Fid: int32(_FC_DECORATIVE_OBJECT),
  36475. },
  36476. 58: {
  36477. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 432)),
  36478. Fid: int32(_FC_FONT_FEATURES_OBJECT),
  36479. },
  36480. 59: {
  36481. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 445)),
  36482. Fid: int32(_FC_SYMBOL_OBJECT),
  36483. },
  36484. 60: {
  36485. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 452)),
  36486. Fid: int32(_FC_PRGNAME_OBJECT),
  36487. },
  36488. 61: {
  36489. Fname: -int32(1),
  36490. },
  36491. 62: {
  36492. Fname: -int32(1),
  36493. },
  36494. 63: {
  36495. Fname: -int32(1),
  36496. },
  36497. 64: {
  36498. Fname: -int32(1),
  36499. },
  36500. 65: {
  36501. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 460)),
  36502. Fid: int32(_FC_ASPECT_OBJECT),
  36503. },
  36504. }
  36505. // C documentation
  36506. //
  36507. // /* The 1000 is to leave some room for future added internal objects, such
  36508. // * that caches from newer fontconfig can still be used with older fontconfig
  36509. // * without getting confused. */
  36510. var _next_id = int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1) + libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  36511. type TFcObjectOtherTypeInfo = struct {
  36512. Fnext uintptr
  36513. Fobject TFcObjectType
  36514. Fid TFcObject
  36515. }
  36516. func XFcObjectFini(tls *libc.TLS) {
  36517. var ot, ots uintptr
  36518. var v1 int32
  36519. _, _, _ = ot, ots, v1
  36520. goto retry
  36521. retry:
  36522. ;
  36523. ots = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  36524. if !(ots != 0) {
  36525. return
  36526. }
  36527. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) == ots {
  36528. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) = libc.UintptrFromInt32(0)
  36529. v1 = libc.Int32FromInt32(m_FcTrue)
  36530. } else {
  36531. v1 = m_FcFalse
  36532. }
  36533. if !(v1 != 0) {
  36534. goto retry
  36535. }
  36536. for ots != 0 {
  36537. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fnext
  36538. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fobject.Fobject != 0 {
  36539. libc.Xfree(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fobject.Fobject)
  36540. }
  36541. libc.Xfree(tls, ots)
  36542. ots = ot
  36543. }
  36544. }
  36545. func __FcObjectLookupOtherTypeByName(tls *libc.TLS, str uintptr, id uintptr) (r uintptr) {
  36546. var ot, ots uintptr
  36547. var v2 int32
  36548. _, _, _ = ot, ots, v2
  36549. goto retry
  36550. retry:
  36551. ;
  36552. ots = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  36553. ot = ots
  36554. for {
  36555. if !(ot != 0) {
  36556. break
  36557. }
  36558. if 0 == libc.Xstrcmp(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject, str) {
  36559. break
  36560. }
  36561. goto _1
  36562. _1:
  36563. ;
  36564. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  36565. }
  36566. if !(ot != 0) {
  36567. ot = libc.Xmalloc(tls, uint64(32))
  36568. if !(ot != 0) {
  36569. return libc.UintptrFromInt32(0)
  36570. }
  36571. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject = libc.Xstrdup(tls, str)
  36572. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Ftype1 = int32(_FcTypeUnknown)
  36573. _next_id += +libc.Int32FromInt32(1)
  36574. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid = _next_id - +libc.Int32FromInt32(1)
  36575. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid < int32(_FC_ONE_AFTER_MAX_BASE_OBJECT)-libc.Int32FromInt32(1)+libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX) {
  36576. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+6881, 0)
  36577. libc.Xabort(tls)
  36578. }
  36579. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext = ots
  36580. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) == ots {
  36581. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) = ot
  36582. v2 = libc.Int32FromInt32(m_FcTrue)
  36583. } else {
  36584. v2 = m_FcFalse
  36585. }
  36586. if !(v2 != 0) {
  36587. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject != 0 {
  36588. libc.Xfree(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject)
  36589. }
  36590. libc.Xfree(tls, ot)
  36591. goto retry
  36592. }
  36593. }
  36594. if id != 0 {
  36595. *(*TFcObject)(unsafe.Pointer(id)) = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid
  36596. }
  36597. return ot + 8
  36598. }
  36599. func XFcObjectLookupBuiltinIdByName(tls *libc.TLS, str uintptr) (r TFcObject) {
  36600. var o uintptr
  36601. _ = o
  36602. o = _FcObjectTypeLookup(tls, str, libc.Xstrlen(tls, str))
  36603. if o != 0 {
  36604. return (*TFcObjectTypeInfo)(unsafe.Pointer(o)).Fid
  36605. }
  36606. return 0
  36607. }
  36608. func XFcObjectLookupIdByName(tls *libc.TLS, str uintptr) (r TFcObject) {
  36609. bp := tls.Alloc(16)
  36610. defer tls.Free(16)
  36611. var o uintptr
  36612. var _ /* id at bp+0 */ TFcObject
  36613. _ = o
  36614. o = _FcObjectTypeLookup(tls, str, libc.Xstrlen(tls, str))
  36615. if o != 0 {
  36616. return (*TFcObjectTypeInfo)(unsafe.Pointer(o)).Fid
  36617. }
  36618. if __FcObjectLookupOtherTypeByName(tls, str, bp) != 0 {
  36619. return *(*TFcObject)(unsafe.Pointer(bp))
  36620. }
  36621. return 0
  36622. }
  36623. func XFcObjectLookupOtherNameById(tls *libc.TLS, id TFcObject) (r uintptr) {
  36624. var ot uintptr
  36625. _ = ot
  36626. ot = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  36627. for {
  36628. if !(ot != 0) {
  36629. break
  36630. }
  36631. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid == id {
  36632. return (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject
  36633. }
  36634. goto _1
  36635. _1:
  36636. ;
  36637. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  36638. }
  36639. return libc.UintptrFromInt32(0)
  36640. }
  36641. func XFcObjectLookupOtherTypeByName(tls *libc.TLS, str uintptr) (r uintptr) {
  36642. return __FcObjectLookupOtherTypeByName(tls, str, libc.UintptrFromInt32(0))
  36643. }
  36644. func XFcObjectLookupOtherTypeById(tls *libc.TLS, id TFcObject) (r uintptr) {
  36645. var ot uintptr
  36646. _ = ot
  36647. ot = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  36648. for {
  36649. if !(ot != 0) {
  36650. break
  36651. }
  36652. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid == id {
  36653. return ot + 8
  36654. }
  36655. goto _1
  36656. _1:
  36657. ;
  36658. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  36659. }
  36660. return libc.UintptrFromInt32(0)
  36661. }
  36662. /* Objects MT-safe for readonly access. */
  36663. func XIA__FcPatternCreate(tls *libc.TLS) (r uintptr) {
  36664. var p uintptr
  36665. _ = p
  36666. p = libc.Xmalloc(tls, uint64(24))
  36667. if !(p != 0) {
  36668. return uintptr(0)
  36669. }
  36670. libc.Xmemset(tls, p, 0, uint64(24))
  36671. (*TFcPattern)(unsafe.Pointer(p)).Fnum = 0
  36672. (*TFcPattern)(unsafe.Pointer(p)).Fsize = 0
  36673. (*TFcPattern)(unsafe.Pointer(p)).Felts_offset = int64(libc.UintptrFromInt32(0)) - int64(p)
  36674. (*TFcRef)(unsafe.Pointer(p + 16)).Fcount = int32(1)
  36675. return p
  36676. }
  36677. var XFcPatternCreate = XIA__FcPatternCreate
  36678. func XIA__FcValueDestroy(tls *libc.TLS, _v TFcValue) {
  36679. bp := tls.Alloc(16)
  36680. defer tls.Free(16)
  36681. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  36682. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36683. case int32(_FcTypeString):
  36684. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  36685. case int32(_FcTypeMatrix):
  36686. XFcMatrixFree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  36687. case int32(_FcTypeCharSet):
  36688. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  36689. case int32(_FcTypeLangSet):
  36690. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  36691. case int32(_FcTypeRange):
  36692. XIA__FcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  36693. default:
  36694. break
  36695. }
  36696. }
  36697. var XFcValueDestroy = XIA__FcValueDestroy
  36698. func XFcValueCanonicalize(tls *libc.TLS, v uintptr) (r TFcValue) {
  36699. bp := tls.Alloc(16)
  36700. defer tls.Free(16)
  36701. var v1, v2, v3, v4 uintptr
  36702. var _ /* new at bp+0 */ TFcValue
  36703. _, _, _, _ = v1, v2, v3, v4
  36704. switch (*TFcValue)(unsafe.Pointer(v)).Ftype1 {
  36705. case int32(_FcTypeString):
  36706. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  36707. v1 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  36708. } else {
  36709. v1 = *(*uintptr)(unsafe.Pointer(v + 8))
  36710. }
  36711. *(*uintptr)(unsafe.Pointer(bp + 8)) = v1
  36712. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  36713. case int32(_FcTypeCharSet):
  36714. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  36715. v2 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  36716. } else {
  36717. v2 = *(*uintptr)(unsafe.Pointer(v + 8))
  36718. }
  36719. *(*uintptr)(unsafe.Pointer(bp + 8)) = v2
  36720. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  36721. case int32(_FcTypeLangSet):
  36722. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  36723. v3 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  36724. } else {
  36725. v3 = *(*uintptr)(unsafe.Pointer(v + 8))
  36726. }
  36727. *(*uintptr)(unsafe.Pointer(bp + 8)) = v3
  36728. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  36729. case int32(_FcTypeRange):
  36730. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  36731. v4 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  36732. } else {
  36733. v4 = *(*uintptr)(unsafe.Pointer(v + 8))
  36734. }
  36735. *(*uintptr)(unsafe.Pointer(bp + 8)) = v4
  36736. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  36737. default:
  36738. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(v))
  36739. break
  36740. }
  36741. return *(*TFcValue)(unsafe.Pointer(bp))
  36742. }
  36743. func XIA__FcValueSave(tls *libc.TLS, _v TFcValue) (r TFcValue) {
  36744. bp := tls.Alloc(16)
  36745. defer tls.Free(16)
  36746. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  36747. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36748. case int32(_FcTypeString):
  36749. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  36750. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  36751. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  36752. }
  36753. case int32(_FcTypeMatrix):
  36754. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcMatrixCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  36755. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  36756. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  36757. }
  36758. case int32(_FcTypeCharSet):
  36759. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  36760. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  36761. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  36762. }
  36763. case int32(_FcTypeLangSet):
  36764. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  36765. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  36766. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  36767. }
  36768. case int32(_FcTypeRange):
  36769. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcRangeCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  36770. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  36771. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  36772. }
  36773. default:
  36774. break
  36775. }
  36776. return *(*TFcValue)(unsafe.Pointer(bp))
  36777. }
  36778. var XFcValueSave = XIA__FcValueSave
  36779. func XFcValueListCreate(tls *libc.TLS) (r TFcValueListPtr) {
  36780. return libc.Xcalloc(tls, uint64(1), uint64(32))
  36781. }
  36782. func XFcValueListDestroy(tls *libc.TLS, l TFcValueListPtr) {
  36783. var next TFcValueListPtr
  36784. var v2 uintptr
  36785. _, _ = next, v2
  36786. for {
  36787. if !(l != 0) {
  36788. break
  36789. }
  36790. XIA__FcValueDestroy(tls, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  36791. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  36792. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36793. } else {
  36794. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  36795. }
  36796. next = v2
  36797. libc.Xfree(tls, l)
  36798. goto _1
  36799. _1:
  36800. ;
  36801. l = next
  36802. }
  36803. }
  36804. func XFcValueListPrepend(tls *libc.TLS, vallist TFcValueListPtr, value TFcValue, binding TFcValueBinding) (r TFcValueListPtr) {
  36805. var new1 TFcValueListPtr
  36806. _ = new1
  36807. if value.Ftype1 == int32(_FcTypeVoid) {
  36808. return vallist
  36809. }
  36810. new1 = XFcValueListCreate(tls)
  36811. if !(new1 != 0) {
  36812. return vallist
  36813. }
  36814. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XIA__FcValueSave(tls, value)
  36815. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  36816. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = vallist
  36817. return new1
  36818. }
  36819. func XFcValueListAppend(tls *libc.TLS, vallist TFcValueListPtr, value TFcValue, binding TFcValueBinding) (r TFcValueListPtr) {
  36820. var last, new1 TFcValueListPtr
  36821. var v2, v3 uintptr
  36822. _, _, _, _ = last, new1, v2, v3
  36823. if value.Ftype1 == int32(_FcTypeVoid) {
  36824. return vallist
  36825. }
  36826. new1 = XFcValueListCreate(tls)
  36827. if !(new1 != 0) {
  36828. return vallist
  36829. }
  36830. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XIA__FcValueSave(tls, value)
  36831. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  36832. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = libc.UintptrFromInt32(0)
  36833. if vallist != 0 {
  36834. last = vallist
  36835. for {
  36836. if int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(1) != 0 {
  36837. v2 = uintptr(int64(last) + int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36838. } else {
  36839. v2 = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  36840. }
  36841. if !(v2 != 0) {
  36842. break
  36843. }
  36844. goto _1
  36845. _1:
  36846. ;
  36847. if int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(1) != 0 {
  36848. v3 = uintptr(int64(last) + int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36849. } else {
  36850. v3 = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  36851. }
  36852. last = v3
  36853. }
  36854. (*T_FcValueList)(unsafe.Pointer(last)).Fnext = new1
  36855. } else {
  36856. vallist = new1
  36857. }
  36858. return vallist
  36859. }
  36860. func XFcValueListDuplicate(tls *libc.TLS, orig TFcValueListPtr) (r TFcValueListPtr) {
  36861. var l, new1, t, v2 TFcValueListPtr
  36862. var v TFcValue
  36863. var v3, v4 uintptr
  36864. _, _, _, _, _, _, _ = l, new1, t, v, v2, v3, v4
  36865. new1 = libc.UintptrFromInt32(0)
  36866. t = libc.UintptrFromInt32(0)
  36867. l = orig
  36868. for {
  36869. if !(l != libc.UintptrFromInt32(0)) {
  36870. break
  36871. }
  36872. if !(new1 != 0) {
  36873. v2 = XFcValueListCreate(tls)
  36874. new1 = v2
  36875. t = v2
  36876. } else {
  36877. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = XFcValueListCreate(tls)
  36878. if int64((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int64(1) != 0 {
  36879. v3 = uintptr(int64(t) + int64((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36880. } else {
  36881. v3 = (*T_FcValueList)(unsafe.Pointer(t)).Fnext
  36882. }
  36883. t = v3
  36884. }
  36885. v = XFcValueCanonicalize(tls, l+8)
  36886. (*T_FcValueList)(unsafe.Pointer(t)).Fvalue = XIA__FcValueSave(tls, v)
  36887. (*T_FcValueList)(unsafe.Pointer(t)).Fbinding = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  36888. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = libc.UintptrFromInt32(0)
  36889. goto _1
  36890. _1:
  36891. ;
  36892. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  36893. v4 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36894. } else {
  36895. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  36896. }
  36897. l = v4
  36898. }
  36899. return new1
  36900. }
  36901. func XIA__FcValueEqual(tls *libc.TLS, _va TFcValue, _vb TFcValue) (r TFcBool) {
  36902. bp := tls.Alloc(32)
  36903. defer tls.Free(32)
  36904. *(*TFcValue)(unsafe.Pointer(bp)) = _va
  36905. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _vb
  36906. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  36907. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeInteger) {
  36908. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  36909. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  36910. }
  36911. if (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 == int32(_FcTypeInteger) {
  36912. (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 = int32(_FcTypeDouble)
  36913. *(*float64)(unsafe.Pointer(bp + 16 + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  36914. }
  36915. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  36916. return m_FcFalse
  36917. }
  36918. }
  36919. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36920. case int32(_FcTypeUnknown):
  36921. return m_FcFalse /* don't know how to compare this object */
  36922. case int32(_FcTypeVoid):
  36923. return int32(m_FcTrue)
  36924. case int32(_FcTypeInteger):
  36925. return libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 8)) == *(*int32)(unsafe.Pointer(bp + 16 + 8)))
  36926. case int32(_FcTypeDouble):
  36927. return libc.BoolInt32(*(*float64)(unsafe.Pointer(bp + 8)) == *(*float64)(unsafe.Pointer(bp + 16 + 8)))
  36928. case int32(_FcTypeString):
  36929. return libc.BoolInt32(XIA__FcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) == 0)
  36930. case int32(_FcTypeBool):
  36931. return libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) == *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)))
  36932. case int32(_FcTypeMatrix):
  36933. return XIA__FcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  36934. case int32(_FcTypeCharSet):
  36935. return XIA__FcCharSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  36936. case int32(_FcTypeFTFace):
  36937. return libc.BoolInt32(*(*uintptr)(unsafe.Pointer(bp + 8)) == *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  36938. case int32(_FcTypeLangSet):
  36939. return XIA__FcLangSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  36940. case int32(_FcTypeRange):
  36941. return XFcRangeIsInRange(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  36942. }
  36943. return m_FcFalse
  36944. }
  36945. var XFcValueEqual = XIA__FcValueEqual
  36946. func _FcDoubleHash(tls *libc.TLS, d float64) (r TFcChar32) {
  36947. if d < libc.Float64FromInt32(0) {
  36948. d = -d
  36949. }
  36950. if d > libc.Float64FromUint32(0xffffffff) {
  36951. d = libc.Float64FromUint32(0xffffffff)
  36952. }
  36953. return uint32(d)
  36954. }
  36955. func XFcStringHash(tls *libc.TLS, s uintptr) (r TFcChar32) {
  36956. var c, v1 TFcChar8
  36957. var h TFcChar32
  36958. var v2 uintptr
  36959. _, _, _, _ = c, h, v1, v2
  36960. h = uint32(0)
  36961. if s != 0 {
  36962. for {
  36963. v2 = s
  36964. s++
  36965. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  36966. c = v1
  36967. if !(v1 != 0) {
  36968. break
  36969. }
  36970. h = h<<libc.Int32FromInt32(1) | h>>libc.Int32FromInt32(31) ^ uint32(c)
  36971. }
  36972. }
  36973. return h
  36974. }
  36975. func _FcValueHash(tls *libc.TLS, v uintptr) (r TFcChar32) {
  36976. var v1, v2, v3, v4 uintptr
  36977. _, _, _, _ = v1, v2, v3, v4
  36978. switch (*TFcValue)(unsafe.Pointer(v)).Ftype1 {
  36979. case int32(_FcTypeUnknown):
  36980. fallthrough
  36981. case int32(_FcTypeVoid):
  36982. return uint32(0)
  36983. case int32(_FcTypeInteger):
  36984. return libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))
  36985. case int32(_FcTypeDouble):
  36986. return _FcDoubleHash(tls, *(*float64)(unsafe.Pointer(v + 8)))
  36987. case int32(_FcTypeString):
  36988. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  36989. v1 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  36990. } else {
  36991. v1 = *(*uintptr)(unsafe.Pointer(v + 8))
  36992. }
  36993. return XFcStringHash(tls, v1)
  36994. case int32(_FcTypeBool):
  36995. return libc.Uint32FromInt32(*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))
  36996. case int32(_FcTypeMatrix):
  36997. return _FcDoubleHash(tls, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Fxx) ^ _FcDoubleHash(tls, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Fxy) ^ _FcDoubleHash(tls, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Fyx) ^ _FcDoubleHash(tls, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Fyy)
  36998. case int32(_FcTypeCharSet):
  36999. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  37000. v2 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  37001. } else {
  37002. v2 = *(*uintptr)(unsafe.Pointer(v + 8))
  37003. }
  37004. return libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(v2)).Fnum)
  37005. case int32(_FcTypeFTFace):
  37006. return XFcStringHash(tls, (*TFT_FaceRec_)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Ffamily_name) ^ XFcStringHash(tls, (*TFT_FaceRec_)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Fstyle_name)
  37007. case int32(_FcTypeLangSet):
  37008. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  37009. v3 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  37010. } else {
  37011. v3 = *(*uintptr)(unsafe.Pointer(v + 8))
  37012. }
  37013. return XIA__FcLangSetHash(tls, v3)
  37014. case int32(_FcTypeRange):
  37015. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  37016. v4 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  37017. } else {
  37018. v4 = *(*uintptr)(unsafe.Pointer(v + 8))
  37019. }
  37020. return XFcRangeHash(tls, v4)
  37021. }
  37022. return uint32(0)
  37023. }
  37024. func _FcValueListEqual(tls *libc.TLS, la TFcValueListPtr, lb TFcValueListPtr) (r TFcBool) {
  37025. var v1, v2 uintptr
  37026. _, _ = v1, v2
  37027. if la == lb {
  37028. return int32(m_FcTrue)
  37029. }
  37030. for la != 0 && lb != 0 {
  37031. if !(XIA__FcValueEqual(tls, (*T_FcValueList)(unsafe.Pointer(la)).Fvalue, (*T_FcValueList)(unsafe.Pointer(lb)).Fvalue) != 0) {
  37032. return m_FcFalse
  37033. }
  37034. if int64((*T_FcValueList)(unsafe.Pointer(la)).Fnext)&int64(1) != 0 {
  37035. v1 = uintptr(int64(la) + int64((*T_FcValueList)(unsafe.Pointer(la)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37036. } else {
  37037. v1 = (*T_FcValueList)(unsafe.Pointer(la)).Fnext
  37038. }
  37039. la = v1
  37040. if int64((*T_FcValueList)(unsafe.Pointer(lb)).Fnext)&int64(1) != 0 {
  37041. v2 = uintptr(int64(lb) + int64((*T_FcValueList)(unsafe.Pointer(lb)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37042. } else {
  37043. v2 = (*T_FcValueList)(unsafe.Pointer(lb)).Fnext
  37044. }
  37045. lb = v2
  37046. }
  37047. if la != 0 || lb != 0 {
  37048. return m_FcFalse
  37049. }
  37050. return int32(m_FcTrue)
  37051. }
  37052. func _FcValueListHash(tls *libc.TLS, l TFcValueListPtr) (r TFcChar32) {
  37053. var hash TFcChar32
  37054. var v2 uintptr
  37055. _, _ = hash, v2
  37056. hash = uint32(0)
  37057. for {
  37058. if !(l != 0) {
  37059. break
  37060. }
  37061. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ _FcValueHash(tls, l+8)
  37062. goto _1
  37063. _1:
  37064. ;
  37065. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  37066. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37067. } else {
  37068. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  37069. }
  37070. l = v2
  37071. }
  37072. return hash
  37073. }
  37074. func _FcPatternGetCacheObject(tls *libc.TLS, p uintptr) (r uintptr) {
  37075. var v1 uintptr
  37076. _ = v1
  37077. /* We use a value to find the cache, instead of the FcPattern object
  37078. * because the pattern itself may be a cache allocation if we rewrote the path,
  37079. * so the p may not be in the cached region. */
  37080. if int64((*TFcPatternElt)(unsafe.Pointer(uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues)&int64(1) != 0 {
  37081. v1 = uintptr(Tintptr_t(uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset)) + int64((*TFcPatternElt)(unsafe.Pointer(uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37082. } else {
  37083. v1 = (*TFcPatternElt)(unsafe.Pointer(uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues
  37084. }
  37085. return v1
  37086. }
  37087. func XFcPatternCacheRewriteFile(tls *libc.TLS, p uintptr, cache uintptr, relocated_font_file uintptr) (r uintptr) {
  37088. var data, elt, elts, new_elts, new_p, new_path, new_value_list, v3 uintptr
  37089. var i, j, new_path_len, v2, v4 Tsize_t
  37090. _, _, _, _, _, _, _, _, _, _, _, _, _ = data, elt, elts, i, j, new_elts, new_p, new_path, new_path_len, new_value_list, v2, v3, v4
  37091. elts = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  37092. new_path_len = libc.Xstrlen(tls, relocated_font_file)
  37093. /* Allocate space for the patter, the PatternElt headers and
  37094. * the FC_FILE FcValueList and path that will be freed with the
  37095. * cache */
  37096. data = XFcCacheAllocate(tls, cache, uint64(24)+libc.Uint64FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum)*uint64(16)+uint64(32)+new_path_len+uint64(1))
  37097. new_p = data
  37098. data += uintptr(24)
  37099. new_elts = data
  37100. data += uintptr(libc.Uint64FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum) * uint64(16))
  37101. new_value_list = data
  37102. data += uintptr(32)
  37103. new_path = data
  37104. *(*TFcPattern)(unsafe.Pointer(new_p)) = *(*TFcPattern)(unsafe.Pointer(p))
  37105. (*TFcPattern)(unsafe.Pointer(new_p)).Felts_offset = int64(new_elts) - int64(new_p)
  37106. /* Copy all but the FILE values from the cache */
  37107. i = uint64(0)
  37108. j = libc.Uint64FromInt32(0)
  37109. for {
  37110. if !(i < libc.Uint64FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum)) {
  37111. break
  37112. }
  37113. elt = elts + uintptr(i)*16
  37114. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(j)*16))).Fobject = (*TFcPatternElt)(unsafe.Pointer(elt)).Fobject
  37115. if (*TFcPatternElt)(unsafe.Pointer(elt)).Fobject != int32(_FC_FILE_OBJECT) {
  37116. v2 = j
  37117. j++
  37118. if int64((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int64(1) != 0 {
  37119. v3 = uintptr(int64(elt) + int64((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37120. } else {
  37121. v3 = (*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues
  37122. }
  37123. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(v2)*16))).Fvalues = v3
  37124. } else {
  37125. v4 = j
  37126. j++
  37127. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(v4)*16))).Fvalues = new_value_list
  37128. }
  37129. goto _1
  37130. _1:
  37131. ;
  37132. i++
  37133. }
  37134. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fnext = libc.UintptrFromInt32(0)
  37135. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fvalue.Ftype1 = int32(_FcTypeString)
  37136. *(*uintptr)(unsafe.Pointer(new_value_list + 8 + 8)) = new_path
  37137. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fbinding = int32(_FcValueBindingWeak)
  37138. /* Add rewritten path at the end */
  37139. libc.Xstrcpy(tls, new_path, relocated_font_file)
  37140. return new_p
  37141. }
  37142. func XIA__FcPatternDestroy(tls *libc.TLS, p uintptr) {
  37143. var elts, v7, p5 uintptr
  37144. var i, v3 int32
  37145. var v1 TFcBool
  37146. _, _, _, _, _, _ = elts, i, v1, v3, v7, p5
  37147. if !(p != 0) {
  37148. return
  37149. }
  37150. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  37151. goto _2
  37152. _2:
  37153. if v1 != 0 {
  37154. XFcCacheObjectDereference(tls, _FcPatternGetCacheObject(tls, p))
  37155. return
  37156. }
  37157. p5 = p + 16
  37158. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  37159. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  37160. goto _4
  37161. _4:
  37162. if v3 != int32(1) {
  37163. return
  37164. }
  37165. elts = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  37166. i = 0
  37167. for {
  37168. if !(i < XIA__FcPatternObjectCount(tls, p)) {
  37169. break
  37170. }
  37171. if int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  37172. v7 = uintptr(Tintptr_t(elts+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37173. } else {
  37174. v7 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16)).Fvalues
  37175. }
  37176. XFcValueListDestroy(tls, v7)
  37177. goto _6
  37178. _6:
  37179. ;
  37180. i++
  37181. }
  37182. libc.Xfree(tls, elts)
  37183. libc.Xfree(tls, p)
  37184. }
  37185. var XFcPatternDestroy = XIA__FcPatternDestroy
  37186. func XIA__FcPatternObjectCount(tls *libc.TLS, pat uintptr) (r int32) {
  37187. if pat != 0 {
  37188. return (*TFcPattern)(unsafe.Pointer(pat)).Fnum
  37189. }
  37190. return 0
  37191. }
  37192. var XFcPatternObjectCount = XIA__FcPatternObjectCount
  37193. func _FcPatternObjectPosition(tls *libc.TLS, p uintptr, object TFcObject) (r int32) {
  37194. var c, high, low, mid int32
  37195. var elts uintptr
  37196. _, _, _, _, _ = c, elts, high, low, mid
  37197. elts = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  37198. low = 0
  37199. high = XIA__FcPatternObjectCount(tls, p) - int32(1)
  37200. c = int32(1)
  37201. mid = 0
  37202. for low <= high {
  37203. mid = (low + high) >> int32(1)
  37204. c = (*(*TFcPatternElt)(unsafe.Pointer(elts + uintptr(mid)*16))).Fobject - object
  37205. if c == 0 {
  37206. return mid
  37207. }
  37208. if c < 0 {
  37209. low = mid + int32(1)
  37210. } else {
  37211. high = mid - int32(1)
  37212. }
  37213. }
  37214. if c < 0 {
  37215. mid++
  37216. }
  37217. return -(mid + int32(1))
  37218. }
  37219. func XFcPatternPosition(tls *libc.TLS, p uintptr, object uintptr) (r int32) {
  37220. return _FcPatternObjectPosition(tls, p, XFcObjectFromName(tls, object))
  37221. }
  37222. func XFcPatternObjectFindElt(tls *libc.TLS, p uintptr, object TFcObject) (r uintptr) {
  37223. var i int32
  37224. _ = i
  37225. i = _FcPatternObjectPosition(tls, p, object)
  37226. if i < 0 {
  37227. return uintptr(0)
  37228. }
  37229. return uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*16
  37230. }
  37231. func XFcPatternObjectInsertElt(tls *libc.TLS, p uintptr, object TFcObject) (r uintptr) {
  37232. var e, e0 uintptr
  37233. var i, s int32
  37234. _, _, _, _ = e, e0, i, s
  37235. i = _FcPatternObjectPosition(tls, p, object)
  37236. if i < 0 {
  37237. i = -i - int32(1)
  37238. /* reallocate array */
  37239. if XIA__FcPatternObjectCount(tls, p)+int32(1) >= (*TFcPattern)(unsafe.Pointer(p)).Fsize {
  37240. s = (*TFcPattern)(unsafe.Pointer(p)).Fsize + int32(16)
  37241. if (*TFcPattern)(unsafe.Pointer(p)).Fsize != 0 {
  37242. e0 = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  37243. e = libc.Xrealloc(tls, e0, libc.Uint64FromInt32(s)*uint64(16))
  37244. if !(e != 0) { /* maybe it was mmapped */
  37245. e = libc.Xmalloc(tls, libc.Uint64FromInt32(s)*uint64(16))
  37246. if e != 0 {
  37247. libc.Xmemcpy(tls, e, e0, libc.Uint64FromInt32(XIA__FcPatternObjectCount(tls, p))*uint64(16))
  37248. }
  37249. }
  37250. } else {
  37251. e = libc.Xmalloc(tls, libc.Uint64FromInt32(s)*uint64(16))
  37252. }
  37253. if !(e != 0) {
  37254. return uintptr(m_FcFalse)
  37255. }
  37256. (*TFcPattern)(unsafe.Pointer(p)).Felts_offset = int64(e) - int64(p)
  37257. for (*TFcPattern)(unsafe.Pointer(p)).Fsize < s {
  37258. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr((*TFcPattern)(unsafe.Pointer(p)).Fsize)*16))).Fobject = 0
  37259. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr((*TFcPattern)(unsafe.Pointer(p)).Fsize)*16))).Fvalues = libc.UintptrFromInt32(0)
  37260. (*TFcPattern)(unsafe.Pointer(p)).Fsize++
  37261. }
  37262. }
  37263. e = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  37264. /* move elts up */
  37265. libc.Xmemmove(tls, e+uintptr(i)*16+uintptr(1)*16, e+uintptr(i)*16, uint64(16)*libc.Uint64FromInt32(XIA__FcPatternObjectCount(tls, p)-i))
  37266. /* bump count */
  37267. (*TFcPattern)(unsafe.Pointer(p)).Fnum++
  37268. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr(i)*16))).Fobject = object
  37269. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr(i)*16))).Fvalues = libc.UintptrFromInt32(0)
  37270. }
  37271. return uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*16
  37272. }
  37273. func XIA__FcPatternEqual(tls *libc.TLS, pa uintptr, pb uintptr) (r TFcBool) {
  37274. bp := tls.Alloc(32)
  37275. defer tls.Free(32)
  37276. var ra, rb TFcBool
  37277. var _ /* ia at bp+0 */ TFcPatternIter
  37278. var _ /* ib at bp+16 */ TFcPatternIter
  37279. _, _ = ra, rb
  37280. if pa == pb {
  37281. return int32(m_FcTrue)
  37282. }
  37283. if XIA__FcPatternObjectCount(tls, pa) != XIA__FcPatternObjectCount(tls, pb) {
  37284. return m_FcFalse
  37285. }
  37286. XIA__FcPatternIterStart(tls, pa, bp)
  37287. XIA__FcPatternIterStart(tls, pb, bp+16)
  37288. for cond := true; cond; cond = int32(1) != 0 {
  37289. if !(XIA__FcPatternIterEqual(tls, pa, bp, pb, bp+16) != 0) {
  37290. return m_FcFalse
  37291. }
  37292. ra = XIA__FcPatternIterNext(tls, pa, bp)
  37293. rb = XIA__FcPatternIterNext(tls, pb, bp+16)
  37294. if !(ra != 0) && !(rb != 0) {
  37295. break
  37296. }
  37297. }
  37298. return int32(m_FcTrue)
  37299. }
  37300. var XFcPatternEqual = XIA__FcPatternEqual
  37301. func XIA__FcPatternHash(tls *libc.TLS, p uintptr) (r TFcChar32) {
  37302. var h TFcChar32
  37303. var i int32
  37304. var pe, v2 uintptr
  37305. _, _, _, _ = h, i, pe, v2
  37306. h = uint32(0)
  37307. pe = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  37308. i = 0
  37309. for {
  37310. if !(i < XIA__FcPatternObjectCount(tls, p)) {
  37311. break
  37312. }
  37313. if int64((*TFcPatternElt)(unsafe.Pointer(pe+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  37314. v2 = uintptr(Tintptr_t(pe+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(pe+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37315. } else {
  37316. v2 = (*TFcPatternElt)(unsafe.Pointer(pe + uintptr(i)*16)).Fvalues
  37317. }
  37318. h = h<<libc.Int32FromInt32(1) | h>>libc.Int32FromInt32(31) ^ libc.Uint32FromInt32((*(*TFcPatternElt)(unsafe.Pointer(pe + uintptr(i)*16))).Fobject) ^ _FcValueListHash(tls, v2)
  37319. goto _1
  37320. _1:
  37321. ;
  37322. i++
  37323. }
  37324. return h
  37325. }
  37326. var XFcPatternHash = XIA__FcPatternHash
  37327. func XIA__FcPatternEqualSubset(tls *libc.TLS, pai uintptr, pbi uintptr, os uintptr) (r TFcBool) {
  37328. var ea, eb, v2, v3 uintptr
  37329. var i int32
  37330. var object TFcObject
  37331. _, _, _, _, _, _ = ea, eb, i, object, v2, v3
  37332. i = 0
  37333. for {
  37334. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  37335. break
  37336. }
  37337. object = XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  37338. ea = XFcPatternObjectFindElt(tls, pai, object)
  37339. eb = XFcPatternObjectFindElt(tls, pbi, object)
  37340. if ea != 0 {
  37341. if !(eb != 0) {
  37342. return m_FcFalse
  37343. }
  37344. if int64((*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues)&int64(1) != 0 {
  37345. v2 = uintptr(int64(ea) + int64((*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37346. } else {
  37347. v2 = (*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues
  37348. }
  37349. if int64((*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues)&int64(1) != 0 {
  37350. v3 = uintptr(int64(eb) + int64((*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37351. } else {
  37352. v3 = (*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues
  37353. }
  37354. if !(_FcValueListEqual(tls, v2, v3) != 0) {
  37355. return m_FcFalse
  37356. }
  37357. } else {
  37358. if eb != 0 {
  37359. return m_FcFalse
  37360. }
  37361. }
  37362. goto _1
  37363. _1:
  37364. ;
  37365. i++
  37366. }
  37367. return int32(m_FcTrue)
  37368. }
  37369. var XFcPatternEqualSubset = XIA__FcPatternEqualSubset
  37370. func XFcPatternObjectListAdd(tls *libc.TLS, p uintptr, object TFcObject, _list TFcValueListPtr, append1 TFcBool) (r TFcBool) {
  37371. bp := tls.Alloc(32)
  37372. defer tls.Free(32)
  37373. *(*TFcValueListPtr)(unsafe.Pointer(bp)) = _list
  37374. var e, prev, v4 uintptr
  37375. var l TFcValueListPtr
  37376. var v1 TFcBool
  37377. _, _, _, _, _ = e, l, prev, v1, v4
  37378. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  37379. goto _2
  37380. _2:
  37381. if v1 != 0 {
  37382. goto bail0
  37383. }
  37384. /*
  37385. * Make sure the stored type is valid for built-in objects
  37386. */
  37387. l = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  37388. for {
  37389. if !(l != libc.UintptrFromInt32(0)) {
  37390. break
  37391. }
  37392. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1) != 0) {
  37393. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1212, libc.VaList(bp+16, XFcObjectName(tls, object)))
  37394. XFcValuePrintFile(tls, libc.Xstderr, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  37395. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1274, 0)
  37396. goto bail0
  37397. }
  37398. goto _3
  37399. _3:
  37400. ;
  37401. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  37402. v4 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37403. } else {
  37404. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  37405. }
  37406. l = v4
  37407. }
  37408. e = XFcPatternObjectInsertElt(tls, p, object)
  37409. if !(e != 0) {
  37410. goto bail0
  37411. }
  37412. if append1 != 0 {
  37413. prev = e + 8
  37414. for {
  37415. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  37416. break
  37417. }
  37418. goto _5
  37419. _5:
  37420. ;
  37421. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  37422. }
  37423. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  37424. } else {
  37425. prev = bp
  37426. for {
  37427. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  37428. break
  37429. }
  37430. goto _6
  37431. _6:
  37432. ;
  37433. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  37434. }
  37435. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  37436. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  37437. }
  37438. return int32(m_FcTrue)
  37439. goto bail0
  37440. bail0:
  37441. ;
  37442. return m_FcFalse
  37443. return r
  37444. }
  37445. func XFcPatternObjectAddWithBinding(tls *libc.TLS, p uintptr, object TFcObject, value TFcValue, binding TFcValueBinding, append1 TFcBool) (r TFcBool) {
  37446. bp := tls.Alloc(16)
  37447. defer tls.Free(16)
  37448. var e, prev uintptr
  37449. var new1 TFcValueListPtr
  37450. var v1 TFcBool
  37451. _, _, _, _ = e, new1, prev, v1
  37452. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  37453. goto _2
  37454. _2:
  37455. if v1 != 0 {
  37456. goto bail0
  37457. }
  37458. new1 = XFcValueListCreate(tls)
  37459. if !(new1 != 0) {
  37460. goto bail0
  37461. }
  37462. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XIA__FcValueSave(tls, value)
  37463. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  37464. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = libc.UintptrFromInt32(0)
  37465. if (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue.Ftype1 == int32(_FcTypeVoid) {
  37466. goto bail1
  37467. }
  37468. /*
  37469. * Make sure the stored type is valid for built-in objects
  37470. */
  37471. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue.Ftype1) != 0) {
  37472. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1212, libc.VaList(bp+8, XFcObjectName(tls, object)))
  37473. XFcValuePrintFile(tls, libc.Xstderr, (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue)
  37474. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1274, 0)
  37475. goto bail1
  37476. }
  37477. e = XFcPatternObjectInsertElt(tls, p, object)
  37478. if !(e != 0) {
  37479. goto bail1
  37480. }
  37481. if append1 != 0 {
  37482. prev = e + 8
  37483. for {
  37484. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  37485. break
  37486. }
  37487. goto _3
  37488. _3:
  37489. ;
  37490. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  37491. }
  37492. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = new1
  37493. } else {
  37494. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  37495. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = new1
  37496. }
  37497. return int32(m_FcTrue)
  37498. goto bail1
  37499. bail1:
  37500. ;
  37501. XFcValueListDestroy(tls, new1)
  37502. goto bail0
  37503. bail0:
  37504. ;
  37505. return m_FcFalse
  37506. return r
  37507. }
  37508. func XFcPatternObjectAdd(tls *libc.TLS, p uintptr, object TFcObject, value TFcValue, append1 TFcBool) (r TFcBool) {
  37509. return XFcPatternObjectAddWithBinding(tls, p, object, value, int32(_FcValueBindingStrong), append1)
  37510. }
  37511. func XIA__FcPatternAdd(tls *libc.TLS, p uintptr, object uintptr, value TFcValue, append1 TFcBool) (r TFcBool) {
  37512. return XFcPatternObjectAddWithBinding(tls, p, XFcObjectFromName(tls, object), value, int32(_FcValueBindingStrong), append1)
  37513. }
  37514. var XFcPatternAdd = XIA__FcPatternAdd
  37515. func XIA__FcPatternAddWeak(tls *libc.TLS, p uintptr, object uintptr, value TFcValue, append1 TFcBool) (r TFcBool) {
  37516. return XFcPatternObjectAddWithBinding(tls, p, XFcObjectFromName(tls, object), value, int32(_FcValueBindingWeak), append1)
  37517. }
  37518. var XFcPatternAddWeak = XIA__FcPatternAddWeak
  37519. func XFcPatternObjectDel(tls *libc.TLS, p uintptr, object TFcObject) (r TFcBool) {
  37520. var e uintptr
  37521. _ = e
  37522. e = XFcPatternObjectFindElt(tls, p, object)
  37523. if !(e != 0) {
  37524. return m_FcFalse
  37525. }
  37526. /* destroy value */
  37527. XFcValueListDestroy(tls, (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)
  37528. /* shuffle existing ones down */
  37529. libc.Xmemmove(tls, e, e+uintptr(1)*16, libc.Uint64FromInt64((int64(uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset)+uintptr(XIA__FcPatternObjectCount(tls, p))*16)-int64(e+libc.UintptrFromInt32(1)*16))/16)*uint64(16))
  37530. (*TFcPattern)(unsafe.Pointer(p)).Fnum--
  37531. e = uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(XIA__FcPatternObjectCount(tls, p))*16
  37532. (*TFcPatternElt)(unsafe.Pointer(e)).Fobject = 0
  37533. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = libc.UintptrFromInt32(0)
  37534. return int32(m_FcTrue)
  37535. }
  37536. func XIA__FcPatternDel(tls *libc.TLS, p uintptr, object uintptr) (r TFcBool) {
  37537. return XFcPatternObjectDel(tls, p, XFcObjectFromName(tls, object))
  37538. }
  37539. var XFcPatternDel = XIA__FcPatternDel
  37540. func XIA__FcPatternRemove(tls *libc.TLS, p uintptr, object uintptr, id int32) (r TFcBool) {
  37541. var e, prev uintptr
  37542. var l, v2 TFcValueListPtr
  37543. _, _, _, _ = e, l, prev, v2
  37544. e = XFcPatternObjectFindElt(tls, p, XFcObjectFromName(tls, object))
  37545. if !(e != 0) {
  37546. return m_FcFalse
  37547. }
  37548. prev = e + 8
  37549. for {
  37550. v2 = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  37551. l = v2
  37552. if !(v2 != 0) {
  37553. break
  37554. }
  37555. if !(id != 0) {
  37556. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  37557. (*T_FcValueList)(unsafe.Pointer(l)).Fnext = libc.UintptrFromInt32(0)
  37558. XFcValueListDestroy(tls, l)
  37559. if !((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != 0) {
  37560. XIA__FcPatternDel(tls, p, object)
  37561. }
  37562. return int32(m_FcTrue)
  37563. }
  37564. id--
  37565. goto _1
  37566. _1:
  37567. ;
  37568. prev = l
  37569. }
  37570. return m_FcFalse
  37571. }
  37572. var XFcPatternRemove = XIA__FcPatternRemove
  37573. func XFcPatternObjectAddInteger(tls *libc.TLS, p uintptr, object TFcObject, i int32) (r TFcBool) {
  37574. bp := tls.Alloc(16)
  37575. defer tls.Free(16)
  37576. var _ /* v at bp+0 */ TFcValue
  37577. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  37578. *(*int32)(unsafe.Pointer(bp + 8)) = i
  37579. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37580. }
  37581. func XIA__FcPatternAddInteger(tls *libc.TLS, p uintptr, object uintptr, i int32) (r TFcBool) {
  37582. return XFcPatternObjectAddInteger(tls, p, XFcObjectFromName(tls, object), i)
  37583. }
  37584. var XFcPatternAddInteger = XIA__FcPatternAddInteger
  37585. func XFcPatternObjectAddDouble(tls *libc.TLS, p uintptr, object TFcObject, d float64) (r TFcBool) {
  37586. bp := tls.Alloc(16)
  37587. defer tls.Free(16)
  37588. var _ /* v at bp+0 */ TFcValue
  37589. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  37590. *(*float64)(unsafe.Pointer(bp + 8)) = d
  37591. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37592. }
  37593. func XIA__FcPatternAddDouble(tls *libc.TLS, p uintptr, object uintptr, d float64) (r TFcBool) {
  37594. return XFcPatternObjectAddDouble(tls, p, XFcObjectFromName(tls, object), d)
  37595. }
  37596. var XFcPatternAddDouble = XIA__FcPatternAddDouble
  37597. func XFcPatternObjectAddString(tls *libc.TLS, p uintptr, object TFcObject, s uintptr) (r TFcBool) {
  37598. bp := tls.Alloc(16)
  37599. defer tls.Free(16)
  37600. var _ /* v at bp+0 */ TFcValue
  37601. if !(s != 0) {
  37602. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  37603. *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
  37604. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37605. }
  37606. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  37607. *(*uintptr)(unsafe.Pointer(bp + 8)) = s
  37608. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37609. }
  37610. func XIA__FcPatternAddString(tls *libc.TLS, p uintptr, object uintptr, s uintptr) (r TFcBool) {
  37611. return XFcPatternObjectAddString(tls, p, XFcObjectFromName(tls, object), s)
  37612. }
  37613. var XFcPatternAddString = XIA__FcPatternAddString
  37614. func XIA__FcPatternAddMatrix(tls *libc.TLS, p uintptr, object uintptr, s uintptr) (r TFcBool) {
  37615. bp := tls.Alloc(16)
  37616. defer tls.Free(16)
  37617. var _ /* v at bp+0 */ TFcValue
  37618. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  37619. *(*uintptr)(unsafe.Pointer(bp + 8)) = s
  37620. return XIA__FcPatternAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37621. }
  37622. var XFcPatternAddMatrix = XIA__FcPatternAddMatrix
  37623. func XFcPatternObjectAddBool(tls *libc.TLS, p uintptr, object TFcObject, b TFcBool) (r TFcBool) {
  37624. bp := tls.Alloc(16)
  37625. defer tls.Free(16)
  37626. var _ /* v at bp+0 */ TFcValue
  37627. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  37628. *(*TFcBool)(unsafe.Pointer(bp + 8)) = b
  37629. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37630. }
  37631. func XIA__FcPatternAddBool(tls *libc.TLS, p uintptr, object uintptr, b TFcBool) (r TFcBool) {
  37632. return XFcPatternObjectAddBool(tls, p, XFcObjectFromName(tls, object), b)
  37633. }
  37634. var XFcPatternAddBool = XIA__FcPatternAddBool
  37635. func XFcPatternObjectAddCharSet(tls *libc.TLS, p uintptr, object TFcObject, c uintptr) (r TFcBool) {
  37636. bp := tls.Alloc(16)
  37637. defer tls.Free(16)
  37638. var _ /* v at bp+0 */ TFcValue
  37639. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  37640. *(*uintptr)(unsafe.Pointer(bp + 8)) = c
  37641. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37642. }
  37643. func XIA__FcPatternAddCharSet(tls *libc.TLS, p uintptr, object uintptr, c uintptr) (r TFcBool) {
  37644. return XFcPatternObjectAddCharSet(tls, p, XFcObjectFromName(tls, object), c)
  37645. }
  37646. var XFcPatternAddCharSet = XIA__FcPatternAddCharSet
  37647. func XIA__FcPatternAddFTFace(tls *libc.TLS, p uintptr, object uintptr, f TFT_Face) (r TFcBool) {
  37648. bp := tls.Alloc(16)
  37649. defer tls.Free(16)
  37650. var _ /* v at bp+0 */ TFcValue
  37651. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeFTFace)
  37652. *(*uintptr)(unsafe.Pointer(bp + 8)) = f
  37653. return XIA__FcPatternAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37654. }
  37655. var XFcPatternAddFTFace = XIA__FcPatternAddFTFace
  37656. func XFcPatternObjectAddLangSet(tls *libc.TLS, p uintptr, object TFcObject, ls uintptr) (r TFcBool) {
  37657. bp := tls.Alloc(16)
  37658. defer tls.Free(16)
  37659. var _ /* v at bp+0 */ TFcValue
  37660. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  37661. *(*uintptr)(unsafe.Pointer(bp + 8)) = ls
  37662. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37663. }
  37664. func XIA__FcPatternAddLangSet(tls *libc.TLS, p uintptr, object uintptr, ls uintptr) (r TFcBool) {
  37665. return XFcPatternObjectAddLangSet(tls, p, XFcObjectFromName(tls, object), ls)
  37666. }
  37667. var XFcPatternAddLangSet = XIA__FcPatternAddLangSet
  37668. func XFcPatternObjectAddRange(tls *libc.TLS, p uintptr, object TFcObject, r uintptr) (r1 TFcBool) {
  37669. bp := tls.Alloc(16)
  37670. defer tls.Free(16)
  37671. var _ /* v at bp+0 */ TFcValue
  37672. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  37673. *(*uintptr)(unsafe.Pointer(bp + 8)) = r
  37674. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  37675. }
  37676. func XIA__FcPatternAddRange(tls *libc.TLS, p uintptr, object uintptr, r uintptr) (r1 TFcBool) {
  37677. return XFcPatternObjectAddRange(tls, p, XFcObjectFromName(tls, object), r)
  37678. }
  37679. var XFcPatternAddRange = XIA__FcPatternAddRange
  37680. func XFcPatternObjectGetWithBinding(tls *libc.TLS, p uintptr, object TFcObject, id int32, v uintptr, b uintptr) (r TFcResult) {
  37681. var e, v2, v3 uintptr
  37682. var l TFcValueListPtr
  37683. _, _, _, _ = e, l, v2, v3
  37684. if !(p != 0) {
  37685. return int32(_FcResultNoMatch)
  37686. }
  37687. e = XFcPatternObjectFindElt(tls, p, object)
  37688. if !(e != 0) {
  37689. return int32(_FcResultNoMatch)
  37690. }
  37691. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  37692. v2 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37693. } else {
  37694. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  37695. }
  37696. l = v2
  37697. for {
  37698. if !(l != 0) {
  37699. break
  37700. }
  37701. if !(id != 0) {
  37702. *(*TFcValue)(unsafe.Pointer(v)) = XFcValueCanonicalize(tls, l+8)
  37703. if b != 0 {
  37704. *(*TFcValueBinding)(unsafe.Pointer(b)) = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  37705. }
  37706. return int32(_FcResultMatch)
  37707. }
  37708. id--
  37709. goto _1
  37710. _1:
  37711. ;
  37712. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  37713. v3 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37714. } else {
  37715. v3 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  37716. }
  37717. l = v3
  37718. }
  37719. return int32(_FcResultNoId)
  37720. }
  37721. func XFcPatternObjectGet(tls *libc.TLS, p uintptr, object TFcObject, id int32, v uintptr) (r TFcResult) {
  37722. return XFcPatternObjectGetWithBinding(tls, p, object, id, v, libc.UintptrFromInt32(0))
  37723. }
  37724. func XIA__FcPatternGetWithBinding(tls *libc.TLS, p uintptr, object uintptr, id int32, v uintptr, b uintptr) (r TFcResult) {
  37725. return XFcPatternObjectGetWithBinding(tls, p, XFcObjectFromName(tls, object), id, v, b)
  37726. }
  37727. var XFcPatternGetWithBinding = XIA__FcPatternGetWithBinding
  37728. func XIA__FcPatternGet(tls *libc.TLS, p uintptr, object uintptr, id int32, v uintptr) (r TFcResult) {
  37729. return XFcPatternObjectGetWithBinding(tls, p, XFcObjectFromName(tls, object), id, v, libc.UintptrFromInt32(0))
  37730. }
  37731. var XFcPatternGet = XIA__FcPatternGet
  37732. func XFcPatternObjectGetInteger(tls *libc.TLS, p uintptr, object TFcObject, id int32, i uintptr) (r1 TFcResult) {
  37733. bp := tls.Alloc(16)
  37734. defer tls.Free(16)
  37735. var r TFcResult
  37736. var _ /* v at bp+0 */ TFcValue
  37737. _ = r
  37738. r = XFcPatternObjectGet(tls, p, object, id, bp)
  37739. if r != int32(_FcResultMatch) {
  37740. return r
  37741. }
  37742. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  37743. case int32(_FcTypeDouble):
  37744. *(*int32)(unsafe.Pointer(i)) = int32(*(*float64)(unsafe.Pointer(bp + 8)))
  37745. case int32(_FcTypeInteger):
  37746. *(*int32)(unsafe.Pointer(i)) = *(*int32)(unsafe.Pointer(bp + 8))
  37747. default:
  37748. return int32(_FcResultTypeMismatch)
  37749. }
  37750. return int32(_FcResultMatch)
  37751. }
  37752. func XIA__FcPatternGetInteger(tls *libc.TLS, p uintptr, object uintptr, id int32, i uintptr) (r TFcResult) {
  37753. return XFcPatternObjectGetInteger(tls, p, XFcObjectFromName(tls, object), id, i)
  37754. }
  37755. var XFcPatternGetInteger = XIA__FcPatternGetInteger
  37756. func XFcPatternObjectGetDouble(tls *libc.TLS, p uintptr, object TFcObject, id int32, d uintptr) (r1 TFcResult) {
  37757. bp := tls.Alloc(16)
  37758. defer tls.Free(16)
  37759. var r TFcResult
  37760. var _ /* v at bp+0 */ TFcValue
  37761. _ = r
  37762. r = XFcPatternObjectGet(tls, p, object, id, bp)
  37763. if r != int32(_FcResultMatch) {
  37764. return r
  37765. }
  37766. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  37767. case int32(_FcTypeDouble):
  37768. *(*float64)(unsafe.Pointer(d)) = *(*float64)(unsafe.Pointer(bp + 8))
  37769. case int32(_FcTypeInteger):
  37770. *(*float64)(unsafe.Pointer(d)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  37771. default:
  37772. return int32(_FcResultTypeMismatch)
  37773. }
  37774. return int32(_FcResultMatch)
  37775. }
  37776. func XIA__FcPatternGetDouble(tls *libc.TLS, p uintptr, object uintptr, id int32, d uintptr) (r TFcResult) {
  37777. return XFcPatternObjectGetDouble(tls, p, XFcObjectFromName(tls, object), id, d)
  37778. }
  37779. var XFcPatternGetDouble = XIA__FcPatternGetDouble
  37780. func XFcPatternObjectGetString(tls *libc.TLS, p uintptr, object TFcObject, id int32, s uintptr) (r1 TFcResult) {
  37781. bp := tls.Alloc(16)
  37782. defer tls.Free(16)
  37783. var r TFcResult
  37784. var _ /* v at bp+0 */ TFcValue
  37785. _ = r
  37786. r = XFcPatternObjectGet(tls, p, object, id, bp)
  37787. if r != int32(_FcResultMatch) {
  37788. return r
  37789. }
  37790. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeString) {
  37791. return int32(_FcResultTypeMismatch)
  37792. }
  37793. *(*uintptr)(unsafe.Pointer(s)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  37794. return int32(_FcResultMatch)
  37795. }
  37796. func XIA__FcPatternGetString(tls *libc.TLS, p uintptr, object uintptr, id int32, s uintptr) (r TFcResult) {
  37797. return XFcPatternObjectGetString(tls, p, XFcObjectFromName(tls, object), id, s)
  37798. }
  37799. var XFcPatternGetString = XIA__FcPatternGetString
  37800. func XIA__FcPatternGetMatrix(tls *libc.TLS, p uintptr, object uintptr, id int32, m uintptr) (r1 TFcResult) {
  37801. bp := tls.Alloc(16)
  37802. defer tls.Free(16)
  37803. var r TFcResult
  37804. var _ /* v at bp+0 */ TFcValue
  37805. _ = r
  37806. r = XIA__FcPatternGet(tls, p, object, id, bp)
  37807. if r != int32(_FcResultMatch) {
  37808. return r
  37809. }
  37810. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeMatrix) {
  37811. return int32(_FcResultTypeMismatch)
  37812. }
  37813. *(*uintptr)(unsafe.Pointer(m)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  37814. return int32(_FcResultMatch)
  37815. }
  37816. var XFcPatternGetMatrix = XIA__FcPatternGetMatrix
  37817. func XFcPatternObjectGetBool(tls *libc.TLS, p uintptr, object TFcObject, id int32, b uintptr) (r1 TFcResult) {
  37818. bp := tls.Alloc(16)
  37819. defer tls.Free(16)
  37820. var r TFcResult
  37821. var _ /* v at bp+0 */ TFcValue
  37822. _ = r
  37823. r = XFcPatternObjectGet(tls, p, object, id, bp)
  37824. if r != int32(_FcResultMatch) {
  37825. return r
  37826. }
  37827. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeBool) {
  37828. return int32(_FcResultTypeMismatch)
  37829. }
  37830. *(*TFcBool)(unsafe.Pointer(b)) = *(*TFcBool)(unsafe.Pointer(bp + 8))
  37831. return int32(_FcResultMatch)
  37832. }
  37833. func XIA__FcPatternGetBool(tls *libc.TLS, p uintptr, object uintptr, id int32, b uintptr) (r TFcResult) {
  37834. return XFcPatternObjectGetBool(tls, p, XFcObjectFromName(tls, object), id, b)
  37835. }
  37836. var XFcPatternGetBool = XIA__FcPatternGetBool
  37837. func XIA__FcPatternGetCharSet(tls *libc.TLS, p uintptr, object uintptr, id int32, c uintptr) (r1 TFcResult) {
  37838. bp := tls.Alloc(16)
  37839. defer tls.Free(16)
  37840. var r TFcResult
  37841. var _ /* v at bp+0 */ TFcValue
  37842. _ = r
  37843. r = XIA__FcPatternGet(tls, p, object, id, bp)
  37844. if r != int32(_FcResultMatch) {
  37845. return r
  37846. }
  37847. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeCharSet) {
  37848. return int32(_FcResultTypeMismatch)
  37849. }
  37850. *(*uintptr)(unsafe.Pointer(c)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  37851. return int32(_FcResultMatch)
  37852. }
  37853. var XFcPatternGetCharSet = XIA__FcPatternGetCharSet
  37854. func XIA__FcPatternGetFTFace(tls *libc.TLS, p uintptr, object uintptr, id int32, f uintptr) (r1 TFcResult) {
  37855. bp := tls.Alloc(16)
  37856. defer tls.Free(16)
  37857. var r TFcResult
  37858. var _ /* v at bp+0 */ TFcValue
  37859. _ = r
  37860. r = XIA__FcPatternGet(tls, p, object, id, bp)
  37861. if r != int32(_FcResultMatch) {
  37862. return r
  37863. }
  37864. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeFTFace) {
  37865. return int32(_FcResultTypeMismatch)
  37866. }
  37867. *(*TFT_Face)(unsafe.Pointer(f)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  37868. return int32(_FcResultMatch)
  37869. }
  37870. var XFcPatternGetFTFace = XIA__FcPatternGetFTFace
  37871. func XIA__FcPatternGetLangSet(tls *libc.TLS, p uintptr, object uintptr, id int32, ls uintptr) (r1 TFcResult) {
  37872. bp := tls.Alloc(16)
  37873. defer tls.Free(16)
  37874. var r TFcResult
  37875. var _ /* v at bp+0 */ TFcValue
  37876. _ = r
  37877. r = XIA__FcPatternGet(tls, p, object, id, bp)
  37878. if r != int32(_FcResultMatch) {
  37879. return r
  37880. }
  37881. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeLangSet) {
  37882. return int32(_FcResultTypeMismatch)
  37883. }
  37884. *(*uintptr)(unsafe.Pointer(ls)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  37885. return int32(_FcResultMatch)
  37886. }
  37887. var XFcPatternGetLangSet = XIA__FcPatternGetLangSet
  37888. func XFcPatternObjectGetRange(tls *libc.TLS, p uintptr, object TFcObject, id int32, r uintptr) (r1 TFcResult) {
  37889. bp := tls.Alloc(16)
  37890. defer tls.Free(16)
  37891. var res TFcResult
  37892. var _ /* v at bp+0 */ TFcValue
  37893. _ = res
  37894. res = XFcPatternObjectGet(tls, p, object, id, bp)
  37895. if res != int32(_FcResultMatch) {
  37896. return res
  37897. }
  37898. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  37899. case int32(_FcTypeRange):
  37900. *(*uintptr)(unsafe.Pointer(r)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  37901. default:
  37902. return int32(_FcResultTypeMismatch)
  37903. }
  37904. return int32(_FcResultMatch)
  37905. }
  37906. func XIA__FcPatternGetRange(tls *libc.TLS, p uintptr, object uintptr, id int32, r uintptr) (r1 TFcResult) {
  37907. return XFcPatternObjectGetRange(tls, p, XFcObjectFromName(tls, object), id, r)
  37908. }
  37909. var XFcPatternGetRange = XIA__FcPatternGetRange
  37910. func XIA__FcPatternDuplicate(tls *libc.TLS, orig uintptr) (r uintptr) {
  37911. bp := tls.Alloc(16)
  37912. defer tls.Free(16)
  37913. var l TFcValueListPtr
  37914. var new1, v2 uintptr
  37915. var _ /* iter at bp+0 */ TFcPatternIter
  37916. _, _, _ = l, new1, v2
  37917. if !(orig != 0) {
  37918. return libc.UintptrFromInt32(0)
  37919. }
  37920. new1 = XIA__FcPatternCreate(tls)
  37921. if !(new1 != 0) {
  37922. goto bail0
  37923. }
  37924. XIA__FcPatternIterStart(tls, orig, bp)
  37925. for cond := true; cond; cond = XIA__FcPatternIterNext(tls, orig, bp) != 0 {
  37926. l = XFcPatternIterGetValues(tls, orig, bp)
  37927. for {
  37928. if !(l != 0) {
  37929. break
  37930. }
  37931. if !(XFcPatternObjectAddWithBinding(tls, new1, XFcPatternIterGetObjectId(tls, orig, bp), XFcValueCanonicalize(tls, l+8), (*T_FcValueList)(unsafe.Pointer(l)).Fbinding, int32(m_FcTrue)) != 0) {
  37932. goto bail1
  37933. }
  37934. goto _1
  37935. _1:
  37936. ;
  37937. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  37938. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37939. } else {
  37940. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  37941. }
  37942. l = v2
  37943. }
  37944. }
  37945. return new1
  37946. goto bail1
  37947. bail1:
  37948. ;
  37949. XIA__FcPatternDestroy(tls, new1)
  37950. goto bail0
  37951. bail0:
  37952. ;
  37953. return uintptr(0)
  37954. return r
  37955. }
  37956. var XFcPatternDuplicate = XIA__FcPatternDuplicate
  37957. func XIA__FcPatternReference(tls *libc.TLS, p uintptr) {
  37958. var v1 TFcBool
  37959. var p4 uintptr
  37960. _, _ = v1, p4
  37961. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  37962. goto _2
  37963. _2:
  37964. if !(v1 != 0) {
  37965. p4 = p + 16
  37966. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  37967. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  37968. goto _3
  37969. _3:
  37970. } else {
  37971. XFcCacheObjectReference(tls, _FcPatternGetCacheObject(tls, p))
  37972. }
  37973. }
  37974. var XFcPatternReference = XIA__FcPatternReference
  37975. func XIA__FcPatternVaBuild(tls *libc.TLS, p uintptr, va Tva_list) (r uintptr) {
  37976. bp := tls.Alloc(16)
  37977. defer tls.Free(16)
  37978. var __o__, __p__, ret uintptr
  37979. var _ /* __v__ at bp+0 */ TFcValue
  37980. _, _, _ = __o__, __p__, ret
  37981. __p__ = p
  37982. if !(__p__ != 0) {
  37983. __p__ = XIA__FcPatternCreate(tls)
  37984. if !(__p__ != 0) {
  37985. goto _FcPatternVapBuild_bail0
  37986. }
  37987. }
  37988. for {
  37989. __o__ = libc.VaUintptr(&va)
  37990. if !(__o__ != 0) {
  37991. break
  37992. }
  37993. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = libc.VaInt32(&va)
  37994. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  37995. case int32(_FcTypeUnknown):
  37996. fallthrough
  37997. case int32(_FcTypeVoid):
  37998. goto _FcPatternVapBuild_bail1
  37999. case int32(_FcTypeInteger):
  38000. *(*int32)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  38001. case int32(_FcTypeDouble):
  38002. *(*float64)(unsafe.Pointer(bp + 8)) = libc.VaFloat64(&va)
  38003. case int32(_FcTypeString):
  38004. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38005. case int32(_FcTypeBool):
  38006. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  38007. case int32(_FcTypeMatrix):
  38008. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38009. case int32(_FcTypeCharSet):
  38010. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38011. case int32(_FcTypeFTFace):
  38012. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38013. case int32(_FcTypeLangSet):
  38014. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38015. case int32(_FcTypeRange):
  38016. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38017. break
  38018. }
  38019. if !(XIA__FcPatternAdd(tls, __p__, __o__, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue)) != 0) {
  38020. goto _FcPatternVapBuild_bail1
  38021. }
  38022. goto _1
  38023. _1:
  38024. }
  38025. ret = __p__
  38026. goto _FcPatternVapBuild_return
  38027. goto _FcPatternVapBuild_bail1
  38028. _FcPatternVapBuild_bail1:
  38029. ;
  38030. if !(p != 0) {
  38031. XIA__FcPatternDestroy(tls, __p__)
  38032. }
  38033. goto _FcPatternVapBuild_bail0
  38034. _FcPatternVapBuild_bail0:
  38035. ;
  38036. ret = libc.UintptrFromInt32(0)
  38037. goto _FcPatternVapBuild_return
  38038. _FcPatternVapBuild_return:
  38039. ;
  38040. return ret
  38041. }
  38042. var XFcPatternVaBuild = XIA__FcPatternVaBuild
  38043. func XIA__FcPatternBuild(tls *libc.TLS, p uintptr, va1 uintptr) (r uintptr) {
  38044. bp := tls.Alloc(16)
  38045. defer tls.Free(16)
  38046. var __o__, __p__ uintptr
  38047. var va Tva_list
  38048. var _ /* __v__ at bp+0 */ TFcValue
  38049. _, _, _ = __o__, __p__, va
  38050. va = va1
  38051. __p__ = p
  38052. if !(__p__ != 0) {
  38053. __p__ = XIA__FcPatternCreate(tls)
  38054. if !(__p__ != 0) {
  38055. goto _FcPatternVapBuild_bail0
  38056. }
  38057. }
  38058. for {
  38059. __o__ = libc.VaUintptr(&va)
  38060. if !(__o__ != 0) {
  38061. break
  38062. }
  38063. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = libc.VaInt32(&va)
  38064. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  38065. case int32(_FcTypeUnknown):
  38066. fallthrough
  38067. case int32(_FcTypeVoid):
  38068. goto _FcPatternVapBuild_bail1
  38069. case int32(_FcTypeInteger):
  38070. *(*int32)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  38071. case int32(_FcTypeDouble):
  38072. *(*float64)(unsafe.Pointer(bp + 8)) = libc.VaFloat64(&va)
  38073. case int32(_FcTypeString):
  38074. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38075. case int32(_FcTypeBool):
  38076. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  38077. case int32(_FcTypeMatrix):
  38078. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38079. case int32(_FcTypeCharSet):
  38080. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38081. case int32(_FcTypeFTFace):
  38082. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38083. case int32(_FcTypeLangSet):
  38084. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38085. case int32(_FcTypeRange):
  38086. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  38087. break
  38088. }
  38089. if !(XIA__FcPatternAdd(tls, __p__, __o__, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue)) != 0) {
  38090. goto _FcPatternVapBuild_bail1
  38091. }
  38092. goto _1
  38093. _1:
  38094. }
  38095. p = __p__
  38096. goto _FcPatternVapBuild_return
  38097. goto _FcPatternVapBuild_bail1
  38098. _FcPatternVapBuild_bail1:
  38099. ;
  38100. if !(p != 0) {
  38101. XIA__FcPatternDestroy(tls, __p__)
  38102. }
  38103. goto _FcPatternVapBuild_bail0
  38104. _FcPatternVapBuild_bail0:
  38105. ;
  38106. p = libc.UintptrFromInt32(0)
  38107. goto _FcPatternVapBuild_return
  38108. _FcPatternVapBuild_return:
  38109. ;
  38110. _ = va
  38111. return p
  38112. }
  38113. var XFcPatternBuild = XIA__FcPatternBuild
  38114. // C documentation
  38115. //
  38116. // /*
  38117. // * Add all of the elements in 's' to 'p'
  38118. // */
  38119. func XFcPatternAppend(tls *libc.TLS, p uintptr, s uintptr) (r TFcBool) {
  38120. bp := tls.Alloc(16)
  38121. defer tls.Free(16)
  38122. var v TFcValueListPtr
  38123. var v2 uintptr
  38124. var _ /* iter at bp+0 */ TFcPatternIter
  38125. _, _ = v, v2
  38126. XIA__FcPatternIterStart(tls, s, bp)
  38127. for cond := true; cond; cond = XIA__FcPatternIterNext(tls, s, bp) != 0 {
  38128. v = XFcPatternIterGetValues(tls, s, bp)
  38129. for {
  38130. if !(v != 0) {
  38131. break
  38132. }
  38133. if !(XFcPatternObjectAddWithBinding(tls, p, XFcPatternIterGetObjectId(tls, s, bp), XFcValueCanonicalize(tls, v+8), (*T_FcValueList)(unsafe.Pointer(v)).Fbinding, int32(m_FcTrue)) != 0) {
  38134. return m_FcFalse
  38135. }
  38136. goto _1
  38137. _1:
  38138. ;
  38139. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  38140. v2 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  38141. } else {
  38142. v2 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  38143. }
  38144. v = v2
  38145. }
  38146. }
  38147. return int32(m_FcTrue)
  38148. }
  38149. func XIA__FcPatternFilter(tls *libc.TLS, p uintptr, os uintptr) (r uintptr) {
  38150. var e, ret, v3, v4 uintptr
  38151. var i int32
  38152. var object TFcObject
  38153. var v TFcValueListPtr
  38154. _, _, _, _, _, _, _ = e, i, object, ret, v, v3, v4
  38155. if !(os != 0) {
  38156. return XIA__FcPatternDuplicate(tls, p)
  38157. }
  38158. ret = XIA__FcPatternCreate(tls)
  38159. if !(ret != 0) {
  38160. return libc.UintptrFromInt32(0)
  38161. }
  38162. i = 0
  38163. for {
  38164. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  38165. break
  38166. }
  38167. object = XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  38168. e = XFcPatternObjectFindElt(tls, p, object)
  38169. if e != 0 {
  38170. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  38171. v3 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  38172. } else {
  38173. v3 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  38174. }
  38175. v = v3
  38176. for {
  38177. if !(v != 0) {
  38178. break
  38179. }
  38180. if !(XFcPatternObjectAddWithBinding(tls, ret, (*TFcPatternElt)(unsafe.Pointer(e)).Fobject, XFcValueCanonicalize(tls, v+8), (*T_FcValueList)(unsafe.Pointer(v)).Fbinding, int32(m_FcTrue)) != 0) {
  38181. goto bail0
  38182. }
  38183. goto _2
  38184. _2:
  38185. ;
  38186. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  38187. v4 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  38188. } else {
  38189. v4 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  38190. }
  38191. v = v4
  38192. }
  38193. }
  38194. goto _1
  38195. _1:
  38196. ;
  38197. i++
  38198. }
  38199. return ret
  38200. goto bail0
  38201. bail0:
  38202. ;
  38203. XIA__FcPatternDestroy(tls, ret)
  38204. return libc.UintptrFromInt32(0)
  38205. }
  38206. var XFcPatternFilter = XIA__FcPatternFilter
  38207. type TFcPatternPrivateIter = struct {
  38208. Felt uintptr
  38209. Fpos int32
  38210. }
  38211. type T_FcPatternPrivateIter = TFcPatternPrivateIter
  38212. func _FcPatternIterSet(tls *libc.TLS, pat uintptr, iter uintptr) {
  38213. var v1 uintptr
  38214. _ = v1
  38215. if XIA__FcPatternObjectCount(tls, pat) > 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Fpos < XIA__FcPatternObjectCount(tls, pat) {
  38216. v1 = uintptr(int64(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr((*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Fpos)*16
  38217. } else {
  38218. v1 = libc.UintptrFromInt32(0)
  38219. }
  38220. (*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Felt = v1
  38221. }
  38222. func XIA__FcPatternIterStart(tls *libc.TLS, pat uintptr, iter uintptr) {
  38223. var priv uintptr
  38224. _ = priv
  38225. priv = iter
  38226. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos = 0
  38227. _FcPatternIterSet(tls, pat, priv)
  38228. }
  38229. var XFcPatternIterStart = XIA__FcPatternIterStart
  38230. func XIA__FcPatternIterNext(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcBool) {
  38231. var priv uintptr
  38232. _ = priv
  38233. priv = iter
  38234. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos++
  38235. if (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos >= XIA__FcPatternObjectCount(tls, pat) {
  38236. return m_FcFalse
  38237. }
  38238. _FcPatternIterSet(tls, pat, priv)
  38239. return int32(m_FcTrue)
  38240. }
  38241. var XFcPatternIterNext = XIA__FcPatternIterNext
  38242. func XIA__FcPatternIterEqual(tls *libc.TLS, p1 uintptr, i1 uintptr, p2 uintptr, i2 uintptr) (r TFcBool) {
  38243. var b1, b2 TFcBool
  38244. _, _ = b1, b2
  38245. b1 = XIA__FcPatternIterIsValid(tls, p1, i1)
  38246. b2 = XIA__FcPatternIterIsValid(tls, p2, i2)
  38247. if !(i1 != 0) && !(i2 != 0) {
  38248. return int32(m_FcTrue)
  38249. }
  38250. if !(b1 != 0) || !(b2 != 0) {
  38251. return m_FcFalse
  38252. }
  38253. if XFcPatternIterGetObjectId(tls, p1, i1) != XFcPatternIterGetObjectId(tls, p2, i2) {
  38254. return m_FcFalse
  38255. }
  38256. return _FcValueListEqual(tls, XFcPatternIterGetValues(tls, p1, i1), XFcPatternIterGetValues(tls, p2, i2))
  38257. }
  38258. var XFcPatternIterEqual = XIA__FcPatternIterEqual
  38259. func XFcPatternFindObjectIter(tls *libc.TLS, pat uintptr, iter uintptr, object TFcObject) (r TFcBool) {
  38260. var i int32
  38261. var priv uintptr
  38262. _, _ = i, priv
  38263. priv = iter
  38264. i = _FcPatternObjectPosition(tls, pat, object)
  38265. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt = libc.UintptrFromInt32(0)
  38266. if i < 0 {
  38267. return m_FcFalse
  38268. }
  38269. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos = i
  38270. _FcPatternIterSet(tls, pat, priv)
  38271. return int32(m_FcTrue)
  38272. }
  38273. func XIA__FcPatternFindIter(tls *libc.TLS, pat uintptr, iter uintptr, object uintptr) (r TFcBool) {
  38274. return XFcPatternFindObjectIter(tls, pat, iter, XFcObjectFromName(tls, object))
  38275. }
  38276. var XFcPatternFindIter = XIA__FcPatternFindIter
  38277. func XIA__FcPatternIterIsValid(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcBool) {
  38278. var priv uintptr
  38279. _ = priv
  38280. priv = iter
  38281. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  38282. return int32(m_FcTrue)
  38283. }
  38284. return m_FcFalse
  38285. }
  38286. var XFcPatternIterIsValid = XIA__FcPatternIterIsValid
  38287. func XFcPatternIterGetObjectId(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcObject) {
  38288. var priv uintptr
  38289. _ = priv
  38290. priv = iter
  38291. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  38292. return (*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fobject
  38293. }
  38294. return 0
  38295. }
  38296. func XIA__FcPatternIterGetObject(tls *libc.TLS, pat uintptr, iter uintptr) (r uintptr) {
  38297. return XFcObjectName(tls, XFcPatternIterGetObjectId(tls, pat, iter))
  38298. }
  38299. var XFcPatternIterGetObject = XIA__FcPatternIterGetObject
  38300. func XFcPatternIterGetValues(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcValueListPtr) {
  38301. var priv, v1 uintptr
  38302. _, _ = priv, v1
  38303. priv = iter
  38304. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  38305. if int64((*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues)&int64(1) != 0 {
  38306. v1 = uintptr(int64((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt) + int64((*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  38307. } else {
  38308. v1 = (*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues
  38309. }
  38310. return v1
  38311. }
  38312. return libc.UintptrFromInt32(0)
  38313. }
  38314. func XIA__FcPatternIterValueCount(tls *libc.TLS, pat uintptr, iter uintptr) (r int32) {
  38315. var count int32
  38316. var l TFcValueListPtr
  38317. var v2 uintptr
  38318. _, _, _ = count, l, v2
  38319. count = 0
  38320. l = XFcPatternIterGetValues(tls, pat, iter)
  38321. for {
  38322. if !(l != 0) {
  38323. break
  38324. }
  38325. count++
  38326. goto _1
  38327. _1:
  38328. ;
  38329. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  38330. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  38331. } else {
  38332. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  38333. }
  38334. l = v2
  38335. }
  38336. return count
  38337. }
  38338. var XFcPatternIterValueCount = XIA__FcPatternIterValueCount
  38339. func XIA__FcPatternIterGetValue(tls *libc.TLS, pat uintptr, iter uintptr, id int32, v uintptr, b uintptr) (r TFcResult) {
  38340. var l TFcValueListPtr
  38341. var v2 uintptr
  38342. _, _ = l, v2
  38343. l = XFcPatternIterGetValues(tls, pat, iter)
  38344. for {
  38345. if !(l != 0) {
  38346. break
  38347. }
  38348. if id == 0 {
  38349. *(*TFcValue)(unsafe.Pointer(v)) = XFcValueCanonicalize(tls, l+8)
  38350. if b != 0 {
  38351. *(*TFcValueBinding)(unsafe.Pointer(b)) = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  38352. }
  38353. return int32(_FcResultMatch)
  38354. }
  38355. id--
  38356. goto _1
  38357. _1:
  38358. ;
  38359. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  38360. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  38361. } else {
  38362. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  38363. }
  38364. l = v2
  38365. }
  38366. return int32(_FcResultNoId)
  38367. }
  38368. var XFcPatternIterGetValue = XIA__FcPatternIterGetValue
  38369. func XFcPatternSerializeAlloc(tls *libc.TLS, serialize uintptr, pat uintptr) (r TFcBool) {
  38370. var elts, v2 uintptr
  38371. var i int32
  38372. _, _, _ = elts, i, v2
  38373. elts = uintptr(int64(pat) + (*TFcPattern)(unsafe.Pointer(pat)).Felts_offset)
  38374. if !(XFcSerializeAlloc(tls, serialize, pat, int32(24)) != 0) {
  38375. return m_FcFalse
  38376. }
  38377. if !(XFcSerializeAlloc(tls, serialize, elts, libc.Int32FromUint64(libc.Uint64FromInt32(XIA__FcPatternObjectCount(tls, pat))*uint64(16))) != 0) {
  38378. return m_FcFalse
  38379. }
  38380. i = 0
  38381. for {
  38382. if !(i < XIA__FcPatternObjectCount(tls, pat)) {
  38383. break
  38384. }
  38385. if int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  38386. v2 = uintptr(int64(elts+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  38387. } else {
  38388. v2 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16)).Fvalues
  38389. }
  38390. if !(XFcValueListSerializeAlloc(tls, serialize, v2) != 0) {
  38391. return m_FcFalse
  38392. }
  38393. goto _1
  38394. _1:
  38395. ;
  38396. i++
  38397. }
  38398. return int32(m_FcTrue)
  38399. }
  38400. func XFcPatternSerialize(tls *libc.TLS, serialize uintptr, pat uintptr) (r uintptr) {
  38401. var elts, elts_serialized, pat_serialized, values_serialized, v2 uintptr
  38402. var i int32
  38403. _, _, _, _, _, _ = elts, elts_serialized, i, pat_serialized, values_serialized, v2
  38404. elts = uintptr(int64(pat) + (*TFcPattern)(unsafe.Pointer(pat)).Felts_offset)
  38405. pat_serialized = XFcSerializePtr(tls, serialize, pat)
  38406. if !(pat_serialized != 0) {
  38407. return libc.UintptrFromInt32(0)
  38408. }
  38409. *(*TFcPattern)(unsafe.Pointer(pat_serialized)) = *(*TFcPattern)(unsafe.Pointer(pat))
  38410. (*TFcPattern)(unsafe.Pointer(pat_serialized)).Fsize = XIA__FcPatternObjectCount(tls, pat)
  38411. (*TFcRef)(unsafe.Pointer(pat_serialized + 16)).Fcount = -libc.Int32FromInt32(1)
  38412. elts_serialized = XFcSerializePtr(tls, serialize, elts)
  38413. if !(elts_serialized != 0) {
  38414. return libc.UintptrFromInt32(0)
  38415. }
  38416. (*TFcPattern)(unsafe.Pointer(pat_serialized)).Felts_offset = int64(elts_serialized) - int64(pat_serialized)
  38417. i = 0
  38418. for {
  38419. if !(i < XIA__FcPatternObjectCount(tls, pat)) {
  38420. break
  38421. }
  38422. if int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  38423. v2 = uintptr(int64(elts+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  38424. } else {
  38425. v2 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16)).Fvalues
  38426. }
  38427. values_serialized = XFcValueListSerialize(tls, serialize, v2)
  38428. if !(values_serialized != 0) {
  38429. return libc.UintptrFromInt32(0)
  38430. }
  38431. (*(*TFcPatternElt)(unsafe.Pointer(elts_serialized + uintptr(i)*16))).Fobject = (*(*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16))).Fobject
  38432. (*(*TFcPatternElt)(unsafe.Pointer(elts_serialized + uintptr(i)*16))).Fvalues = uintptr(int64(values_serialized) - Tintptr_t(elts_serialized+uintptr(i)*16) | libc.Int64FromInt32(1))
  38433. goto _1
  38434. _1:
  38435. ;
  38436. i++
  38437. }
  38438. if XFcDebugVal&int32(m_FC_DBG_CACHEV) != 0 {
  38439. libc.Xprintf(tls, __ccgo_ts+6923, 0)
  38440. XIA__FcPatternPrint(tls, pat)
  38441. libc.Xprintf(tls, __ccgo_ts+6937, 0)
  38442. XIA__FcPatternPrint(tls, pat_serialized)
  38443. libc.Xprintf(tls, __ccgo_ts+1274, 0)
  38444. }
  38445. return pat_serialized
  38446. }
  38447. func XFcValueListSerializeAlloc(tls *libc.TLS, serialize uintptr, vl uintptr) (r TFcBool) {
  38448. for vl != 0 {
  38449. if !(XFcSerializeAlloc(tls, serialize, vl, int32(32)) != 0) {
  38450. return m_FcFalse
  38451. }
  38452. switch (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1 {
  38453. case int32(_FcTypeString):
  38454. if !(XFcStrSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  38455. return m_FcFalse
  38456. }
  38457. case int32(_FcTypeCharSet):
  38458. if !(XFcCharSetSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  38459. return m_FcFalse
  38460. }
  38461. case int32(_FcTypeLangSet):
  38462. if !(XFcLangSetSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  38463. return m_FcFalse
  38464. }
  38465. case int32(_FcTypeRange):
  38466. if !(XFcRangeSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  38467. return m_FcFalse
  38468. }
  38469. default:
  38470. break
  38471. }
  38472. vl = (*TFcValueList)(unsafe.Pointer(vl)).Fnext
  38473. }
  38474. return int32(m_FcTrue)
  38475. }
  38476. func XFcValueListSerialize(tls *libc.TLS, serialize uintptr, vl uintptr) (r uintptr) {
  38477. var c_serialized, head_serialized, l_serialized, prev_serialized, r_serialized, s_serialized, vl_serialized uintptr
  38478. _, _, _, _, _, _, _ = c_serialized, head_serialized, l_serialized, prev_serialized, r_serialized, s_serialized, vl_serialized
  38479. head_serialized = libc.UintptrFromInt32(0)
  38480. prev_serialized = libc.UintptrFromInt32(0)
  38481. for vl != 0 {
  38482. vl_serialized = XFcSerializePtr(tls, serialize, vl)
  38483. if !(vl_serialized != 0) {
  38484. return libc.UintptrFromInt32(0)
  38485. }
  38486. if prev_serialized != 0 {
  38487. (*TFcValueList)(unsafe.Pointer(prev_serialized)).Fnext = uintptr(int64(vl_serialized) - int64(prev_serialized) | libc.Int64FromInt32(1))
  38488. } else {
  38489. head_serialized = vl_serialized
  38490. }
  38491. (*TFcValueList)(unsafe.Pointer(vl_serialized)).Fnext = libc.UintptrFromInt32(0)
  38492. (*TFcValueList)(unsafe.Pointer(vl_serialized)).Fvalue.Ftype1 = (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1
  38493. switch (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1 {
  38494. case int32(_FcTypeInteger):
  38495. *(*int32)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*int32)(unsafe.Pointer(vl + 8 + 8))
  38496. case int32(_FcTypeDouble):
  38497. *(*float64)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*float64)(unsafe.Pointer(vl + 8 + 8))
  38498. case int32(_FcTypeString):
  38499. s_serialized = XFcStrSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  38500. if !(s_serialized != 0) {
  38501. return libc.UintptrFromInt32(0)
  38502. }
  38503. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(s_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  38504. case int32(_FcTypeBool):
  38505. *(*TFcBool)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*TFcBool)(unsafe.Pointer(vl + 8 + 8))
  38506. case int32(_FcTypeMatrix):
  38507. /* can't happen */
  38508. case int32(_FcTypeCharSet):
  38509. c_serialized = XFcCharSetSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  38510. if !(c_serialized != 0) {
  38511. return libc.UintptrFromInt32(0)
  38512. }
  38513. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(c_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  38514. case int32(_FcTypeFTFace):
  38515. /* can't happen */
  38516. case int32(_FcTypeLangSet):
  38517. l_serialized = XFcLangSetSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  38518. if !(l_serialized != 0) {
  38519. return libc.UintptrFromInt32(0)
  38520. }
  38521. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(l_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  38522. case int32(_FcTypeRange):
  38523. r_serialized = XFcRangeSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  38524. if !(r_serialized != 0) {
  38525. return libc.UintptrFromInt32(0)
  38526. }
  38527. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(r_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  38528. default:
  38529. break
  38530. }
  38531. prev_serialized = vl_serialized
  38532. vl = (*TFcValueList)(unsafe.Pointer(vl)).Fnext
  38533. }
  38534. return head_serialized
  38535. }
  38536. func XIA__FcRangeCreateDouble(tls *libc.TLS, begin float64, end float64) (r uintptr) {
  38537. var ret uintptr
  38538. _ = ret
  38539. ret = libc.Xmalloc(tls, uint64(16))
  38540. if ret != 0 {
  38541. (*TFcRange)(unsafe.Pointer(ret)).Fbegin = begin
  38542. (*TFcRange)(unsafe.Pointer(ret)).Fend = end
  38543. }
  38544. return ret
  38545. }
  38546. var XFcRangeCreateDouble = XIA__FcRangeCreateDouble
  38547. func XIA__FcRangeCreateInteger(tls *libc.TLS, begin TFcChar32, end TFcChar32) (r uintptr) {
  38548. var ret uintptr
  38549. _ = ret
  38550. ret = libc.Xmalloc(tls, uint64(16))
  38551. if ret != 0 {
  38552. (*TFcRange)(unsafe.Pointer(ret)).Fbegin = float64(begin)
  38553. (*TFcRange)(unsafe.Pointer(ret)).Fend = float64(end)
  38554. }
  38555. return ret
  38556. }
  38557. var XFcRangeCreateInteger = XIA__FcRangeCreateInteger
  38558. func XIA__FcRangeDestroy(tls *libc.TLS, range1 uintptr) {
  38559. libc.Xfree(tls, range1)
  38560. }
  38561. var XFcRangeDestroy = XIA__FcRangeDestroy
  38562. func XIA__FcRangeCopy(tls *libc.TLS, range1 uintptr) (r uintptr) {
  38563. return XIA__FcRangeCreateDouble(tls, (*TFcRange)(unsafe.Pointer(range1)).Fbegin, (*TFcRange)(unsafe.Pointer(range1)).Fend)
  38564. }
  38565. var XFcRangeCopy = XIA__FcRangeCopy
  38566. func XIA__FcRangeGetDouble(tls *libc.TLS, range1 uintptr, begin uintptr, end uintptr) (r TFcBool) {
  38567. if !(range1 != 0) {
  38568. return m_FcFalse
  38569. }
  38570. if begin != 0 {
  38571. *(*float64)(unsafe.Pointer(begin)) = (*TFcRange)(unsafe.Pointer(range1)).Fbegin
  38572. }
  38573. if end != 0 {
  38574. *(*float64)(unsafe.Pointer(end)) = (*TFcRange)(unsafe.Pointer(range1)).Fend
  38575. }
  38576. return int32(m_FcTrue)
  38577. }
  38578. var XFcRangeGetDouble = XIA__FcRangeGetDouble
  38579. func XFcRangePromote(tls *libc.TLS, v float64, vbuf uintptr) (r uintptr) {
  38580. var buf uintptr
  38581. _ = buf
  38582. buf = vbuf
  38583. (*struct {
  38584. Fr TFcRange
  38585. })(unsafe.Pointer(buf)).Fr.Fbegin = v
  38586. (*struct {
  38587. Fr TFcRange
  38588. })(unsafe.Pointer(buf)).Fr.Fend = v
  38589. return buf
  38590. }
  38591. func XFcRangeIsInRange(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  38592. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin >= (*TFcRange)(unsafe.Pointer(b)).Fbegin && (*TFcRange)(unsafe.Pointer(a)).Fend <= (*TFcRange)(unsafe.Pointer(b)).Fend)
  38593. }
  38594. func XFcRangeCompare(tls *libc.TLS, op TFcOp, a uintptr, b uintptr) (r TFcBool) {
  38595. switch op {
  38596. case int32(_FcOpEqual):
  38597. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin == (*TFcRange)(unsafe.Pointer(b)).Fbegin && (*TFcRange)(unsafe.Pointer(a)).Fend == (*TFcRange)(unsafe.Pointer(b)).Fend)
  38598. case int32(_FcOpContains):
  38599. fallthrough
  38600. case int32(_FcOpListing):
  38601. return XFcRangeIsInRange(tls, a, b)
  38602. case int32(_FcOpNotEqual):
  38603. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin != (*TFcRange)(unsafe.Pointer(b)).Fbegin || (*TFcRange)(unsafe.Pointer(a)).Fend != (*TFcRange)(unsafe.Pointer(b)).Fend)
  38604. case int32(_FcOpNotContains):
  38605. return libc.BoolInt32(!(XFcRangeIsInRange(tls, a, b) != 0))
  38606. case int32(_FcOpLess):
  38607. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fend < (*TFcRange)(unsafe.Pointer(b)).Fbegin)
  38608. case int32(_FcOpLessEqual):
  38609. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fend <= (*TFcRange)(unsafe.Pointer(b)).Fbegin)
  38610. case int32(_FcOpMore):
  38611. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin > (*TFcRange)(unsafe.Pointer(b)).Fend)
  38612. case int32(_FcOpMoreEqual):
  38613. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin >= (*TFcRange)(unsafe.Pointer(b)).Fend)
  38614. default:
  38615. break
  38616. }
  38617. return m_FcFalse
  38618. }
  38619. func XFcRangeHash(tls *libc.TLS, r uintptr) (r1 TFcChar32) {
  38620. var b, e int32
  38621. _, _ = b, e
  38622. b = int32((*TFcRange)(unsafe.Pointer(r)).Fbegin * libc.Float64FromInt32(100))
  38623. e = int32((*TFcRange)(unsafe.Pointer(r)).Fend * libc.Float64FromInt32(100))
  38624. return libc.Uint32FromInt32(b ^ b<<int32(1) ^ e<<int32(9))
  38625. }
  38626. func XFcRangeSerializeAlloc(tls *libc.TLS, serialize uintptr, r uintptr) (r1 TFcBool) {
  38627. if !(XFcSerializeAlloc(tls, serialize, r, int32(16)) != 0) {
  38628. return m_FcFalse
  38629. }
  38630. return int32(m_FcTrue)
  38631. }
  38632. func XFcRangeSerialize(tls *libc.TLS, serialize uintptr, r uintptr) (r1 uintptr) {
  38633. var r_serialize uintptr
  38634. _ = r_serialize
  38635. r_serialize = XFcSerializePtr(tls, serialize, r)
  38636. if !(r_serialize != 0) {
  38637. return libc.UintptrFromInt32(0)
  38638. }
  38639. libc.Xmemcpy(tls, r_serialize, r, uint64(16))
  38640. return r_serialize
  38641. }
  38642. const m_UINT64_MAX1 = 18446744073709551615
  38643. func XFcAlignSize(tls *libc.TLS, size Tintptr_t) (r Tintptr_t) {
  38644. var rem Tintptr_t
  38645. _ = rem
  38646. rem = libc.Int64FromUint64(libc.Uint64FromInt64(size) % uint64(8))
  38647. if rem != 0 {
  38648. size = Tintptr_t(uint64(size) + (libc.Uint64FromInt64(8) - libc.Uint64FromInt64(rem)))
  38649. }
  38650. return size
  38651. }
  38652. /*
  38653. * Serialization helper object -- allocate space in the
  38654. * yet-to-be-created linear array for a serialized font set
  38655. */
  38656. func XFcSerializeCreate(tls *libc.TLS) (r uintptr) {
  38657. var serialize uintptr
  38658. _ = serialize
  38659. serialize = libc.Xmalloc(tls, uint64(56))
  38660. if !(serialize != 0) {
  38661. return libc.UintptrFromInt32(0)
  38662. }
  38663. (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize = 0
  38664. (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear = libc.UintptrFromInt32(0)
  38665. (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer = libc.UintptrFromInt32(0)
  38666. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets = libc.UintptrFromInt32(0)
  38667. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count = uint64(0)
  38668. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used = uint64(0)
  38669. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used_max = uint64(0)
  38670. return serialize
  38671. }
  38672. func XFcSerializeDestroy(tls *libc.TLS, serialize uintptr) {
  38673. libc.Xfree(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets)
  38674. if (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0 {
  38675. XFcCharSetFreezerDestroy(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer)
  38676. }
  38677. libc.Xfree(tls, serialize)
  38678. }
  38679. func _FcSerializeNextBucketIndex(tls *libc.TLS, serialize uintptr, index Tsize_t) (r Tsize_t) {
  38680. if index == uint64(0) {
  38681. index = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  38682. }
  38683. index--
  38684. return index
  38685. }
  38686. // C documentation
  38687. //
  38688. // /*
  38689. // * Based on splittable64/splitmix64 from Mix13
  38690. // * https://zimbry.blogspot.com/2011/09/better-bit-mixing-improving-on.html
  38691. // * https://prng.di.unimi.it/splitmix64.c
  38692. // */
  38693. func _FcSerializeHashPtr(tls *libc.TLS, object uintptr) (r Tuintptr_t) {
  38694. var x Tuintptr_t
  38695. var v1 uint64
  38696. _, _ = x, v1
  38697. x = uint64(object)
  38698. x ^= x >> int32(30)
  38699. x *= uint64(0xbf58476d1ce4e5b9)
  38700. x ^= x >> int32(27)
  38701. x *= uint64(0x94d049bb133111eb)
  38702. x ^= x >> int32(31)
  38703. if x != 0 {
  38704. v1 = x
  38705. } else {
  38706. v1 = uint64(1)
  38707. }
  38708. return v1 /* 0 reserved to mark empty, x starts out 0 */
  38709. }
  38710. func _FcSerializeFind(tls *libc.TLS, serialize uintptr, object uintptr) (r uintptr) {
  38711. var bucket uintptr
  38712. var buckets_count, index, n Tsize_t
  38713. var hash Tuintptr_t
  38714. _, _, _, _, _ = bucket, buckets_count, hash, index, n
  38715. hash = _FcSerializeHashPtr(tls, object)
  38716. buckets_count = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  38717. index = hash & (buckets_count - uint64(1))
  38718. n = uint64(0)
  38719. for {
  38720. if !(n < buckets_count) {
  38721. break
  38722. }
  38723. bucket = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets + uintptr(index)*24
  38724. if (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fhash == uint64(0) {
  38725. return libc.UintptrFromInt32(0)
  38726. }
  38727. if object == (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fobject {
  38728. return bucket
  38729. }
  38730. index = _FcSerializeNextBucketIndex(tls, serialize, index)
  38731. goto _1
  38732. _1:
  38733. ;
  38734. n++
  38735. }
  38736. return libc.UintptrFromInt32(0)
  38737. }
  38738. func _FcSerializeUncheckedSet(tls *libc.TLS, serialize uintptr, insert uintptr) (r uintptr) {
  38739. var bucket, object uintptr
  38740. var buckets_count, index, n Tsize_t
  38741. _, _, _, _, _ = bucket, buckets_count, index, n, object
  38742. object = (*TFcSerializeBucket)(unsafe.Pointer(insert)).Fobject
  38743. buckets_count = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  38744. index = (*TFcSerializeBucket)(unsafe.Pointer(insert)).Fhash & (buckets_count - uint64(1))
  38745. n = uint64(0)
  38746. for {
  38747. if !(n < buckets_count) {
  38748. break
  38749. }
  38750. bucket = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets + uintptr(index)*24
  38751. if (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fhash == uint64(0) {
  38752. *(*TFcSerializeBucket)(unsafe.Pointer(bucket)) = *(*TFcSerializeBucket)(unsafe.Pointer(insert))
  38753. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used++
  38754. return bucket
  38755. }
  38756. if object == (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fobject {
  38757. /* FcSerializeAlloc should not allow this to happen. */
  38758. *(*TFcSerializeBucket)(unsafe.Pointer(bucket)) = *(*TFcSerializeBucket)(unsafe.Pointer(insert))
  38759. return bucket
  38760. }
  38761. index = _FcSerializeNextBucketIndex(tls, serialize, index)
  38762. goto _1
  38763. _1:
  38764. ;
  38765. n++
  38766. }
  38767. return libc.UintptrFromInt32(0)
  38768. }
  38769. func _FcSerializeResize(tls *libc.TLS, serialize uintptr, new_count Tsize_t) (r TFcBool) {
  38770. var b, b1, new_buckets, new_buckets_end, old_buckets, old_buckets_end uintptr
  38771. var old_count, old_used Tsize_t
  38772. _, _, _, _, _, _, _, _ = b, b1, new_buckets, new_buckets_end, old_buckets, old_buckets_end, old_count, old_used
  38773. old_used = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used
  38774. old_count = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  38775. old_buckets = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets
  38776. old_buckets_end = old_buckets + uintptr(old_count)*24
  38777. new_buckets = libc.Xmalloc(tls, new_count*uint64(24))
  38778. if !(new_buckets != 0) {
  38779. return m_FcFalse
  38780. }
  38781. new_buckets_end = new_buckets + uintptr(new_count)*24
  38782. b = new_buckets
  38783. for {
  38784. if !(b < new_buckets_end) {
  38785. break
  38786. }
  38787. (*TFcSerializeBucket)(unsafe.Pointer(b)).Fhash = uint64(0)
  38788. goto _1
  38789. _1:
  38790. ;
  38791. b += 24
  38792. }
  38793. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets = new_buckets
  38794. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count = new_count
  38795. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used = uint64(0)
  38796. b1 = old_buckets
  38797. for {
  38798. if !(b1 < old_buckets_end) {
  38799. break
  38800. }
  38801. if (*TFcSerializeBucket)(unsafe.Pointer(b1)).Fhash != uint64(0) && !(_FcSerializeUncheckedSet(tls, serialize, b1) != 0) {
  38802. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets = old_buckets
  38803. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count = old_count
  38804. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used = old_used
  38805. libc.Xfree(tls, new_buckets)
  38806. return m_FcFalse
  38807. }
  38808. goto _2
  38809. _2:
  38810. ;
  38811. b1 += 24
  38812. }
  38813. libc.Xfree(tls, old_buckets)
  38814. return int32(m_FcTrue)
  38815. }
  38816. func _FcSerializeSet(tls *libc.TLS, serialize uintptr, object uintptr, offset Tintptr_t) (r uintptr) {
  38817. bp := tls.Alloc(32)
  38818. defer tls.Free(32)
  38819. var capacity Tsize_t
  38820. var _ /* bucket at bp+0 */ TFcSerializeBucket
  38821. _ = capacity
  38822. if (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used >= (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used_max {
  38823. capacity = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  38824. if capacity == uint64(0) {
  38825. capacity = uint64(4)
  38826. } else {
  38827. if capacity > libc.Uint64FromUint64(0xffffffffffffffff)/libc.Uint64FromUint32(2) {
  38828. return libc.UintptrFromInt32(0)
  38829. } else {
  38830. capacity *= uint64(2)
  38831. }
  38832. }
  38833. if !(_FcSerializeResize(tls, serialize, capacity) != 0) {
  38834. return libc.UintptrFromInt32(0)
  38835. }
  38836. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used_max = capacity / uint64(4) * uint64(3)
  38837. }
  38838. (*(*TFcSerializeBucket)(unsafe.Pointer(bp))).Fobject = object
  38839. (*(*TFcSerializeBucket)(unsafe.Pointer(bp))).Foffset = offset
  38840. (*(*TFcSerializeBucket)(unsafe.Pointer(bp))).Fhash = _FcSerializeHashPtr(tls, object)
  38841. return _FcSerializeUncheckedSet(tls, serialize, bp)
  38842. }
  38843. // C documentation
  38844. //
  38845. // /*
  38846. // * Allocate space for an object in the serialized array. Keep track
  38847. // * of where the object is placed and only allocate one copy of each object
  38848. // */
  38849. func XFcSerializeAlloc(tls *libc.TLS, serialize uintptr, object uintptr, size int32) (r TFcBool) {
  38850. var bucket uintptr
  38851. _ = bucket
  38852. bucket = _FcSerializeFind(tls, serialize, object)
  38853. if bucket != 0 {
  38854. return int32(m_FcTrue)
  38855. }
  38856. if !(_FcSerializeSet(tls, serialize, object, (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize) != 0) {
  38857. return m_FcFalse
  38858. }
  38859. *(*Tintptr_t)(unsafe.Pointer(serialize)) += XFcAlignSize(tls, int64(size))
  38860. return int32(m_FcTrue)
  38861. }
  38862. // C documentation
  38863. //
  38864. // /*
  38865. // * Reserve space in the serialization array
  38866. // */
  38867. func XFcSerializeReserve(tls *libc.TLS, serialize uintptr, size int32) (r Tintptr_t) {
  38868. var offset Tintptr_t
  38869. _ = offset
  38870. offset = (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize
  38871. *(*Tintptr_t)(unsafe.Pointer(serialize)) += XFcAlignSize(tls, int64(size))
  38872. return offset
  38873. }
  38874. // C documentation
  38875. //
  38876. // /*
  38877. // * Given an object, return the offset in the serialized array where
  38878. // * the serialized copy of the object is stored
  38879. // */
  38880. func XFcSerializeOffset(tls *libc.TLS, serialize uintptr, object uintptr) (r Tintptr_t) {
  38881. var bucket uintptr
  38882. var v1 int64
  38883. _, _ = bucket, v1
  38884. bucket = _FcSerializeFind(tls, serialize, object)
  38885. if bucket != 0 {
  38886. v1 = (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Foffset
  38887. } else {
  38888. v1 = 0
  38889. }
  38890. return v1
  38891. }
  38892. // C documentation
  38893. //
  38894. // /*
  38895. // * Given a cache and an object, return a pointer to where
  38896. // * the serialized copy of the object is stored
  38897. // */
  38898. func XFcSerializePtr(tls *libc.TLS, serialize uintptr, object uintptr) (r uintptr) {
  38899. var offset Tintptr_t
  38900. _ = offset
  38901. offset = XFcSerializeOffset(tls, serialize, object)
  38902. if !(offset != 0) {
  38903. return libc.UintptrFromInt32(0)
  38904. }
  38905. return (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear + uintptr(offset)
  38906. }
  38907. func XFcStrSerializeAlloc(tls *libc.TLS, serialize uintptr, str uintptr) (r TFcBool) {
  38908. return XFcSerializeAlloc(tls, serialize, str, libc.Int32FromUint64(libc.Xstrlen(tls, str)+uint64(1)))
  38909. }
  38910. func XFcStrSerialize(tls *libc.TLS, serialize uintptr, str uintptr) (r uintptr) {
  38911. var str_serialize uintptr
  38912. _ = str_serialize
  38913. str_serialize = XFcSerializePtr(tls, serialize, str)
  38914. if !(str_serialize != 0) {
  38915. return libc.UintptrFromInt32(0)
  38916. }
  38917. libc.Xstrcpy(tls, str_serialize, str)
  38918. return str_serialize
  38919. }
  38920. const m_CANBSIZ = 255
  38921. const m_DEV_BSIZE = 512
  38922. const m_FC_ARCH_ENDIAN1 = "le"
  38923. const m_FC_DIR_SEPARATOR3 = 47
  38924. const m_FIOASYNC = 0x5452
  38925. const m_FIOCLEX = 0x5451
  38926. const m_FIOGETOWN = 0x8903
  38927. const m_FIONBIO = 0x5421
  38928. const m_FIONCLEX = 0x5450
  38929. const m_FIONREAD = 0x541B
  38930. const m_FIOQSIZE = 0x5460
  38931. const m_FIOSETOWN = 0x8901
  38932. const m_MAXHOSTNAMELEN = 64
  38933. const m_MAXNAMLEN = 255
  38934. const m_MAXPATHLEN = 4096
  38935. const m_MAXSYMLINKS = 20
  38936. const m_MNT_DETACH = 2
  38937. const m_MNT_EXPIRE = 4
  38938. const m_MNT_FORCE = 1
  38939. const m_MS_BIND = 4096
  38940. const m_MS_DIRSYNC = 128
  38941. const m_MS_MANDLOCK = 64
  38942. const m_MS_MGC_MSK = 0xffff0000
  38943. const m_MS_MGC_VAL = 0xc0ed0000
  38944. const m_MS_MOVE = 8192
  38945. const m_MS_NOATIME = 1024
  38946. const m_MS_NODEV = 4
  38947. const m_MS_NODIRATIME = 2048
  38948. const m_MS_NOEXEC = 8
  38949. const m_MS_NOSUID = 2
  38950. const m_MS_NOSYMFOLLOW = 256
  38951. const m_MS_RDONLY = 1
  38952. const m_MS_REC = 16384
  38953. const m_MS_REMOUNT = 32
  38954. const m_MS_SILENT = 32768
  38955. const m_MS_SYNCHRONOUS = 16
  38956. const m_NBBY = 8
  38957. const m_NCARGS = 131072
  38958. const m_NGROUPS = 32
  38959. const m_NOFILE = 256
  38960. const m_N_6PACK = 7
  38961. const m_N_AX25 = 5
  38962. const m_N_CAIF = 20
  38963. const m_N_GIGASET_M101 = 16
  38964. const m_N_GSM0710 = 21
  38965. const m_N_HCI = 15
  38966. const m_N_HDLC = 13
  38967. const m_N_IRDA = 11
  38968. const m_N_MASC = 8
  38969. const m_N_MOUSE = 2
  38970. const m_N_NCI = 25
  38971. const m_N_NULL = 27
  38972. const m_N_PPP = 3
  38973. const m_N_PPS = 18
  38974. const m_N_PROFIBUS_FDL = 10
  38975. const m_N_R3964 = 9
  38976. const m_N_SLCAN = 17
  38977. const m_N_SLIP = 1
  38978. const m_N_SMSBLOCK = 12
  38979. const m_N_SPEAKUP = 26
  38980. const m_N_STRIP = 4
  38981. const m_N_SYNC_PPP = 14
  38982. const m_N_TI_WL = 22
  38983. const m_N_TRACEROUTER = 24
  38984. const m_N_TRACESINK = 23
  38985. const m_N_TTY = 0
  38986. const m_N_V253 = 19
  38987. const m_N_X25 = 6
  38988. const m_O_CLOEXEC2 = 02000000
  38989. const m_O_CREAT1 = 0100
  38990. const m_O_LARGEFILE2 = 0100000
  38991. const m_O_RDONLY2 = 0
  38992. const m_PRIO_MAX = 20
  38993. const m_PRIO_PGRP = 1
  38994. const m_PRIO_PROCESS = 0
  38995. const m_PRIO_USER = 2
  38996. const m_RLIMIT_AS = 9
  38997. const m_RLIMIT_CORE = 4
  38998. const m_RLIMIT_CPU = 0
  38999. const m_RLIMIT_DATA = 2
  39000. const m_RLIMIT_FSIZE = 1
  39001. const m_RLIMIT_LOCKS = 10
  39002. const m_RLIMIT_MEMLOCK = 8
  39003. const m_RLIMIT_MSGQUEUE = 12
  39004. const m_RLIMIT_NICE = 13
  39005. const m_RLIMIT_NLIMITS = 16
  39006. const m_RLIMIT_NOFILE = 7
  39007. const m_RLIMIT_NPROC = 6
  39008. const m_RLIMIT_RSS = 5
  39009. const m_RLIMIT_RTPRIO = 14
  39010. const m_RLIMIT_RTTIME = 15
  39011. const m_RLIMIT_SIGPENDING = 11
  39012. const m_RLIMIT_STACK = 3
  39013. const m_RLIM_NLIMITS = "RLIMIT_NLIMITS"
  39014. const m_RLIM_SAVED_CUR = "RLIM_INFINITY"
  39015. const m_RLIM_SAVED_MAX = "RLIM_INFINITY"
  39016. const m_RUSAGE_SELF = 0
  39017. const m_RUSAGE_THREAD = 1
  39018. const m_SIOCADDDLCI = 0x8980
  39019. const m_SIOCADDMULTI = 0x8931
  39020. const m_SIOCADDRT = 0x890B
  39021. const m_SIOCATMARK = 0x8905
  39022. const m_SIOCDARP = 0x8953
  39023. const m_SIOCDELDLCI = 0x8981
  39024. const m_SIOCDELMULTI = 0x8932
  39025. const m_SIOCDELRT = 0x890C
  39026. const m_SIOCDEVPRIVATE = 0x89F0
  39027. const m_SIOCDIFADDR = 0x8936
  39028. const m_SIOCDRARP = 0x8960
  39029. const m_SIOCGARP = 0x8954
  39030. const m_SIOCGIFADDR = 0x8915
  39031. const m_SIOCGIFBR = 0x8940
  39032. const m_SIOCGIFBRDADDR = 0x8919
  39033. const m_SIOCGIFCONF = 0x8912
  39034. const m_SIOCGIFCOUNT = 0x8938
  39035. const m_SIOCGIFDSTADDR = 0x8917
  39036. const m_SIOCGIFENCAP = 0x8925
  39037. const m_SIOCGIFFLAGS = 0x8913
  39038. const m_SIOCGIFHWADDR = 0x8927
  39039. const m_SIOCGIFINDEX = 0x8933
  39040. const m_SIOCGIFMAP = 0x8970
  39041. const m_SIOCGIFMEM = 0x891f
  39042. const m_SIOCGIFMETRIC = 0x891d
  39043. const m_SIOCGIFMTU = 0x8921
  39044. const m_SIOCGIFNAME = 0x8910
  39045. const m_SIOCGIFNETMASK = 0x891b
  39046. const m_SIOCGIFPFLAGS = 0x8935
  39047. const m_SIOCGIFSLAVE = 0x8929
  39048. const m_SIOCGIFTXQLEN = 0x8942
  39049. const m_SIOCGPGRP = 0x8904
  39050. const m_SIOCGRARP = 0x8961
  39051. const m_SIOCGSTAMP = 0x8906
  39052. const m_SIOCGSTAMPNS = 0x8907
  39053. const m_SIOCPROTOPRIVATE = 0x89E0
  39054. const m_SIOCRTMSG = 0x890D
  39055. const m_SIOCSARP = 0x8955
  39056. const m_SIOCSIFADDR = 0x8916
  39057. const m_SIOCSIFBR = 0x8941
  39058. const m_SIOCSIFBRDADDR = 0x891a
  39059. const m_SIOCSIFDSTADDR = 0x8918
  39060. const m_SIOCSIFENCAP = 0x8926
  39061. const m_SIOCSIFFLAGS = 0x8914
  39062. const m_SIOCSIFHWADDR = 0x8924
  39063. const m_SIOCSIFHWBROADCAST = 0x8937
  39064. const m_SIOCSIFLINK = 0x8911
  39065. const m_SIOCSIFMAP = 0x8971
  39066. const m_SIOCSIFMEM = 0x8920
  39067. const m_SIOCSIFMETRIC = 0x891e
  39068. const m_SIOCSIFMTU = 0x8922
  39069. const m_SIOCSIFNAME = 0x8923
  39070. const m_SIOCSIFNETMASK = 0x891c
  39071. const m_SIOCSIFPFLAGS = 0x8934
  39072. const m_SIOCSIFSLAVE = 0x8930
  39073. const m_SIOCSIFTXQLEN = 0x8943
  39074. const m_SIOCSPGRP = 0x8902
  39075. const m_SIOCSRARP = 0x8962
  39076. const m_SIOGIFINDEX = "SIOCGIFINDEX"
  39077. const m_ST_APPEND = 256
  39078. const m_ST_IMMUTABLE = 512
  39079. const m_ST_MANDLOCK = 64
  39080. const m_ST_NOATIME = 1024
  39081. const m_ST_NODEV = 4
  39082. const m_ST_NODIRATIME = 2048
  39083. const m_ST_NOEXEC = 8
  39084. const m_ST_NOSUID = 2
  39085. const m_ST_RDONLY = 1
  39086. const m_ST_RELATIME = 4096
  39087. const m_ST_SYNCHRONOUS = 16
  39088. const m_ST_WRITE = 128
  39089. const m_S_IFDIR3 = 16384
  39090. const m_S_IFMT5 = 61440
  39091. const m_TCFLSH = 0x540B
  39092. const m_TCGETA = 0x5405
  39093. const m_TCGETS = 0x5401
  39094. const m_TCGETX = 0x5432
  39095. const m_TCSBRK = 0x5409
  39096. const m_TCSBRKP = 0x5425
  39097. const m_TCSETA = 0x5406
  39098. const m_TCSETAF = 0x5408
  39099. const m_TCSETAW = 0x5407
  39100. const m_TCSETS = 0x5402
  39101. const m_TCSETSF = 0x5404
  39102. const m_TCSETSW = 0x5403
  39103. const m_TCSETX = 0x5433
  39104. const m_TCSETXF = 0x5434
  39105. const m_TCSETXW = 0x5435
  39106. const m_TCXONC = 0x540A
  39107. const m_TIOCCBRK = 0x5428
  39108. const m_TIOCCONS = 0x541D
  39109. const m_TIOCEXCL = 0x540C
  39110. const m_TIOCGDEV = 0x80045432
  39111. const m_TIOCGETD = 0x5424
  39112. const m_TIOCGEXCL = 0x80045440
  39113. const m_TIOCGICOUNT = 0x545D
  39114. const m_TIOCGISO7816 = 0x80285442
  39115. const m_TIOCGLCKTRMIOS = 0x5456
  39116. const m_TIOCGPGRP = 0x540F
  39117. const m_TIOCGPKT = 0x80045438
  39118. const m_TIOCGPTLCK = 0x80045439
  39119. const m_TIOCGPTN = 0x80045430
  39120. const m_TIOCGPTPEER = 0x5441
  39121. const m_TIOCGRS485 = 0x542E
  39122. const m_TIOCGSERIAL = 0x541E
  39123. const m_TIOCGSID = 0x5429
  39124. const m_TIOCGSOFTCAR = 0x5419
  39125. const m_TIOCGWINSZ = 0x5413
  39126. const m_TIOCINQ = "FIONREAD"
  39127. const m_TIOCLINUX = 0x541C
  39128. const m_TIOCMBIC = 0x5417
  39129. const m_TIOCMBIS = 0x5416
  39130. const m_TIOCMGET = 0x5415
  39131. const m_TIOCMIWAIT = 0x545C
  39132. const m_TIOCMSET = 0x5418
  39133. const m_TIOCM_CAR = 0x040
  39134. const m_TIOCM_CD = "TIOCM_CAR"
  39135. const m_TIOCM_CTS = 0x020
  39136. const m_TIOCM_DSR = 0x100
  39137. const m_TIOCM_DTR = 0x002
  39138. const m_TIOCM_LE = 0x001
  39139. const m_TIOCM_LOOP = 0x8000
  39140. const m_TIOCM_OUT1 = 0x2000
  39141. const m_TIOCM_OUT2 = 0x4000
  39142. const m_TIOCM_RI = "TIOCM_RNG"
  39143. const m_TIOCM_RNG = 0x080
  39144. const m_TIOCM_RTS = 0x004
  39145. const m_TIOCM_SR = 0x010
  39146. const m_TIOCM_ST = 0x008
  39147. const m_TIOCNOTTY = 0x5422
  39148. const m_TIOCNXCL = 0x540D
  39149. const m_TIOCOUTQ = 0x5411
  39150. const m_TIOCPKT = 0x5420
  39151. const m_TIOCPKT_DATA = 0
  39152. const m_TIOCPKT_DOSTOP = 32
  39153. const m_TIOCPKT_FLUSHREAD = 1
  39154. const m_TIOCPKT_FLUSHWRITE = 2
  39155. const m_TIOCPKT_IOCTL = 64
  39156. const m_TIOCPKT_NOSTOP = 16
  39157. const m_TIOCPKT_START = 8
  39158. const m_TIOCPKT_STOP = 4
  39159. const m_TIOCSBRK = 0x5427
  39160. const m_TIOCSCTTY = 0x540E
  39161. const m_TIOCSERCONFIG = 0x5453
  39162. const m_TIOCSERGETLSR = 0x5459
  39163. const m_TIOCSERGETMULTI = 0x545A
  39164. const m_TIOCSERGSTRUCT = 0x5458
  39165. const m_TIOCSERGWILD = 0x5454
  39166. const m_TIOCSERSETMULTI = 0x545B
  39167. const m_TIOCSERSWILD = 0x5455
  39168. const m_TIOCSER_TEMT = 1
  39169. const m_TIOCSETD = 0x5423
  39170. const m_TIOCSIG = 0x40045436
  39171. const m_TIOCSISO7816 = 0xc0285443
  39172. const m_TIOCSLCKTRMIOS = 0x5457
  39173. const m_TIOCSPGRP = 0x5410
  39174. const m_TIOCSPTLCK = 0x40045431
  39175. const m_TIOCSRS485 = 0x542F
  39176. const m_TIOCSSERIAL = 0x541F
  39177. const m_TIOCSSOFTCAR = 0x541A
  39178. const m_TIOCSTI = 0x5412
  39179. const m_TIOCSWINSZ = 0x5414
  39180. const m_TIOCVHANGUP = 0x5437
  39181. const m_UINT64_MAX2 = "0xffffffffffffffffu"
  39182. const m_UMOUNT_NOFOLLOW = 8
  39183. const m__IOC_NONE = 0
  39184. const m__IOC_READ = 2
  39185. const m__IOC_WRITE = 1
  39186. const m_prlimit64 = "prlimit"
  39187. type Tstatvfs = struct {
  39188. Ff_bsize uint64
  39189. Ff_frsize uint64
  39190. Ff_blocks Tfsblkcnt_t
  39191. Ff_bfree Tfsblkcnt_t
  39192. Ff_bavail Tfsblkcnt_t
  39193. Ff_files Tfsfilcnt_t
  39194. Ff_ffree Tfsfilcnt_t
  39195. Ff_favail Tfsfilcnt_t
  39196. Ff_fsid uint64
  39197. Ff_flag uint64
  39198. Ff_namemax uint64
  39199. Ff_type uint32
  39200. F__reserved [5]int32
  39201. }
  39202. type Tfsid_t = struct {
  39203. F__val [2]int32
  39204. }
  39205. type t__fsid_t = Tfsid_t
  39206. type Tstatfs = struct {
  39207. Ff_type uint64
  39208. Ff_bsize uint64
  39209. Ff_blocks Tfsblkcnt_t
  39210. Ff_bfree Tfsblkcnt_t
  39211. Ff_bavail Tfsblkcnt_t
  39212. Ff_files Tfsfilcnt_t
  39213. Ff_ffree Tfsfilcnt_t
  39214. Ff_fsid Tfsid_t
  39215. Ff_namelen uint64
  39216. Ff_frsize uint64
  39217. Ff_flags uint64
  39218. Ff_spare [4]uint64
  39219. }
  39220. type Trlim_t = uint64
  39221. type Trlimit = struct {
  39222. Frlim_cur Trlim_t
  39223. Frlim_max Trlim_t
  39224. }
  39225. type Trusage = struct {
  39226. Fru_utime Ttimeval
  39227. Fru_stime Ttimeval
  39228. Fru_maxrss int64
  39229. Fru_ixrss int64
  39230. Fru_idrss int64
  39231. Fru_isrss int64
  39232. Fru_minflt int64
  39233. Fru_majflt int64
  39234. Fru_nswap int64
  39235. Fru_inblock int64
  39236. Fru_oublock int64
  39237. Fru_msgsnd int64
  39238. Fru_msgrcv int64
  39239. Fru_nsignals int64
  39240. Fru_nvcsw int64
  39241. Fru_nivcsw int64
  39242. F__reserved [16]int64
  39243. }
  39244. type Twinsize = struct {
  39245. Fws_row uint16
  39246. Fws_col uint16
  39247. Fws_xpixel uint16
  39248. Fws_ypixel uint16
  39249. }
  39250. func XFcStat(tls *libc.TLS, file uintptr, statb uintptr) (r int32) {
  39251. return libc.Xstat(tls, file, statb)
  39252. }
  39253. /* Adler-32 checksum implementation */
  39254. type TAdler32 = struct {
  39255. Fa int32
  39256. Fb int32
  39257. }
  39258. func _Adler32Init(tls *libc.TLS, ctx uintptr) {
  39259. (*TAdler32)(unsafe.Pointer(ctx)).Fa = int32(1)
  39260. (*TAdler32)(unsafe.Pointer(ctx)).Fb = 0
  39261. }
  39262. func _Adler32Update(tls *libc.TLS, ctx uintptr, data uintptr, data_len int32) {
  39263. var v1 int32
  39264. var v2 uintptr
  39265. _, _ = v1, v2
  39266. for {
  39267. v1 = data_len
  39268. data_len--
  39269. if !(v1 != 0) {
  39270. break
  39271. }
  39272. v2 = data
  39273. data++
  39274. (*TAdler32)(unsafe.Pointer(ctx)).Fa = ((*TAdler32)(unsafe.Pointer(ctx)).Fa + libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(v2)))) % int32(65521)
  39275. (*TAdler32)(unsafe.Pointer(ctx)).Fb = ((*TAdler32)(unsafe.Pointer(ctx)).Fb + (*TAdler32)(unsafe.Pointer(ctx)).Fa) % int32(65521)
  39276. }
  39277. }
  39278. func _Adler32Finish(tls *libc.TLS, ctx uintptr) (r int32) {
  39279. return (*TAdler32)(unsafe.Pointer(ctx)).Fa + (*TAdler32)(unsafe.Pointer(ctx)).Fb<<int32(16)
  39280. }
  39281. // C documentation
  39282. //
  39283. // /* dirent.d_type can be relied upon on FAT filesystem */
  39284. func _FcDirChecksumScandirFilter(tls *libc.TLS, entry uintptr) (r TFcBool) {
  39285. return libc.BoolInt32(libc.Int32FromUint8((*Tdirent)(unsafe.Pointer(entry)).Fd_type) != int32(m_DT_DIR))
  39286. }
  39287. func _FcDirChecksumScandirSorter(tls *libc.TLS, lhs uintptr, rhs uintptr) (r int32) {
  39288. return libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(lhs))+19, *(*uintptr)(unsafe.Pointer(rhs))+19)
  39289. }
  39290. func _free_dirent(tls *libc.TLS, p uintptr) {
  39291. var x uintptr
  39292. _ = x
  39293. x = p
  39294. for {
  39295. if !(*(*uintptr)(unsafe.Pointer(x)) != libc.UintptrFromInt32(0)) {
  39296. break
  39297. }
  39298. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(x)))
  39299. goto _1
  39300. _1:
  39301. ;
  39302. x += 8
  39303. }
  39304. libc.Xfree(tls, p)
  39305. }
  39306. func XFcScandir(tls *libc.TLS, dirp uintptr, namelist uintptr, filter uintptr, compar uintptr) (r int32) {
  39307. var d, dent, dlist, dlp, p, v1 uintptr
  39308. var dentlen, lsize, n, v2 Tsize_t
  39309. _, _, _, _, _, _, _, _, _, _ = d, dent, dentlen, dlist, dlp, lsize, n, p, v1, v2
  39310. lsize = uint64(128)
  39311. n = uint64(0)
  39312. d = libc.Xopendir(tls, dirp)
  39313. if !(d != 0) {
  39314. return -int32(1)
  39315. }
  39316. dlist = libc.Xmalloc(tls, uint64(8)*lsize)
  39317. if !(dlist != 0) {
  39318. libc.Xclosedir(tls, d)
  39319. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = int32(m_ENOMEM)
  39320. return -int32(1)
  39321. }
  39322. *(*uintptr)(unsafe.Pointer(dlist)) = libc.UintptrFromInt32(0)
  39323. for {
  39324. v1 = libc.Xreaddir(tls, d)
  39325. dent = v1
  39326. if !(v1 != 0) {
  39327. break
  39328. }
  39329. if !(filter != 0) || (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{filter})))(tls, dent) != 0 {
  39330. dentlen = libc.Uint64FromInt64(Tintptr_t(dent+19)-int64(dent)) + libc.Xstrlen(tls, dent+19) + uint64(1)
  39331. dentlen = (dentlen + libc.Uint64FromInt32(m_ALIGNOF_VOID_P) - libc.Uint64FromInt32(1)) & libc.Uint64FromInt32(^(libc.Int32FromInt32(m_ALIGNOF_VOID_P) - libc.Int32FromInt32(1)))
  39332. p = libc.Xmalloc(tls, dentlen)
  39333. if !(p != 0) {
  39334. _free_dirent(tls, dlist)
  39335. libc.Xclosedir(tls, d)
  39336. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = int32(m_ENOMEM)
  39337. return -int32(1)
  39338. }
  39339. libc.Xmemcpy(tls, p, dent, dentlen)
  39340. if n+uint64(1) >= lsize {
  39341. lsize += uint64(128)
  39342. dlp = libc.Xrealloc(tls, dlist, uint64(8)*lsize)
  39343. if !(dlp != 0) {
  39344. libc.Xfree(tls, p)
  39345. _free_dirent(tls, dlist)
  39346. libc.Xclosedir(tls, d)
  39347. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = int32(m_ENOMEM)
  39348. return -int32(1)
  39349. }
  39350. dlist = dlp
  39351. }
  39352. v2 = n
  39353. n++
  39354. *(*uintptr)(unsafe.Pointer(dlist + uintptr(v2)*8)) = p
  39355. *(*uintptr)(unsafe.Pointer(dlist + uintptr(n)*8)) = libc.UintptrFromInt32(0)
  39356. }
  39357. }
  39358. libc.Xclosedir(tls, d)
  39359. libc.Xqsort(tls, dlist, n, uint64(8), compar)
  39360. *(*uintptr)(unsafe.Pointer(namelist)) = dlist
  39361. return libc.Int32FromUint64(n)
  39362. }
  39363. func _FcDirChecksum1(tls *libc.TLS, dir uintptr, checksum uintptr) (r int32) {
  39364. bp := tls.Alloc(160)
  39365. defer tls.Free(160)
  39366. var dlen, len1 Tsize_t
  39367. var f uintptr
  39368. var n, ret, v1 int32
  39369. var _ /* ctx at bp+0 */ TAdler32
  39370. var _ /* dtype at bp+16 */ int32
  39371. var _ /* files at bp+8 */ uintptr
  39372. var _ /* statb at bp+24 */ Tstat
  39373. _, _, _, _, _, _ = dlen, f, len1, n, ret, v1
  39374. ret = 0
  39375. len1 = libc.Xstrlen(tls, dir)
  39376. _Adler32Init(tls, bp)
  39377. n = XFcScandir(tls, dir, bp+8, __ccgo_fp(_FcDirChecksumScandirFilter), __ccgo_fp(_FcDirChecksumScandirSorter))
  39378. if n == -int32(1) {
  39379. return -int32(1)
  39380. }
  39381. for {
  39382. v1 = n
  39383. n--
  39384. if !(v1 != 0) {
  39385. break
  39386. }
  39387. dlen = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8))+19)
  39388. *(*int32)(unsafe.Pointer(bp + 16)) = libc.Int32FromUint8((*Tdirent)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8)))).Fd_type)
  39389. if *(*int32)(unsafe.Pointer(bp + 16)) == m_DT_UNKNOWN {
  39390. f = libc.Xmalloc(tls, len1+uint64(1)+dlen+uint64(1))
  39391. if !(f != 0) {
  39392. ret = -int32(1)
  39393. goto bail
  39394. }
  39395. libc.Xmemcpy(tls, f, dir, len1)
  39396. *(*uint8)(unsafe.Pointer(f + uintptr(len1))) = uint8('/')
  39397. libc.Xmemcpy(tls, f+uintptr(len1+uint64(1)), *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8))+19, dlen)
  39398. *(*uint8)(unsafe.Pointer(f + uintptr(len1+uint64(1)+dlen))) = uint8(0)
  39399. if libc.Xlstat(tls, f, bp+24) < 0 {
  39400. ret = -int32(1)
  39401. libc.Xfree(tls, f)
  39402. goto bail
  39403. }
  39404. if (*(*Tstat)(unsafe.Pointer(bp + 24))).Fst_mode&uint32(m_S_IFMT5) == uint32(m_S_IFDIR3) {
  39405. libc.Xfree(tls, f)
  39406. goto bail
  39407. }
  39408. libc.Xfree(tls, f)
  39409. *(*int32)(unsafe.Pointer(bp + 16)) = libc.Int32FromUint32((*(*Tstat)(unsafe.Pointer(bp + 24))).Fst_mode)
  39410. }
  39411. _Adler32Update(tls, bp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8))+19, libc.Int32FromUint64(dlen+uint64(1)))
  39412. _Adler32Update(tls, bp, bp+16, int32(4))
  39413. goto bail
  39414. bail:
  39415. ;
  39416. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8)))
  39417. }
  39418. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  39419. if ret == -int32(1) {
  39420. return -int32(1)
  39421. }
  39422. *(*Ttime_t)(unsafe.Pointer(checksum)) = int64(_Adler32Finish(tls, bp))
  39423. return 0
  39424. }
  39425. func XFcStatChecksum(tls *libc.TLS, file uintptr, statb uintptr) (r int32) {
  39426. if XFcStat(tls, file, statb) == -int32(1) {
  39427. return -int32(1)
  39428. }
  39429. /* We have a workaround of the broken stat() in FcStat() for Win32.
  39430. * No need to do something further more.
  39431. */
  39432. if XFcIsFsMtimeBroken(tls, file) != 0 {
  39433. if _FcDirChecksum1(tls, file, statb+88) == -int32(1) {
  39434. return -int32(1)
  39435. }
  39436. }
  39437. return 0
  39438. }
  39439. func _FcFStatFs(tls *libc.TLS, fd int32, statb uintptr) (r int32) {
  39440. bp := tls.Alloc(128)
  39441. defer tls.Free(128)
  39442. var flag TFcBool
  39443. var p uintptr
  39444. var ret, v1 int32
  39445. var _ /* buf at bp+0 */ Tstatfs
  39446. _, _, _, _ = flag, p, ret, v1
  39447. p = libc.UintptrFromInt32(0)
  39448. ret = -int32(1)
  39449. flag = m_FcFalse
  39450. libc.Xmemset(tls, statb, 0, uint64(8))
  39451. v1 = libc.Xfstatfs(tls, fd, bp)
  39452. ret = v1
  39453. if v1 == 0 {
  39454. switch (*(*Tstatfs)(unsafe.Pointer(bp))).Ff_type {
  39455. case uint64(0x6969): /* nfs */
  39456. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_remote_fs = int32(m_FcTrue)
  39457. case uint64(0x4d44): /* fat */
  39458. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_mtime_broken = int32(m_FcTrue)
  39459. default:
  39460. break
  39461. }
  39462. return ret
  39463. }
  39464. if p != 0 {
  39465. if !(flag != 0) && libc.Xstrcmp(tls, p, __ccgo_ts+6958) == 0 {
  39466. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_remote_fs = int32(m_FcTrue)
  39467. }
  39468. if libc.Xstrcmp(tls, p, __ccgo_ts+6962) == 0 || libc.Xstrcmp(tls, p, __ccgo_ts+6970) == 0 {
  39469. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_mtime_broken = int32(m_FcTrue)
  39470. }
  39471. }
  39472. return ret
  39473. }
  39474. func XFcIsFsMmapSafe(tls *libc.TLS, fd int32) (r TFcBool) {
  39475. bp := tls.Alloc(16)
  39476. defer tls.Free(16)
  39477. var _ /* statb at bp+0 */ TFcStatFS
  39478. if _FcFStatFs(tls, fd, bp) < 0 {
  39479. return int32(m_FcTrue)
  39480. }
  39481. return libc.BoolInt32(!((*(*TFcStatFS)(unsafe.Pointer(bp))).Fis_remote_fs != 0))
  39482. }
  39483. func XFcIsFsMtimeBroken(tls *libc.TLS, dir uintptr) (r TFcBool) {
  39484. bp := tls.Alloc(16)
  39485. defer tls.Free(16)
  39486. var fd, ret int32
  39487. var _ /* statb at bp+0 */ TFcStatFS
  39488. _, _ = fd, ret
  39489. fd = XFcOpen(tls, dir, m_O_RDONLY2, 0)
  39490. if fd != -int32(1) {
  39491. ret = _FcFStatFs(tls, fd, bp)
  39492. libc.Xclose(tls, fd)
  39493. if ret < 0 {
  39494. return m_FcFalse
  39495. }
  39496. return (*(*TFcStatFS)(unsafe.Pointer(bp))).Fis_mtime_broken
  39497. }
  39498. return m_FcFalse
  39499. }
  39500. const m_FC_MAX_CASE_FOLD_CHARS = 6
  39501. const m_FC_MAX_CASE_FOLD_EXPAND = 4
  39502. const m_FC_MAX_FOLD_CHAR = 125217
  39503. const m_FC_MIN_FOLD_CHAR = 65
  39504. const m_FC_NUM_CASE_FOLD = 302
  39505. const m_FC_NUM_CASE_FOLD_CHARS = 471
  39506. const m_S_IFDIR4 = 0040000
  39507. const m_S_IFMT6 = 0170000
  39508. /* Objects MT-safe for readonly access. */
  39509. func XIA__FcStrCopy(tls *libc.TLS, s uintptr) (r uintptr) {
  39510. return libc.Xstrdup(tls, s)
  39511. }
  39512. var XFcStrCopy = XIA__FcStrCopy
  39513. func _FcStrMakeTriple(tls *libc.TLS, s1 uintptr, s2 uintptr, s3 uintptr) (r uintptr) {
  39514. var l, s1l, s2l, s3l int32
  39515. var s uintptr
  39516. var v1, v2, v3 uint64
  39517. _, _, _, _, _, _, _, _ = l, s, s1l, s2l, s3l, v1, v2, v3
  39518. if s1 != 0 {
  39519. v1 = libc.Xstrlen(tls, s1)
  39520. } else {
  39521. v1 = uint64(0)
  39522. }
  39523. s1l = libc.Int32FromUint64(v1)
  39524. if s2 != 0 {
  39525. v2 = libc.Xstrlen(tls, s2)
  39526. } else {
  39527. v2 = uint64(0)
  39528. }
  39529. s2l = libc.Int32FromUint64(v2)
  39530. if s3 != 0 {
  39531. v3 = libc.Xstrlen(tls, s3)
  39532. } else {
  39533. v3 = uint64(0)
  39534. }
  39535. s3l = libc.Int32FromUint64(v3)
  39536. l = s1l + int32(1) + s2l + int32(1) + s3l + int32(1)
  39537. s = libc.Xmalloc(tls, libc.Uint64FromInt32(l))
  39538. if !(s != 0) {
  39539. return uintptr(0)
  39540. }
  39541. if s1 != 0 {
  39542. libc.Xmemcpy(tls, s, s1, libc.Uint64FromInt32(s1l+int32(1)))
  39543. } else {
  39544. *(*TFcChar8)(unsafe.Pointer(s)) = uint8('\000')
  39545. }
  39546. if s2 != 0 {
  39547. libc.Xmemcpy(tls, s+uintptr(s1l)+uintptr(1), s2, libc.Uint64FromInt32(s2l+int32(1)))
  39548. } else {
  39549. *(*TFcChar8)(unsafe.Pointer(s + uintptr(s1l+int32(1)))) = uint8('\000')
  39550. }
  39551. if s3 != 0 {
  39552. libc.Xmemcpy(tls, s+uintptr(s1l)+uintptr(1)+uintptr(s2l)+uintptr(1), s3, libc.Uint64FromInt32(s3l+int32(1)))
  39553. } else {
  39554. *(*TFcChar8)(unsafe.Pointer(s + uintptr(s1l+int32(1)+s2l+int32(1)))) = uint8('\000')
  39555. }
  39556. return s
  39557. }
  39558. func XIA__FcStrPlus(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  39559. var l, s1l, s2l int32
  39560. var s uintptr
  39561. _, _, _, _ = l, s, s1l, s2l
  39562. s1l = libc.Int32FromUint64(libc.Xstrlen(tls, s1))
  39563. s2l = libc.Int32FromUint64(libc.Xstrlen(tls, s2))
  39564. l = s1l + s2l + int32(1)
  39565. s = libc.Xmalloc(tls, libc.Uint64FromInt32(l))
  39566. if !(s != 0) {
  39567. return uintptr(0)
  39568. }
  39569. libc.Xmemcpy(tls, s, s1, libc.Uint64FromInt32(s1l))
  39570. libc.Xmemcpy(tls, s+uintptr(s1l), s2, libc.Uint64FromInt32(s2l+int32(1)))
  39571. return s
  39572. }
  39573. var XFcStrPlus = XIA__FcStrPlus
  39574. func XIA__FcStrFree(tls *libc.TLS, s uintptr) {
  39575. libc.Xfree(tls, s)
  39576. }
  39577. var XFcStrFree = XIA__FcStrFree
  39578. var _fcCaseFold = [302]TFcCaseFold{
  39579. 0: {
  39580. Fupper: uint32(0x00000041),
  39581. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  39582. Foffset: int16(32),
  39583. },
  39584. 1: {
  39585. Fupper: uint32(0x000000b5),
  39586. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39587. Foffset: int16(775),
  39588. },
  39589. 2: {
  39590. Fupper: uint32(0x000000c0),
  39591. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0017)&0x3fff<<2,
  39592. Foffset: int16(32),
  39593. },
  39594. 3: {
  39595. Fupper: uint32(0x000000d8),
  39596. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0007)&0x3fff<<2,
  39597. Foffset: int16(32),
  39598. },
  39599. 4: {
  39600. Fupper: uint32(0x000000df),
  39601. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39602. },
  39603. 5: {
  39604. Fupper: uint32(0x00000100),
  39605. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002f)&0x3fff<<2,
  39606. Foffset: int16(1),
  39607. },
  39608. 6: {
  39609. Fupper: uint32(0x00000130),
  39610. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39611. Foffset: int16(2),
  39612. },
  39613. 7: {
  39614. Fupper: uint32(0x00000132),
  39615. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39616. Foffset: int16(1),
  39617. },
  39618. 8: {
  39619. Fupper: uint32(0x00000139),
  39620. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000f)&0x3fff<<2,
  39621. Foffset: int16(1),
  39622. },
  39623. 9: {
  39624. Fupper: uint32(0x00000149),
  39625. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39626. Foffset: int16(5),
  39627. },
  39628. 10: {
  39629. Fupper: uint32(0x0000014a),
  39630. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002d)&0x3fff<<2,
  39631. Foffset: int16(1),
  39632. },
  39633. 11: {
  39634. Fupper: uint32(0x00000178),
  39635. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39636. Foffset: int16(-int32(121)),
  39637. },
  39638. 12: {
  39639. Fupper: uint32(0x00000179),
  39640. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39641. Foffset: int16(1),
  39642. },
  39643. 13: {
  39644. Fupper: uint32(0x0000017f),
  39645. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39646. Foffset: int16(-int32(268)),
  39647. },
  39648. 14: {
  39649. Fupper: uint32(0x00000181),
  39650. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39651. Foffset: int16(210),
  39652. },
  39653. 15: {
  39654. Fupper: uint32(0x00000182),
  39655. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39656. Foffset: int16(1),
  39657. },
  39658. 16: {
  39659. Fupper: uint32(0x00000186),
  39660. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39661. Foffset: int16(206),
  39662. },
  39663. 17: {
  39664. Fupper: uint32(0x00000187),
  39665. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39666. Foffset: int16(1),
  39667. },
  39668. 18: {
  39669. Fupper: uint32(0x00000189),
  39670. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39671. Foffset: int16(205),
  39672. },
  39673. 19: {
  39674. Fupper: uint32(0x0000018b),
  39675. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39676. Foffset: int16(1),
  39677. },
  39678. 20: {
  39679. Fupper: uint32(0x0000018e),
  39680. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39681. Foffset: int16(79),
  39682. },
  39683. 21: {
  39684. Fupper: uint32(0x0000018f),
  39685. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39686. Foffset: int16(202),
  39687. },
  39688. 22: {
  39689. Fupper: uint32(0x00000190),
  39690. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39691. Foffset: int16(203),
  39692. },
  39693. 23: {
  39694. Fupper: uint32(0x00000191),
  39695. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39696. Foffset: int16(1),
  39697. },
  39698. 24: {
  39699. Fupper: uint32(0x00000193),
  39700. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39701. Foffset: int16(205),
  39702. },
  39703. 25: {
  39704. Fupper: uint32(0x00000194),
  39705. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39706. Foffset: int16(207),
  39707. },
  39708. 26: {
  39709. Fupper: uint32(0x00000196),
  39710. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39711. Foffset: int16(211),
  39712. },
  39713. 27: {
  39714. Fupper: uint32(0x00000197),
  39715. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39716. Foffset: int16(209),
  39717. },
  39718. 28: {
  39719. Fupper: uint32(0x00000198),
  39720. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39721. Foffset: int16(1),
  39722. },
  39723. 29: {
  39724. Fupper: uint32(0x0000019c),
  39725. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39726. Foffset: int16(211),
  39727. },
  39728. 30: {
  39729. Fupper: uint32(0x0000019d),
  39730. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39731. Foffset: int16(213),
  39732. },
  39733. 31: {
  39734. Fupper: uint32(0x0000019f),
  39735. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39736. Foffset: int16(214),
  39737. },
  39738. 32: {
  39739. Fupper: uint32(0x000001a0),
  39740. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39741. Foffset: int16(1),
  39742. },
  39743. 33: {
  39744. Fupper: uint32(0x000001a6),
  39745. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39746. Foffset: int16(218),
  39747. },
  39748. 34: {
  39749. Fupper: uint32(0x000001a7),
  39750. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39751. Foffset: int16(1),
  39752. },
  39753. 35: {
  39754. Fupper: uint32(0x000001a9),
  39755. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39756. Foffset: int16(218),
  39757. },
  39758. 36: {
  39759. Fupper: uint32(0x000001ac),
  39760. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39761. Foffset: int16(1),
  39762. },
  39763. 37: {
  39764. Fupper: uint32(0x000001ae),
  39765. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39766. Foffset: int16(218),
  39767. },
  39768. 38: {
  39769. Fupper: uint32(0x000001af),
  39770. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39771. Foffset: int16(1),
  39772. },
  39773. 39: {
  39774. Fupper: uint32(0x000001b1),
  39775. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39776. Foffset: int16(217),
  39777. },
  39778. 40: {
  39779. Fupper: uint32(0x000001b3),
  39780. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39781. Foffset: int16(1),
  39782. },
  39783. 41: {
  39784. Fupper: uint32(0x000001b7),
  39785. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39786. Foffset: int16(219),
  39787. },
  39788. 42: {
  39789. Fupper: uint32(0x000001b8),
  39790. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39791. Foffset: int16(1),
  39792. },
  39793. 43: {
  39794. Fupper: uint32(0x000001bc),
  39795. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39796. Foffset: int16(1),
  39797. },
  39798. 44: {
  39799. Fupper: uint32(0x000001c4),
  39800. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39801. Foffset: int16(2),
  39802. },
  39803. 45: {
  39804. Fupper: uint32(0x000001c5),
  39805. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39806. Foffset: int16(1),
  39807. },
  39808. 46: {
  39809. Fupper: uint32(0x000001c7),
  39810. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39811. Foffset: int16(2),
  39812. },
  39813. 47: {
  39814. Fupper: uint32(0x000001c8),
  39815. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39816. Foffset: int16(1),
  39817. },
  39818. 48: {
  39819. Fupper: uint32(0x000001ca),
  39820. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39821. Foffset: int16(2),
  39822. },
  39823. 49: {
  39824. Fupper: uint32(0x000001cb),
  39825. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  39826. Foffset: int16(1),
  39827. },
  39828. 50: {
  39829. Fupper: uint32(0x000001de),
  39830. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  39831. Foffset: int16(1),
  39832. },
  39833. 51: {
  39834. Fupper: uint32(0x000001f0),
  39835. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39836. Foffset: int16(8),
  39837. },
  39838. 52: {
  39839. Fupper: uint32(0x000001f1),
  39840. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39841. Foffset: int16(2),
  39842. },
  39843. 53: {
  39844. Fupper: uint32(0x000001f2),
  39845. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39846. Foffset: int16(1),
  39847. },
  39848. 54: {
  39849. Fupper: uint32(0x000001f6),
  39850. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39851. Foffset: int16(-int32(97)),
  39852. },
  39853. 55: {
  39854. Fupper: uint32(0x000001f7),
  39855. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39856. Foffset: int16(-int32(56)),
  39857. },
  39858. 56: {
  39859. Fupper: uint32(0x000001f8),
  39860. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0027)&0x3fff<<2,
  39861. Foffset: int16(1),
  39862. },
  39863. 57: {
  39864. Fupper: uint32(0x00000220),
  39865. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39866. Foffset: int16(-int32(130)),
  39867. },
  39868. 58: {
  39869. Fupper: uint32(0x00000222),
  39870. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  39871. Foffset: int16(1),
  39872. },
  39873. 59: {
  39874. Fupper: uint32(0x0000023a),
  39875. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39876. Foffset: int16(10795),
  39877. },
  39878. 60: {
  39879. Fupper: uint32(0x0000023b),
  39880. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39881. Foffset: int16(1),
  39882. },
  39883. 61: {
  39884. Fupper: uint32(0x0000023d),
  39885. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39886. Foffset: int16(-int32(163)),
  39887. },
  39888. 62: {
  39889. Fupper: uint32(0x0000023e),
  39890. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39891. Foffset: int16(10792),
  39892. },
  39893. 63: {
  39894. Fupper: uint32(0x00000241),
  39895. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39896. Foffset: int16(1),
  39897. },
  39898. 64: {
  39899. Fupper: uint32(0x00000243),
  39900. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39901. Foffset: int16(-int32(195)),
  39902. },
  39903. 65: {
  39904. Fupper: uint32(0x00000244),
  39905. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39906. Foffset: int16(69),
  39907. },
  39908. 66: {
  39909. Fupper: uint32(0x00000245),
  39910. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39911. Foffset: int16(71),
  39912. },
  39913. 67: {
  39914. Fupper: uint32(0x00000246),
  39915. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  39916. Foffset: int16(1),
  39917. },
  39918. 68: {
  39919. Fupper: uint32(0x00000345),
  39920. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39921. Foffset: int16(116),
  39922. },
  39923. 69: {
  39924. Fupper: uint32(0x00000370),
  39925. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39926. Foffset: int16(1),
  39927. },
  39928. 70: {
  39929. Fupper: uint32(0x00000376),
  39930. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39931. Foffset: int16(1),
  39932. },
  39933. 71: {
  39934. Fupper: uint32(0x0000037f),
  39935. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39936. Foffset: int16(116),
  39937. },
  39938. 72: {
  39939. Fupper: uint32(0x00000386),
  39940. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39941. Foffset: int16(38),
  39942. },
  39943. 73: {
  39944. Fupper: uint32(0x00000388),
  39945. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39946. Foffset: int16(37),
  39947. },
  39948. 74: {
  39949. Fupper: uint32(0x0000038c),
  39950. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39951. Foffset: int16(64),
  39952. },
  39953. 75: {
  39954. Fupper: uint32(0x0000038e),
  39955. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39956. Foffset: int16(63),
  39957. },
  39958. 76: {
  39959. Fupper: uint32(0x00000390),
  39960. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39961. Foffset: int16(11),
  39962. },
  39963. 77: {
  39964. Fupper: uint32(0x00000391),
  39965. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  39966. Foffset: int16(32),
  39967. },
  39968. 78: {
  39969. Fupper: uint32(0x000003a3),
  39970. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  39971. Foffset: int16(32),
  39972. },
  39973. 79: {
  39974. Fupper: uint32(0x000003b0),
  39975. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39976. Foffset: int16(17),
  39977. },
  39978. 80: {
  39979. Fupper: uint32(0x000003c2),
  39980. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39981. Foffset: int16(1),
  39982. },
  39983. 81: {
  39984. Fupper: uint32(0x000003cf),
  39985. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39986. Foffset: int16(8),
  39987. },
  39988. 82: {
  39989. Fupper: uint32(0x000003d0),
  39990. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39991. Foffset: int16(-int32(30)),
  39992. },
  39993. 83: {
  39994. Fupper: uint32(0x000003d1),
  39995. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39996. Foffset: int16(-int32(25)),
  39997. },
  39998. 84: {
  39999. Fupper: uint32(0x000003d5),
  40000. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40001. Foffset: int16(-int32(15)),
  40002. },
  40003. 85: {
  40004. Fupper: uint32(0x000003d6),
  40005. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40006. Foffset: int16(-int32(22)),
  40007. },
  40008. 86: {
  40009. Fupper: uint32(0x000003d8),
  40010. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0017)&0x3fff<<2,
  40011. Foffset: int16(1),
  40012. },
  40013. 87: {
  40014. Fupper: uint32(0x000003f0),
  40015. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40016. Foffset: int16(-int32(54)),
  40017. },
  40018. 88: {
  40019. Fupper: uint32(0x000003f1),
  40020. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40021. Foffset: int16(-int32(48)),
  40022. },
  40023. 89: {
  40024. Fupper: uint32(0x000003f4),
  40025. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40026. Foffset: int16(-int32(60)),
  40027. },
  40028. 90: {
  40029. Fupper: uint32(0x000003f5),
  40030. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40031. Foffset: int16(-int32(64)),
  40032. },
  40033. 91: {
  40034. Fupper: uint32(0x000003f7),
  40035. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40036. Foffset: int16(1),
  40037. },
  40038. 92: {
  40039. Fupper: uint32(0x000003f9),
  40040. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40041. Foffset: int16(-int32(7)),
  40042. },
  40043. 93: {
  40044. Fupper: uint32(0x000003fa),
  40045. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40046. Foffset: int16(1),
  40047. },
  40048. 94: {
  40049. Fupper: uint32(0x000003fd),
  40050. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40051. Foffset: int16(-int32(130)),
  40052. },
  40053. 95: {
  40054. Fupper: uint32(0x00000400),
  40055. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0010)&0x3fff<<2,
  40056. Foffset: int16(80),
  40057. },
  40058. 96: {
  40059. Fupper: uint32(0x00000410),
  40060. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  40061. Foffset: int16(32),
  40062. },
  40063. 97: {
  40064. Fupper: uint32(0x00000460),
  40065. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0021)&0x3fff<<2,
  40066. Foffset: int16(1),
  40067. },
  40068. 98: {
  40069. Fupper: uint32(0x0000048a),
  40070. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0035)&0x3fff<<2,
  40071. Foffset: int16(1),
  40072. },
  40073. 99: {
  40074. Fupper: uint32(0x000004c0),
  40075. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40076. Foffset: int16(15),
  40077. },
  40078. 100: {
  40079. Fupper: uint32(0x000004c1),
  40080. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000d)&0x3fff<<2,
  40081. Foffset: int16(1),
  40082. },
  40083. 101: {
  40084. Fupper: uint32(0x000004d0),
  40085. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x005f)&0x3fff<<2,
  40086. Foffset: int16(1),
  40087. },
  40088. 102: {
  40089. Fupper: uint32(0x00000531),
  40090. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0026)&0x3fff<<2,
  40091. Foffset: int16(48),
  40092. },
  40093. 103: {
  40094. Fupper: uint32(0x00000587),
  40095. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40096. Foffset: int16(23),
  40097. },
  40098. 104: {
  40099. Fupper: uint32(0x000010a0),
  40100. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0026)&0x3fff<<2,
  40101. Foffset: int16(7264),
  40102. },
  40103. 105: {
  40104. Fupper: uint32(0x000010c7),
  40105. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40106. Foffset: int16(7264),
  40107. },
  40108. 106: {
  40109. Fupper: uint32(0x000010cd),
  40110. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40111. Foffset: int16(7264),
  40112. },
  40113. 107: {
  40114. Fupper: uint32(0x000013f8),
  40115. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40116. Foffset: int16(-int32(8)),
  40117. },
  40118. 108: {
  40119. Fupper: uint32(0x00001c80),
  40120. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40121. Foffset: int16(-int32(6222)),
  40122. },
  40123. 109: {
  40124. Fupper: uint32(0x00001c81),
  40125. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40126. Foffset: int16(-int32(6221)),
  40127. },
  40128. 110: {
  40129. Fupper: uint32(0x00001c82),
  40130. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40131. Foffset: int16(-int32(6212)),
  40132. },
  40133. 111: {
  40134. Fupper: uint32(0x00001c83),
  40135. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40136. Foffset: int16(-int32(6210)),
  40137. },
  40138. 112: {
  40139. Fupper: uint32(0x00001c85),
  40140. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40141. Foffset: int16(-int32(6211)),
  40142. },
  40143. 113: {
  40144. Fupper: uint32(0x00001c86),
  40145. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40146. Foffset: int16(-int32(6204)),
  40147. },
  40148. 114: {
  40149. Fupper: uint32(0x00001c87),
  40150. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40151. Foffset: int16(-int32(6180)),
  40152. },
  40153. 115: {
  40154. Fupper: uint32(0x00001c88),
  40155. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40156. Foffset: int16(-int32(30269)),
  40157. },
  40158. 116: {
  40159. Fupper: uint32(0x00001c90),
  40160. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x002b)&0x3fff<<2,
  40161. Foffset: int16(-int32(3008)),
  40162. },
  40163. 117: {
  40164. Fupper: uint32(0x00001cbd),
  40165. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40166. Foffset: int16(-int32(3008)),
  40167. },
  40168. 118: {
  40169. Fupper: uint32(0x00001e00),
  40170. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0095)&0x3fff<<2,
  40171. Foffset: int16(1),
  40172. },
  40173. 119: {
  40174. Fupper: uint32(0x00001e96),
  40175. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40176. Foffset: int16(27),
  40177. },
  40178. 120: {
  40179. Fupper: uint32(0x00001e97),
  40180. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40181. Foffset: int16(30),
  40182. },
  40183. 121: {
  40184. Fupper: uint32(0x00001e98),
  40185. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40186. Foffset: int16(33),
  40187. },
  40188. 122: {
  40189. Fupper: uint32(0x00001e99),
  40190. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40191. Foffset: int16(36),
  40192. },
  40193. 123: {
  40194. Fupper: uint32(0x00001e9a),
  40195. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40196. Foffset: int16(39),
  40197. },
  40198. 124: {
  40199. Fupper: uint32(0x00001e9b),
  40200. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40201. Foffset: int16(-int32(58)),
  40202. },
  40203. 125: {
  40204. Fupper: uint32(0x00001e9e),
  40205. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40206. Foffset: int16(42),
  40207. },
  40208. 126: {
  40209. Fupper: uint32(0x00001ea0),
  40210. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x005f)&0x3fff<<2,
  40211. Foffset: int16(1),
  40212. },
  40213. 127: {
  40214. Fupper: uint32(0x00001f08),
  40215. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  40216. Foffset: int16(-int32(8)),
  40217. },
  40218. 128: {
  40219. Fupper: uint32(0x00001f18),
  40220. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40221. Foffset: int16(-int32(8)),
  40222. },
  40223. 129: {
  40224. Fupper: uint32(0x00001f28),
  40225. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  40226. Foffset: int16(-int32(8)),
  40227. },
  40228. 130: {
  40229. Fupper: uint32(0x00001f38),
  40230. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  40231. Foffset: int16(-int32(8)),
  40232. },
  40233. 131: {
  40234. Fupper: uint32(0x00001f48),
  40235. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40236. Foffset: int16(-int32(8)),
  40237. },
  40238. 132: {
  40239. Fupper: uint32(0x00001f50),
  40240. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40241. Foffset: int16(44),
  40242. },
  40243. 133: {
  40244. Fupper: uint32(0x00001f52),
  40245. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40246. Foffset: int16(48),
  40247. },
  40248. 134: {
  40249. Fupper: uint32(0x00001f54),
  40250. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40251. Foffset: int16(54),
  40252. },
  40253. 135: {
  40254. Fupper: uint32(0x00001f56),
  40255. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40256. Foffset: int16(60),
  40257. },
  40258. 136: {
  40259. Fupper: uint32(0x00001f59),
  40260. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40261. Foffset: int16(-int32(8)),
  40262. },
  40263. 137: {
  40264. Fupper: uint32(0x00001f5b),
  40265. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40266. Foffset: int16(-int32(8)),
  40267. },
  40268. 138: {
  40269. Fupper: uint32(0x00001f5d),
  40270. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40271. Foffset: int16(-int32(8)),
  40272. },
  40273. 139: {
  40274. Fupper: uint32(0x00001f5f),
  40275. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40276. Foffset: int16(-int32(8)),
  40277. },
  40278. 140: {
  40279. Fupper: uint32(0x00001f68),
  40280. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  40281. Foffset: int16(-int32(8)),
  40282. },
  40283. 141: {
  40284. Fupper: uint32(0x00001f80),
  40285. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40286. Foffset: int16(66),
  40287. },
  40288. 142: {
  40289. Fupper: uint32(0x00001f81),
  40290. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40291. Foffset: int16(71),
  40292. },
  40293. 143: {
  40294. Fupper: uint32(0x00001f82),
  40295. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40296. Foffset: int16(76),
  40297. },
  40298. 144: {
  40299. Fupper: uint32(0x00001f83),
  40300. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40301. Foffset: int16(81),
  40302. },
  40303. 145: {
  40304. Fupper: uint32(0x00001f84),
  40305. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40306. Foffset: int16(86),
  40307. },
  40308. 146: {
  40309. Fupper: uint32(0x00001f85),
  40310. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40311. Foffset: int16(91),
  40312. },
  40313. 147: {
  40314. Fupper: uint32(0x00001f86),
  40315. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40316. Foffset: int16(96),
  40317. },
  40318. 148: {
  40319. Fupper: uint32(0x00001f87),
  40320. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40321. Foffset: int16(101),
  40322. },
  40323. 149: {
  40324. Fupper: uint32(0x00001f88),
  40325. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40326. Foffset: int16(106),
  40327. },
  40328. 150: {
  40329. Fupper: uint32(0x00001f89),
  40330. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40331. Foffset: int16(111),
  40332. },
  40333. 151: {
  40334. Fupper: uint32(0x00001f8a),
  40335. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40336. Foffset: int16(116),
  40337. },
  40338. 152: {
  40339. Fupper: uint32(0x00001f8b),
  40340. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40341. Foffset: int16(121),
  40342. },
  40343. 153: {
  40344. Fupper: uint32(0x00001f8c),
  40345. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40346. Foffset: int16(126),
  40347. },
  40348. 154: {
  40349. Fupper: uint32(0x00001f8d),
  40350. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40351. Foffset: int16(131),
  40352. },
  40353. 155: {
  40354. Fupper: uint32(0x00001f8e),
  40355. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40356. Foffset: int16(136),
  40357. },
  40358. 156: {
  40359. Fupper: uint32(0x00001f8f),
  40360. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40361. Foffset: int16(141),
  40362. },
  40363. 157: {
  40364. Fupper: uint32(0x00001f90),
  40365. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40366. Foffset: int16(146),
  40367. },
  40368. 158: {
  40369. Fupper: uint32(0x00001f91),
  40370. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40371. Foffset: int16(151),
  40372. },
  40373. 159: {
  40374. Fupper: uint32(0x00001f92),
  40375. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40376. Foffset: int16(156),
  40377. },
  40378. 160: {
  40379. Fupper: uint32(0x00001f93),
  40380. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40381. Foffset: int16(161),
  40382. },
  40383. 161: {
  40384. Fupper: uint32(0x00001f94),
  40385. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40386. Foffset: int16(166),
  40387. },
  40388. 162: {
  40389. Fupper: uint32(0x00001f95),
  40390. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40391. Foffset: int16(171),
  40392. },
  40393. 163: {
  40394. Fupper: uint32(0x00001f96),
  40395. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40396. Foffset: int16(176),
  40397. },
  40398. 164: {
  40399. Fupper: uint32(0x00001f97),
  40400. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40401. Foffset: int16(181),
  40402. },
  40403. 165: {
  40404. Fupper: uint32(0x00001f98),
  40405. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40406. Foffset: int16(186),
  40407. },
  40408. 166: {
  40409. Fupper: uint32(0x00001f99),
  40410. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40411. Foffset: int16(191),
  40412. },
  40413. 167: {
  40414. Fupper: uint32(0x00001f9a),
  40415. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40416. Foffset: int16(196),
  40417. },
  40418. 168: {
  40419. Fupper: uint32(0x00001f9b),
  40420. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40421. Foffset: int16(201),
  40422. },
  40423. 169: {
  40424. Fupper: uint32(0x00001f9c),
  40425. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40426. Foffset: int16(206),
  40427. },
  40428. 170: {
  40429. Fupper: uint32(0x00001f9d),
  40430. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40431. Foffset: int16(211),
  40432. },
  40433. 171: {
  40434. Fupper: uint32(0x00001f9e),
  40435. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40436. Foffset: int16(216),
  40437. },
  40438. 172: {
  40439. Fupper: uint32(0x00001f9f),
  40440. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40441. Foffset: int16(221),
  40442. },
  40443. 173: {
  40444. Fupper: uint32(0x00001fa0),
  40445. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40446. Foffset: int16(226),
  40447. },
  40448. 174: {
  40449. Fupper: uint32(0x00001fa1),
  40450. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40451. Foffset: int16(231),
  40452. },
  40453. 175: {
  40454. Fupper: uint32(0x00001fa2),
  40455. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40456. Foffset: int16(236),
  40457. },
  40458. 176: {
  40459. Fupper: uint32(0x00001fa3),
  40460. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40461. Foffset: int16(241),
  40462. },
  40463. 177: {
  40464. Fupper: uint32(0x00001fa4),
  40465. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40466. Foffset: int16(246),
  40467. },
  40468. 178: {
  40469. Fupper: uint32(0x00001fa5),
  40470. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40471. Foffset: int16(251),
  40472. },
  40473. 179: {
  40474. Fupper: uint32(0x00001fa6),
  40475. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40476. Foffset: int16(256),
  40477. },
  40478. 180: {
  40479. Fupper: uint32(0x00001fa7),
  40480. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40481. Foffset: int16(261),
  40482. },
  40483. 181: {
  40484. Fupper: uint32(0x00001fa8),
  40485. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40486. Foffset: int16(266),
  40487. },
  40488. 182: {
  40489. Fupper: uint32(0x00001fa9),
  40490. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40491. Foffset: int16(271),
  40492. },
  40493. 183: {
  40494. Fupper: uint32(0x00001faa),
  40495. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40496. Foffset: int16(276),
  40497. },
  40498. 184: {
  40499. Fupper: uint32(0x00001fab),
  40500. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40501. Foffset: int16(281),
  40502. },
  40503. 185: {
  40504. Fupper: uint32(0x00001fac),
  40505. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40506. Foffset: int16(286),
  40507. },
  40508. 186: {
  40509. Fupper: uint32(0x00001fad),
  40510. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40511. Foffset: int16(291),
  40512. },
  40513. 187: {
  40514. Fupper: uint32(0x00001fae),
  40515. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40516. Foffset: int16(296),
  40517. },
  40518. 188: {
  40519. Fupper: uint32(0x00001faf),
  40520. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40521. Foffset: int16(301),
  40522. },
  40523. 189: {
  40524. Fupper: uint32(0x00001fb2),
  40525. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40526. Foffset: int16(306),
  40527. },
  40528. 190: {
  40529. Fupper: uint32(0x00001fb3),
  40530. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40531. Foffset: int16(311),
  40532. },
  40533. 191: {
  40534. Fupper: uint32(0x00001fb4),
  40535. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40536. Foffset: int16(315),
  40537. },
  40538. 192: {
  40539. Fupper: uint32(0x00001fb6),
  40540. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40541. Foffset: int16(319),
  40542. },
  40543. 193: {
  40544. Fupper: uint32(0x00001fb7),
  40545. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40546. Foffset: int16(323),
  40547. },
  40548. 194: {
  40549. Fupper: uint32(0x00001fb8),
  40550. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40551. Foffset: int16(-int32(8)),
  40552. },
  40553. 195: {
  40554. Fupper: uint32(0x00001fba),
  40555. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40556. Foffset: int16(-int32(74)),
  40557. },
  40558. 196: {
  40559. Fupper: uint32(0x00001fbc),
  40560. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40561. Foffset: int16(329),
  40562. },
  40563. 197: {
  40564. Fupper: uint32(0x00001fbe),
  40565. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40566. Foffset: int16(-int32(7173)),
  40567. },
  40568. 198: {
  40569. Fupper: uint32(0x00001fc2),
  40570. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40571. Foffset: int16(333),
  40572. },
  40573. 199: {
  40574. Fupper: uint32(0x00001fc3),
  40575. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40576. Foffset: int16(338),
  40577. },
  40578. 200: {
  40579. Fupper: uint32(0x00001fc4),
  40580. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40581. Foffset: int16(342),
  40582. },
  40583. 201: {
  40584. Fupper: uint32(0x00001fc6),
  40585. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40586. Foffset: int16(346),
  40587. },
  40588. 202: {
  40589. Fupper: uint32(0x00001fc7),
  40590. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40591. Foffset: int16(350),
  40592. },
  40593. 203: {
  40594. Fupper: uint32(0x00001fc8),
  40595. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40596. Foffset: int16(-int32(86)),
  40597. },
  40598. 204: {
  40599. Fupper: uint32(0x00001fcc),
  40600. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40601. Foffset: int16(356),
  40602. },
  40603. 205: {
  40604. Fupper: uint32(0x00001fd2),
  40605. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40606. Foffset: int16(360),
  40607. },
  40608. 206: {
  40609. Fupper: uint32(0x00001fd3),
  40610. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40611. Foffset: int16(366),
  40612. },
  40613. 207: {
  40614. Fupper: uint32(0x00001fd6),
  40615. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40616. Foffset: int16(372),
  40617. },
  40618. 208: {
  40619. Fupper: uint32(0x00001fd7),
  40620. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40621. Foffset: int16(376),
  40622. },
  40623. 209: {
  40624. Fupper: uint32(0x00001fd8),
  40625. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40626. Foffset: int16(-int32(8)),
  40627. },
  40628. 210: {
  40629. Fupper: uint32(0x00001fda),
  40630. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40631. Foffset: int16(-int32(100)),
  40632. },
  40633. 211: {
  40634. Fupper: uint32(0x00001fe2),
  40635. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40636. Foffset: int16(382),
  40637. },
  40638. 212: {
  40639. Fupper: uint32(0x00001fe3),
  40640. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40641. Foffset: int16(388),
  40642. },
  40643. 213: {
  40644. Fupper: uint32(0x00001fe4),
  40645. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40646. Foffset: int16(394),
  40647. },
  40648. 214: {
  40649. Fupper: uint32(0x00001fe6),
  40650. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40651. Foffset: int16(398),
  40652. },
  40653. 215: {
  40654. Fupper: uint32(0x00001fe7),
  40655. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40656. Foffset: int16(402),
  40657. },
  40658. 216: {
  40659. Fupper: uint32(0x00001fe8),
  40660. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40661. Foffset: int16(-int32(8)),
  40662. },
  40663. 217: {
  40664. Fupper: uint32(0x00001fea),
  40665. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40666. Foffset: int16(-int32(112)),
  40667. },
  40668. 218: {
  40669. Fupper: uint32(0x00001fec),
  40670. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40671. Foffset: int16(-int32(7)),
  40672. },
  40673. 219: {
  40674. Fupper: uint32(0x00001ff2),
  40675. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40676. Foffset: int16(408),
  40677. },
  40678. 220: {
  40679. Fupper: uint32(0x00001ff3),
  40680. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40681. Foffset: int16(413),
  40682. },
  40683. 221: {
  40684. Fupper: uint32(0x00001ff4),
  40685. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40686. Foffset: int16(417),
  40687. },
  40688. 222: {
  40689. Fupper: uint32(0x00001ff6),
  40690. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40691. Foffset: int16(421),
  40692. },
  40693. 223: {
  40694. Fupper: uint32(0x00001ff7),
  40695. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  40696. Foffset: int16(425),
  40697. },
  40698. 224: {
  40699. Fupper: uint32(0x00001ff8),
  40700. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40701. Foffset: int16(-int32(128)),
  40702. },
  40703. 225: {
  40704. Fupper: uint32(0x00001ffa),
  40705. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40706. Foffset: int16(-int32(126)),
  40707. },
  40708. 226: {
  40709. Fupper: uint32(0x00001ffc),
  40710. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  40711. Foffset: int16(431),
  40712. },
  40713. 227: {
  40714. Fupper: uint32(0x00002126),
  40715. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40716. Foffset: int16(-int32(7517)),
  40717. },
  40718. 228: {
  40719. Fupper: uint32(0x0000212a),
  40720. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40721. Foffset: int16(-int32(8383)),
  40722. },
  40723. 229: {
  40724. Fupper: uint32(0x0000212b),
  40725. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40726. Foffset: int16(-int32(8262)),
  40727. },
  40728. 230: {
  40729. Fupper: uint32(0x00002132),
  40730. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40731. Foffset: int16(28),
  40732. },
  40733. 231: {
  40734. Fupper: uint32(0x00002160),
  40735. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0010)&0x3fff<<2,
  40736. Foffset: int16(16),
  40737. },
  40738. 232: {
  40739. Fupper: uint32(0x00002183),
  40740. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40741. Foffset: int16(1),
  40742. },
  40743. 233: {
  40744. Fupper: uint32(0x000024b6),
  40745. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  40746. Foffset: int16(26),
  40747. },
  40748. 234: {
  40749. Fupper: uint32(0x00002c00),
  40750. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0030)&0x3fff<<2,
  40751. Foffset: int16(48),
  40752. },
  40753. 235: {
  40754. Fupper: uint32(0x00002c60),
  40755. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40756. Foffset: int16(1),
  40757. },
  40758. 236: {
  40759. Fupper: uint32(0x00002c62),
  40760. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40761. Foffset: int16(-int32(10743)),
  40762. },
  40763. 237: {
  40764. Fupper: uint32(0x00002c63),
  40765. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40766. Foffset: int16(-int32(3814)),
  40767. },
  40768. 238: {
  40769. Fupper: uint32(0x00002c64),
  40770. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40771. Foffset: int16(-int32(10727)),
  40772. },
  40773. 239: {
  40774. Fupper: uint32(0x00002c67),
  40775. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  40776. Foffset: int16(1),
  40777. },
  40778. 240: {
  40779. Fupper: uint32(0x00002c6d),
  40780. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40781. Foffset: int16(-int32(10780)),
  40782. },
  40783. 241: {
  40784. Fupper: uint32(0x00002c6e),
  40785. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40786. Foffset: int16(-int32(10749)),
  40787. },
  40788. 242: {
  40789. Fupper: uint32(0x00002c6f),
  40790. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40791. Foffset: int16(-int32(10783)),
  40792. },
  40793. 243: {
  40794. Fupper: uint32(0x00002c70),
  40795. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40796. Foffset: int16(-int32(10782)),
  40797. },
  40798. 244: {
  40799. Fupper: uint32(0x00002c72),
  40800. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40801. Foffset: int16(1),
  40802. },
  40803. 245: {
  40804. Fupper: uint32(0x00002c75),
  40805. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40806. Foffset: int16(1),
  40807. },
  40808. 246: {
  40809. Fupper: uint32(0x00002c7e),
  40810. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40811. Foffset: int16(-int32(10815)),
  40812. },
  40813. 247: {
  40814. Fupper: uint32(0x00002c80),
  40815. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0063)&0x3fff<<2,
  40816. Foffset: int16(1),
  40817. },
  40818. 248: {
  40819. Fupper: uint32(0x00002ceb),
  40820. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40821. Foffset: int16(1),
  40822. },
  40823. 249: {
  40824. Fupper: uint32(0x00002cf2),
  40825. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40826. Foffset: int16(1),
  40827. },
  40828. 250: {
  40829. Fupper: uint32(0x0000a640),
  40830. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002d)&0x3fff<<2,
  40831. Foffset: int16(1),
  40832. },
  40833. 251: {
  40834. Fupper: uint32(0x0000a680),
  40835. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x001b)&0x3fff<<2,
  40836. Foffset: int16(1),
  40837. },
  40838. 252: {
  40839. Fupper: uint32(0x0000a722),
  40840. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000d)&0x3fff<<2,
  40841. Foffset: int16(1),
  40842. },
  40843. 253: {
  40844. Fupper: uint32(0x0000a732),
  40845. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x003d)&0x3fff<<2,
  40846. Foffset: int16(1),
  40847. },
  40848. 254: {
  40849. Fupper: uint32(0x0000a779),
  40850. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40851. Foffset: int16(1),
  40852. },
  40853. 255: {
  40854. Fupper: uint32(0x0000a77d),
  40855. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40856. Foffset: int16(30204),
  40857. },
  40858. 256: {
  40859. Fupper: uint32(0x0000a77e),
  40860. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  40861. Foffset: int16(1),
  40862. },
  40863. 257: {
  40864. Fupper: uint32(0x0000a78b),
  40865. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40866. Foffset: int16(1),
  40867. },
  40868. 258: {
  40869. Fupper: uint32(0x0000a78d),
  40870. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40871. Foffset: int16(23256),
  40872. },
  40873. 259: {
  40874. Fupper: uint32(0x0000a790),
  40875. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40876. Foffset: int16(1),
  40877. },
  40878. 260: {
  40879. Fupper: uint32(0x0000a796),
  40880. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0013)&0x3fff<<2,
  40881. Foffset: int16(1),
  40882. },
  40883. 261: {
  40884. Fupper: uint32(0x0000a7aa),
  40885. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40886. Foffset: int16(23228),
  40887. },
  40888. 262: {
  40889. Fupper: uint32(0x0000a7ab),
  40890. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40891. Foffset: int16(23217),
  40892. },
  40893. 263: {
  40894. Fupper: uint32(0x0000a7ac),
  40895. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40896. Foffset: int16(23221),
  40897. },
  40898. 264: {
  40899. Fupper: uint32(0x0000a7ad),
  40900. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40901. Foffset: int16(23231),
  40902. },
  40903. 265: {
  40904. Fupper: uint32(0x0000a7ae),
  40905. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40906. Foffset: int16(23228),
  40907. },
  40908. 266: {
  40909. Fupper: uint32(0x0000a7b0),
  40910. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40911. Foffset: int16(23278),
  40912. },
  40913. 267: {
  40914. Fupper: uint32(0x0000a7b1),
  40915. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40916. Foffset: int16(23254),
  40917. },
  40918. 268: {
  40919. Fupper: uint32(0x0000a7b2),
  40920. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40921. Foffset: int16(23275),
  40922. },
  40923. 269: {
  40924. Fupper: uint32(0x0000a7b3),
  40925. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40926. Foffset: int16(928),
  40927. },
  40928. 270: {
  40929. Fupper: uint32(0x0000a7b4),
  40930. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000f)&0x3fff<<2,
  40931. Foffset: int16(1),
  40932. },
  40933. 271: {
  40934. Fupper: uint32(0x0000a7c4),
  40935. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40936. Foffset: int16(-int32(48)),
  40937. },
  40938. 272: {
  40939. Fupper: uint32(0x0000a7c5),
  40940. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40941. Foffset: int16(23229),
  40942. },
  40943. 273: {
  40944. Fupper: uint32(0x0000a7c6),
  40945. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40946. Foffset: int16(30152),
  40947. },
  40948. 274: {
  40949. Fupper: uint32(0x0000a7c7),
  40950. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40951. Foffset: int16(1),
  40952. },
  40953. 275: {
  40954. Fupper: uint32(0x0000a7d0),
  40955. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40956. Foffset: int16(1),
  40957. },
  40958. 276: {
  40959. Fupper: uint32(0x0000a7d6),
  40960. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40961. Foffset: int16(1),
  40962. },
  40963. 277: {
  40964. Fupper: uint32(0x0000a7f5),
  40965. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  40966. Foffset: int16(1),
  40967. },
  40968. 278: {
  40969. Fupper: uint32(0x0000ab70),
  40970. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0050)&0x3fff<<2,
  40971. Foffset: int16(26672),
  40972. },
  40973. 279: {
  40974. Fupper: uint32(0x0000fb00),
  40975. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40976. Foffset: int16(435),
  40977. },
  40978. 280: {
  40979. Fupper: uint32(0x0000fb01),
  40980. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40981. Foffset: int16(437),
  40982. },
  40983. 281: {
  40984. Fupper: uint32(0x0000fb02),
  40985. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  40986. Foffset: int16(439),
  40987. },
  40988. 282: {
  40989. Fupper: uint32(0x0000fb03),
  40990. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40991. Foffset: int16(441),
  40992. },
  40993. 283: {
  40994. Fupper: uint32(0x0000fb04),
  40995. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  40996. Foffset: int16(444),
  40997. },
  40998. 284: {
  40999. Fupper: uint32(0x0000fb05),
  41000. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  41001. Foffset: int16(447),
  41002. },
  41003. 285: {
  41004. Fupper: uint32(0x0000fb06),
  41005. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  41006. Foffset: int16(449),
  41007. },
  41008. 286: {
  41009. Fupper: uint32(0x0000fb13),
  41010. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  41011. Foffset: int16(451),
  41012. },
  41013. 287: {
  41014. Fupper: uint32(0x0000fb14),
  41015. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  41016. Foffset: int16(455),
  41017. },
  41018. 288: {
  41019. Fupper: uint32(0x0000fb15),
  41020. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  41021. Foffset: int16(459),
  41022. },
  41023. 289: {
  41024. Fupper: uint32(0x0000fb16),
  41025. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  41026. Foffset: int16(463),
  41027. },
  41028. 290: {
  41029. Fupper: uint32(0x0000fb17),
  41030. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  41031. Foffset: int16(467),
  41032. },
  41033. 291: {
  41034. Fupper: uint32(0x0000ff21),
  41035. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  41036. Foffset: int16(32),
  41037. },
  41038. 292: {
  41039. Fupper: uint32(0x00010400),
  41040. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0028)&0x3fff<<2,
  41041. Foffset: int16(40),
  41042. },
  41043. 293: {
  41044. Fupper: uint32(0x000104b0),
  41045. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0024)&0x3fff<<2,
  41046. Foffset: int16(40),
  41047. },
  41048. 294: {
  41049. Fupper: uint32(0x00010570),
  41050. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x000b)&0x3fff<<2,
  41051. Foffset: int16(39),
  41052. },
  41053. 295: {
  41054. Fupper: uint32(0x0001057c),
  41055. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x000f)&0x3fff<<2,
  41056. Foffset: int16(39),
  41057. },
  41058. 296: {
  41059. Fupper: uint32(0x0001058c),
  41060. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0007)&0x3fff<<2,
  41061. Foffset: int16(39),
  41062. },
  41063. 297: {
  41064. Fupper: uint32(0x00010594),
  41065. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  41066. Foffset: int16(39),
  41067. },
  41068. 298: {
  41069. Fupper: uint32(0x00010c80),
  41070. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0033)&0x3fff<<2,
  41071. Foffset: int16(64),
  41072. },
  41073. 299: {
  41074. Fupper: uint32(0x000118a0),
  41075. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  41076. Foffset: int16(32),
  41077. },
  41078. 300: {
  41079. Fupper: uint32(0x00016e40),
  41080. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  41081. Foffset: int16(32),
  41082. },
  41083. 301: {
  41084. Fupper: uint32(0x0001e900),
  41085. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0022)&0x3fff<<2,
  41086. Foffset: int16(34),
  41087. },
  41088. }
  41089. var _fcCaseFoldChars = [471]TFcChar8{
  41090. 0: uint8(0x73),
  41091. 1: uint8(0x73),
  41092. 2: uint8(0x69),
  41093. 3: uint8(0xcc),
  41094. 4: uint8(0x87),
  41095. 5: uint8(0xca),
  41096. 6: uint8(0xbc),
  41097. 7: uint8(0x6e),
  41098. 8: uint8(0x6a),
  41099. 9: uint8(0xcc),
  41100. 10: uint8(0x8c),
  41101. 11: uint8(0xce),
  41102. 12: uint8(0xb9),
  41103. 13: uint8(0xcc),
  41104. 14: uint8(0x88),
  41105. 15: uint8(0xcc),
  41106. 16: uint8(0x81),
  41107. 17: uint8(0xcf),
  41108. 18: uint8(0x85),
  41109. 19: uint8(0xcc),
  41110. 20: uint8(0x88),
  41111. 21: uint8(0xcc),
  41112. 22: uint8(0x81),
  41113. 23: uint8(0xd5),
  41114. 24: uint8(0xa5),
  41115. 25: uint8(0xd6),
  41116. 26: uint8(0x82),
  41117. 27: uint8(0x68),
  41118. 28: uint8(0xcc),
  41119. 29: uint8(0xb1),
  41120. 30: uint8(0x74),
  41121. 31: uint8(0xcc),
  41122. 32: uint8(0x88),
  41123. 33: uint8(0x77),
  41124. 34: uint8(0xcc),
  41125. 35: uint8(0x8a),
  41126. 36: uint8(0x79),
  41127. 37: uint8(0xcc),
  41128. 38: uint8(0x8a),
  41129. 39: uint8(0x61),
  41130. 40: uint8(0xca),
  41131. 41: uint8(0xbe),
  41132. 42: uint8(0x73),
  41133. 43: uint8(0x73),
  41134. 44: uint8(0xcf),
  41135. 45: uint8(0x85),
  41136. 46: uint8(0xcc),
  41137. 47: uint8(0x93),
  41138. 48: uint8(0xcf),
  41139. 49: uint8(0x85),
  41140. 50: uint8(0xcc),
  41141. 51: uint8(0x93),
  41142. 52: uint8(0xcc),
  41143. 53: uint8(0x80),
  41144. 54: uint8(0xcf),
  41145. 55: uint8(0x85),
  41146. 56: uint8(0xcc),
  41147. 57: uint8(0x93),
  41148. 58: uint8(0xcc),
  41149. 59: uint8(0x81),
  41150. 60: uint8(0xcf),
  41151. 61: uint8(0x85),
  41152. 62: uint8(0xcc),
  41153. 63: uint8(0x93),
  41154. 64: uint8(0xcd),
  41155. 65: uint8(0x82),
  41156. 66: uint8(0xe1),
  41157. 67: uint8(0xbc),
  41158. 68: uint8(0x80),
  41159. 69: uint8(0xce),
  41160. 70: uint8(0xb9),
  41161. 71: uint8(0xe1),
  41162. 72: uint8(0xbc),
  41163. 73: uint8(0x81),
  41164. 74: uint8(0xce),
  41165. 75: uint8(0xb9),
  41166. 76: uint8(0xe1),
  41167. 77: uint8(0xbc),
  41168. 78: uint8(0x82),
  41169. 79: uint8(0xce),
  41170. 80: uint8(0xb9),
  41171. 81: uint8(0xe1),
  41172. 82: uint8(0xbc),
  41173. 83: uint8(0x83),
  41174. 84: uint8(0xce),
  41175. 85: uint8(0xb9),
  41176. 86: uint8(0xe1),
  41177. 87: uint8(0xbc),
  41178. 88: uint8(0x84),
  41179. 89: uint8(0xce),
  41180. 90: uint8(0xb9),
  41181. 91: uint8(0xe1),
  41182. 92: uint8(0xbc),
  41183. 93: uint8(0x85),
  41184. 94: uint8(0xce),
  41185. 95: uint8(0xb9),
  41186. 96: uint8(0xe1),
  41187. 97: uint8(0xbc),
  41188. 98: uint8(0x86),
  41189. 99: uint8(0xce),
  41190. 100: uint8(0xb9),
  41191. 101: uint8(0xe1),
  41192. 102: uint8(0xbc),
  41193. 103: uint8(0x87),
  41194. 104: uint8(0xce),
  41195. 105: uint8(0xb9),
  41196. 106: uint8(0xe1),
  41197. 107: uint8(0xbc),
  41198. 108: uint8(0x80),
  41199. 109: uint8(0xce),
  41200. 110: uint8(0xb9),
  41201. 111: uint8(0xe1),
  41202. 112: uint8(0xbc),
  41203. 113: uint8(0x81),
  41204. 114: uint8(0xce),
  41205. 115: uint8(0xb9),
  41206. 116: uint8(0xe1),
  41207. 117: uint8(0xbc),
  41208. 118: uint8(0x82),
  41209. 119: uint8(0xce),
  41210. 120: uint8(0xb9),
  41211. 121: uint8(0xe1),
  41212. 122: uint8(0xbc),
  41213. 123: uint8(0x83),
  41214. 124: uint8(0xce),
  41215. 125: uint8(0xb9),
  41216. 126: uint8(0xe1),
  41217. 127: uint8(0xbc),
  41218. 128: uint8(0x84),
  41219. 129: uint8(0xce),
  41220. 130: uint8(0xb9),
  41221. 131: uint8(0xe1),
  41222. 132: uint8(0xbc),
  41223. 133: uint8(0x85),
  41224. 134: uint8(0xce),
  41225. 135: uint8(0xb9),
  41226. 136: uint8(0xe1),
  41227. 137: uint8(0xbc),
  41228. 138: uint8(0x86),
  41229. 139: uint8(0xce),
  41230. 140: uint8(0xb9),
  41231. 141: uint8(0xe1),
  41232. 142: uint8(0xbc),
  41233. 143: uint8(0x87),
  41234. 144: uint8(0xce),
  41235. 145: uint8(0xb9),
  41236. 146: uint8(0xe1),
  41237. 147: uint8(0xbc),
  41238. 148: uint8(0xa0),
  41239. 149: uint8(0xce),
  41240. 150: uint8(0xb9),
  41241. 151: uint8(0xe1),
  41242. 152: uint8(0xbc),
  41243. 153: uint8(0xa1),
  41244. 154: uint8(0xce),
  41245. 155: uint8(0xb9),
  41246. 156: uint8(0xe1),
  41247. 157: uint8(0xbc),
  41248. 158: uint8(0xa2),
  41249. 159: uint8(0xce),
  41250. 160: uint8(0xb9),
  41251. 161: uint8(0xe1),
  41252. 162: uint8(0xbc),
  41253. 163: uint8(0xa3),
  41254. 164: uint8(0xce),
  41255. 165: uint8(0xb9),
  41256. 166: uint8(0xe1),
  41257. 167: uint8(0xbc),
  41258. 168: uint8(0xa4),
  41259. 169: uint8(0xce),
  41260. 170: uint8(0xb9),
  41261. 171: uint8(0xe1),
  41262. 172: uint8(0xbc),
  41263. 173: uint8(0xa5),
  41264. 174: uint8(0xce),
  41265. 175: uint8(0xb9),
  41266. 176: uint8(0xe1),
  41267. 177: uint8(0xbc),
  41268. 178: uint8(0xa6),
  41269. 179: uint8(0xce),
  41270. 180: uint8(0xb9),
  41271. 181: uint8(0xe1),
  41272. 182: uint8(0xbc),
  41273. 183: uint8(0xa7),
  41274. 184: uint8(0xce),
  41275. 185: uint8(0xb9),
  41276. 186: uint8(0xe1),
  41277. 187: uint8(0xbc),
  41278. 188: uint8(0xa0),
  41279. 189: uint8(0xce),
  41280. 190: uint8(0xb9),
  41281. 191: uint8(0xe1),
  41282. 192: uint8(0xbc),
  41283. 193: uint8(0xa1),
  41284. 194: uint8(0xce),
  41285. 195: uint8(0xb9),
  41286. 196: uint8(0xe1),
  41287. 197: uint8(0xbc),
  41288. 198: uint8(0xa2),
  41289. 199: uint8(0xce),
  41290. 200: uint8(0xb9),
  41291. 201: uint8(0xe1),
  41292. 202: uint8(0xbc),
  41293. 203: uint8(0xa3),
  41294. 204: uint8(0xce),
  41295. 205: uint8(0xb9),
  41296. 206: uint8(0xe1),
  41297. 207: uint8(0xbc),
  41298. 208: uint8(0xa4),
  41299. 209: uint8(0xce),
  41300. 210: uint8(0xb9),
  41301. 211: uint8(0xe1),
  41302. 212: uint8(0xbc),
  41303. 213: uint8(0xa5),
  41304. 214: uint8(0xce),
  41305. 215: uint8(0xb9),
  41306. 216: uint8(0xe1),
  41307. 217: uint8(0xbc),
  41308. 218: uint8(0xa6),
  41309. 219: uint8(0xce),
  41310. 220: uint8(0xb9),
  41311. 221: uint8(0xe1),
  41312. 222: uint8(0xbc),
  41313. 223: uint8(0xa7),
  41314. 224: uint8(0xce),
  41315. 225: uint8(0xb9),
  41316. 226: uint8(0xe1),
  41317. 227: uint8(0xbd),
  41318. 228: uint8(0xa0),
  41319. 229: uint8(0xce),
  41320. 230: uint8(0xb9),
  41321. 231: uint8(0xe1),
  41322. 232: uint8(0xbd),
  41323. 233: uint8(0xa1),
  41324. 234: uint8(0xce),
  41325. 235: uint8(0xb9),
  41326. 236: uint8(0xe1),
  41327. 237: uint8(0xbd),
  41328. 238: uint8(0xa2),
  41329. 239: uint8(0xce),
  41330. 240: uint8(0xb9),
  41331. 241: uint8(0xe1),
  41332. 242: uint8(0xbd),
  41333. 243: uint8(0xa3),
  41334. 244: uint8(0xce),
  41335. 245: uint8(0xb9),
  41336. 246: uint8(0xe1),
  41337. 247: uint8(0xbd),
  41338. 248: uint8(0xa4),
  41339. 249: uint8(0xce),
  41340. 250: uint8(0xb9),
  41341. 251: uint8(0xe1),
  41342. 252: uint8(0xbd),
  41343. 253: uint8(0xa5),
  41344. 254: uint8(0xce),
  41345. 255: uint8(0xb9),
  41346. 256: uint8(0xe1),
  41347. 257: uint8(0xbd),
  41348. 258: uint8(0xa6),
  41349. 259: uint8(0xce),
  41350. 260: uint8(0xb9),
  41351. 261: uint8(0xe1),
  41352. 262: uint8(0xbd),
  41353. 263: uint8(0xa7),
  41354. 264: uint8(0xce),
  41355. 265: uint8(0xb9),
  41356. 266: uint8(0xe1),
  41357. 267: uint8(0xbd),
  41358. 268: uint8(0xa0),
  41359. 269: uint8(0xce),
  41360. 270: uint8(0xb9),
  41361. 271: uint8(0xe1),
  41362. 272: uint8(0xbd),
  41363. 273: uint8(0xa1),
  41364. 274: uint8(0xce),
  41365. 275: uint8(0xb9),
  41366. 276: uint8(0xe1),
  41367. 277: uint8(0xbd),
  41368. 278: uint8(0xa2),
  41369. 279: uint8(0xce),
  41370. 280: uint8(0xb9),
  41371. 281: uint8(0xe1),
  41372. 282: uint8(0xbd),
  41373. 283: uint8(0xa3),
  41374. 284: uint8(0xce),
  41375. 285: uint8(0xb9),
  41376. 286: uint8(0xe1),
  41377. 287: uint8(0xbd),
  41378. 288: uint8(0xa4),
  41379. 289: uint8(0xce),
  41380. 290: uint8(0xb9),
  41381. 291: uint8(0xe1),
  41382. 292: uint8(0xbd),
  41383. 293: uint8(0xa5),
  41384. 294: uint8(0xce),
  41385. 295: uint8(0xb9),
  41386. 296: uint8(0xe1),
  41387. 297: uint8(0xbd),
  41388. 298: uint8(0xa6),
  41389. 299: uint8(0xce),
  41390. 300: uint8(0xb9),
  41391. 301: uint8(0xe1),
  41392. 302: uint8(0xbd),
  41393. 303: uint8(0xa7),
  41394. 304: uint8(0xce),
  41395. 305: uint8(0xb9),
  41396. 306: uint8(0xe1),
  41397. 307: uint8(0xbd),
  41398. 308: uint8(0xb0),
  41399. 309: uint8(0xce),
  41400. 310: uint8(0xb9),
  41401. 311: uint8(0xce),
  41402. 312: uint8(0xb1),
  41403. 313: uint8(0xce),
  41404. 314: uint8(0xb9),
  41405. 315: uint8(0xce),
  41406. 316: uint8(0xac),
  41407. 317: uint8(0xce),
  41408. 318: uint8(0xb9),
  41409. 319: uint8(0xce),
  41410. 320: uint8(0xb1),
  41411. 321: uint8(0xcd),
  41412. 322: uint8(0x82),
  41413. 323: uint8(0xce),
  41414. 324: uint8(0xb1),
  41415. 325: uint8(0xcd),
  41416. 326: uint8(0x82),
  41417. 327: uint8(0xce),
  41418. 328: uint8(0xb9),
  41419. 329: uint8(0xce),
  41420. 330: uint8(0xb1),
  41421. 331: uint8(0xce),
  41422. 332: uint8(0xb9),
  41423. 333: uint8(0xe1),
  41424. 334: uint8(0xbd),
  41425. 335: uint8(0xb4),
  41426. 336: uint8(0xce),
  41427. 337: uint8(0xb9),
  41428. 338: uint8(0xce),
  41429. 339: uint8(0xb7),
  41430. 340: uint8(0xce),
  41431. 341: uint8(0xb9),
  41432. 342: uint8(0xce),
  41433. 343: uint8(0xae),
  41434. 344: uint8(0xce),
  41435. 345: uint8(0xb9),
  41436. 346: uint8(0xce),
  41437. 347: uint8(0xb7),
  41438. 348: uint8(0xcd),
  41439. 349: uint8(0x82),
  41440. 350: uint8(0xce),
  41441. 351: uint8(0xb7),
  41442. 352: uint8(0xcd),
  41443. 353: uint8(0x82),
  41444. 354: uint8(0xce),
  41445. 355: uint8(0xb9),
  41446. 356: uint8(0xce),
  41447. 357: uint8(0xb7),
  41448. 358: uint8(0xce),
  41449. 359: uint8(0xb9),
  41450. 360: uint8(0xce),
  41451. 361: uint8(0xb9),
  41452. 362: uint8(0xcc),
  41453. 363: uint8(0x88),
  41454. 364: uint8(0xcc),
  41455. 365: uint8(0x80),
  41456. 366: uint8(0xce),
  41457. 367: uint8(0xb9),
  41458. 368: uint8(0xcc),
  41459. 369: uint8(0x88),
  41460. 370: uint8(0xcc),
  41461. 371: uint8(0x81),
  41462. 372: uint8(0xce),
  41463. 373: uint8(0xb9),
  41464. 374: uint8(0xcd),
  41465. 375: uint8(0x82),
  41466. 376: uint8(0xce),
  41467. 377: uint8(0xb9),
  41468. 378: uint8(0xcc),
  41469. 379: uint8(0x88),
  41470. 380: uint8(0xcd),
  41471. 381: uint8(0x82),
  41472. 382: uint8(0xcf),
  41473. 383: uint8(0x85),
  41474. 384: uint8(0xcc),
  41475. 385: uint8(0x88),
  41476. 386: uint8(0xcc),
  41477. 387: uint8(0x80),
  41478. 388: uint8(0xcf),
  41479. 389: uint8(0x85),
  41480. 390: uint8(0xcc),
  41481. 391: uint8(0x88),
  41482. 392: uint8(0xcc),
  41483. 393: uint8(0x81),
  41484. 394: uint8(0xcf),
  41485. 395: uint8(0x81),
  41486. 396: uint8(0xcc),
  41487. 397: uint8(0x93),
  41488. 398: uint8(0xcf),
  41489. 399: uint8(0x85),
  41490. 400: uint8(0xcd),
  41491. 401: uint8(0x82),
  41492. 402: uint8(0xcf),
  41493. 403: uint8(0x85),
  41494. 404: uint8(0xcc),
  41495. 405: uint8(0x88),
  41496. 406: uint8(0xcd),
  41497. 407: uint8(0x82),
  41498. 408: uint8(0xe1),
  41499. 409: uint8(0xbd),
  41500. 410: uint8(0xbc),
  41501. 411: uint8(0xce),
  41502. 412: uint8(0xb9),
  41503. 413: uint8(0xcf),
  41504. 414: uint8(0x89),
  41505. 415: uint8(0xce),
  41506. 416: uint8(0xb9),
  41507. 417: uint8(0xcf),
  41508. 418: uint8(0x8e),
  41509. 419: uint8(0xce),
  41510. 420: uint8(0xb9),
  41511. 421: uint8(0xcf),
  41512. 422: uint8(0x89),
  41513. 423: uint8(0xcd),
  41514. 424: uint8(0x82),
  41515. 425: uint8(0xcf),
  41516. 426: uint8(0x89),
  41517. 427: uint8(0xcd),
  41518. 428: uint8(0x82),
  41519. 429: uint8(0xce),
  41520. 430: uint8(0xb9),
  41521. 431: uint8(0xcf),
  41522. 432: uint8(0x89),
  41523. 433: uint8(0xce),
  41524. 434: uint8(0xb9),
  41525. 435: uint8(0x66),
  41526. 436: uint8(0x66),
  41527. 437: uint8(0x66),
  41528. 438: uint8(0x69),
  41529. 439: uint8(0x66),
  41530. 440: uint8(0x6c),
  41531. 441: uint8(0x66),
  41532. 442: uint8(0x66),
  41533. 443: uint8(0x69),
  41534. 444: uint8(0x66),
  41535. 445: uint8(0x66),
  41536. 446: uint8(0x6c),
  41537. 447: uint8(0x73),
  41538. 448: uint8(0x74),
  41539. 449: uint8(0x73),
  41540. 450: uint8(0x74),
  41541. 451: uint8(0xd5),
  41542. 452: uint8(0xb4),
  41543. 453: uint8(0xd5),
  41544. 454: uint8(0xb6),
  41545. 455: uint8(0xd5),
  41546. 456: uint8(0xb4),
  41547. 457: uint8(0xd5),
  41548. 458: uint8(0xa5),
  41549. 459: uint8(0xd5),
  41550. 460: uint8(0xb4),
  41551. 461: uint8(0xd5),
  41552. 462: uint8(0xab),
  41553. 463: uint8(0xd5),
  41554. 464: uint8(0xbe),
  41555. 465: uint8(0xd5),
  41556. 466: uint8(0xb6),
  41557. 467: uint8(0xd5),
  41558. 468: uint8(0xb4),
  41559. 469: uint8(0xd5),
  41560. 470: uint8(0xad),
  41561. }
  41562. type TFcCaseWalker = struct {
  41563. Fread uintptr
  41564. Fsrc uintptr
  41565. Futf8 [7]TFcChar8
  41566. }
  41567. type T_FcCaseWalker = TFcCaseWalker
  41568. func _FcStrCaseWalkerInit(tls *libc.TLS, src uintptr, w uintptr) {
  41569. (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc = src
  41570. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  41571. }
  41572. func _FcStrCaseWalkerLong(tls *libc.TLS, w uintptr, r TFcChar8) (r1 TFcChar8) {
  41573. bp := tls.Alloc(16)
  41574. defer tls.Free(16)
  41575. var dlen, len1, max, mid, min, slen, v1 int32
  41576. var fold, v2, v3 uintptr
  41577. var high, low TFcChar32
  41578. var _ /* ucs4 at bp+0 */ TFcChar32
  41579. _, _, _, _, _, _, _, _, _, _, _, _ = dlen, fold, high, len1, low, max, mid, min, slen, v1, v2, v3
  41580. len1 = libc.Int32FromUint64(libc.Xstrlen(tls, (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc))
  41581. slen = XIA__FcUtf8ToUcs4(tls, (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc-uintptr(1), bp, len1+int32(1))
  41582. if slen <= 0 {
  41583. return r
  41584. }
  41585. if uint32(m_FC_MIN_FOLD_CHAR) <= *(*TFcChar32)(unsafe.Pointer(bp)) && *(*TFcChar32)(unsafe.Pointer(bp)) <= uint32(m_FC_MAX_FOLD_CHAR) {
  41586. min = 0
  41587. max = int32(m_FC_NUM_CASE_FOLD)
  41588. for min <= max {
  41589. mid = (min + max) >> int32(1)
  41590. low = _fcCaseFold[mid].Fupper
  41591. if int32(*(*uint16)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8 + 4))&0x3>>0) == int32(m_FC_CASE_FOLD_FULL) {
  41592. v1 = int32(1)
  41593. } else {
  41594. v1 = int32(*(*uint16)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8 + 4)) & 0xfffc >> 2)
  41595. }
  41596. high = low + libc.Uint32FromInt32(v1)
  41597. if high <= *(*TFcChar32)(unsafe.Pointer(bp)) {
  41598. min = mid + int32(1)
  41599. } else {
  41600. if *(*TFcChar32)(unsafe.Pointer(bp)) < low {
  41601. max = mid - int32(1)
  41602. } else {
  41603. fold = uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8
  41604. switch int32(*(*uint16)(unsafe.Pointer(fold + 4)) & 0x3 >> 0) {
  41605. case int32(m_FC_CASE_FOLD_EVEN_ODD):
  41606. if *(*TFcChar32)(unsafe.Pointer(bp))&uint32(1) != (*TFcCaseFold)(unsafe.Pointer(fold)).Fupper&uint32(1) {
  41607. return r
  41608. }
  41609. /* fall through ... */
  41610. fallthrough
  41611. default:
  41612. dlen = XIA__FcUcs4ToUtf8(tls, *(*TFcChar32)(unsafe.Pointer(bp))+libc.Uint32FromInt16((*TFcCaseFold)(unsafe.Pointer(fold)).Foffset), w+16)
  41613. case int32(m_FC_CASE_FOLD_FULL):
  41614. dlen = int32(*(*uint16)(unsafe.Pointer(fold + 4)) & 0xfffc >> 2)
  41615. libc.Xmemcpy(tls, w+16, uintptr(unsafe.Pointer(&_fcCaseFoldChars))+uintptr((*TFcCaseFold)(unsafe.Pointer(fold)).Foffset), libc.Uint64FromInt32(dlen))
  41616. break
  41617. }
  41618. /* consume rest of src utf-8 bytes */
  41619. *(*uintptr)(unsafe.Pointer(w + 8)) += uintptr(slen - int32(1))
  41620. /* read from temp buffer */
  41621. *(*TFcChar8)(unsafe.Pointer(w + 16 + uintptr(dlen))) = uint8('\000')
  41622. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = w + 16
  41623. v3 = w
  41624. v2 = *(*uintptr)(unsafe.Pointer(v3))
  41625. *(*uintptr)(unsafe.Pointer(v3))++
  41626. return *(*TFcChar8)(unsafe.Pointer(v2))
  41627. }
  41628. }
  41629. }
  41630. }
  41631. return r
  41632. }
  41633. func _FcStrCaseWalkerNextNonDelim(tls *libc.TLS, w uintptr, delims uintptr) (r1 TFcChar8) {
  41634. var r, v2 TFcChar8
  41635. var v1, v7 int32
  41636. var v3, v4, v5, v6 uintptr
  41637. _, _, _, _, _, _, _, _ = r, v1, v2, v3, v4, v5, v6, v7
  41638. if (*TFcCaseWalker)(unsafe.Pointer(w)).Fread != libc.UintptrFromInt32(0) {
  41639. v1 = int32(1)
  41640. } else {
  41641. v1 = 0
  41642. }
  41643. if libc.X__builtin_expect(tls, int64(v1), 0) != 0 {
  41644. v4 = w
  41645. v3 = *(*uintptr)(unsafe.Pointer(v4))
  41646. *(*uintptr)(unsafe.Pointer(v4))++
  41647. v2 = *(*TFcChar8)(unsafe.Pointer(v3))
  41648. r = v2
  41649. if v2 != 0 {
  41650. return r
  41651. }
  41652. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  41653. }
  41654. for cond := true; cond; cond = libc.Int32FromUint8(r) != 0 && delims != 0 && libc.Xstrchr(tls, delims, libc.Int32FromUint8(r)) != 0 {
  41655. v6 = w + 8
  41656. v5 = *(*uintptr)(unsafe.Pointer(v6))
  41657. *(*uintptr)(unsafe.Pointer(v6))++
  41658. r = *(*TFcChar8)(unsafe.Pointer(v5))
  41659. }
  41660. if libc.Int32FromUint8(r)&int32(0xc0) == int32(0xc0) {
  41661. v7 = int32(1)
  41662. } else {
  41663. v7 = 0
  41664. }
  41665. if libc.X__builtin_expect(tls, int64(v7), 0) != 0 {
  41666. return _FcStrCaseWalkerLong(tls, w, r)
  41667. }
  41668. if int32('A') <= libc.Int32FromUint8(r) && libc.Int32FromUint8(r) <= int32('Z') {
  41669. r = libc.Uint8FromInt32(libc.Int32FromUint8(r) - int32('A') + int32('a'))
  41670. }
  41671. return r
  41672. }
  41673. func _FcStrCaseWalkerNextNonBlank(tls *libc.TLS, w uintptr) (r1 TFcChar8) {
  41674. var r, v2 TFcChar8
  41675. var v1, v7 int32
  41676. var v3, v4, v5, v6 uintptr
  41677. _, _, _, _, _, _, _, _ = r, v1, v2, v3, v4, v5, v6, v7
  41678. if (*TFcCaseWalker)(unsafe.Pointer(w)).Fread != libc.UintptrFromInt32(0) {
  41679. v1 = int32(1)
  41680. } else {
  41681. v1 = 0
  41682. }
  41683. if libc.X__builtin_expect(tls, int64(v1), 0) != 0 {
  41684. v4 = w
  41685. v3 = *(*uintptr)(unsafe.Pointer(v4))
  41686. *(*uintptr)(unsafe.Pointer(v4))++
  41687. v2 = *(*TFcChar8)(unsafe.Pointer(v3))
  41688. r = v2
  41689. if v2 != 0 {
  41690. return r
  41691. }
  41692. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  41693. }
  41694. for cond := true; cond; cond = libc.Int32FromUint8(r) == int32(' ') {
  41695. v6 = w + 8
  41696. v5 = *(*uintptr)(unsafe.Pointer(v6))
  41697. *(*uintptr)(unsafe.Pointer(v6))++
  41698. r = *(*TFcChar8)(unsafe.Pointer(v5))
  41699. }
  41700. if libc.Int32FromUint8(r)&int32(0xc0) == int32(0xc0) {
  41701. v7 = int32(1)
  41702. } else {
  41703. v7 = 0
  41704. }
  41705. if libc.X__builtin_expect(tls, int64(v7), 0) != 0 {
  41706. return _FcStrCaseWalkerLong(tls, w, r)
  41707. }
  41708. if int32('A') <= libc.Int32FromUint8(r) && libc.Int32FromUint8(r) <= int32('Z') {
  41709. r = libc.Uint8FromInt32(libc.Int32FromUint8(r) - int32('A') + int32('a'))
  41710. }
  41711. return r
  41712. }
  41713. func _FcStrCaseWalkerNext(tls *libc.TLS, w uintptr) (r1 TFcChar8) {
  41714. var r, v2 TFcChar8
  41715. var v1, v7 int32
  41716. var v3, v4, v5, v6 uintptr
  41717. _, _, _, _, _, _, _, _ = r, v1, v2, v3, v4, v5, v6, v7
  41718. if (*TFcCaseWalker)(unsafe.Pointer(w)).Fread != libc.UintptrFromInt32(0) {
  41719. v1 = int32(1)
  41720. } else {
  41721. v1 = 0
  41722. }
  41723. if libc.X__builtin_expect(tls, int64(v1), 0) != 0 {
  41724. v4 = w
  41725. v3 = *(*uintptr)(unsafe.Pointer(v4))
  41726. *(*uintptr)(unsafe.Pointer(v4))++
  41727. v2 = *(*TFcChar8)(unsafe.Pointer(v3))
  41728. r = v2
  41729. if v2 != 0 {
  41730. return r
  41731. }
  41732. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  41733. }
  41734. v6 = w + 8
  41735. v5 = *(*uintptr)(unsafe.Pointer(v6))
  41736. *(*uintptr)(unsafe.Pointer(v6))++
  41737. r = *(*TFcChar8)(unsafe.Pointer(v5))
  41738. if libc.Int32FromUint8(r)&int32(0xc0) == int32(0xc0) {
  41739. v7 = int32(1)
  41740. } else {
  41741. v7 = 0
  41742. }
  41743. if libc.X__builtin_expect(tls, int64(v7), 0) != 0 {
  41744. return _FcStrCaseWalkerLong(tls, w, r)
  41745. }
  41746. if int32('A') <= libc.Int32FromUint8(r) && libc.Int32FromUint8(r) <= int32('Z') {
  41747. r = libc.Uint8FromInt32(libc.Int32FromUint8(r) - int32('A') + int32('a'))
  41748. }
  41749. return r
  41750. }
  41751. func XIA__FcStrDowncase(tls *libc.TLS, s uintptr) (r uintptr) {
  41752. bp := tls.Alloc(32)
  41753. defer tls.Free(32)
  41754. var d, dst, v1, v3 uintptr
  41755. var len1 int32
  41756. var v2 TFcChar8
  41757. var _ /* w at bp+0 */ TFcCaseWalker
  41758. _, _, _, _, _, _ = d, dst, len1, v1, v2, v3
  41759. len1 = 0
  41760. _FcStrCaseWalkerInit(tls, s, bp)
  41761. for _FcStrCaseWalkerNext(tls, bp) != 0 {
  41762. len1++
  41763. }
  41764. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(len1+int32(1)))
  41765. dst = v1
  41766. d = v1
  41767. if !(d != 0) {
  41768. return uintptr(0)
  41769. }
  41770. _FcStrCaseWalkerInit(tls, s, bp)
  41771. for {
  41772. v2 = _FcStrCaseWalkerNext(tls, bp)
  41773. v3 = d
  41774. d++
  41775. *(*TFcChar8)(unsafe.Pointer(v3)) = v2
  41776. if !(v2 != 0) {
  41777. break
  41778. }
  41779. }
  41780. return dst
  41781. }
  41782. var XFcStrDowncase = XIA__FcStrDowncase
  41783. func XIA__FcStrCmpIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  41784. bp := tls.Alloc(48)
  41785. defer tls.Free(48)
  41786. var c1, c2 TFcChar8
  41787. var _ /* w1 at bp+0 */ TFcCaseWalker
  41788. var _ /* w2 at bp+24 */ TFcCaseWalker
  41789. _, _ = c1, c2
  41790. if s1 == s2 {
  41791. return 0
  41792. }
  41793. _FcStrCaseWalkerInit(tls, s1, bp)
  41794. _FcStrCaseWalkerInit(tls, s2, bp+24)
  41795. for {
  41796. c1 = _FcStrCaseWalkerNext(tls, bp)
  41797. c2 = _FcStrCaseWalkerNext(tls, bp+24)
  41798. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  41799. break
  41800. }
  41801. goto _1
  41802. _1:
  41803. }
  41804. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  41805. }
  41806. var XFcStrCmpIgnoreCase = XIA__FcStrCmpIgnoreCase
  41807. func XFcStrCmpIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  41808. bp := tls.Alloc(48)
  41809. defer tls.Free(48)
  41810. var c1, c2 TFcChar8
  41811. var _ /* w1 at bp+0 */ TFcCaseWalker
  41812. var _ /* w2 at bp+24 */ TFcCaseWalker
  41813. _, _ = c1, c2
  41814. if s1 == s2 {
  41815. return 0
  41816. }
  41817. _FcStrCaseWalkerInit(tls, s1, bp)
  41818. _FcStrCaseWalkerInit(tls, s2, bp+24)
  41819. for {
  41820. c1 = _FcStrCaseWalkerNextNonBlank(tls, bp)
  41821. c2 = _FcStrCaseWalkerNextNonBlank(tls, bp+24)
  41822. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  41823. break
  41824. }
  41825. goto _1
  41826. _1:
  41827. }
  41828. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  41829. }
  41830. func XIA__FcStrCmp(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  41831. var c1, c2 TFcChar8
  41832. var v2, v3 uintptr
  41833. _, _, _, _ = c1, c2, v2, v3
  41834. if s1 == s2 {
  41835. return 0
  41836. }
  41837. for {
  41838. v2 = s1
  41839. s1++
  41840. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  41841. v3 = s2
  41842. s2++
  41843. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  41844. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  41845. break
  41846. }
  41847. goto _1
  41848. _1:
  41849. }
  41850. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  41851. }
  41852. var XFcStrCmp = XIA__FcStrCmp
  41853. /*
  41854. * Return a hash value for a string
  41855. */
  41856. func XFcStrHashIgnoreCase(tls *libc.TLS, s uintptr) (r TFcChar32) {
  41857. bp := tls.Alloc(32)
  41858. defer tls.Free(32)
  41859. var c, v1 TFcChar8
  41860. var h TFcChar32
  41861. var _ /* w at bp+0 */ TFcCaseWalker
  41862. _, _, _ = c, h, v1
  41863. h = uint32(0)
  41864. _FcStrCaseWalkerInit(tls, s, bp)
  41865. for {
  41866. v1 = _FcStrCaseWalkerNext(tls, bp)
  41867. c = v1
  41868. if !(v1 != 0) {
  41869. break
  41870. }
  41871. h = h<<libc.Int32FromInt32(3) ^ h>>libc.Int32FromInt32(3) ^ uint32(c)
  41872. }
  41873. return h
  41874. }
  41875. func XFcStrHashIgnoreBlanksAndCase(tls *libc.TLS, s uintptr) (r TFcChar32) {
  41876. bp := tls.Alloc(32)
  41877. defer tls.Free(32)
  41878. var c, v1 TFcChar8
  41879. var h TFcChar32
  41880. var _ /* w at bp+0 */ TFcCaseWalker
  41881. _, _, _ = c, h, v1
  41882. h = uint32(0)
  41883. _FcStrCaseWalkerInit(tls, s, bp)
  41884. for {
  41885. v1 = _FcStrCaseWalkerNextNonBlank(tls, bp)
  41886. c = v1
  41887. if !(v1 != 0) {
  41888. break
  41889. }
  41890. h = h<<libc.Int32FromInt32(3) ^ h>>libc.Int32FromInt32(3) ^ uint32(c)
  41891. }
  41892. return h
  41893. }
  41894. /*
  41895. * Is the head of s1 equal to s2?
  41896. */
  41897. func _FcStrIsAtIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcBool) {
  41898. bp := tls.Alloc(48)
  41899. defer tls.Free(48)
  41900. var c1, c2 TFcChar8
  41901. var _ /* w1 at bp+0 */ TFcCaseWalker
  41902. var _ /* w2 at bp+24 */ TFcCaseWalker
  41903. _, _ = c1, c2
  41904. _FcStrCaseWalkerInit(tls, s1, bp)
  41905. _FcStrCaseWalkerInit(tls, s2, bp+24)
  41906. for {
  41907. c1 = _FcStrCaseWalkerNextNonBlank(tls, bp)
  41908. c2 = _FcStrCaseWalkerNextNonBlank(tls, bp+24)
  41909. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  41910. break
  41911. }
  41912. goto _1
  41913. _1:
  41914. }
  41915. return libc.BoolInt32(libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) || !(c2 != 0))
  41916. }
  41917. /*
  41918. * Does s1 contain an instance of s2 (ignoring blanks and case)?
  41919. */
  41920. func XFcStrContainsIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  41921. for *(*TFcChar8)(unsafe.Pointer(s1)) != 0 {
  41922. if _FcStrIsAtIgnoreBlanksAndCase(tls, s1, s2) != 0 {
  41923. return s1
  41924. }
  41925. s1++
  41926. }
  41927. return uintptr(0)
  41928. }
  41929. func _FcCharIsPunct1(tls *libc.TLS, c TFcChar8) (r TFcBool) {
  41930. if libc.Int32FromUint8(c) < int32('0') {
  41931. return int32(m_FcTrue)
  41932. }
  41933. if libc.Int32FromUint8(c) <= int32('9') {
  41934. return m_FcFalse
  41935. }
  41936. if libc.Int32FromUint8(c) < int32('A') {
  41937. return int32(m_FcTrue)
  41938. }
  41939. if libc.Int32FromUint8(c) <= int32('Z') {
  41940. return m_FcFalse
  41941. }
  41942. if libc.Int32FromUint8(c) < int32('a') {
  41943. return int32(m_FcTrue)
  41944. }
  41945. if libc.Int32FromUint8(c) <= int32('z') {
  41946. return m_FcFalse
  41947. }
  41948. if libc.Int32FromUint8(c) <= int32('~') {
  41949. return int32(m_FcTrue)
  41950. }
  41951. return m_FcFalse
  41952. }
  41953. /*
  41954. * Is the head of s1 equal to s2?
  41955. */
  41956. func _FcStrIsAtIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcBool) {
  41957. bp := tls.Alloc(48)
  41958. defer tls.Free(48)
  41959. var c1, c2 TFcChar8
  41960. var _ /* w1 at bp+0 */ TFcCaseWalker
  41961. var _ /* w2 at bp+24 */ TFcCaseWalker
  41962. _, _ = c1, c2
  41963. _FcStrCaseWalkerInit(tls, s1, bp)
  41964. _FcStrCaseWalkerInit(tls, s2, bp+24)
  41965. for {
  41966. c1 = _FcStrCaseWalkerNext(tls, bp)
  41967. c2 = _FcStrCaseWalkerNext(tls, bp+24)
  41968. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  41969. break
  41970. }
  41971. goto _1
  41972. _1:
  41973. }
  41974. return libc.BoolInt32(libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) || !(c2 != 0))
  41975. }
  41976. /*
  41977. * Does s1 contain an instance of s2 (ignoring blanks and case)?
  41978. */
  41979. func XFcStrContainsIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  41980. for *(*TFcChar8)(unsafe.Pointer(s1)) != 0 {
  41981. if _FcStrIsAtIgnoreCase(tls, s1, s2) != 0 {
  41982. return s1
  41983. }
  41984. s1++
  41985. }
  41986. return uintptr(0)
  41987. }
  41988. /*
  41989. * Does s1 contain an instance of s2 on a word boundary (ignoring case)?
  41990. */
  41991. func XFcStrContainsWord(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  41992. var s1len, s2len int32
  41993. var wordStart TFcBool
  41994. _, _, _ = s1len, s2len, wordStart
  41995. wordStart = int32(m_FcTrue)
  41996. s1len = libc.Int32FromUint64(libc.Xstrlen(tls, s1))
  41997. s2len = libc.Int32FromUint64(libc.Xstrlen(tls, s2))
  41998. for s1len >= s2len {
  41999. if wordStart != 0 && _FcStrIsAtIgnoreCase(tls, s1, s2) != 0 && (s1len == s2len || _FcCharIsPunct1(tls, *(*TFcChar8)(unsafe.Pointer(s1 + uintptr(s2len)))) != 0) {
  42000. return s1
  42001. }
  42002. wordStart = m_FcFalse
  42003. if _FcCharIsPunct1(tls, *(*TFcChar8)(unsafe.Pointer(s1))) != 0 {
  42004. wordStart = int32(m_FcTrue)
  42005. }
  42006. s1++
  42007. s1len--
  42008. }
  42009. return uintptr(0)
  42010. }
  42011. /*
  42012. * returns the number of strings (ignoring delimiters and case) being matched
  42013. */
  42014. func XFcStrMatchIgnoreCaseAndDelims(tls *libc.TLS, s1 uintptr, s2 uintptr, delims uintptr) (r int32) {
  42015. bp := tls.Alloc(48)
  42016. defer tls.Free(48)
  42017. var c1, c2 TFcChar8
  42018. var _ /* w1 at bp+0 */ TFcCaseWalker
  42019. var _ /* w2 at bp+24 */ TFcCaseWalker
  42020. _, _ = c1, c2
  42021. if s1 == s2 {
  42022. return 0
  42023. }
  42024. _FcStrCaseWalkerInit(tls, s1, bp)
  42025. _FcStrCaseWalkerInit(tls, s2, bp+24)
  42026. for {
  42027. c1 = _FcStrCaseWalkerNextNonDelim(tls, bp, delims)
  42028. c2 = _FcStrCaseWalkerNextNonDelim(tls, bp+24, delims)
  42029. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  42030. break
  42031. }
  42032. goto _1
  42033. _1:
  42034. }
  42035. return int32(int64((*(*TFcCaseWalker)(unsafe.Pointer(bp))).Fsrc) - int64(s1) - int64(1))
  42036. }
  42037. func XFcStrGlobMatch(tls *libc.TLS, glob uintptr, string1 uintptr) (r TFcBool) {
  42038. var c, v1 TFcChar8
  42039. var l1, l2 Tsize_t
  42040. var v2, v3, v4 uintptr
  42041. _, _, _, _, _, _, _ = c, l1, l2, v1, v2, v3, v4
  42042. for {
  42043. v2 = glob
  42044. glob++
  42045. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  42046. c = v1
  42047. if !(v1 != 0) {
  42048. break
  42049. }
  42050. switch libc.Int32FromUint8(c) {
  42051. case int32('*'):
  42052. /* short circuit common case */
  42053. if !(*(*TFcChar8)(unsafe.Pointer(glob)) != 0) {
  42054. return int32(m_FcTrue)
  42055. }
  42056. /* short circuit another common case */
  42057. if libc.Xstrchr(tls, glob, int32('*')) == uintptr(0) {
  42058. l1 = libc.Xstrlen(tls, string1)
  42059. l2 = libc.Xstrlen(tls, glob)
  42060. if l1 < l2 {
  42061. return m_FcFalse
  42062. }
  42063. string1 += uintptr(l1 - l2)
  42064. }
  42065. for *(*TFcChar8)(unsafe.Pointer(string1)) != 0 {
  42066. if XFcStrGlobMatch(tls, glob, string1) != 0 {
  42067. return int32(m_FcTrue)
  42068. }
  42069. string1++
  42070. }
  42071. return m_FcFalse
  42072. case int32('?'):
  42073. v3 = string1
  42074. string1++
  42075. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v3))) == int32('\000') {
  42076. return m_FcFalse
  42077. }
  42078. default:
  42079. v4 = string1
  42080. string1++
  42081. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v4))) != libc.Int32FromUint8(c) {
  42082. return m_FcFalse
  42083. }
  42084. break
  42085. }
  42086. }
  42087. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(string1))) == int32('\000'))
  42088. }
  42089. func XIA__FcStrStrIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  42090. bp := tls.Alloc(96)
  42091. defer tls.Free(96)
  42092. var c1, c1t, c2, c2t TFcChar8
  42093. var cur uintptr
  42094. var _ /* w1 at bp+0 */ TFcCaseWalker
  42095. var _ /* w1t at bp+48 */ TFcCaseWalker
  42096. var _ /* w2 at bp+24 */ TFcCaseWalker
  42097. var _ /* w2t at bp+72 */ TFcCaseWalker
  42098. _, _, _, _, _ = c1, c1t, c2, c2t, cur
  42099. if !(s1 != 0) || !(s2 != 0) {
  42100. return uintptr(0)
  42101. }
  42102. if s1 == s2 {
  42103. return s1
  42104. }
  42105. _FcStrCaseWalkerInit(tls, s1, bp)
  42106. _FcStrCaseWalkerInit(tls, s2, bp+24)
  42107. c2 = _FcStrCaseWalkerNext(tls, bp+24)
  42108. for {
  42109. cur = (*(*TFcCaseWalker)(unsafe.Pointer(bp))).Fsrc
  42110. c1 = _FcStrCaseWalkerNext(tls, bp)
  42111. if !(c1 != 0) {
  42112. break
  42113. }
  42114. if libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) {
  42115. *(*TFcCaseWalker)(unsafe.Pointer(bp + 48)) = *(*TFcCaseWalker)(unsafe.Pointer(bp))
  42116. *(*TFcCaseWalker)(unsafe.Pointer(bp + 72)) = *(*TFcCaseWalker)(unsafe.Pointer(bp + 24))
  42117. for {
  42118. c1t = _FcStrCaseWalkerNext(tls, bp+48)
  42119. c2t = _FcStrCaseWalkerNext(tls, bp+72)
  42120. if !(c2t != 0) {
  42121. return cur
  42122. }
  42123. if libc.Int32FromUint8(c2t) != libc.Int32FromUint8(c1t) {
  42124. break
  42125. }
  42126. goto _2
  42127. _2:
  42128. }
  42129. }
  42130. goto _1
  42131. _1:
  42132. }
  42133. return uintptr(0)
  42134. }
  42135. var XFcStrStrIgnoreCase = XIA__FcStrStrIgnoreCase
  42136. func XIA__FcStrStr(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  42137. var b, p, v1, v3 uintptr
  42138. var c1, c2 TFcChar8
  42139. _, _, _, _, _, _ = b, c1, c2, p, v1, v3
  42140. p = s1
  42141. b = s2
  42142. if !(s1 != 0) || !(s2 != 0) {
  42143. return uintptr(0)
  42144. }
  42145. if s1 == s2 {
  42146. return s1
  42147. }
  42148. goto again
  42149. again:
  42150. ;
  42151. v1 = s2
  42152. s2++
  42153. c2 = *(*TFcChar8)(unsafe.Pointer(v1))
  42154. if !(c2 != 0) {
  42155. return uintptr(0)
  42156. }
  42157. for {
  42158. p = s1
  42159. v3 = s1
  42160. s1++
  42161. c1 = *(*TFcChar8)(unsafe.Pointer(v3))
  42162. if !(c1 != 0) || libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) {
  42163. break
  42164. }
  42165. goto _2
  42166. _2:
  42167. }
  42168. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  42169. return uintptr(0)
  42170. }
  42171. for {
  42172. c1 = *(*TFcChar8)(unsafe.Pointer(s1))
  42173. c2 = *(*TFcChar8)(unsafe.Pointer(s2))
  42174. if c1 != 0 && c2 != 0 && libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  42175. s1 = p + uintptr(1)
  42176. s2 = b
  42177. goto again
  42178. }
  42179. if !(c2 != 0) {
  42180. return p
  42181. }
  42182. if !(c1 != 0) {
  42183. return uintptr(0)
  42184. }
  42185. s1++
  42186. s2++
  42187. goto _4
  42188. _4:
  42189. }
  42190. /* never reached. */
  42191. return r
  42192. }
  42193. var XFcStrStr = XIA__FcStrStr
  42194. func XIA__FcUtf8ToUcs4(tls *libc.TLS, src_orig uintptr, dst uintptr, len1 int32) (r int32) {
  42195. var extra, v2 int32
  42196. var result TFcChar32
  42197. var s TFcChar8
  42198. var src, v1, v3 uintptr
  42199. _, _, _, _, _, _, _ = extra, result, s, src, v1, v2, v3
  42200. src = src_orig
  42201. if len1 == 0 {
  42202. return 0
  42203. }
  42204. v1 = src
  42205. src++
  42206. s = *(*TFcChar8)(unsafe.Pointer(v1))
  42207. len1--
  42208. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x80) != 0) {
  42209. result = uint32(s)
  42210. extra = 0
  42211. } else {
  42212. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x40) != 0) {
  42213. return -int32(1)
  42214. } else {
  42215. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x20) != 0) {
  42216. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x1f))
  42217. extra = int32(1)
  42218. } else {
  42219. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x10) != 0) {
  42220. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0xf))
  42221. extra = int32(2)
  42222. } else {
  42223. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x08) != 0) {
  42224. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x07))
  42225. extra = int32(3)
  42226. } else {
  42227. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x04) != 0) {
  42228. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x03))
  42229. extra = int32(4)
  42230. } else {
  42231. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x02) != 0) {
  42232. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x01))
  42233. extra = int32(5)
  42234. } else {
  42235. return -int32(1)
  42236. }
  42237. }
  42238. }
  42239. }
  42240. }
  42241. }
  42242. }
  42243. if extra > len1 {
  42244. return -int32(1)
  42245. }
  42246. for {
  42247. v2 = extra
  42248. extra--
  42249. if !(v2 != 0) {
  42250. break
  42251. }
  42252. result <<= uint32(6)
  42253. v3 = src
  42254. src++
  42255. s = *(*TFcChar8)(unsafe.Pointer(v3))
  42256. if libc.Int32FromUint8(s)&int32(0xc0) != int32(0x80) {
  42257. return -int32(1)
  42258. }
  42259. result |= libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x3f))
  42260. }
  42261. *(*TFcChar32)(unsafe.Pointer(dst)) = result
  42262. return int32(int64(src) - int64(src_orig))
  42263. }
  42264. var XFcUtf8ToUcs4 = XIA__FcUtf8ToUcs4
  42265. func XIA__FcUtf8Len(tls *libc.TLS, string1 uintptr, len1 int32, nchar uintptr, wchar uintptr) (r TFcBool) {
  42266. bp := tls.Alloc(16)
  42267. defer tls.Free(16)
  42268. var clen, n int32
  42269. var max TFcChar32
  42270. var _ /* c at bp+0 */ TFcChar32
  42271. _, _, _ = clen, max, n
  42272. n = 0
  42273. max = uint32(0)
  42274. for len1 != 0 {
  42275. clen = XIA__FcUtf8ToUcs4(tls, string1, bp, len1)
  42276. if clen <= 0 { /* malformed UTF8 string */
  42277. return m_FcFalse
  42278. }
  42279. if *(*TFcChar32)(unsafe.Pointer(bp)) > max {
  42280. max = *(*TFcChar32)(unsafe.Pointer(bp))
  42281. }
  42282. string1 += uintptr(clen)
  42283. len1 -= clen
  42284. n++
  42285. }
  42286. *(*int32)(unsafe.Pointer(nchar)) = n
  42287. if max >= uint32(0x10000) {
  42288. *(*int32)(unsafe.Pointer(wchar)) = int32(4)
  42289. } else {
  42290. if max > uint32(0x100) {
  42291. *(*int32)(unsafe.Pointer(wchar)) = int32(2)
  42292. } else {
  42293. *(*int32)(unsafe.Pointer(wchar)) = int32(1)
  42294. }
  42295. }
  42296. return int32(m_FcTrue)
  42297. }
  42298. var XFcUtf8Len = XIA__FcUtf8Len
  42299. func XIA__FcUcs4ToUtf8(tls *libc.TLS, ucs4 TFcChar32, dest uintptr) (r int32) {
  42300. var bits int32
  42301. var d, v1, v2, v3, v4, v5, v6, v8 uintptr
  42302. _, _, _, _, _, _, _, _, _ = bits, d, v1, v2, v3, v4, v5, v6, v8
  42303. d = dest
  42304. if ucs4 < uint32(0x80) {
  42305. v1 = d
  42306. d++
  42307. *(*TFcChar8)(unsafe.Pointer(v1)) = uint8(ucs4)
  42308. bits = -int32(6)
  42309. } else {
  42310. if ucs4 < uint32(0x800) {
  42311. v2 = d
  42312. d++
  42313. *(*TFcChar8)(unsafe.Pointer(v2)) = uint8(ucs4>>libc.Int32FromInt32(6)&uint32(0x1F) | uint32(0xC0))
  42314. bits = 0
  42315. } else {
  42316. if ucs4 < uint32(0x10000) {
  42317. v3 = d
  42318. d++
  42319. *(*TFcChar8)(unsafe.Pointer(v3)) = uint8(ucs4>>libc.Int32FromInt32(12)&uint32(0x0F) | uint32(0xE0))
  42320. bits = int32(6)
  42321. } else {
  42322. if ucs4 < uint32(0x200000) {
  42323. v4 = d
  42324. d++
  42325. *(*TFcChar8)(unsafe.Pointer(v4)) = uint8(ucs4>>libc.Int32FromInt32(18)&uint32(0x07) | uint32(0xF0))
  42326. bits = int32(12)
  42327. } else {
  42328. if ucs4 < uint32(0x4000000) {
  42329. v5 = d
  42330. d++
  42331. *(*TFcChar8)(unsafe.Pointer(v5)) = uint8(ucs4>>libc.Int32FromInt32(24)&uint32(0x03) | uint32(0xF8))
  42332. bits = int32(18)
  42333. } else {
  42334. if ucs4 < uint32(0x80000000) {
  42335. v6 = d
  42336. d++
  42337. *(*TFcChar8)(unsafe.Pointer(v6)) = uint8(ucs4>>libc.Int32FromInt32(30)&uint32(0x01) | uint32(0xFC))
  42338. bits = int32(24)
  42339. } else {
  42340. return 0
  42341. }
  42342. }
  42343. }
  42344. }
  42345. }
  42346. }
  42347. for {
  42348. if !(bits >= 0) {
  42349. break
  42350. }
  42351. v8 = d
  42352. d++
  42353. *(*TFcChar8)(unsafe.Pointer(v8)) = uint8(ucs4>>bits&uint32(0x3F) | uint32(0x80))
  42354. goto _7
  42355. _7:
  42356. ;
  42357. bits -= int32(6)
  42358. }
  42359. return int32(int64(d) - int64(dest))
  42360. }
  42361. var XFcUcs4ToUtf8 = XIA__FcUcs4ToUtf8
  42362. func XIA__FcUtf16ToUcs4(tls *libc.TLS, src_orig uintptr, endian TFcEndian, dst uintptr, len1 int32) (r int32) {
  42363. /* in bytes */
  42364. var a, b TFcChar16
  42365. var result TFcChar32
  42366. var src uintptr
  42367. var v1, v2, v3, v4 int32
  42368. _, _, _, _, _, _, _, _ = a, b, result, src, v1, v2, v3, v4
  42369. src = src_orig
  42370. if len1 < int32(2) {
  42371. return 0
  42372. }
  42373. if endian == int32(_FcEndianBig) {
  42374. v1 = 0
  42375. } else {
  42376. v1 = int32(1)
  42377. }
  42378. if endian == int32(_FcEndianBig) {
  42379. v2 = int32(1)
  42380. } else {
  42381. v2 = 0
  42382. }
  42383. a = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(src + uintptr(v1))))<<libc.Int32FromInt32(8))) | libc.Int32FromUint16(uint16(*(*TFcChar8)(unsafe.Pointer(src + uintptr(v2))))))
  42384. src += uintptr(2)
  42385. len1 -= int32(2)
  42386. /*
  42387. * Check for surrogate
  42388. */
  42389. if libc.Int32FromUint16(a)&int32(0xfc00) == int32(0xd800) {
  42390. if len1 < int32(2) {
  42391. return 0
  42392. }
  42393. if endian == int32(_FcEndianBig) {
  42394. v3 = 0
  42395. } else {
  42396. v3 = int32(1)
  42397. }
  42398. if endian == int32(_FcEndianBig) {
  42399. v4 = int32(1)
  42400. } else {
  42401. v4 = 0
  42402. }
  42403. b = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(src + uintptr(v3))))<<libc.Int32FromInt32(8))) | libc.Int32FromUint16(uint16(*(*TFcChar8)(unsafe.Pointer(src + uintptr(v4))))))
  42404. src += uintptr(2)
  42405. len1 -= int32(2)
  42406. /*
  42407. * Check for invalid surrogate sequence
  42408. */
  42409. if libc.Int32FromUint16(b)&int32(0xfc00) != int32(0xdc00) {
  42410. return 0
  42411. }
  42412. result = uint32(a)&uint32(0x3ff)<<int32(10) | uint32(b)&uint32(0x3ff) + uint32(0x10000)
  42413. } else {
  42414. result = uint32(a)
  42415. }
  42416. *(*TFcChar32)(unsafe.Pointer(dst)) = result
  42417. return int32(int64(src) - int64(src_orig))
  42418. }
  42419. var XFcUtf16ToUcs4 = XIA__FcUtf16ToUcs4
  42420. func XIA__FcUtf16Len(tls *libc.TLS, string1 uintptr, endian TFcEndian, len1 int32, nchar uintptr, wchar uintptr) (r TFcBool) {
  42421. bp := tls.Alloc(16)
  42422. defer tls.Free(16)
  42423. var clen, n int32
  42424. var max TFcChar32
  42425. var _ /* c at bp+0 */ TFcChar32
  42426. _, _, _ = clen, max, n
  42427. n = 0
  42428. max = uint32(0)
  42429. for len1 != 0 {
  42430. clen = XIA__FcUtf16ToUcs4(tls, string1, endian, bp, len1)
  42431. if clen <= 0 { /* malformed UTF8 string */
  42432. return m_FcFalse
  42433. }
  42434. if *(*TFcChar32)(unsafe.Pointer(bp)) > max {
  42435. max = *(*TFcChar32)(unsafe.Pointer(bp))
  42436. }
  42437. string1 += uintptr(clen)
  42438. len1 -= clen
  42439. n++
  42440. }
  42441. *(*int32)(unsafe.Pointer(nchar)) = n
  42442. if max >= uint32(0x10000) {
  42443. *(*int32)(unsafe.Pointer(wchar)) = int32(4)
  42444. } else {
  42445. if max > uint32(0x100) {
  42446. *(*int32)(unsafe.Pointer(wchar)) = int32(2)
  42447. } else {
  42448. *(*int32)(unsafe.Pointer(wchar)) = int32(1)
  42449. }
  42450. }
  42451. return int32(m_FcTrue)
  42452. }
  42453. var XFcUtf16Len = XIA__FcUtf16Len
  42454. func XFcStrBufInit(tls *libc.TLS, buf uintptr, init1 uintptr, size int32) {
  42455. if init1 != 0 {
  42456. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = init1
  42457. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = size
  42458. } else {
  42459. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = buf + 24
  42460. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = int32(128)
  42461. }
  42462. (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated = m_FcFalse
  42463. (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed = m_FcFalse
  42464. (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 = 0
  42465. }
  42466. func XFcStrBufDestroy(tls *libc.TLS, buf uintptr) {
  42467. if (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated != 0 {
  42468. libc.Xfree(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf)
  42469. XFcStrBufInit(tls, buf, uintptr(0), 0)
  42470. }
  42471. }
  42472. func XFcStrBufDone(tls *libc.TLS, buf uintptr) (r uintptr) {
  42473. var ret uintptr
  42474. _ = ret
  42475. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  42476. ret = libc.UintptrFromInt32(0)
  42477. } else {
  42478. ret = libc.Xmalloc(tls, libc.Uint64FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1+int32(1)))
  42479. }
  42480. if ret != 0 {
  42481. libc.Xmemcpy(tls, ret, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint64FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1))
  42482. *(*TFcChar8)(unsafe.Pointer(ret + uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1))) = uint8('\000')
  42483. }
  42484. XFcStrBufDestroy(tls, buf)
  42485. return ret
  42486. }
  42487. func XFcStrBufDoneStatic(tls *libc.TLS, buf uintptr) (r uintptr) {
  42488. XFcStrBufChar(tls, buf, uint8('\000'))
  42489. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  42490. return libc.UintptrFromInt32(0)
  42491. }
  42492. return (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf
  42493. }
  42494. func XFcStrBufChar(tls *libc.TLS, buf uintptr, c TFcChar8) (r TFcBool) {
  42495. var new1, v2 uintptr
  42496. var size, v1 int32
  42497. _, _, _, _ = new1, size, v1, v2
  42498. if (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 == (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize {
  42499. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  42500. return m_FcFalse
  42501. }
  42502. if (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated != 0 {
  42503. size = (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize * int32(2)
  42504. new1 = libc.Xrealloc(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint64FromInt32(size))
  42505. } else {
  42506. size = (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize + int32(64)
  42507. new1 = libc.Xmalloc(tls, libc.Uint64FromInt32(size))
  42508. if new1 != 0 {
  42509. (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated = int32(m_FcTrue)
  42510. libc.Xmemcpy(tls, new1, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint64FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1))
  42511. }
  42512. }
  42513. if !(new1 != 0) {
  42514. (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed = int32(m_FcTrue)
  42515. return m_FcFalse
  42516. }
  42517. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = size
  42518. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = new1
  42519. }
  42520. v2 = buf + 16
  42521. v1 = *(*int32)(unsafe.Pointer(v2))
  42522. *(*int32)(unsafe.Pointer(v2))++
  42523. *(*TFcChar8)(unsafe.Pointer((*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf + uintptr(v1))) = c
  42524. return int32(m_FcTrue)
  42525. }
  42526. func XFcStrBufString(tls *libc.TLS, buf uintptr, s uintptr) (r TFcBool) {
  42527. var c, v1 TFcChar8
  42528. var v2 uintptr
  42529. _, _, _ = c, v1, v2
  42530. for {
  42531. v2 = s
  42532. s++
  42533. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  42534. c = v1
  42535. if !(v1 != 0) {
  42536. break
  42537. }
  42538. if !(XFcStrBufChar(tls, buf, c) != 0) {
  42539. return m_FcFalse
  42540. }
  42541. }
  42542. return int32(m_FcTrue)
  42543. }
  42544. func XFcStrBufData(tls *libc.TLS, buf uintptr, s uintptr, len1 int32) (r TFcBool) {
  42545. var v1 int32
  42546. var v2 uintptr
  42547. _, _ = v1, v2
  42548. for {
  42549. v1 = len1
  42550. len1--
  42551. if !(v1 > 0) {
  42552. break
  42553. }
  42554. v2 = s
  42555. s++
  42556. if !(XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v2))) != 0) {
  42557. return m_FcFalse
  42558. }
  42559. }
  42560. return int32(m_FcTrue)
  42561. }
  42562. func XFcStrUsesHome(tls *libc.TLS, s uintptr) (r TFcBool) {
  42563. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('~'))
  42564. }
  42565. func XFcStrIsAbsoluteFilename(tls *libc.TLS, s uintptr) (r TFcBool) {
  42566. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/'))
  42567. }
  42568. func XIA__FcStrBuildFilename(tls *libc.TLS, path uintptr, va uintptr) (r uintptr) {
  42569. var ap Tva_list
  42570. var len1 Tsize_t
  42571. var list, p, ret, s, sset, v1, v2 uintptr
  42572. _, _, _, _, _, _, _, _, _ = ap, len1, list, p, ret, s, sset, v1, v2
  42573. ret = libc.UintptrFromInt32(0)
  42574. len1 = uint64(0)
  42575. if !(path != 0) {
  42576. return libc.UintptrFromInt32(0)
  42577. }
  42578. sset = XFcStrSetCreateEx(tls, libc.Uint32FromInt32(libc.Int32FromInt32(m_FCSS_ALLOW_DUPLICATES)|libc.Int32FromInt32(m_FCSS_GROW_BY_64)))
  42579. if !(sset != 0) {
  42580. return libc.UintptrFromInt32(0)
  42581. }
  42582. if !(XIA__FcStrSetAdd(tls, sset, path) != 0) {
  42583. goto bail0
  42584. }
  42585. ap = va
  42586. for int32(1) != 0 {
  42587. s = libc.VaUintptr(&ap)
  42588. if !(s != 0) {
  42589. break
  42590. }
  42591. if !(XIA__FcStrSetAdd(tls, sset, s) != 0) {
  42592. goto bail1
  42593. }
  42594. }
  42595. list = XIA__FcStrListCreate(tls, sset)
  42596. for {
  42597. v1 = XIA__FcStrListNext(tls, list)
  42598. s = v1
  42599. if !(v1 != 0) {
  42600. break
  42601. }
  42602. len1 += libc.Xstrlen(tls, s) + uint64(1)
  42603. }
  42604. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  42605. ret = libc.Xmalloc(tls, uint64(1)*(len1+uint64(1)))
  42606. if !(ret != 0) {
  42607. goto bail2
  42608. }
  42609. p = ret
  42610. for {
  42611. v2 = XIA__FcStrListNext(tls, list)
  42612. s = v2
  42613. if !(v2 != 0) {
  42614. break
  42615. }
  42616. if p != ret {
  42617. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('/')
  42618. p++
  42619. }
  42620. len1 = libc.Xstrlen(tls, s)
  42621. libc.Xmemcpy(tls, p, s, len1)
  42622. p += uintptr(len1)
  42623. }
  42624. *(*TFcChar8)(unsafe.Pointer(p)) = uint8(0)
  42625. goto bail2
  42626. bail2:
  42627. ;
  42628. XIA__FcStrListDone(tls, list)
  42629. goto bail1
  42630. bail1:
  42631. ;
  42632. _ = ap
  42633. goto bail0
  42634. bail0:
  42635. ;
  42636. XIA__FcStrSetDestroy(tls, sset)
  42637. return ret
  42638. }
  42639. var XFcStrBuildFilename = XIA__FcStrBuildFilename
  42640. func XIA__FcStrCopyFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  42641. var full, home, new1 uintptr
  42642. var size int32
  42643. _, _, _, _ = full, home, new1, size
  42644. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('~') {
  42645. home = XIA__FcConfigHome(tls)
  42646. if !(home != 0) {
  42647. return libc.UintptrFromInt32(0)
  42648. }
  42649. size = libc.Int32FromUint64(libc.Xstrlen(tls, home) + libc.Xstrlen(tls, s))
  42650. full = libc.Xmalloc(tls, libc.Uint64FromInt32(size+int32(1)))
  42651. if !(full != 0) {
  42652. return libc.UintptrFromInt32(0)
  42653. }
  42654. libc.Xstrcpy(tls, full, home)
  42655. libc.Xstrcat(tls, full, s+uintptr(1))
  42656. new1 = XFcStrCanonFilename(tls, full)
  42657. libc.Xfree(tls, full)
  42658. } else {
  42659. new1 = XFcStrCanonFilename(tls, s)
  42660. }
  42661. return new1
  42662. }
  42663. var XFcStrCopyFilename = XIA__FcStrCopyFilename
  42664. func XFcStrLastSlash(tls *libc.TLS, path uintptr) (r uintptr) {
  42665. var slash uintptr
  42666. _ = slash
  42667. slash = libc.Xstrrchr(tls, path, int32('/'))
  42668. return slash
  42669. }
  42670. func XIA__FcStrDirname(tls *libc.TLS, file uintptr) (r uintptr) {
  42671. var dir, slash uintptr
  42672. _, _ = dir, slash
  42673. slash = XFcStrLastSlash(tls, file)
  42674. if !(slash != 0) {
  42675. return XIA__FcStrCopy(tls, __ccgo_ts+6975)
  42676. }
  42677. dir = libc.Xmalloc(tls, libc.Uint64FromInt64(int64(slash)-int64(file)+int64(1)))
  42678. if !(dir != 0) {
  42679. return uintptr(0)
  42680. }
  42681. libc.Xstrncpy(tls, dir, file, libc.Uint64FromInt64(int64(slash)-int64(file)))
  42682. *(*TFcChar8)(unsafe.Pointer(dir + uintptr(int64(slash)-int64(file)))) = uint8('\000')
  42683. return dir
  42684. }
  42685. var XFcStrDirname = XIA__FcStrDirname
  42686. func XIA__FcStrBasename(tls *libc.TLS, file uintptr) (r uintptr) {
  42687. var slash uintptr
  42688. _ = slash
  42689. slash = XFcStrLastSlash(tls, file)
  42690. if !(slash != 0) {
  42691. return XIA__FcStrCopy(tls, file)
  42692. }
  42693. return XIA__FcStrCopy(tls, slash+uintptr(1))
  42694. }
  42695. var XFcStrBasename = XIA__FcStrBasename
  42696. func XFcStrRealPath(tls *libc.TLS, path uintptr) (r uintptr) {
  42697. bp := tls.Alloc(4112)
  42698. defer tls.Free(4112)
  42699. var resolved_ret uintptr
  42700. var _ /* resolved_name at bp+0 */ [4097]uint8
  42701. _ = resolved_ret
  42702. if !(path != 0) {
  42703. return libc.UintptrFromInt32(0)
  42704. }
  42705. resolved_ret = libc.Xrealpath(tls, path, bp)
  42706. if resolved_ret != 0 {
  42707. path = resolved_ret
  42708. }
  42709. return XIA__FcStrCopyFilename(tls, path)
  42710. }
  42711. func _FcStrCanonAbsoluteFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  42712. var f, file, slash, v2, v4, v5 uintptr
  42713. var size int32
  42714. var v3 TFcChar8
  42715. _, _, _, _, _, _, _, _ = f, file, size, slash, v2, v3, v4, v5
  42716. size = libc.Int32FromUint64(libc.Xstrlen(tls, s) + uint64(1))
  42717. file = libc.Xmalloc(tls, libc.Uint64FromInt32(size))
  42718. if !(file != 0) {
  42719. return libc.UintptrFromInt32(0)
  42720. }
  42721. slash = libc.UintptrFromInt32(0)
  42722. f = file
  42723. for {
  42724. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('\000') {
  42725. if slash != 0 {
  42726. switch int64(s) - int64(slash) {
  42727. case int64(1):
  42728. f -= uintptr(1) /* squash // and trim final / from file */
  42729. case int64(2):
  42730. if !(libc.Xstrncmp(tls, slash, __ccgo_ts+6977, uint64(2)) != 0) {
  42731. f -= uintptr(2) /* trim /. from file */
  42732. }
  42733. case int64(3):
  42734. if !(libc.Xstrncmp(tls, slash, __ccgo_ts+6980, uint64(3)) != 0) {
  42735. f -= uintptr(3) /* trim /.. from file */
  42736. for f > file {
  42737. f--
  42738. v2 = f
  42739. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2))) == int32('/') {
  42740. break
  42741. }
  42742. }
  42743. }
  42744. break
  42745. }
  42746. }
  42747. slash = s
  42748. }
  42749. v4 = s
  42750. s++
  42751. v3 = *(*TFcChar8)(unsafe.Pointer(v4))
  42752. v5 = f
  42753. f++
  42754. *(*TFcChar8)(unsafe.Pointer(v5)) = v3
  42755. if !(v3 != 0) {
  42756. break
  42757. }
  42758. goto _1
  42759. _1:
  42760. }
  42761. return file
  42762. }
  42763. func XFcStrCanonFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  42764. bp := tls.Alloc(4128)
  42765. defer tls.Free(4128)
  42766. var file, full uintptr
  42767. var _ /* cwd at bp+0 */ [4098]TFcChar8
  42768. _, _ = file, full
  42769. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/') {
  42770. return _FcStrCanonAbsoluteFilename(tls, s)
  42771. } else {
  42772. if libc.Xgetcwd(tls, bp, uint64(m_FC_MAX_FILE_LEN)) == libc.UintptrFromInt32(0) {
  42773. return libc.UintptrFromInt32(0)
  42774. }
  42775. full = XIA__FcStrBuildFilename(tls, bp, libc.VaList(bp+4112, s, libc.UintptrFromInt32(0)))
  42776. file = _FcStrCanonAbsoluteFilename(tls, full)
  42777. XIA__FcStrFree(tls, full)
  42778. return file
  42779. }
  42780. return r
  42781. }
  42782. func XIA__FcStrSetCreate(tls *libc.TLS) (r uintptr) {
  42783. return XFcStrSetCreateEx(tls, uint32(m_FCSS_DEFAULT))
  42784. }
  42785. var XFcStrSetCreate = XIA__FcStrSetCreate
  42786. func XFcStrSetCreateEx(tls *libc.TLS, control uint32) (r uintptr) {
  42787. var set uintptr
  42788. _ = set
  42789. set = libc.Xmalloc(tls, uint64(32))
  42790. if !(set != 0) {
  42791. return uintptr(0)
  42792. }
  42793. (*TFcRef)(unsafe.Pointer(set)).Fcount = int32(1)
  42794. (*TFcStrSet)(unsafe.Pointer(set)).Fnum = 0
  42795. (*TFcStrSet)(unsafe.Pointer(set)).Fsize = 0
  42796. (*TFcStrSet)(unsafe.Pointer(set)).Fstrs = uintptr(0)
  42797. (*TFcStrSet)(unsafe.Pointer(set)).Fcontrol = control
  42798. return set
  42799. }
  42800. func __FcStrSetGrow(tls *libc.TLS, set uintptr, growElements int32) (r TFcBool) {
  42801. var strs uintptr
  42802. _ = strs
  42803. /* accommodate an additional NULL entry at the end of the array */
  42804. strs = libc.Xmalloc(tls, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(set)).Fsize+growElements+libc.Int32FromInt32(1))*uint64(8))
  42805. if !(strs != 0) {
  42806. return m_FcFalse
  42807. }
  42808. if (*TFcStrSet)(unsafe.Pointer(set)).Fnum != 0 {
  42809. libc.Xmemcpy(tls, strs, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*uint64(8))
  42810. }
  42811. if (*TFcStrSet)(unsafe.Pointer(set)).Fstrs != 0 {
  42812. libc.Xfree(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs)
  42813. }
  42814. (*TFcStrSet)(unsafe.Pointer(set)).Fsize = (*TFcStrSet)(unsafe.Pointer(set)).Fsize + growElements
  42815. (*TFcStrSet)(unsafe.Pointer(set)).Fstrs = strs
  42816. return int32(m_FcTrue)
  42817. }
  42818. func __FcStrSetInsert(tls *libc.TLS, set uintptr, s uintptr, pos int32) (r TFcBool) {
  42819. var growElements, i, v1, v2 int32
  42820. var v3 uintptr
  42821. _, _, _, _, _ = growElements, i, v1, v2, v3
  42822. if !((*TFcStrSet)(unsafe.Pointer(set)).Fcontrol&libc.Uint32FromInt32(m_FCSS_ALLOW_DUPLICATES) != 0) {
  42823. if XIA__FcStrSetMember(tls, set, s) != 0 {
  42824. XIA__FcStrFree(tls, s)
  42825. return int32(m_FcTrue)
  42826. }
  42827. }
  42828. if (*TFcStrSet)(unsafe.Pointer(set)).Fnum == (*TFcStrSet)(unsafe.Pointer(set)).Fsize {
  42829. if (*TFcStrSet)(unsafe.Pointer(set)).Fcontrol&uint32(m_FCSS_GROW_BY_64) != 0 {
  42830. v1 = int32(64)
  42831. } else {
  42832. v1 = int32(1)
  42833. }
  42834. growElements = v1
  42835. if !(__FcStrSetGrow(tls, set, growElements) != 0) {
  42836. return m_FcFalse
  42837. }
  42838. }
  42839. if pos >= (*TFcStrSet)(unsafe.Pointer(set)).Fnum {
  42840. v3 = set + 4
  42841. v2 = *(*int32)(unsafe.Pointer(v3))
  42842. *(*int32)(unsafe.Pointer(v3))++
  42843. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(v2)*8)) = s
  42844. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*8)) = uintptr(0)
  42845. } else {
  42846. (*TFcStrSet)(unsafe.Pointer(set)).Fnum++
  42847. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*8)) = uintptr(0)
  42848. i = (*TFcStrSet)(unsafe.Pointer(set)).Fnum - int32(1)
  42849. for {
  42850. if !(i > pos) {
  42851. break
  42852. }
  42853. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i-int32(1))*8))
  42854. goto _4
  42855. _4:
  42856. ;
  42857. i--
  42858. }
  42859. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(pos)*8)) = s
  42860. }
  42861. return int32(m_FcTrue)
  42862. }
  42863. func XIA__FcStrSetMember(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  42864. var i int32
  42865. _ = i
  42866. i = 0
  42867. for {
  42868. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  42869. break
  42870. }
  42871. if !(XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)), s) != 0) {
  42872. return int32(m_FcTrue)
  42873. }
  42874. goto _1
  42875. _1:
  42876. ;
  42877. i++
  42878. }
  42879. return m_FcFalse
  42880. }
  42881. var XFcStrSetMember = XIA__FcStrSetMember
  42882. func _fc_strcmp_r(tls *libc.TLS, s1 uintptr, s2 uintptr, ret uintptr) (r int32) {
  42883. var c1, c2 TFcChar8
  42884. var v2, v3 uintptr
  42885. _, _, _, _ = c1, c2, v2, v3
  42886. if s1 == s2 {
  42887. if ret != 0 {
  42888. *(*uintptr)(unsafe.Pointer(ret)) = libc.UintptrFromInt32(0)
  42889. }
  42890. return 0
  42891. }
  42892. for {
  42893. if s1 != 0 {
  42894. v2 = s1
  42895. s1++
  42896. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  42897. } else {
  42898. c1 = uint8(0)
  42899. }
  42900. if s2 != 0 {
  42901. v3 = s2
  42902. s2++
  42903. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  42904. } else {
  42905. c2 = uint8(0)
  42906. }
  42907. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  42908. break
  42909. }
  42910. goto _1
  42911. _1:
  42912. }
  42913. if ret != 0 {
  42914. *(*uintptr)(unsafe.Pointer(ret)) = s1
  42915. }
  42916. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  42917. }
  42918. func XFcStrSetMemberAB(tls *libc.TLS, set uintptr, a uintptr, b uintptr, ret uintptr) (r TFcBool) {
  42919. bp := tls.Alloc(16)
  42920. defer tls.Free(16)
  42921. var i int32
  42922. var _ /* s at bp+0 */ uintptr
  42923. _ = i
  42924. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  42925. i = 0
  42926. for {
  42927. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  42928. break
  42929. }
  42930. if !(_fc_strcmp_r(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)), a, bp) != 0) && *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  42931. if !(_fc_strcmp_r(tls, *(*uintptr)(unsafe.Pointer(bp)), b, libc.UintptrFromInt32(0)) != 0) {
  42932. if ret != 0 {
  42933. *(*uintptr)(unsafe.Pointer(ret)) = *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8))
  42934. }
  42935. return int32(m_FcTrue)
  42936. }
  42937. }
  42938. goto _1
  42939. _1:
  42940. ;
  42941. i++
  42942. }
  42943. if ret != 0 {
  42944. *(*uintptr)(unsafe.Pointer(ret)) = libc.UintptrFromInt32(0)
  42945. }
  42946. return m_FcFalse
  42947. }
  42948. func XIA__FcStrSetEqual(tls *libc.TLS, sa uintptr, sb uintptr) (r TFcBool) {
  42949. var i int32
  42950. _ = i
  42951. if (*TFcStrSet)(unsafe.Pointer(sa)).Fnum != (*TFcStrSet)(unsafe.Pointer(sb)).Fnum {
  42952. return m_FcFalse
  42953. }
  42954. i = 0
  42955. for {
  42956. if !(i < (*TFcStrSet)(unsafe.Pointer(sa)).Fnum) {
  42957. break
  42958. }
  42959. if !(XIA__FcStrSetMember(tls, sb, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(sa)).Fstrs + uintptr(i)*8))) != 0) {
  42960. return m_FcFalse
  42961. }
  42962. goto _1
  42963. _1:
  42964. ;
  42965. i++
  42966. }
  42967. return int32(m_FcTrue)
  42968. }
  42969. var XFcStrSetEqual = XIA__FcStrSetEqual
  42970. func XIA__FcStrSetAdd(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  42971. var new1 uintptr
  42972. _ = new1
  42973. new1 = XIA__FcStrCopy(tls, s)
  42974. if !(new1 != 0) {
  42975. return m_FcFalse
  42976. }
  42977. if !(__FcStrSetInsert(tls, set, new1, (*TFcStrSet)(unsafe.Pointer(set)).Fnum) != 0) {
  42978. XIA__FcStrFree(tls, new1)
  42979. return m_FcFalse
  42980. }
  42981. return int32(m_FcTrue)
  42982. }
  42983. var XFcStrSetAdd = XIA__FcStrSetAdd
  42984. func XFcStrSetInsert(tls *libc.TLS, set uintptr, s uintptr, pos int32) (r TFcBool) {
  42985. var new1 uintptr
  42986. _ = new1
  42987. new1 = XIA__FcStrCopy(tls, s)
  42988. if !(new1 != 0) {
  42989. return m_FcFalse
  42990. }
  42991. if !(__FcStrSetInsert(tls, set, new1, pos) != 0) {
  42992. XIA__FcStrFree(tls, new1)
  42993. return m_FcFalse
  42994. }
  42995. return int32(m_FcTrue)
  42996. }
  42997. func XFcStrSetAddTriple(tls *libc.TLS, set uintptr, a uintptr, b uintptr, c uintptr) (r TFcBool) {
  42998. var new1 uintptr
  42999. _ = new1
  43000. new1 = _FcStrMakeTriple(tls, a, b, c)
  43001. if !(new1 != 0) {
  43002. return m_FcFalse
  43003. }
  43004. if !(__FcStrSetInsert(tls, set, new1, (*TFcStrSet)(unsafe.Pointer(set)).Fnum) != 0) {
  43005. XIA__FcStrFree(tls, new1)
  43006. return m_FcFalse
  43007. }
  43008. return int32(m_FcTrue)
  43009. }
  43010. func XFcStrTripleSecond(tls *libc.TLS, str uintptr) (r uintptr) {
  43011. var second uintptr
  43012. _ = second
  43013. second = str + uintptr(libc.Xstrlen(tls, str)) + uintptr(1)
  43014. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(second))) == int32('\000') {
  43015. return uintptr(0)
  43016. }
  43017. return second
  43018. }
  43019. func XFcStrTripleThird(tls *libc.TLS, str uintptr) (r uintptr) {
  43020. var second, third uintptr
  43021. _, _ = second, third
  43022. second = str + uintptr(libc.Xstrlen(tls, str)) + uintptr(1)
  43023. third = second + uintptr(libc.Xstrlen(tls, second)) + uintptr(1)
  43024. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(third))) == int32('\000') {
  43025. return uintptr(0)
  43026. }
  43027. return third
  43028. }
  43029. func XIA__FcStrSetAddFilename(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  43030. var new1 uintptr
  43031. _ = new1
  43032. new1 = XIA__FcStrCopyFilename(tls, s)
  43033. if !(new1 != 0) {
  43034. return m_FcFalse
  43035. }
  43036. if !(__FcStrSetInsert(tls, set, new1, (*TFcStrSet)(unsafe.Pointer(set)).Fnum) != 0) {
  43037. XIA__FcStrFree(tls, new1)
  43038. return m_FcFalse
  43039. }
  43040. return int32(m_FcTrue)
  43041. }
  43042. var XFcStrSetAddFilename = XIA__FcStrSetAddFilename
  43043. func XFcStrSetAddFilenamePairWithSalt(tls *libc.TLS, set uintptr, a uintptr, b uintptr, salt uintptr) (r TFcBool) {
  43044. var new_a, new_b uintptr
  43045. var ret TFcBool
  43046. _, _, _ = new_a, new_b, ret
  43047. new_a = libc.UintptrFromInt32(0)
  43048. new_b = libc.UintptrFromInt32(0)
  43049. if a != 0 {
  43050. new_a = XIA__FcStrCopyFilename(tls, a)
  43051. if !(new_a != 0) {
  43052. return m_FcFalse
  43053. }
  43054. }
  43055. if b != 0 {
  43056. new_b = XIA__FcStrCopyFilename(tls, b)
  43057. if !(new_b != 0) {
  43058. if new_a != 0 {
  43059. XIA__FcStrFree(tls, new_a)
  43060. }
  43061. return m_FcFalse
  43062. }
  43063. }
  43064. /* Override maps with new one if exists */
  43065. XIA__FcStrSetDel(tls, set, new_a)
  43066. ret = XFcStrSetAddTriple(tls, set, new_a, new_b, salt)
  43067. if new_a != 0 {
  43068. XIA__FcStrFree(tls, new_a)
  43069. }
  43070. if new_b != 0 {
  43071. XIA__FcStrFree(tls, new_b)
  43072. }
  43073. return ret
  43074. }
  43075. func XFcStrSetAddLangs(tls *libc.TLS, strs uintptr, languages uintptr) (r TFcBool) {
  43076. bp := tls.Alloc(128)
  43077. defer tls.Free(128)
  43078. var len1 Tsize_t
  43079. var next, normalized_lang, p, v1 uintptr
  43080. var ret TFcBool
  43081. var v2 uint64
  43082. var _ /* lang at bp+0 */ [128]TFcChar8
  43083. _, _, _, _, _, _, _ = len1, next, normalized_lang, p, ret, v1, v2
  43084. p = languages
  43085. *(*[128]TFcChar8)(unsafe.Pointer(bp)) = [128]TFcChar8{}
  43086. ret = m_FcFalse
  43087. if !(languages != 0) {
  43088. return m_FcFalse
  43089. }
  43090. for {
  43091. v1 = libc.Xstrchr(tls, p, int32(':'))
  43092. next = v1
  43093. if !(v1 != 0) {
  43094. break
  43095. }
  43096. len1 = libc.Uint64FromInt64(int64(next) - int64(p))
  43097. if len1 < libc.Uint64FromInt32(libc.Int32FromInt32(127)) {
  43098. v2 = len1
  43099. } else {
  43100. v2 = libc.Uint64FromInt32(libc.Int32FromInt32(127))
  43101. }
  43102. len1 = v2
  43103. libc.Xstrncpy(tls, bp, p, len1)
  43104. (*(*[128]TFcChar8)(unsafe.Pointer(bp)))[len1] = uint8(0)
  43105. /* ignore an empty item */
  43106. if *(*TFcChar8)(unsafe.Pointer(bp)) != 0 {
  43107. normalized_lang = XIA__FcLangNormalize(tls, bp)
  43108. if normalized_lang != 0 {
  43109. XIA__FcStrSetAdd(tls, strs, normalized_lang)
  43110. XIA__FcStrFree(tls, normalized_lang)
  43111. ret = int32(m_FcTrue)
  43112. }
  43113. }
  43114. p = next + uintptr(1)
  43115. }
  43116. if *(*uint8)(unsafe.Pointer(p)) != 0 {
  43117. normalized_lang = XIA__FcLangNormalize(tls, p)
  43118. if normalized_lang != 0 {
  43119. XIA__FcStrSetAdd(tls, strs, normalized_lang)
  43120. XIA__FcStrFree(tls, normalized_lang)
  43121. ret = int32(m_FcTrue)
  43122. }
  43123. }
  43124. return ret
  43125. }
  43126. func XIA__FcStrSetDel(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  43127. var i int32
  43128. _ = i
  43129. i = 0
  43130. for {
  43131. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  43132. break
  43133. }
  43134. if !(XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)), s) != 0) {
  43135. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)))
  43136. /*
  43137. * copy remaining string pointers and trailing
  43138. * NULL
  43139. */
  43140. libc.Xmemmove(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs+uintptr(i)*8, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs+uintptr(i+int32(1))*8, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(set)).Fnum-i)*uint64(8))
  43141. (*TFcStrSet)(unsafe.Pointer(set)).Fnum--
  43142. return int32(m_FcTrue)
  43143. }
  43144. goto _1
  43145. _1:
  43146. ;
  43147. i++
  43148. }
  43149. return m_FcFalse
  43150. }
  43151. var XFcStrSetDel = XIA__FcStrSetDel
  43152. func XFcStrSetDeleteAll(tls *libc.TLS, set uintptr) (r TFcBool) {
  43153. var i int32
  43154. var v1 TFcBool
  43155. _, _ = i, v1
  43156. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  43157. goto _2
  43158. _2:
  43159. if v1 != 0 {
  43160. return m_FcFalse
  43161. }
  43162. i = (*TFcStrSet)(unsafe.Pointer(set)).Fnum
  43163. for {
  43164. if !(i > 0) {
  43165. break
  43166. }
  43167. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i-int32(1))*8)))
  43168. (*TFcStrSet)(unsafe.Pointer(set)).Fnum--
  43169. goto _3
  43170. _3:
  43171. ;
  43172. i--
  43173. }
  43174. return int32(m_FcTrue)
  43175. }
  43176. // C documentation
  43177. //
  43178. // /* TODO Make public */
  43179. func _FcStrSetReference(tls *libc.TLS, set uintptr) (r uintptr) {
  43180. var v1 TFcBool
  43181. var p4 uintptr
  43182. _, _ = v1, p4
  43183. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  43184. goto _2
  43185. _2:
  43186. if v1 != 0 {
  43187. return set
  43188. }
  43189. p4 = set
  43190. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  43191. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  43192. goto _3
  43193. _3:
  43194. ;
  43195. return set
  43196. }
  43197. func XIA__FcStrSetDestroy(tls *libc.TLS, set uintptr) {
  43198. var i, v3 int32
  43199. var v1 TFcBool
  43200. var p5 uintptr
  43201. _, _, _, _ = i, v1, v3, p5
  43202. /* We rely on this in FcGetDefaultLangs for caching. */
  43203. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  43204. goto _2
  43205. _2:
  43206. if v1 != 0 {
  43207. return
  43208. }
  43209. p5 = set
  43210. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  43211. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  43212. goto _4
  43213. _4:
  43214. if v3 != int32(1) {
  43215. return
  43216. }
  43217. i = 0
  43218. for {
  43219. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  43220. break
  43221. }
  43222. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)))
  43223. goto _6
  43224. _6:
  43225. ;
  43226. i++
  43227. }
  43228. if (*TFcStrSet)(unsafe.Pointer(set)).Fstrs != 0 {
  43229. libc.Xfree(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs)
  43230. }
  43231. libc.Xfree(tls, set)
  43232. }
  43233. var XFcStrSetDestroy = XIA__FcStrSetDestroy
  43234. func XIA__FcStrListCreate(tls *libc.TLS, set uintptr) (r uintptr) {
  43235. var list uintptr
  43236. _ = list
  43237. list = libc.Xmalloc(tls, uint64(16))
  43238. if !(list != 0) {
  43239. return uintptr(0)
  43240. }
  43241. (*TFcStrList)(unsafe.Pointer(list)).Fset = set
  43242. _FcStrSetReference(tls, set)
  43243. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  43244. return list
  43245. }
  43246. var XFcStrListCreate = XIA__FcStrListCreate
  43247. func XIA__FcStrListFirst(tls *libc.TLS, list uintptr) {
  43248. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  43249. }
  43250. var XFcStrListFirst = XIA__FcStrListFirst
  43251. func XIA__FcStrListNext(tls *libc.TLS, list uintptr) (r uintptr) {
  43252. var v1 int32
  43253. var v2 uintptr
  43254. _, _ = v1, v2
  43255. if (*TFcStrList)(unsafe.Pointer(list)).Fn >= (*TFcStrSet)(unsafe.Pointer((*TFcStrList)(unsafe.Pointer(list)).Fset)).Fnum {
  43256. return uintptr(0)
  43257. }
  43258. v2 = list + 8
  43259. v1 = *(*int32)(unsafe.Pointer(v2))
  43260. *(*int32)(unsafe.Pointer(v2))++
  43261. return *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer((*TFcStrList)(unsafe.Pointer(list)).Fset)).Fstrs + uintptr(v1)*8))
  43262. }
  43263. var XFcStrListNext = XIA__FcStrListNext
  43264. func XIA__FcStrListDone(tls *libc.TLS, list uintptr) {
  43265. XIA__FcStrSetDestroy(tls, (*TFcStrList)(unsafe.Pointer(list)).Fset)
  43266. libc.Xfree(tls, list)
  43267. }
  43268. var XFcStrListDone = XIA__FcStrListDone
  43269. const m_FC_DIR_SEPARATOR4 = '/'
  43270. var _map = [13]struct {
  43271. Fot int32
  43272. Ffc int32
  43273. }{
  43274. 0: {},
  43275. 1: {
  43276. Fot: int32(100),
  43277. },
  43278. 2: {
  43279. Fot: int32(200),
  43280. Ffc: int32(m_FC_WEIGHT_EXTRALIGHT),
  43281. },
  43282. 3: {
  43283. Fot: int32(300),
  43284. Ffc: int32(m_FC_WEIGHT_LIGHT),
  43285. },
  43286. 4: {
  43287. Fot: int32(350),
  43288. Ffc: int32(m_FC_WEIGHT_DEMILIGHT),
  43289. },
  43290. 5: {
  43291. Fot: int32(380),
  43292. Ffc: int32(m_FC_WEIGHT_BOOK),
  43293. },
  43294. 6: {
  43295. Fot: int32(400),
  43296. Ffc: int32(m_FC_WEIGHT_REGULAR),
  43297. },
  43298. 7: {
  43299. Fot: int32(500),
  43300. Ffc: int32(m_FC_WEIGHT_MEDIUM),
  43301. },
  43302. 8: {
  43303. Fot: int32(600),
  43304. Ffc: int32(m_FC_WEIGHT_DEMIBOLD),
  43305. },
  43306. 9: {
  43307. Fot: int32(700),
  43308. Ffc: int32(m_FC_WEIGHT_BOLD),
  43309. },
  43310. 10: {
  43311. Fot: int32(800),
  43312. Ffc: int32(m_FC_WEIGHT_EXTRABOLD),
  43313. },
  43314. 11: {
  43315. Fot: int32(900),
  43316. Ffc: int32(m_FC_WEIGHT_BLACK),
  43317. },
  43318. 12: {
  43319. Fot: int32(1000),
  43320. Ffc: int32(m_FC_WEIGHT_EXTRABLACK),
  43321. },
  43322. }
  43323. func _lerp(tls *libc.TLS, x float64, x1 int32, x2 int32, y1 int32, y2 int32) (r float64) {
  43324. var dx, dy int32
  43325. _, _ = dx, dy
  43326. dx = x2 - x1
  43327. dy = y2 - y1
  43328. return float64(y1) + (x-float64(x1))*float64(dy)/float64(dx)
  43329. }
  43330. func XIA__FcWeightFromOpenTypeDouble(tls *libc.TLS, ot_weight float64) (r float64) {
  43331. var i int32
  43332. var v1 float64
  43333. _, _ = i, v1
  43334. if ot_weight < libc.Float64FromInt32(0) {
  43335. return float64(-libc.Int32FromInt32(1))
  43336. }
  43337. if ot_weight < float64(_map[libc.Uint64FromInt64(104)/libc.Uint64FromInt64(8)-libc.Uint64FromInt32(1)].Fot) {
  43338. v1 = ot_weight
  43339. } else {
  43340. v1 = float64(_map[libc.Uint64FromInt64(104)/libc.Uint64FromInt64(8)-libc.Uint64FromInt32(1)].Fot)
  43341. }
  43342. ot_weight = v1
  43343. i = int32(1)
  43344. for {
  43345. if !(ot_weight > float64(_map[i].Fot)) {
  43346. break
  43347. }
  43348. goto _2
  43349. _2:
  43350. ;
  43351. i++
  43352. }
  43353. if ot_weight == float64(_map[i].Fot) {
  43354. return float64(_map[i].Ffc)
  43355. }
  43356. /* Interpolate between two items. */
  43357. return _lerp(tls, ot_weight, _map[i-int32(1)].Fot, _map[i].Fot, _map[i-int32(1)].Ffc, _map[i].Ffc)
  43358. }
  43359. var XFcWeightFromOpenTypeDouble = XIA__FcWeightFromOpenTypeDouble
  43360. func XIA__FcWeightToOpenTypeDouble(tls *libc.TLS, fc_weight float64) (r float64) {
  43361. var i int32
  43362. _ = i
  43363. if fc_weight < libc.Float64FromInt32(0) || fc_weight > libc.Float64FromInt32(m_FC_WEIGHT_EXTRABLACK) {
  43364. return float64(-libc.Int32FromInt32(1))
  43365. }
  43366. i = int32(1)
  43367. for {
  43368. if !(fc_weight > float64(_map[i].Ffc)) {
  43369. break
  43370. }
  43371. goto _1
  43372. _1:
  43373. ;
  43374. i++
  43375. }
  43376. if fc_weight == float64(_map[i].Ffc) {
  43377. return float64(_map[i].Fot)
  43378. }
  43379. /* Interpolate between two items. */
  43380. return _lerp(tls, fc_weight, _map[i-int32(1)].Ffc, _map[i].Ffc, _map[i-int32(1)].Fot, _map[i].Fot)
  43381. }
  43382. var XFcWeightToOpenTypeDouble = XIA__FcWeightToOpenTypeDouble
  43383. func XIA__FcWeightFromOpenType(tls *libc.TLS, ot_weight int32) (r int32) {
  43384. return int32(XIA__FcWeightFromOpenTypeDouble(tls, float64(ot_weight)) + float64(0.5))
  43385. }
  43386. var XFcWeightFromOpenType = XIA__FcWeightFromOpenType
  43387. func XIA__FcWeightToOpenType(tls *libc.TLS, fc_weight int32) (r int32) {
  43388. return int32(XIA__FcWeightToOpenTypeDouble(tls, float64(fc_weight)) + float64(0.5))
  43389. }
  43390. var XFcWeightToOpenType = XIA__FcWeightToOpenType
  43391. const m_Expat_External_INCLUDED = 1
  43392. const m_Expat_INCLUDED = 1
  43393. const m_FC_DIR_SEPARATOR5 = 47
  43394. const m_HAVE_XMLPARSE_H = 0
  43395. const m_LC_ALL = 6
  43396. const m_LC_ALL_MASK = 0x7fffffff
  43397. const m_LC_COLLATE = 3
  43398. const m_LC_CTYPE = 0
  43399. const m_LC_MESSAGES = 5
  43400. const m_LC_MONETARY = 4
  43401. const m_LC_NUMERIC = 1
  43402. const m_LC_TIME = 2
  43403. const m_TAIL = ".conf"
  43404. const m_TAIL_LEN = 5
  43405. const m_XML_ENABLE_VISIBILITY = 0
  43406. const m_XML_GetErrorByteIndex = "XML_GetCurrentByteIndex"
  43407. const m_XML_GetErrorColumnNumber = "XML_GetCurrentColumnNumber"
  43408. const m_XML_GetErrorLineNumber = "XML_GetCurrentLineNumber"
  43409. const m_XML_MAJOR_VERSION = 2
  43410. const m_XML_MICRO_VERSION = 2
  43411. const m_XML_MINOR_VERSION = 6
  43412. type TXML_Char = uint8
  43413. type TXML_LChar = uint8
  43414. type TXML_Index = int64
  43415. type TXML_Size = uint64
  43416. type TXML_Parser = uintptr
  43417. type TXML_Bool = uint8
  43418. type _XML_Status = int32
  43419. const _XML_STATUS_ERROR = 0
  43420. const _XML_STATUS_OK = 1
  43421. const _XML_STATUS_SUSPENDED = 2
  43422. type _XML_Error = int32
  43423. const _XML_ERROR_NONE = 0
  43424. const _XML_ERROR_NO_MEMORY = 1
  43425. const _XML_ERROR_SYNTAX = 2
  43426. const _XML_ERROR_NO_ELEMENTS = 3
  43427. const _XML_ERROR_INVALID_TOKEN = 4
  43428. const _XML_ERROR_UNCLOSED_TOKEN = 5
  43429. const _XML_ERROR_PARTIAL_CHAR = 6
  43430. const _XML_ERROR_TAG_MISMATCH = 7
  43431. const _XML_ERROR_DUPLICATE_ATTRIBUTE = 8
  43432. const _XML_ERROR_JUNK_AFTER_DOC_ELEMENT = 9
  43433. const _XML_ERROR_PARAM_ENTITY_REF = 10
  43434. const _XML_ERROR_UNDEFINED_ENTITY = 11
  43435. const _XML_ERROR_RECURSIVE_ENTITY_REF = 12
  43436. const _XML_ERROR_ASYNC_ENTITY = 13
  43437. const _XML_ERROR_BAD_CHAR_REF = 14
  43438. const _XML_ERROR_BINARY_ENTITY_REF = 15
  43439. const _XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF = 16
  43440. const _XML_ERROR_MISPLACED_XML_PI = 17
  43441. const _XML_ERROR_UNKNOWN_ENCODING = 18
  43442. const _XML_ERROR_INCORRECT_ENCODING = 19
  43443. const _XML_ERROR_UNCLOSED_CDATA_SECTION = 20
  43444. const _XML_ERROR_EXTERNAL_ENTITY_HANDLING = 21
  43445. const _XML_ERROR_NOT_STANDALONE = 22
  43446. const _XML_ERROR_UNEXPECTED_STATE = 23
  43447. const _XML_ERROR_ENTITY_DECLARED_IN_PE = 24
  43448. const _XML_ERROR_FEATURE_REQUIRES_XML_DTD = 25
  43449. const _XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING = 26
  43450. const _XML_ERROR_UNBOUND_PREFIX = 27
  43451. const _XML_ERROR_UNDECLARING_PREFIX = 28
  43452. const _XML_ERROR_INCOMPLETE_PE = 29
  43453. const _XML_ERROR_XML_DECL = 30
  43454. const _XML_ERROR_TEXT_DECL = 31
  43455. const _XML_ERROR_PUBLICID = 32
  43456. const _XML_ERROR_SUSPENDED = 33
  43457. const _XML_ERROR_NOT_SUSPENDED = 34
  43458. const _XML_ERROR_ABORTED = 35
  43459. const _XML_ERROR_FINISHED = 36
  43460. const _XML_ERROR_SUSPEND_PE = 37
  43461. const _XML_ERROR_RESERVED_PREFIX_XML = 38
  43462. const _XML_ERROR_RESERVED_PREFIX_XMLNS = 39
  43463. const _XML_ERROR_RESERVED_NAMESPACE_URI = 40
  43464. const _XML_ERROR_INVALID_ARGUMENT = 41
  43465. const _XML_ERROR_NO_BUFFER = 42
  43466. const _XML_ERROR_AMPLIFICATION_LIMIT_BREACH = 43
  43467. type _XML_Content_Type = int32
  43468. const _XML_CTYPE_EMPTY = 1
  43469. const _XML_CTYPE_ANY = 2
  43470. const _XML_CTYPE_MIXED = 3
  43471. const _XML_CTYPE_NAME = 4
  43472. const _XML_CTYPE_CHOICE = 5
  43473. const _XML_CTYPE_SEQ = 6
  43474. type _XML_Content_Quant = int32
  43475. const _XML_CQUANT_NONE = 0
  43476. const _XML_CQUANT_OPT = 1
  43477. const _XML_CQUANT_REP = 2
  43478. const _XML_CQUANT_PLUS = 3
  43479. type TXML_Content = struct {
  43480. Ftype1 _XML_Content_Type
  43481. Fquant _XML_Content_Quant
  43482. Fname uintptr
  43483. Fnumchildren uint32
  43484. Fchildren uintptr
  43485. }
  43486. type TXML_cp = TXML_Content
  43487. type TXML_ElementDeclHandler = uintptr
  43488. type TXML_AttlistDeclHandler = uintptr
  43489. type TXML_XmlDeclHandler = uintptr
  43490. type TXML_Memory_Handling_Suite = struct {
  43491. Fmalloc_fcn uintptr
  43492. Frealloc_fcn uintptr
  43493. Ffree_fcn uintptr
  43494. }
  43495. type TXML_StartElementHandler = uintptr
  43496. type TXML_EndElementHandler = uintptr
  43497. type TXML_CharacterDataHandler = uintptr
  43498. type TXML_ProcessingInstructionHandler = uintptr
  43499. type TXML_CommentHandler = uintptr
  43500. type TXML_StartCdataSectionHandler = uintptr
  43501. type TXML_EndCdataSectionHandler = uintptr
  43502. type TXML_DefaultHandler = uintptr
  43503. type TXML_StartDoctypeDeclHandler = uintptr
  43504. type TXML_EndDoctypeDeclHandler = uintptr
  43505. type TXML_EntityDeclHandler = uintptr
  43506. type TXML_UnparsedEntityDeclHandler = uintptr
  43507. type TXML_NotationDeclHandler = uintptr
  43508. type TXML_StartNamespaceDeclHandler = uintptr
  43509. type TXML_EndNamespaceDeclHandler = uintptr
  43510. type TXML_NotStandaloneHandler = uintptr
  43511. type TXML_ExternalEntityRefHandler = uintptr
  43512. type TXML_SkippedEntityHandler = uintptr
  43513. type TXML_Encoding = struct {
  43514. Fmap1 [256]int32
  43515. Fdata uintptr
  43516. Fconvert uintptr
  43517. Frelease uintptr
  43518. }
  43519. type TXML_UnknownEncodingHandler = uintptr
  43520. type _XML_Parsing = int32
  43521. const _XML_INITIALIZED = 0
  43522. const _XML_PARSING = 1
  43523. const _XML_FINISHED = 2
  43524. const _XML_SUSPENDED = 3
  43525. type TXML_ParsingStatus = struct {
  43526. Fparsing _XML_Parsing
  43527. FfinalBuffer TXML_Bool
  43528. }
  43529. type _XML_ParamEntityParsing = int32
  43530. const _XML_PARAM_ENTITY_PARSING_NEVER = 0
  43531. const _XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE = 1
  43532. const _XML_PARAM_ENTITY_PARSING_ALWAYS = 2
  43533. type TXML_Expat_Version = struct {
  43534. Fmajor int32
  43535. Fminor int32
  43536. Fmicro int32
  43537. }
  43538. type _XML_FeatureEnum = int32
  43539. const _XML_FEATURE_END = 0
  43540. const _XML_FEATURE_UNICODE = 1
  43541. const _XML_FEATURE_UNICODE_WCHAR_T = 2
  43542. const _XML_FEATURE_DTD = 3
  43543. const _XML_FEATURE_CONTEXT_BYTES = 4
  43544. const _XML_FEATURE_MIN_SIZE = 5
  43545. const _XML_FEATURE_SIZEOF_XML_CHAR = 6
  43546. const _XML_FEATURE_SIZEOF_XML_LCHAR = 7
  43547. const _XML_FEATURE_NS = 8
  43548. const _XML_FEATURE_LARGE_SIZE = 9
  43549. const _XML_FEATURE_ATTR_INFO = 10
  43550. const _XML_FEATURE_BILLION_LAUGHS_ATTACK_PROTECTION_MAXIMUM_AMPLIFICATION_DEFAULT = 11
  43551. const _XML_FEATURE_BILLION_LAUGHS_ATTACK_PROTECTION_ACTIVATION_THRESHOLD_DEFAULT = 12
  43552. const _XML_FEATURE_GE = 13
  43553. type TXML_Feature = struct {
  43554. Ffeature _XML_FeatureEnum
  43555. Fname uintptr
  43556. Fvalue int64
  43557. }
  43558. /* Expat follows the semantic versioning convention.
  43559. See https://semver.org
  43560. */
  43561. var ___fc_userdir = libc.UintptrFromInt32(0)
  43562. var ___fc_userconf = libc.UintptrFromInt32(0)
  43563. func XFcTestDestroy(tls *libc.TLS, test uintptr) {
  43564. _FcExprDestroy(tls, (*TFcTest)(unsafe.Pointer(test)).Fexpr)
  43565. libc.Xfree(tls, test)
  43566. }
  43567. func XFcRuleDestroy(tls *libc.TLS, rule uintptr) {
  43568. var n uintptr
  43569. _ = n
  43570. n = (*TFcRule)(unsafe.Pointer(rule)).Fnext
  43571. switch (*TFcRule)(unsafe.Pointer(rule)).Ftype1 {
  43572. case int32(_FcRuleTest):
  43573. XFcTestDestroy(tls, *(*uintptr)(unsafe.Pointer(rule + 16)))
  43574. case int32(_FcRuleEdit):
  43575. XFcEditDestroy(tls, *(*uintptr)(unsafe.Pointer(rule + 16)))
  43576. case int32(_FcRuleUnknown):
  43577. fallthrough
  43578. default:
  43579. break
  43580. }
  43581. libc.Xfree(tls, rule)
  43582. if n != 0 {
  43583. XFcRuleDestroy(tls, n)
  43584. }
  43585. }
  43586. func _FcExprCreateInteger(tls *libc.TLS, config uintptr, i int32) (r uintptr) {
  43587. var e uintptr
  43588. _ = e
  43589. e = XFcConfigAllocExpr(tls, config)
  43590. if e != 0 {
  43591. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpInteger)
  43592. (*TFcExpr)(unsafe.Pointer(e)).Fu.Fival = i
  43593. }
  43594. return e
  43595. }
  43596. func _FcExprCreateDouble(tls *libc.TLS, config uintptr, d float64) (r uintptr) {
  43597. var e uintptr
  43598. _ = e
  43599. e = XFcConfigAllocExpr(tls, config)
  43600. if e != 0 {
  43601. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpDouble)
  43602. *(*float64)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = d
  43603. }
  43604. return e
  43605. }
  43606. func _FcExprCreateString(tls *libc.TLS, config uintptr, s uintptr) (r uintptr) {
  43607. var e uintptr
  43608. _ = e
  43609. e = XFcConfigAllocExpr(tls, config)
  43610. if e != 0 {
  43611. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpString)
  43612. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = libc.Xstrdup(tls, s)
  43613. }
  43614. return e
  43615. }
  43616. func _FcExprMatrixCopyShallow(tls *libc.TLS, matrix uintptr) (r uintptr) {
  43617. var m uintptr
  43618. _ = m
  43619. m = libc.Xmalloc(tls, uint64(32))
  43620. if m != 0 {
  43621. *(*TFcExprMatrix)(unsafe.Pointer(m)) = *(*TFcExprMatrix)(unsafe.Pointer(matrix))
  43622. }
  43623. return m
  43624. }
  43625. func _FcExprMatrixFreeShallow(tls *libc.TLS, m uintptr) {
  43626. if !(m != 0) {
  43627. return
  43628. }
  43629. libc.Xfree(tls, m)
  43630. }
  43631. func _FcExprMatrixFree(tls *libc.TLS, m uintptr) {
  43632. if !(m != 0) {
  43633. return
  43634. }
  43635. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fxx)
  43636. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fxy)
  43637. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fyx)
  43638. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fyy)
  43639. libc.Xfree(tls, m)
  43640. }
  43641. func _FcExprCreateMatrix(tls *libc.TLS, config uintptr, matrix uintptr) (r uintptr) {
  43642. var e uintptr
  43643. _ = e
  43644. e = XFcConfigAllocExpr(tls, config)
  43645. if e != 0 {
  43646. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpMatrix)
  43647. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = _FcExprMatrixCopyShallow(tls, matrix)
  43648. }
  43649. return e
  43650. }
  43651. func _FcExprCreateRange(tls *libc.TLS, config uintptr, range1 uintptr) (r uintptr) {
  43652. var e uintptr
  43653. _ = e
  43654. e = XFcConfigAllocExpr(tls, config)
  43655. if e != 0 {
  43656. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpRange)
  43657. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XIA__FcRangeCopy(tls, range1)
  43658. }
  43659. return e
  43660. }
  43661. func _FcExprCreateBool(tls *libc.TLS, config uintptr, b TFcBool) (r uintptr) {
  43662. var e uintptr
  43663. _ = e
  43664. e = XFcConfigAllocExpr(tls, config)
  43665. if e != 0 {
  43666. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpBool)
  43667. *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = b
  43668. }
  43669. return e
  43670. }
  43671. func _FcExprCreateCharSet(tls *libc.TLS, config uintptr, charset uintptr) (r uintptr) {
  43672. var e uintptr
  43673. _ = e
  43674. e = XFcConfigAllocExpr(tls, config)
  43675. if e != 0 {
  43676. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpCharSet)
  43677. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XIA__FcCharSetCopy(tls, charset)
  43678. }
  43679. return e
  43680. }
  43681. func _FcExprCreateLangSet(tls *libc.TLS, config uintptr, langset uintptr) (r uintptr) {
  43682. var e uintptr
  43683. _ = e
  43684. e = XFcConfigAllocExpr(tls, config)
  43685. if e != 0 {
  43686. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpLangSet)
  43687. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XIA__FcLangSetCopy(tls, langset)
  43688. }
  43689. return e
  43690. }
  43691. func _FcExprCreateName(tls *libc.TLS, config uintptr, name TFcExprName) (r uintptr) {
  43692. var e uintptr
  43693. _ = e
  43694. e = XFcConfigAllocExpr(tls, config)
  43695. if e != 0 {
  43696. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpField)
  43697. *(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = name
  43698. }
  43699. return e
  43700. }
  43701. func _FcExprCreateConst(tls *libc.TLS, config uintptr, constant uintptr) (r uintptr) {
  43702. var e uintptr
  43703. _ = e
  43704. e = XFcConfigAllocExpr(tls, config)
  43705. if e != 0 {
  43706. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpConst)
  43707. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = libc.Xstrdup(tls, constant)
  43708. }
  43709. return e
  43710. }
  43711. func _FcExprCreateOp(tls *libc.TLS, config uintptr, left uintptr, op TFcOp, right uintptr) (r uintptr) {
  43712. var e uintptr
  43713. _ = e
  43714. e = XFcConfigAllocExpr(tls, config)
  43715. if e != 0 {
  43716. (*TFcExpr)(unsafe.Pointer(e)).Fop = op
  43717. (*(*struct {
  43718. Fleft uintptr
  43719. Fright uintptr
  43720. })(unsafe.Pointer(e + 8))).Fleft = left
  43721. (*(*struct {
  43722. Fleft uintptr
  43723. Fright uintptr
  43724. })(unsafe.Pointer(e + 8))).Fright = right
  43725. }
  43726. return e
  43727. }
  43728. func _FcExprDestroy(tls *libc.TLS, e uintptr) {
  43729. if !(e != 0) {
  43730. return
  43731. }
  43732. switch (*TFcExpr)(unsafe.Pointer(e)).Fop & libc.Int32FromInt32(0xffff) {
  43733. case int32(_FcOpInteger):
  43734. case int32(_FcOpDouble):
  43735. case int32(_FcOpString):
  43736. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  43737. case int32(_FcOpMatrix):
  43738. _FcExprMatrixFree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  43739. case int32(_FcOpRange):
  43740. XIA__FcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  43741. case int32(_FcOpCharSet):
  43742. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  43743. case int32(_FcOpLangSet):
  43744. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  43745. case int32(_FcOpBool):
  43746. case int32(_FcOpField):
  43747. case int32(_FcOpConst):
  43748. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  43749. case int32(_FcOpAssign):
  43750. fallthrough
  43751. case int32(_FcOpAssignReplace):
  43752. fallthrough
  43753. case int32(_FcOpPrepend):
  43754. fallthrough
  43755. case int32(_FcOpPrependFirst):
  43756. fallthrough
  43757. case int32(_FcOpAppend):
  43758. fallthrough
  43759. case int32(_FcOpAppendLast):
  43760. fallthrough
  43761. case int32(_FcOpDelete):
  43762. fallthrough
  43763. case int32(_FcOpDeleteAll):
  43764. case int32(_FcOpOr):
  43765. fallthrough
  43766. case int32(_FcOpAnd):
  43767. fallthrough
  43768. case int32(_FcOpEqual):
  43769. fallthrough
  43770. case int32(_FcOpNotEqual):
  43771. fallthrough
  43772. case int32(_FcOpLess):
  43773. fallthrough
  43774. case int32(_FcOpLessEqual):
  43775. fallthrough
  43776. case int32(_FcOpMore):
  43777. fallthrough
  43778. case int32(_FcOpMoreEqual):
  43779. fallthrough
  43780. case int32(_FcOpContains):
  43781. fallthrough
  43782. case int32(_FcOpListing):
  43783. fallthrough
  43784. case int32(_FcOpNotContains):
  43785. fallthrough
  43786. case int32(_FcOpPlus):
  43787. fallthrough
  43788. case int32(_FcOpMinus):
  43789. fallthrough
  43790. case int32(_FcOpTimes):
  43791. fallthrough
  43792. case int32(_FcOpDivide):
  43793. fallthrough
  43794. case int32(_FcOpQuest):
  43795. fallthrough
  43796. case int32(_FcOpComma):
  43797. _FcExprDestroy(tls, (*(*struct {
  43798. Fleft uintptr
  43799. Fright uintptr
  43800. })(unsafe.Pointer(e + 8))).Fright)
  43801. /* fall through */
  43802. fallthrough
  43803. case int32(_FcOpNot):
  43804. fallthrough
  43805. case int32(_FcOpFloor):
  43806. fallthrough
  43807. case int32(_FcOpCeil):
  43808. fallthrough
  43809. case int32(_FcOpRound):
  43810. fallthrough
  43811. case int32(_FcOpTrunc):
  43812. _FcExprDestroy(tls, (*(*struct {
  43813. Fleft uintptr
  43814. Fright uintptr
  43815. })(unsafe.Pointer(e + 8))).Fleft)
  43816. case int32(_FcOpNil):
  43817. fallthrough
  43818. case int32(_FcOpInvalid):
  43819. break
  43820. }
  43821. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpNil)
  43822. }
  43823. func XFcEditDestroy(tls *libc.TLS, e uintptr) {
  43824. if (*TFcEdit)(unsafe.Pointer(e)).Fexpr != 0 {
  43825. _FcExprDestroy(tls, (*TFcEdit)(unsafe.Pointer(e)).Fexpr)
  43826. }
  43827. libc.Xfree(tls, e)
  43828. }
  43829. type TFcElement = int32
  43830. type __FcElement = int32
  43831. const _FcElementNone = 0
  43832. const _FcElementFontconfig = 1
  43833. const _FcElementDir = 2
  43834. const _FcElementCacheDir = 3
  43835. const _FcElementCache = 4
  43836. const _FcElementInclude = 5
  43837. const _FcElementConfig = 6
  43838. const _FcElementMatch = 7
  43839. const _FcElementAlias = 8
  43840. const _FcElementDescription = 9
  43841. const _FcElementRemapDir = 10
  43842. const _FcElementResetDirs = 11
  43843. const _FcElementRescan = 12
  43844. const _FcElementPrefer = 13
  43845. const _FcElementAccept = 14
  43846. const _FcElementDefault = 15
  43847. const _FcElementFamily = 16
  43848. const _FcElementSelectfont = 17
  43849. const _FcElementAcceptfont = 18
  43850. const _FcElementRejectfont = 19
  43851. const _FcElementGlob = 20
  43852. const _FcElementPattern = 21
  43853. const _FcElementPatelt = 22
  43854. const _FcElementTest = 23
  43855. const _FcElementEdit = 24
  43856. const _FcElementInt = 25
  43857. const _FcElementDouble = 26
  43858. const _FcElementString = 27
  43859. const _FcElementMatrix = 28
  43860. const _FcElementRange = 29
  43861. const _FcElementBool = 30
  43862. const _FcElementCharSet = 31
  43863. const _FcElementLangSet = 32
  43864. const _FcElementName = 33
  43865. const _FcElementConst = 34
  43866. const _FcElementOr = 35
  43867. const _FcElementAnd = 36
  43868. const _FcElementEq = 37
  43869. const _FcElementNotEq = 38
  43870. const _FcElementLess = 39
  43871. const _FcElementLessEq = 40
  43872. const _FcElementMore = 41
  43873. const _FcElementMoreEq = 42
  43874. const _FcElementContains = 43
  43875. const _FcElementNotContains = 44
  43876. const _FcElementPlus = 45
  43877. const _FcElementMinus = 46
  43878. const _FcElementTimes = 47
  43879. const _FcElementDivide = 48
  43880. const _FcElementNot = 49
  43881. const _FcElementIf = 50
  43882. const _FcElementFloor = 51
  43883. const _FcElementCeil = 52
  43884. const _FcElementRound = 53
  43885. const _FcElementTrunc = 54
  43886. const _FcElementUnknown = 55
  43887. var _fcElementMap = [54]struct {
  43888. Fname [16]uint8
  43889. Felement TFcElement
  43890. }{
  43891. 0: {
  43892. Fname: [16]uint8{'f', 'o', 'n', 't', 'c', 'o', 'n', 'f', 'i', 'g'},
  43893. Felement: int32(_FcElementFontconfig),
  43894. },
  43895. 1: {
  43896. Fname: [16]uint8{'d', 'i', 'r'},
  43897. Felement: int32(_FcElementDir),
  43898. },
  43899. 2: {
  43900. Fname: [16]uint8{'c', 'a', 'c', 'h', 'e', 'd', 'i', 'r'},
  43901. Felement: int32(_FcElementCacheDir),
  43902. },
  43903. 3: {
  43904. Fname: [16]uint8{'c', 'a', 'c', 'h', 'e'},
  43905. Felement: int32(_FcElementCache),
  43906. },
  43907. 4: {
  43908. Fname: [16]uint8{'i', 'n', 'c', 'l', 'u', 'd', 'e'},
  43909. Felement: int32(_FcElementInclude),
  43910. },
  43911. 5: {
  43912. Fname: [16]uint8{'c', 'o', 'n', 'f', 'i', 'g'},
  43913. Felement: int32(_FcElementConfig),
  43914. },
  43915. 6: {
  43916. Fname: [16]uint8{'m', 'a', 't', 'c', 'h'},
  43917. Felement: int32(_FcElementMatch),
  43918. },
  43919. 7: {
  43920. Fname: [16]uint8{'a', 'l', 'i', 'a', 's'},
  43921. Felement: int32(_FcElementAlias),
  43922. },
  43923. 8: {
  43924. Fname: [16]uint8{'d', 'e', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n'},
  43925. Felement: int32(_FcElementDescription),
  43926. },
  43927. 9: {
  43928. Fname: [16]uint8{'r', 'e', 'm', 'a', 'p', '-', 'd', 'i', 'r'},
  43929. Felement: int32(_FcElementRemapDir),
  43930. },
  43931. 10: {
  43932. Fname: [16]uint8{'r', 'e', 's', 'e', 't', '-', 'd', 'i', 'r', 's'},
  43933. Felement: int32(_FcElementResetDirs),
  43934. },
  43935. 11: {
  43936. Fname: [16]uint8{'r', 'e', 's', 'c', 'a', 'n'},
  43937. Felement: int32(_FcElementRescan),
  43938. },
  43939. 12: {
  43940. Fname: [16]uint8{'p', 'r', 'e', 'f', 'e', 'r'},
  43941. Felement: int32(_FcElementPrefer),
  43942. },
  43943. 13: {
  43944. Fname: [16]uint8{'a', 'c', 'c', 'e', 'p', 't'},
  43945. Felement: int32(_FcElementAccept),
  43946. },
  43947. 14: {
  43948. Fname: [16]uint8{'d', 'e', 'f', 'a', 'u', 'l', 't'},
  43949. Felement: int32(_FcElementDefault),
  43950. },
  43951. 15: {
  43952. Fname: [16]uint8{'f', 'a', 'm', 'i', 'l', 'y'},
  43953. Felement: int32(_FcElementFamily),
  43954. },
  43955. 16: {
  43956. Fname: [16]uint8{'s', 'e', 'l', 'e', 'c', 't', 'f', 'o', 'n', 't'},
  43957. Felement: int32(_FcElementSelectfont),
  43958. },
  43959. 17: {
  43960. Fname: [16]uint8{'a', 'c', 'c', 'e', 'p', 't', 'f', 'o', 'n', 't'},
  43961. Felement: int32(_FcElementAcceptfont),
  43962. },
  43963. 18: {
  43964. Fname: [16]uint8{'r', 'e', 'j', 'e', 'c', 't', 'f', 'o', 'n', 't'},
  43965. Felement: int32(_FcElementRejectfont),
  43966. },
  43967. 19: {
  43968. Fname: [16]uint8{'g', 'l', 'o', 'b'},
  43969. Felement: int32(_FcElementGlob),
  43970. },
  43971. 20: {
  43972. Fname: [16]uint8{'p', 'a', 't', 't', 'e', 'r', 'n'},
  43973. Felement: int32(_FcElementPattern),
  43974. },
  43975. 21: {
  43976. Fname: [16]uint8{'p', 'a', 't', 'e', 'l', 't'},
  43977. Felement: int32(_FcElementPatelt),
  43978. },
  43979. 22: {
  43980. Fname: [16]uint8{'t', 'e', 's', 't'},
  43981. Felement: int32(_FcElementTest),
  43982. },
  43983. 23: {
  43984. Fname: [16]uint8{'e', 'd', 'i', 't'},
  43985. Felement: int32(_FcElementEdit),
  43986. },
  43987. 24: {
  43988. Fname: [16]uint8{'i', 'n', 't'},
  43989. Felement: int32(_FcElementInt),
  43990. },
  43991. 25: {
  43992. Fname: [16]uint8{'d', 'o', 'u', 'b', 'l', 'e'},
  43993. Felement: int32(_FcElementDouble),
  43994. },
  43995. 26: {
  43996. Fname: [16]uint8{'s', 't', 'r', 'i', 'n', 'g'},
  43997. Felement: int32(_FcElementString),
  43998. },
  43999. 27: {
  44000. Fname: [16]uint8{'m', 'a', 't', 'r', 'i', 'x'},
  44001. Felement: int32(_FcElementMatrix),
  44002. },
  44003. 28: {
  44004. Fname: [16]uint8{'r', 'a', 'n', 'g', 'e'},
  44005. Felement: int32(_FcElementRange),
  44006. },
  44007. 29: {
  44008. Fname: [16]uint8{'b', 'o', 'o', 'l'},
  44009. Felement: int32(_FcElementBool),
  44010. },
  44011. 30: {
  44012. Fname: [16]uint8{'c', 'h', 'a', 'r', 's', 'e', 't'},
  44013. Felement: int32(_FcElementCharSet),
  44014. },
  44015. 31: {
  44016. Fname: [16]uint8{'l', 'a', 'n', 'g', 's', 'e', 't'},
  44017. Felement: int32(_FcElementLangSet),
  44018. },
  44019. 32: {
  44020. Fname: [16]uint8{'n', 'a', 'm', 'e'},
  44021. Felement: int32(_FcElementName),
  44022. },
  44023. 33: {
  44024. Fname: [16]uint8{'c', 'o', 'n', 's', 't'},
  44025. Felement: int32(_FcElementConst),
  44026. },
  44027. 34: {
  44028. Fname: [16]uint8{'o', 'r'},
  44029. Felement: int32(_FcElementOr),
  44030. },
  44031. 35: {
  44032. Fname: [16]uint8{'a', 'n', 'd'},
  44033. Felement: int32(_FcElementAnd),
  44034. },
  44035. 36: {
  44036. Fname: [16]uint8{'e', 'q'},
  44037. Felement: int32(_FcElementEq),
  44038. },
  44039. 37: {
  44040. Fname: [16]uint8{'n', 'o', 't', '_', 'e', 'q'},
  44041. Felement: int32(_FcElementNotEq),
  44042. },
  44043. 38: {
  44044. Fname: [16]uint8{'l', 'e', 's', 's'},
  44045. Felement: int32(_FcElementLess),
  44046. },
  44047. 39: {
  44048. Fname: [16]uint8{'l', 'e', 's', 's', '_', 'e', 'q'},
  44049. Felement: int32(_FcElementLessEq),
  44050. },
  44051. 40: {
  44052. Fname: [16]uint8{'m', 'o', 'r', 'e'},
  44053. Felement: int32(_FcElementMore),
  44054. },
  44055. 41: {
  44056. Fname: [16]uint8{'m', 'o', 'r', 'e', '_', 'e', 'q'},
  44057. Felement: int32(_FcElementMoreEq),
  44058. },
  44059. 42: {
  44060. Fname: [16]uint8{'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  44061. Felement: int32(_FcElementContains),
  44062. },
  44063. 43: {
  44064. Fname: [16]uint8{'n', 'o', 't', '_', 'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  44065. Felement: int32(_FcElementNotContains),
  44066. },
  44067. 44: {
  44068. Fname: [16]uint8{'p', 'l', 'u', 's'},
  44069. Felement: int32(_FcElementPlus),
  44070. },
  44071. 45: {
  44072. Fname: [16]uint8{'m', 'i', 'n', 'u', 's'},
  44073. Felement: int32(_FcElementMinus),
  44074. },
  44075. 46: {
  44076. Fname: [16]uint8{'t', 'i', 'm', 'e', 's'},
  44077. Felement: int32(_FcElementTimes),
  44078. },
  44079. 47: {
  44080. Fname: [16]uint8{'d', 'i', 'v', 'i', 'd', 'e'},
  44081. Felement: int32(_FcElementDivide),
  44082. },
  44083. 48: {
  44084. Fname: [16]uint8{'n', 'o', 't'},
  44085. Felement: int32(_FcElementNot),
  44086. },
  44087. 49: {
  44088. Fname: [16]uint8{'i', 'f'},
  44089. Felement: int32(_FcElementIf),
  44090. },
  44091. 50: {
  44092. Fname: [16]uint8{'f', 'l', 'o', 'o', 'r'},
  44093. Felement: int32(_FcElementFloor),
  44094. },
  44095. 51: {
  44096. Fname: [16]uint8{'c', 'e', 'i', 'l'},
  44097. Felement: int32(_FcElementCeil),
  44098. },
  44099. 52: {
  44100. Fname: [16]uint8{'r', 'o', 'u', 'n', 'd'},
  44101. Felement: int32(_FcElementRound),
  44102. },
  44103. 53: {
  44104. Fname: [16]uint8{'t', 'r', 'u', 'n', 'c'},
  44105. Felement: int32(_FcElementTrunc),
  44106. },
  44107. }
  44108. var _fcElementIgnoreName = [16]uintptr{
  44109. 0: __ccgo_ts + 6984,
  44110. 1: libc.UintptrFromInt32(0),
  44111. }
  44112. func _FcElementMap(tls *libc.TLS, name uintptr) (r TFcElement) {
  44113. var i int32
  44114. _ = i
  44115. i = 0
  44116. for {
  44117. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(1080)/libc.Uint64FromInt64(20))) {
  44118. break
  44119. }
  44120. if !(libc.Xstrcmp(tls, name, uintptr(unsafe.Pointer(&_fcElementMap))+uintptr(i)*20) != 0) {
  44121. return _fcElementMap[i].Felement
  44122. }
  44123. goto _1
  44124. _1:
  44125. ;
  44126. i++
  44127. }
  44128. i = 0
  44129. for {
  44130. if !(_fcElementIgnoreName[i] != libc.UintptrFromInt32(0)) {
  44131. break
  44132. }
  44133. if !(libc.Xstrncmp(tls, name, _fcElementIgnoreName[i], libc.Xstrlen(tls, _fcElementIgnoreName[i])) != 0) {
  44134. return int32(_FcElementNone)
  44135. }
  44136. goto _2
  44137. _2:
  44138. ;
  44139. i++
  44140. }
  44141. return int32(_FcElementUnknown)
  44142. }
  44143. func _FcElementReverseMap(tls *libc.TLS, e TFcElement) (r uintptr) {
  44144. var i int32
  44145. _ = i
  44146. i = 0
  44147. for {
  44148. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(1080)/libc.Uint64FromInt64(20))) {
  44149. break
  44150. }
  44151. if _fcElementMap[i].Felement == e {
  44152. return uintptr(unsafe.Pointer(&_fcElementMap)) + uintptr(i)*20
  44153. }
  44154. goto _1
  44155. _1:
  44156. ;
  44157. i++
  44158. }
  44159. return libc.UintptrFromInt32(0)
  44160. }
  44161. type TFcPStack = struct {
  44162. Fprev uintptr
  44163. Felement TFcElement
  44164. Fattr uintptr
  44165. Fstr TFcStrBuf
  44166. Fattr_buf_static [16]uintptr
  44167. }
  44168. type T_FcPStack = TFcPStack
  44169. type TFcVStackTag = int32
  44170. type __FcVStackTag = int32
  44171. const _FcVStackNone = 0
  44172. const _FcVStackString = 1
  44173. const _FcVStackFamily = 2
  44174. const _FcVStackConstant = 3
  44175. const _FcVStackGlob = 4
  44176. const _FcVStackName = 5
  44177. const _FcVStackPattern = 6
  44178. const _FcVStackPrefer = 7
  44179. const _FcVStackAccept = 8
  44180. const _FcVStackDefault = 9
  44181. const _FcVStackInteger = 10
  44182. const _FcVStackDouble = 11
  44183. const _FcVStackMatrix = 12
  44184. const _FcVStackRange = 13
  44185. const _FcVStackBool = 14
  44186. const _FcVStackCharSet = 15
  44187. const _FcVStackLangSet = 16
  44188. const _FcVStackTest = 17
  44189. const _FcVStackExpr = 18
  44190. const _FcVStackEdit = 19
  44191. type TFcVStack = struct {
  44192. Fprev uintptr
  44193. Fpstack uintptr
  44194. Ftag TFcVStackTag
  44195. Fu struct {
  44196. Finteger [0]int32
  44197. F_double [0]float64
  44198. Fmatrix [0]uintptr
  44199. Frange1 [0]uintptr
  44200. Fbool_ [0]TFcBool
  44201. Fcharset [0]uintptr
  44202. Flangset [0]uintptr
  44203. Fname [0]TFcExprName
  44204. Ftest [0]uintptr
  44205. Fqual [0]TFcQual
  44206. Fop [0]TFcOp
  44207. Fexpr [0]uintptr
  44208. Fedit [0]uintptr
  44209. Fpattern [0]uintptr
  44210. Fstring1 uintptr
  44211. }
  44212. }
  44213. type T_FcVStack = TFcVStack
  44214. type TFcConfigParse = struct {
  44215. Fpstack uintptr
  44216. Fvstack uintptr
  44217. Ferror1 TFcBool
  44218. Fname uintptr
  44219. Fconfig uintptr
  44220. Fruleset uintptr
  44221. Fparser TXML_Parser
  44222. Fpstack_static_used uint32
  44223. Fpstack_static [8]TFcPStack
  44224. Fvstack_static_used uint32
  44225. Fvstack_static [64]TFcVStack
  44226. FscanOnly TFcBool
  44227. }
  44228. type T_FcConfigParse = TFcConfigParse
  44229. type TFcConfigSeverity = int32
  44230. type __FcConfigSeverity = int32
  44231. const _FcSevereInfo = 0
  44232. const _FcSevereWarning = 1
  44233. const _FcSevereError = 2
  44234. func _FcConfigMessage(tls *libc.TLS, parse uintptr, severe TFcConfigSeverity, fmt uintptr, va uintptr) {
  44235. bp := tls.Alloc(32)
  44236. defer tls.Free(32)
  44237. var args Tva_list
  44238. var s uintptr
  44239. _, _ = args, s
  44240. s = __ccgo_ts + 4862
  44241. args = va
  44242. switch severe {
  44243. case int32(_FcSevereInfo):
  44244. s = __ccgo_ts + 6989
  44245. case int32(_FcSevereWarning):
  44246. s = __ccgo_ts + 6994
  44247. case int32(_FcSevereError):
  44248. s = __ccgo_ts + 7002
  44249. break
  44250. }
  44251. if parse != 0 {
  44252. if (*TFcConfigParse)(unsafe.Pointer(parse)).Fname != 0 {
  44253. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+7008, libc.VaList(bp+8, s, (*TFcConfigParse)(unsafe.Pointer(parse)).Fname, libc.Int32FromUint64(libexpat.XXML_GetCurrentLineNumber(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser))))
  44254. } else {
  44255. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+7039, libc.VaList(bp+8, s, libc.Int32FromUint64(libexpat.XXML_GetCurrentLineNumber(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser))))
  44256. }
  44257. if severe >= int32(_FcSevereError) {
  44258. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = int32(m_FcTrue)
  44259. }
  44260. } else {
  44261. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+7064, libc.VaList(bp+8, s))
  44262. }
  44263. libc.Xvfprintf(tls, libc.Xstderr, fmt, args)
  44264. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1274, 0)
  44265. _ = args
  44266. }
  44267. func _FcTypeName(tls *libc.TLS, type1 TFcType) (r uintptr) {
  44268. switch type1 {
  44269. case int32(_FcTypeVoid):
  44270. return __ccgo_ts + 7080
  44271. case int32(_FcTypeInteger):
  44272. fallthrough
  44273. case int32(_FcTypeDouble):
  44274. return __ccgo_ts + 7085
  44275. case int32(_FcTypeString):
  44276. return __ccgo_ts + 7092
  44277. case int32(_FcTypeBool):
  44278. return __ccgo_ts + 7099
  44279. case int32(_FcTypeMatrix):
  44280. return __ccgo_ts + 6391
  44281. case int32(_FcTypeCharSet):
  44282. return __ccgo_ts + 6116
  44283. case int32(_FcTypeFTFace):
  44284. return __ccgo_ts + 7104
  44285. case int32(_FcTypeLangSet):
  44286. return __ccgo_ts + 7112
  44287. case int32(_FcTypeRange):
  44288. return __ccgo_ts + 7120
  44289. case int32(_FcTypeUnknown):
  44290. fallthrough
  44291. default:
  44292. return __ccgo_ts + 4862
  44293. }
  44294. return r
  44295. }
  44296. func _FcTypecheckValue(tls *libc.TLS, parse uintptr, value TFcType, type1 TFcType) {
  44297. bp := tls.Alloc(32)
  44298. defer tls.Free(32)
  44299. if value == int32(_FcTypeInteger) {
  44300. value = int32(_FcTypeDouble)
  44301. }
  44302. if type1 == int32(_FcTypeInteger) {
  44303. type1 = int32(_FcTypeDouble)
  44304. }
  44305. if value != type1 {
  44306. if value == int32(_FcTypeLangSet) && type1 == int32(_FcTypeString) || value == int32(_FcTypeString) && type1 == int32(_FcTypeLangSet) || value == int32(_FcTypeDouble) && type1 == int32(_FcTypeRange) {
  44307. return
  44308. }
  44309. if type1 == int32(_FcTypeUnknown) {
  44310. return
  44311. }
  44312. /* It's perfectly fine to use user-define elements in expressions,
  44313. * so don't warn in that case. */
  44314. if value == int32(_FcTypeUnknown) {
  44315. return
  44316. }
  44317. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7126, libc.VaList(bp+8, _FcTypeName(tls, value), _FcTypeName(tls, type1)))
  44318. }
  44319. }
  44320. func _FcTypecheckExpr(tls *libc.TLS, parse uintptr, expr uintptr, type1 TFcType) {
  44321. bp := tls.Alloc(16)
  44322. defer tls.Free(16)
  44323. var c, o uintptr
  44324. _, _ = c, o
  44325. /* If parsing the expression failed, some nodes may be NULL */
  44326. if !(expr != 0) {
  44327. return
  44328. }
  44329. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  44330. case int32(_FcOpInteger):
  44331. fallthrough
  44332. case int32(_FcOpDouble):
  44333. _FcTypecheckValue(tls, parse, int32(_FcTypeDouble), type1)
  44334. case int32(_FcOpString):
  44335. _FcTypecheckValue(tls, parse, int32(_FcTypeString), type1)
  44336. case int32(_FcOpMatrix):
  44337. _FcTypecheckValue(tls, parse, int32(_FcTypeMatrix), type1)
  44338. case int32(_FcOpBool):
  44339. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  44340. case int32(_FcOpCharSet):
  44341. _FcTypecheckValue(tls, parse, int32(_FcTypeCharSet), type1)
  44342. case int32(_FcOpLangSet):
  44343. _FcTypecheckValue(tls, parse, int32(_FcTypeLangSet), type1)
  44344. case int32(_FcOpRange):
  44345. _FcTypecheckValue(tls, parse, int32(_FcTypeRange), type1)
  44346. case int32(_FcOpNil):
  44347. case int32(_FcOpField):
  44348. o = XIA__FcNameGetObjectType(tls, XFcObjectName(tls, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))).Fobject))
  44349. if o != 0 {
  44350. _FcTypecheckValue(tls, parse, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1, type1)
  44351. }
  44352. case int32(_FcOpConst):
  44353. c = XIA__FcNameGetConstant(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))
  44354. if c != 0 {
  44355. o = XIA__FcNameGetObjectType(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject)
  44356. if o != 0 {
  44357. _FcTypecheckValue(tls, parse, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1, type1)
  44358. }
  44359. } else {
  44360. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7146, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  44361. }
  44362. case int32(_FcOpQuest):
  44363. _FcTypecheckExpr(tls, parse, (*(*struct {
  44364. Fleft uintptr
  44365. Fright uintptr
  44366. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeBool))
  44367. _FcTypecheckExpr(tls, parse, (*(*struct {
  44368. Fleft uintptr
  44369. Fright uintptr
  44370. })(unsafe.Pointer((*(*struct {
  44371. Fleft uintptr
  44372. Fright uintptr
  44373. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fleft, type1)
  44374. _FcTypecheckExpr(tls, parse, (*(*struct {
  44375. Fleft uintptr
  44376. Fright uintptr
  44377. })(unsafe.Pointer((*(*struct {
  44378. Fleft uintptr
  44379. Fright uintptr
  44380. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fright, type1)
  44381. case int32(_FcOpAssign):
  44382. fallthrough
  44383. case int32(_FcOpAssignReplace):
  44384. case int32(_FcOpEqual):
  44385. fallthrough
  44386. case int32(_FcOpNotEqual):
  44387. fallthrough
  44388. case int32(_FcOpLess):
  44389. fallthrough
  44390. case int32(_FcOpLessEqual):
  44391. fallthrough
  44392. case int32(_FcOpMore):
  44393. fallthrough
  44394. case int32(_FcOpMoreEqual):
  44395. fallthrough
  44396. case int32(_FcOpContains):
  44397. fallthrough
  44398. case int32(_FcOpNotContains):
  44399. fallthrough
  44400. case int32(_FcOpListing):
  44401. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  44402. case int32(_FcOpComma):
  44403. fallthrough
  44404. case int32(_FcOpOr):
  44405. fallthrough
  44406. case int32(_FcOpAnd):
  44407. fallthrough
  44408. case int32(_FcOpPlus):
  44409. fallthrough
  44410. case int32(_FcOpMinus):
  44411. fallthrough
  44412. case int32(_FcOpTimes):
  44413. fallthrough
  44414. case int32(_FcOpDivide):
  44415. _FcTypecheckExpr(tls, parse, (*(*struct {
  44416. Fleft uintptr
  44417. Fright uintptr
  44418. })(unsafe.Pointer(expr + 8))).Fleft, type1)
  44419. _FcTypecheckExpr(tls, parse, (*(*struct {
  44420. Fleft uintptr
  44421. Fright uintptr
  44422. })(unsafe.Pointer(expr + 8))).Fright, type1)
  44423. case int32(_FcOpNot):
  44424. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  44425. _FcTypecheckExpr(tls, parse, (*(*struct {
  44426. Fleft uintptr
  44427. Fright uintptr
  44428. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeBool))
  44429. case int32(_FcOpFloor):
  44430. fallthrough
  44431. case int32(_FcOpCeil):
  44432. fallthrough
  44433. case int32(_FcOpRound):
  44434. fallthrough
  44435. case int32(_FcOpTrunc):
  44436. _FcTypecheckValue(tls, parse, int32(_FcTypeDouble), type1)
  44437. _FcTypecheckExpr(tls, parse, (*(*struct {
  44438. Fleft uintptr
  44439. Fright uintptr
  44440. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeDouble))
  44441. default:
  44442. break
  44443. }
  44444. }
  44445. func _FcTestCreate(tls *libc.TLS, parse uintptr, kind TFcMatchKind, qual TFcQual, field uintptr, compare uint32, expr uintptr) (r uintptr) {
  44446. var o, test uintptr
  44447. _, _ = o, test
  44448. test = libc.Xmalloc(tls, uint64(24))
  44449. if test != 0 {
  44450. (*TFcTest)(unsafe.Pointer(test)).Fkind = kind
  44451. (*TFcTest)(unsafe.Pointer(test)).Fqual = qual
  44452. (*TFcTest)(unsafe.Pointer(test)).Fobject = XFcObjectFromName(tls, field)
  44453. (*TFcTest)(unsafe.Pointer(test)).Fop = libc.Int32FromUint32(compare)
  44454. (*TFcTest)(unsafe.Pointer(test)).Fexpr = expr
  44455. o = XIA__FcNameGetObjectType(tls, XFcObjectName(tls, (*TFcTest)(unsafe.Pointer(test)).Fobject))
  44456. if o != 0 {
  44457. _FcTypecheckExpr(tls, parse, expr, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1)
  44458. }
  44459. }
  44460. return test
  44461. }
  44462. func _FcEditCreate(tls *libc.TLS, parse uintptr, object TFcObject, op TFcOp, expr uintptr, binding TFcValueBinding) (r uintptr) {
  44463. var e, o uintptr
  44464. _, _ = e, o
  44465. e = libc.Xmalloc(tls, uint64(24))
  44466. if e != 0 {
  44467. (*TFcEdit)(unsafe.Pointer(e)).Fobject = object
  44468. (*TFcEdit)(unsafe.Pointer(e)).Fop = op
  44469. (*TFcEdit)(unsafe.Pointer(e)).Fexpr = expr
  44470. (*TFcEdit)(unsafe.Pointer(e)).Fbinding = binding
  44471. o = XIA__FcNameGetObjectType(tls, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(e)).Fobject))
  44472. if o != 0 {
  44473. _FcTypecheckExpr(tls, parse, expr, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1)
  44474. }
  44475. }
  44476. return e
  44477. }
  44478. func _FcRuleCreate(tls *libc.TLS, type1 TFcRuleType, p uintptr) (r1 uintptr) {
  44479. var r uintptr
  44480. _ = r
  44481. r = libc.Xmalloc(tls, uint64(24))
  44482. if !(r != 0) {
  44483. return libc.UintptrFromInt32(0)
  44484. }
  44485. (*TFcRule)(unsafe.Pointer(r)).Fnext = libc.UintptrFromInt32(0)
  44486. (*TFcRule)(unsafe.Pointer(r)).Ftype1 = type1
  44487. switch type1 {
  44488. case int32(_FcRuleTest):
  44489. *(*uintptr)(unsafe.Pointer(r + 16)) = p
  44490. case int32(_FcRuleEdit):
  44491. *(*uintptr)(unsafe.Pointer(r + 16)) = p
  44492. case int32(_FcRuleUnknown):
  44493. fallthrough
  44494. default:
  44495. libc.Xfree(tls, r)
  44496. r = libc.UintptrFromInt32(0)
  44497. break
  44498. }
  44499. return r
  44500. }
  44501. func _FcVStackCreateAndPush(tls *libc.TLS, parse uintptr) (r uintptr) {
  44502. var new1, v2, v3 uintptr
  44503. var v1 uint32
  44504. _, _, _, _ = new1, v1, v2, v3
  44505. if uint64((*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used) < libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(32) {
  44506. v2 = parse + 2496
  44507. v1 = *(*uint32)(unsafe.Pointer(v2))
  44508. *(*uint32)(unsafe.Pointer(v2))++
  44509. new1 = parse + 2504 + uintptr(v1)*32
  44510. } else {
  44511. new1 = libc.Xmalloc(tls, uint64(32))
  44512. if !(new1 != 0) {
  44513. return uintptr(0)
  44514. }
  44515. }
  44516. (*TFcVStack)(unsafe.Pointer(new1)).Ftag = int32(_FcVStackNone)
  44517. (*TFcVStack)(unsafe.Pointer(new1)).Fprev = uintptr(0)
  44518. (*TFcVStack)(unsafe.Pointer(new1)).Fprev = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  44519. if (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0 {
  44520. v3 = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fprev
  44521. } else {
  44522. v3 = uintptr(0)
  44523. }
  44524. (*TFcVStack)(unsafe.Pointer(new1)).Fpstack = v3
  44525. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = new1
  44526. return new1
  44527. }
  44528. func _FcVStackPushString(tls *libc.TLS, parse uintptr, tag TFcVStackTag, string1 uintptr) (r TFcBool) {
  44529. var vstack uintptr
  44530. _ = vstack
  44531. vstack = _FcVStackCreateAndPush(tls, parse)
  44532. if !(vstack != 0) {
  44533. return m_FcFalse
  44534. }
  44535. *(*uintptr)(unsafe.Pointer(vstack + 24)) = string1
  44536. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = tag
  44537. return int32(m_FcTrue)
  44538. }
  44539. func _FcVStackPushInteger(tls *libc.TLS, parse uintptr, integer int32) (r TFcBool) {
  44540. var vstack uintptr
  44541. _ = vstack
  44542. vstack = _FcVStackCreateAndPush(tls, parse)
  44543. if !(vstack != 0) {
  44544. return m_FcFalse
  44545. }
  44546. *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = integer
  44547. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackInteger)
  44548. return int32(m_FcTrue)
  44549. }
  44550. func _FcVStackPushDouble(tls *libc.TLS, parse uintptr, _double float64) (r TFcBool) {
  44551. var vstack uintptr
  44552. _ = vstack
  44553. vstack = _FcVStackCreateAndPush(tls, parse)
  44554. if !(vstack != 0) {
  44555. return m_FcFalse
  44556. }
  44557. *(*float64)(unsafe.Pointer(vstack + 24)) = _double
  44558. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackDouble)
  44559. return int32(m_FcTrue)
  44560. }
  44561. func _FcVStackPushMatrix(tls *libc.TLS, parse uintptr, matrix uintptr) (r TFcBool) {
  44562. var vstack uintptr
  44563. _ = vstack
  44564. vstack = _FcVStackCreateAndPush(tls, parse)
  44565. if !(vstack != 0) {
  44566. return m_FcFalse
  44567. }
  44568. *(*uintptr)(unsafe.Pointer(vstack + 24)) = _FcExprMatrixCopyShallow(tls, matrix)
  44569. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackMatrix)
  44570. return int32(m_FcTrue)
  44571. }
  44572. func _FcVStackPushRange(tls *libc.TLS, parse uintptr, range1 uintptr) (r TFcBool) {
  44573. var vstack uintptr
  44574. _ = vstack
  44575. vstack = _FcVStackCreateAndPush(tls, parse)
  44576. if !(vstack != 0) {
  44577. return m_FcFalse
  44578. }
  44579. *(*uintptr)(unsafe.Pointer(vstack + 24)) = range1
  44580. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackRange)
  44581. return int32(m_FcTrue)
  44582. }
  44583. func _FcVStackPushBool(tls *libc.TLS, parse uintptr, bool_ TFcBool) (r TFcBool) {
  44584. var vstack uintptr
  44585. _ = vstack
  44586. vstack = _FcVStackCreateAndPush(tls, parse)
  44587. if !(vstack != 0) {
  44588. return m_FcFalse
  44589. }
  44590. *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = bool_
  44591. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackBool)
  44592. return int32(m_FcTrue)
  44593. }
  44594. func _FcVStackPushCharSet(tls *libc.TLS, parse uintptr, charset uintptr) (r TFcBool) {
  44595. var vstack uintptr
  44596. _ = vstack
  44597. if !(charset != 0) {
  44598. return m_FcFalse
  44599. }
  44600. vstack = _FcVStackCreateAndPush(tls, parse)
  44601. if !(vstack != 0) {
  44602. return m_FcFalse
  44603. }
  44604. *(*uintptr)(unsafe.Pointer(vstack + 24)) = charset
  44605. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackCharSet)
  44606. return int32(m_FcTrue)
  44607. }
  44608. func _FcVStackPushLangSet(tls *libc.TLS, parse uintptr, langset uintptr) (r TFcBool) {
  44609. var vstack uintptr
  44610. _ = vstack
  44611. if !(langset != 0) {
  44612. return m_FcFalse
  44613. }
  44614. vstack = _FcVStackCreateAndPush(tls, parse)
  44615. if !(vstack != 0) {
  44616. return m_FcFalse
  44617. }
  44618. *(*uintptr)(unsafe.Pointer(vstack + 24)) = langset
  44619. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackLangSet)
  44620. return int32(m_FcTrue)
  44621. }
  44622. func _FcVStackPushName(tls *libc.TLS, parse uintptr, kind TFcMatchKind, object TFcObject) (r TFcBool) {
  44623. var vstack uintptr
  44624. _ = vstack
  44625. vstack = _FcVStackCreateAndPush(tls, parse)
  44626. if !(vstack != 0) {
  44627. return m_FcFalse
  44628. }
  44629. (*(*TFcExprName)(unsafe.Pointer(vstack + 24))).Fobject = object
  44630. (*(*TFcExprName)(unsafe.Pointer(vstack + 24))).Fkind = kind
  44631. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackName)
  44632. return int32(m_FcTrue)
  44633. }
  44634. func _FcVStackPushTest(tls *libc.TLS, parse uintptr, test uintptr) (r TFcBool) {
  44635. var vstack uintptr
  44636. _ = vstack
  44637. vstack = _FcVStackCreateAndPush(tls, parse)
  44638. if !(vstack != 0) {
  44639. return m_FcFalse
  44640. }
  44641. *(*uintptr)(unsafe.Pointer(vstack + 24)) = test
  44642. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackTest)
  44643. return int32(m_FcTrue)
  44644. }
  44645. func _FcVStackPushExpr(tls *libc.TLS, parse uintptr, tag TFcVStackTag, expr uintptr) (r TFcBool) {
  44646. var vstack uintptr
  44647. _ = vstack
  44648. vstack = _FcVStackCreateAndPush(tls, parse)
  44649. if !(vstack != 0) {
  44650. return m_FcFalse
  44651. }
  44652. *(*uintptr)(unsafe.Pointer(vstack + 24)) = expr
  44653. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = tag
  44654. return int32(m_FcTrue)
  44655. }
  44656. func _FcVStackPushEdit(tls *libc.TLS, parse uintptr, edit uintptr) (r TFcBool) {
  44657. var vstack uintptr
  44658. _ = vstack
  44659. vstack = _FcVStackCreateAndPush(tls, parse)
  44660. if !(vstack != 0) {
  44661. return m_FcFalse
  44662. }
  44663. *(*uintptr)(unsafe.Pointer(vstack + 24)) = edit
  44664. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackEdit)
  44665. return int32(m_FcTrue)
  44666. }
  44667. func _FcVStackPushPattern(tls *libc.TLS, parse uintptr, pattern uintptr) (r TFcBool) {
  44668. var vstack uintptr
  44669. _ = vstack
  44670. vstack = _FcVStackCreateAndPush(tls, parse)
  44671. if !(vstack != 0) {
  44672. return m_FcFalse
  44673. }
  44674. *(*uintptr)(unsafe.Pointer(vstack + 24)) = pattern
  44675. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackPattern)
  44676. return int32(m_FcTrue)
  44677. }
  44678. func _FcVStackFetch(tls *libc.TLS, parse uintptr, off int32) (r uintptr) {
  44679. var vstack uintptr
  44680. var v2 int32
  44681. var v3 bool
  44682. _, _, _ = vstack, v2, v3
  44683. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  44684. for {
  44685. if v3 = vstack != 0; v3 {
  44686. v2 = off
  44687. off--
  44688. }
  44689. if !(v3 && v2 > 0) {
  44690. break
  44691. }
  44692. goto _1
  44693. _1:
  44694. ;
  44695. vstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  44696. }
  44697. return vstack
  44698. }
  44699. func _FcVStackPeek(tls *libc.TLS, parse uintptr) (r uintptr) {
  44700. var vstack, v1 uintptr
  44701. _, _ = vstack, v1
  44702. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  44703. if vstack != 0 && (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack == (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  44704. v1 = vstack
  44705. } else {
  44706. v1 = uintptr(0)
  44707. }
  44708. return v1
  44709. }
  44710. func _FcVStackPopAndDestroy(tls *libc.TLS, parse uintptr) {
  44711. var vstack uintptr
  44712. _ = vstack
  44713. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  44714. if !(vstack != 0) || (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack != (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  44715. return
  44716. }
  44717. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  44718. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  44719. case int32(_FcVStackNone):
  44720. case int32(_FcVStackName):
  44721. case int32(_FcVStackFamily):
  44722. case int32(_FcVStackString):
  44723. fallthrough
  44724. case int32(_FcVStackConstant):
  44725. fallthrough
  44726. case int32(_FcVStackGlob):
  44727. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44728. case int32(_FcVStackPattern):
  44729. XIA__FcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44730. case int32(_FcVStackInteger):
  44731. fallthrough
  44732. case int32(_FcVStackDouble):
  44733. case int32(_FcVStackMatrix):
  44734. _FcExprMatrixFreeShallow(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44735. case int32(_FcVStackBool):
  44736. case int32(_FcVStackRange):
  44737. XIA__FcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44738. case int32(_FcVStackCharSet):
  44739. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44740. case int32(_FcVStackLangSet):
  44741. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44742. case int32(_FcVStackTest):
  44743. XFcTestDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44744. case int32(_FcVStackExpr):
  44745. fallthrough
  44746. case int32(_FcVStackPrefer):
  44747. fallthrough
  44748. case int32(_FcVStackAccept):
  44749. fallthrough
  44750. case int32(_FcVStackDefault):
  44751. _FcExprDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44752. case int32(_FcVStackEdit):
  44753. XFcEditDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44754. break
  44755. }
  44756. if vstack == parse+2504+uintptr((*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used-uint32(1))*32 {
  44757. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used--
  44758. } else {
  44759. libc.Xfree(tls, vstack)
  44760. }
  44761. }
  44762. func _FcVStackClear(tls *libc.TLS, parse uintptr) {
  44763. for _FcVStackPeek(tls, parse) != 0 {
  44764. _FcVStackPopAndDestroy(tls, parse)
  44765. }
  44766. }
  44767. func _FcVStackElements(tls *libc.TLS, parse uintptr) (r int32) {
  44768. var h int32
  44769. var vstack uintptr
  44770. _, _ = h, vstack
  44771. h = 0
  44772. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  44773. for vstack != 0 && (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack == (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  44774. h++
  44775. vstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  44776. }
  44777. return h
  44778. }
  44779. func _FcConfigSaveAttr(tls *libc.TLS, attr uintptr, buf uintptr, size_bytes int32) (r uintptr) {
  44780. var i, slen int32
  44781. var new1, s uintptr
  44782. _, _, _, _ = i, new1, s, slen
  44783. if !(attr != 0) {
  44784. return uintptr(0)
  44785. }
  44786. slen = 0
  44787. i = 0
  44788. for {
  44789. if !(*(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8)) != 0) {
  44790. break
  44791. }
  44792. slen = int32(uint64(slen) + (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8))) + libc.Uint64FromInt32(1)))
  44793. goto _1
  44794. _1:
  44795. ;
  44796. i++
  44797. }
  44798. if i == 0 {
  44799. return uintptr(0)
  44800. }
  44801. slen = int32(uint64(slen) + libc.Uint64FromInt32(i+libc.Int32FromInt32(1))*libc.Uint64FromInt64(8))
  44802. if slen <= size_bytes {
  44803. new1 = buf
  44804. } else {
  44805. new1 = libc.Xmalloc(tls, libc.Uint64FromInt32(slen))
  44806. if !(new1 != 0) {
  44807. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+7173, 0)
  44808. return uintptr(0)
  44809. }
  44810. }
  44811. s = new1 + uintptr(i+libc.Int32FromInt32(1))*8
  44812. i = 0
  44813. for {
  44814. if !(*(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8)) != 0) {
  44815. break
  44816. }
  44817. *(*uintptr)(unsafe.Pointer(new1 + uintptr(i)*8)) = s
  44818. libc.Xstrcpy(tls, s, *(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8)))
  44819. s += uintptr(libc.Xstrlen(tls, s) + uint64(1))
  44820. goto _2
  44821. _2:
  44822. ;
  44823. i++
  44824. }
  44825. *(*uintptr)(unsafe.Pointer(new1 + uintptr(i)*8)) = uintptr(0)
  44826. return new1
  44827. }
  44828. func _FcPStackPush(tls *libc.TLS, parse uintptr, element TFcElement, attr uintptr) (r TFcBool) {
  44829. var new1, v2 uintptr
  44830. var v1 uint32
  44831. _, _, _ = new1, v1, v2
  44832. if uint64((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used) < libc.Uint64FromInt64(2432)/libc.Uint64FromInt64(304) {
  44833. v2 = parse + 56
  44834. v1 = *(*uint32)(unsafe.Pointer(v2))
  44835. *(*uint32)(unsafe.Pointer(v2))++
  44836. new1 = parse + 64 + uintptr(v1)*304
  44837. } else {
  44838. new1 = libc.Xmalloc(tls, uint64(304))
  44839. if !(new1 != 0) {
  44840. return m_FcFalse
  44841. }
  44842. }
  44843. (*TFcPStack)(unsafe.Pointer(new1)).Fprev = (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack
  44844. (*TFcPStack)(unsafe.Pointer(new1)).Felement = element
  44845. (*TFcPStack)(unsafe.Pointer(new1)).Fattr = _FcConfigSaveAttr(tls, attr, new1+176, int32(128))
  44846. XFcStrBufInit(tls, new1+24, uintptr(0), 0)
  44847. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = new1
  44848. return int32(m_FcTrue)
  44849. }
  44850. func _FcPStackPop(tls *libc.TLS, parse uintptr) (r TFcBool) {
  44851. bp := tls.Alloc(16)
  44852. defer tls.Free(16)
  44853. var attrs, old uintptr
  44854. _, _ = attrs, old
  44855. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  44856. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7187, 0)
  44857. return m_FcFalse
  44858. }
  44859. /* Don't check the attributes for FcElementNone */
  44860. if (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement != int32(_FcElementNone) && (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr != 0 {
  44861. /* Warn about unused attrs. */
  44862. attrs = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr
  44863. for *(*uintptr)(unsafe.Pointer(attrs)) != 0 {
  44864. if *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(attrs)))) != 0 {
  44865. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7207, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(attrs))))
  44866. }
  44867. attrs += uintptr(2) * 8
  44868. }
  44869. }
  44870. _FcVStackClear(tls, parse)
  44871. old = (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack
  44872. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = (*TFcPStack)(unsafe.Pointer(old)).Fprev
  44873. XFcStrBufDestroy(tls, old+24)
  44874. if (*TFcPStack)(unsafe.Pointer(old)).Fattr != 0 && (*TFcPStack)(unsafe.Pointer(old)).Fattr != old+176 {
  44875. libc.Xfree(tls, (*TFcPStack)(unsafe.Pointer(old)).Fattr)
  44876. }
  44877. if old == parse+64+uintptr((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used-uint32(1))*304 {
  44878. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used--
  44879. } else {
  44880. libc.Xfree(tls, old)
  44881. }
  44882. return int32(m_FcTrue)
  44883. }
  44884. func _FcConfigParseInit(tls *libc.TLS, parse uintptr, name uintptr, config uintptr, parser TXML_Parser, enabled TFcBool) (r TFcBool) {
  44885. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = uintptr(0)
  44886. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used = uint32(0)
  44887. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = uintptr(0)
  44888. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used = uint32(0)
  44889. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = m_FcFalse
  44890. (*TFcConfigParse)(unsafe.Pointer(parse)).Fname = name
  44891. (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig = config
  44892. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = XFcRuleSetCreate(tls, name)
  44893. (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser = parser
  44894. (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly = libc.BoolInt32(!(enabled != 0))
  44895. XFcRuleSetEnable(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, enabled)
  44896. return int32(m_FcTrue)
  44897. }
  44898. func _FcConfigCleanup(tls *libc.TLS, parse uintptr) {
  44899. for (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0 {
  44900. _FcPStackPop(tls, parse)
  44901. }
  44902. XFcRuleSetDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset)
  44903. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = libc.UintptrFromInt32(0)
  44904. }
  44905. func _FcConfigGetAttribute(tls *libc.TLS, parse uintptr, attr uintptr) (r uintptr) {
  44906. var attrs uintptr
  44907. _ = attrs
  44908. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  44909. return uintptr(0)
  44910. }
  44911. attrs = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr
  44912. if !(attrs != 0) {
  44913. return uintptr(0)
  44914. }
  44915. for *(*uintptr)(unsafe.Pointer(attrs)) != 0 {
  44916. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(attrs)), attr) != 0) {
  44917. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(attrs)))) = uint8('\000') /* Mark as used. */
  44918. return *(*uintptr)(unsafe.Pointer(attrs + 1*8))
  44919. }
  44920. attrs += uintptr(2) * 8
  44921. }
  44922. return uintptr(0)
  44923. }
  44924. func __get_real_paths_from_prefix(tls *libc.TLS, parse uintptr, path uintptr, prefix uintptr) (r uintptr) {
  44925. bp := tls.Alloc(32)
  44926. defer tls.Free(32)
  44927. var e, p, parent, retval, s uintptr
  44928. var i int32
  44929. _, _, _, _, _, _ = e, i, p, parent, retval, s
  44930. parent = libc.UintptrFromInt32(0)
  44931. retval = libc.UintptrFromInt32(0)
  44932. e = libc.UintptrFromInt32(0)
  44933. if prefix != 0 {
  44934. if XIA__FcStrCmp(tls, prefix, __ccgo_ts+7230) == 0 {
  44935. parent = XFcConfigXdgDataHome(tls)
  44936. if !(parent != 0) {
  44937. /* Home directory might be disabled */
  44938. return libc.UintptrFromInt32(0)
  44939. }
  44940. e = XFcConfigXdgDataDirs(tls)
  44941. if !(e != 0) {
  44942. XIA__FcStrFree(tls, parent)
  44943. return libc.UintptrFromInt32(0)
  44944. }
  44945. } else {
  44946. if XIA__FcStrCmp(tls, prefix, __ccgo_ts+7234) == 0 || XIA__FcStrCmp(tls, prefix, __ccgo_ts+7242) == 0 {
  44947. /* Nothing to do */
  44948. } else {
  44949. if XIA__FcStrCmp(tls, prefix, __ccgo_ts+7246) == 0 {
  44950. p = XFcStrRealPath(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fname)
  44951. if !(p != 0) {
  44952. return libc.UintptrFromInt32(0)
  44953. }
  44954. parent = XIA__FcStrDirname(tls, p)
  44955. if !(parent != 0) {
  44956. libc.Xfree(tls, p)
  44957. return libc.UintptrFromInt32(0)
  44958. }
  44959. }
  44960. }
  44961. }
  44962. } else {
  44963. if !(XFcStrIsAbsoluteFilename(tls, path) != 0) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(path))) != int32('~') {
  44964. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7255, libc.VaList(bp+8, _FcElementReverseMap(tls, (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement)))
  44965. }
  44966. }
  44967. if parent != 0 {
  44968. retval = XIA__FcStrBuildFilename(tls, parent, libc.VaList(bp+8, path, libc.UintptrFromInt32(0)))
  44969. XIA__FcStrFree(tls, parent)
  44970. } else {
  44971. retval = libc.Xstrdup(tls, path)
  44972. }
  44973. if !(e != 0) {
  44974. e = XIA__FcStrSetCreate(tls)
  44975. } else {
  44976. i = 0
  44977. for {
  44978. if !(i < (*TFcStrSet)(unsafe.Pointer(e)).Fnum) {
  44979. break
  44980. }
  44981. s = XIA__FcStrBuildFilename(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(e)).Fstrs + uintptr(i)*8)), libc.VaList(bp+8, path, libc.UintptrFromInt32(0)))
  44982. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(e)).Fstrs + uintptr(i)*8)))
  44983. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(e)).Fstrs + uintptr(i)*8)) = s
  44984. goto _1
  44985. _1:
  44986. ;
  44987. i++
  44988. }
  44989. }
  44990. if !(XFcStrSetInsert(tls, e, retval, 0) != 0) {
  44991. XIA__FcStrSetDestroy(tls, e)
  44992. e = libc.UintptrFromInt32(0)
  44993. }
  44994. XIA__FcStrFree(tls, retval)
  44995. return e
  44996. }
  44997. func _FcStartElement(tls *libc.TLS, userData uintptr, name uintptr, attr uintptr) {
  44998. bp := tls.Alloc(16)
  44999. defer tls.Free(16)
  45000. var element TFcElement
  45001. var parse uintptr
  45002. _, _ = element, parse
  45003. parse = userData
  45004. element = _FcElementMap(tls, name)
  45005. if element == int32(_FcElementUnknown) {
  45006. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7350, libc.VaList(bp+8, name))
  45007. }
  45008. if !(_FcPStackPush(tls, parse, element, attr) != 0) {
  45009. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  45010. return
  45011. }
  45012. return
  45013. }
  45014. func _FcParseRescan(tls *libc.TLS, parse uintptr) {
  45015. var n, v1 int32
  45016. var v uintptr
  45017. _, _, _ = n, v, v1
  45018. n = _FcVStackElements(tls, parse)
  45019. for {
  45020. v1 = n
  45021. n--
  45022. if !(v1 > 0) {
  45023. break
  45024. }
  45025. v = _FcVStackFetch(tls, parse, n)
  45026. if (*TFcVStack)(unsafe.Pointer(v)).Ftag != int32(_FcVStackInteger) {
  45027. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7371, 0)
  45028. } else {
  45029. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FrescanInterval = *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(v)).Fu))
  45030. }
  45031. }
  45032. }
  45033. func _FcParseInt(tls *libc.TLS, parse uintptr) {
  45034. bp := tls.Alloc(32)
  45035. defer tls.Free(32)
  45036. var l int32
  45037. var s uintptr
  45038. var _ /* end at bp+0 */ uintptr
  45039. _, _ = l, s
  45040. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  45041. return
  45042. }
  45043. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  45044. if !(s != 0) {
  45045. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  45046. return
  45047. }
  45048. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
  45049. l = int32(libc.Xstrtol(tls, s, bp, 0))
  45050. if *(*uintptr)(unsafe.Pointer(bp)) != s+uintptr(libc.Xstrlen(tls, s)) {
  45051. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7390, libc.VaList(bp+16, s))
  45052. } else {
  45053. _FcVStackPushInteger(tls, parse, l)
  45054. }
  45055. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  45056. }
  45057. type Tlconv = struct {
  45058. Fdecimal_point uintptr
  45059. Fthousands_sep uintptr
  45060. Fgrouping uintptr
  45061. Fint_curr_symbol uintptr
  45062. Fcurrency_symbol uintptr
  45063. Fmon_decimal_point uintptr
  45064. Fmon_thousands_sep uintptr
  45065. Fmon_grouping uintptr
  45066. Fpositive_sign uintptr
  45067. Fnegative_sign uintptr
  45068. Fint_frac_digits uint8
  45069. Ffrac_digits uint8
  45070. Fp_cs_precedes uint8
  45071. Fp_sep_by_space uint8
  45072. Fn_cs_precedes uint8
  45073. Fn_sep_by_space uint8
  45074. Fp_sign_posn uint8
  45075. Fn_sign_posn uint8
  45076. Fint_p_cs_precedes uint8
  45077. Fint_p_sep_by_space uint8
  45078. Fint_n_cs_precedes uint8
  45079. Fint_n_sep_by_space uint8
  45080. Fint_p_sign_posn uint8
  45081. Fint_n_sign_posn uint8
  45082. }
  45083. func _FcStrtod(tls *libc.TLS, s uintptr, end uintptr) (r float64) {
  45084. bp := tls.Alloc(144)
  45085. defer tls.Free(144)
  45086. var decimal_point, dot, locale_data, v1 uintptr
  45087. var dlen, slen int32
  45088. var v float64
  45089. var _ /* buf at bp+0 */ [128]uint8
  45090. var _ /* buf_end at bp+128 */ uintptr
  45091. _, _, _, _, _, _, _ = decimal_point, dlen, dot, locale_data, slen, v, v1
  45092. /*
  45093. * Have to swap the decimal point to match the current locale
  45094. * if that locale doesn't use 0x2e
  45095. */
  45096. locale_data = libc.Xlocaleconv(tls)
  45097. decimal_point = (*Tlconv)(unsafe.Pointer(locale_data)).Fdecimal_point
  45098. dlen = libc.Int32FromUint64(libc.Xstrlen(tls, decimal_point))
  45099. v1 = libc.Xstrchr(tls, s, int32(0x2e))
  45100. dot = v1
  45101. if v1 != 0 && (libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(decimal_point))) != int32(0x2e) || libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(decimal_point + 1))) != 0) {
  45102. slen = libc.Int32FromUint64(libc.Xstrlen(tls, s))
  45103. if slen+dlen > libc.Int32FromInt64(128) {
  45104. if end != 0 {
  45105. *(*uintptr)(unsafe.Pointer(end)) = s
  45106. }
  45107. v = libc.Float64FromInt32(0)
  45108. } else {
  45109. /* mantissa */
  45110. libc.Xstrncpy(tls, bp, s, libc.Uint64FromInt64(int64(dot)-int64(s)))
  45111. /* decimal point */
  45112. libc.Xstrcpy(tls, bp+uintptr(int64(dot)-int64(s)), decimal_point)
  45113. /* rest of number */
  45114. libc.Xstrcpy(tls, bp+uintptr(int64(dot)-int64(s))+uintptr(dlen), dot+uintptr(1))
  45115. *(*uintptr)(unsafe.Pointer(bp + 128)) = uintptr(0)
  45116. v = libc.Xstrtod(tls, bp, bp+128)
  45117. if *(*uintptr)(unsafe.Pointer(bp + 128)) != 0 {
  45118. *(*uintptr)(unsafe.Pointer(bp + 128)) = s + uintptr(int64(*(*uintptr)(unsafe.Pointer(bp + 128)))-t__predefined_ptrdiff_t(bp))
  45119. if *(*uintptr)(unsafe.Pointer(bp + 128)) > dot {
  45120. *(*uintptr)(unsafe.Pointer(bp + 128)) -= uintptr(dlen - int32(1))
  45121. }
  45122. }
  45123. if end != 0 {
  45124. *(*uintptr)(unsafe.Pointer(end)) = *(*uintptr)(unsafe.Pointer(bp + 128))
  45125. }
  45126. }
  45127. } else {
  45128. v = libc.Xstrtod(tls, s, end)
  45129. }
  45130. return v
  45131. }
  45132. func _FcParseDouble(tls *libc.TLS, parse uintptr) {
  45133. bp := tls.Alloc(32)
  45134. defer tls.Free(32)
  45135. var d float64
  45136. var s uintptr
  45137. var _ /* end at bp+0 */ uintptr
  45138. _, _ = d, s
  45139. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  45140. return
  45141. }
  45142. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  45143. if !(s != 0) {
  45144. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  45145. return
  45146. }
  45147. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
  45148. d = _FcStrtod(tls, s, bp)
  45149. if *(*uintptr)(unsafe.Pointer(bp)) != s+uintptr(libc.Xstrlen(tls, s)) {
  45150. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7416, libc.VaList(bp+16, s))
  45151. } else {
  45152. _FcVStackPushDouble(tls, parse, d)
  45153. }
  45154. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  45155. }
  45156. func _FcParseString(tls *libc.TLS, parse uintptr, tag TFcVStackTag) {
  45157. var s uintptr
  45158. _ = s
  45159. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  45160. return
  45161. }
  45162. s = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  45163. if !(s != 0) {
  45164. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  45165. return
  45166. }
  45167. if !(_FcVStackPushString(tls, parse, tag, s) != 0) {
  45168. XIA__FcStrFree(tls, s)
  45169. }
  45170. }
  45171. func _FcParseName(tls *libc.TLS, parse uintptr) {
  45172. bp := tls.Alloc(16)
  45173. defer tls.Free(16)
  45174. var kind TFcMatchKind
  45175. var kind_string, s uintptr
  45176. var object TFcObject
  45177. _, _, _, _ = kind, kind_string, object, s
  45178. kind_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7441)
  45179. if !(kind_string != 0) {
  45180. kind = -libc.Int32FromInt32(1)
  45181. } else {
  45182. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7448) != 0) {
  45183. kind = int32(_FcMatchPattern)
  45184. } else {
  45185. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7456) != 0) {
  45186. kind = int32(_FcMatchFont)
  45187. } else {
  45188. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7234) != 0) {
  45189. kind = -libc.Int32FromInt32(1)
  45190. } else {
  45191. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7461, libc.VaList(bp+8, kind_string))
  45192. return
  45193. }
  45194. }
  45195. }
  45196. }
  45197. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  45198. return
  45199. }
  45200. s = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  45201. if !(s != 0) {
  45202. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  45203. return
  45204. }
  45205. object = XFcObjectFromName(tls, s)
  45206. _FcVStackPushName(tls, parse, kind, object)
  45207. XIA__FcStrFree(tls, s)
  45208. }
  45209. func _FcParseMatrix(tls *libc.TLS, parse uintptr) {
  45210. bp := tls.Alloc(32)
  45211. defer tls.Free(32)
  45212. var _ /* m at bp+0 */ TFcExprMatrix
  45213. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyy = _FcPopExpr(tls, parse)
  45214. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyx = _FcPopExpr(tls, parse)
  45215. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxy = _FcPopExpr(tls, parse)
  45216. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxx = _FcPopExpr(tls, parse)
  45217. if !((*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyy != 0) || !((*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyx != 0) || !((*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxy != 0) || !((*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxx != 0) {
  45218. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7486, 0)
  45219. return
  45220. }
  45221. if _FcPopExpr(tls, parse) != 0 {
  45222. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7519, 0)
  45223. } else {
  45224. _FcVStackPushMatrix(tls, parse, bp)
  45225. }
  45226. }
  45227. func _FcParseRange(tls *libc.TLS, parse uintptr) {
  45228. var count int32
  45229. var d [2]float64
  45230. var dflag TFcBool
  45231. var n [2]TFcChar32
  45232. var r, vstack, v1 uintptr
  45233. _, _, _, _, _, _, _ = count, d, dflag, n, r, vstack, v1
  45234. n = [2]TFcChar32{}
  45235. count = int32(1)
  45236. d = [2]float64{}
  45237. dflag = m_FcFalse
  45238. for {
  45239. v1 = _FcVStackPeek(tls, parse)
  45240. vstack = v1
  45241. if !(v1 != 0) {
  45242. break
  45243. }
  45244. if count < 0 {
  45245. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7551, 0)
  45246. return
  45247. }
  45248. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  45249. case int32(_FcVStackInteger):
  45250. if dflag != 0 {
  45251. d[count] = float64(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45252. } else {
  45253. n[count] = libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45254. }
  45255. case int32(_FcVStackDouble):
  45256. if count == 0 && !(dflag != 0) {
  45257. d[int32(1)] = float64(n[int32(1)])
  45258. }
  45259. d[count] = *(*float64)(unsafe.Pointer(vstack + 24))
  45260. dflag = int32(m_FcTrue)
  45261. default:
  45262. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7578, 0)
  45263. if dflag != 0 {
  45264. d[count] = libc.Float64FromFloat64(0)
  45265. } else {
  45266. n[count] = uint32(0)
  45267. }
  45268. break
  45269. }
  45270. count--
  45271. _FcVStackPopAndDestroy(tls, parse)
  45272. }
  45273. if count >= 0 {
  45274. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7603, 0)
  45275. return
  45276. }
  45277. if dflag != 0 {
  45278. if d[0] > d[int32(1)] {
  45279. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7603, 0)
  45280. return
  45281. }
  45282. r = XIA__FcRangeCreateDouble(tls, d[0], d[int32(1)])
  45283. } else {
  45284. if n[0] > n[int32(1)] {
  45285. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7603, 0)
  45286. return
  45287. }
  45288. r = XIA__FcRangeCreateInteger(tls, n[0], n[int32(1)])
  45289. }
  45290. _FcVStackPushRange(tls, parse, r)
  45291. }
  45292. func _FcConfigLexBool(tls *libc.TLS, parse uintptr, bool_ uintptr) (r TFcBool) {
  45293. bp := tls.Alloc(32)
  45294. defer tls.Free(32)
  45295. var _ /* result at bp+0 */ TFcBool
  45296. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  45297. if !(XFcNameBool(tls, bool_, bp) != 0) {
  45298. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7617, libc.VaList(bp+16, bool_))
  45299. }
  45300. return *(*TFcBool)(unsafe.Pointer(bp))
  45301. }
  45302. func _FcParseBool(tls *libc.TLS, parse uintptr) {
  45303. var s uintptr
  45304. _ = s
  45305. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  45306. return
  45307. }
  45308. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  45309. if !(s != 0) {
  45310. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  45311. return
  45312. }
  45313. _FcVStackPushBool(tls, parse, _FcConfigLexBool(tls, parse, s))
  45314. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  45315. }
  45316. func _FcParseCharSet(tls *libc.TLS, parse uintptr) {
  45317. bp := tls.Alloc(16)
  45318. defer tls.Free(16)
  45319. var begin, end, i TFcChar32
  45320. var charset, vstack, v1 uintptr
  45321. var n int32
  45322. _, _, _, _, _, _, _ = begin, charset, end, i, n, vstack, v1
  45323. charset = XIA__FcCharSetCreate(tls)
  45324. n = 0
  45325. for {
  45326. v1 = _FcVStackPeek(tls, parse)
  45327. vstack = v1
  45328. if !(v1 != 0) {
  45329. break
  45330. }
  45331. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  45332. case int32(_FcVStackInteger):
  45333. if !(XIA__FcCharSetAddChar(tls, charset, libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))) != 0) {
  45334. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7643, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))))
  45335. } else {
  45336. n++
  45337. }
  45338. case int32(_FcVStackRange):
  45339. begin = uint32((*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fbegin)
  45340. end = uint32((*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fend)
  45341. if begin <= end {
  45342. i = begin
  45343. for {
  45344. if !(i <= end) {
  45345. break
  45346. }
  45347. if !(XIA__FcCharSetAddChar(tls, charset, i) != 0) {
  45348. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7643, libc.VaList(bp+8, i))
  45349. } else {
  45350. n++
  45351. }
  45352. goto _2
  45353. _2:
  45354. ;
  45355. i++
  45356. }
  45357. }
  45358. default:
  45359. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7669, 0)
  45360. break
  45361. }
  45362. _FcVStackPopAndDestroy(tls, parse)
  45363. }
  45364. if n > 0 {
  45365. _FcVStackPushCharSet(tls, parse, charset)
  45366. } else {
  45367. XIA__FcCharSetDestroy(tls, charset)
  45368. }
  45369. }
  45370. func _FcParseLangSet(tls *libc.TLS, parse uintptr) {
  45371. bp := tls.Alloc(16)
  45372. defer tls.Free(16)
  45373. var langset, vstack, v1 uintptr
  45374. var n int32
  45375. _, _, _, _ = langset, n, vstack, v1
  45376. langset = XIA__FcLangSetCreate(tls)
  45377. n = 0
  45378. for {
  45379. v1 = _FcVStackPeek(tls, parse)
  45380. vstack = v1
  45381. if !(v1 != 0) {
  45382. break
  45383. }
  45384. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  45385. case int32(_FcVStackString):
  45386. if !(XIA__FcLangSetAdd(tls, langset, *(*uintptr)(unsafe.Pointer(vstack + 24))) != 0) {
  45387. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7696, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(vstack + 24))))
  45388. } else {
  45389. n++
  45390. }
  45391. default:
  45392. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7716, 0)
  45393. break
  45394. }
  45395. _FcVStackPopAndDestroy(tls, parse)
  45396. }
  45397. if n > 0 {
  45398. _FcVStackPushLangSet(tls, parse, langset)
  45399. } else {
  45400. XIA__FcLangSetDestroy(tls, langset)
  45401. }
  45402. }
  45403. func _FcConfigLexBinding(tls *libc.TLS, parse uintptr, binding_string uintptr, binding_ret uintptr) (r TFcBool) {
  45404. bp := tls.Alloc(16)
  45405. defer tls.Free(16)
  45406. var binding TFcValueBinding
  45407. _ = binding
  45408. if !(binding_string != 0) {
  45409. binding = int32(_FcValueBindingWeak)
  45410. } else {
  45411. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7743) != 0) {
  45412. binding = int32(_FcValueBindingWeak)
  45413. } else {
  45414. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7748) != 0) {
  45415. binding = int32(_FcValueBindingStrong)
  45416. } else {
  45417. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7755) != 0) {
  45418. binding = int32(_FcValueBindingSame)
  45419. } else {
  45420. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7760, libc.VaList(bp+8, binding_string))
  45421. return m_FcFalse
  45422. }
  45423. }
  45424. }
  45425. }
  45426. *(*TFcValueBinding)(unsafe.Pointer(binding_ret)) = binding
  45427. return int32(m_FcTrue)
  45428. }
  45429. func _FcParseFamilies(tls *libc.TLS, parse uintptr, tag TFcVStackTag) {
  45430. var expr, left, new1, vstack, v1 uintptr
  45431. _, _, _, _, _ = expr, left, new1, vstack, v1
  45432. expr = uintptr(0)
  45433. for {
  45434. v1 = _FcVStackPeek(tls, parse)
  45435. vstack = v1
  45436. if !(v1 != 0) {
  45437. break
  45438. }
  45439. if (*TFcVStack)(unsafe.Pointer(vstack)).Ftag != int32(_FcVStackFamily) {
  45440. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7781, 0)
  45441. _FcVStackPopAndDestroy(tls, parse)
  45442. continue
  45443. }
  45444. left = *(*uintptr)(unsafe.Pointer(vstack + 24))
  45445. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45446. _FcVStackPopAndDestroy(tls, parse)
  45447. if expr != 0 {
  45448. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, left, int32(_FcOpComma), expr)
  45449. if !(new1 != 0) {
  45450. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  45451. _FcExprDestroy(tls, left)
  45452. _FcExprDestroy(tls, expr)
  45453. break
  45454. }
  45455. expr = new1
  45456. } else {
  45457. expr = left
  45458. }
  45459. }
  45460. if expr != 0 {
  45461. if !(_FcVStackPushExpr(tls, parse, tag, expr) != 0) {
  45462. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  45463. _FcExprDestroy(tls, expr)
  45464. }
  45465. }
  45466. }
  45467. func _FcParseFamily(tls *libc.TLS, parse uintptr) {
  45468. var expr, s uintptr
  45469. _, _ = expr, s
  45470. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  45471. return
  45472. }
  45473. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  45474. if !(s != 0) {
  45475. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  45476. return
  45477. }
  45478. expr = _FcExprCreateString(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s)
  45479. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  45480. if expr != 0 {
  45481. _FcVStackPushExpr(tls, parse, int32(_FcVStackFamily), expr)
  45482. }
  45483. }
  45484. func _FcParseAlias(tls *libc.TLS, parse uintptr) {
  45485. bp := tls.Alloc(16)
  45486. defer tls.Free(16)
  45487. var accept, def, edit, family, new1, prefer, r, rule, t, vstack, v1, v3 uintptr
  45488. var n, v4 int32
  45489. var _ /* binding at bp+0 */ TFcValueBinding
  45490. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = accept, def, edit, family, n, new1, prefer, r, rule, t, vstack, v1, v3, v4
  45491. family = uintptr(0)
  45492. accept = uintptr(0)
  45493. prefer = uintptr(0)
  45494. def = uintptr(0)
  45495. new1 = uintptr(0)
  45496. edit = uintptr(0)
  45497. rule = libc.UintptrFromInt32(0)
  45498. if !(_FcConfigLexBinding(tls, parse, _FcConfigGetAttribute(tls, parse, __ccgo_ts+7792), bp) != 0) {
  45499. return
  45500. }
  45501. for {
  45502. v1 = _FcVStackPeek(tls, parse)
  45503. vstack = v1
  45504. if !(v1 != 0) {
  45505. break
  45506. }
  45507. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  45508. case int32(_FcVStackFamily):
  45509. if family != 0 {
  45510. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7800, 0)
  45511. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)), int32(_FcOpComma), family)
  45512. if !(new1 != 0) {
  45513. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  45514. } else {
  45515. family = new1
  45516. }
  45517. } else {
  45518. new1 = *(*uintptr)(unsafe.Pointer(vstack + 24))
  45519. }
  45520. if new1 != 0 {
  45521. family = new1
  45522. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45523. }
  45524. case int32(_FcVStackPrefer):
  45525. if prefer != 0 {
  45526. _FcExprDestroy(tls, prefer)
  45527. }
  45528. prefer = *(*uintptr)(unsafe.Pointer(vstack + 24))
  45529. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45530. case int32(_FcVStackAccept):
  45531. if accept != 0 {
  45532. _FcExprDestroy(tls, accept)
  45533. }
  45534. accept = *(*uintptr)(unsafe.Pointer(vstack + 24))
  45535. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45536. case int32(_FcVStackDefault):
  45537. if def != 0 {
  45538. _FcExprDestroy(tls, def)
  45539. }
  45540. def = *(*uintptr)(unsafe.Pointer(vstack + 24))
  45541. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45542. case int32(_FcVStackTest):
  45543. if rule != 0 {
  45544. r = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  45545. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  45546. rule = r
  45547. } else {
  45548. rule = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  45549. }
  45550. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45551. default:
  45552. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7881, 0)
  45553. break
  45554. }
  45555. _FcVStackPopAndDestroy(tls, parse)
  45556. }
  45557. if !(family != 0) {
  45558. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7891, 0)
  45559. if prefer != 0 {
  45560. _FcExprDestroy(tls, prefer)
  45561. }
  45562. if accept != 0 {
  45563. _FcExprDestroy(tls, accept)
  45564. }
  45565. if def != 0 {
  45566. _FcExprDestroy(tls, def)
  45567. }
  45568. if rule != 0 {
  45569. XFcRuleDestroy(tls, rule)
  45570. }
  45571. return
  45572. }
  45573. if !(prefer != 0) && !(accept != 0) && !(def != 0) {
  45574. _FcExprDestroy(tls, family)
  45575. if rule != 0 {
  45576. XFcRuleDestroy(tls, rule)
  45577. }
  45578. return
  45579. } else {
  45580. t = _FcTestCreate(tls, parse, int32(_FcMatchPattern), int32(_FcQualAny), __ccgo_ts+5968, libc.Uint32FromInt32(int32(_FcOpEqual)&libc.Int32FromInt32(0xffff)|int32(_FcOpFlagIgnoreBlanks)<<libc.Int32FromInt32(16)), family)
  45581. if rule != 0 {
  45582. r = rule
  45583. for {
  45584. if !((*TFcRule)(unsafe.Pointer(r)).Fnext != 0) {
  45585. break
  45586. }
  45587. goto _2
  45588. _2:
  45589. ;
  45590. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  45591. }
  45592. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleTest), t)
  45593. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  45594. } else {
  45595. v3 = _FcRuleCreate(tls, int32(_FcRuleTest), t)
  45596. rule = v3
  45597. r = v3
  45598. }
  45599. }
  45600. if prefer != 0 {
  45601. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpPrepend), prefer, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  45602. if !(edit != 0) {
  45603. _FcExprDestroy(tls, prefer)
  45604. } else {
  45605. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  45606. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  45607. }
  45608. }
  45609. if accept != 0 {
  45610. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpAppend), accept, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  45611. if !(edit != 0) {
  45612. _FcExprDestroy(tls, accept)
  45613. } else {
  45614. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  45615. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  45616. }
  45617. }
  45618. if def != 0 {
  45619. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpAppendLast), def, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  45620. if !(edit != 0) {
  45621. _FcExprDestroy(tls, def)
  45622. } else {
  45623. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  45624. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  45625. }
  45626. }
  45627. v4 = XFcRuleSetAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, rule, int32(_FcMatchPattern))
  45628. n = v4
  45629. if v4 == -int32(1) {
  45630. XFcRuleDestroy(tls, rule)
  45631. } else {
  45632. if (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects < n {
  45633. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects = n
  45634. }
  45635. }
  45636. }
  45637. func _FcParseDescription(tls *libc.TLS, parse uintptr) {
  45638. var desc, domain uintptr
  45639. _, _ = desc, domain
  45640. domain = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7915)
  45641. desc = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  45642. if !(desc != 0) {
  45643. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  45644. return
  45645. }
  45646. XFcRuleSetAddDescription(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, domain, desc)
  45647. XIA__FcStrFree(tls, desc)
  45648. }
  45649. func _FcParseRemapDir(tls *libc.TLS, parse uintptr) {
  45650. bp := tls.Alloc(32)
  45651. defer tls.Free(32)
  45652. var attr, data, l, path, prefix, prefix_dirs, salt, v1 uintptr
  45653. _, _, _, _, _, _, _, _ = attr, data, l, path, prefix, prefix_dirs, salt, v1
  45654. prefix_dirs = libc.UintptrFromInt32(0)
  45655. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  45656. if !(data != 0) {
  45657. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  45658. return
  45659. }
  45660. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(data))) == 0 {
  45661. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7922, 0)
  45662. return
  45663. }
  45664. path = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7966)
  45665. if !(path != 0) {
  45666. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7974, 0)
  45667. return
  45668. }
  45669. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8003)
  45670. salt = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8010)
  45671. prefix_dirs = __get_real_paths_from_prefix(tls, parse, data, attr)
  45672. if prefix_dirs != 0 {
  45673. l = XIA__FcStrListCreate(tls, prefix_dirs)
  45674. XIA__FcStrSetDestroy(tls, prefix_dirs)
  45675. for {
  45676. v1 = XIA__FcStrListNext(tls, l)
  45677. prefix = v1
  45678. if !(v1 != 0) {
  45679. break
  45680. }
  45681. if !(prefix != 0) || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(prefix))) == 0 {
  45682. /* nop */
  45683. } else {
  45684. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, prefix) != 0) || XIA__FcConfigHome(tls) != 0) {
  45685. if !(XFcConfigAddFontDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, prefix, path, salt) != 0) {
  45686. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8015, libc.VaList(bp+8, prefix, path))
  45687. }
  45688. }
  45689. }
  45690. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  45691. }
  45692. XIA__FcStrListDone(tls, l)
  45693. }
  45694. }
  45695. func _FcParseResetDirs(tls *libc.TLS, parse uintptr) {
  45696. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) {
  45697. if !(XFcConfigResetFontDirs(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig) != 0) {
  45698. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8068, 0)
  45699. }
  45700. }
  45701. }
  45702. func _FcPopExpr(tls *libc.TLS, parse uintptr) (r uintptr) {
  45703. var expr, vstack uintptr
  45704. _, _ = expr, vstack
  45705. vstack = _FcVStackPeek(tls, parse)
  45706. expr = uintptr(0)
  45707. if !(vstack != 0) {
  45708. return uintptr(0)
  45709. }
  45710. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  45711. case int32(_FcVStackNone):
  45712. case int32(_FcVStackString):
  45713. fallthrough
  45714. case int32(_FcVStackFamily):
  45715. expr = _FcExprCreateString(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  45716. case int32(_FcVStackName):
  45717. expr = _FcExprCreateName(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*TFcExprName)(unsafe.Pointer(vstack + 24)))
  45718. case int32(_FcVStackConstant):
  45719. expr = _FcExprCreateConst(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  45720. case int32(_FcVStackGlob):
  45721. /* XXX: What's the correct action here? (CDW) */
  45722. case int32(_FcVStackPrefer):
  45723. fallthrough
  45724. case int32(_FcVStackAccept):
  45725. fallthrough
  45726. case int32(_FcVStackDefault):
  45727. expr = *(*uintptr)(unsafe.Pointer(vstack + 24))
  45728. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45729. case int32(_FcVStackInteger):
  45730. expr = _FcExprCreateInteger(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45731. case int32(_FcVStackDouble):
  45732. expr = _FcExprCreateDouble(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*float64)(unsafe.Pointer(vstack + 24)))
  45733. case int32(_FcVStackMatrix):
  45734. expr = _FcExprCreateMatrix(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  45735. case int32(_FcVStackRange):
  45736. expr = _FcExprCreateRange(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  45737. case int32(_FcVStackBool):
  45738. expr = _FcExprCreateBool(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  45739. case int32(_FcVStackCharSet):
  45740. expr = _FcExprCreateCharSet(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  45741. case int32(_FcVStackLangSet):
  45742. expr = _FcExprCreateLangSet(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  45743. case int32(_FcVStackTest):
  45744. case int32(_FcVStackExpr):
  45745. expr = *(*uintptr)(unsafe.Pointer(vstack + 24))
  45746. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  45747. case int32(_FcVStackEdit):
  45748. default:
  45749. break
  45750. }
  45751. _FcVStackPopAndDestroy(tls, parse)
  45752. return expr
  45753. }
  45754. // C documentation
  45755. //
  45756. // /*
  45757. // * This builds a tree of binary operations. Note
  45758. // * that every operator is defined so that if only
  45759. // * a single operand is contained, the value of the
  45760. // * whole expression is the value of the operand.
  45761. // *
  45762. // * This code reduces in that case to returning that
  45763. // * operand.
  45764. // */
  45765. func _FcPopBinary(tls *libc.TLS, parse uintptr, op TFcOp) (r uintptr) {
  45766. var expr, left, new1, v1 uintptr
  45767. _, _, _, _ = expr, left, new1, v1
  45768. expr = uintptr(0)
  45769. for {
  45770. v1 = _FcPopExpr(tls, parse)
  45771. left = v1
  45772. if !(v1 != 0) {
  45773. break
  45774. }
  45775. if expr != 0 {
  45776. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, left, op, expr)
  45777. if !(new1 != 0) {
  45778. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  45779. _FcExprDestroy(tls, left)
  45780. _FcExprDestroy(tls, expr)
  45781. return uintptr(0)
  45782. }
  45783. expr = new1
  45784. } else {
  45785. expr = left
  45786. }
  45787. }
  45788. return expr
  45789. }
  45790. func _FcParseBinary(tls *libc.TLS, parse uintptr, op TFcOp) {
  45791. var expr uintptr
  45792. _ = expr
  45793. expr = _FcPopBinary(tls, parse, op)
  45794. if expr != 0 {
  45795. _FcVStackPushExpr(tls, parse, int32(_FcVStackExpr), expr)
  45796. }
  45797. }
  45798. /*
  45799. * This builds a a unary operator, it consumes only
  45800. * a single operand
  45801. */
  45802. func _FcPopUnary(tls *libc.TLS, parse uintptr, op TFcOp) (r uintptr) {
  45803. var new1, operand, v1 uintptr
  45804. _, _, _ = new1, operand, v1
  45805. new1 = uintptr(0)
  45806. v1 = _FcPopExpr(tls, parse)
  45807. operand = v1
  45808. if v1 != 0 {
  45809. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, operand, op, uintptr(0))
  45810. if !(new1 != 0) {
  45811. _FcExprDestroy(tls, operand)
  45812. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  45813. }
  45814. }
  45815. return new1
  45816. }
  45817. func _FcParseUnary(tls *libc.TLS, parse uintptr, op TFcOp) {
  45818. var expr uintptr
  45819. _ = expr
  45820. expr = _FcPopUnary(tls, parse, op)
  45821. if expr != 0 {
  45822. _FcVStackPushExpr(tls, parse, int32(_FcVStackExpr), expr)
  45823. }
  45824. }
  45825. func _FcParseDir(tls *libc.TLS, parse uintptr) {
  45826. bp := tls.Alloc(16)
  45827. defer tls.Free(16)
  45828. var attr, data, l, prefix, prefix_dirs, salt, v1 uintptr
  45829. _, _, _, _, _, _, _ = attr, data, l, prefix, prefix_dirs, salt, v1
  45830. prefix_dirs = libc.UintptrFromInt32(0)
  45831. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  45832. if !(data != 0) {
  45833. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  45834. return
  45835. }
  45836. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(data))) == 0 {
  45837. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8095, 0)
  45838. return
  45839. }
  45840. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8003)
  45841. salt = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8010)
  45842. prefix_dirs = __get_real_paths_from_prefix(tls, parse, data, attr)
  45843. if prefix_dirs != 0 {
  45844. l = XIA__FcStrListCreate(tls, prefix_dirs)
  45845. XIA__FcStrSetDestroy(tls, prefix_dirs)
  45846. for {
  45847. v1 = XIA__FcStrListNext(tls, l)
  45848. prefix = v1
  45849. if !(v1 != 0) {
  45850. break
  45851. }
  45852. if !(prefix != 0) || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(prefix))) == 0 {
  45853. /* nop */
  45854. } else {
  45855. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, prefix) != 0) || XIA__FcConfigHome(tls) != 0) {
  45856. if !(XFcConfigAddFontDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, prefix, libc.UintptrFromInt32(0), salt) != 0) {
  45857. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8129, libc.VaList(bp+8, prefix))
  45858. }
  45859. }
  45860. }
  45861. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  45862. }
  45863. XIA__FcStrListDone(tls, l)
  45864. }
  45865. }
  45866. func _FcParseCacheDir(tls *libc.TLS, parse uintptr) {
  45867. bp := tls.Alloc(16)
  45868. defer tls.Free(16)
  45869. var attr, data, p, prefix uintptr
  45870. var dlen, plen Tsize_t
  45871. _, _, _, _, _, _ = attr, data, dlen, p, plen, prefix
  45872. prefix = libc.UintptrFromInt32(0)
  45873. data = libc.UintptrFromInt32(0)
  45874. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8003)
  45875. if attr != 0 && XIA__FcStrCmp(tls, attr, __ccgo_ts+7230) == 0 {
  45876. prefix = XFcConfigXdgCacheHome(tls)
  45877. /* home directory might be disabled.
  45878. * simply ignore this element.
  45879. */
  45880. if !(prefix != 0) {
  45881. goto bail
  45882. }
  45883. }
  45884. data = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  45885. if !(data != 0) {
  45886. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  45887. data = prefix
  45888. goto bail
  45889. }
  45890. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(data))) == 0 {
  45891. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8168, 0)
  45892. XIA__FcStrFree(tls, data)
  45893. data = prefix
  45894. goto bail
  45895. }
  45896. if prefix != 0 {
  45897. plen = libc.Xstrlen(tls, prefix)
  45898. dlen = libc.Xstrlen(tls, data)
  45899. p = libc.Xrealloc(tls, prefix, plen+uint64(1)+dlen+uint64(1))
  45900. if !(p != 0) {
  45901. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  45902. XIA__FcStrFree(tls, prefix)
  45903. goto bail
  45904. }
  45905. prefix = p
  45906. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen))) = uint8('/')
  45907. libc.Xmemcpy(tls, prefix+uintptr(plen+uint64(1)), data, dlen)
  45908. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint64(1)+dlen))) = uint8(0)
  45909. XIA__FcStrFree(tls, data)
  45910. data = prefix
  45911. }
  45912. if libc.Xstrlen(tls, data) == uint64(0) {
  45913. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8168, 0)
  45914. } else {
  45915. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, data) != 0) || XIA__FcConfigHome(tls) != 0) {
  45916. if !(XFcConfigAddCacheDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, data) != 0) {
  45917. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8203, libc.VaList(bp+8, data))
  45918. }
  45919. }
  45920. }
  45921. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  45922. goto bail
  45923. bail:
  45924. ;
  45925. if data != 0 {
  45926. XIA__FcStrFree(tls, data)
  45927. }
  45928. }
  45929. func XFcConfigPathFini(tls *libc.TLS) {
  45930. var s uintptr
  45931. var v1, v2 int32
  45932. _, _, _ = s, v1, v2
  45933. goto retry_dir
  45934. retry_dir:
  45935. ;
  45936. s = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir))))
  45937. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) == s {
  45938. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) = libc.UintptrFromInt32(0)
  45939. v1 = libc.Int32FromInt32(m_FcTrue)
  45940. } else {
  45941. v1 = m_FcFalse
  45942. }
  45943. if !(v1 != 0) {
  45944. goto retry_dir
  45945. }
  45946. libc.Xfree(tls, s)
  45947. goto retry_conf
  45948. retry_conf:
  45949. ;
  45950. s = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf))))
  45951. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) == s {
  45952. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) = libc.UintptrFromInt32(0)
  45953. v2 = libc.Int32FromInt32(m_FcTrue)
  45954. } else {
  45955. v2 = m_FcFalse
  45956. }
  45957. if !(v2 != 0) {
  45958. goto retry_conf
  45959. }
  45960. libc.Xfree(tls, s)
  45961. }
  45962. func _FcParseInclude(tls *libc.TLS, parse uintptr) {
  45963. bp := tls.Alloc(48)
  45964. defer tls.Free(48)
  45965. var attr, filename, p, parent, parent1, prefix, ruleset, s, u, userconf, userdir uintptr
  45966. var deprecated, ignore_missing TFcBool
  45967. var dlen, plen Tsize_t
  45968. var k TFcMatchKind
  45969. var v3, v6 int32
  45970. var _ /* iter at bp+0 */ TFcPtrListIter
  45971. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = attr, deprecated, dlen, filename, ignore_missing, k, p, parent, parent1, plen, prefix, ruleset, s, u, userconf, userdir, v3, v6
  45972. ignore_missing = m_FcFalse
  45973. deprecated = m_FcFalse
  45974. prefix = libc.UintptrFromInt32(0)
  45975. userdir = libc.UintptrFromInt32(0)
  45976. userconf = libc.UintptrFromInt32(0)
  45977. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  45978. if !(s != 0) {
  45979. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  45980. goto bail
  45981. }
  45982. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8248)
  45983. if attr != 0 && _FcConfigLexBool(tls, parse, attr) == int32(m_FcTrue) {
  45984. ignore_missing = int32(m_FcTrue)
  45985. }
  45986. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8263)
  45987. if attr != 0 && _FcConfigLexBool(tls, parse, attr) == int32(m_FcTrue) {
  45988. deprecated = int32(m_FcTrue)
  45989. }
  45990. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8003)
  45991. if attr != 0 && XIA__FcStrCmp(tls, attr, __ccgo_ts+7230) == 0 {
  45992. prefix = XFcConfigXdgConfigHome(tls)
  45993. /* home directory might be disabled.
  45994. * simply ignore this element.
  45995. */
  45996. if !(prefix != 0) {
  45997. goto bail
  45998. }
  45999. }
  46000. if prefix != 0 {
  46001. plen = libc.Xstrlen(tls, prefix)
  46002. dlen = libc.Xstrlen(tls, s)
  46003. p = libc.Xrealloc(tls, prefix, plen+uint64(1)+dlen+uint64(1))
  46004. if !(p != 0) {
  46005. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  46006. goto bail
  46007. }
  46008. prefix = p
  46009. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen))) = uint8('/')
  46010. libc.Xmemcpy(tls, prefix+uintptr(plen+uint64(1)), s, dlen)
  46011. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint64(1)+dlen))) = uint8(0)
  46012. s = prefix
  46013. if !(XIA__FcFileIsDir(tls, s) != 0) {
  46014. goto _1
  46015. }
  46016. goto userdir
  46017. userdir:
  46018. ;
  46019. userdir = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir))))
  46020. if !(userdir != 0) {
  46021. u = libc.Xstrdup(tls, s)
  46022. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) == userdir {
  46023. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) = u
  46024. v3 = libc.Int32FromInt32(m_FcTrue)
  46025. } else {
  46026. v3 = m_FcFalse
  46027. }
  46028. if !(v3 != 0) {
  46029. libc.Xfree(tls, u)
  46030. goto userdir
  46031. }
  46032. userdir = u
  46033. }
  46034. goto _2
  46035. _1:
  46036. ;
  46037. if !(XFcFileIsFile(tls, s) != 0) {
  46038. goto _4
  46039. }
  46040. goto userconf
  46041. userconf:
  46042. ;
  46043. userconf = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf))))
  46044. if !(userconf != 0) {
  46045. u = libc.Xstrdup(tls, s)
  46046. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) == userconf {
  46047. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) = u
  46048. v6 = libc.Int32FromInt32(m_FcTrue)
  46049. } else {
  46050. v6 = m_FcFalse
  46051. }
  46052. if !(v6 != 0) {
  46053. libc.Xfree(tls, u)
  46054. goto userconf
  46055. }
  46056. userconf = u
  46057. }
  46058. goto _5
  46059. _4:
  46060. ;
  46061. /* No config dir nor file on the XDG directory spec compliant place
  46062. * so need to guess what it is supposed to be.
  46063. */
  46064. if XIA__FcStrStr(tls, s, __ccgo_ts+8274) != libc.UintptrFromInt32(0) {
  46065. goto userdir
  46066. } else {
  46067. goto userconf
  46068. }
  46069. _5:
  46070. ;
  46071. _2:
  46072. }
  46073. /* flush the ruleset into the queue */
  46074. ruleset = (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset
  46075. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = XFcRuleSetCreate(tls, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fname)
  46076. XFcRuleSetEnable(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fenabled)
  46077. XFcRuleSetAddDescription(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fdomain, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fdescription)
  46078. k = int32(_FcMatchKindBegin)
  46079. for {
  46080. if !(k < int32(_FcMatchKindEnd)) {
  46081. break
  46082. }
  46083. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer(ruleset + 40 + uintptr(k)*8)), bp)
  46084. if XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer(ruleset + 40 + uintptr(k)*8)), bp) != 0 {
  46085. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig + 40 + uintptr(k)*8)), bp)
  46086. XFcRuleSetReference(tls, ruleset)
  46087. XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig + 40 + uintptr(k)*8)), bp, ruleset)
  46088. }
  46089. goto _7
  46090. _7:
  46091. ;
  46092. k++
  46093. }
  46094. XFcRuleSetDestroy(tls, ruleset)
  46095. if !(__FcConfigParse(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s, libc.BoolInt32(!(ignore_missing != 0)), libc.BoolInt32(!((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0))) != 0) {
  46096. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = int32(m_FcTrue)
  46097. } else {
  46098. filename = XIA__FcConfigGetFilename(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s)
  46099. if deprecated == int32(m_FcTrue) && filename != libc.UintptrFromInt32(0) && userdir != libc.UintptrFromInt32(0) && !(XFcFileIsLink(tls, filename) != 0) {
  46100. if XIA__FcFileIsDir(tls, filename) != 0 {
  46101. parent = XIA__FcStrDirname(tls, userdir)
  46102. if !(XIA__FcFileIsDir(tls, parent) != 0) {
  46103. XFcMakeDirectory(tls, parent)
  46104. }
  46105. XIA__FcStrFree(tls, parent)
  46106. if XIA__FcFileIsDir(tls, userdir) != 0 || libc.Xrename(tls, filename, userdir) != 0 || libc.Xsymlink(tls, userdir, filename) != 0 {
  46107. if !(_warn_confd != 0) {
  46108. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8281, libc.VaList(bp+32, s, userdir))
  46109. _warn_confd = int32(m_FcTrue)
  46110. }
  46111. }
  46112. } else {
  46113. parent1 = XIA__FcStrDirname(tls, userconf)
  46114. if !(XIA__FcFileIsDir(tls, parent1) != 0) {
  46115. XFcMakeDirectory(tls, parent1)
  46116. }
  46117. XIA__FcStrFree(tls, parent1)
  46118. if XFcFileIsFile(tls, userconf) != 0 || libc.Xrename(tls, filename, userconf) != 0 || libc.Xsymlink(tls, userconf, filename) != 0 {
  46119. if !(_warn_conf != 0) {
  46120. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8281, libc.VaList(bp+32, s, userconf))
  46121. _warn_conf = int32(m_FcTrue)
  46122. }
  46123. }
  46124. }
  46125. }
  46126. if filename != 0 {
  46127. XIA__FcStrFree(tls, filename)
  46128. }
  46129. }
  46130. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  46131. goto bail
  46132. bail:
  46133. ;
  46134. if prefix != 0 {
  46135. XIA__FcStrFree(tls, prefix)
  46136. }
  46137. }
  46138. var _warn_conf TFcBool
  46139. var _warn_confd TFcBool
  46140. type TFcOpMap = struct {
  46141. Fname [16]uint8
  46142. Fop TFcOp
  46143. }
  46144. type T_FcOpMap = TFcOpMap
  46145. func _FcConfigLexOp(tls *libc.TLS, op uintptr, map1 uintptr, nmap int32) (r TFcOp) {
  46146. var i int32
  46147. _ = i
  46148. i = 0
  46149. for {
  46150. if !(i < nmap) {
  46151. break
  46152. }
  46153. if !(libc.Xstrcmp(tls, op, map1+uintptr(i)*20) != 0) {
  46154. return (*(*TFcOpMap)(unsafe.Pointer(map1 + uintptr(i)*20))).Fop
  46155. }
  46156. goto _1
  46157. _1:
  46158. ;
  46159. i++
  46160. }
  46161. return int32(_FcOpInvalid)
  46162. }
  46163. var _fcCompareOps = [8]TFcOpMap{
  46164. 0: {
  46165. Fname: [16]uint8{'e', 'q'},
  46166. Fop: int32(_FcOpEqual),
  46167. },
  46168. 1: {
  46169. Fname: [16]uint8{'n', 'o', 't', '_', 'e', 'q'},
  46170. Fop: int32(_FcOpNotEqual),
  46171. },
  46172. 2: {
  46173. Fname: [16]uint8{'l', 'e', 's', 's'},
  46174. Fop: int32(_FcOpLess),
  46175. },
  46176. 3: {
  46177. Fname: [16]uint8{'l', 'e', 's', 's', '_', 'e', 'q'},
  46178. Fop: int32(_FcOpLessEqual),
  46179. },
  46180. 4: {
  46181. Fname: [16]uint8{'m', 'o', 'r', 'e'},
  46182. Fop: int32(_FcOpMore),
  46183. },
  46184. 5: {
  46185. Fname: [16]uint8{'m', 'o', 'r', 'e', '_', 'e', 'q'},
  46186. Fop: int32(_FcOpMoreEqual),
  46187. },
  46188. 6: {
  46189. Fname: [16]uint8{'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  46190. Fop: int32(_FcOpContains),
  46191. },
  46192. 7: {
  46193. Fname: [16]uint8{'n', 'o', 't', '_', 'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  46194. Fop: int32(_FcOpNotContains),
  46195. },
  46196. }
  46197. func _FcConfigLexCompare(tls *libc.TLS, compare uintptr) (r TFcOp) {
  46198. return _FcConfigLexOp(tls, compare, uintptr(unsafe.Pointer(&_fcCompareOps)), libc.Int32FromUint64(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(20)))
  46199. }
  46200. func _FcParseTest(tls *libc.TLS, parse uintptr) {
  46201. bp := tls.Alloc(32)
  46202. defer tls.Free(32)
  46203. var compare TFcOp
  46204. var compare_string, expr, iblanks_string, kind_string, name, qual_string, test uintptr
  46205. var flags int32
  46206. var kind TFcMatchKind
  46207. var qual TFcQual
  46208. var _ /* f at bp+0 */ TFcBool
  46209. _, _, _, _, _, _, _, _, _, _, _ = compare, compare_string, expr, flags, iblanks_string, kind, kind_string, name, qual, qual_string, test
  46210. flags = 0
  46211. kind_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7441)
  46212. if !(kind_string != 0) {
  46213. kind = -libc.Int32FromInt32(1)
  46214. } else {
  46215. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7448) != 0) {
  46216. kind = int32(_FcMatchPattern)
  46217. } else {
  46218. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7456) != 0) {
  46219. kind = int32(_FcMatchFont)
  46220. } else {
  46221. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+8357) != 0) {
  46222. kind = int32(_FcMatchScan)
  46223. } else {
  46224. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7234) != 0) {
  46225. kind = -libc.Int32FromInt32(1)
  46226. } else {
  46227. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8362, libc.VaList(bp+16, kind_string))
  46228. return
  46229. }
  46230. }
  46231. }
  46232. }
  46233. }
  46234. qual_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8387)
  46235. if !(qual_string != 0) {
  46236. qual = int32(_FcQualAny)
  46237. } else {
  46238. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8392) != 0) {
  46239. qual = int32(_FcQualAny)
  46240. } else {
  46241. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8396) != 0) {
  46242. qual = int32(_FcQualAll)
  46243. } else {
  46244. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8400) != 0) {
  46245. qual = int32(_FcQualFirst)
  46246. } else {
  46247. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8406) != 0) {
  46248. qual = int32(_FcQualNotFirst)
  46249. } else {
  46250. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8416, libc.VaList(bp+16, qual_string))
  46251. return
  46252. }
  46253. }
  46254. }
  46255. }
  46256. }
  46257. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8439)
  46258. if !(name != 0) {
  46259. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8444, 0)
  46260. return
  46261. }
  46262. compare_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8462)
  46263. if !(compare_string != 0) {
  46264. compare = int32(_FcOpEqual)
  46265. } else {
  46266. compare = _FcConfigLexCompare(tls, compare_string)
  46267. if compare == int32(_FcOpInvalid) {
  46268. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8470, libc.VaList(bp+16, compare_string))
  46269. return
  46270. }
  46271. }
  46272. iblanks_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8496)
  46273. if iblanks_string != 0 {
  46274. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  46275. if !(XFcNameBool(tls, iblanks_string, bp) != 0) {
  46276. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8510, libc.VaList(bp+16, iblanks_string))
  46277. }
  46278. if *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  46279. flags |= int32(_FcOpFlagIgnoreBlanks)
  46280. }
  46281. }
  46282. expr = _FcPopBinary(tls, parse, int32(_FcOpComma))
  46283. if !(expr != 0) {
  46284. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8542, 0)
  46285. return
  46286. }
  46287. if (*TFcExpr)(unsafe.Pointer(expr)).Fop == int32(_FcOpComma) {
  46288. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8566, 0)
  46289. }
  46290. test = _FcTestCreate(tls, parse, kind, qual, name, libc.Uint32FromInt32(compare&libc.Int32FromInt32(0xffff)|flags<<libc.Int32FromInt32(16)), expr)
  46291. if !(test != 0) {
  46292. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  46293. return
  46294. }
  46295. _FcVStackPushTest(tls, parse, test)
  46296. }
  46297. var _fcModeOps = [8]TFcOpMap{
  46298. 0: {
  46299. Fname: [16]uint8{'a', 's', 's', 'i', 'g', 'n'},
  46300. Fop: int32(_FcOpAssign),
  46301. },
  46302. 1: {
  46303. Fname: [16]uint8{'a', 's', 's', 'i', 'g', 'n', '_', 'r', 'e', 'p', 'l', 'a', 'c', 'e'},
  46304. Fop: int32(_FcOpAssignReplace),
  46305. },
  46306. 2: {
  46307. Fname: [16]uint8{'p', 'r', 'e', 'p', 'e', 'n', 'd'},
  46308. Fop: int32(_FcOpPrepend),
  46309. },
  46310. 3: {
  46311. Fname: [16]uint8{'p', 'r', 'e', 'p', 'e', 'n', 'd', '_', 'f', 'i', 'r', 's', 't'},
  46312. Fop: int32(_FcOpPrependFirst),
  46313. },
  46314. 4: {
  46315. Fname: [16]uint8{'a', 'p', 'p', 'e', 'n', 'd'},
  46316. Fop: int32(_FcOpAppend),
  46317. },
  46318. 5: {
  46319. Fname: [16]uint8{'a', 'p', 'p', 'e', 'n', 'd', '_', 'l', 'a', 's', 't'},
  46320. Fop: int32(_FcOpAppendLast),
  46321. },
  46322. 6: {
  46323. Fname: [16]uint8{'d', 'e', 'l', 'e', 't', 'e'},
  46324. Fop: int32(_FcOpDelete),
  46325. },
  46326. 7: {
  46327. Fname: [16]uint8{'d', 'e', 'l', 'e', 't', 'e', '_', 'a', 'l', 'l'},
  46328. Fop: int32(_FcOpDeleteAll),
  46329. },
  46330. }
  46331. func _FcConfigLexMode(tls *libc.TLS, mode uintptr) (r TFcOp) {
  46332. return _FcConfigLexOp(tls, mode, uintptr(unsafe.Pointer(&_fcModeOps)), libc.Int32FromUint64(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(20)))
  46333. }
  46334. func _FcParseEdit(tls *libc.TLS, parse uintptr) {
  46335. bp := tls.Alloc(32)
  46336. defer tls.Free(32)
  46337. var edit, expr, mode_string, name uintptr
  46338. var mode TFcOp
  46339. var _ /* binding at bp+0 */ TFcValueBinding
  46340. _, _, _, _, _ = edit, expr, mode, mode_string, name
  46341. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8439)
  46342. if !(name != 0) {
  46343. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8644, 0)
  46344. return
  46345. }
  46346. mode_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8662)
  46347. if !(mode_string != 0) {
  46348. mode = int32(_FcOpAssign)
  46349. } else {
  46350. mode = _FcConfigLexMode(tls, mode_string)
  46351. if mode == int32(_FcOpInvalid) {
  46352. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8667, libc.VaList(bp+16, mode_string))
  46353. return
  46354. }
  46355. }
  46356. if !(_FcConfigLexBinding(tls, parse, _FcConfigGetAttribute(tls, parse, __ccgo_ts+7792), bp) != 0) {
  46357. return
  46358. }
  46359. expr = _FcPopBinary(tls, parse, int32(_FcOpComma))
  46360. if (mode == int32(_FcOpDelete) || mode == int32(_FcOpDeleteAll)) && expr != libc.UintptrFromInt32(0) {
  46361. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8690, 0)
  46362. _FcExprDestroy(tls, expr)
  46363. expr = libc.UintptrFromInt32(0)
  46364. }
  46365. edit = _FcEditCreate(tls, parse, XFcObjectFromName(tls, name), mode, expr, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  46366. if !(edit != 0) {
  46367. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  46368. _FcExprDestroy(tls, expr)
  46369. return
  46370. }
  46371. if !(_FcVStackPushEdit(tls, parse, edit) != 0) {
  46372. XFcEditDestroy(tls, edit)
  46373. }
  46374. }
  46375. func _FcParseMatch(tls *libc.TLS, parse uintptr) {
  46376. bp := tls.Alloc(16)
  46377. defer tls.Free(16)
  46378. var kind TFcMatchKind
  46379. var kind_name, r, rule, vstack, v1 uintptr
  46380. var n, v2 int32
  46381. _, _, _, _, _, _, _, _ = kind, kind_name, n, r, rule, vstack, v1, v2
  46382. rule = libc.UintptrFromInt32(0)
  46383. kind_name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7441)
  46384. if !(kind_name != 0) {
  46385. kind = int32(_FcMatchPattern)
  46386. } else {
  46387. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+7448) != 0) {
  46388. kind = int32(_FcMatchPattern)
  46389. } else {
  46390. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+7456) != 0) {
  46391. kind = int32(_FcMatchFont)
  46392. } else {
  46393. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+8357) != 0) {
  46394. kind = int32(_FcMatchScan)
  46395. } else {
  46396. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8752, libc.VaList(bp+8, kind_name))
  46397. return
  46398. }
  46399. }
  46400. }
  46401. }
  46402. for {
  46403. v1 = _FcVStackPeek(tls, parse)
  46404. vstack = v1
  46405. if !(v1 != 0) {
  46406. break
  46407. }
  46408. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  46409. case int32(_FcVStackTest):
  46410. r = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  46411. if rule != 0 {
  46412. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  46413. }
  46414. rule = r
  46415. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  46416. case int32(_FcVStackEdit):
  46417. if kind == int32(_FcMatchScan) && (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fobject > int32(_FC_ONE_AFTER_MAX_BASE_OBJECT)-libc.Int32FromInt32(1) {
  46418. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8778, libc.VaList(bp+8, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fobject)))
  46419. if rule != 0 {
  46420. XFcRuleDestroy(tls, rule)
  46421. }
  46422. return
  46423. }
  46424. r = _FcRuleCreate(tls, int32(_FcRuleEdit), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  46425. if rule != 0 {
  46426. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  46427. }
  46428. rule = r
  46429. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  46430. default:
  46431. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8837, 0)
  46432. break
  46433. }
  46434. _FcVStackPopAndDestroy(tls, parse)
  46435. }
  46436. if !(rule != 0) {
  46437. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8859, 0)
  46438. return
  46439. }
  46440. v2 = XFcRuleSetAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, rule, kind)
  46441. n = v2
  46442. if v2 == -int32(1) {
  46443. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  46444. XFcRuleDestroy(tls, rule)
  46445. } else {
  46446. if (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects < n {
  46447. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects = n
  46448. }
  46449. }
  46450. }
  46451. func _FcParseAcceptRejectFont(tls *libc.TLS, parse uintptr, element TFcElement) {
  46452. var vstack, v1 uintptr
  46453. _, _ = vstack, v1
  46454. for {
  46455. v1 = _FcVStackPeek(tls, parse)
  46456. vstack = v1
  46457. if !(v1 != 0) {
  46458. break
  46459. }
  46460. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  46461. case int32(_FcVStackGlob):
  46462. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && !(XFcConfigGlobAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)), libc.BoolInt32(element == int32(_FcElementAcceptfont))) != 0) {
  46463. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  46464. } else {
  46465. if (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0 && *(*uintptr)(unsafe.Pointer(vstack + 24)) != 0 {
  46466. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  46467. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  46468. }
  46469. }
  46470. case int32(_FcVStackPattern):
  46471. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && !(XFcConfigPatternsAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)), libc.BoolInt32(element == int32(_FcElementAcceptfont))) != 0) {
  46472. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  46473. } else {
  46474. if (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0 && *(*uintptr)(unsafe.Pointer(vstack + 24)) != 0 {
  46475. XIA__FcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  46476. }
  46477. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  46478. }
  46479. default:
  46480. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8900, 0)
  46481. break
  46482. }
  46483. _FcVStackPopAndDestroy(tls, parse)
  46484. }
  46485. }
  46486. func _FcPopValue(tls *libc.TLS, parse uintptr) (r TFcValue) {
  46487. bp := tls.Alloc(32)
  46488. defer tls.Free(32)
  46489. var vstack uintptr
  46490. var _ /* value at bp+0 */ TFcValue
  46491. _ = vstack
  46492. vstack = _FcVStackPeek(tls, parse)
  46493. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  46494. if !(vstack != 0) {
  46495. return *(*TFcValue)(unsafe.Pointer(bp))
  46496. }
  46497. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  46498. case int32(_FcVStackString):
  46499. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  46500. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  46501. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  46502. }
  46503. case int32(_FcVStackConstant):
  46504. if XIA__FcNameConstant(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)), bp+8) != 0 {
  46505. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  46506. }
  46507. case int32(_FcVStackInteger):
  46508. *(*int32)(unsafe.Pointer(bp + 8)) = *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  46509. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  46510. case int32(_FcVStackDouble):
  46511. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(vstack + 24))
  46512. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  46513. case int32(_FcVStackBool):
  46514. *(*TFcBool)(unsafe.Pointer(bp + 8)) = *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  46515. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  46516. case int32(_FcVStackCharSet):
  46517. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  46518. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  46519. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  46520. }
  46521. case int32(_FcVStackLangSet):
  46522. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  46523. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  46524. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  46525. }
  46526. case int32(_FcVStackRange):
  46527. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcRangeCopy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  46528. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  46529. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  46530. }
  46531. default:
  46532. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8918, libc.VaList(bp+24, (*TFcVStack)(unsafe.Pointer(vstack)).Ftag))
  46533. break
  46534. }
  46535. _FcVStackPopAndDestroy(tls, parse)
  46536. return *(*TFcValue)(unsafe.Pointer(bp))
  46537. }
  46538. func _FcParsePatelt(tls *libc.TLS, parse uintptr) {
  46539. var name, pattern uintptr
  46540. var value TFcValue
  46541. _, _, _ = name, pattern, value
  46542. pattern = XIA__FcPatternCreate(tls)
  46543. if !(pattern != 0) {
  46544. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  46545. return
  46546. }
  46547. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8439)
  46548. if !(name != 0) {
  46549. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8945, 0)
  46550. XIA__FcPatternDestroy(tls, pattern)
  46551. return
  46552. }
  46553. for {
  46554. value = _FcPopValue(tls, parse)
  46555. if value.Ftype1 == int32(_FcTypeVoid) {
  46556. break
  46557. }
  46558. if !(XIA__FcPatternAdd(tls, pattern, name, value, int32(m_FcTrue)) != 0) {
  46559. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  46560. XIA__FcValueDestroy(tls, value)
  46561. break
  46562. }
  46563. XIA__FcValueDestroy(tls, value)
  46564. goto _1
  46565. _1:
  46566. }
  46567. _FcVStackPushPattern(tls, parse, pattern)
  46568. }
  46569. func _FcParsePattern(tls *libc.TLS, parse uintptr) {
  46570. var pattern, vstack, v1 uintptr
  46571. _, _, _ = pattern, vstack, v1
  46572. pattern = XIA__FcPatternCreate(tls)
  46573. if !(pattern != 0) {
  46574. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  46575. return
  46576. }
  46577. for {
  46578. v1 = _FcVStackPeek(tls, parse)
  46579. vstack = v1
  46580. if !(v1 != 0) {
  46581. break
  46582. }
  46583. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  46584. case int32(_FcVStackPattern):
  46585. if !(XFcPatternAppend(tls, pattern, *(*uintptr)(unsafe.Pointer(vstack + 24))) != 0) {
  46586. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  46587. XIA__FcPatternDestroy(tls, pattern)
  46588. return
  46589. }
  46590. default:
  46591. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8974, 0)
  46592. break
  46593. }
  46594. _FcVStackPopAndDestroy(tls, parse)
  46595. }
  46596. _FcVStackPushPattern(tls, parse, pattern)
  46597. }
  46598. func _FcEndElement(tls *libc.TLS, userData uintptr, name uintptr) {
  46599. var data, parse uintptr
  46600. _, _ = data, parse
  46601. parse = userData
  46602. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  46603. return
  46604. }
  46605. switch (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement {
  46606. case int32(_FcElementNone):
  46607. case int32(_FcElementFontconfig):
  46608. case int32(_FcElementDir):
  46609. _FcParseDir(tls, parse)
  46610. case int32(_FcElementCacheDir):
  46611. _FcParseCacheDir(tls, parse)
  46612. case int32(_FcElementCache):
  46613. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  46614. if !(data != 0) {
  46615. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  46616. break
  46617. }
  46618. /* discard this data; no longer used */
  46619. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  46620. case int32(_FcElementInclude):
  46621. _FcParseInclude(tls, parse)
  46622. case int32(_FcElementConfig):
  46623. case int32(_FcElementMatch):
  46624. _FcParseMatch(tls, parse)
  46625. case int32(_FcElementAlias):
  46626. _FcParseAlias(tls, parse)
  46627. case int32(_FcElementDescription):
  46628. _FcParseDescription(tls, parse)
  46629. case int32(_FcElementRemapDir):
  46630. _FcParseRemapDir(tls, parse)
  46631. case int32(_FcElementResetDirs):
  46632. _FcParseResetDirs(tls, parse)
  46633. case int32(_FcElementRescan):
  46634. _FcParseRescan(tls, parse)
  46635. case int32(_FcElementPrefer):
  46636. _FcParseFamilies(tls, parse, int32(_FcVStackPrefer))
  46637. case int32(_FcElementAccept):
  46638. _FcParseFamilies(tls, parse, int32(_FcVStackAccept))
  46639. case int32(_FcElementDefault):
  46640. _FcParseFamilies(tls, parse, int32(_FcVStackDefault))
  46641. case int32(_FcElementFamily):
  46642. _FcParseFamily(tls, parse)
  46643. case int32(_FcElementTest):
  46644. _FcParseTest(tls, parse)
  46645. case int32(_FcElementEdit):
  46646. _FcParseEdit(tls, parse)
  46647. case int32(_FcElementInt):
  46648. _FcParseInt(tls, parse)
  46649. case int32(_FcElementDouble):
  46650. _FcParseDouble(tls, parse)
  46651. case int32(_FcElementString):
  46652. _FcParseString(tls, parse, int32(_FcVStackString))
  46653. case int32(_FcElementMatrix):
  46654. _FcParseMatrix(tls, parse)
  46655. case int32(_FcElementRange):
  46656. _FcParseRange(tls, parse)
  46657. case int32(_FcElementBool):
  46658. _FcParseBool(tls, parse)
  46659. case int32(_FcElementCharSet):
  46660. _FcParseCharSet(tls, parse)
  46661. case int32(_FcElementLangSet):
  46662. _FcParseLangSet(tls, parse)
  46663. case int32(_FcElementSelectfont):
  46664. case int32(_FcElementAcceptfont):
  46665. fallthrough
  46666. case int32(_FcElementRejectfont):
  46667. _FcParseAcceptRejectFont(tls, parse, (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement)
  46668. case int32(_FcElementGlob):
  46669. _FcParseString(tls, parse, int32(_FcVStackGlob))
  46670. case int32(_FcElementPattern):
  46671. _FcParsePattern(tls, parse)
  46672. case int32(_FcElementPatelt):
  46673. _FcParsePatelt(tls, parse)
  46674. case int32(_FcElementName):
  46675. _FcParseName(tls, parse)
  46676. case int32(_FcElementConst):
  46677. _FcParseString(tls, parse, int32(_FcVStackConstant))
  46678. case int32(_FcElementOr):
  46679. _FcParseBinary(tls, parse, int32(_FcOpOr))
  46680. case int32(_FcElementAnd):
  46681. _FcParseBinary(tls, parse, int32(_FcOpAnd))
  46682. case int32(_FcElementEq):
  46683. _FcParseBinary(tls, parse, int32(_FcOpEqual))
  46684. case int32(_FcElementNotEq):
  46685. _FcParseBinary(tls, parse, int32(_FcOpNotEqual))
  46686. case int32(_FcElementLess):
  46687. _FcParseBinary(tls, parse, int32(_FcOpLess))
  46688. case int32(_FcElementLessEq):
  46689. _FcParseBinary(tls, parse, int32(_FcOpLessEqual))
  46690. case int32(_FcElementMore):
  46691. _FcParseBinary(tls, parse, int32(_FcOpMore))
  46692. case int32(_FcElementMoreEq):
  46693. _FcParseBinary(tls, parse, int32(_FcOpMoreEqual))
  46694. case int32(_FcElementContains):
  46695. _FcParseBinary(tls, parse, int32(_FcOpContains))
  46696. case int32(_FcElementNotContains):
  46697. _FcParseBinary(tls, parse, int32(_FcOpNotContains))
  46698. case int32(_FcElementPlus):
  46699. _FcParseBinary(tls, parse, int32(_FcOpPlus))
  46700. case int32(_FcElementMinus):
  46701. _FcParseBinary(tls, parse, int32(_FcOpMinus))
  46702. case int32(_FcElementTimes):
  46703. _FcParseBinary(tls, parse, int32(_FcOpTimes))
  46704. case int32(_FcElementDivide):
  46705. _FcParseBinary(tls, parse, int32(_FcOpDivide))
  46706. case int32(_FcElementNot):
  46707. _FcParseUnary(tls, parse, int32(_FcOpNot))
  46708. case int32(_FcElementIf):
  46709. _FcParseBinary(tls, parse, int32(_FcOpQuest))
  46710. case int32(_FcElementFloor):
  46711. _FcParseUnary(tls, parse, int32(_FcOpFloor))
  46712. case int32(_FcElementCeil):
  46713. _FcParseUnary(tls, parse, int32(_FcOpCeil))
  46714. case int32(_FcElementRound):
  46715. _FcParseUnary(tls, parse, int32(_FcOpRound))
  46716. case int32(_FcElementTrunc):
  46717. _FcParseUnary(tls, parse, int32(_FcOpTrunc))
  46718. case int32(_FcElementUnknown):
  46719. break
  46720. }
  46721. _FcPStackPop(tls, parse)
  46722. }
  46723. func _FcCharacterData(tls *libc.TLS, userData uintptr, s uintptr, len1 int32) {
  46724. var parse uintptr
  46725. _ = parse
  46726. parse = userData
  46727. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  46728. return
  46729. }
  46730. if !(XFcStrBufData(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24, s, len1) != 0) {
  46731. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7173, 0)
  46732. }
  46733. }
  46734. func _FcStartDoctypeDecl(tls *libc.TLS, userData uintptr, doctypeName uintptr, sysid uintptr, pubid uintptr, has_internal_subset int32) {
  46735. bp := tls.Alloc(16)
  46736. defer tls.Free(16)
  46737. var parse uintptr
  46738. _ = parse
  46739. parse = userData
  46740. if libc.Xstrcmp(tls, doctypeName, __ccgo_ts+1824) != 0 {
  46741. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8998, libc.VaList(bp+8, doctypeName))
  46742. }
  46743. }
  46744. func _FcEndDoctypeDecl(tls *libc.TLS, userData uintptr) {
  46745. }
  46746. func _FcSortCmpStr(tls *libc.TLS, a uintptr, b uintptr) (r int32) {
  46747. var as, bs uintptr
  46748. _, _ = as, bs
  46749. as = *(*uintptr)(unsafe.Pointer(a))
  46750. bs = *(*uintptr)(unsafe.Pointer(b))
  46751. return XIA__FcStrCmp(tls, as, bs)
  46752. }
  46753. func _FcConfigParseAndLoadDir(tls *libc.TLS, config uintptr, name uintptr, dir uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  46754. bp := tls.Alloc(16)
  46755. defer tls.Free(16)
  46756. var base, d, e, file, files, v1 uintptr
  46757. var d_len, i int32
  46758. var ret TFcBool
  46759. var v2 bool
  46760. _, _, _, _, _, _, _, _, _, _ = base, d, d_len, e, file, files, i, ret, v1, v2
  46761. ret = int32(m_FcTrue)
  46762. d = libc.Xopendir(tls, dir)
  46763. if !(d != 0) {
  46764. if complain != 0 {
  46765. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9019, libc.VaList(bp+8, name))
  46766. }
  46767. ret = m_FcFalse
  46768. goto bail0
  46769. }
  46770. /* freed below */
  46771. file = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint64(1)+uint64(m_FC_MAX_FILE_LEN)+uint64(1))
  46772. if !(file != 0) {
  46773. ret = m_FcFalse
  46774. goto bail1
  46775. }
  46776. libc.Xstrcpy(tls, file, dir)
  46777. libc.Xstrcat(tls, file, __ccgo_ts+1493)
  46778. base = file + uintptr(libc.Xstrlen(tls, file))
  46779. files = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  46780. if !(files != 0) {
  46781. ret = m_FcFalse
  46782. goto bail2
  46783. }
  46784. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  46785. libc.Xprintf(tls, __ccgo_ts+9047, libc.VaList(bp+8, dir))
  46786. }
  46787. if load != 0 {
  46788. XFcConfigAddConfigDir(tls, config, dir)
  46789. }
  46790. for {
  46791. if v2 = ret != 0; v2 {
  46792. v1 = libc.Xreaddir(tls, d)
  46793. e = v1
  46794. }
  46795. if !(v2 && v1 != 0) {
  46796. break
  46797. }
  46798. /*
  46799. * Add all files of the form [0-9]*.conf
  46800. */
  46801. d_len = libc.Int32FromUint64(libc.Xstrlen(tls, e+19))
  46802. if int32('0') <= libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(e + 19))) && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(e + 19))) <= int32('9') && d_len > int32(m_TAIL_LEN) && libc.Xstrcmp(tls, e+19+uintptr(d_len)-uintptr(m_TAIL_LEN), __ccgo_ts+9072) == 0 {
  46803. libc.Xstrcpy(tls, base, e+19)
  46804. if !(XIA__FcStrSetAdd(tls, files, file) != 0) {
  46805. ret = m_FcFalse
  46806. goto bail3
  46807. }
  46808. }
  46809. }
  46810. if ret != 0 {
  46811. libc.Xqsort(tls, (*TFcStrSet)(unsafe.Pointer(files)).Fstrs, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(files)).Fnum), uint64(8), __ccgo_fp(_FcSortCmpStr))
  46812. i = 0
  46813. for {
  46814. if !(ret != 0 && i < (*TFcStrSet)(unsafe.Pointer(files)).Fnum) {
  46815. break
  46816. }
  46817. ret = __FcConfigParse(tls, config, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(files)).Fstrs + uintptr(i)*8)), complain, load)
  46818. goto _3
  46819. _3:
  46820. ;
  46821. i++
  46822. }
  46823. }
  46824. goto bail3
  46825. bail3:
  46826. ;
  46827. XIA__FcStrSetDestroy(tls, files)
  46828. goto bail2
  46829. bail2:
  46830. ;
  46831. libc.Xfree(tls, file)
  46832. goto bail1
  46833. bail1:
  46834. ;
  46835. libc.Xclosedir(tls, d)
  46836. goto bail0
  46837. bail0:
  46838. ;
  46839. return libc.BoolInt32(ret != 0 || !(complain != 0))
  46840. return r
  46841. }
  46842. func _FcConfigParseAndLoadFromMemoryInternal(tls *libc.TLS, config uintptr, filename uintptr, buffer uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  46843. bp := tls.Alloc(4640)
  46844. defer tls.Free(4640)
  46845. var buf, s, v1, v3, v4 uintptr
  46846. var buflen, len1 Tsize_t
  46847. var error1 TFcBool
  46848. var k TFcMatchKind
  46849. var p TXML_Parser
  46850. var _ /* iter at bp+4584 */ TFcPtrListIter
  46851. var _ /* liter at bp+4560 */ TFcPtrListIter
  46852. var _ /* parse at bp+0 */ TFcConfigParse
  46853. _, _, _, _, _, _, _, _, _, _ = buf, buflen, error1, k, len1, p, s, v1, v3, v4
  46854. error1 = int32(m_FcTrue)
  46855. if !(buffer != 0) {
  46856. return m_FcFalse
  46857. }
  46858. len1 = libc.Xstrlen(tls, buffer)
  46859. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  46860. if load != 0 {
  46861. v1 = __ccgo_ts + 9078
  46862. } else {
  46863. v1 = __ccgo_ts + 9086
  46864. }
  46865. libc.Xprintf(tls, __ccgo_ts+9095, libc.VaList(bp+4616, v1, filename))
  46866. }
  46867. p = libexpat.XXML_ParserCreate(tls, __ccgo_ts+9120)
  46868. if !(p != 0) {
  46869. goto bail1
  46870. }
  46871. if !(_FcConfigParseInit(tls, bp, filename, config, p, load) != 0) {
  46872. goto bail2
  46873. }
  46874. libexpat.XXML_SetUserData(tls, p, bp)
  46875. libexpat.XXML_SetDoctypeDeclHandler(tls, p, __ccgo_fp(_FcStartDoctypeDecl), __ccgo_fp(_FcEndDoctypeDecl))
  46876. libexpat.XXML_SetElementHandler(tls, p, __ccgo_fp(_FcStartElement), __ccgo_fp(_FcEndElement))
  46877. libexpat.XXML_SetCharacterDataHandler(tls, p, __ccgo_fp(_FcCharacterData))
  46878. s = buffer
  46879. for cond := true; cond; cond = buflen != uint64(0) {
  46880. buf = libexpat.XXML_GetBuffer(tls, p, int32(m_BUFSIZ))
  46881. if !(buf != 0) {
  46882. _FcConfigMessage(tls, bp, int32(_FcSevereError), __ccgo_ts+9126, 0)
  46883. goto bail3
  46884. }
  46885. if len1 > uint64(m_BUFSIZ) {
  46886. buflen = uint64(m_BUFSIZ)
  46887. len1 -= uint64(m_BUFSIZ)
  46888. } else {
  46889. buflen = len1
  46890. len1 = uint64(0)
  46891. }
  46892. libc.Xmemcpy(tls, buf, s, buflen)
  46893. s = s + uintptr(buflen)
  46894. if !(libexpat.XXML_ParseBuffer(tls, p, libc.Int32FromUint64(buflen), libc.BoolInt32(buflen == uint64(0))) != 0) {
  46895. _FcConfigMessage(tls, bp, int32(_FcSevereError), __ccgo_ts+2026, libc.VaList(bp+4616, libexpat.XXML_ErrorString(tls, libexpat.XXML_GetErrorCode(tls, p))))
  46896. goto bail3
  46897. }
  46898. }
  46899. error1 = (*(*TFcConfigParse)(unsafe.Pointer(bp))).Ferror1
  46900. if load != 0 {
  46901. k = int32(_FcMatchKindBegin)
  46902. for {
  46903. if !(k < int32(_FcMatchKindEnd)) {
  46904. break
  46905. }
  46906. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset + 40 + uintptr(k)*8)), bp+4584)
  46907. if XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset + 40 + uintptr(k)*8)), bp+4584) != 0 {
  46908. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig + 40 + uintptr(k)*8)), bp+4584)
  46909. XFcRuleSetReference(tls, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  46910. XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig + 40 + uintptr(k)*8)), bp+4584, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  46911. }
  46912. goto _2
  46913. _2:
  46914. ;
  46915. k++
  46916. }
  46917. }
  46918. XFcPtrListIterInitAtLast(tls, (*TFcConfig)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig)).FrulesetList, bp+4560)
  46919. XFcRuleSetReference(tls, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  46920. XFcPtrListIterAdd(tls, (*TFcConfig)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig)).FrulesetList, bp+4560, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  46921. goto bail3
  46922. bail3:
  46923. ;
  46924. _FcConfigCleanup(tls, bp)
  46925. goto bail2
  46926. bail2:
  46927. ;
  46928. libexpat.XXML_ParserFree(tls, p)
  46929. goto bail1
  46930. bail1:
  46931. ;
  46932. if error1 != 0 && complain != 0 {
  46933. if load != 0 {
  46934. v3 = __ccgo_ts + 9150
  46935. } else {
  46936. v3 = __ccgo_ts + 8357
  46937. }
  46938. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9155, libc.VaList(bp+4616, v3, filename))
  46939. return m_FcFalse
  46940. }
  46941. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  46942. if load != 0 {
  46943. v4 = __ccgo_ts + 9078
  46944. } else {
  46945. v4 = __ccgo_ts + 9086
  46946. }
  46947. libc.Xprintf(tls, __ccgo_ts+9185, libc.VaList(bp+4616, v4, filename))
  46948. }
  46949. return int32(m_FcTrue)
  46950. }
  46951. func __FcConfigParse(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  46952. bp := tls.Alloc(2400)
  46953. defer tls.Free(2400)
  46954. var complain_again, ret TFcBool
  46955. var errno_, fd, len1 int32
  46956. var filename, realfilename, v1, v2, v3, v4 uintptr
  46957. var _ /* buf at bp+152 */ [1024]uint8
  46958. var _ /* ebuf at bp+1328 */ [1025]uint8
  46959. var _ /* reason at bp+1176 */ TFcStrBuf
  46960. var _ /* sbuf at bp+0 */ TFcStrBuf
  46961. _, _, _, _, _, _, _, _, _, _, _ = complain_again, errno_, fd, filename, len1, realfilename, ret, v1, v2, v3, v4
  46962. filename = libc.UintptrFromInt32(0)
  46963. realfilename = libc.UintptrFromInt32(0)
  46964. ret = m_FcFalse
  46965. complain_again = complain
  46966. XFcStrBufInit(tls, bp+1176, libc.UintptrFromInt32(0), 0)
  46967. filename = XIA__FcConfigGetFilename(tls, config, name)
  46968. if !(filename != 0) {
  46969. XFcStrBufString(tls, bp+1176, __ccgo_ts+9215)
  46970. if name != 0 {
  46971. v1 = name
  46972. } else {
  46973. v1 = __ccgo_ts + 4402
  46974. }
  46975. XFcStrBufString(tls, bp+1176, v1)
  46976. goto bail0
  46977. }
  46978. realfilename = XFcConfigRealFilename(tls, config, name)
  46979. if !(realfilename != 0) {
  46980. XFcStrBufString(tls, bp+1176, __ccgo_ts+9230)
  46981. if name != 0 {
  46982. v2 = name
  46983. } else {
  46984. v2 = __ccgo_ts + 4402
  46985. }
  46986. XFcStrBufString(tls, bp+1176, v2)
  46987. goto bail0
  46988. }
  46989. if XIA__FcStrSetMember(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles, realfilename) != 0 {
  46990. XIA__FcStrFree(tls, filename)
  46991. XIA__FcStrFree(tls, realfilename)
  46992. return int32(m_FcTrue)
  46993. }
  46994. if load != 0 {
  46995. if !(XIA__FcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles, filename) != 0) {
  46996. goto bail0
  46997. }
  46998. }
  46999. if !(XIA__FcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles, realfilename) != 0) {
  47000. goto bail0
  47001. }
  47002. if XIA__FcFileIsDir(tls, realfilename) != 0 {
  47003. ret = _FcConfigParseAndLoadDir(tls, config, name, realfilename, complain, load)
  47004. XIA__FcStrFree(tls, filename)
  47005. XIA__FcStrFree(tls, realfilename)
  47006. return ret
  47007. }
  47008. XFcStrBufInit(tls, bp, libc.UintptrFromInt32(0), 0)
  47009. fd = XFcOpen(tls, realfilename, m_O_RDONLY2, 0)
  47010. if fd == -int32(1) {
  47011. XFcStrBufString(tls, bp+1176, __ccgo_ts+9249)
  47012. XFcStrBufString(tls, bp+1176, realfilename)
  47013. goto bail1
  47014. }
  47015. for cond := true; cond; cond = len1 != 0 {
  47016. len1 = int32(libc.Xread(tls, fd, bp+152, uint64(m_BUFSIZ)))
  47017. if len1 < 0 {
  47018. errno_ = *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))
  47019. libc.Xstrerror_r(tls, errno_, bp+1328, uint64(m_BUFSIZ))
  47020. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9265, libc.VaList(bp+2368, realfilename, bp+1328, errno_))
  47021. libc.Xclose(tls, fd)
  47022. goto bail1
  47023. }
  47024. XFcStrBufData(tls, bp, bp+152, len1)
  47025. }
  47026. libc.Xclose(tls, fd)
  47027. ret = _FcConfigParseAndLoadFromMemoryInternal(tls, config, filename, XFcStrBufDoneStatic(tls, bp), complain, load)
  47028. complain_again = m_FcFalse /* no need to reclaim here */
  47029. goto bail1
  47030. bail1:
  47031. ;
  47032. XFcStrBufDestroy(tls, bp)
  47033. goto bail0
  47034. bail0:
  47035. ;
  47036. if filename != 0 {
  47037. XIA__FcStrFree(tls, filename)
  47038. }
  47039. if realfilename != 0 {
  47040. XIA__FcStrFree(tls, realfilename)
  47041. }
  47042. if !(complain != 0) {
  47043. return int32(m_FcTrue)
  47044. }
  47045. if !(ret != 0) && complain_again != 0 {
  47046. if name != 0 {
  47047. if load != 0 {
  47048. v3 = __ccgo_ts + 9150
  47049. } else {
  47050. v3 = __ccgo_ts + 8357
  47051. }
  47052. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9311, libc.VaList(bp+2368, v3, name, XFcStrBufDoneStatic(tls, bp+1176)))
  47053. } else {
  47054. if load != 0 {
  47055. v4 = __ccgo_ts + 9150
  47056. } else {
  47057. v4 = __ccgo_ts + 8357
  47058. }
  47059. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9342, libc.VaList(bp+2368, v4, XFcStrBufDoneStatic(tls, bp+1176)))
  47060. }
  47061. XFcStrBufDestroy(tls, bp+1176)
  47062. return m_FcFalse
  47063. }
  47064. XFcStrBufDestroy(tls, bp+1176)
  47065. return ret
  47066. }
  47067. func XFcConfigParseOnly(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool) (r TFcBool) {
  47068. return __FcConfigParse(tls, config, name, complain, m_FcFalse)
  47069. }
  47070. func XIA__FcConfigParseAndLoad(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool) (r TFcBool) {
  47071. return __FcConfigParse(tls, config, name, complain, int32(m_FcTrue))
  47072. }
  47073. var XFcConfigParseAndLoad = XIA__FcConfigParseAndLoad
  47074. func XIA__FcConfigParseAndLoadFromMemory(tls *libc.TLS, config uintptr, buffer uintptr, complain TFcBool) (r TFcBool) {
  47075. return _FcConfigParseAndLoadFromMemoryInternal(tls, config, __ccgo_ts+9376, buffer, complain, int32(m_FcTrue))
  47076. }
  47077. var XFcConfigParseAndLoadFromMemory = XIA__FcConfigParseAndLoadFromMemory
  47078. const m_FC_DIR_SEPARATOR6 = '/'
  47079. // C documentation
  47080. //
  47081. // /* only used internally */
  47082. func _ftglue_qalloc(tls *libc.TLS, memory TFT_Memory, size TFT_ULong, perror uintptr) (r TFT_Pointer) {
  47083. var block TFT_Pointer
  47084. var error1 TFT_Error
  47085. _, _ = block, error1
  47086. error1 = 0
  47087. block = libc.UintptrFromInt32(0)
  47088. if size > uint64(0) {
  47089. block = (*(*func(*libc.TLS, TFT_Memory, int64) uintptr)(unsafe.Pointer(&struct{ uintptr }{(*TFT_MemoryRec_)(unsafe.Pointer(memory)).Falloc})))(tls, memory, libc.Int64FromUint64(size))
  47090. if !(block != 0) {
  47091. error1 = int32(_FT_Err_Out_Of_Memory)
  47092. }
  47093. }
  47094. *(*TFT_Error)(unsafe.Pointer(perror)) = error1
  47095. return block
  47096. }
  47097. func _ftglue_free(tls *libc.TLS, memory TFT_Memory, block TFT_Pointer) {
  47098. if block != 0 {
  47099. (*(*func(*libc.TLS, TFT_Memory, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFT_MemoryRec_)(unsafe.Pointer(memory)).Ffree})))(tls, memory, block)
  47100. }
  47101. }
  47102. func Xftglue_stream_pos(tls *libc.TLS, stream TFT_Stream) (r TFT_Long) {
  47103. return libc.Int64FromUint64((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos)
  47104. }
  47105. func Xftglue_stream_seek(tls *libc.TLS, stream TFT_Stream, pos TFT_Long) (r TFT_Error) {
  47106. var error1 TFT_Error
  47107. _ = error1
  47108. error1 = 0
  47109. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  47110. if (*(*func(*libc.TLS, TFT_Stream, uint64, uintptr, uint64) uint64)(unsafe.Pointer(&struct{ uintptr }{(*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread})))(tls, stream, libc.Uint64FromInt64(pos), uintptr(0), uint64(0)) != 0 {
  47111. error1 = int32(_FT_Err_Invalid_Stream_Operation)
  47112. }
  47113. } else {
  47114. if pos < 0 || libc.Uint64FromInt64(pos) > (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fsize {
  47115. error1 = int32(_FT_Err_Invalid_Stream_Operation)
  47116. }
  47117. }
  47118. if !(error1 != 0) {
  47119. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos = libc.Uint64FromInt64(pos)
  47120. }
  47121. return error1
  47122. }
  47123. func Xftglue_stream_frame_enter(tls *libc.TLS, stream TFT_Stream, count TFT_ULong) (r TFT_Error) {
  47124. bp := tls.Alloc(16)
  47125. defer tls.Free(16)
  47126. var memory TFT_Memory
  47127. var read_bytes TFT_ULong
  47128. var _ /* error at bp+0 */ TFT_Error
  47129. _, _ = memory, read_bytes
  47130. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Ok)
  47131. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  47132. /* allocate the frame in memory */
  47133. memory = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fmemory
  47134. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = _ftglue_qalloc(tls, memory, count, bp)
  47135. if *(*TFT_Error)(unsafe.Pointer(bp)) != libc.Int32FromInt32(0) {
  47136. goto Exit
  47137. }
  47138. /* read it */
  47139. read_bytes = (*(*func(*libc.TLS, TFT_Stream, uint64, uintptr, uint64) uint64)(unsafe.Pointer(&struct{ uintptr }{(*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread})))(tls, stream, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase, count)
  47140. if read_bytes < count {
  47141. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase != 0 {
  47142. _ftglue_free(tls, memory, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase)
  47143. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = libc.UintptrFromInt32(0)
  47144. }
  47145. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Invalid_Stream_Operation)
  47146. }
  47147. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase
  47148. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor + uintptr(count)
  47149. *(*uint64)(unsafe.Pointer(stream + 16)) += read_bytes
  47150. } else {
  47151. /* check current and new position */
  47152. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos >= (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fsize || (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos+count > (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fsize {
  47153. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Invalid_Stream_Operation)
  47154. goto Exit
  47155. }
  47156. /* set cursor */
  47157. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase + uintptr((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos)
  47158. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor + uintptr(count)
  47159. *(*uint64)(unsafe.Pointer(stream + 16)) += count
  47160. }
  47161. goto Exit
  47162. Exit:
  47163. ;
  47164. return *(*TFT_Error)(unsafe.Pointer(bp))
  47165. }
  47166. func Xftglue_stream_frame_exit(tls *libc.TLS, stream TFT_Stream) {
  47167. var memory TFT_Memory
  47168. _ = memory
  47169. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  47170. memory = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fmemory
  47171. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase != 0 {
  47172. _ftglue_free(tls, memory, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase)
  47173. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = libc.UintptrFromInt32(0)
  47174. }
  47175. }
  47176. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = uintptr(0)
  47177. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = uintptr(0)
  47178. }
  47179. func Xftglue_face_goto_table(tls *libc.TLS, face TFT_Face, the_tag TFT_ULong, stream TFT_Stream) (r TFT_Error) {
  47180. var checksum, offset, sig, size, start, tag TFT_ULong
  47181. var count, nn TFT_UInt
  47182. var error1, v1, v10, v11, v2, v4, v5, v7, v8 TFT_Error
  47183. var v12, v3, v6, v9 bool
  47184. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = checksum, count, error1, nn, offset, sig, size, start, tag, v1, v10, v11, v12, v2, v3, v4, v5, v6, v7, v8, v9
  47185. if !!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(3)) != 0) {
  47186. error1 = int32(_FT_Err_Invalid_Face_Handle)
  47187. } else {
  47188. /* parse the directory table directly, without using
  47189. * FreeType's built-in data structures
  47190. */
  47191. offset = uint64(0)
  47192. v1 = Xftglue_stream_seek(tls, stream, 0)
  47193. error1 = v1
  47194. if v3 = v1 != 0; !v3 {
  47195. v2 = Xftglue_stream_frame_enter(tls, stream, uint64(4))
  47196. error1 = v2
  47197. }
  47198. if v3 || v2 != 0 {
  47199. goto Exit
  47200. }
  47201. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  47202. sig = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  47203. Xftglue_stream_frame_exit(tls, stream)
  47204. if sig == uint64(uint32(libc.Uint8FromInt32(libc.Int32FromUint8('t')))<<libc.Int32FromInt32(24)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('t')))<<libc.Int32FromInt32(16)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('c')))<<libc.Int32FromInt32(8)|uint32(libc.Uint8FromInt32(libc.Int32FromUint8('f')))) {
  47205. /* deal with TrueType collections */
  47206. v4 = Xftglue_stream_seek(tls, stream, int64(12)+(*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_index*int64(4))
  47207. error1 = v4
  47208. if v6 = v4 != 0; !v6 {
  47209. v5 = Xftglue_stream_frame_enter(tls, stream, uint64(4))
  47210. error1 = v5
  47211. }
  47212. if v6 || v5 != 0 {
  47213. goto Exit
  47214. }
  47215. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  47216. offset = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  47217. Xftglue_stream_frame_exit(tls, stream)
  47218. }
  47219. v7 = Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(offset+uint64(4)))
  47220. error1 = v7
  47221. if v9 = v7 != 0; !v9 {
  47222. v8 = Xftglue_stream_frame_enter(tls, stream, uint64(2))
  47223. error1 = v8
  47224. }
  47225. if v9 || v8 != 0 {
  47226. goto Exit
  47227. }
  47228. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  47229. count = uint32(libc.Uint16FromInt16(libc.Int16FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1)))))))
  47230. Xftglue_stream_frame_exit(tls, stream)
  47231. v10 = Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(offset+uint64(12)))
  47232. error1 = v10
  47233. if v12 = v10 != 0; !v12 {
  47234. v11 = Xftglue_stream_frame_enter(tls, stream, uint64(count*uint32(16)))
  47235. error1 = v11
  47236. }
  47237. if v12 || v11 != 0 {
  47238. goto Exit
  47239. }
  47240. nn = uint32(0)
  47241. for {
  47242. if !(nn < count) {
  47243. break
  47244. }
  47245. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  47246. tag = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  47247. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  47248. checksum = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  47249. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  47250. start = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  47251. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  47252. size = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  47253. if tag == the_tag {
  47254. error1 = Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(start))
  47255. goto FoundIt
  47256. }
  47257. goto _13
  47258. _13:
  47259. ;
  47260. nn++
  47261. }
  47262. error1 = int32(_FT_Err_Table_Missing)
  47263. goto FoundIt
  47264. FoundIt:
  47265. ;
  47266. Xftglue_stream_frame_exit(tls, stream)
  47267. }
  47268. goto Exit
  47269. Exit:
  47270. ;
  47271. return error1
  47272. }
  47273. func __ccgo_fp(f interface{}) uintptr {
  47274. type iface [2]uintptr
  47275. return (*iface)(unsafe.Pointer(&f))[1]
  47276. }
  47277. var XFcDebugVal int32
  47278. var XFcIdentityMatrix = TFcMatrix{
  47279. Fxx: libc.Float64FromInt32(1),
  47280. Fyy: libc.Float64FromInt32(1),
  47281. }
  47282. var Xdefault_langs uintptr
  47283. var Xother_types uintptr
  47284. var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
  47285. var __ccgo_ts1 = ".NEW\x00.LCK\x00.TMP-XXXXXX\x00w\x00%ld\n\x00.uuid\x00Unable to revert mtime: %s\n\x00FONTCONFIG_USE_MMAP\x00-le64.cache-8\x00 (mapped to \x00\x00)\x00, salt: \x00cache: %s (dir: %s%s%s%s%s%s)\n\x00cache fallbacks to: %s (dir: %s)\n\x00Fontconfig error: not freed %p (dir: %s, refcount %d)\n\x00FcCacheTimeValid dir \"%s\" cache checksum %d.%ld dir checksum %d.%ld\n\x00SOURCE_DATE_EPOCH\x00Fontconfig: SOURCE_DATE_EPOCH invalid\n\x00Fontconfig: SOURCE_DATE_EPOCH: strtoull: %s: %llu\n\x00Fontconfig: SOURCE_DATE_EPOCH has trailing garbage\n\x00Fontconfig: SOURCE_DATE_EPOCH must be <= %lu but saw: %llu\n\x00Fontconfig error: No writable cache directories\n\x00FcDirCacheWriteDir dir \"%s\" file \"%s\"\n\x00write cache\x00Fontconfig error: %s: out of memory\n\x00unwritable\x00non-existent\x00%s: not cleaning %s cache directory\n\x00%s: cleaning cache directory\n\x00Fontconfig error: %s: allocation failure\n\x00%s: invalid cache file: %s\n\x00%s: %s: missing directory: %s \n\x00CACHEDIR.TAG\x00wb\x00Created CACHEDIR.TAG at %s\n\x00Unable to create CACHEDIR.TAG at %s\n\x00FONTCONFIG_SYSROOT\x00Fontconfig warning: Directory/file mtime in the future. New fonts may not be detected.\n\x00adding fonts from %s\n\x00 (salt: \x00%s -> %s%s%s%s\n\x00%s%s%s%s\n\x00Reset font directories!\n\x00Fontconfig warning: <name> tag has target=\"font\" in a <match target=\"pattern\">.\n\x00Fontconfig warning: FcPattern object %s does not accept value\x00\n\x00Not adding\n\x00position not on list\n\x00Append\x00Prepend\x00%s list before \x00%s list after \x00und\x00FcConfigSubstitute \x00\nRule Set: %s\n\x00FcConfigSubstitute test \x00No match\n\x00Substitute \x00\n\n\x00FcConfigSubstitute edit\x00FcConfigSubstitute done\x00/\x00FONTCONFIG_PATH\x00/etc/fonts\x00HOME\x00XDG_CACHE_HOME\x00/.cache\x00XDG_CONFIG_HOME\x00/.config\x00XDG_DATA_HOME\x00/.local/share\x00XDG_DATA_DIRS\x00/usr/local/share\x00/usr/share\x00FONTCONFIG_FILE\x00fonts.conf\x00Fontconfig warning: Unable to initialize config and retry limit exceeded. sysroot functionality may not work as expected.\n\x00Add Rule(kind:%d, name: %s) \x00fontconfig\x00No description\x00fontconfig-conf\x00%x\x00\ncharsets %d -> %d leaves %d -> %d\n\x00<unknown>\x00<void>\x00%d(i)\x00%g(f)\x00\"%s\"\x00True\x00False\x00DontCare\x00[%g %g; %g %g]\x00face\x00[%g %g]\x00 \x00 [marker] \x00(w)\x00(s)\x00(=)\x00(?)\x00 [marker]\x00%s\x00langset (alloc error)\x00\t\x00%04x:\x00 %08x\x00Null pattern\n\x00Pattern has %d elts (size %d)\n\x00\t%s:\x00Pattern has %d elts (size %d), %d elts (size %d)\n\x00\t%s: (None) -> \x00 -> (None)\n\x00 -> \x00Integer\x00Double\x00String\x00Matrix\x00Range\x00Bool\x00CharSet\x00LangSet\x00Field\x00Const\x00Assign\x00AssignReplace\x00PrependFirst\x00AppendLast\x00Delete\x00DeleteAll\x00Quest\x00Or\x00And\x00Equal\x00(ignore blanks)\x00NotEqual\x00Less\x00LessEqual\x00More\x00MoreEqual\x00Contains\x00NotContains\x00Plus\x00Minus\x00Times\x00Divide\x00Not\x00Nil\x00Comma\x00Floor\x00Ceil\x00Round\x00Trunc\x00Listing\x00Invalid\x00none\x00%d\x00%g\x00[\x00; \x00]\x00(%g, %g)\x00true\x00false\x00charset\n\x00langset:\x00nil\n\x00%s \x00(pattern) \x00(font) \x00 quest \x00 colon \x00Not \x00Floor \x00Ceil \x00Round \x00Trunc \x00pattern \x00font \x00scan \x00any \x00all \x00first \x00not_first \x00Edit %s \x00[test]\n\x00[edit]\n\x00;\n\x00FontSet %d of %d\n\x00Font %d \x00FC_DEBUG\x00FC_DEBUG=%s\n\x00FC_LANG\x00LC_ALL\x00LC_CTYPE\x00LANG\x00en\x00/proc/self/exe\x00en-us\x00\tScanning file %s...\x00done\n\x00Final font pattern:\n\x00\tScanning dir %s\n\x00cache scan dir %s\n\x00Fontconfig: Pattern format error: \x00.\n\x00format ended while expecting '%c'\x00expected '%c' at %d\x00expected identifier at %d\x00expected character data at %d\x00unparse\x00fccat\x00\"%{file|basename|cescape}\" %{index} \"%{-file{%{=unparse|cescape}}}\"\x00fcmatch\x00%{file:-<unknown filename>|basename}: \"%{family[0]:-<unknown family>}\" \"%{style[0]:-<unknown style>}\"\x00fclist\x00%{?file{%{file}: }}%{-file{%{=unparse}}}\x00pkgkit\x00%{[]family{font(%{family|downcase|delete( )})\n}}%{[]lang{font(:lang=%{lang|downcase|translate(_,-)})\n}}\x00unknown builtin \"%s\"\x00expected non-negative number at %d\x00'\\''\x00&amp;\x00&lt;\x00&gt;\x00downcase\x00basename\x00dirname\x00cescape\x00shescape\x00xmlescape\x00delete\x00escape\x00translate\x00unknown converter \"%s\"\x00Adobe\x00adobe\x00Bigelow\x00b&h\x00Bitstream\x00bitstream\x00Gnat\x00culmus\x00Iorsh\x00HanYang System\x00hanyang\x00Font21\x00hwan\x00IBM\x00ibm\x00International Typeface Corporation\x00itc\x00Linotype\x00linotype\x00LINOTYPE-HELL\x00Microsoft\x00microsoft\x00Monotype\x00monotype\x00Omega\x00omega\x00Tiro Typeworks\x00tiro\x00URW\x00urw\x00XFree86\x00xfree86\x00Xorg\x00xorg\x00MACINTOSH\x00SJIS\x00UCS-2BE\x00UTF-16BE\x00ASCII\x00ISO-8859-1\x00thin\x00extralight\x00ultralight\x00demilight\x00semilight\x00light\x00book\x00regular\x00normal\x00medium\x00demibold\x00demi\x00semibold\x00extrabold\x00superbold\x00ultrabold\x00bold\x00ultrablack\x00superblack\x00extrablack\x00<ultra\x00black\x00heavy\x00ultracondensed\x00extracondensed\x00semicondensed\x00condensed\x00semiexpanded\x00extraexpanded\x00ultraexpanded\x00expanded\x00extended\x00italic\x00kursiv\x00oblique\x00shadow\x00caps\x00antiqua\x00romansc\x00embosed\x00dunhill\x00PIXEL_SIZE\x00found family (n %2d p %d e %d l 0x%04x)\x00found full (n %2d p %d e %d l 0x%04x)\x00found style (n %2d p %d e %d l 0x%04x) \x00(null)\x00%s\n\x00using FreeType family \"%s\"\n\x00Regular\x00using FreeType style \"%s\"\n\x00applying default style Regular\n\x00using filename for family %s\n\x00\tos2 weight class %d multiplier %g maps to weight %g\n\x00\tos2 width class %d multiplier %g maps to width %g\n\x00\tType1 weight %s maps to %g\n\x00FOUNDRY\x00RELATIVE_SETWIDTH\x00SETWIDTH_NAME\x00\tsetwidth %s maps to %g\n\x00style\x00\tStyle %s maps to weight %g\n\x00\tStyle %s maps to width %g\n\x00\tStyle %s maps to slant %d\n\x00\tStyle %s maps to decorative %d\n\x00unknown\x00SPACING\x00c\x00C\x00m\x00M\x00p\x00P\x00otlayout:\x00ttable:Silf \x00complex_ features in this font: %s\n\x00<fontconfig><dir>/usr/share/fonts</dir> <dir prefix=\"xdg\">fonts</dir> <cachedir>/usr/var/cache/fontconfig</cachedir> <cachedir prefix=\"xdg\">fontconfig</cachedir> <include ignore_missing=\"yes\">/etc/fonts/conf.d</include> <include ignore_missing=\"yes\" prefix=\"xdg\">fontconfig/conf.d</include> <include ignore_missing=\"yes\" prefix=\"xdg\">fontconfig/fonts.conf</include></fontconfig>\x00/usr/share/fontconfig/conf.avail\x00Fontconfig warning: no <cachedir> elements found. Check configuration.\n\x00Fontconfig warning: adding <cachedir>%s</cachedir>\n\x00/usr/var/cache/fontconfig\x00/fontconfig\x00Fontconfig warning: adding <cachedir prefix=\"xdg\">fontconfig</cachedir>\n\x00Fontconfig error: out of memory\x00font charset\x00%s charset\x00\n%s(%u) \x00{\x00 %04x\x00 }\n\t\x00%s(%u) \x00C.UTF-8\x00C.utf8\x00POSIX\x00Fontconfig warning: ignoring %s: not a valid language tag\n\x00Fontconfig warning: ignoring %s: not a valid region tag\n\x00Checking the existence of %s.orth\n\x00normalized: %s -> %s\n\x00Unable to normalize %s\n\x00FcLangSet \x00 contains \x00\tMissing bitmap %s\n\x00\tMissing string %s\n\x00family\x00familylang\x00fullname\x00fullnamelang\x00stylelang\x00 -\x00 %s: %g \x00, \x00%s: %g \x00 \x00wght\x00wdth\x00opsz\x00%4s=%g\x00Match \x00Score\x00 %g\x00Best score\x00FC_DBG_MATCH_FILTER\x00charset\x00Add \x00Sort \x00lang\x00Font %s:%s matches language %d\n\x00First font \x00slant\x00weight\x00width\x00size\x00aspect\x00pixelsize\x00spacing\x00foundry\x00antialias\x00hintstyle\x00hinting\x00verticallayout\x00autohint\x00globaladvance\x00file\x00index\x00rasterizer\x00outline\x00scalable\x00dpi\x00rgba\x00scale\x00minspace\x00charwidth\x00charheight\x00matrix\x00fontversion\x00capability\x00fontformat\x00embolden\x00embeddedbitmap\x00decorative\x00lcdfilter\x00namelang\x00fontfeatures\x00prgname\x00hash\x00postscriptname\x00color\x00symbol\x00fontvariations\x00variable\x00fonthashint\x00order\x00roman\x00proportional\x00dual\x00mono\x00charcell\x00rgb\x00bgr\x00vrgb\x00vbgr\x00hintnone\x00hintslight\x00hintmedium\x00hintfull\x00lcdnone\x00lcddefault\x00lcdlight\x00lcdlegacy\x00Fontconfig error: Unexpected constant name `%s' used for object `%s': should be `%s'\n\x00%lg %lg %lg %lg\x00[%lg %lg]\x00[%s %[^]]]\x00-,:\x00=_:\x00:,\x00%g %g %g %g\x00,\x00\\-:,\x00-\x00:\x00\\=_:,\x00=\x00Fontconfig error: No object ID to assign\n\x00Raw pattern:\n\x00Serialized pattern:\n\x00nfs\x00msdosfs\x00pcfs\x00.\x00/.\x00/..\x00its:\x00info\x00warning\x00error\x00Fontconfig %s: \"%s\", line %d: \x00Fontconfig %s: line %d: \x00Fontconfig %s: \x00void\x00number\x00string\x00bool\x00FT_Face\x00langset\x00range\x00saw %s, expected %s\x00invalid constant used : %s\x00out of memory\x00mismatching element\x00invalid attribute '%s'\x00xdg\x00default\x00cwd\x00relative\x00Use of ambiguous path in <%s> element. please add prefix=\"cwd\" if current behavior is desired.\x00unknown element \"%s\"\x00non-integer rescan\x00\"%s\": not a valid integer\x00\"%s\": not a valid double\x00target\x00pattern\x00font\x00invalid name target \"%s\"\x00Missing values in matrix element\x00wrong number of matrix elements\x00too many elements in range\x00invalid element in range\x00invalid range\x00\"%s\" is not known boolean\x00invalid character: 0x%04x\x00invalid element in charset\x00invalid langset: %s\x00invalid element in langset\x00weak\x00strong\x00same\x00invalid binding \"%s\"\x00non-family\x00binding\x00Having multiple <family> in <alias> isn't supported and may not work as expected\x00bad alias\x00missing family in alias\x00domain\x00empty font directory name for remap ignored\x00as-path\x00Missing as-path in remap-dir\x00prefix\x00salt\x00out of memory; cannot create remap data for %s as %s\x00Unable to reset fonts dirs\x00empty font directory name ignored\x00out of memory; cannot add directory %s\x00empty cache directory name ignored\x00out of memory; cannot add cache directory %s\x00ignore_missing\x00deprecated\x00conf.d\x00reading configurations from %s is deprecated. please move it to %s manually\x00scan\x00invalid test target \"%s\"\x00qual\x00any\x00all\x00first\x00not_first\x00invalid test qual \"%s\"\x00name\x00missing test name\x00compare\x00invalid test compare \"%s\"\x00ignore-blanks\x00invalid test ignore-blanks \"%s\"\x00missing test expression\x00Having multiple values in <test> isn't supported and may not work as expected\x00missing edit name\x00mode\x00invalid edit mode \"%s\"\x00Expression doesn't take any effects for delete and delete_all\x00invalid match target \"%s\"\x00<match target=\"scan\"> cannot edit user-defined object \"%s\"\x00invalid match element\x00No <test> nor <edit> elements in <match>\x00bad font selector\x00unknown pattern element %d\x00missing pattern element name\x00unknown pattern element\x00invalid doctype \"%s\"\x00Cannot open config dir \"%s\"\x00\tScanning config dir %s\n\x00.conf\x00Loading\x00Scanning\x00\t%s config file from %s\n\x00UTF-8\x00cannot get parse buffer\x00load\x00Cannot %s config file from %s\x00\t%s config file from %s done\n\x00No such file: \x00No such realfile: \x00Unable to open \x00failed reading config file: %s: %s (errno %d)\x00Cannot %s config file \"%s\": %s\x00Cannot %s default config file: %s\x00memory\x00"