tables.go 164 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675
  1. // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
  2. package language
  3. import "golang.org/x/text/internal/tag"
  4. // CLDRVersion is the CLDR version from which the tables in this package are derived.
  5. const CLDRVersion = "31"
  6. const numLanguages = 8665
  7. const numScripts = 237
  8. const numRegions = 357
  9. type fromTo struct {
  10. from uint16
  11. to uint16
  12. }
  13. const nonCanonicalUnd = 1199
  14. const (
  15. _af = 22
  16. _am = 39
  17. _ar = 58
  18. _az = 88
  19. _bg = 126
  20. _bn = 165
  21. _ca = 215
  22. _cs = 249
  23. _da = 256
  24. _de = 268
  25. _el = 309
  26. _en = 312
  27. _es = 317
  28. _et = 319
  29. _fa = 327
  30. _fi = 336
  31. _fil = 338
  32. _fr = 349
  33. _gu = 418
  34. _he = 442
  35. _hi = 444
  36. _hr = 463
  37. _hu = 467
  38. _hy = 469
  39. _id = 479
  40. _is = 502
  41. _it = 503
  42. _ja = 510
  43. _ka = 526
  44. _kk = 576
  45. _km = 584
  46. _kn = 591
  47. _ko = 594
  48. _ky = 648
  49. _lo = 694
  50. _lt = 702
  51. _lv = 709
  52. _mk = 765
  53. _ml = 770
  54. _mn = 777
  55. _mo = 782
  56. _mr = 793
  57. _ms = 797
  58. _mul = 804
  59. _my = 815
  60. _nb = 837
  61. _ne = 847
  62. _nl = 869
  63. _no = 877
  64. _pa = 923
  65. _pl = 945
  66. _pt = 958
  67. _ro = 986
  68. _ru = 992
  69. _sh = 1029
  70. _si = 1034
  71. _sk = 1040
  72. _sl = 1044
  73. _sq = 1071
  74. _sr = 1072
  75. _sv = 1090
  76. _sw = 1091
  77. _ta = 1102
  78. _te = 1119
  79. _th = 1129
  80. _tl = 1144
  81. _tn = 1150
  82. _tr = 1160
  83. _uk = 1196
  84. _ur = 1202
  85. _uz = 1210
  86. _vi = 1217
  87. _zh = 1319
  88. _zu = 1324
  89. _jbo = 513
  90. _ami = 1647
  91. _bnn = 2354
  92. _hak = 436
  93. _tlh = 14464
  94. _lb = 659
  95. _nv = 897
  96. _pwn = 12052
  97. _tao = 14185
  98. _tay = 14195
  99. _tsu = 14659
  100. _nn = 872
  101. _sfb = 13626
  102. _vgt = 15698
  103. _sgg = 13657
  104. _cmn = 3004
  105. _nan = 833
  106. _hsn = 465
  107. )
  108. const langPrivateStart = 0x2f6f
  109. const langPrivateEnd = 0x3176
  110. // lang holds an alphabetically sorted list of ISO-639 language identifiers.
  111. // All entries are 4 bytes. The index of the identifier (divided by 4) is the language tag.
  112. // For 2-byte language identifiers, the two successive bytes have the following meaning:
  113. // - if the first letter of the 2- and 3-letter ISO codes are the same:
  114. // the second and third letter of the 3-letter ISO code.
  115. // - otherwise: a 0 and a by 2 bits right-shifted index into altLangISO3.
  116. // For 3-byte language identifiers the 4th byte is 0.
  117. const lang tag.Index = "" + // Size: 5312 bytes
  118. "---\x00aaaraai\x00aak\x00aau\x00abbkabi\x00abq\x00abr\x00abt\x00aby\x00a" +
  119. "cd\x00ace\x00ach\x00ada\x00ade\x00adj\x00ady\x00adz\x00aeveaeb\x00aey" +
  120. "\x00affragc\x00agd\x00agg\x00agm\x00ago\x00agq\x00aha\x00ahl\x00aho\x00a" +
  121. "jg\x00akkaakk\x00ala\x00ali\x00aln\x00alt\x00ammhamm\x00amn\x00amo\x00am" +
  122. "p\x00anrganc\x00ank\x00ann\x00any\x00aoj\x00aom\x00aoz\x00apc\x00apd\x00" +
  123. "ape\x00apr\x00aps\x00apz\x00arraarc\x00arh\x00arn\x00aro\x00arq\x00ars" +
  124. "\x00ary\x00arz\x00assmasa\x00ase\x00asg\x00aso\x00ast\x00ata\x00atg\x00a" +
  125. "tj\x00auy\x00avvaavl\x00avn\x00avt\x00avu\x00awa\x00awb\x00awo\x00awx" +
  126. "\x00ayymayb\x00azzebaakbal\x00ban\x00bap\x00bar\x00bas\x00bav\x00bax\x00" +
  127. "bba\x00bbb\x00bbc\x00bbd\x00bbj\x00bbp\x00bbr\x00bcf\x00bch\x00bci\x00bc" +
  128. "m\x00bcn\x00bco\x00bcq\x00bcu\x00bdd\x00beelbef\x00beh\x00bej\x00bem\x00" +
  129. "bet\x00bew\x00bex\x00bez\x00bfd\x00bfq\x00bft\x00bfy\x00bgulbgc\x00bgn" +
  130. "\x00bgx\x00bhihbhb\x00bhg\x00bhi\x00bhk\x00bhl\x00bho\x00bhy\x00biisbib" +
  131. "\x00big\x00bik\x00bim\x00bin\x00bio\x00biq\x00bjh\x00bji\x00bjj\x00bjn" +
  132. "\x00bjo\x00bjr\x00bjt\x00bjz\x00bkc\x00bkm\x00bkq\x00bku\x00bkv\x00blt" +
  133. "\x00bmambmh\x00bmk\x00bmq\x00bmu\x00bnenbng\x00bnm\x00bnp\x00boodboj\x00" +
  134. "bom\x00bon\x00bpy\x00bqc\x00bqi\x00bqp\x00bqv\x00brrebra\x00brh\x00brx" +
  135. "\x00brz\x00bsosbsj\x00bsq\x00bss\x00bst\x00bto\x00btt\x00btv\x00bua\x00b" +
  136. "uc\x00bud\x00bug\x00buk\x00bum\x00buo\x00bus\x00buu\x00bvb\x00bwd\x00bwr" +
  137. "\x00bxh\x00bye\x00byn\x00byr\x00bys\x00byv\x00byx\x00bza\x00bze\x00bzf" +
  138. "\x00bzh\x00bzw\x00caatcan\x00cbj\x00cch\x00ccp\x00ceheceb\x00cfa\x00cgg" +
  139. "\x00chhachk\x00chm\x00cho\x00chp\x00chr\x00cja\x00cjm\x00cjv\x00ckb\x00c" +
  140. "kl\x00cko\x00cky\x00cla\x00cme\x00cooscop\x00cps\x00crrecrh\x00crj\x00cr" +
  141. "k\x00crl\x00crm\x00crs\x00csescsb\x00csw\x00ctd\x00cuhucvhvcyymdaandad" +
  142. "\x00daf\x00dag\x00dah\x00dak\x00dar\x00dav\x00dbd\x00dbq\x00dcc\x00ddn" +
  143. "\x00deeuded\x00den\x00dga\x00dgh\x00dgi\x00dgl\x00dgr\x00dgz\x00dia\x00d" +
  144. "je\x00dnj\x00dob\x00doi\x00dop\x00dow\x00dri\x00drs\x00dsb\x00dtm\x00dtp" +
  145. "\x00dts\x00dty\x00dua\x00duc\x00dud\x00dug\x00dvivdva\x00dww\x00dyo\x00d" +
  146. "yu\x00dzzodzg\x00ebu\x00eeweefi\x00egl\x00egy\x00eka\x00eky\x00elllema" +
  147. "\x00emi\x00enngenn\x00enq\x00eopoeri\x00es\x00\x05esu\x00etstetr\x00ett" +
  148. "\x00etu\x00etx\x00euusewo\x00ext\x00faasfaa\x00fab\x00fag\x00fai\x00fan" +
  149. "\x00ffulffi\x00ffm\x00fiinfia\x00fil\x00fit\x00fjijflr\x00fmp\x00foaofod" +
  150. "\x00fon\x00for\x00fpe\x00fqs\x00frrafrc\x00frp\x00frr\x00frs\x00fub\x00f" +
  151. "ud\x00fue\x00fuf\x00fuh\x00fuq\x00fur\x00fuv\x00fuy\x00fvr\x00fyrygalega" +
  152. "a\x00gaf\x00gag\x00gah\x00gaj\x00gam\x00gan\x00gaw\x00gay\x00gbf\x00gbm" +
  153. "\x00gby\x00gbz\x00gcr\x00gdlagde\x00gdn\x00gdr\x00geb\x00gej\x00gel\x00g" +
  154. "ez\x00gfk\x00ggn\x00ghs\x00gil\x00gim\x00gjk\x00gjn\x00gju\x00gkn\x00gkp" +
  155. "\x00gllgglk\x00gmm\x00gmv\x00gnrngnd\x00gng\x00god\x00gof\x00goi\x00gom" +
  156. "\x00gon\x00gor\x00gos\x00got\x00grb\x00grc\x00grt\x00grw\x00gsw\x00guujg" +
  157. "ub\x00guc\x00gud\x00gur\x00guw\x00gux\x00guz\x00gvlvgvf\x00gvr\x00gvs" +
  158. "\x00gwc\x00gwi\x00gwt\x00gyi\x00haauhag\x00hak\x00ham\x00haw\x00haz\x00h" +
  159. "bb\x00hdy\x00heebhhy\x00hiinhia\x00hif\x00hig\x00hih\x00hil\x00hla\x00hl" +
  160. "u\x00hmd\x00hmt\x00hnd\x00hne\x00hnj\x00hnn\x00hno\x00homohoc\x00hoj\x00" +
  161. "hot\x00hrrvhsb\x00hsn\x00htathuunhui\x00hyyehzerianaian\x00iar\x00iba" +
  162. "\x00ibb\x00iby\x00ica\x00ich\x00idndidd\x00idi\x00idu\x00ieleife\x00igbo" +
  163. "igb\x00ige\x00iiiiijj\x00ikpkikk\x00ikt\x00ikw\x00ikx\x00ilo\x00imo\x00i" +
  164. "nndinh\x00iodoiou\x00iri\x00isslittaiukuiw\x00\x03iwm\x00iws\x00izh\x00i" +
  165. "zi\x00japnjab\x00jam\x00jbo\x00jbu\x00jen\x00jgk\x00jgo\x00ji\x00\x06jib" +
  166. "\x00jmc\x00jml\x00jra\x00jut\x00jvavjwavkaatkaa\x00kab\x00kac\x00kad\x00" +
  167. "kai\x00kaj\x00kam\x00kao\x00kbd\x00kbm\x00kbp\x00kbq\x00kbx\x00kby\x00kc" +
  168. "g\x00kck\x00kcl\x00kct\x00kde\x00kdh\x00kdl\x00kdt\x00kea\x00ken\x00kez" +
  169. "\x00kfo\x00kfr\x00kfy\x00kgonkge\x00kgf\x00kgp\x00kha\x00khb\x00khn\x00k" +
  170. "hq\x00khs\x00kht\x00khw\x00khz\x00kiikkij\x00kiu\x00kiw\x00kjuakjd\x00kj" +
  171. "g\x00kjs\x00kjy\x00kkazkkc\x00kkj\x00klalkln\x00klq\x00klt\x00klx\x00kmh" +
  172. "mkmb\x00kmh\x00kmo\x00kms\x00kmu\x00kmw\x00knanknf\x00knp\x00koorkoi\x00" +
  173. "kok\x00kol\x00kos\x00koz\x00kpe\x00kpf\x00kpo\x00kpr\x00kpx\x00kqb\x00kq" +
  174. "f\x00kqs\x00kqy\x00kraukrc\x00kri\x00krj\x00krl\x00krs\x00kru\x00ksasksb" +
  175. "\x00ksd\x00ksf\x00ksh\x00ksj\x00ksr\x00ktb\x00ktm\x00kto\x00kuurkub\x00k" +
  176. "ud\x00kue\x00kuj\x00kum\x00kun\x00kup\x00kus\x00kvomkvg\x00kvr\x00kvx" +
  177. "\x00kw\x00\x01kwj\x00kwo\x00kxa\x00kxc\x00kxm\x00kxp\x00kxw\x00kxz\x00ky" +
  178. "irkye\x00kyx\x00kzr\x00laatlab\x00lad\x00lag\x00lah\x00laj\x00las\x00lbt" +
  179. "zlbe\x00lbu\x00lbw\x00lcm\x00lcp\x00ldb\x00led\x00lee\x00lem\x00lep\x00l" +
  180. "eq\x00leu\x00lez\x00lguglgg\x00liimlia\x00lid\x00lif\x00lig\x00lih\x00li" +
  181. "j\x00lis\x00ljp\x00lki\x00lkt\x00lle\x00lln\x00lmn\x00lmo\x00lmp\x00lnin" +
  182. "lns\x00lnu\x00loaoloj\x00lok\x00lol\x00lor\x00los\x00loz\x00lrc\x00ltitl" +
  183. "tg\x00luublua\x00luo\x00luy\x00luz\x00lvavlwl\x00lzh\x00lzz\x00mad\x00ma" +
  184. "f\x00mag\x00mai\x00mak\x00man\x00mas\x00maw\x00maz\x00mbh\x00mbo\x00mbq" +
  185. "\x00mbu\x00mbw\x00mci\x00mcp\x00mcq\x00mcr\x00mcu\x00mda\x00mde\x00mdf" +
  186. "\x00mdh\x00mdj\x00mdr\x00mdx\x00med\x00mee\x00mek\x00men\x00mer\x00met" +
  187. "\x00meu\x00mfa\x00mfe\x00mfn\x00mfo\x00mfq\x00mglgmgh\x00mgl\x00mgo\x00m" +
  188. "gp\x00mgy\x00mhahmhi\x00mhl\x00mirimif\x00min\x00mis\x00miw\x00mkkdmki" +
  189. "\x00mkl\x00mkp\x00mkw\x00mlalmle\x00mlp\x00mls\x00mmo\x00mmu\x00mmx\x00m" +
  190. "nonmna\x00mnf\x00mni\x00mnw\x00moolmoa\x00moe\x00moh\x00mos\x00mox\x00mp" +
  191. "p\x00mps\x00mpt\x00mpx\x00mql\x00mrarmrd\x00mrj\x00mro\x00mssamtltmtc" +
  192. "\x00mtf\x00mti\x00mtr\x00mua\x00mul\x00mur\x00mus\x00mva\x00mvn\x00mvy" +
  193. "\x00mwk\x00mwr\x00mwv\x00mxc\x00mxm\x00myyamyk\x00mym\x00myv\x00myw\x00m" +
  194. "yx\x00myz\x00mzk\x00mzm\x00mzn\x00mzp\x00mzw\x00mzz\x00naaunac\x00naf" +
  195. "\x00nah\x00nak\x00nan\x00nap\x00naq\x00nas\x00nbobnca\x00nce\x00ncf\x00n" +
  196. "ch\x00nco\x00ncu\x00nddendc\x00nds\x00neepneb\x00new\x00nex\x00nfr\x00ng" +
  197. "donga\x00ngb\x00ngl\x00nhb\x00nhe\x00nhw\x00nif\x00nii\x00nij\x00nin\x00" +
  198. "niu\x00niy\x00niz\x00njo\x00nkg\x00nko\x00nlldnmg\x00nmz\x00nnnonnf\x00n" +
  199. "nh\x00nnk\x00nnm\x00noornod\x00noe\x00non\x00nop\x00nou\x00nqo\x00nrblnr" +
  200. "b\x00nsk\x00nsn\x00nso\x00nss\x00ntm\x00ntr\x00nui\x00nup\x00nus\x00nuv" +
  201. "\x00nux\x00nvavnwb\x00nxq\x00nxr\x00nyyanym\x00nyn\x00nzi\x00occiogc\x00" +
  202. "ojjiokr\x00okv\x00omrmong\x00onn\x00ons\x00opm\x00orrioro\x00oru\x00osss" +
  203. "osa\x00ota\x00otk\x00ozm\x00paanpag\x00pal\x00pam\x00pap\x00pau\x00pbi" +
  204. "\x00pcd\x00pcm\x00pdc\x00pdt\x00ped\x00peo\x00pex\x00pfl\x00phl\x00phn" +
  205. "\x00pilipil\x00pip\x00pka\x00pko\x00plolpla\x00pms\x00png\x00pnn\x00pnt" +
  206. "\x00pon\x00ppo\x00pra\x00prd\x00prg\x00psuspss\x00ptorptp\x00puu\x00pwa" +
  207. "\x00quuequc\x00qug\x00rai\x00raj\x00rao\x00rcf\x00rej\x00rel\x00res\x00r" +
  208. "gn\x00rhg\x00ria\x00rif\x00rjs\x00rkt\x00rmohrmf\x00rmo\x00rmt\x00rmu" +
  209. "\x00rnunrna\x00rng\x00roonrob\x00rof\x00roo\x00rro\x00rtm\x00ruusrue\x00" +
  210. "rug\x00rw\x00\x04rwk\x00rwo\x00ryu\x00saansaf\x00sah\x00saq\x00sas\x00sa" +
  211. "t\x00sav\x00saz\x00sba\x00sbe\x00sbp\x00scrdsck\x00scl\x00scn\x00sco\x00" +
  212. "scs\x00sdndsdc\x00sdh\x00semesef\x00seh\x00sei\x00ses\x00sgagsga\x00sgs" +
  213. "\x00sgw\x00sgz\x00sh\x00\x02shi\x00shk\x00shn\x00shu\x00siinsid\x00sig" +
  214. "\x00sil\x00sim\x00sjr\x00sklkskc\x00skr\x00sks\x00sllvsld\x00sli\x00sll" +
  215. "\x00sly\x00smmosma\x00smi\x00smj\x00smn\x00smp\x00smq\x00sms\x00snnasnc" +
  216. "\x00snk\x00snp\x00snx\x00sny\x00soomsok\x00soq\x00sou\x00soy\x00spd\x00s" +
  217. "pl\x00sps\x00sqqisrrpsrb\x00srn\x00srr\x00srx\x00ssswssd\x00ssg\x00ssy" +
  218. "\x00stotstk\x00stq\x00suunsua\x00sue\x00suk\x00sur\x00sus\x00svweswwaswb" +
  219. "\x00swc\x00swg\x00swp\x00swv\x00sxn\x00sxw\x00syl\x00syr\x00szl\x00taamt" +
  220. "aj\x00tal\x00tan\x00taq\x00tbc\x00tbd\x00tbf\x00tbg\x00tbo\x00tbw\x00tbz" +
  221. "\x00tci\x00tcy\x00tdd\x00tdg\x00tdh\x00teelted\x00tem\x00teo\x00tet\x00t" +
  222. "fi\x00tggktgc\x00tgo\x00tgu\x00thhathl\x00thq\x00thr\x00tiirtif\x00tig" +
  223. "\x00tik\x00tim\x00tio\x00tiv\x00tkuktkl\x00tkr\x00tkt\x00tlgltlf\x00tlx" +
  224. "\x00tly\x00tmh\x00tmy\x00tnsntnh\x00toontof\x00tog\x00toq\x00tpi\x00tpm" +
  225. "\x00tpz\x00tqo\x00trurtru\x00trv\x00trw\x00tssotsd\x00tsf\x00tsg\x00tsj" +
  226. "\x00tsw\x00ttatttd\x00tte\x00ttj\x00ttr\x00tts\x00ttt\x00tuh\x00tul\x00t" +
  227. "um\x00tuq\x00tvd\x00tvl\x00tvu\x00twwitwh\x00twq\x00txg\x00tyahtya\x00ty" +
  228. "v\x00tzm\x00ubu\x00udm\x00ugiguga\x00ukkruli\x00umb\x00und\x00unr\x00unx" +
  229. "\x00urrduri\x00urt\x00urw\x00usa\x00utr\x00uvh\x00uvl\x00uzzbvag\x00vai" +
  230. "\x00van\x00veenvec\x00vep\x00viievic\x00viv\x00vls\x00vmf\x00vmw\x00vool" +
  231. "vot\x00vro\x00vun\x00vut\x00walnwae\x00waj\x00wal\x00wan\x00war\x00wbp" +
  232. "\x00wbq\x00wbr\x00wci\x00wer\x00wgi\x00whg\x00wib\x00wiu\x00wiv\x00wja" +
  233. "\x00wji\x00wls\x00wmo\x00wnc\x00wni\x00wnu\x00woolwob\x00wos\x00wrs\x00w" +
  234. "sk\x00wtm\x00wuu\x00wuv\x00wwa\x00xav\x00xbi\x00xcr\x00xes\x00xhhoxla" +
  235. "\x00xlc\x00xld\x00xmf\x00xmn\x00xmr\x00xna\x00xnr\x00xog\x00xon\x00xpr" +
  236. "\x00xrb\x00xsa\x00xsi\x00xsm\x00xsr\x00xwe\x00yam\x00yao\x00yap\x00yas" +
  237. "\x00yat\x00yav\x00yay\x00yaz\x00yba\x00ybb\x00yby\x00yer\x00ygr\x00ygw" +
  238. "\x00yiidyko\x00yle\x00ylg\x00yll\x00yml\x00yooryon\x00yrb\x00yre\x00yrl" +
  239. "\x00yss\x00yua\x00yue\x00yuj\x00yut\x00yuw\x00zahazag\x00zbl\x00zdj\x00z" +
  240. "ea\x00zgh\x00zhhozia\x00zlm\x00zmi\x00zne\x00zuulzxx\x00zza\x00\xff\xff" +
  241. "\xff\xff"
  242. const langNoIndexOffset = 1327
  243. // langNoIndex is a bit vector of all 3-letter language codes that are not used as an index
  244. // in lookup tables. The language ids for these language codes are derived directly
  245. // from the letters and are not consecutive.
  246. // Size: 2197 bytes, 2197 elements
  247. var langNoIndex = [2197]uint8{
  248. // Entry 0 - 3F
  249. 0xff, 0xf8, 0xed, 0xfe, 0xeb, 0xd3, 0x3b, 0xd2,
  250. 0xfb, 0xbf, 0x7a, 0xfa, 0x37, 0x1d, 0x3c, 0x57,
  251. 0x6e, 0x97, 0x73, 0x38, 0xfb, 0xea, 0xbf, 0x70,
  252. 0xad, 0x03, 0xff, 0xff, 0xcf, 0x05, 0x84, 0x62,
  253. 0xe9, 0xbf, 0xfd, 0xbf, 0xbf, 0xf7, 0xfd, 0x77,
  254. 0x0f, 0xff, 0xef, 0x6f, 0xff, 0xfb, 0xdf, 0xe2,
  255. 0xc9, 0xf8, 0x7f, 0x7e, 0x4d, 0xb8, 0x0a, 0x6a,
  256. 0x7c, 0xea, 0xe3, 0xfa, 0x7a, 0xbf, 0x67, 0xff,
  257. // Entry 40 - 7F
  258. 0xff, 0xff, 0xff, 0xdf, 0x2a, 0x54, 0x91, 0xc0,
  259. 0x5d, 0xe3, 0x97, 0x14, 0x07, 0x20, 0xdd, 0xed,
  260. 0x9f, 0x3f, 0xc9, 0x21, 0xf8, 0x3f, 0x94, 0x35,
  261. 0x7c, 0x5f, 0xff, 0x5f, 0x8e, 0x6e, 0xdf, 0xff,
  262. 0xff, 0xff, 0x55, 0x7c, 0xd3, 0xfd, 0xbf, 0xb5,
  263. 0x7b, 0xdf, 0x7f, 0xf7, 0xca, 0xfe, 0xdb, 0xa3,
  264. 0xa8, 0xff, 0x1f, 0x67, 0x7d, 0xeb, 0xef, 0xce,
  265. 0xff, 0xff, 0x9f, 0xff, 0xb7, 0xef, 0xfe, 0xcf,
  266. // Entry 80 - BF
  267. 0xdb, 0xff, 0xf3, 0xcd, 0xfb, 0x2f, 0xff, 0xff,
  268. 0xbb, 0xee, 0xf7, 0xbd, 0xdb, 0xff, 0x5f, 0xf7,
  269. 0xfd, 0xf2, 0xfd, 0xff, 0x5e, 0x2f, 0x3b, 0xba,
  270. 0x7e, 0xff, 0xff, 0xfe, 0xf7, 0xff, 0xdd, 0xff,
  271. 0xfd, 0xdf, 0xfb, 0xfe, 0x9d, 0xb4, 0xd3, 0xff,
  272. 0xef, 0xff, 0xdf, 0xf7, 0x7f, 0xb7, 0xfd, 0xd5,
  273. 0xa5, 0x77, 0x40, 0xff, 0x9c, 0xc1, 0x41, 0x2c,
  274. 0x08, 0x20, 0x41, 0x00, 0x50, 0x40, 0x00, 0x80,
  275. // Entry C0 - FF
  276. 0xfb, 0x4a, 0xf2, 0x9f, 0xb4, 0x42, 0x41, 0x96,
  277. 0x1b, 0x14, 0x08, 0xf2, 0x2b, 0xe7, 0x17, 0x56,
  278. 0x45, 0x7d, 0x0e, 0x1c, 0x37, 0x71, 0xf3, 0xef,
  279. 0x97, 0xff, 0x5d, 0x38, 0x64, 0x08, 0x00, 0x10,
  280. 0xbc, 0x85, 0xaf, 0xdf, 0xff, 0xf7, 0x73, 0x35,
  281. 0x3e, 0x87, 0xc7, 0xdf, 0xff, 0x00, 0x81, 0x00,
  282. 0xb0, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03,
  283. 0x40, 0x00, 0x40, 0x92, 0x21, 0x50, 0xb1, 0x5d,
  284. // Entry 100 - 13F
  285. 0xfd, 0xdc, 0xbe, 0x5e, 0x00, 0x00, 0x02, 0x64,
  286. 0x0d, 0x19, 0x41, 0xdf, 0x79, 0x22, 0x00, 0x00,
  287. 0x00, 0x5e, 0x64, 0xdc, 0x24, 0xe5, 0xd9, 0xe3,
  288. 0xfe, 0xff, 0xfd, 0xcb, 0x9f, 0x14, 0x01, 0x0c,
  289. 0x86, 0x00, 0xd1, 0x00, 0xf0, 0xc5, 0x67, 0x5f,
  290. 0x56, 0x89, 0x5e, 0xb5, 0x6c, 0xaf, 0x03, 0x00,
  291. 0x02, 0x00, 0x00, 0x00, 0xc0, 0x37, 0xda, 0x56,
  292. 0x90, 0x69, 0x01, 0x2c, 0x96, 0x69, 0x20, 0xfb,
  293. // Entry 140 - 17F
  294. 0xff, 0x3f, 0x00, 0x00, 0x00, 0x01, 0x08, 0x16,
  295. 0x01, 0x00, 0x00, 0xb0, 0x14, 0x03, 0x50, 0x06,
  296. 0x0a, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x09,
  297. 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x10,
  298. 0x00, 0x00, 0x44, 0x00, 0x00, 0x10, 0x00, 0x04,
  299. 0x08, 0x00, 0x00, 0x04, 0x00, 0x80, 0x28, 0x04,
  300. 0x00, 0x00, 0x40, 0xd5, 0x2d, 0x00, 0x64, 0x35,
  301. 0x24, 0x52, 0xf4, 0xd4, 0xbd, 0x62, 0xc9, 0x03,
  302. // Entry 180 - 1BF
  303. 0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
  304. 0x00, 0x04, 0x13, 0x39, 0x01, 0xdd, 0x57, 0x98,
  305. 0x21, 0x18, 0x81, 0x00, 0x00, 0x01, 0x40, 0x82,
  306. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  307. 0x01, 0x40, 0x00, 0x44, 0x00, 0x00, 0x80, 0xea,
  308. 0xa9, 0x39, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04,
  309. 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
  310. 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
  311. // Entry 1C0 - 1FF
  312. 0x00, 0x01, 0x28, 0x05, 0x00, 0x00, 0x00, 0x00,
  313. 0x04, 0x20, 0x04, 0xa6, 0x00, 0x04, 0x00, 0x00,
  314. 0x81, 0x50, 0x00, 0x00, 0x00, 0x11, 0x84, 0x00,
  315. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x55,
  316. 0x02, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x40,
  317. 0x30, 0x83, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00,
  318. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  319. 0x00, 0x00, 0x00, 0x1e, 0xcd, 0xbf, 0x7e, 0xbf,
  320. // Entry 200 - 23F
  321. 0xdf, 0xc3, 0x83, 0x82, 0xc0, 0xfb, 0x57, 0x27,
  322. 0xcd, 0x55, 0xe7, 0x01, 0x00, 0x20, 0xb2, 0xc5,
  323. 0xa4, 0x45, 0x25, 0x9b, 0x02, 0xdf, 0xe0, 0xdf,
  324. 0x03, 0x44, 0x08, 0x10, 0x01, 0x04, 0x01, 0xe3,
  325. 0x92, 0x54, 0xdb, 0x28, 0xd1, 0x5f, 0xf6, 0x6d,
  326. 0x79, 0xed, 0x1c, 0x7d, 0x04, 0x08, 0x00, 0x01,
  327. 0x21, 0x12, 0x64, 0x5f, 0xdd, 0x0e, 0x85, 0x4f,
  328. 0x40, 0x40, 0x00, 0x04, 0xf1, 0xfd, 0x3d, 0x54,
  329. // Entry 240 - 27F
  330. 0xe8, 0x03, 0xb4, 0x27, 0x23, 0x0d, 0x00, 0x00,
  331. 0x20, 0x7b, 0x38, 0x02, 0x05, 0x84, 0x00, 0xf0,
  332. 0xbb, 0x7e, 0x5a, 0x00, 0x18, 0x04, 0x81, 0x00,
  333. 0x00, 0x00, 0x80, 0x10, 0x90, 0x1c, 0x01, 0x00,
  334. 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x04,
  335. 0x08, 0xa0, 0x70, 0xa5, 0x0c, 0x40, 0x00, 0x00,
  336. 0x11, 0x04, 0x04, 0x68, 0x00, 0x20, 0x70, 0xff,
  337. 0x7b, 0x7f, 0x60, 0x00, 0x05, 0x9b, 0xdd, 0x66,
  338. // Entry 280 - 2BF
  339. 0x03, 0x00, 0x11, 0x00, 0x00, 0x00, 0x40, 0x05,
  340. 0xb5, 0xb6, 0x80, 0x08, 0x04, 0x00, 0x04, 0x51,
  341. 0xe2, 0xef, 0xfd, 0x3f, 0x05, 0x09, 0x08, 0x05,
  342. 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
  343. 0x08, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x60,
  344. 0xe7, 0x48, 0x00, 0x81, 0x20, 0xc0, 0x05, 0x80,
  345. 0x03, 0x00, 0x00, 0x00, 0x8c, 0x50, 0x40, 0x04,
  346. 0x84, 0x47, 0x84, 0x40, 0x20, 0x10, 0x00, 0x20,
  347. // Entry 2C0 - 2FF
  348. 0x02, 0x50, 0x80, 0x11, 0x00, 0x91, 0x6c, 0xe2,
  349. 0x50, 0x27, 0x1d, 0x11, 0x29, 0x06, 0x59, 0xe9,
  350. 0x33, 0x08, 0x00, 0x20, 0x04, 0x40, 0x10, 0x00,
  351. 0x00, 0x00, 0x50, 0x44, 0x92, 0x49, 0xd6, 0x5d,
  352. 0xa7, 0x81, 0x47, 0x97, 0xfb, 0x00, 0x10, 0x00,
  353. 0x08, 0x00, 0x80, 0x00, 0x40, 0x04, 0x00, 0x01,
  354. 0x02, 0x00, 0x01, 0x40, 0x80, 0x00, 0x00, 0x08,
  355. 0xd8, 0xeb, 0xf6, 0x39, 0xc4, 0x89, 0x12, 0x00,
  356. // Entry 300 - 33F
  357. 0x00, 0x0c, 0x04, 0x01, 0x20, 0x20, 0xdd, 0xa0,
  358. 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
  359. 0x04, 0x10, 0xd0, 0x9d, 0x95, 0x13, 0x04, 0x80,
  360. 0x00, 0x01, 0xd0, 0x12, 0x40, 0x00, 0x10, 0xb0,
  361. 0x10, 0x62, 0x4c, 0xd2, 0x02, 0x01, 0x4a, 0x00,
  362. 0x46, 0x04, 0x00, 0x08, 0x02, 0x00, 0x20, 0x80,
  363. 0x00, 0x80, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00,
  364. 0x00, 0xf0, 0xd8, 0x6f, 0x15, 0x02, 0x08, 0x00,
  365. // Entry 340 - 37F
  366. 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01,
  367. 0x00, 0x10, 0x00, 0x00, 0x00, 0xf0, 0x84, 0xe3,
  368. 0xdd, 0xbf, 0xf9, 0xf9, 0x3b, 0x7f, 0x7f, 0xdb,
  369. 0xfd, 0xfc, 0xfe, 0xdf, 0xff, 0xfd, 0xff, 0xf6,
  370. 0xfb, 0xfc, 0xf7, 0x1f, 0xff, 0xb3, 0x6c, 0xff,
  371. 0xd9, 0xad, 0xdf, 0xfe, 0xef, 0xba, 0xdf, 0xff,
  372. 0xff, 0xff, 0xb7, 0xdd, 0x7d, 0xbf, 0xab, 0x7f,
  373. 0xfd, 0xfd, 0xdf, 0x2f, 0x9c, 0xdf, 0xf3, 0x6f,
  374. // Entry 380 - 3BF
  375. 0xdf, 0xdd, 0xff, 0xfb, 0xee, 0xd2, 0xab, 0x5f,
  376. 0xd5, 0xdf, 0x7f, 0xff, 0xeb, 0xff, 0xe4, 0x4d,
  377. 0xf9, 0xff, 0xfe, 0xf7, 0xfd, 0xdf, 0xfb, 0xbf,
  378. 0xee, 0xdb, 0x6f, 0xef, 0xff, 0x7f, 0xff, 0xff,
  379. 0xf7, 0x5f, 0xd3, 0x3b, 0xfd, 0xd9, 0xdf, 0xeb,
  380. 0xbc, 0x08, 0x05, 0x24, 0xff, 0x07, 0x70, 0xfe,
  381. 0xe6, 0x5e, 0x00, 0x08, 0x00, 0x83, 0x3d, 0x1b,
  382. 0x06, 0xe6, 0x72, 0x60, 0xd1, 0x3c, 0x7f, 0x44,
  383. // Entry 3C0 - 3FF
  384. 0x02, 0x30, 0x9f, 0x7a, 0x16, 0xbd, 0x7f, 0x57,
  385. 0xf2, 0xff, 0x31, 0xff, 0xf2, 0x1e, 0x90, 0xf7,
  386. 0xf1, 0xf9, 0x45, 0x80, 0x01, 0x02, 0x00, 0x00,
  387. 0x40, 0x54, 0x9f, 0x8a, 0xd9, 0xd9, 0x0e, 0x11,
  388. 0x86, 0x51, 0xc0, 0xf3, 0xfb, 0x47, 0x00, 0x01,
  389. 0x05, 0xd1, 0x50, 0x58, 0x00, 0x00, 0x00, 0x10,
  390. 0x04, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x17, 0xd2,
  391. 0xb9, 0xfd, 0xfc, 0xba, 0xfe, 0xef, 0xc7, 0xbe,
  392. // Entry 400 - 43F
  393. 0x53, 0x6f, 0xdf, 0xe7, 0xdb, 0x65, 0xbb, 0x7f,
  394. 0xfa, 0xff, 0x77, 0xf3, 0xef, 0xbf, 0xfd, 0xf7,
  395. 0xdf, 0xdf, 0x9b, 0x7f, 0xff, 0xff, 0x7f, 0x6f,
  396. 0xf7, 0xfb, 0xeb, 0xdf, 0xbc, 0xff, 0xbf, 0x6b,
  397. 0x7b, 0xfb, 0xff, 0xce, 0x76, 0xbd, 0xf7, 0xf7,
  398. 0xdf, 0xdc, 0xf7, 0xf7, 0xff, 0xdf, 0xf3, 0xfe,
  399. 0xef, 0xff, 0xff, 0xff, 0xb6, 0x7f, 0x7f, 0xde,
  400. 0xf7, 0xb9, 0xeb, 0x77, 0xff, 0xfb, 0xbf, 0xdf,
  401. // Entry 440 - 47F
  402. 0xfd, 0xfe, 0xfb, 0xff, 0xfe, 0xeb, 0x1f, 0x7d,
  403. 0x2f, 0xfd, 0xb6, 0xb5, 0xa5, 0xfc, 0xff, 0xfd,
  404. 0x7f, 0x4e, 0xbf, 0x8f, 0xae, 0xff, 0xee, 0xdf,
  405. 0x7f, 0xf7, 0x73, 0x02, 0x02, 0x04, 0xfc, 0xf7,
  406. 0xff, 0xb7, 0xd7, 0xef, 0xfe, 0xcd, 0xf5, 0xce,
  407. 0xe2, 0x8e, 0xe7, 0xbf, 0xb7, 0xff, 0x56, 0xbd,
  408. 0xcd, 0xff, 0xfb, 0xff, 0xdf, 0xd7, 0xea, 0xff,
  409. 0xe5, 0x5f, 0x6d, 0x0f, 0xa7, 0x51, 0x06, 0xc4,
  410. // Entry 480 - 4BF
  411. 0x13, 0x50, 0x5d, 0xaf, 0xa6, 0xfd, 0x99, 0xfb,
  412. 0x63, 0x1d, 0x53, 0xff, 0xef, 0xb7, 0x35, 0x20,
  413. 0x14, 0x00, 0x55, 0x51, 0x82, 0x65, 0xf5, 0x41,
  414. 0xe2, 0xff, 0xfc, 0xdf, 0x00, 0x05, 0xc5, 0x05,
  415. 0x00, 0x22, 0x00, 0x74, 0x69, 0x10, 0x08, 0x04,
  416. 0x41, 0x00, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00,
  417. 0x00, 0x51, 0x20, 0x05, 0x04, 0x01, 0x00, 0x00,
  418. 0x06, 0x01, 0x20, 0x00, 0x18, 0x01, 0x92, 0xb1,
  419. // Entry 4C0 - 4FF
  420. 0xfd, 0x47, 0x49, 0x06, 0x95, 0x06, 0x57, 0xed,
  421. 0xfb, 0x4c, 0x1c, 0x6b, 0x83, 0x04, 0x62, 0x40,
  422. 0x00, 0x11, 0x42, 0x00, 0x00, 0x00, 0x54, 0x83,
  423. 0xb8, 0x4f, 0x10, 0x8c, 0x89, 0x46, 0xde, 0xf7,
  424. 0x13, 0x31, 0x00, 0x20, 0x00, 0x00, 0x00, 0x90,
  425. 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x10, 0x00,
  426. 0x01, 0x00, 0x00, 0xf0, 0x5b, 0xf4, 0xbe, 0x3d,
  427. 0xba, 0xcf, 0xf7, 0xaf, 0x42, 0x04, 0x84, 0x41,
  428. // Entry 500 - 53F
  429. 0x30, 0xff, 0x79, 0x72, 0x04, 0x00, 0x00, 0x49,
  430. 0x2d, 0x14, 0x27, 0x57, 0xed, 0xf1, 0x3f, 0xe7,
  431. 0x3f, 0x00, 0x00, 0x02, 0xc6, 0xa0, 0x1e, 0xf8,
  432. 0xbb, 0xff, 0xfd, 0xfb, 0xb7, 0xfd, 0xe5, 0xf7,
  433. 0xfd, 0xfc, 0xd5, 0xed, 0x47, 0xf4, 0x7e, 0x10,
  434. 0x01, 0x01, 0x84, 0x6d, 0xff, 0xf7, 0xdd, 0xf9,
  435. 0x5b, 0x05, 0x86, 0xed, 0xf5, 0x77, 0xbd, 0x3c,
  436. 0x00, 0x00, 0x00, 0x42, 0x71, 0x42, 0x00, 0x40,
  437. // Entry 540 - 57F
  438. 0x00, 0x00, 0x01, 0x43, 0x19, 0x00, 0x08, 0x00,
  439. 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  440. 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  441. 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  442. 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  443. 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  444. 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  445. 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  446. // Entry 580 - 5BF
  447. 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  448. 0xff, 0xab, 0xbd, 0xe7, 0x57, 0xee, 0x13, 0x5d,
  449. 0x09, 0xc1, 0x40, 0x21, 0xfa, 0x17, 0x01, 0x80,
  450. 0x00, 0x00, 0x00, 0x00, 0xf0, 0xce, 0xfb, 0xbf,
  451. 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
  452. 0x00, 0x30, 0x15, 0xa3, 0x10, 0x00, 0x00, 0x00,
  453. 0x11, 0x04, 0x16, 0x00, 0x00, 0x02, 0x00, 0x81,
  454. 0xa3, 0x01, 0x50, 0x00, 0x00, 0x83, 0x11, 0x40,
  455. // Entry 5C0 - 5FF
  456. 0x00, 0x00, 0x00, 0xf0, 0xdd, 0x7b, 0x3e, 0x02,
  457. 0xaa, 0x10, 0x5d, 0x98, 0x52, 0x00, 0x80, 0x20,
  458. 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x02, 0x02,
  459. 0x19, 0x00, 0x10, 0x02, 0x10, 0x61, 0x5a, 0x9d,
  460. 0x31, 0x00, 0x00, 0x00, 0x01, 0x10, 0x02, 0x20,
  461. 0x00, 0x00, 0x01, 0x00, 0x42, 0x00, 0x20, 0x00,
  462. 0x00, 0x1f, 0xdf, 0xd2, 0xb9, 0xff, 0xfd, 0x3f,
  463. 0x1f, 0x98, 0xcf, 0x9c, 0xbf, 0xaf, 0x5f, 0xfe,
  464. // Entry 600 - 63F
  465. 0x7b, 0x4b, 0x40, 0x10, 0xe1, 0xfd, 0xaf, 0xd9,
  466. 0xb7, 0xf6, 0xfb, 0xb3, 0xc7, 0xff, 0x6f, 0xf1,
  467. 0x73, 0xb1, 0x7f, 0x9f, 0x7f, 0xbd, 0xfc, 0xb7,
  468. 0xee, 0x1c, 0xfa, 0xcb, 0xef, 0xdd, 0xf9, 0xbd,
  469. 0x6e, 0xae, 0x55, 0xfd, 0x6e, 0x81, 0x76, 0x1f,
  470. 0xd4, 0x77, 0xf5, 0x7d, 0xfb, 0xff, 0xeb, 0xfe,
  471. 0xbe, 0x5f, 0x46, 0x1b, 0xe9, 0x5f, 0x50, 0x18,
  472. 0x02, 0xfa, 0xf7, 0x9d, 0x15, 0x97, 0x05, 0x0f,
  473. // Entry 640 - 67F
  474. 0x75, 0xc4, 0x7d, 0x81, 0x92, 0xf1, 0x57, 0x6c,
  475. 0xff, 0xe4, 0xef, 0x6f, 0xff, 0xfc, 0xdd, 0xde,
  476. 0xfc, 0xfd, 0x76, 0x5f, 0x7a, 0x1f, 0x00, 0x98,
  477. 0x02, 0xfb, 0xa3, 0xef, 0xf3, 0xd6, 0xf2, 0xff,
  478. 0xb9, 0xda, 0x7d, 0x50, 0x1e, 0x15, 0x7b, 0xb4,
  479. 0xf5, 0x3e, 0xff, 0xff, 0xf1, 0xf7, 0xff, 0xe7,
  480. 0x5f, 0xff, 0xff, 0x9e, 0xdb, 0xf6, 0xd7, 0xb9,
  481. 0xef, 0x27, 0x80, 0xbb, 0xc5, 0xff, 0xff, 0xe3,
  482. // Entry 680 - 6BF
  483. 0x97, 0x9d, 0xbf, 0x9f, 0xf7, 0xc7, 0xfd, 0x37,
  484. 0xce, 0x7f, 0x04, 0x1d, 0x53, 0x7f, 0xf8, 0xda,
  485. 0x5d, 0xce, 0x7d, 0x06, 0xb9, 0xea, 0x69, 0xa0,
  486. 0x1a, 0x20, 0x00, 0x30, 0x02, 0x04, 0x24, 0x08,
  487. 0x04, 0x00, 0x00, 0x40, 0xd4, 0x02, 0x04, 0x00,
  488. 0x00, 0x04, 0x00, 0x04, 0x00, 0x20, 0x01, 0x06,
  489. 0x50, 0x00, 0x08, 0x00, 0x00, 0x00, 0x24, 0x00,
  490. 0x04, 0x00, 0x10, 0xcc, 0x58, 0xd5, 0x0d, 0x0f,
  491. // Entry 6C0 - 6FF
  492. 0x14, 0x4d, 0xf1, 0x16, 0x44, 0xd1, 0x42, 0x08,
  493. 0x40, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00,
  494. 0x00, 0xdc, 0xfb, 0xcb, 0x0e, 0x58, 0x08, 0x41,
  495. 0x04, 0x20, 0x04, 0x00, 0x30, 0x12, 0x40, 0x00,
  496. 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  497. 0x01, 0x00, 0x00, 0x00, 0x80, 0x10, 0x10, 0xab,
  498. 0x6d, 0x93, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  499. 0x00, 0x00, 0x00, 0x80, 0x80, 0x25, 0x00, 0x00,
  500. // Entry 700 - 73F
  501. 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
  502. 0x80, 0x86, 0xc2, 0x00, 0x00, 0x00, 0x00, 0x01,
  503. 0xdf, 0x18, 0x00, 0x00, 0x02, 0xf0, 0xfd, 0x79,
  504. 0x3b, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02, 0x00,
  505. 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
  506. 0x03, 0x00, 0x09, 0x20, 0x00, 0x00, 0x01, 0x00,
  507. 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
  508. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  509. // Entry 740 - 77F
  510. 0x00, 0x00, 0x00, 0xef, 0xd5, 0xfd, 0xcf, 0x7e,
  511. 0xb0, 0x11, 0x00, 0x00, 0x00, 0x92, 0x01, 0x44,
  512. 0xcd, 0xf9, 0x5c, 0x00, 0x01, 0x00, 0x30, 0x04,
  513. 0x04, 0x55, 0x00, 0x01, 0x04, 0xf4, 0x3f, 0x4a,
  514. 0x01, 0x00, 0x00, 0xb0, 0x80, 0x00, 0x55, 0x55,
  515. 0x97, 0x7c, 0x9f, 0x31, 0xcc, 0x68, 0xd1, 0x03,
  516. 0xd5, 0x57, 0x27, 0x14, 0x01, 0x00, 0x00, 0x00,
  517. 0x00, 0x00, 0x2c, 0xf7, 0xcb, 0x1f, 0x14, 0x60,
  518. // Entry 780 - 7BF
  519. 0x03, 0x68, 0x01, 0x10, 0x8b, 0x38, 0x8a, 0x01,
  520. 0x00, 0x00, 0x20, 0x00, 0x24, 0x44, 0x00, 0x00,
  521. 0x10, 0x03, 0x11, 0x02, 0x01, 0x00, 0x00, 0xf0,
  522. 0xf5, 0xff, 0xd5, 0x97, 0xbc, 0x70, 0xd6, 0x78,
  523. 0x78, 0x15, 0x50, 0x01, 0xa4, 0x84, 0xa9, 0x41,
  524. 0x00, 0x00, 0x00, 0x6b, 0x39, 0x52, 0x74, 0x00,
  525. 0xe8, 0x30, 0x90, 0x6a, 0x92, 0x00, 0x00, 0x02,
  526. 0xff, 0xef, 0xff, 0x4b, 0x85, 0x53, 0xf4, 0xed,
  527. // Entry 7C0 - 7FF
  528. 0xdd, 0xbf, 0x72, 0x19, 0xc7, 0x0c, 0xd5, 0x42,
  529. 0x54, 0xdd, 0x77, 0x14, 0x00, 0x80, 0x40, 0x56,
  530. 0xcc, 0x16, 0x9e, 0xea, 0x35, 0x7d, 0xef, 0xff,
  531. 0xbd, 0xa4, 0xaf, 0x01, 0x44, 0x18, 0x01, 0x4d,
  532. 0x4e, 0x4a, 0x08, 0x50, 0x28, 0x30, 0xe0, 0x80,
  533. 0x10, 0x20, 0x24, 0x00, 0xff, 0x2f, 0xd3, 0x60,
  534. 0xfe, 0x01, 0x02, 0x88, 0x0a, 0x40, 0x16, 0x01,
  535. 0x01, 0x15, 0x2b, 0x3c, 0x01, 0x00, 0x00, 0x10,
  536. // Entry 800 - 83F
  537. 0x90, 0x49, 0x41, 0x02, 0x02, 0x01, 0xe1, 0xbf,
  538. 0xbf, 0x03, 0x00, 0x00, 0x10, 0xd4, 0xa3, 0xd1,
  539. 0x40, 0x9c, 0x44, 0xdf, 0xf5, 0x8f, 0x66, 0xb3,
  540. 0x55, 0x20, 0xd4, 0xc1, 0xd8, 0x30, 0x3d, 0x80,
  541. 0x00, 0x00, 0x00, 0x04, 0xd4, 0x11, 0xc5, 0x84,
  542. 0x2e, 0x50, 0x00, 0x22, 0x50, 0x6e, 0xbd, 0x93,
  543. 0x07, 0x00, 0x20, 0x10, 0x84, 0xb2, 0x45, 0x10,
  544. 0x06, 0x44, 0x00, 0x00, 0x12, 0x02, 0x11, 0x00,
  545. // Entry 840 - 87F
  546. 0xf0, 0xfb, 0xfd, 0x3f, 0x05, 0x00, 0x12, 0x81,
  547. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x02,
  548. 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x02, 0x28,
  549. 0x84, 0x00, 0x23, 0xc0, 0x23, 0x24, 0x00, 0x00,
  550. 0x00, 0xcb, 0xe4, 0x3a, 0x42, 0x88, 0x14, 0xf1,
  551. 0xef, 0xff, 0x7f, 0x12, 0x01, 0x01, 0x84, 0x50,
  552. 0x07, 0xfc, 0xff, 0xff, 0x0f, 0x01, 0x00, 0x40,
  553. 0x10, 0x38, 0x01, 0x01, 0x1c, 0x12, 0x40, 0xe1,
  554. // Entry 880 - 8BF
  555. 0x76, 0x16, 0x08, 0x03, 0x10, 0x00, 0x00, 0x00,
  556. 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x24,
  557. 0x0a, 0x00, 0x80, 0x00, 0x00,
  558. }
  559. // altLangISO3 holds an alphabetically sorted list of 3-letter language code alternatives
  560. // to 2-letter language codes that cannot be derived using the method described above.
  561. // Each 3-letter code is followed by its 1-byte langID.
  562. const altLangISO3 tag.Index = "---\x00cor\x00hbs\x01heb\x02kin\x03spa\x04yid\x05\xff\xff\xff\xff"
  563. // altLangIndex is used to convert indexes in altLangISO3 to langIDs.
  564. // Size: 12 bytes, 6 elements
  565. var altLangIndex = [6]uint16{
  566. 0x027f, 0x0405, 0x01f9, 0x03e3, 0x013d, 0x0206,
  567. }
  568. // langAliasMap maps langIDs to their suggested replacements.
  569. // Size: 656 bytes, 164 elements
  570. var langAliasMap = [164]fromTo{
  571. 0: {from: 0x82, to: 0x88},
  572. 1: {from: 0x185, to: 0x1ac},
  573. 2: {from: 0x1f1, to: 0x1df},
  574. 3: {from: 0x1f9, to: 0x1ba},
  575. 4: {from: 0x206, to: 0x510},
  576. 5: {from: 0x20d, to: 0x20c},
  577. 6: {from: 0x30e, to: 0x3da},
  578. 7: {from: 0x345, to: 0x36d},
  579. 8: {from: 0x405, to: 0x430},
  580. 9: {from: 0x478, to: 0x152},
  581. 10: {from: 0x48e, to: 0x44f},
  582. 11: {from: 0x4a0, to: 0x21},
  583. 12: {from: 0x53b, to: 0x541},
  584. 13: {from: 0x58c, to: 0x12c},
  585. 14: {from: 0x62d, to: 0x1eae},
  586. 15: {from: 0x64e, to: 0x42f},
  587. 16: {from: 0x65f, to: 0x42f},
  588. 17: {from: 0x6ea, to: 0x3a},
  589. 18: {from: 0x6f5, to: 0x1d5},
  590. 19: {from: 0x73b, to: 0x219e},
  591. 20: {from: 0x7b0, to: 0x56},
  592. 21: {from: 0x7b6, to: 0x2998},
  593. 22: {from: 0x7c2, to: 0x58},
  594. 23: {from: 0x7e3, to: 0x144},
  595. 24: {from: 0x809, to: 0x5a},
  596. 25: {from: 0x812, to: 0x8d},
  597. 26: {from: 0x87b, to: 0x80d},
  598. 27: {from: 0x8c0, to: 0xee0},
  599. 28: {from: 0x9ec, to: 0x32f},
  600. 29: {from: 0xa33, to: 0x2c3},
  601. 30: {from: 0xa3a, to: 0xbf},
  602. 31: {from: 0xabb, to: 0x331f},
  603. 32: {from: 0xb35, to: 0x527},
  604. 33: {from: 0xb72, to: 0x2657},
  605. 34: {from: 0xb7b, to: 0xbc0},
  606. 35: {from: 0xb98, to: 0x44c},
  607. 36: {from: 0xbb9, to: 0x4226},
  608. 37: {from: 0xbbc, to: 0x527},
  609. 38: {from: 0xbfb, to: 0x2da4},
  610. 39: {from: 0xc2b, to: 0x317e},
  611. 40: {from: 0xcb6, to: 0xf2},
  612. 41: {from: 0xd05, to: 0xf9},
  613. 42: {from: 0xdc5, to: 0x119},
  614. 43: {from: 0xdd4, to: 0x32b},
  615. 44: {from: 0xdf5, to: 0xdf8},
  616. 45: {from: 0xdfb, to: 0x52e},
  617. 46: {from: 0xedc, to: 0x2057},
  618. 47: {from: 0xeeb, to: 0x2e97},
  619. 48: {from: 0xf36, to: 0x365},
  620. 49: {from: 0x10cd, to: 0x13f},
  621. 50: {from: 0x1101, to: 0x2ce},
  622. 51: {from: 0x119d, to: 0x1ea},
  623. 52: {from: 0x1276, to: 0x21},
  624. 53: {from: 0x1421, to: 0x15d},
  625. 54: {from: 0x146d, to: 0x14d},
  626. 55: {from: 0x151c, to: 0xd98},
  627. 56: {from: 0x1520, to: 0x38e},
  628. 57: {from: 0x152f, to: 0x19d},
  629. 58: {from: 0x157d, to: 0x20e},
  630. 59: {from: 0x1580, to: 0x10c},
  631. 60: {from: 0x15a0, to: 0x3cac},
  632. 61: {from: 0x1667, to: 0x199},
  633. 62: {from: 0x16c5, to: 0x135},
  634. 63: {from: 0x16fd, to: 0x29f5},
  635. 64: {from: 0x1715, to: 0x192},
  636. 65: {from: 0x1724, to: 0xf3c},
  637. 66: {from: 0x1777, to: 0x1521},
  638. 67: {from: 0x1806, to: 0x17b3},
  639. 68: {from: 0x1813, to: 0x18f0},
  640. 69: {from: 0x1887, to: 0x434},
  641. 70: {from: 0x1976, to: 0x1cfe},
  642. 71: {from: 0x1a71, to: 0x2bad},
  643. 72: {from: 0x1a87, to: 0x1f6},
  644. 73: {from: 0x1b57, to: 0x1f8},
  645. 74: {from: 0x1b83, to: 0x1512},
  646. 75: {from: 0x1d61, to: 0x2c98},
  647. 76: {from: 0x2035, to: 0x37ae},
  648. 77: {from: 0x203a, to: 0x20da},
  649. 78: {from: 0x2057, to: 0x309},
  650. 79: {from: 0x20e0, to: 0x272},
  651. 80: {from: 0x20eb, to: 0x261},
  652. 81: {from: 0x20ef, to: 0x22b},
  653. 82: {from: 0x20f6, to: 0x254},
  654. 83: {from: 0x210c, to: 0x21e8},
  655. 84: {from: 0x2132, to: 0x27b},
  656. 85: {from: 0x215d, to: 0x910},
  657. 86: {from: 0x2196, to: 0x120},
  658. 87: {from: 0x21cb, to: 0x155e},
  659. 88: {from: 0x21e3, to: 0x502},
  660. 89: {from: 0x21f1, to: 0x49d},
  661. 90: {from: 0x222a, to: 0x120},
  662. 91: {from: 0x2234, to: 0x120},
  663. 92: {from: 0x225f, to: 0x927},
  664. 93: {from: 0x2313, to: 0x3223},
  665. 94: {from: 0x237f, to: 0x3362},
  666. 95: {from: 0x246f, to: 0x2c5},
  667. 96: {from: 0x24e1, to: 0x2fd},
  668. 97: {from: 0x24ed, to: 0x2f8},
  669. 98: {from: 0x24f7, to: 0x31d},
  670. 99: {from: 0x254d, to: 0xb58},
  671. 100: {from: 0x25a6, to: 0xe2},
  672. 101: {from: 0x263b, to: 0x2ce},
  673. 102: {from: 0x26c6, to: 0x26b1},
  674. 103: {from: 0x26f6, to: 0x3c6},
  675. 104: {from: 0x2724, to: 0x3cac},
  676. 105: {from: 0x2762, to: 0x26b1},
  677. 106: {from: 0x2786, to: 0x4355},
  678. 107: {from: 0x28ec, to: 0x2834},
  679. 108: {from: 0x2911, to: 0x34f},
  680. 109: {from: 0x2983, to: 0x2da4},
  681. 110: {from: 0x2b17, to: 0x38b},
  682. 111: {from: 0x2bf9, to: 0x393},
  683. 112: {from: 0x2c3c, to: 0x3cac},
  684. 113: {from: 0x2cf9, to: 0x3bc},
  685. 114: {from: 0x2d10, to: 0x594},
  686. 115: {from: 0x2d44, to: 0x147},
  687. 116: {from: 0x2d45, to: 0x147},
  688. 117: {from: 0x2dfc, to: 0x2ef},
  689. 118: {from: 0x2e05, to: 0x19c9},
  690. 119: {from: 0x2e17, to: 0x2d92},
  691. 120: {from: 0x2e1e, to: 0x290},
  692. 121: {from: 0x2e51, to: 0x7d},
  693. 122: {from: 0x2e62, to: 0x227f},
  694. 123: {from: 0x2e9d, to: 0x2e98},
  695. 124: {from: 0x2eec, to: 0x2ed4},
  696. 125: {from: 0x3190, to: 0x3c2},
  697. 126: {from: 0x3363, to: 0x338b},
  698. 127: {from: 0x3427, to: 0x3da},
  699. 128: {from: 0x34eb, to: 0x18cd},
  700. 129: {from: 0x35c5, to: 0x2c98},
  701. 130: {from: 0x35e3, to: 0x410},
  702. 131: {from: 0x3655, to: 0x244},
  703. 132: {from: 0x3673, to: 0x3f2},
  704. 133: {from: 0x36fa, to: 0x443},
  705. 134: {from: 0x37bd, to: 0x120},
  706. 135: {from: 0x3813, to: 0x38ef},
  707. 136: {from: 0x3828, to: 0x2c98},
  708. 137: {from: 0x382c, to: 0xa9},
  709. 138: {from: 0x382f, to: 0x3225},
  710. 139: {from: 0x3869, to: 0x39a3},
  711. 140: {from: 0x388f, to: 0x3fbd},
  712. 141: {from: 0x38a2, to: 0x39d4},
  713. 142: {from: 0x38b1, to: 0x1fa1},
  714. 143: {from: 0x38b2, to: 0x2e97},
  715. 144: {from: 0x3959, to: 0x47c},
  716. 145: {from: 0x3b4b, to: 0xd8e},
  717. 146: {from: 0x3b75, to: 0x136},
  718. 147: {from: 0x3c96, to: 0x4ba},
  719. 148: {from: 0x3fba, to: 0xff},
  720. 149: {from: 0x4205, to: 0xa8e},
  721. 150: {from: 0x42bb, to: 0x570},
  722. 151: {from: 0x42f6, to: 0x3f5d},
  723. 152: {from: 0x4375, to: 0x258},
  724. 153: {from: 0x43c8, to: 0x36c8},
  725. 154: {from: 0x43ca, to: 0x10e},
  726. 155: {from: 0x44ac, to: 0x331f},
  727. 156: {from: 0x44e0, to: 0x510},
  728. 157: {from: 0x45c7, to: 0x2406},
  729. 158: {from: 0x45da, to: 0x26d9},
  730. 159: {from: 0x460d, to: 0x48ab},
  731. 160: {from: 0x46ab, to: 0x469d},
  732. 161: {from: 0x473b, to: 0x4742},
  733. 162: {from: 0x4913, to: 0x31d},
  734. 163: {from: 0x49a4, to: 0x521},
  735. }
  736. // Size: 164 bytes, 164 elements
  737. var langAliasTypes = [164]langAliasType{
  738. // Entry 0 - 3F
  739. 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 1, 0, 0, 1, 2,
  740. 1, 1, 2, 0, 1, 0, 1, 2, 1, 1, 0, 0, 2, 1, 1, 0,
  741. 2, 0, 0, 1, 0, 1, 0, 0, 1, 2, 1, 1, 1, 1, 0, 0,
  742. 2, 1, 1, 1, 1, 2, 1, 0, 1, 1, 2, 2, 0, 1, 2, 0,
  743. // Entry 40 - 7F
  744. 1, 0, 1, 1, 1, 1, 0, 0, 2, 1, 0, 0, 0, 0, 1, 1,
  745. 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
  746. 2, 2, 2, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1,
  747. 0, 1, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 2,
  748. // Entry 80 - BF
  749. 0, 0, 2, 1, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
  750. 1, 1, 0, 1, 2, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0,
  751. 0, 1, 1, 1,
  752. }
  753. const (
  754. _Latn = 85
  755. _Hani = 53
  756. _Hans = 55
  757. _Hant = 56
  758. _Qaaa = 136
  759. _Qaai = 144
  760. _Qabx = 185
  761. _Zinh = 231
  762. _Zyyy = 236
  763. _Zzzz = 237
  764. )
  765. // script is an alphabetically sorted list of ISO 15924 codes. The index
  766. // of the script in the string, divided by 4, is the internal scriptID.
  767. const script tag.Index = "" + // Size: 956 bytes
  768. "----AdlmAfakAghbAhomArabAranArmiArmnAvstBaliBamuBassBatkBengBhksBlisBopo" +
  769. "BrahBraiBugiBuhdCakmCansCariChamCherCirtCoptCprtCyrlCyrsDevaDogrDsrtDupl" +
  770. "EgydEgyhEgypElbaEthiGeokGeorGlagGongGonmGothGranGrekGujrGuruHanbHangHani" +
  771. "HanoHansHantHatrHebrHiraHluwHmngHrktHungIndsItalJamoJavaJpanJurcKaliKana" +
  772. "KharKhmrKhojKitlKitsKndaKoreKpelKthiLanaLaooLatfLatgLatnLekeLepcLimbLina" +
  773. "LinbLisuLomaLyciLydiMahjMakaMandManiMarcMayaMedfMendMercMeroMlymModiMong" +
  774. "MoonMrooMteiMultMymrNarbNbatNewaNkgbNkooNshuOgamOlckOrkhOryaOsgeOsmaPalm" +
  775. "PaucPermPhagPhliPhlpPhlvPhnxPiqdPlrdPrtiQaaaQaabQaacQaadQaaeQaafQaagQaah" +
  776. "QaaiQaajQaakQaalQaamQaanQaaoQaapQaaqQaarQaasQaatQaauQaavQaawQaaxQaayQaaz" +
  777. "QabaQabbQabcQabdQabeQabfQabgQabhQabiQabjQabkQablQabmQabnQaboQabpQabqQabr" +
  778. "QabsQabtQabuQabvQabwQabxRjngRoroRunrSamrSaraSarbSaurSgnwShawShrdSiddSind" +
  779. "SinhSoraSoyoSundSyloSyrcSyreSyrjSyrnTagbTakrTaleTaluTamlTangTavtTeluTeng" +
  780. "TfngTglgThaaThaiTibtTirhUgarVaiiVispWaraWoleXpeoXsuxYiiiZanbZinhZmthZsye" +
  781. "ZsymZxxxZyyyZzzz\xff\xff\xff\xff"
  782. // suppressScript is an index from langID to the dominant script for that language,
  783. // if it exists. If a script is given, it should be suppressed from the language tag.
  784. // Size: 1327 bytes, 1327 elements
  785. var suppressScript = [1327]uint8{
  786. // Entry 0 - 3F
  787. 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00,
  788. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  789. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00,
  790. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  791. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28,
  792. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  793. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  794. 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
  795. // Entry 40 - 7F
  796. 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00,
  797. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  798. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00,
  799. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  800. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  801. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  802. 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  803. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00,
  804. // Entry 80 - BF
  805. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  806. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  807. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  808. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  809. 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
  810. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  811. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
  812. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  813. // Entry C0 - FF
  814. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  815. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  816. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
  817. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  818. 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  819. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  820. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  821. 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
  822. // Entry 100 - 13F
  823. 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  824. 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00,
  825. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  826. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00,
  827. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda,
  828. 0x00, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00,
  829. 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00,
  830. 0x55, 0x00, 0x00, 0x55, 0x00, 0x55, 0x00, 0x55,
  831. // Entry 140 - 17F
  832. 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x05,
  833. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  834. 0x55, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x55,
  835. 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
  836. 0x55, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  837. 0x00, 0x00, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00,
  838. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  839. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  840. // Entry 180 - 1BF
  841. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  842. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00,
  843. 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00,
  844. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  845. 0x00, 0x55, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00,
  846. 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00,
  847. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  848. 0x00, 0x00, 0x3a, 0x00, 0x20, 0x00, 0x00, 0x00,
  849. // Entry 1C0 - 1FF
  850. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  851. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
  852. 0x55, 0x00, 0x55, 0x55, 0x00, 0x08, 0x00, 0x00,
  853. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
  854. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  855. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  856. 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x55, 0x55,
  857. 0x00, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00,
  858. // Entry 200 - 23F
  859. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  860. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00,
  861. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  862. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  863. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  864. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  865. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  866. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  867. // Entry 240 - 27F
  868. 0x1e, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00,
  869. 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d,
  870. 0x00, 0x00, 0x4e, 0x00, 0x20, 0x00, 0x00, 0x00,
  871. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  872. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  873. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  874. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  875. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  876. // Entry 280 - 2BF
  877. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  878. 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00,
  879. 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00,
  880. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  881. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  882. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  883. 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x52, 0x00,
  884. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00,
  885. // Entry 2C0 - 2FF
  886. 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
  887. 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
  888. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  889. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  890. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00,
  891. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
  892. 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
  893. 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00,
  894. // Entry 300 - 33F
  895. 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00,
  896. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00,
  897. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  898. 0x00, 0x20, 0x00, 0x00, 0x00, 0x55, 0x55, 0x00,
  899. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  900. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
  901. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  902. 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00,
  903. // Entry 340 - 37F
  904. 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
  905. 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x55, 0x20,
  906. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  907. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
  908. 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
  909. 0x55, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
  910. 0x00, 0x00, 0x00, 0x75, 0x55, 0x00, 0x00, 0x00,
  911. 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  912. // Entry 380 - 3BF
  913. 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
  914. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00,
  915. 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00, 0x00,
  916. 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00,
  917. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  918. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  919. 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  920. 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x55, 0x00,
  921. // Entry 3C0 - 3FF
  922. 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00,
  923. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  924. 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x55,
  925. 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00,
  926. 0x1e, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00,
  927. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  928. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  929. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  930. // Entry 400 - 43F
  931. 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  932. 0x00, 0x00, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00,
  933. 0x55, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00,
  934. 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  935. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
  936. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
  937. 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
  938. 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  939. // Entry 440 - 47F
  940. 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, 0x00, 0x00,
  941. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd3, 0x00,
  942. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  943. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd6,
  944. 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  945. 0x00, 0xdb, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00,
  946. 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
  947. 0x55, 0x00, 0x00, 0x00, 0x55, 0x00, 0x55, 0x00,
  948. // Entry 480 - 4BF
  949. 0x55, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00,
  950. 0x55, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00,
  951. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  952. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00,
  953. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  954. 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
  955. 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
  956. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00,
  957. // Entry 4C0 - 4FF
  958. 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  959. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  960. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  961. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  962. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  963. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  964. 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  965. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  966. // Entry 500 - 53F
  967. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  968. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  969. 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  970. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  971. 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
  972. 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
  973. }
  974. const (
  975. _001 = 1
  976. _419 = 31
  977. _BR = 65
  978. _CA = 73
  979. _ES = 110
  980. _GB = 123
  981. _MD = 188
  982. _PT = 238
  983. _UK = 306
  984. _US = 309
  985. _ZZ = 357
  986. _XA = 323
  987. _XC = 325
  988. _XK = 333
  989. )
  990. // isoRegionOffset needs to be added to the index of regionISO to obtain the regionID
  991. // for 2-letter ISO codes. (The first isoRegionOffset regionIDs are reserved for
  992. // the UN.M49 codes used for groups.)
  993. const isoRegionOffset = 32
  994. // regionTypes defines the status of a region for various standards.
  995. // Size: 358 bytes, 358 elements
  996. var regionTypes = [358]uint8{
  997. // Entry 0 - 3F
  998. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  999. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1000. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1001. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1002. 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
  1003. 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
  1004. 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
  1005. 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
  1006. // Entry 40 - 7F
  1007. 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x06, 0x06,
  1008. 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
  1009. 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x04,
  1010. 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04,
  1011. 0x06, 0x04, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06,
  1012. 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
  1013. 0x06, 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00,
  1014. 0x06, 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
  1015. // Entry 80 - BF
  1016. 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
  1017. 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
  1018. 0x06, 0x06, 0x06, 0x00, 0x04, 0x06, 0x06, 0x06,
  1019. 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
  1020. 0x06, 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06,
  1021. 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
  1022. 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
  1023. 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
  1024. // Entry C0 - FF
  1025. 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
  1026. 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
  1027. 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00,
  1028. 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x04, 0x06,
  1029. 0x06, 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06,
  1030. 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00,
  1031. 0x06, 0x06, 0x00, 0x06, 0x05, 0x05, 0x05, 0x05,
  1032. 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
  1033. // Entry 100 - 13F
  1034. 0x05, 0x05, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06,
  1035. 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
  1036. 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
  1037. 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x06,
  1038. 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
  1039. 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
  1040. 0x06, 0x06, 0x02, 0x06, 0x04, 0x06, 0x06, 0x06,
  1041. 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06,
  1042. // Entry 140 - 17F
  1043. 0x06, 0x00, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05,
  1044. 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
  1045. 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
  1046. 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x06, 0x06,
  1047. 0x04, 0x06, 0x06, 0x04, 0x06, 0x05,
  1048. }
  1049. // regionISO holds a list of alphabetically sorted 2-letter ISO region codes.
  1050. // Each 2-letter codes is followed by two bytes with the following meaning:
  1051. // - [A-Z}{2}: the first letter of the 2-letter code plus these two
  1052. // letters form the 3-letter ISO code.
  1053. // - 0, n: index into altRegionISO3.
  1054. const regionISO tag.Index = "" + // Size: 1308 bytes
  1055. "AAAAACSCADNDAEREAFFGAGTGAIIAALLBAMRMANNTAOGOAQTAARRGASSMATUTAUUSAWBWAXLA" +
  1056. "AZZEBAIHBBRBBDGDBEELBFFABGGRBHHRBIDIBJENBLLMBMMUBNRNBOOLBQESBRRABSHSBTTN" +
  1057. "BUURBVVTBWWABYLRBZLZCAANCCCKCDODCFAFCGOGCHHECIIVCKOKCLHLCMMRCNHNCOOLCPPT" +
  1058. "CRRICS\x00\x00CTTECUUBCVPVCWUWCXXRCYYPCZZEDDDRDEEUDGGADJJIDKNKDMMADOOMDY" +
  1059. "HYDZZAEA ECCUEESTEGGYEHSHERRIESSPETTHEU\x00\x03EZ FIINFJJIFKLKFMSMFORO" +
  1060. "FQ\x00\x18FRRAFXXXGAABGBBRGDRDGEEOGFUFGGGYGHHAGIIBGLRLGMMBGNINGPLPGQNQGR" +
  1061. "RCGS\x00\x06GTTMGUUMGWNBGYUYHKKGHMMDHNNDHRRVHTTIHUUNHVVOIC IDDNIERLILSR" +
  1062. "IMMNINNDIOOTIQRQIRRNISSLITTAJEEYJMAMJOORJPPNJTTNKEENKGGZKHHMKIIRKM\x00" +
  1063. "\x09KNNAKP\x00\x0cKRORKWWTKY\x00\x0fKZAZLAAOLBBNLCCALIIELKKALRBRLSSOLTTU" +
  1064. "LUUXLVVALYBYMAARMCCOMDDAMENEMFAFMGDGMHHLMIIDMKKDMLLIMMMRMNNGMOACMPNPMQTQ" +
  1065. "MRRTMSSRMTLTMUUSMVDVMWWIMXEXMYYSMZOZNAAMNCCLNEERNFFKNGGANHHBNIICNLLDNOOR" +
  1066. "NPPLNQ\x00\x1eNRRUNTTZNUIUNZZLOMMNPAANPCCIPEERPFYFPGNGPHHLPKAKPLOLPM\x00" +
  1067. "\x12PNCNPRRIPSSEPTRTPUUSPWLWPYRYPZCZQAATQMMMQNNNQOOOQPPPQQQQQRRRQSSSQTTT" +
  1068. "QU\x00\x03QVVVQWWWQXXXQYYYQZZZREEURHHOROOURS\x00\x15RUUSRWWASAAUSBLBSCYC" +
  1069. "SDDNSEWESGGPSHHNSIVNSJJMSKVKSLLESMMRSNENSOOMSRURSSSDSTTPSUUNSVLVSXXMSYYR" +
  1070. "SZWZTAAATCCATDCDTF\x00\x18TGGOTHHATJJKTKKLTLLSTMKMTNUNTOONTPMPTRURTTTOTV" +
  1071. "UVTWWNTZZAUAKRUGGAUK UMMIUN USSAUYRYUZZBVAATVCCTVDDRVEENVGGBVIIRVNNMVU" +
  1072. "UTWFLFWKAKWSSMXAAAXBBBXCCCXDDDXEEEXFFFXGGGXHHHXIIIXJJJXKKKXLLLXMMMXNNNXO" +
  1073. "OOXPPPXQQQXRRRXSSSXTTTXUUUXVVVXWWWXXXXXYYYXZZZYDMDYEEMYT\x00\x1bYUUGZAAF" +
  1074. "ZMMBZRARZWWEZZZZ\xff\xff\xff\xff"
  1075. // altRegionISO3 holds a list of 3-letter region codes that cannot be
  1076. // mapped to 2-letter codes using the default algorithm. This is a short list.
  1077. const altRegionISO3 string = "SCGQUUSGSCOMPRKCYMSPMSRBATFMYTATN"
  1078. // altRegionIDs holds a list of regionIDs the positions of which match those
  1079. // of the 3-letter ISO codes in altRegionISO3.
  1080. // Size: 22 bytes, 11 elements
  1081. var altRegionIDs = [11]uint16{
  1082. 0x0057, 0x0070, 0x0088, 0x00a8, 0x00aa, 0x00ad, 0x00ea, 0x0105,
  1083. 0x0121, 0x015f, 0x00dc,
  1084. }
  1085. // Size: 80 bytes, 20 elements
  1086. var regionOldMap = [20]fromTo{
  1087. 0: {from: 0x44, to: 0xc4},
  1088. 1: {from: 0x58, to: 0xa7},
  1089. 2: {from: 0x5f, to: 0x60},
  1090. 3: {from: 0x66, to: 0x3b},
  1091. 4: {from: 0x79, to: 0x78},
  1092. 5: {from: 0x93, to: 0x37},
  1093. 6: {from: 0xa3, to: 0x133},
  1094. 7: {from: 0xc1, to: 0x133},
  1095. 8: {from: 0xd7, to: 0x13f},
  1096. 9: {from: 0xdc, to: 0x2b},
  1097. 10: {from: 0xef, to: 0x133},
  1098. 11: {from: 0xf2, to: 0xe2},
  1099. 12: {from: 0xfc, to: 0x70},
  1100. 13: {from: 0x103, to: 0x164},
  1101. 14: {from: 0x12a, to: 0x126},
  1102. 15: {from: 0x132, to: 0x7b},
  1103. 16: {from: 0x13a, to: 0x13e},
  1104. 17: {from: 0x141, to: 0x133},
  1105. 18: {from: 0x15d, to: 0x15e},
  1106. 19: {from: 0x163, to: 0x4b},
  1107. }
  1108. // m49 maps regionIDs to UN.M49 codes. The first isoRegionOffset entries are
  1109. // codes indicating collections of regions.
  1110. // Size: 716 bytes, 358 elements
  1111. var m49 = [358]int16{
  1112. // Entry 0 - 3F
  1113. 0, 1, 2, 3, 5, 9, 11, 13,
  1114. 14, 15, 17, 18, 19, 21, 29, 30,
  1115. 34, 35, 39, 53, 54, 57, 61, 142,
  1116. 143, 145, 150, 151, 154, 155, 202, 419,
  1117. 958, 0, 20, 784, 4, 28, 660, 8,
  1118. 51, 530, 24, 10, 32, 16, 40, 36,
  1119. 533, 248, 31, 70, 52, 50, 56, 854,
  1120. 100, 48, 108, 204, 652, 60, 96, 68,
  1121. // Entry 40 - 7F
  1122. 535, 76, 44, 64, 104, 74, 72, 112,
  1123. 84, 124, 166, 180, 140, 178, 756, 384,
  1124. 184, 152, 120, 156, 170, 0, 188, 891,
  1125. 296, 192, 132, 531, 162, 196, 203, 278,
  1126. 276, 0, 262, 208, 212, 214, 204, 12,
  1127. 0, 218, 233, 818, 732, 232, 724, 231,
  1128. 967, 0, 246, 242, 238, 583, 234, 0,
  1129. 250, 249, 266, 826, 308, 268, 254, 831,
  1130. // Entry 80 - BF
  1131. 288, 292, 304, 270, 324, 312, 226, 300,
  1132. 239, 320, 316, 624, 328, 344, 334, 340,
  1133. 191, 332, 348, 854, 0, 360, 372, 376,
  1134. 833, 356, 86, 368, 364, 352, 380, 832,
  1135. 388, 400, 392, 581, 404, 417, 116, 296,
  1136. 174, 659, 408, 410, 414, 136, 398, 418,
  1137. 422, 662, 438, 144, 430, 426, 440, 442,
  1138. 428, 434, 504, 492, 498, 499, 663, 450,
  1139. // Entry C0 - FF
  1140. 584, 581, 807, 466, 104, 496, 446, 580,
  1141. 474, 478, 500, 470, 480, 462, 454, 484,
  1142. 458, 508, 516, 540, 562, 574, 566, 548,
  1143. 558, 528, 578, 524, 10, 520, 536, 570,
  1144. 554, 512, 591, 0, 604, 258, 598, 608,
  1145. 586, 616, 666, 612, 630, 275, 620, 581,
  1146. 585, 600, 591, 634, 959, 960, 961, 962,
  1147. 963, 964, 965, 966, 967, 968, 969, 970,
  1148. // Entry 100 - 13F
  1149. 971, 972, 638, 716, 642, 688, 643, 646,
  1150. 682, 90, 690, 729, 752, 702, 654, 705,
  1151. 744, 703, 694, 674, 686, 706, 740, 728,
  1152. 678, 810, 222, 534, 760, 748, 0, 796,
  1153. 148, 260, 768, 764, 762, 772, 626, 795,
  1154. 788, 776, 626, 792, 780, 798, 158, 834,
  1155. 804, 800, 826, 581, 0, 840, 858, 860,
  1156. 336, 670, 704, 862, 92, 850, 704, 548,
  1157. // Entry 140 - 17F
  1158. 876, 581, 882, 973, 974, 975, 976, 977,
  1159. 978, 979, 980, 981, 982, 983, 984, 985,
  1160. 986, 987, 988, 989, 990, 991, 992, 993,
  1161. 994, 995, 996, 997, 998, 720, 887, 175,
  1162. 891, 710, 894, 180, 716, 999,
  1163. }
  1164. // m49Index gives indexes into fromM49 based on the three most significant bits
  1165. // of a 10-bit UN.M49 code. To search an UN.M49 code in fromM49, search in
  1166. // fromM49[m49Index[msb39(code)]:m49Index[msb3(code)+1]]
  1167. // for an entry where the first 7 bits match the 7 lsb of the UN.M49 code.
  1168. // The region code is stored in the 9 lsb of the indexed value.
  1169. // Size: 18 bytes, 9 elements
  1170. var m49Index = [9]int16{
  1171. 0, 59, 108, 143, 181, 220, 259, 291,
  1172. 333,
  1173. }
  1174. // fromM49 contains entries to map UN.M49 codes to regions. See m49Index for details.
  1175. // Size: 666 bytes, 333 elements
  1176. var fromM49 = [333]uint16{
  1177. // Entry 0 - 3F
  1178. 0x0201, 0x0402, 0x0603, 0x0824, 0x0a04, 0x1027, 0x1205, 0x142b,
  1179. 0x1606, 0x1867, 0x1a07, 0x1c08, 0x1e09, 0x202d, 0x220a, 0x240b,
  1180. 0x260c, 0x2822, 0x2a0d, 0x302a, 0x3825, 0x3a0e, 0x3c0f, 0x3e32,
  1181. 0x402c, 0x4410, 0x4611, 0x482f, 0x4e12, 0x502e, 0x5842, 0x6039,
  1182. 0x6435, 0x6628, 0x6834, 0x6a13, 0x6c14, 0x7036, 0x7215, 0x783d,
  1183. 0x7a16, 0x8043, 0x883f, 0x8c33, 0x9046, 0x9445, 0x9841, 0xa848,
  1184. 0xac9a, 0xb509, 0xb93c, 0xc03e, 0xc838, 0xd0c4, 0xd83a, 0xe047,
  1185. 0xe8a6, 0xf052, 0xf849, 0x085a, 0x10ad, 0x184c, 0x1c17, 0x1e18,
  1186. // Entry 40 - 7F
  1187. 0x20b3, 0x2219, 0x2920, 0x2c1a, 0x2e1b, 0x3051, 0x341c, 0x361d,
  1188. 0x3853, 0x3d2e, 0x445c, 0x4c4a, 0x5454, 0x5ca8, 0x5f5f, 0x644d,
  1189. 0x684b, 0x7050, 0x7856, 0x7e90, 0x8059, 0x885d, 0x941e, 0x965e,
  1190. 0x983b, 0xa063, 0xa864, 0xac65, 0xb469, 0xbd1a, 0xc486, 0xcc6f,
  1191. 0xce6f, 0xd06d, 0xd26a, 0xd476, 0xdc74, 0xde88, 0xe473, 0xec72,
  1192. 0xf031, 0xf279, 0xf478, 0xfc7e, 0x04e5, 0x0921, 0x0c62, 0x147a,
  1193. 0x187d, 0x1c83, 0x26ed, 0x2860, 0x2c5f, 0x3060, 0x4080, 0x4881,
  1194. 0x50a7, 0x5887, 0x6082, 0x687c, 0x7085, 0x788a, 0x8089, 0x8884,
  1195. // Entry 80 - BF
  1196. 0x908c, 0x9891, 0x9c8e, 0xa138, 0xa88f, 0xb08d, 0xb892, 0xc09d,
  1197. 0xc899, 0xd095, 0xd89c, 0xe09b, 0xe896, 0xf097, 0xf89e, 0x004f,
  1198. 0x08a0, 0x10a2, 0x1cae, 0x20a1, 0x28a4, 0x30aa, 0x34ab, 0x3cac,
  1199. 0x42a5, 0x44af, 0x461f, 0x4cb0, 0x54b5, 0x58b8, 0x5cb4, 0x64b9,
  1200. 0x6cb2, 0x70b6, 0x74b7, 0x7cc6, 0x84bf, 0x8cce, 0x94d0, 0x9ccd,
  1201. 0xa4c3, 0xaccb, 0xb4c8, 0xbcc9, 0xc0cc, 0xc8cf, 0xd8bb, 0xe0c5,
  1202. 0xe4bc, 0xe6bd, 0xe8ca, 0xf0ba, 0xf8d1, 0x00e1, 0x08d2, 0x10dd,
  1203. 0x18db, 0x20d9, 0x2429, 0x265b, 0x2a30, 0x2d1b, 0x2e40, 0x30de,
  1204. // Entry C0 - FF
  1205. 0x38d3, 0x493f, 0x54e0, 0x5cd8, 0x64d4, 0x6cd6, 0x74df, 0x7cd5,
  1206. 0x84da, 0x88c7, 0x8b33, 0x8e75, 0x90c0, 0x92f0, 0x94e8, 0x9ee2,
  1207. 0xace6, 0xb0f1, 0xb8e4, 0xc0e7, 0xc8eb, 0xd0e9, 0xd8ee, 0xe08b,
  1208. 0xe526, 0xecec, 0xf4f3, 0xfd02, 0x0504, 0x0706, 0x0d07, 0x183c,
  1209. 0x1d0e, 0x26a9, 0x2826, 0x2cb1, 0x2ebe, 0x34ea, 0x3d39, 0x4513,
  1210. 0x4d18, 0x5508, 0x5d14, 0x6105, 0x650a, 0x6d12, 0x7d0d, 0x7f11,
  1211. 0x813e, 0x830f, 0x8515, 0x8d61, 0x9964, 0xa15d, 0xa86e, 0xb117,
  1212. 0xb30b, 0xb86c, 0xc10b, 0xc916, 0xd110, 0xd91d, 0xe10c, 0xe84e,
  1213. // Entry 100 - 13F
  1214. 0xf11c, 0xf524, 0xf923, 0x0122, 0x0925, 0x1129, 0x192c, 0x2023,
  1215. 0x2928, 0x312b, 0x3727, 0x391f, 0x3d2d, 0x4131, 0x4930, 0x4ec2,
  1216. 0x5519, 0x646b, 0x747b, 0x7e7f, 0x809f, 0x8298, 0x852f, 0x9135,
  1217. 0xa53d, 0xac37, 0xb536, 0xb937, 0xbd3b, 0xd940, 0xe542, 0xed5e,
  1218. 0xef5e, 0xf657, 0xfd62, 0x7c20, 0x7ef4, 0x80f5, 0x82f6, 0x84f7,
  1219. 0x86f8, 0x88f9, 0x8afa, 0x8cfb, 0x8e70, 0x90fd, 0x92fe, 0x94ff,
  1220. 0x9700, 0x9901, 0x9b43, 0x9d44, 0x9f45, 0xa146, 0xa347, 0xa548,
  1221. 0xa749, 0xa94a, 0xab4b, 0xad4c, 0xaf4d, 0xb14e, 0xb34f, 0xb550,
  1222. // Entry 140 - 17F
  1223. 0xb751, 0xb952, 0xbb53, 0xbd54, 0xbf55, 0xc156, 0xc357, 0xc558,
  1224. 0xc759, 0xc95a, 0xcb5b, 0xcd5c, 0xcf65,
  1225. }
  1226. // Size: 1615 bytes
  1227. var variantIndex = map[string]uint8{
  1228. "1606nict": 0x0,
  1229. "1694acad": 0x1,
  1230. "1901": 0x2,
  1231. "1959acad": 0x3,
  1232. "1994": 0x4d,
  1233. "1996": 0x4,
  1234. "abl1943": 0x5,
  1235. "akuapem": 0x6,
  1236. "alalc97": 0x4f,
  1237. "aluku": 0x7,
  1238. "ao1990": 0x8,
  1239. "arevela": 0x9,
  1240. "arevmda": 0xa,
  1241. "asante": 0xb,
  1242. "baku1926": 0xc,
  1243. "balanka": 0xd,
  1244. "barla": 0xe,
  1245. "basiceng": 0xf,
  1246. "bauddha": 0x10,
  1247. "biscayan": 0x11,
  1248. "biske": 0x48,
  1249. "bohoric": 0x12,
  1250. "boont": 0x13,
  1251. "colb1945": 0x14,
  1252. "cornu": 0x15,
  1253. "dajnko": 0x16,
  1254. "ekavsk": 0x17,
  1255. "emodeng": 0x18,
  1256. "fonipa": 0x50,
  1257. "fonnapa": 0x51,
  1258. "fonupa": 0x52,
  1259. "fonxsamp": 0x53,
  1260. "hepburn": 0x19,
  1261. "heploc": 0x4e,
  1262. "hognorsk": 0x1a,
  1263. "hsistemo": 0x1b,
  1264. "ijekavsk": 0x1c,
  1265. "itihasa": 0x1d,
  1266. "jauer": 0x1e,
  1267. "jyutping": 0x1f,
  1268. "kkcor": 0x20,
  1269. "kociewie": 0x21,
  1270. "kscor": 0x22,
  1271. "laukika": 0x23,
  1272. "lipaw": 0x49,
  1273. "luna1918": 0x24,
  1274. "metelko": 0x25,
  1275. "monoton": 0x26,
  1276. "ndyuka": 0x27,
  1277. "nedis": 0x28,
  1278. "newfound": 0x29,
  1279. "njiva": 0x4a,
  1280. "nulik": 0x2a,
  1281. "osojs": 0x4b,
  1282. "oxendict": 0x2b,
  1283. "pahawh2": 0x2c,
  1284. "pahawh3": 0x2d,
  1285. "pahawh4": 0x2e,
  1286. "pamaka": 0x2f,
  1287. "petr1708": 0x30,
  1288. "pinyin": 0x31,
  1289. "polyton": 0x32,
  1290. "puter": 0x33,
  1291. "rigik": 0x34,
  1292. "rozaj": 0x35,
  1293. "rumgr": 0x36,
  1294. "scotland": 0x37,
  1295. "scouse": 0x38,
  1296. "simple": 0x54,
  1297. "solba": 0x4c,
  1298. "sotav": 0x39,
  1299. "spanglis": 0x3a,
  1300. "surmiran": 0x3b,
  1301. "sursilv": 0x3c,
  1302. "sutsilv": 0x3d,
  1303. "tarask": 0x3e,
  1304. "uccor": 0x3f,
  1305. "ucrcor": 0x40,
  1306. "ulster": 0x41,
  1307. "unifon": 0x42,
  1308. "vaidika": 0x43,
  1309. "valencia": 0x44,
  1310. "vallader": 0x45,
  1311. "wadegile": 0x46,
  1312. "xsistemo": 0x47,
  1313. }
  1314. // variantNumSpecialized is the number of specialized variants in variants.
  1315. const variantNumSpecialized = 79
  1316. // nRegionGroups is the number of region groups.
  1317. const nRegionGroups = 33
  1318. type likelyLangRegion struct {
  1319. lang uint16
  1320. region uint16
  1321. }
  1322. // likelyScript is a lookup table, indexed by scriptID, for the most likely
  1323. // languages and regions given a script.
  1324. // Size: 956 bytes, 239 elements
  1325. var likelyScript = [239]likelyLangRegion{
  1326. 1: {lang: 0x14d, region: 0x84},
  1327. 3: {lang: 0x2a0, region: 0x106},
  1328. 4: {lang: 0x1f, region: 0x99},
  1329. 5: {lang: 0x3a, region: 0x6b},
  1330. 7: {lang: 0x3b, region: 0x9c},
  1331. 8: {lang: 0x1d5, region: 0x28},
  1332. 9: {lang: 0x13, region: 0x9c},
  1333. 10: {lang: 0x5b, region: 0x95},
  1334. 11: {lang: 0x60, region: 0x52},
  1335. 12: {lang: 0xb9, region: 0xb4},
  1336. 13: {lang: 0x63, region: 0x95},
  1337. 14: {lang: 0xa5, region: 0x35},
  1338. 15: {lang: 0x3e7, region: 0x99},
  1339. 17: {lang: 0x527, region: 0x12e},
  1340. 18: {lang: 0x3af, region: 0x99},
  1341. 19: {lang: 0x15d, region: 0x78},
  1342. 20: {lang: 0xc2, region: 0x95},
  1343. 21: {lang: 0x9d, region: 0xe7},
  1344. 22: {lang: 0xdb, region: 0x35},
  1345. 23: {lang: 0xf2, region: 0x49},
  1346. 24: {lang: 0x4ee, region: 0x12b},
  1347. 25: {lang: 0xe7, region: 0x13e},
  1348. 26: {lang: 0xe5, region: 0x135},
  1349. 28: {lang: 0xf0, region: 0x6b},
  1350. 29: {lang: 0x19e, region: 0x5d},
  1351. 30: {lang: 0x3e0, region: 0x106},
  1352. 32: {lang: 0x1bc, region: 0x99},
  1353. 35: {lang: 0x15d, region: 0x78},
  1354. 38: {lang: 0x132, region: 0x6b},
  1355. 39: {lang: 0x42f, region: 0x27},
  1356. 40: {lang: 0x27, region: 0x6f},
  1357. 42: {lang: 0x20e, region: 0x7d},
  1358. 43: {lang: 0xfd, region: 0x38},
  1359. 46: {lang: 0x19c, region: 0x130},
  1360. 47: {lang: 0x3e7, region: 0x99},
  1361. 48: {lang: 0x135, region: 0x87},
  1362. 49: {lang: 0x1a2, region: 0x99},
  1363. 50: {lang: 0x39b, region: 0x99},
  1364. 51: {lang: 0x527, region: 0x12e},
  1365. 52: {lang: 0x252, region: 0xab},
  1366. 53: {lang: 0x527, region: 0x53},
  1367. 54: {lang: 0x1c9, region: 0xe7},
  1368. 55: {lang: 0x527, region: 0x53},
  1369. 56: {lang: 0x527, region: 0x12e},
  1370. 57: {lang: 0x2fb, region: 0x9b},
  1371. 58: {lang: 0x1ba, region: 0x97},
  1372. 59: {lang: 0x1fe, region: 0xa2},
  1373. 60: {lang: 0x1c3, region: 0x12b},
  1374. 61: {lang: 0x1c8, region: 0xaf},
  1375. 63: {lang: 0x1d3, region: 0x92},
  1376. 65: {lang: 0x141, region: 0x9e},
  1377. 66: {lang: 0x252, region: 0xab},
  1378. 67: {lang: 0x20c, region: 0x95},
  1379. 68: {lang: 0x1fe, region: 0xa2},
  1380. 70: {lang: 0x134, region: 0xc4},
  1381. 71: {lang: 0x1fe, region: 0xa2},
  1382. 72: {lang: 0x3b9, region: 0xe8},
  1383. 73: {lang: 0x248, region: 0xa6},
  1384. 74: {lang: 0x3f8, region: 0x99},
  1385. 77: {lang: 0x24f, region: 0x99},
  1386. 78: {lang: 0x252, region: 0xab},
  1387. 80: {lang: 0x88, region: 0x99},
  1388. 81: {lang: 0x36e, region: 0x123},
  1389. 82: {lang: 0x2b6, region: 0xaf},
  1390. 87: {lang: 0x29d, region: 0x99},
  1391. 88: {lang: 0x2a6, region: 0x99},
  1392. 89: {lang: 0x28d, region: 0x87},
  1393. 90: {lang: 0x19e, region: 0x87},
  1394. 91: {lang: 0x2aa, region: 0x53},
  1395. 93: {lang: 0x4f2, region: 0x12b},
  1396. 94: {lang: 0x4f3, region: 0x12b},
  1397. 95: {lang: 0x1bc, region: 0x99},
  1398. 97: {lang: 0x335, region: 0x9c},
  1399. 98: {lang: 0x4f5, region: 0x53},
  1400. 99: {lang: 0xa9, region: 0x53},
  1401. 102: {lang: 0x2e6, region: 0x112},
  1402. 103: {lang: 0x4f6, region: 0x10b},
  1403. 104: {lang: 0x4f6, region: 0x10b},
  1404. 105: {lang: 0x302, region: 0x99},
  1405. 106: {lang: 0x319, region: 0x99},
  1406. 107: {lang: 0x309, region: 0x53},
  1407. 109: {lang: 0x31c, region: 0x35},
  1408. 110: {lang: 0x30c, region: 0x99},
  1409. 111: {lang: 0x412, region: 0xe8},
  1410. 112: {lang: 0x32f, region: 0xc4},
  1411. 113: {lang: 0x4f7, region: 0x108},
  1412. 114: {lang: 0x3b, region: 0xa1},
  1413. 115: {lang: 0x351, region: 0xdb},
  1414. 117: {lang: 0x2ce, region: 0x84},
  1415. 119: {lang: 0x401, region: 0x96},
  1416. 120: {lang: 0x3ec, region: 0x99},
  1417. 121: {lang: 0x399, region: 0xc5},
  1418. 122: {lang: 0x393, region: 0x99},
  1419. 123: {lang: 0x397, region: 0x135},
  1420. 124: {lang: 0x427, region: 0x115},
  1421. 125: {lang: 0x3b, region: 0x11c},
  1422. 126: {lang: 0xfc, region: 0xc4},
  1423. 127: {lang: 0x27b, region: 0x106},
  1424. 128: {lang: 0x2c7, region: 0x53},
  1425. 129: {lang: 0x39d, region: 0x9c},
  1426. 130: {lang: 0x39d, region: 0x53},
  1427. 132: {lang: 0x3ab, region: 0xb0},
  1428. 134: {lang: 0x1c4, region: 0x53},
  1429. 135: {lang: 0x4fb, region: 0x9c},
  1430. 186: {lang: 0x3c9, region: 0x95},
  1431. 188: {lang: 0x370, region: 0x10c},
  1432. 189: {lang: 0x41e, region: 0x97},
  1433. 191: {lang: 0x4fd, region: 0x15e},
  1434. 192: {lang: 0x3ee, region: 0x99},
  1435. 193: {lang: 0x45, region: 0x135},
  1436. 194: {lang: 0x138, region: 0x7b},
  1437. 195: {lang: 0x3e7, region: 0x99},
  1438. 196: {lang: 0x3e7, region: 0x99},
  1439. 197: {lang: 0x3f8, region: 0x99},
  1440. 198: {lang: 0x40a, region: 0xb3},
  1441. 199: {lang: 0x431, region: 0x99},
  1442. 201: {lang: 0x43c, region: 0x95},
  1443. 202: {lang: 0x44b, region: 0x35},
  1444. 203: {lang: 0x44c, region: 0x9b},
  1445. 207: {lang: 0x458, region: 0xe7},
  1446. 208: {lang: 0x119, region: 0x99},
  1447. 209: {lang: 0x45c, region: 0x53},
  1448. 210: {lang: 0x230, region: 0x53},
  1449. 211: {lang: 0x44e, region: 0x99},
  1450. 212: {lang: 0x4a3, region: 0x53},
  1451. 213: {lang: 0x9f, region: 0x13e},
  1452. 214: {lang: 0x45f, region: 0x99},
  1453. 216: {lang: 0x526, region: 0xba},
  1454. 217: {lang: 0x152, region: 0xe7},
  1455. 218: {lang: 0x127, region: 0xcd},
  1456. 219: {lang: 0x469, region: 0x123},
  1457. 220: {lang: 0xa9, region: 0x53},
  1458. 221: {lang: 0x2cc, region: 0x99},
  1459. 222: {lang: 0x4ab, region: 0x11c},
  1460. 223: {lang: 0x4bc, region: 0xb4},
  1461. 225: {lang: 0x1cc, region: 0x99},
  1462. 227: {lang: 0x3a7, region: 0x9c},
  1463. 228: {lang: 0x22, region: 0x9b},
  1464. 229: {lang: 0x1e8, region: 0x53},
  1465. }
  1466. type likelyScriptRegion struct {
  1467. region uint16
  1468. script uint8
  1469. flags uint8
  1470. }
  1471. // likelyLang is a lookup table, indexed by langID, for the most likely
  1472. // scripts and regions given incomplete information. If more entries exist for a
  1473. // given language, region and script are the index and size respectively
  1474. // of the list in likelyLangList.
  1475. // Size: 5308 bytes, 1327 elements
  1476. var likelyLang = [1327]likelyScriptRegion{
  1477. 0: {region: 0x135, script: 0x55, flags: 0x0},
  1478. 1: {region: 0x6f, script: 0x55, flags: 0x0},
  1479. 2: {region: 0x165, script: 0x55, flags: 0x0},
  1480. 3: {region: 0x165, script: 0x55, flags: 0x0},
  1481. 4: {region: 0x165, script: 0x55, flags: 0x0},
  1482. 5: {region: 0x7d, script: 0x1e, flags: 0x0},
  1483. 6: {region: 0x165, script: 0x55, flags: 0x0},
  1484. 7: {region: 0x165, script: 0x1e, flags: 0x0},
  1485. 8: {region: 0x80, script: 0x55, flags: 0x0},
  1486. 9: {region: 0x165, script: 0x55, flags: 0x0},
  1487. 10: {region: 0x165, script: 0x55, flags: 0x0},
  1488. 11: {region: 0x165, script: 0x55, flags: 0x0},
  1489. 12: {region: 0x95, script: 0x55, flags: 0x0},
  1490. 13: {region: 0x131, script: 0x55, flags: 0x0},
  1491. 14: {region: 0x80, script: 0x55, flags: 0x0},
  1492. 15: {region: 0x165, script: 0x55, flags: 0x0},
  1493. 16: {region: 0x165, script: 0x55, flags: 0x0},
  1494. 17: {region: 0x106, script: 0x1e, flags: 0x0},
  1495. 18: {region: 0x165, script: 0x55, flags: 0x0},
  1496. 19: {region: 0x9c, script: 0x9, flags: 0x0},
  1497. 20: {region: 0x128, script: 0x5, flags: 0x0},
  1498. 21: {region: 0x165, script: 0x55, flags: 0x0},
  1499. 22: {region: 0x161, script: 0x55, flags: 0x0},
  1500. 23: {region: 0x165, script: 0x55, flags: 0x0},
  1501. 24: {region: 0x165, script: 0x55, flags: 0x0},
  1502. 25: {region: 0x165, script: 0x55, flags: 0x0},
  1503. 26: {region: 0x165, script: 0x55, flags: 0x0},
  1504. 27: {region: 0x165, script: 0x55, flags: 0x0},
  1505. 28: {region: 0x52, script: 0x55, flags: 0x0},
  1506. 29: {region: 0x165, script: 0x55, flags: 0x0},
  1507. 30: {region: 0x165, script: 0x55, flags: 0x0},
  1508. 31: {region: 0x99, script: 0x4, flags: 0x0},
  1509. 32: {region: 0x165, script: 0x55, flags: 0x0},
  1510. 33: {region: 0x80, script: 0x55, flags: 0x0},
  1511. 34: {region: 0x9b, script: 0xe4, flags: 0x0},
  1512. 35: {region: 0x165, script: 0x55, flags: 0x0},
  1513. 36: {region: 0x165, script: 0x55, flags: 0x0},
  1514. 37: {region: 0x14d, script: 0x55, flags: 0x0},
  1515. 38: {region: 0x106, script: 0x1e, flags: 0x0},
  1516. 39: {region: 0x6f, script: 0x28, flags: 0x0},
  1517. 40: {region: 0x165, script: 0x55, flags: 0x0},
  1518. 41: {region: 0x165, script: 0x55, flags: 0x0},
  1519. 42: {region: 0xd6, script: 0x55, flags: 0x0},
  1520. 43: {region: 0x165, script: 0x55, flags: 0x0},
  1521. 45: {region: 0x165, script: 0x55, flags: 0x0},
  1522. 46: {region: 0x165, script: 0x55, flags: 0x0},
  1523. 47: {region: 0x165, script: 0x55, flags: 0x0},
  1524. 48: {region: 0x165, script: 0x55, flags: 0x0},
  1525. 49: {region: 0x165, script: 0x55, flags: 0x0},
  1526. 50: {region: 0x165, script: 0x55, flags: 0x0},
  1527. 51: {region: 0x95, script: 0x55, flags: 0x0},
  1528. 52: {region: 0x165, script: 0x5, flags: 0x0},
  1529. 53: {region: 0x122, script: 0x5, flags: 0x0},
  1530. 54: {region: 0x165, script: 0x55, flags: 0x0},
  1531. 55: {region: 0x165, script: 0x55, flags: 0x0},
  1532. 56: {region: 0x165, script: 0x55, flags: 0x0},
  1533. 57: {region: 0x165, script: 0x55, flags: 0x0},
  1534. 58: {region: 0x6b, script: 0x5, flags: 0x0},
  1535. 59: {region: 0x0, script: 0x3, flags: 0x1},
  1536. 60: {region: 0x165, script: 0x55, flags: 0x0},
  1537. 61: {region: 0x51, script: 0x55, flags: 0x0},
  1538. 62: {region: 0x3f, script: 0x55, flags: 0x0},
  1539. 63: {region: 0x67, script: 0x5, flags: 0x0},
  1540. 65: {region: 0xba, script: 0x5, flags: 0x0},
  1541. 66: {region: 0x6b, script: 0x5, flags: 0x0},
  1542. 67: {region: 0x99, script: 0xe, flags: 0x0},
  1543. 68: {region: 0x12f, script: 0x55, flags: 0x0},
  1544. 69: {region: 0x135, script: 0xc1, flags: 0x0},
  1545. 70: {region: 0x165, script: 0x55, flags: 0x0},
  1546. 71: {region: 0x165, script: 0x55, flags: 0x0},
  1547. 72: {region: 0x6e, script: 0x55, flags: 0x0},
  1548. 73: {region: 0x165, script: 0x55, flags: 0x0},
  1549. 74: {region: 0x165, script: 0x55, flags: 0x0},
  1550. 75: {region: 0x49, script: 0x55, flags: 0x0},
  1551. 76: {region: 0x165, script: 0x55, flags: 0x0},
  1552. 77: {region: 0x106, script: 0x1e, flags: 0x0},
  1553. 78: {region: 0x165, script: 0x5, flags: 0x0},
  1554. 79: {region: 0x165, script: 0x55, flags: 0x0},
  1555. 80: {region: 0x165, script: 0x55, flags: 0x0},
  1556. 81: {region: 0x165, script: 0x55, flags: 0x0},
  1557. 82: {region: 0x99, script: 0x20, flags: 0x0},
  1558. 83: {region: 0x165, script: 0x55, flags: 0x0},
  1559. 84: {region: 0x165, script: 0x55, flags: 0x0},
  1560. 85: {region: 0x165, script: 0x55, flags: 0x0},
  1561. 86: {region: 0x3f, script: 0x55, flags: 0x0},
  1562. 87: {region: 0x165, script: 0x55, flags: 0x0},
  1563. 88: {region: 0x3, script: 0x5, flags: 0x1},
  1564. 89: {region: 0x106, script: 0x1e, flags: 0x0},
  1565. 90: {region: 0xe8, script: 0x5, flags: 0x0},
  1566. 91: {region: 0x95, script: 0x55, flags: 0x0},
  1567. 92: {region: 0xdb, script: 0x20, flags: 0x0},
  1568. 93: {region: 0x2e, script: 0x55, flags: 0x0},
  1569. 94: {region: 0x52, script: 0x55, flags: 0x0},
  1570. 95: {region: 0x165, script: 0x55, flags: 0x0},
  1571. 96: {region: 0x52, script: 0xb, flags: 0x0},
  1572. 97: {region: 0x165, script: 0x55, flags: 0x0},
  1573. 98: {region: 0x165, script: 0x55, flags: 0x0},
  1574. 99: {region: 0x95, script: 0x55, flags: 0x0},
  1575. 100: {region: 0x165, script: 0x55, flags: 0x0},
  1576. 101: {region: 0x52, script: 0x55, flags: 0x0},
  1577. 102: {region: 0x165, script: 0x55, flags: 0x0},
  1578. 103: {region: 0x165, script: 0x55, flags: 0x0},
  1579. 104: {region: 0x165, script: 0x55, flags: 0x0},
  1580. 105: {region: 0x165, script: 0x55, flags: 0x0},
  1581. 106: {region: 0x4f, script: 0x55, flags: 0x0},
  1582. 107: {region: 0x165, script: 0x55, flags: 0x0},
  1583. 108: {region: 0x165, script: 0x55, flags: 0x0},
  1584. 109: {region: 0x165, script: 0x55, flags: 0x0},
  1585. 110: {region: 0x165, script: 0x28, flags: 0x0},
  1586. 111: {region: 0x165, script: 0x55, flags: 0x0},
  1587. 112: {region: 0x165, script: 0x55, flags: 0x0},
  1588. 113: {region: 0x47, script: 0x1e, flags: 0x0},
  1589. 114: {region: 0x165, script: 0x55, flags: 0x0},
  1590. 115: {region: 0x165, script: 0x55, flags: 0x0},
  1591. 116: {region: 0x10b, script: 0x5, flags: 0x0},
  1592. 117: {region: 0x162, script: 0x55, flags: 0x0},
  1593. 118: {region: 0x165, script: 0x55, flags: 0x0},
  1594. 119: {region: 0x95, script: 0x55, flags: 0x0},
  1595. 120: {region: 0x165, script: 0x55, flags: 0x0},
  1596. 121: {region: 0x12f, script: 0x55, flags: 0x0},
  1597. 122: {region: 0x52, script: 0x55, flags: 0x0},
  1598. 123: {region: 0x99, script: 0xd3, flags: 0x0},
  1599. 124: {region: 0xe8, script: 0x5, flags: 0x0},
  1600. 125: {region: 0x99, script: 0x20, flags: 0x0},
  1601. 126: {region: 0x38, script: 0x1e, flags: 0x0},
  1602. 127: {region: 0x99, script: 0x20, flags: 0x0},
  1603. 128: {region: 0xe8, script: 0x5, flags: 0x0},
  1604. 129: {region: 0x12b, script: 0x30, flags: 0x0},
  1605. 131: {region: 0x99, script: 0x20, flags: 0x0},
  1606. 132: {region: 0x165, script: 0x55, flags: 0x0},
  1607. 133: {region: 0x99, script: 0x20, flags: 0x0},
  1608. 134: {region: 0xe7, script: 0x55, flags: 0x0},
  1609. 135: {region: 0x165, script: 0x55, flags: 0x0},
  1610. 136: {region: 0x99, script: 0x20, flags: 0x0},
  1611. 137: {region: 0x165, script: 0x55, flags: 0x0},
  1612. 138: {region: 0x13f, script: 0x55, flags: 0x0},
  1613. 139: {region: 0x165, script: 0x55, flags: 0x0},
  1614. 140: {region: 0x165, script: 0x55, flags: 0x0},
  1615. 141: {region: 0xe7, script: 0x55, flags: 0x0},
  1616. 142: {region: 0x165, script: 0x55, flags: 0x0},
  1617. 143: {region: 0xd6, script: 0x55, flags: 0x0},
  1618. 144: {region: 0x165, script: 0x55, flags: 0x0},
  1619. 145: {region: 0x165, script: 0x55, flags: 0x0},
  1620. 146: {region: 0x165, script: 0x55, flags: 0x0},
  1621. 147: {region: 0x165, script: 0x28, flags: 0x0},
  1622. 148: {region: 0x99, script: 0x20, flags: 0x0},
  1623. 149: {region: 0x95, script: 0x55, flags: 0x0},
  1624. 150: {region: 0x165, script: 0x55, flags: 0x0},
  1625. 151: {region: 0x165, script: 0x55, flags: 0x0},
  1626. 152: {region: 0x114, script: 0x55, flags: 0x0},
  1627. 153: {region: 0x165, script: 0x55, flags: 0x0},
  1628. 154: {region: 0x165, script: 0x55, flags: 0x0},
  1629. 155: {region: 0x52, script: 0x55, flags: 0x0},
  1630. 156: {region: 0x165, script: 0x55, flags: 0x0},
  1631. 157: {region: 0xe7, script: 0x55, flags: 0x0},
  1632. 158: {region: 0x165, script: 0x55, flags: 0x0},
  1633. 159: {region: 0x13e, script: 0xd5, flags: 0x0},
  1634. 160: {region: 0xc3, script: 0x55, flags: 0x0},
  1635. 161: {region: 0x165, script: 0x55, flags: 0x0},
  1636. 162: {region: 0x165, script: 0x55, flags: 0x0},
  1637. 163: {region: 0xc3, script: 0x55, flags: 0x0},
  1638. 164: {region: 0x165, script: 0x55, flags: 0x0},
  1639. 165: {region: 0x35, script: 0xe, flags: 0x0},
  1640. 166: {region: 0x165, script: 0x55, flags: 0x0},
  1641. 167: {region: 0x165, script: 0x55, flags: 0x0},
  1642. 168: {region: 0x165, script: 0x55, flags: 0x0},
  1643. 169: {region: 0x53, script: 0xdc, flags: 0x0},
  1644. 170: {region: 0x165, script: 0x55, flags: 0x0},
  1645. 171: {region: 0x165, script: 0x55, flags: 0x0},
  1646. 172: {region: 0x165, script: 0x55, flags: 0x0},
  1647. 173: {region: 0x99, script: 0xe, flags: 0x0},
  1648. 174: {region: 0x165, script: 0x55, flags: 0x0},
  1649. 175: {region: 0x9c, script: 0x5, flags: 0x0},
  1650. 176: {region: 0x165, script: 0x55, flags: 0x0},
  1651. 177: {region: 0x4f, script: 0x55, flags: 0x0},
  1652. 178: {region: 0x78, script: 0x55, flags: 0x0},
  1653. 179: {region: 0x99, script: 0x20, flags: 0x0},
  1654. 180: {region: 0xe8, script: 0x5, flags: 0x0},
  1655. 181: {region: 0x99, script: 0x20, flags: 0x0},
  1656. 182: {region: 0x165, script: 0x55, flags: 0x0},
  1657. 183: {region: 0x33, script: 0x55, flags: 0x0},
  1658. 184: {region: 0x165, script: 0x55, flags: 0x0},
  1659. 185: {region: 0xb4, script: 0xc, flags: 0x0},
  1660. 186: {region: 0x52, script: 0x55, flags: 0x0},
  1661. 187: {region: 0x165, script: 0x28, flags: 0x0},
  1662. 188: {region: 0xe7, script: 0x55, flags: 0x0},
  1663. 189: {region: 0x165, script: 0x55, flags: 0x0},
  1664. 190: {region: 0xe8, script: 0x20, flags: 0x0},
  1665. 191: {region: 0x106, script: 0x1e, flags: 0x0},
  1666. 192: {region: 0x15f, script: 0x55, flags: 0x0},
  1667. 193: {region: 0x165, script: 0x55, flags: 0x0},
  1668. 194: {region: 0x95, script: 0x55, flags: 0x0},
  1669. 195: {region: 0x165, script: 0x55, flags: 0x0},
  1670. 196: {region: 0x52, script: 0x55, flags: 0x0},
  1671. 197: {region: 0x165, script: 0x55, flags: 0x0},
  1672. 198: {region: 0x165, script: 0x55, flags: 0x0},
  1673. 199: {region: 0x165, script: 0x55, flags: 0x0},
  1674. 200: {region: 0x86, script: 0x55, flags: 0x0},
  1675. 201: {region: 0x165, script: 0x55, flags: 0x0},
  1676. 202: {region: 0x165, script: 0x55, flags: 0x0},
  1677. 203: {region: 0x165, script: 0x55, flags: 0x0},
  1678. 204: {region: 0x165, script: 0x55, flags: 0x0},
  1679. 205: {region: 0x6d, script: 0x28, flags: 0x0},
  1680. 206: {region: 0x165, script: 0x55, flags: 0x0},
  1681. 207: {region: 0x165, script: 0x55, flags: 0x0},
  1682. 208: {region: 0x52, script: 0x55, flags: 0x0},
  1683. 209: {region: 0x165, script: 0x55, flags: 0x0},
  1684. 210: {region: 0x165, script: 0x55, flags: 0x0},
  1685. 211: {region: 0xc3, script: 0x55, flags: 0x0},
  1686. 212: {region: 0x165, script: 0x55, flags: 0x0},
  1687. 213: {region: 0x165, script: 0x55, flags: 0x0},
  1688. 214: {region: 0x165, script: 0x55, flags: 0x0},
  1689. 215: {region: 0x6e, script: 0x55, flags: 0x0},
  1690. 216: {region: 0x165, script: 0x55, flags: 0x0},
  1691. 217: {region: 0x165, script: 0x55, flags: 0x0},
  1692. 218: {region: 0xd6, script: 0x55, flags: 0x0},
  1693. 219: {region: 0x35, script: 0x16, flags: 0x0},
  1694. 220: {region: 0x106, script: 0x1e, flags: 0x0},
  1695. 221: {region: 0xe7, script: 0x55, flags: 0x0},
  1696. 222: {region: 0x165, script: 0x55, flags: 0x0},
  1697. 223: {region: 0x131, script: 0x55, flags: 0x0},
  1698. 224: {region: 0x8a, script: 0x55, flags: 0x0},
  1699. 225: {region: 0x75, script: 0x55, flags: 0x0},
  1700. 226: {region: 0x106, script: 0x1e, flags: 0x0},
  1701. 227: {region: 0x135, script: 0x55, flags: 0x0},
  1702. 228: {region: 0x49, script: 0x55, flags: 0x0},
  1703. 229: {region: 0x135, script: 0x1a, flags: 0x0},
  1704. 230: {region: 0xa6, script: 0x5, flags: 0x0},
  1705. 231: {region: 0x13e, script: 0x19, flags: 0x0},
  1706. 232: {region: 0x165, script: 0x55, flags: 0x0},
  1707. 233: {region: 0x9b, script: 0x5, flags: 0x0},
  1708. 234: {region: 0x165, script: 0x55, flags: 0x0},
  1709. 235: {region: 0x165, script: 0x55, flags: 0x0},
  1710. 236: {region: 0x165, script: 0x55, flags: 0x0},
  1711. 237: {region: 0x165, script: 0x55, flags: 0x0},
  1712. 238: {region: 0x165, script: 0x55, flags: 0x0},
  1713. 239: {region: 0x78, script: 0x55, flags: 0x0},
  1714. 240: {region: 0x6b, script: 0x1c, flags: 0x0},
  1715. 241: {region: 0xe7, script: 0x55, flags: 0x0},
  1716. 242: {region: 0x49, script: 0x17, flags: 0x0},
  1717. 243: {region: 0x130, script: 0x1e, flags: 0x0},
  1718. 244: {region: 0x49, script: 0x17, flags: 0x0},
  1719. 245: {region: 0x49, script: 0x17, flags: 0x0},
  1720. 246: {region: 0x49, script: 0x17, flags: 0x0},
  1721. 247: {region: 0x49, script: 0x17, flags: 0x0},
  1722. 248: {region: 0x10a, script: 0x55, flags: 0x0},
  1723. 249: {region: 0x5e, script: 0x55, flags: 0x0},
  1724. 250: {region: 0xe9, script: 0x55, flags: 0x0},
  1725. 251: {region: 0x49, script: 0x17, flags: 0x0},
  1726. 252: {region: 0xc4, script: 0x7e, flags: 0x0},
  1727. 253: {region: 0x8, script: 0x2, flags: 0x1},
  1728. 254: {region: 0x106, script: 0x1e, flags: 0x0},
  1729. 255: {region: 0x7b, script: 0x55, flags: 0x0},
  1730. 256: {region: 0x63, script: 0x55, flags: 0x0},
  1731. 257: {region: 0x165, script: 0x55, flags: 0x0},
  1732. 258: {region: 0x165, script: 0x55, flags: 0x0},
  1733. 259: {region: 0x165, script: 0x55, flags: 0x0},
  1734. 260: {region: 0x165, script: 0x55, flags: 0x0},
  1735. 261: {region: 0x135, script: 0x55, flags: 0x0},
  1736. 262: {region: 0x106, script: 0x1e, flags: 0x0},
  1737. 263: {region: 0xa4, script: 0x55, flags: 0x0},
  1738. 264: {region: 0x165, script: 0x55, flags: 0x0},
  1739. 265: {region: 0x165, script: 0x55, flags: 0x0},
  1740. 266: {region: 0x99, script: 0x5, flags: 0x0},
  1741. 267: {region: 0x165, script: 0x55, flags: 0x0},
  1742. 268: {region: 0x60, script: 0x55, flags: 0x0},
  1743. 269: {region: 0x165, script: 0x55, flags: 0x0},
  1744. 270: {region: 0x49, script: 0x55, flags: 0x0},
  1745. 271: {region: 0x165, script: 0x55, flags: 0x0},
  1746. 272: {region: 0x165, script: 0x55, flags: 0x0},
  1747. 273: {region: 0x165, script: 0x55, flags: 0x0},
  1748. 274: {region: 0x165, script: 0x5, flags: 0x0},
  1749. 275: {region: 0x49, script: 0x55, flags: 0x0},
  1750. 276: {region: 0x165, script: 0x55, flags: 0x0},
  1751. 277: {region: 0x165, script: 0x55, flags: 0x0},
  1752. 278: {region: 0xd4, script: 0x55, flags: 0x0},
  1753. 279: {region: 0x4f, script: 0x55, flags: 0x0},
  1754. 280: {region: 0x165, script: 0x55, flags: 0x0},
  1755. 281: {region: 0x99, script: 0x5, flags: 0x0},
  1756. 282: {region: 0x165, script: 0x55, flags: 0x0},
  1757. 283: {region: 0x165, script: 0x55, flags: 0x0},
  1758. 284: {region: 0x165, script: 0x55, flags: 0x0},
  1759. 285: {region: 0x165, script: 0x28, flags: 0x0},
  1760. 286: {region: 0x60, script: 0x55, flags: 0x0},
  1761. 287: {region: 0xc3, script: 0x55, flags: 0x0},
  1762. 288: {region: 0xd0, script: 0x55, flags: 0x0},
  1763. 289: {region: 0x165, script: 0x55, flags: 0x0},
  1764. 290: {region: 0xdb, script: 0x20, flags: 0x0},
  1765. 291: {region: 0x52, script: 0x55, flags: 0x0},
  1766. 292: {region: 0x165, script: 0x55, flags: 0x0},
  1767. 293: {region: 0x165, script: 0x55, flags: 0x0},
  1768. 294: {region: 0x165, script: 0x55, flags: 0x0},
  1769. 295: {region: 0xcd, script: 0xda, flags: 0x0},
  1770. 296: {region: 0x165, script: 0x55, flags: 0x0},
  1771. 297: {region: 0x165, script: 0x55, flags: 0x0},
  1772. 298: {region: 0x114, script: 0x55, flags: 0x0},
  1773. 299: {region: 0x37, script: 0x55, flags: 0x0},
  1774. 300: {region: 0x43, script: 0xdc, flags: 0x0},
  1775. 301: {region: 0x165, script: 0x55, flags: 0x0},
  1776. 302: {region: 0xa4, script: 0x55, flags: 0x0},
  1777. 303: {region: 0x80, script: 0x55, flags: 0x0},
  1778. 304: {region: 0xd6, script: 0x55, flags: 0x0},
  1779. 305: {region: 0x9e, script: 0x55, flags: 0x0},
  1780. 306: {region: 0x6b, script: 0x26, flags: 0x0},
  1781. 307: {region: 0x165, script: 0x55, flags: 0x0},
  1782. 308: {region: 0xc4, script: 0x46, flags: 0x0},
  1783. 309: {region: 0x87, script: 0x30, flags: 0x0},
  1784. 310: {region: 0x165, script: 0x55, flags: 0x0},
  1785. 311: {region: 0x165, script: 0x55, flags: 0x0},
  1786. 312: {region: 0xa, script: 0x2, flags: 0x1},
  1787. 313: {region: 0x165, script: 0x55, flags: 0x0},
  1788. 314: {region: 0x165, script: 0x55, flags: 0x0},
  1789. 315: {region: 0x1, script: 0x55, flags: 0x0},
  1790. 316: {region: 0x165, script: 0x55, flags: 0x0},
  1791. 317: {region: 0x6e, script: 0x55, flags: 0x0},
  1792. 318: {region: 0x135, script: 0x55, flags: 0x0},
  1793. 319: {region: 0x6a, script: 0x55, flags: 0x0},
  1794. 320: {region: 0x165, script: 0x55, flags: 0x0},
  1795. 321: {region: 0x9e, script: 0x41, flags: 0x0},
  1796. 322: {region: 0x165, script: 0x55, flags: 0x0},
  1797. 323: {region: 0x165, script: 0x55, flags: 0x0},
  1798. 324: {region: 0x6e, script: 0x55, flags: 0x0},
  1799. 325: {region: 0x52, script: 0x55, flags: 0x0},
  1800. 326: {region: 0x6e, script: 0x55, flags: 0x0},
  1801. 327: {region: 0x9c, script: 0x5, flags: 0x0},
  1802. 328: {region: 0x165, script: 0x55, flags: 0x0},
  1803. 329: {region: 0x165, script: 0x55, flags: 0x0},
  1804. 330: {region: 0x165, script: 0x55, flags: 0x0},
  1805. 331: {region: 0x165, script: 0x55, flags: 0x0},
  1806. 332: {region: 0x86, script: 0x55, flags: 0x0},
  1807. 333: {region: 0xc, script: 0x2, flags: 0x1},
  1808. 334: {region: 0x165, script: 0x55, flags: 0x0},
  1809. 335: {region: 0xc3, script: 0x55, flags: 0x0},
  1810. 336: {region: 0x72, script: 0x55, flags: 0x0},
  1811. 337: {region: 0x10b, script: 0x5, flags: 0x0},
  1812. 338: {region: 0xe7, script: 0x55, flags: 0x0},
  1813. 339: {region: 0x10c, script: 0x55, flags: 0x0},
  1814. 340: {region: 0x73, script: 0x55, flags: 0x0},
  1815. 341: {region: 0x165, script: 0x55, flags: 0x0},
  1816. 342: {region: 0x165, script: 0x55, flags: 0x0},
  1817. 343: {region: 0x76, script: 0x55, flags: 0x0},
  1818. 344: {region: 0x165, script: 0x55, flags: 0x0},
  1819. 345: {region: 0x3b, script: 0x55, flags: 0x0},
  1820. 346: {region: 0x165, script: 0x55, flags: 0x0},
  1821. 347: {region: 0x165, script: 0x55, flags: 0x0},
  1822. 348: {region: 0x165, script: 0x55, flags: 0x0},
  1823. 349: {region: 0x78, script: 0x55, flags: 0x0},
  1824. 350: {region: 0x135, script: 0x55, flags: 0x0},
  1825. 351: {region: 0x78, script: 0x55, flags: 0x0},
  1826. 352: {region: 0x60, script: 0x55, flags: 0x0},
  1827. 353: {region: 0x60, script: 0x55, flags: 0x0},
  1828. 354: {region: 0x52, script: 0x5, flags: 0x0},
  1829. 355: {region: 0x140, script: 0x55, flags: 0x0},
  1830. 356: {region: 0x165, script: 0x55, flags: 0x0},
  1831. 357: {region: 0x84, script: 0x55, flags: 0x0},
  1832. 358: {region: 0x165, script: 0x55, flags: 0x0},
  1833. 359: {region: 0xd4, script: 0x55, flags: 0x0},
  1834. 360: {region: 0x9e, script: 0x55, flags: 0x0},
  1835. 361: {region: 0xd6, script: 0x55, flags: 0x0},
  1836. 362: {region: 0x165, script: 0x55, flags: 0x0},
  1837. 363: {region: 0x10b, script: 0x55, flags: 0x0},
  1838. 364: {region: 0xd9, script: 0x55, flags: 0x0},
  1839. 365: {region: 0x96, script: 0x55, flags: 0x0},
  1840. 366: {region: 0x80, script: 0x55, flags: 0x0},
  1841. 367: {region: 0x165, script: 0x55, flags: 0x0},
  1842. 368: {region: 0xbc, script: 0x55, flags: 0x0},
  1843. 369: {region: 0x165, script: 0x55, flags: 0x0},
  1844. 370: {region: 0x165, script: 0x55, flags: 0x0},
  1845. 371: {region: 0x165, script: 0x55, flags: 0x0},
  1846. 372: {region: 0x53, script: 0x37, flags: 0x0},
  1847. 373: {region: 0x165, script: 0x55, flags: 0x0},
  1848. 374: {region: 0x95, script: 0x55, flags: 0x0},
  1849. 375: {region: 0x165, script: 0x55, flags: 0x0},
  1850. 376: {region: 0x99, script: 0x20, flags: 0x0},
  1851. 377: {region: 0x165, script: 0x55, flags: 0x0},
  1852. 378: {region: 0x9c, script: 0x5, flags: 0x0},
  1853. 379: {region: 0x7e, script: 0x55, flags: 0x0},
  1854. 380: {region: 0x7b, script: 0x55, flags: 0x0},
  1855. 381: {region: 0x165, script: 0x55, flags: 0x0},
  1856. 382: {region: 0x165, script: 0x55, flags: 0x0},
  1857. 383: {region: 0x165, script: 0x55, flags: 0x0},
  1858. 384: {region: 0x165, script: 0x55, flags: 0x0},
  1859. 385: {region: 0x165, script: 0x55, flags: 0x0},
  1860. 386: {region: 0x165, script: 0x55, flags: 0x0},
  1861. 387: {region: 0x6f, script: 0x28, flags: 0x0},
  1862. 388: {region: 0x165, script: 0x55, flags: 0x0},
  1863. 389: {region: 0xdb, script: 0x20, flags: 0x0},
  1864. 390: {region: 0x165, script: 0x55, flags: 0x0},
  1865. 391: {region: 0xa7, script: 0x55, flags: 0x0},
  1866. 392: {region: 0x165, script: 0x55, flags: 0x0},
  1867. 393: {region: 0xe8, script: 0x5, flags: 0x0},
  1868. 394: {region: 0x165, script: 0x55, flags: 0x0},
  1869. 395: {region: 0xe8, script: 0x5, flags: 0x0},
  1870. 396: {region: 0x165, script: 0x55, flags: 0x0},
  1871. 397: {region: 0x165, script: 0x55, flags: 0x0},
  1872. 398: {region: 0x6e, script: 0x55, flags: 0x0},
  1873. 399: {region: 0x9c, script: 0x5, flags: 0x0},
  1874. 400: {region: 0x165, script: 0x55, flags: 0x0},
  1875. 401: {region: 0x165, script: 0x28, flags: 0x0},
  1876. 402: {region: 0xf1, script: 0x55, flags: 0x0},
  1877. 403: {region: 0x165, script: 0x55, flags: 0x0},
  1878. 404: {region: 0x165, script: 0x55, flags: 0x0},
  1879. 405: {region: 0x165, script: 0x55, flags: 0x0},
  1880. 406: {region: 0x165, script: 0x28, flags: 0x0},
  1881. 407: {region: 0x165, script: 0x55, flags: 0x0},
  1882. 408: {region: 0x99, script: 0x20, flags: 0x0},
  1883. 409: {region: 0x99, script: 0xd6, flags: 0x0},
  1884. 410: {region: 0x95, script: 0x55, flags: 0x0},
  1885. 411: {region: 0xd9, script: 0x55, flags: 0x0},
  1886. 412: {region: 0x130, script: 0x2e, flags: 0x0},
  1887. 413: {region: 0x165, script: 0x55, flags: 0x0},
  1888. 414: {region: 0xe, script: 0x2, flags: 0x1},
  1889. 415: {region: 0x99, script: 0xe, flags: 0x0},
  1890. 416: {region: 0x165, script: 0x55, flags: 0x0},
  1891. 417: {region: 0x4e, script: 0x55, flags: 0x0},
  1892. 418: {region: 0x99, script: 0x31, flags: 0x0},
  1893. 419: {region: 0x41, script: 0x55, flags: 0x0},
  1894. 420: {region: 0x54, script: 0x55, flags: 0x0},
  1895. 421: {region: 0x165, script: 0x55, flags: 0x0},
  1896. 422: {region: 0x80, script: 0x55, flags: 0x0},
  1897. 423: {region: 0x165, script: 0x55, flags: 0x0},
  1898. 424: {region: 0x165, script: 0x55, flags: 0x0},
  1899. 425: {region: 0xa4, script: 0x55, flags: 0x0},
  1900. 426: {region: 0x98, script: 0x55, flags: 0x0},
  1901. 427: {region: 0x165, script: 0x55, flags: 0x0},
  1902. 428: {region: 0xdb, script: 0x20, flags: 0x0},
  1903. 429: {region: 0x165, script: 0x55, flags: 0x0},
  1904. 430: {region: 0x165, script: 0x5, flags: 0x0},
  1905. 431: {region: 0x49, script: 0x55, flags: 0x0},
  1906. 432: {region: 0x165, script: 0x5, flags: 0x0},
  1907. 433: {region: 0x165, script: 0x55, flags: 0x0},
  1908. 434: {region: 0x10, script: 0x3, flags: 0x1},
  1909. 435: {region: 0x165, script: 0x55, flags: 0x0},
  1910. 436: {region: 0x53, script: 0x37, flags: 0x0},
  1911. 437: {region: 0x165, script: 0x55, flags: 0x0},
  1912. 438: {region: 0x135, script: 0x55, flags: 0x0},
  1913. 439: {region: 0x24, script: 0x5, flags: 0x0},
  1914. 440: {region: 0x165, script: 0x55, flags: 0x0},
  1915. 441: {region: 0x165, script: 0x28, flags: 0x0},
  1916. 442: {region: 0x97, script: 0x3a, flags: 0x0},
  1917. 443: {region: 0x165, script: 0x55, flags: 0x0},
  1918. 444: {region: 0x99, script: 0x20, flags: 0x0},
  1919. 445: {region: 0x165, script: 0x55, flags: 0x0},
  1920. 446: {region: 0x73, script: 0x55, flags: 0x0},
  1921. 447: {region: 0x165, script: 0x55, flags: 0x0},
  1922. 448: {region: 0x165, script: 0x55, flags: 0x0},
  1923. 449: {region: 0xe7, script: 0x55, flags: 0x0},
  1924. 450: {region: 0x165, script: 0x55, flags: 0x0},
  1925. 451: {region: 0x12b, script: 0x3c, flags: 0x0},
  1926. 452: {region: 0x53, script: 0x86, flags: 0x0},
  1927. 453: {region: 0x165, script: 0x55, flags: 0x0},
  1928. 454: {region: 0xe8, script: 0x5, flags: 0x0},
  1929. 455: {region: 0x99, script: 0x20, flags: 0x0},
  1930. 456: {region: 0xaf, script: 0x3d, flags: 0x0},
  1931. 457: {region: 0xe7, script: 0x55, flags: 0x0},
  1932. 458: {region: 0xe8, script: 0x5, flags: 0x0},
  1933. 459: {region: 0xe6, script: 0x55, flags: 0x0},
  1934. 460: {region: 0x99, script: 0x20, flags: 0x0},
  1935. 461: {region: 0x99, script: 0x20, flags: 0x0},
  1936. 462: {region: 0x165, script: 0x55, flags: 0x0},
  1937. 463: {region: 0x90, script: 0x55, flags: 0x0},
  1938. 464: {region: 0x60, script: 0x55, flags: 0x0},
  1939. 465: {region: 0x53, script: 0x37, flags: 0x0},
  1940. 466: {region: 0x91, script: 0x55, flags: 0x0},
  1941. 467: {region: 0x92, script: 0x55, flags: 0x0},
  1942. 468: {region: 0x165, script: 0x55, flags: 0x0},
  1943. 469: {region: 0x28, script: 0x8, flags: 0x0},
  1944. 470: {region: 0xd2, script: 0x55, flags: 0x0},
  1945. 471: {region: 0x78, script: 0x55, flags: 0x0},
  1946. 472: {region: 0x165, script: 0x55, flags: 0x0},
  1947. 473: {region: 0x165, script: 0x55, flags: 0x0},
  1948. 474: {region: 0xd0, script: 0x55, flags: 0x0},
  1949. 475: {region: 0xd6, script: 0x55, flags: 0x0},
  1950. 476: {region: 0x165, script: 0x55, flags: 0x0},
  1951. 477: {region: 0x165, script: 0x55, flags: 0x0},
  1952. 478: {region: 0x165, script: 0x55, flags: 0x0},
  1953. 479: {region: 0x95, script: 0x55, flags: 0x0},
  1954. 480: {region: 0x165, script: 0x55, flags: 0x0},
  1955. 481: {region: 0x165, script: 0x55, flags: 0x0},
  1956. 482: {region: 0x165, script: 0x55, flags: 0x0},
  1957. 484: {region: 0x122, script: 0x55, flags: 0x0},
  1958. 485: {region: 0xd6, script: 0x55, flags: 0x0},
  1959. 486: {region: 0x165, script: 0x55, flags: 0x0},
  1960. 487: {region: 0x165, script: 0x55, flags: 0x0},
  1961. 488: {region: 0x53, script: 0xe5, flags: 0x0},
  1962. 489: {region: 0x165, script: 0x55, flags: 0x0},
  1963. 490: {region: 0x135, script: 0x55, flags: 0x0},
  1964. 491: {region: 0x165, script: 0x55, flags: 0x0},
  1965. 492: {region: 0x49, script: 0x55, flags: 0x0},
  1966. 493: {region: 0x165, script: 0x55, flags: 0x0},
  1967. 494: {region: 0x165, script: 0x55, flags: 0x0},
  1968. 495: {region: 0xe7, script: 0x55, flags: 0x0},
  1969. 496: {region: 0x165, script: 0x55, flags: 0x0},
  1970. 497: {region: 0x95, script: 0x55, flags: 0x0},
  1971. 498: {region: 0x106, script: 0x1e, flags: 0x0},
  1972. 500: {region: 0x165, script: 0x55, flags: 0x0},
  1973. 501: {region: 0x165, script: 0x55, flags: 0x0},
  1974. 502: {region: 0x9d, script: 0x55, flags: 0x0},
  1975. 503: {region: 0x9e, script: 0x55, flags: 0x0},
  1976. 504: {region: 0x49, script: 0x17, flags: 0x0},
  1977. 505: {region: 0x97, script: 0x3a, flags: 0x0},
  1978. 506: {region: 0x165, script: 0x55, flags: 0x0},
  1979. 507: {region: 0x165, script: 0x55, flags: 0x0},
  1980. 508: {region: 0x106, script: 0x55, flags: 0x0},
  1981. 509: {region: 0x165, script: 0x55, flags: 0x0},
  1982. 510: {region: 0xa2, script: 0x44, flags: 0x0},
  1983. 511: {region: 0x165, script: 0x55, flags: 0x0},
  1984. 512: {region: 0xa0, script: 0x55, flags: 0x0},
  1985. 514: {region: 0x165, script: 0x55, flags: 0x0},
  1986. 515: {region: 0x165, script: 0x55, flags: 0x0},
  1987. 516: {region: 0x165, script: 0x55, flags: 0x0},
  1988. 517: {region: 0x52, script: 0x55, flags: 0x0},
  1989. 518: {region: 0x130, script: 0x3a, flags: 0x0},
  1990. 519: {region: 0x165, script: 0x55, flags: 0x0},
  1991. 520: {region: 0x12f, script: 0x55, flags: 0x0},
  1992. 521: {region: 0xdb, script: 0x20, flags: 0x0},
  1993. 522: {region: 0x165, script: 0x55, flags: 0x0},
  1994. 523: {region: 0x63, script: 0x55, flags: 0x0},
  1995. 524: {region: 0x95, script: 0x55, flags: 0x0},
  1996. 525: {region: 0x95, script: 0x55, flags: 0x0},
  1997. 526: {region: 0x7d, script: 0x2a, flags: 0x0},
  1998. 527: {region: 0x137, script: 0x1e, flags: 0x0},
  1999. 528: {region: 0x67, script: 0x55, flags: 0x0},
  2000. 529: {region: 0xc4, script: 0x55, flags: 0x0},
  2001. 530: {region: 0x165, script: 0x55, flags: 0x0},
  2002. 531: {region: 0x165, script: 0x55, flags: 0x0},
  2003. 532: {region: 0xd6, script: 0x55, flags: 0x0},
  2004. 533: {region: 0xa4, script: 0x55, flags: 0x0},
  2005. 534: {region: 0xc3, script: 0x55, flags: 0x0},
  2006. 535: {region: 0x106, script: 0x1e, flags: 0x0},
  2007. 536: {region: 0x165, script: 0x55, flags: 0x0},
  2008. 537: {region: 0x165, script: 0x55, flags: 0x0},
  2009. 538: {region: 0x165, script: 0x55, flags: 0x0},
  2010. 539: {region: 0x165, script: 0x55, flags: 0x0},
  2011. 540: {region: 0xd4, script: 0x5, flags: 0x0},
  2012. 541: {region: 0xd6, script: 0x55, flags: 0x0},
  2013. 542: {region: 0x164, script: 0x55, flags: 0x0},
  2014. 543: {region: 0x165, script: 0x55, flags: 0x0},
  2015. 544: {region: 0x165, script: 0x55, flags: 0x0},
  2016. 545: {region: 0x12f, script: 0x55, flags: 0x0},
  2017. 546: {region: 0x122, script: 0x5, flags: 0x0},
  2018. 547: {region: 0x165, script: 0x55, flags: 0x0},
  2019. 548: {region: 0x123, script: 0xdb, flags: 0x0},
  2020. 549: {region: 0x5a, script: 0x55, flags: 0x0},
  2021. 550: {region: 0x52, script: 0x55, flags: 0x0},
  2022. 551: {region: 0x165, script: 0x55, flags: 0x0},
  2023. 552: {region: 0x4f, script: 0x55, flags: 0x0},
  2024. 553: {region: 0x99, script: 0x20, flags: 0x0},
  2025. 554: {region: 0x99, script: 0x20, flags: 0x0},
  2026. 555: {region: 0x4b, script: 0x55, flags: 0x0},
  2027. 556: {region: 0x95, script: 0x55, flags: 0x0},
  2028. 557: {region: 0x165, script: 0x55, flags: 0x0},
  2029. 558: {region: 0x41, script: 0x55, flags: 0x0},
  2030. 559: {region: 0x99, script: 0x55, flags: 0x0},
  2031. 560: {region: 0x53, script: 0xd2, flags: 0x0},
  2032. 561: {region: 0x99, script: 0x20, flags: 0x0},
  2033. 562: {region: 0xc3, script: 0x55, flags: 0x0},
  2034. 563: {region: 0x165, script: 0x55, flags: 0x0},
  2035. 564: {region: 0x99, script: 0x70, flags: 0x0},
  2036. 565: {region: 0xe8, script: 0x5, flags: 0x0},
  2037. 566: {region: 0x165, script: 0x55, flags: 0x0},
  2038. 567: {region: 0xa4, script: 0x55, flags: 0x0},
  2039. 568: {region: 0x165, script: 0x55, flags: 0x0},
  2040. 569: {region: 0x12b, script: 0x55, flags: 0x0},
  2041. 570: {region: 0x165, script: 0x55, flags: 0x0},
  2042. 571: {region: 0xd2, script: 0x55, flags: 0x0},
  2043. 572: {region: 0x165, script: 0x55, flags: 0x0},
  2044. 573: {region: 0xaf, script: 0x52, flags: 0x0},
  2045. 574: {region: 0x165, script: 0x55, flags: 0x0},
  2046. 575: {region: 0x165, script: 0x55, flags: 0x0},
  2047. 576: {region: 0x13, script: 0x6, flags: 0x1},
  2048. 577: {region: 0x165, script: 0x55, flags: 0x0},
  2049. 578: {region: 0x52, script: 0x55, flags: 0x0},
  2050. 579: {region: 0x82, script: 0x55, flags: 0x0},
  2051. 580: {region: 0xa4, script: 0x55, flags: 0x0},
  2052. 581: {region: 0x165, script: 0x55, flags: 0x0},
  2053. 582: {region: 0x165, script: 0x55, flags: 0x0},
  2054. 583: {region: 0x165, script: 0x55, flags: 0x0},
  2055. 584: {region: 0xa6, script: 0x49, flags: 0x0},
  2056. 585: {region: 0x2a, script: 0x55, flags: 0x0},
  2057. 586: {region: 0x165, script: 0x55, flags: 0x0},
  2058. 587: {region: 0x165, script: 0x55, flags: 0x0},
  2059. 588: {region: 0x165, script: 0x55, flags: 0x0},
  2060. 589: {region: 0x165, script: 0x55, flags: 0x0},
  2061. 590: {region: 0x165, script: 0x55, flags: 0x0},
  2062. 591: {region: 0x99, script: 0x4d, flags: 0x0},
  2063. 592: {region: 0x114, script: 0x55, flags: 0x0},
  2064. 593: {region: 0x165, script: 0x55, flags: 0x0},
  2065. 594: {region: 0xab, script: 0x4e, flags: 0x0},
  2066. 595: {region: 0x106, script: 0x1e, flags: 0x0},
  2067. 596: {region: 0x99, script: 0x20, flags: 0x0},
  2068. 597: {region: 0x165, script: 0x55, flags: 0x0},
  2069. 598: {region: 0x75, script: 0x55, flags: 0x0},
  2070. 599: {region: 0x165, script: 0x55, flags: 0x0},
  2071. 600: {region: 0xb4, script: 0x55, flags: 0x0},
  2072. 601: {region: 0x165, script: 0x55, flags: 0x0},
  2073. 602: {region: 0x165, script: 0x55, flags: 0x0},
  2074. 603: {region: 0x165, script: 0x55, flags: 0x0},
  2075. 604: {region: 0x165, script: 0x55, flags: 0x0},
  2076. 605: {region: 0x165, script: 0x55, flags: 0x0},
  2077. 606: {region: 0x165, script: 0x55, flags: 0x0},
  2078. 607: {region: 0x165, script: 0x55, flags: 0x0},
  2079. 608: {region: 0x165, script: 0x28, flags: 0x0},
  2080. 610: {region: 0x106, script: 0x1e, flags: 0x0},
  2081. 611: {region: 0x112, script: 0x55, flags: 0x0},
  2082. 612: {region: 0xe7, script: 0x55, flags: 0x0},
  2083. 613: {region: 0x106, script: 0x55, flags: 0x0},
  2084. 614: {region: 0x165, script: 0x55, flags: 0x0},
  2085. 615: {region: 0x99, script: 0x20, flags: 0x0},
  2086. 616: {region: 0x99, script: 0x5, flags: 0x0},
  2087. 617: {region: 0x12f, script: 0x55, flags: 0x0},
  2088. 618: {region: 0x165, script: 0x55, flags: 0x0},
  2089. 619: {region: 0x52, script: 0x55, flags: 0x0},
  2090. 620: {region: 0x60, script: 0x55, flags: 0x0},
  2091. 621: {region: 0x165, script: 0x55, flags: 0x0},
  2092. 622: {region: 0x165, script: 0x55, flags: 0x0},
  2093. 623: {region: 0x165, script: 0x28, flags: 0x0},
  2094. 624: {region: 0x165, script: 0x55, flags: 0x0},
  2095. 625: {region: 0x165, script: 0x55, flags: 0x0},
  2096. 626: {region: 0x19, script: 0x3, flags: 0x1},
  2097. 627: {region: 0x165, script: 0x55, flags: 0x0},
  2098. 628: {region: 0x165, script: 0x55, flags: 0x0},
  2099. 629: {region: 0x165, script: 0x55, flags: 0x0},
  2100. 630: {region: 0x165, script: 0x55, flags: 0x0},
  2101. 631: {region: 0x106, script: 0x1e, flags: 0x0},
  2102. 632: {region: 0x165, script: 0x55, flags: 0x0},
  2103. 633: {region: 0x165, script: 0x55, flags: 0x0},
  2104. 634: {region: 0x165, script: 0x55, flags: 0x0},
  2105. 635: {region: 0x106, script: 0x1e, flags: 0x0},
  2106. 636: {region: 0x165, script: 0x55, flags: 0x0},
  2107. 637: {region: 0x95, script: 0x55, flags: 0x0},
  2108. 638: {region: 0xe8, script: 0x5, flags: 0x0},
  2109. 639: {region: 0x7b, script: 0x55, flags: 0x0},
  2110. 640: {region: 0x165, script: 0x55, flags: 0x0},
  2111. 641: {region: 0x165, script: 0x55, flags: 0x0},
  2112. 642: {region: 0x165, script: 0x55, flags: 0x0},
  2113. 643: {region: 0x165, script: 0x28, flags: 0x0},
  2114. 644: {region: 0x123, script: 0xdb, flags: 0x0},
  2115. 645: {region: 0xe8, script: 0x5, flags: 0x0},
  2116. 646: {region: 0x165, script: 0x55, flags: 0x0},
  2117. 647: {region: 0x165, script: 0x55, flags: 0x0},
  2118. 648: {region: 0x1c, script: 0x5, flags: 0x1},
  2119. 649: {region: 0x165, script: 0x55, flags: 0x0},
  2120. 650: {region: 0x165, script: 0x55, flags: 0x0},
  2121. 651: {region: 0x165, script: 0x55, flags: 0x0},
  2122. 652: {region: 0x138, script: 0x55, flags: 0x0},
  2123. 653: {region: 0x87, script: 0x59, flags: 0x0},
  2124. 654: {region: 0x97, script: 0x3a, flags: 0x0},
  2125. 655: {region: 0x12f, script: 0x55, flags: 0x0},
  2126. 656: {region: 0xe8, script: 0x5, flags: 0x0},
  2127. 657: {region: 0x131, script: 0x55, flags: 0x0},
  2128. 658: {region: 0x165, script: 0x55, flags: 0x0},
  2129. 659: {region: 0xb7, script: 0x55, flags: 0x0},
  2130. 660: {region: 0x106, script: 0x1e, flags: 0x0},
  2131. 661: {region: 0x165, script: 0x55, flags: 0x0},
  2132. 662: {region: 0x95, script: 0x55, flags: 0x0},
  2133. 663: {region: 0x165, script: 0x55, flags: 0x0},
  2134. 664: {region: 0x53, script: 0xdb, flags: 0x0},
  2135. 665: {region: 0x165, script: 0x55, flags: 0x0},
  2136. 666: {region: 0x165, script: 0x55, flags: 0x0},
  2137. 667: {region: 0x165, script: 0x55, flags: 0x0},
  2138. 668: {region: 0x165, script: 0x55, flags: 0x0},
  2139. 669: {region: 0x99, script: 0x57, flags: 0x0},
  2140. 670: {region: 0x165, script: 0x55, flags: 0x0},
  2141. 671: {region: 0x165, script: 0x55, flags: 0x0},
  2142. 672: {region: 0x106, script: 0x1e, flags: 0x0},
  2143. 673: {region: 0x131, script: 0x55, flags: 0x0},
  2144. 674: {region: 0x165, script: 0x55, flags: 0x0},
  2145. 675: {region: 0xd9, script: 0x55, flags: 0x0},
  2146. 676: {region: 0x165, script: 0x55, flags: 0x0},
  2147. 677: {region: 0x165, script: 0x55, flags: 0x0},
  2148. 678: {region: 0x21, script: 0x2, flags: 0x1},
  2149. 679: {region: 0x165, script: 0x55, flags: 0x0},
  2150. 680: {region: 0x165, script: 0x55, flags: 0x0},
  2151. 681: {region: 0x9e, script: 0x55, flags: 0x0},
  2152. 682: {region: 0x53, script: 0x5b, flags: 0x0},
  2153. 683: {region: 0x95, script: 0x55, flags: 0x0},
  2154. 684: {region: 0x9c, script: 0x5, flags: 0x0},
  2155. 685: {region: 0x135, script: 0x55, flags: 0x0},
  2156. 686: {region: 0x165, script: 0x55, flags: 0x0},
  2157. 687: {region: 0x165, script: 0x55, flags: 0x0},
  2158. 688: {region: 0x99, script: 0xd6, flags: 0x0},
  2159. 689: {region: 0x9e, script: 0x55, flags: 0x0},
  2160. 690: {region: 0x165, script: 0x55, flags: 0x0},
  2161. 691: {region: 0x4b, script: 0x55, flags: 0x0},
  2162. 692: {region: 0x165, script: 0x55, flags: 0x0},
  2163. 693: {region: 0x165, script: 0x55, flags: 0x0},
  2164. 694: {region: 0xaf, script: 0x52, flags: 0x0},
  2165. 695: {region: 0x165, script: 0x55, flags: 0x0},
  2166. 696: {region: 0x165, script: 0x55, flags: 0x0},
  2167. 697: {region: 0x4b, script: 0x55, flags: 0x0},
  2168. 698: {region: 0x165, script: 0x55, flags: 0x0},
  2169. 699: {region: 0x165, script: 0x55, flags: 0x0},
  2170. 700: {region: 0x162, script: 0x55, flags: 0x0},
  2171. 701: {region: 0x9c, script: 0x5, flags: 0x0},
  2172. 702: {region: 0xb6, script: 0x55, flags: 0x0},
  2173. 703: {region: 0xb8, script: 0x55, flags: 0x0},
  2174. 704: {region: 0x4b, script: 0x55, flags: 0x0},
  2175. 705: {region: 0x4b, script: 0x55, flags: 0x0},
  2176. 706: {region: 0xa4, script: 0x55, flags: 0x0},
  2177. 707: {region: 0xa4, script: 0x55, flags: 0x0},
  2178. 708: {region: 0x9c, script: 0x5, flags: 0x0},
  2179. 709: {region: 0xb8, script: 0x55, flags: 0x0},
  2180. 710: {region: 0x123, script: 0xdb, flags: 0x0},
  2181. 711: {region: 0x53, script: 0x37, flags: 0x0},
  2182. 712: {region: 0x12b, script: 0x55, flags: 0x0},
  2183. 713: {region: 0x95, script: 0x55, flags: 0x0},
  2184. 714: {region: 0x52, script: 0x55, flags: 0x0},
  2185. 715: {region: 0x99, script: 0x20, flags: 0x0},
  2186. 716: {region: 0x99, script: 0x20, flags: 0x0},
  2187. 717: {region: 0x95, script: 0x55, flags: 0x0},
  2188. 718: {region: 0x23, script: 0x3, flags: 0x1},
  2189. 719: {region: 0xa4, script: 0x55, flags: 0x0},
  2190. 720: {region: 0x165, script: 0x55, flags: 0x0},
  2191. 721: {region: 0xcf, script: 0x55, flags: 0x0},
  2192. 722: {region: 0x165, script: 0x55, flags: 0x0},
  2193. 723: {region: 0x165, script: 0x55, flags: 0x0},
  2194. 724: {region: 0x165, script: 0x55, flags: 0x0},
  2195. 725: {region: 0x165, script: 0x55, flags: 0x0},
  2196. 726: {region: 0x165, script: 0x55, flags: 0x0},
  2197. 727: {region: 0x165, script: 0x55, flags: 0x0},
  2198. 728: {region: 0x165, script: 0x55, flags: 0x0},
  2199. 729: {region: 0x165, script: 0x55, flags: 0x0},
  2200. 730: {region: 0x165, script: 0x55, flags: 0x0},
  2201. 731: {region: 0x165, script: 0x55, flags: 0x0},
  2202. 732: {region: 0x165, script: 0x55, flags: 0x0},
  2203. 733: {region: 0x165, script: 0x5, flags: 0x0},
  2204. 734: {region: 0x106, script: 0x1e, flags: 0x0},
  2205. 735: {region: 0xe7, script: 0x55, flags: 0x0},
  2206. 736: {region: 0x165, script: 0x55, flags: 0x0},
  2207. 737: {region: 0x95, script: 0x55, flags: 0x0},
  2208. 738: {region: 0x165, script: 0x28, flags: 0x0},
  2209. 739: {region: 0x165, script: 0x55, flags: 0x0},
  2210. 740: {region: 0x165, script: 0x55, flags: 0x0},
  2211. 741: {region: 0x165, script: 0x55, flags: 0x0},
  2212. 742: {region: 0x112, script: 0x55, flags: 0x0},
  2213. 743: {region: 0xa4, script: 0x55, flags: 0x0},
  2214. 744: {region: 0x165, script: 0x55, flags: 0x0},
  2215. 745: {region: 0x165, script: 0x55, flags: 0x0},
  2216. 746: {region: 0x123, script: 0x5, flags: 0x0},
  2217. 747: {region: 0xcc, script: 0x55, flags: 0x0},
  2218. 748: {region: 0x165, script: 0x55, flags: 0x0},
  2219. 749: {region: 0x165, script: 0x55, flags: 0x0},
  2220. 750: {region: 0x165, script: 0x55, flags: 0x0},
  2221. 751: {region: 0xbf, script: 0x55, flags: 0x0},
  2222. 752: {region: 0xd1, script: 0x55, flags: 0x0},
  2223. 753: {region: 0x165, script: 0x55, flags: 0x0},
  2224. 754: {region: 0x52, script: 0x55, flags: 0x0},
  2225. 755: {region: 0xdb, script: 0x20, flags: 0x0},
  2226. 756: {region: 0x12f, script: 0x55, flags: 0x0},
  2227. 757: {region: 0xc0, script: 0x55, flags: 0x0},
  2228. 758: {region: 0x165, script: 0x55, flags: 0x0},
  2229. 759: {region: 0x165, script: 0x55, flags: 0x0},
  2230. 760: {region: 0xe0, script: 0x55, flags: 0x0},
  2231. 761: {region: 0x165, script: 0x55, flags: 0x0},
  2232. 762: {region: 0x95, script: 0x55, flags: 0x0},
  2233. 763: {region: 0x9b, script: 0x39, flags: 0x0},
  2234. 764: {region: 0x165, script: 0x55, flags: 0x0},
  2235. 765: {region: 0xc2, script: 0x1e, flags: 0x0},
  2236. 766: {region: 0x165, script: 0x5, flags: 0x0},
  2237. 767: {region: 0x165, script: 0x55, flags: 0x0},
  2238. 768: {region: 0x165, script: 0x55, flags: 0x0},
  2239. 769: {region: 0x165, script: 0x55, flags: 0x0},
  2240. 770: {region: 0x99, script: 0x69, flags: 0x0},
  2241. 771: {region: 0x165, script: 0x55, flags: 0x0},
  2242. 772: {region: 0x165, script: 0x55, flags: 0x0},
  2243. 773: {region: 0x10b, script: 0x55, flags: 0x0},
  2244. 774: {region: 0x165, script: 0x55, flags: 0x0},
  2245. 775: {region: 0x165, script: 0x55, flags: 0x0},
  2246. 776: {region: 0x165, script: 0x55, flags: 0x0},
  2247. 777: {region: 0x26, script: 0x3, flags: 0x1},
  2248. 778: {region: 0x165, script: 0x55, flags: 0x0},
  2249. 779: {region: 0x165, script: 0x55, flags: 0x0},
  2250. 780: {region: 0x99, script: 0xe, flags: 0x0},
  2251. 781: {region: 0xc4, script: 0x70, flags: 0x0},
  2252. 783: {region: 0x165, script: 0x55, flags: 0x0},
  2253. 784: {region: 0x49, script: 0x55, flags: 0x0},
  2254. 785: {region: 0x49, script: 0x55, flags: 0x0},
  2255. 786: {region: 0x37, script: 0x55, flags: 0x0},
  2256. 787: {region: 0x165, script: 0x55, flags: 0x0},
  2257. 788: {region: 0x165, script: 0x55, flags: 0x0},
  2258. 789: {region: 0x165, script: 0x55, flags: 0x0},
  2259. 790: {region: 0x165, script: 0x55, flags: 0x0},
  2260. 791: {region: 0x165, script: 0x55, flags: 0x0},
  2261. 792: {region: 0x165, script: 0x55, flags: 0x0},
  2262. 793: {region: 0x99, script: 0x20, flags: 0x0},
  2263. 794: {region: 0xdb, script: 0x20, flags: 0x0},
  2264. 795: {region: 0x106, script: 0x1e, flags: 0x0},
  2265. 796: {region: 0x35, script: 0x6d, flags: 0x0},
  2266. 797: {region: 0x29, script: 0x3, flags: 0x1},
  2267. 798: {region: 0xcb, script: 0x55, flags: 0x0},
  2268. 799: {region: 0x165, script: 0x55, flags: 0x0},
  2269. 800: {region: 0x165, script: 0x55, flags: 0x0},
  2270. 801: {region: 0x165, script: 0x55, flags: 0x0},
  2271. 802: {region: 0x99, script: 0x20, flags: 0x0},
  2272. 803: {region: 0x52, script: 0x55, flags: 0x0},
  2273. 805: {region: 0x165, script: 0x55, flags: 0x0},
  2274. 806: {region: 0x135, script: 0x55, flags: 0x0},
  2275. 807: {region: 0x165, script: 0x55, flags: 0x0},
  2276. 808: {region: 0x165, script: 0x55, flags: 0x0},
  2277. 809: {region: 0xe8, script: 0x5, flags: 0x0},
  2278. 810: {region: 0xc3, script: 0x55, flags: 0x0},
  2279. 811: {region: 0x99, script: 0x20, flags: 0x0},
  2280. 812: {region: 0x95, script: 0x55, flags: 0x0},
  2281. 813: {region: 0x164, script: 0x55, flags: 0x0},
  2282. 814: {region: 0x165, script: 0x55, flags: 0x0},
  2283. 815: {region: 0xc4, script: 0x70, flags: 0x0},
  2284. 816: {region: 0x165, script: 0x55, flags: 0x0},
  2285. 817: {region: 0x165, script: 0x28, flags: 0x0},
  2286. 818: {region: 0x106, script: 0x1e, flags: 0x0},
  2287. 819: {region: 0x165, script: 0x55, flags: 0x0},
  2288. 820: {region: 0x131, script: 0x55, flags: 0x0},
  2289. 821: {region: 0x9c, script: 0x61, flags: 0x0},
  2290. 822: {region: 0x165, script: 0x55, flags: 0x0},
  2291. 823: {region: 0x165, script: 0x55, flags: 0x0},
  2292. 824: {region: 0x9c, script: 0x5, flags: 0x0},
  2293. 825: {region: 0x165, script: 0x55, flags: 0x0},
  2294. 826: {region: 0x165, script: 0x55, flags: 0x0},
  2295. 827: {region: 0x165, script: 0x55, flags: 0x0},
  2296. 828: {region: 0xdd, script: 0x55, flags: 0x0},
  2297. 829: {region: 0x165, script: 0x55, flags: 0x0},
  2298. 830: {region: 0x165, script: 0x55, flags: 0x0},
  2299. 832: {region: 0x165, script: 0x55, flags: 0x0},
  2300. 833: {region: 0x53, script: 0x37, flags: 0x0},
  2301. 834: {region: 0x9e, script: 0x55, flags: 0x0},
  2302. 835: {region: 0xd2, script: 0x55, flags: 0x0},
  2303. 836: {region: 0x165, script: 0x55, flags: 0x0},
  2304. 837: {region: 0xda, script: 0x55, flags: 0x0},
  2305. 838: {region: 0x165, script: 0x55, flags: 0x0},
  2306. 839: {region: 0x165, script: 0x55, flags: 0x0},
  2307. 840: {region: 0x165, script: 0x55, flags: 0x0},
  2308. 841: {region: 0xcf, script: 0x55, flags: 0x0},
  2309. 842: {region: 0x165, script: 0x55, flags: 0x0},
  2310. 843: {region: 0x165, script: 0x55, flags: 0x0},
  2311. 844: {region: 0x164, script: 0x55, flags: 0x0},
  2312. 845: {region: 0xd1, script: 0x55, flags: 0x0},
  2313. 846: {region: 0x60, script: 0x55, flags: 0x0},
  2314. 847: {region: 0xdb, script: 0x20, flags: 0x0},
  2315. 848: {region: 0x165, script: 0x55, flags: 0x0},
  2316. 849: {region: 0xdb, script: 0x20, flags: 0x0},
  2317. 850: {region: 0x165, script: 0x55, flags: 0x0},
  2318. 851: {region: 0x165, script: 0x55, flags: 0x0},
  2319. 852: {region: 0xd2, script: 0x55, flags: 0x0},
  2320. 853: {region: 0x165, script: 0x55, flags: 0x0},
  2321. 854: {region: 0x165, script: 0x55, flags: 0x0},
  2322. 855: {region: 0xd1, script: 0x55, flags: 0x0},
  2323. 856: {region: 0x165, script: 0x55, flags: 0x0},
  2324. 857: {region: 0xcf, script: 0x55, flags: 0x0},
  2325. 858: {region: 0xcf, script: 0x55, flags: 0x0},
  2326. 859: {region: 0x165, script: 0x55, flags: 0x0},
  2327. 860: {region: 0x165, script: 0x55, flags: 0x0},
  2328. 861: {region: 0x95, script: 0x55, flags: 0x0},
  2329. 862: {region: 0x165, script: 0x55, flags: 0x0},
  2330. 863: {region: 0xdf, script: 0x55, flags: 0x0},
  2331. 864: {region: 0x165, script: 0x55, flags: 0x0},
  2332. 865: {region: 0x165, script: 0x55, flags: 0x0},
  2333. 866: {region: 0x99, script: 0x55, flags: 0x0},
  2334. 867: {region: 0x165, script: 0x55, flags: 0x0},
  2335. 868: {region: 0x165, script: 0x55, flags: 0x0},
  2336. 869: {region: 0xd9, script: 0x55, flags: 0x0},
  2337. 870: {region: 0x52, script: 0x55, flags: 0x0},
  2338. 871: {region: 0x165, script: 0x55, flags: 0x0},
  2339. 872: {region: 0xda, script: 0x55, flags: 0x0},
  2340. 873: {region: 0x165, script: 0x55, flags: 0x0},
  2341. 874: {region: 0x52, script: 0x55, flags: 0x0},
  2342. 875: {region: 0x165, script: 0x55, flags: 0x0},
  2343. 876: {region: 0x165, script: 0x55, flags: 0x0},
  2344. 877: {region: 0xda, script: 0x55, flags: 0x0},
  2345. 878: {region: 0x123, script: 0x51, flags: 0x0},
  2346. 879: {region: 0x99, script: 0x20, flags: 0x0},
  2347. 880: {region: 0x10c, script: 0xbc, flags: 0x0},
  2348. 881: {region: 0x165, script: 0x55, flags: 0x0},
  2349. 882: {region: 0x165, script: 0x55, flags: 0x0},
  2350. 883: {region: 0x84, script: 0x75, flags: 0x0},
  2351. 884: {region: 0x161, script: 0x55, flags: 0x0},
  2352. 885: {region: 0x165, script: 0x55, flags: 0x0},
  2353. 886: {region: 0x49, script: 0x17, flags: 0x0},
  2354. 887: {region: 0x165, script: 0x55, flags: 0x0},
  2355. 888: {region: 0x161, script: 0x55, flags: 0x0},
  2356. 889: {region: 0x165, script: 0x55, flags: 0x0},
  2357. 890: {region: 0x165, script: 0x55, flags: 0x0},
  2358. 891: {region: 0x165, script: 0x55, flags: 0x0},
  2359. 892: {region: 0x165, script: 0x55, flags: 0x0},
  2360. 893: {region: 0x165, script: 0x55, flags: 0x0},
  2361. 894: {region: 0x117, script: 0x55, flags: 0x0},
  2362. 895: {region: 0x165, script: 0x55, flags: 0x0},
  2363. 896: {region: 0x165, script: 0x55, flags: 0x0},
  2364. 897: {region: 0x135, script: 0x55, flags: 0x0},
  2365. 898: {region: 0x165, script: 0x55, flags: 0x0},
  2366. 899: {region: 0x53, script: 0x55, flags: 0x0},
  2367. 900: {region: 0x165, script: 0x55, flags: 0x0},
  2368. 901: {region: 0xce, script: 0x55, flags: 0x0},
  2369. 902: {region: 0x12f, script: 0x55, flags: 0x0},
  2370. 903: {region: 0x131, script: 0x55, flags: 0x0},
  2371. 904: {region: 0x80, script: 0x55, flags: 0x0},
  2372. 905: {region: 0x78, script: 0x55, flags: 0x0},
  2373. 906: {region: 0x165, script: 0x55, flags: 0x0},
  2374. 908: {region: 0x165, script: 0x55, flags: 0x0},
  2375. 909: {region: 0x165, script: 0x55, flags: 0x0},
  2376. 910: {region: 0x6f, script: 0x55, flags: 0x0},
  2377. 911: {region: 0x165, script: 0x55, flags: 0x0},
  2378. 912: {region: 0x165, script: 0x55, flags: 0x0},
  2379. 913: {region: 0x165, script: 0x55, flags: 0x0},
  2380. 914: {region: 0x165, script: 0x55, flags: 0x0},
  2381. 915: {region: 0x99, script: 0x7a, flags: 0x0},
  2382. 916: {region: 0x165, script: 0x55, flags: 0x0},
  2383. 917: {region: 0x165, script: 0x5, flags: 0x0},
  2384. 918: {region: 0x7d, script: 0x1e, flags: 0x0},
  2385. 919: {region: 0x135, script: 0x7b, flags: 0x0},
  2386. 920: {region: 0x165, script: 0x5, flags: 0x0},
  2387. 921: {region: 0xc5, script: 0x79, flags: 0x0},
  2388. 922: {region: 0x165, script: 0x55, flags: 0x0},
  2389. 923: {region: 0x2c, script: 0x3, flags: 0x1},
  2390. 924: {region: 0xe7, script: 0x55, flags: 0x0},
  2391. 925: {region: 0x2f, script: 0x2, flags: 0x1},
  2392. 926: {region: 0xe7, script: 0x55, flags: 0x0},
  2393. 927: {region: 0x30, script: 0x55, flags: 0x0},
  2394. 928: {region: 0xf0, script: 0x55, flags: 0x0},
  2395. 929: {region: 0x165, script: 0x55, flags: 0x0},
  2396. 930: {region: 0x78, script: 0x55, flags: 0x0},
  2397. 931: {region: 0xd6, script: 0x55, flags: 0x0},
  2398. 932: {region: 0x135, script: 0x55, flags: 0x0},
  2399. 933: {region: 0x49, script: 0x55, flags: 0x0},
  2400. 934: {region: 0x165, script: 0x55, flags: 0x0},
  2401. 935: {region: 0x9c, script: 0xe3, flags: 0x0},
  2402. 936: {region: 0x165, script: 0x55, flags: 0x0},
  2403. 937: {region: 0x60, script: 0x55, flags: 0x0},
  2404. 938: {region: 0x165, script: 0x5, flags: 0x0},
  2405. 939: {region: 0xb0, script: 0x84, flags: 0x0},
  2406. 941: {region: 0x165, script: 0x55, flags: 0x0},
  2407. 942: {region: 0x165, script: 0x55, flags: 0x0},
  2408. 943: {region: 0x99, script: 0x12, flags: 0x0},
  2409. 944: {region: 0xa4, script: 0x55, flags: 0x0},
  2410. 945: {region: 0xe9, script: 0x55, flags: 0x0},
  2411. 946: {region: 0x165, script: 0x55, flags: 0x0},
  2412. 947: {region: 0x9e, script: 0x55, flags: 0x0},
  2413. 948: {region: 0x165, script: 0x55, flags: 0x0},
  2414. 949: {region: 0x165, script: 0x55, flags: 0x0},
  2415. 950: {region: 0x87, script: 0x30, flags: 0x0},
  2416. 951: {region: 0x75, script: 0x55, flags: 0x0},
  2417. 952: {region: 0x165, script: 0x55, flags: 0x0},
  2418. 953: {region: 0xe8, script: 0x48, flags: 0x0},
  2419. 954: {region: 0x9c, script: 0x5, flags: 0x0},
  2420. 955: {region: 0x1, script: 0x55, flags: 0x0},
  2421. 956: {region: 0x24, script: 0x5, flags: 0x0},
  2422. 957: {region: 0x165, script: 0x55, flags: 0x0},
  2423. 958: {region: 0x41, script: 0x55, flags: 0x0},
  2424. 959: {region: 0x165, script: 0x55, flags: 0x0},
  2425. 960: {region: 0x7a, script: 0x55, flags: 0x0},
  2426. 961: {region: 0x165, script: 0x55, flags: 0x0},
  2427. 962: {region: 0xe4, script: 0x55, flags: 0x0},
  2428. 963: {region: 0x89, script: 0x55, flags: 0x0},
  2429. 964: {region: 0x69, script: 0x55, flags: 0x0},
  2430. 965: {region: 0x165, script: 0x55, flags: 0x0},
  2431. 966: {region: 0x99, script: 0x20, flags: 0x0},
  2432. 967: {region: 0x165, script: 0x55, flags: 0x0},
  2433. 968: {region: 0x102, script: 0x55, flags: 0x0},
  2434. 969: {region: 0x95, script: 0x55, flags: 0x0},
  2435. 970: {region: 0x165, script: 0x55, flags: 0x0},
  2436. 971: {region: 0x165, script: 0x55, flags: 0x0},
  2437. 972: {region: 0x9e, script: 0x55, flags: 0x0},
  2438. 973: {region: 0x165, script: 0x5, flags: 0x0},
  2439. 974: {region: 0x99, script: 0x55, flags: 0x0},
  2440. 975: {region: 0x31, script: 0x2, flags: 0x1},
  2441. 976: {region: 0xdb, script: 0x20, flags: 0x0},
  2442. 977: {region: 0x35, script: 0xe, flags: 0x0},
  2443. 978: {region: 0x4e, script: 0x55, flags: 0x0},
  2444. 979: {region: 0x72, script: 0x55, flags: 0x0},
  2445. 980: {region: 0x4e, script: 0x55, flags: 0x0},
  2446. 981: {region: 0x9c, script: 0x5, flags: 0x0},
  2447. 982: {region: 0x10c, script: 0x55, flags: 0x0},
  2448. 983: {region: 0x3a, script: 0x55, flags: 0x0},
  2449. 984: {region: 0x165, script: 0x55, flags: 0x0},
  2450. 985: {region: 0xd1, script: 0x55, flags: 0x0},
  2451. 986: {region: 0x104, script: 0x55, flags: 0x0},
  2452. 987: {region: 0x95, script: 0x55, flags: 0x0},
  2453. 988: {region: 0x12f, script: 0x55, flags: 0x0},
  2454. 989: {region: 0x165, script: 0x55, flags: 0x0},
  2455. 990: {region: 0x165, script: 0x55, flags: 0x0},
  2456. 991: {region: 0x73, script: 0x55, flags: 0x0},
  2457. 992: {region: 0x106, script: 0x1e, flags: 0x0},
  2458. 993: {region: 0x130, script: 0x1e, flags: 0x0},
  2459. 994: {region: 0x109, script: 0x55, flags: 0x0},
  2460. 995: {region: 0x107, script: 0x55, flags: 0x0},
  2461. 996: {region: 0x12f, script: 0x55, flags: 0x0},
  2462. 997: {region: 0x165, script: 0x55, flags: 0x0},
  2463. 998: {region: 0xa2, script: 0x47, flags: 0x0},
  2464. 999: {region: 0x99, script: 0x20, flags: 0x0},
  2465. 1000: {region: 0x80, script: 0x55, flags: 0x0},
  2466. 1001: {region: 0x106, script: 0x1e, flags: 0x0},
  2467. 1002: {region: 0xa4, script: 0x55, flags: 0x0},
  2468. 1003: {region: 0x95, script: 0x55, flags: 0x0},
  2469. 1004: {region: 0x99, script: 0x55, flags: 0x0},
  2470. 1005: {region: 0x114, script: 0x55, flags: 0x0},
  2471. 1006: {region: 0x99, script: 0xc0, flags: 0x0},
  2472. 1007: {region: 0x165, script: 0x55, flags: 0x0},
  2473. 1008: {region: 0x165, script: 0x55, flags: 0x0},
  2474. 1009: {region: 0x12f, script: 0x55, flags: 0x0},
  2475. 1010: {region: 0x9e, script: 0x55, flags: 0x0},
  2476. 1011: {region: 0x99, script: 0x20, flags: 0x0},
  2477. 1012: {region: 0x165, script: 0x5, flags: 0x0},
  2478. 1013: {region: 0x9e, script: 0x55, flags: 0x0},
  2479. 1014: {region: 0x7b, script: 0x55, flags: 0x0},
  2480. 1015: {region: 0x49, script: 0x55, flags: 0x0},
  2481. 1016: {region: 0x33, script: 0x4, flags: 0x1},
  2482. 1017: {region: 0x9e, script: 0x55, flags: 0x0},
  2483. 1018: {region: 0x9c, script: 0x5, flags: 0x0},
  2484. 1019: {region: 0xda, script: 0x55, flags: 0x0},
  2485. 1020: {region: 0x4f, script: 0x55, flags: 0x0},
  2486. 1021: {region: 0xd1, script: 0x55, flags: 0x0},
  2487. 1022: {region: 0xcf, script: 0x55, flags: 0x0},
  2488. 1023: {region: 0xc3, script: 0x55, flags: 0x0},
  2489. 1024: {region: 0x4c, script: 0x55, flags: 0x0},
  2490. 1025: {region: 0x96, script: 0x77, flags: 0x0},
  2491. 1026: {region: 0xb6, script: 0x55, flags: 0x0},
  2492. 1027: {region: 0x165, script: 0x28, flags: 0x0},
  2493. 1028: {region: 0x165, script: 0x55, flags: 0x0},
  2494. 1030: {region: 0xba, script: 0xd8, flags: 0x0},
  2495. 1031: {region: 0x165, script: 0x55, flags: 0x0},
  2496. 1032: {region: 0xc4, script: 0x70, flags: 0x0},
  2497. 1033: {region: 0x165, script: 0x5, flags: 0x0},
  2498. 1034: {region: 0xb3, script: 0xc6, flags: 0x0},
  2499. 1035: {region: 0x6f, script: 0x55, flags: 0x0},
  2500. 1036: {region: 0x165, script: 0x55, flags: 0x0},
  2501. 1037: {region: 0x165, script: 0x55, flags: 0x0},
  2502. 1038: {region: 0x165, script: 0x55, flags: 0x0},
  2503. 1039: {region: 0x165, script: 0x55, flags: 0x0},
  2504. 1040: {region: 0x111, script: 0x55, flags: 0x0},
  2505. 1041: {region: 0x165, script: 0x55, flags: 0x0},
  2506. 1042: {region: 0xe8, script: 0x5, flags: 0x0},
  2507. 1043: {region: 0x165, script: 0x55, flags: 0x0},
  2508. 1044: {region: 0x10f, script: 0x55, flags: 0x0},
  2509. 1045: {region: 0x165, script: 0x55, flags: 0x0},
  2510. 1046: {region: 0xe9, script: 0x55, flags: 0x0},
  2511. 1047: {region: 0x165, script: 0x55, flags: 0x0},
  2512. 1048: {region: 0x95, script: 0x55, flags: 0x0},
  2513. 1049: {region: 0x142, script: 0x55, flags: 0x0},
  2514. 1050: {region: 0x10c, script: 0x55, flags: 0x0},
  2515. 1052: {region: 0x10c, script: 0x55, flags: 0x0},
  2516. 1053: {region: 0x72, script: 0x55, flags: 0x0},
  2517. 1054: {region: 0x97, script: 0xbd, flags: 0x0},
  2518. 1055: {region: 0x165, script: 0x55, flags: 0x0},
  2519. 1056: {region: 0x72, script: 0x55, flags: 0x0},
  2520. 1057: {region: 0x164, script: 0x55, flags: 0x0},
  2521. 1058: {region: 0x165, script: 0x55, flags: 0x0},
  2522. 1059: {region: 0xc3, script: 0x55, flags: 0x0},
  2523. 1060: {region: 0x165, script: 0x55, flags: 0x0},
  2524. 1061: {region: 0x165, script: 0x55, flags: 0x0},
  2525. 1062: {region: 0x165, script: 0x55, flags: 0x0},
  2526. 1063: {region: 0x115, script: 0x55, flags: 0x0},
  2527. 1064: {region: 0x165, script: 0x55, flags: 0x0},
  2528. 1065: {region: 0x165, script: 0x55, flags: 0x0},
  2529. 1066: {region: 0x123, script: 0xdb, flags: 0x0},
  2530. 1067: {region: 0x165, script: 0x55, flags: 0x0},
  2531. 1068: {region: 0x165, script: 0x55, flags: 0x0},
  2532. 1069: {region: 0x165, script: 0x55, flags: 0x0},
  2533. 1070: {region: 0x165, script: 0x55, flags: 0x0},
  2534. 1071: {region: 0x27, script: 0x55, flags: 0x0},
  2535. 1072: {region: 0x37, script: 0x5, flags: 0x1},
  2536. 1073: {region: 0x99, script: 0xc7, flags: 0x0},
  2537. 1074: {region: 0x116, script: 0x55, flags: 0x0},
  2538. 1075: {region: 0x114, script: 0x55, flags: 0x0},
  2539. 1076: {region: 0x99, script: 0x20, flags: 0x0},
  2540. 1077: {region: 0x161, script: 0x55, flags: 0x0},
  2541. 1078: {region: 0x165, script: 0x55, flags: 0x0},
  2542. 1079: {region: 0x165, script: 0x55, flags: 0x0},
  2543. 1080: {region: 0x6d, script: 0x55, flags: 0x0},
  2544. 1081: {region: 0x161, script: 0x55, flags: 0x0},
  2545. 1082: {region: 0x165, script: 0x55, flags: 0x0},
  2546. 1083: {region: 0x60, script: 0x55, flags: 0x0},
  2547. 1084: {region: 0x95, script: 0x55, flags: 0x0},
  2548. 1085: {region: 0x165, script: 0x55, flags: 0x0},
  2549. 1086: {region: 0x165, script: 0x55, flags: 0x0},
  2550. 1087: {region: 0x12f, script: 0x55, flags: 0x0},
  2551. 1088: {region: 0x165, script: 0x55, flags: 0x0},
  2552. 1089: {region: 0x84, script: 0x55, flags: 0x0},
  2553. 1090: {region: 0x10c, script: 0x55, flags: 0x0},
  2554. 1091: {region: 0x12f, script: 0x55, flags: 0x0},
  2555. 1092: {region: 0x15f, script: 0x5, flags: 0x0},
  2556. 1093: {region: 0x4b, script: 0x55, flags: 0x0},
  2557. 1094: {region: 0x60, script: 0x55, flags: 0x0},
  2558. 1095: {region: 0x165, script: 0x55, flags: 0x0},
  2559. 1096: {region: 0x99, script: 0x20, flags: 0x0},
  2560. 1097: {region: 0x95, script: 0x55, flags: 0x0},
  2561. 1098: {region: 0x165, script: 0x55, flags: 0x0},
  2562. 1099: {region: 0x35, script: 0xe, flags: 0x0},
  2563. 1100: {region: 0x9b, script: 0xcb, flags: 0x0},
  2564. 1101: {region: 0xe9, script: 0x55, flags: 0x0},
  2565. 1102: {region: 0x99, script: 0xd3, flags: 0x0},
  2566. 1103: {region: 0xdb, script: 0x20, flags: 0x0},
  2567. 1104: {region: 0x165, script: 0x55, flags: 0x0},
  2568. 1105: {region: 0x165, script: 0x55, flags: 0x0},
  2569. 1106: {region: 0x165, script: 0x55, flags: 0x0},
  2570. 1107: {region: 0x165, script: 0x55, flags: 0x0},
  2571. 1108: {region: 0x165, script: 0x55, flags: 0x0},
  2572. 1109: {region: 0x165, script: 0x55, flags: 0x0},
  2573. 1110: {region: 0x165, script: 0x55, flags: 0x0},
  2574. 1111: {region: 0x165, script: 0x55, flags: 0x0},
  2575. 1112: {region: 0xe7, script: 0x55, flags: 0x0},
  2576. 1113: {region: 0x165, script: 0x55, flags: 0x0},
  2577. 1114: {region: 0x165, script: 0x55, flags: 0x0},
  2578. 1115: {region: 0x99, script: 0x4d, flags: 0x0},
  2579. 1116: {region: 0x53, script: 0xd1, flags: 0x0},
  2580. 1117: {region: 0xdb, script: 0x20, flags: 0x0},
  2581. 1118: {region: 0xdb, script: 0x20, flags: 0x0},
  2582. 1119: {region: 0x99, script: 0xd6, flags: 0x0},
  2583. 1120: {region: 0x165, script: 0x55, flags: 0x0},
  2584. 1121: {region: 0x112, script: 0x55, flags: 0x0},
  2585. 1122: {region: 0x131, script: 0x55, flags: 0x0},
  2586. 1123: {region: 0x126, script: 0x55, flags: 0x0},
  2587. 1124: {region: 0x165, script: 0x55, flags: 0x0},
  2588. 1125: {region: 0x3c, script: 0x3, flags: 0x1},
  2589. 1126: {region: 0x165, script: 0x55, flags: 0x0},
  2590. 1127: {region: 0x165, script: 0x55, flags: 0x0},
  2591. 1128: {region: 0x165, script: 0x55, flags: 0x0},
  2592. 1129: {region: 0x123, script: 0xdb, flags: 0x0},
  2593. 1130: {region: 0xdb, script: 0x20, flags: 0x0},
  2594. 1131: {region: 0xdb, script: 0x20, flags: 0x0},
  2595. 1132: {region: 0xdb, script: 0x20, flags: 0x0},
  2596. 1133: {region: 0x6f, script: 0x28, flags: 0x0},
  2597. 1134: {region: 0x165, script: 0x55, flags: 0x0},
  2598. 1135: {region: 0x6d, script: 0x28, flags: 0x0},
  2599. 1136: {region: 0x165, script: 0x55, flags: 0x0},
  2600. 1137: {region: 0x165, script: 0x55, flags: 0x0},
  2601. 1138: {region: 0x165, script: 0x55, flags: 0x0},
  2602. 1139: {region: 0xd6, script: 0x55, flags: 0x0},
  2603. 1140: {region: 0x127, script: 0x55, flags: 0x0},
  2604. 1141: {region: 0x125, script: 0x55, flags: 0x0},
  2605. 1142: {region: 0x32, script: 0x55, flags: 0x0},
  2606. 1143: {region: 0xdb, script: 0x20, flags: 0x0},
  2607. 1144: {region: 0xe7, script: 0x55, flags: 0x0},
  2608. 1145: {region: 0x165, script: 0x55, flags: 0x0},
  2609. 1146: {region: 0x165, script: 0x55, flags: 0x0},
  2610. 1147: {region: 0x32, script: 0x55, flags: 0x0},
  2611. 1148: {region: 0xd4, script: 0x55, flags: 0x0},
  2612. 1149: {region: 0x165, script: 0x55, flags: 0x0},
  2613. 1150: {region: 0x161, script: 0x55, flags: 0x0},
  2614. 1151: {region: 0x165, script: 0x55, flags: 0x0},
  2615. 1152: {region: 0x129, script: 0x55, flags: 0x0},
  2616. 1153: {region: 0x165, script: 0x55, flags: 0x0},
  2617. 1154: {region: 0xce, script: 0x55, flags: 0x0},
  2618. 1155: {region: 0x165, script: 0x55, flags: 0x0},
  2619. 1156: {region: 0xe6, script: 0x55, flags: 0x0},
  2620. 1157: {region: 0x165, script: 0x55, flags: 0x0},
  2621. 1158: {region: 0x165, script: 0x55, flags: 0x0},
  2622. 1159: {region: 0x165, script: 0x55, flags: 0x0},
  2623. 1160: {region: 0x12b, script: 0x55, flags: 0x0},
  2624. 1161: {region: 0x12b, script: 0x55, flags: 0x0},
  2625. 1162: {region: 0x12e, script: 0x55, flags: 0x0},
  2626. 1163: {region: 0x165, script: 0x5, flags: 0x0},
  2627. 1164: {region: 0x161, script: 0x55, flags: 0x0},
  2628. 1165: {region: 0x87, script: 0x30, flags: 0x0},
  2629. 1166: {region: 0xdb, script: 0x20, flags: 0x0},
  2630. 1167: {region: 0xe7, script: 0x55, flags: 0x0},
  2631. 1168: {region: 0x43, script: 0xdc, flags: 0x0},
  2632. 1169: {region: 0x165, script: 0x55, flags: 0x0},
  2633. 1170: {region: 0x106, script: 0x1e, flags: 0x0},
  2634. 1171: {region: 0x165, script: 0x55, flags: 0x0},
  2635. 1172: {region: 0x165, script: 0x55, flags: 0x0},
  2636. 1173: {region: 0x131, script: 0x55, flags: 0x0},
  2637. 1174: {region: 0x165, script: 0x55, flags: 0x0},
  2638. 1175: {region: 0x123, script: 0xdb, flags: 0x0},
  2639. 1176: {region: 0x32, script: 0x55, flags: 0x0},
  2640. 1177: {region: 0x165, script: 0x55, flags: 0x0},
  2641. 1178: {region: 0x165, script: 0x55, flags: 0x0},
  2642. 1179: {region: 0xce, script: 0x55, flags: 0x0},
  2643. 1180: {region: 0x165, script: 0x55, flags: 0x0},
  2644. 1181: {region: 0x165, script: 0x55, flags: 0x0},
  2645. 1182: {region: 0x12d, script: 0x55, flags: 0x0},
  2646. 1183: {region: 0x165, script: 0x55, flags: 0x0},
  2647. 1185: {region: 0x165, script: 0x55, flags: 0x0},
  2648. 1186: {region: 0xd4, script: 0x55, flags: 0x0},
  2649. 1187: {region: 0x53, script: 0xd4, flags: 0x0},
  2650. 1188: {region: 0xe5, script: 0x55, flags: 0x0},
  2651. 1189: {region: 0x165, script: 0x55, flags: 0x0},
  2652. 1190: {region: 0x106, script: 0x1e, flags: 0x0},
  2653. 1191: {region: 0xba, script: 0x55, flags: 0x0},
  2654. 1192: {region: 0x165, script: 0x55, flags: 0x0},
  2655. 1193: {region: 0x106, script: 0x1e, flags: 0x0},
  2656. 1194: {region: 0x3f, script: 0x4, flags: 0x1},
  2657. 1195: {region: 0x11c, script: 0xde, flags: 0x0},
  2658. 1196: {region: 0x130, script: 0x1e, flags: 0x0},
  2659. 1197: {region: 0x75, script: 0x55, flags: 0x0},
  2660. 1198: {region: 0x2a, script: 0x55, flags: 0x0},
  2661. 1200: {region: 0x43, script: 0x3, flags: 0x1},
  2662. 1201: {region: 0x99, script: 0xe, flags: 0x0},
  2663. 1202: {region: 0xe8, script: 0x5, flags: 0x0},
  2664. 1203: {region: 0x165, script: 0x55, flags: 0x0},
  2665. 1204: {region: 0x165, script: 0x55, flags: 0x0},
  2666. 1205: {region: 0x165, script: 0x55, flags: 0x0},
  2667. 1206: {region: 0x165, script: 0x55, flags: 0x0},
  2668. 1207: {region: 0x165, script: 0x55, flags: 0x0},
  2669. 1208: {region: 0x165, script: 0x55, flags: 0x0},
  2670. 1209: {region: 0x165, script: 0x55, flags: 0x0},
  2671. 1210: {region: 0x46, script: 0x4, flags: 0x1},
  2672. 1211: {region: 0x165, script: 0x55, flags: 0x0},
  2673. 1212: {region: 0xb4, script: 0xdf, flags: 0x0},
  2674. 1213: {region: 0x165, script: 0x55, flags: 0x0},
  2675. 1214: {region: 0x161, script: 0x55, flags: 0x0},
  2676. 1215: {region: 0x9e, script: 0x55, flags: 0x0},
  2677. 1216: {region: 0x106, script: 0x55, flags: 0x0},
  2678. 1217: {region: 0x13e, script: 0x55, flags: 0x0},
  2679. 1218: {region: 0x11b, script: 0x55, flags: 0x0},
  2680. 1219: {region: 0x165, script: 0x55, flags: 0x0},
  2681. 1220: {region: 0x36, script: 0x55, flags: 0x0},
  2682. 1221: {region: 0x60, script: 0x55, flags: 0x0},
  2683. 1222: {region: 0xd1, script: 0x55, flags: 0x0},
  2684. 1223: {region: 0x1, script: 0x55, flags: 0x0},
  2685. 1224: {region: 0x106, script: 0x55, flags: 0x0},
  2686. 1225: {region: 0x6a, script: 0x55, flags: 0x0},
  2687. 1226: {region: 0x12f, script: 0x55, flags: 0x0},
  2688. 1227: {region: 0x165, script: 0x55, flags: 0x0},
  2689. 1228: {region: 0x36, script: 0x55, flags: 0x0},
  2690. 1229: {region: 0x4e, script: 0x55, flags: 0x0},
  2691. 1230: {region: 0x165, script: 0x55, flags: 0x0},
  2692. 1231: {region: 0x6f, script: 0x28, flags: 0x0},
  2693. 1232: {region: 0x165, script: 0x55, flags: 0x0},
  2694. 1233: {region: 0xe7, script: 0x55, flags: 0x0},
  2695. 1234: {region: 0x2f, script: 0x55, flags: 0x0},
  2696. 1235: {region: 0x99, script: 0xd6, flags: 0x0},
  2697. 1236: {region: 0x99, script: 0x20, flags: 0x0},
  2698. 1237: {region: 0x165, script: 0x55, flags: 0x0},
  2699. 1238: {region: 0x165, script: 0x55, flags: 0x0},
  2700. 1239: {region: 0x165, script: 0x55, flags: 0x0},
  2701. 1240: {region: 0x165, script: 0x55, flags: 0x0},
  2702. 1241: {region: 0x165, script: 0x55, flags: 0x0},
  2703. 1242: {region: 0x165, script: 0x55, flags: 0x0},
  2704. 1243: {region: 0x165, script: 0x55, flags: 0x0},
  2705. 1244: {region: 0x165, script: 0x55, flags: 0x0},
  2706. 1245: {region: 0x165, script: 0x55, flags: 0x0},
  2707. 1246: {region: 0x140, script: 0x55, flags: 0x0},
  2708. 1247: {region: 0x165, script: 0x55, flags: 0x0},
  2709. 1248: {region: 0x165, script: 0x55, flags: 0x0},
  2710. 1249: {region: 0xa8, script: 0x5, flags: 0x0},
  2711. 1250: {region: 0x165, script: 0x55, flags: 0x0},
  2712. 1251: {region: 0x114, script: 0x55, flags: 0x0},
  2713. 1252: {region: 0x165, script: 0x55, flags: 0x0},
  2714. 1253: {region: 0x165, script: 0x55, flags: 0x0},
  2715. 1254: {region: 0x165, script: 0x55, flags: 0x0},
  2716. 1255: {region: 0x165, script: 0x55, flags: 0x0},
  2717. 1256: {region: 0x99, script: 0x20, flags: 0x0},
  2718. 1257: {region: 0x53, script: 0x37, flags: 0x0},
  2719. 1258: {region: 0x165, script: 0x55, flags: 0x0},
  2720. 1259: {region: 0x165, script: 0x55, flags: 0x0},
  2721. 1260: {region: 0x41, script: 0x55, flags: 0x0},
  2722. 1261: {region: 0x165, script: 0x55, flags: 0x0},
  2723. 1262: {region: 0x12b, script: 0x18, flags: 0x0},
  2724. 1263: {region: 0x165, script: 0x55, flags: 0x0},
  2725. 1264: {region: 0x161, script: 0x55, flags: 0x0},
  2726. 1265: {region: 0x165, script: 0x55, flags: 0x0},
  2727. 1266: {region: 0x12b, script: 0x5d, flags: 0x0},
  2728. 1267: {region: 0x12b, script: 0x5e, flags: 0x0},
  2729. 1268: {region: 0x7d, script: 0x2a, flags: 0x0},
  2730. 1269: {region: 0x53, script: 0x62, flags: 0x0},
  2731. 1270: {region: 0x10b, script: 0x67, flags: 0x0},
  2732. 1271: {region: 0x108, script: 0x71, flags: 0x0},
  2733. 1272: {region: 0x99, script: 0x20, flags: 0x0},
  2734. 1273: {region: 0x131, script: 0x55, flags: 0x0},
  2735. 1274: {region: 0x165, script: 0x55, flags: 0x0},
  2736. 1275: {region: 0x9c, script: 0x87, flags: 0x0},
  2737. 1276: {region: 0x165, script: 0x55, flags: 0x0},
  2738. 1277: {region: 0x15e, script: 0xbf, flags: 0x0},
  2739. 1278: {region: 0x165, script: 0x55, flags: 0x0},
  2740. 1279: {region: 0x165, script: 0x55, flags: 0x0},
  2741. 1280: {region: 0xdb, script: 0x20, flags: 0x0},
  2742. 1281: {region: 0x165, script: 0x55, flags: 0x0},
  2743. 1282: {region: 0x165, script: 0x55, flags: 0x0},
  2744. 1283: {region: 0xd1, script: 0x55, flags: 0x0},
  2745. 1284: {region: 0x75, script: 0x55, flags: 0x0},
  2746. 1285: {region: 0x165, script: 0x55, flags: 0x0},
  2747. 1286: {region: 0x165, script: 0x55, flags: 0x0},
  2748. 1287: {region: 0x52, script: 0x55, flags: 0x0},
  2749. 1288: {region: 0x165, script: 0x55, flags: 0x0},
  2750. 1289: {region: 0x165, script: 0x55, flags: 0x0},
  2751. 1290: {region: 0x165, script: 0x55, flags: 0x0},
  2752. 1291: {region: 0x52, script: 0x55, flags: 0x0},
  2753. 1292: {region: 0x165, script: 0x55, flags: 0x0},
  2754. 1293: {region: 0x165, script: 0x55, flags: 0x0},
  2755. 1294: {region: 0x165, script: 0x55, flags: 0x0},
  2756. 1295: {region: 0x165, script: 0x55, flags: 0x0},
  2757. 1296: {region: 0x1, script: 0x3a, flags: 0x0},
  2758. 1297: {region: 0x165, script: 0x55, flags: 0x0},
  2759. 1298: {region: 0x165, script: 0x55, flags: 0x0},
  2760. 1299: {region: 0x165, script: 0x55, flags: 0x0},
  2761. 1300: {region: 0x165, script: 0x55, flags: 0x0},
  2762. 1301: {region: 0x165, script: 0x55, flags: 0x0},
  2763. 1302: {region: 0xd6, script: 0x55, flags: 0x0},
  2764. 1303: {region: 0x165, script: 0x55, flags: 0x0},
  2765. 1304: {region: 0x165, script: 0x55, flags: 0x0},
  2766. 1305: {region: 0x165, script: 0x55, flags: 0x0},
  2767. 1306: {region: 0x41, script: 0x55, flags: 0x0},
  2768. 1307: {region: 0x165, script: 0x55, flags: 0x0},
  2769. 1308: {region: 0xcf, script: 0x55, flags: 0x0},
  2770. 1309: {region: 0x4a, script: 0x3, flags: 0x1},
  2771. 1310: {region: 0x165, script: 0x55, flags: 0x0},
  2772. 1311: {region: 0x165, script: 0x55, flags: 0x0},
  2773. 1312: {region: 0x165, script: 0x55, flags: 0x0},
  2774. 1313: {region: 0x53, script: 0x55, flags: 0x0},
  2775. 1314: {region: 0x10b, script: 0x55, flags: 0x0},
  2776. 1316: {region: 0xa8, script: 0x5, flags: 0x0},
  2777. 1317: {region: 0xd9, script: 0x55, flags: 0x0},
  2778. 1318: {region: 0xba, script: 0xd8, flags: 0x0},
  2779. 1319: {region: 0x4d, script: 0x14, flags: 0x1},
  2780. 1320: {region: 0x165, script: 0x55, flags: 0x0},
  2781. 1321: {region: 0x122, script: 0x55, flags: 0x0},
  2782. 1322: {region: 0xd0, script: 0x55, flags: 0x0},
  2783. 1323: {region: 0x165, script: 0x55, flags: 0x0},
  2784. 1324: {region: 0x161, script: 0x55, flags: 0x0},
  2785. 1326: {region: 0x12b, script: 0x55, flags: 0x0},
  2786. }
  2787. // likelyLangList holds lists info associated with likelyLang.
  2788. // Size: 388 bytes, 97 elements
  2789. var likelyLangList = [97]likelyScriptRegion{
  2790. 0: {region: 0x9c, script: 0x7, flags: 0x0},
  2791. 1: {region: 0xa1, script: 0x72, flags: 0x2},
  2792. 2: {region: 0x11c, script: 0x7d, flags: 0x2},
  2793. 3: {region: 0x32, script: 0x55, flags: 0x0},
  2794. 4: {region: 0x9b, script: 0x5, flags: 0x4},
  2795. 5: {region: 0x9c, script: 0x5, flags: 0x4},
  2796. 6: {region: 0x106, script: 0x1e, flags: 0x4},
  2797. 7: {region: 0x9c, script: 0x5, flags: 0x2},
  2798. 8: {region: 0x106, script: 0x1e, flags: 0x0},
  2799. 9: {region: 0x38, script: 0x2b, flags: 0x2},
  2800. 10: {region: 0x135, script: 0x55, flags: 0x0},
  2801. 11: {region: 0x7b, script: 0xc2, flags: 0x2},
  2802. 12: {region: 0x114, script: 0x55, flags: 0x0},
  2803. 13: {region: 0x84, script: 0x1, flags: 0x2},
  2804. 14: {region: 0x5d, script: 0x1d, flags: 0x0},
  2805. 15: {region: 0x87, script: 0x5a, flags: 0x2},
  2806. 16: {region: 0xd6, script: 0x55, flags: 0x0},
  2807. 17: {region: 0x52, script: 0x5, flags: 0x4},
  2808. 18: {region: 0x10b, script: 0x5, flags: 0x4},
  2809. 19: {region: 0xae, script: 0x1e, flags: 0x0},
  2810. 20: {region: 0x24, script: 0x5, flags: 0x4},
  2811. 21: {region: 0x53, script: 0x5, flags: 0x4},
  2812. 22: {region: 0x9c, script: 0x5, flags: 0x4},
  2813. 23: {region: 0xc5, script: 0x5, flags: 0x4},
  2814. 24: {region: 0x53, script: 0x5, flags: 0x2},
  2815. 25: {region: 0x12b, script: 0x55, flags: 0x0},
  2816. 26: {region: 0xb0, script: 0x5, flags: 0x4},
  2817. 27: {region: 0x9b, script: 0x5, flags: 0x2},
  2818. 28: {region: 0xa5, script: 0x1e, flags: 0x0},
  2819. 29: {region: 0x53, script: 0x5, flags: 0x4},
  2820. 30: {region: 0x12b, script: 0x55, flags: 0x4},
  2821. 31: {region: 0x53, script: 0x5, flags: 0x2},
  2822. 32: {region: 0x12b, script: 0x55, flags: 0x2},
  2823. 33: {region: 0xdb, script: 0x20, flags: 0x0},
  2824. 34: {region: 0x99, script: 0x58, flags: 0x2},
  2825. 35: {region: 0x83, script: 0x55, flags: 0x0},
  2826. 36: {region: 0x84, script: 0x75, flags: 0x4},
  2827. 37: {region: 0x84, script: 0x75, flags: 0x2},
  2828. 38: {region: 0xc5, script: 0x1e, flags: 0x0},
  2829. 39: {region: 0x53, script: 0x6b, flags: 0x4},
  2830. 40: {region: 0x53, script: 0x6b, flags: 0x2},
  2831. 41: {region: 0xd0, script: 0x55, flags: 0x0},
  2832. 42: {region: 0x4a, script: 0x5, flags: 0x4},
  2833. 43: {region: 0x95, script: 0x5, flags: 0x4},
  2834. 44: {region: 0x99, script: 0x32, flags: 0x0},
  2835. 45: {region: 0xe8, script: 0x5, flags: 0x4},
  2836. 46: {region: 0xe8, script: 0x5, flags: 0x2},
  2837. 47: {region: 0x9c, script: 0x81, flags: 0x0},
  2838. 48: {region: 0x53, script: 0x82, flags: 0x2},
  2839. 49: {region: 0xba, script: 0xd8, flags: 0x0},
  2840. 50: {region: 0xd9, script: 0x55, flags: 0x4},
  2841. 51: {region: 0xe8, script: 0x5, flags: 0x0},
  2842. 52: {region: 0x99, script: 0x20, flags: 0x2},
  2843. 53: {region: 0x99, script: 0x4a, flags: 0x2},
  2844. 54: {region: 0x99, script: 0xc5, flags: 0x2},
  2845. 55: {region: 0x105, script: 0x1e, flags: 0x0},
  2846. 56: {region: 0xbd, script: 0x55, flags: 0x4},
  2847. 57: {region: 0x104, script: 0x55, flags: 0x4},
  2848. 58: {region: 0x106, script: 0x55, flags: 0x4},
  2849. 59: {region: 0x12b, script: 0x55, flags: 0x4},
  2850. 60: {region: 0x124, script: 0x1e, flags: 0x0},
  2851. 61: {region: 0xe8, script: 0x5, flags: 0x4},
  2852. 62: {region: 0xe8, script: 0x5, flags: 0x2},
  2853. 63: {region: 0x53, script: 0x5, flags: 0x0},
  2854. 64: {region: 0xae, script: 0x1e, flags: 0x4},
  2855. 65: {region: 0xc5, script: 0x1e, flags: 0x4},
  2856. 66: {region: 0xae, script: 0x1e, flags: 0x2},
  2857. 67: {region: 0x99, script: 0xe, flags: 0x0},
  2858. 68: {region: 0xdb, script: 0x20, flags: 0x4},
  2859. 69: {region: 0xdb, script: 0x20, flags: 0x2},
  2860. 70: {region: 0x137, script: 0x55, flags: 0x0},
  2861. 71: {region: 0x24, script: 0x5, flags: 0x4},
  2862. 72: {region: 0x53, script: 0x1e, flags: 0x4},
  2863. 73: {region: 0x24, script: 0x5, flags: 0x2},
  2864. 74: {region: 0x8d, script: 0x38, flags: 0x0},
  2865. 75: {region: 0x53, script: 0x37, flags: 0x4},
  2866. 76: {region: 0x53, script: 0x37, flags: 0x2},
  2867. 77: {region: 0x53, script: 0x37, flags: 0x0},
  2868. 78: {region: 0x2f, script: 0x38, flags: 0x4},
  2869. 79: {region: 0x3e, script: 0x38, flags: 0x4},
  2870. 80: {region: 0x7b, script: 0x38, flags: 0x4},
  2871. 81: {region: 0x7e, script: 0x38, flags: 0x4},
  2872. 82: {region: 0x8d, script: 0x38, flags: 0x4},
  2873. 83: {region: 0x95, script: 0x38, flags: 0x4},
  2874. 84: {region: 0xc6, script: 0x38, flags: 0x4},
  2875. 85: {region: 0xd0, script: 0x38, flags: 0x4},
  2876. 86: {region: 0xe2, script: 0x38, flags: 0x4},
  2877. 87: {region: 0xe5, script: 0x38, flags: 0x4},
  2878. 88: {region: 0xe7, script: 0x38, flags: 0x4},
  2879. 89: {region: 0x116, script: 0x38, flags: 0x4},
  2880. 90: {region: 0x123, script: 0x38, flags: 0x4},
  2881. 91: {region: 0x12e, script: 0x38, flags: 0x4},
  2882. 92: {region: 0x135, script: 0x38, flags: 0x4},
  2883. 93: {region: 0x13e, script: 0x38, flags: 0x4},
  2884. 94: {region: 0x12e, script: 0x11, flags: 0x2},
  2885. 95: {region: 0x12e, script: 0x33, flags: 0x2},
  2886. 96: {region: 0x12e, script: 0x38, flags: 0x2},
  2887. }
  2888. type likelyLangScript struct {
  2889. lang uint16
  2890. script uint8
  2891. flags uint8
  2892. }
  2893. // likelyRegion is a lookup table, indexed by regionID, for the most likely
  2894. // languages and scripts given incomplete information. If more entries exist
  2895. // for a given regionID, lang and script are the index and size respectively
  2896. // of the list in likelyRegionList.
  2897. // TODO: exclude containers and user-definable regions from the list.
  2898. // Size: 1432 bytes, 358 elements
  2899. var likelyRegion = [358]likelyLangScript{
  2900. 34: {lang: 0xd7, script: 0x55, flags: 0x0},
  2901. 35: {lang: 0x3a, script: 0x5, flags: 0x0},
  2902. 36: {lang: 0x0, script: 0x2, flags: 0x1},
  2903. 39: {lang: 0x2, script: 0x2, flags: 0x1},
  2904. 40: {lang: 0x4, script: 0x2, flags: 0x1},
  2905. 42: {lang: 0x3be, script: 0x55, flags: 0x0},
  2906. 43: {lang: 0x0, script: 0x55, flags: 0x0},
  2907. 44: {lang: 0x13d, script: 0x55, flags: 0x0},
  2908. 45: {lang: 0x419, script: 0x55, flags: 0x0},
  2909. 46: {lang: 0x10c, script: 0x55, flags: 0x0},
  2910. 48: {lang: 0x365, script: 0x55, flags: 0x0},
  2911. 49: {lang: 0x442, script: 0x55, flags: 0x0},
  2912. 50: {lang: 0x58, script: 0x55, flags: 0x0},
  2913. 51: {lang: 0x6, script: 0x2, flags: 0x1},
  2914. 53: {lang: 0xa5, script: 0xe, flags: 0x0},
  2915. 54: {lang: 0x365, script: 0x55, flags: 0x0},
  2916. 55: {lang: 0x15d, script: 0x55, flags: 0x0},
  2917. 56: {lang: 0x7e, script: 0x1e, flags: 0x0},
  2918. 57: {lang: 0x3a, script: 0x5, flags: 0x0},
  2919. 58: {lang: 0x3d7, script: 0x55, flags: 0x0},
  2920. 59: {lang: 0x15d, script: 0x55, flags: 0x0},
  2921. 60: {lang: 0x15d, script: 0x55, flags: 0x0},
  2922. 62: {lang: 0x31d, script: 0x55, flags: 0x0},
  2923. 63: {lang: 0x13d, script: 0x55, flags: 0x0},
  2924. 64: {lang: 0x39f, script: 0x55, flags: 0x0},
  2925. 65: {lang: 0x3be, script: 0x55, flags: 0x0},
  2926. 67: {lang: 0x8, script: 0x2, flags: 0x1},
  2927. 69: {lang: 0x0, script: 0x55, flags: 0x0},
  2928. 71: {lang: 0x71, script: 0x1e, flags: 0x0},
  2929. 73: {lang: 0x510, script: 0x3a, flags: 0x2},
  2930. 74: {lang: 0x31d, script: 0x5, flags: 0x2},
  2931. 75: {lang: 0x443, script: 0x55, flags: 0x0},
  2932. 76: {lang: 0x15d, script: 0x55, flags: 0x0},
  2933. 77: {lang: 0x15d, script: 0x55, flags: 0x0},
  2934. 78: {lang: 0x10c, script: 0x55, flags: 0x0},
  2935. 79: {lang: 0x15d, script: 0x55, flags: 0x0},
  2936. 81: {lang: 0x13d, script: 0x55, flags: 0x0},
  2937. 82: {lang: 0x15d, script: 0x55, flags: 0x0},
  2938. 83: {lang: 0xa, script: 0x5, flags: 0x1},
  2939. 84: {lang: 0x13d, script: 0x55, flags: 0x0},
  2940. 85: {lang: 0x0, script: 0x55, flags: 0x0},
  2941. 86: {lang: 0x13d, script: 0x55, flags: 0x0},
  2942. 89: {lang: 0x13d, script: 0x55, flags: 0x0},
  2943. 90: {lang: 0x3be, script: 0x55, flags: 0x0},
  2944. 91: {lang: 0x39f, script: 0x55, flags: 0x0},
  2945. 93: {lang: 0xf, script: 0x2, flags: 0x1},
  2946. 94: {lang: 0xf9, script: 0x55, flags: 0x0},
  2947. 96: {lang: 0x10c, script: 0x55, flags: 0x0},
  2948. 98: {lang: 0x1, script: 0x55, flags: 0x0},
  2949. 99: {lang: 0x100, script: 0x55, flags: 0x0},
  2950. 101: {lang: 0x13d, script: 0x55, flags: 0x0},
  2951. 103: {lang: 0x11, script: 0x2, flags: 0x1},
  2952. 104: {lang: 0x13d, script: 0x55, flags: 0x0},
  2953. 105: {lang: 0x13d, script: 0x55, flags: 0x0},
  2954. 106: {lang: 0x13f, script: 0x55, flags: 0x0},
  2955. 107: {lang: 0x3a, script: 0x5, flags: 0x0},
  2956. 108: {lang: 0x3a, script: 0x5, flags: 0x0},
  2957. 109: {lang: 0x46d, script: 0x28, flags: 0x0},
  2958. 110: {lang: 0x13d, script: 0x55, flags: 0x0},
  2959. 111: {lang: 0x13, script: 0x2, flags: 0x1},
  2960. 113: {lang: 0x10c, script: 0x55, flags: 0x0},
  2961. 114: {lang: 0x150, script: 0x55, flags: 0x0},
  2962. 115: {lang: 0x1be, script: 0x20, flags: 0x2},
  2963. 118: {lang: 0x157, script: 0x55, flags: 0x0},
  2964. 120: {lang: 0x15d, script: 0x55, flags: 0x0},
  2965. 122: {lang: 0x15d, script: 0x55, flags: 0x0},
  2966. 123: {lang: 0x15, script: 0x2, flags: 0x1},
  2967. 125: {lang: 0x17, script: 0x3, flags: 0x1},
  2968. 126: {lang: 0x15d, script: 0x55, flags: 0x0},
  2969. 128: {lang: 0x21, script: 0x55, flags: 0x0},
  2970. 130: {lang: 0x243, script: 0x55, flags: 0x0},
  2971. 132: {lang: 0x15d, script: 0x55, flags: 0x0},
  2972. 133: {lang: 0x15d, script: 0x55, flags: 0x0},
  2973. 134: {lang: 0x13d, script: 0x55, flags: 0x0},
  2974. 135: {lang: 0x1a, script: 0x2, flags: 0x1},
  2975. 136: {lang: 0x0, script: 0x55, flags: 0x0},
  2976. 137: {lang: 0x13d, script: 0x55, flags: 0x0},
  2977. 139: {lang: 0x3be, script: 0x55, flags: 0x0},
  2978. 141: {lang: 0x527, script: 0x38, flags: 0x0},
  2979. 142: {lang: 0x0, script: 0x55, flags: 0x0},
  2980. 143: {lang: 0x13d, script: 0x55, flags: 0x0},
  2981. 144: {lang: 0x1cf, script: 0x55, flags: 0x0},
  2982. 145: {lang: 0x1d2, script: 0x55, flags: 0x0},
  2983. 146: {lang: 0x1d3, script: 0x55, flags: 0x0},
  2984. 148: {lang: 0x13d, script: 0x55, flags: 0x0},
  2985. 149: {lang: 0x1c, script: 0x2, flags: 0x1},
  2986. 151: {lang: 0x1ba, script: 0x3a, flags: 0x0},
  2987. 153: {lang: 0x1e, script: 0x3, flags: 0x1},
  2988. 155: {lang: 0x3a, script: 0x5, flags: 0x0},
  2989. 156: {lang: 0x21, script: 0x2, flags: 0x1},
  2990. 157: {lang: 0x1f6, script: 0x55, flags: 0x0},
  2991. 158: {lang: 0x1f7, script: 0x55, flags: 0x0},
  2992. 161: {lang: 0x3a, script: 0x5, flags: 0x0},
  2993. 162: {lang: 0x1fe, script: 0x44, flags: 0x0},
  2994. 164: {lang: 0x443, script: 0x55, flags: 0x0},
  2995. 165: {lang: 0x288, script: 0x1e, flags: 0x0},
  2996. 166: {lang: 0x23, script: 0x3, flags: 0x1},
  2997. 168: {lang: 0x26, script: 0x2, flags: 0x1},
  2998. 170: {lang: 0x252, script: 0x4e, flags: 0x0},
  2999. 171: {lang: 0x252, script: 0x4e, flags: 0x0},
  3000. 172: {lang: 0x3a, script: 0x5, flags: 0x0},
  3001. 174: {lang: 0x3e0, script: 0x1e, flags: 0x0},
  3002. 175: {lang: 0x28, script: 0x2, flags: 0x1},
  3003. 176: {lang: 0x3a, script: 0x5, flags: 0x0},
  3004. 178: {lang: 0x10c, script: 0x55, flags: 0x0},
  3005. 179: {lang: 0x40a, script: 0xc6, flags: 0x0},
  3006. 181: {lang: 0x439, script: 0x55, flags: 0x0},
  3007. 182: {lang: 0x2be, script: 0x55, flags: 0x0},
  3008. 183: {lang: 0x15d, script: 0x55, flags: 0x0},
  3009. 184: {lang: 0x2c5, script: 0x55, flags: 0x0},
  3010. 185: {lang: 0x3a, script: 0x5, flags: 0x0},
  3011. 186: {lang: 0x2a, script: 0x2, flags: 0x1},
  3012. 187: {lang: 0x15d, script: 0x55, flags: 0x0},
  3013. 188: {lang: 0x2c, script: 0x2, flags: 0x1},
  3014. 189: {lang: 0x430, script: 0x55, flags: 0x0},
  3015. 190: {lang: 0x15d, script: 0x55, flags: 0x0},
  3016. 191: {lang: 0x2ef, script: 0x55, flags: 0x0},
  3017. 194: {lang: 0x2e, script: 0x2, flags: 0x1},
  3018. 195: {lang: 0xa0, script: 0x55, flags: 0x0},
  3019. 196: {lang: 0x30, script: 0x2, flags: 0x1},
  3020. 197: {lang: 0x32, script: 0x2, flags: 0x1},
  3021. 198: {lang: 0x34, script: 0x2, flags: 0x1},
  3022. 200: {lang: 0x15d, script: 0x55, flags: 0x0},
  3023. 201: {lang: 0x36, script: 0x2, flags: 0x1},
  3024. 203: {lang: 0x31e, script: 0x55, flags: 0x0},
  3025. 204: {lang: 0x38, script: 0x3, flags: 0x1},
  3026. 205: {lang: 0x127, script: 0xda, flags: 0x0},
  3027. 207: {lang: 0x13d, script: 0x55, flags: 0x0},
  3028. 208: {lang: 0x31d, script: 0x55, flags: 0x0},
  3029. 209: {lang: 0x3be, script: 0x55, flags: 0x0},
  3030. 210: {lang: 0x16, script: 0x55, flags: 0x0},
  3031. 211: {lang: 0x15d, script: 0x55, flags: 0x0},
  3032. 212: {lang: 0x1b2, script: 0x55, flags: 0x0},
  3033. 214: {lang: 0x1b2, script: 0x5, flags: 0x2},
  3034. 216: {lang: 0x13d, script: 0x55, flags: 0x0},
  3035. 217: {lang: 0x365, script: 0x55, flags: 0x0},
  3036. 218: {lang: 0x345, script: 0x55, flags: 0x0},
  3037. 219: {lang: 0x34f, script: 0x20, flags: 0x0},
  3038. 225: {lang: 0x3a, script: 0x5, flags: 0x0},
  3039. 226: {lang: 0x13d, script: 0x55, flags: 0x0},
  3040. 228: {lang: 0x13d, script: 0x55, flags: 0x0},
  3041. 229: {lang: 0x15d, script: 0x55, flags: 0x0},
  3042. 230: {lang: 0x484, script: 0x55, flags: 0x0},
  3043. 231: {lang: 0x152, script: 0x55, flags: 0x0},
  3044. 232: {lang: 0x3b, script: 0x3, flags: 0x1},
  3045. 233: {lang: 0x3b1, script: 0x55, flags: 0x0},
  3046. 234: {lang: 0x15d, script: 0x55, flags: 0x0},
  3047. 236: {lang: 0x13d, script: 0x55, flags: 0x0},
  3048. 237: {lang: 0x3a, script: 0x5, flags: 0x0},
  3049. 238: {lang: 0x3be, script: 0x55, flags: 0x0},
  3050. 240: {lang: 0x3a0, script: 0x55, flags: 0x0},
  3051. 241: {lang: 0x192, script: 0x55, flags: 0x0},
  3052. 243: {lang: 0x3a, script: 0x5, flags: 0x0},
  3053. 258: {lang: 0x15d, script: 0x55, flags: 0x0},
  3054. 260: {lang: 0x3e, script: 0x2, flags: 0x1},
  3055. 261: {lang: 0x430, script: 0x1e, flags: 0x0},
  3056. 262: {lang: 0x40, script: 0x2, flags: 0x1},
  3057. 263: {lang: 0x3e3, script: 0x55, flags: 0x0},
  3058. 264: {lang: 0x3a, script: 0x5, flags: 0x0},
  3059. 266: {lang: 0x15d, script: 0x55, flags: 0x0},
  3060. 267: {lang: 0x3a, script: 0x5, flags: 0x0},
  3061. 268: {lang: 0x42, script: 0x2, flags: 0x1},
  3062. 271: {lang: 0x414, script: 0x55, flags: 0x0},
  3063. 272: {lang: 0x345, script: 0x55, flags: 0x0},
  3064. 273: {lang: 0x44, script: 0x2, flags: 0x1},
  3065. 275: {lang: 0x1f7, script: 0x55, flags: 0x0},
  3066. 276: {lang: 0x15d, script: 0x55, flags: 0x0},
  3067. 277: {lang: 0x427, script: 0x55, flags: 0x0},
  3068. 278: {lang: 0x365, script: 0x55, flags: 0x0},
  3069. 280: {lang: 0x3be, script: 0x55, flags: 0x0},
  3070. 282: {lang: 0x13d, script: 0x55, flags: 0x0},
  3071. 284: {lang: 0x46, script: 0x2, flags: 0x1},
  3072. 288: {lang: 0x15d, script: 0x55, flags: 0x0},
  3073. 289: {lang: 0x15d, script: 0x55, flags: 0x0},
  3074. 290: {lang: 0x48, script: 0x2, flags: 0x1},
  3075. 291: {lang: 0x4a, script: 0x3, flags: 0x1},
  3076. 292: {lang: 0x4d, script: 0x2, flags: 0x1},
  3077. 293: {lang: 0x475, script: 0x55, flags: 0x0},
  3078. 294: {lang: 0x3be, script: 0x55, flags: 0x0},
  3079. 295: {lang: 0x474, script: 0x55, flags: 0x0},
  3080. 296: {lang: 0x4f, script: 0x2, flags: 0x1},
  3081. 297: {lang: 0x480, script: 0x55, flags: 0x0},
  3082. 299: {lang: 0x51, script: 0x4, flags: 0x1},
  3083. 301: {lang: 0x49e, script: 0x55, flags: 0x0},
  3084. 302: {lang: 0x55, script: 0x2, flags: 0x1},
  3085. 303: {lang: 0x443, script: 0x55, flags: 0x0},
  3086. 304: {lang: 0x57, script: 0x3, flags: 0x1},
  3087. 305: {lang: 0x443, script: 0x55, flags: 0x0},
  3088. 309: {lang: 0x510, script: 0x3a, flags: 0x2},
  3089. 310: {lang: 0x13d, script: 0x55, flags: 0x0},
  3090. 311: {lang: 0x4ba, script: 0x55, flags: 0x0},
  3091. 312: {lang: 0x1f7, script: 0x55, flags: 0x0},
  3092. 315: {lang: 0x13d, script: 0x55, flags: 0x0},
  3093. 318: {lang: 0x4c1, script: 0x55, flags: 0x0},
  3094. 319: {lang: 0x8a, script: 0x55, flags: 0x0},
  3095. 320: {lang: 0x15d, script: 0x55, flags: 0x0},
  3096. 322: {lang: 0x419, script: 0x55, flags: 0x0},
  3097. 333: {lang: 0x5a, script: 0x2, flags: 0x1},
  3098. 350: {lang: 0x3a, script: 0x5, flags: 0x0},
  3099. 351: {lang: 0x5c, script: 0x2, flags: 0x1},
  3100. 356: {lang: 0x421, script: 0x55, flags: 0x0},
  3101. }
  3102. // likelyRegionList holds lists info associated with likelyRegion.
  3103. // Size: 376 bytes, 94 elements
  3104. var likelyRegionList = [94]likelyLangScript{
  3105. 0: {lang: 0x147, script: 0x5, flags: 0x0},
  3106. 1: {lang: 0x474, script: 0x55, flags: 0x0},
  3107. 2: {lang: 0x42f, script: 0x55, flags: 0x0},
  3108. 3: {lang: 0x2fd, script: 0x1e, flags: 0x0},
  3109. 4: {lang: 0x1d5, script: 0x8, flags: 0x0},
  3110. 5: {lang: 0x272, script: 0x55, flags: 0x0},
  3111. 6: {lang: 0xb7, script: 0x55, flags: 0x0},
  3112. 7: {lang: 0x430, script: 0x1e, flags: 0x0},
  3113. 8: {lang: 0x12c, script: 0xdc, flags: 0x0},
  3114. 9: {lang: 0x34f, script: 0x20, flags: 0x0},
  3115. 10: {lang: 0x527, script: 0x37, flags: 0x0},
  3116. 11: {lang: 0x4aa, script: 0x5, flags: 0x0},
  3117. 12: {lang: 0x51d, script: 0x38, flags: 0x0},
  3118. 13: {lang: 0x521, script: 0x55, flags: 0x0},
  3119. 14: {lang: 0x298, script: 0xdb, flags: 0x0},
  3120. 15: {lang: 0x135, script: 0x30, flags: 0x0},
  3121. 16: {lang: 0x488, script: 0x55, flags: 0x0},
  3122. 17: {lang: 0x3a, script: 0x5, flags: 0x0},
  3123. 18: {lang: 0x15d, script: 0x55, flags: 0x0},
  3124. 19: {lang: 0x27, script: 0x28, flags: 0x0},
  3125. 20: {lang: 0x138, script: 0x55, flags: 0x0},
  3126. 21: {lang: 0x268, script: 0x5, flags: 0x2},
  3127. 22: {lang: 0x510, script: 0x3a, flags: 0x2},
  3128. 23: {lang: 0x20e, script: 0x2a, flags: 0x0},
  3129. 24: {lang: 0x5, script: 0x1e, flags: 0x0},
  3130. 25: {lang: 0x272, script: 0x55, flags: 0x0},
  3131. 26: {lang: 0x135, script: 0x30, flags: 0x0},
  3132. 27: {lang: 0x2fd, script: 0x1e, flags: 0x0},
  3133. 28: {lang: 0x1df, script: 0x55, flags: 0x0},
  3134. 29: {lang: 0x31d, script: 0x5, flags: 0x0},
  3135. 30: {lang: 0x1bc, script: 0x20, flags: 0x0},
  3136. 31: {lang: 0x4b2, script: 0x5, flags: 0x0},
  3137. 32: {lang: 0x234, script: 0x70, flags: 0x0},
  3138. 33: {lang: 0x147, script: 0x5, flags: 0x0},
  3139. 34: {lang: 0x474, script: 0x55, flags: 0x0},
  3140. 35: {lang: 0x248, script: 0x49, flags: 0x0},
  3141. 36: {lang: 0xe6, script: 0x5, flags: 0x0},
  3142. 37: {lang: 0x224, script: 0xdb, flags: 0x0},
  3143. 38: {lang: 0x3a, script: 0x5, flags: 0x0},
  3144. 39: {lang: 0x15d, script: 0x55, flags: 0x0},
  3145. 40: {lang: 0x2b6, script: 0x52, flags: 0x0},
  3146. 41: {lang: 0x224, script: 0xdb, flags: 0x0},
  3147. 42: {lang: 0x3a, script: 0x5, flags: 0x0},
  3148. 43: {lang: 0x15d, script: 0x55, flags: 0x0},
  3149. 44: {lang: 0x3da, script: 0x55, flags: 0x0},
  3150. 45: {lang: 0x4ac, script: 0x1e, flags: 0x0},
  3151. 46: {lang: 0x2fd, script: 0x1e, flags: 0x0},
  3152. 47: {lang: 0x42f, script: 0x55, flags: 0x0},
  3153. 48: {lang: 0x32f, script: 0x70, flags: 0x0},
  3154. 49: {lang: 0x211, script: 0x55, flags: 0x0},
  3155. 50: {lang: 0x309, script: 0x1e, flags: 0x0},
  3156. 51: {lang: 0x240, script: 0x5, flags: 0x0},
  3157. 52: {lang: 0x527, script: 0x38, flags: 0x0},
  3158. 53: {lang: 0x3be, script: 0x55, flags: 0x0},
  3159. 54: {lang: 0x3a, script: 0x5, flags: 0x0},
  3160. 55: {lang: 0x15d, script: 0x55, flags: 0x0},
  3161. 56: {lang: 0x2eb, script: 0x55, flags: 0x0},
  3162. 57: {lang: 0x4b2, script: 0x5, flags: 0x0},
  3163. 58: {lang: 0x88, script: 0x20, flags: 0x0},
  3164. 59: {lang: 0x4b2, script: 0x5, flags: 0x0},
  3165. 60: {lang: 0x4b2, script: 0x5, flags: 0x0},
  3166. 61: {lang: 0xbe, script: 0x20, flags: 0x0},
  3167. 62: {lang: 0x3da, script: 0x55, flags: 0x0},
  3168. 63: {lang: 0x7e, script: 0x1e, flags: 0x0},
  3169. 64: {lang: 0x3e0, script: 0x1e, flags: 0x0},
  3170. 65: {lang: 0x265, script: 0x55, flags: 0x0},
  3171. 66: {lang: 0x442, script: 0x55, flags: 0x0},
  3172. 67: {lang: 0x510, script: 0x3a, flags: 0x0},
  3173. 68: {lang: 0x410, script: 0x55, flags: 0x0},
  3174. 69: {lang: 0x4ac, script: 0x1e, flags: 0x0},
  3175. 70: {lang: 0x3a, script: 0x5, flags: 0x0},
  3176. 71: {lang: 0x15d, script: 0x55, flags: 0x0},
  3177. 72: {lang: 0x15d, script: 0x55, flags: 0x0},
  3178. 73: {lang: 0x35, script: 0x5, flags: 0x0},
  3179. 74: {lang: 0x469, script: 0xdb, flags: 0x0},
  3180. 75: {lang: 0x2ea, script: 0x5, flags: 0x0},
  3181. 76: {lang: 0x30d, script: 0x70, flags: 0x0},
  3182. 77: {lang: 0x465, script: 0x1e, flags: 0x0},
  3183. 78: {lang: 0x147, script: 0x5, flags: 0x0},
  3184. 79: {lang: 0x3a, script: 0x5, flags: 0x0},
  3185. 80: {lang: 0x15d, script: 0x55, flags: 0x0},
  3186. 81: {lang: 0x488, script: 0x55, flags: 0x0},
  3187. 82: {lang: 0x58, script: 0x5, flags: 0x0},
  3188. 83: {lang: 0x217, script: 0x1e, flags: 0x0},
  3189. 84: {lang: 0x81, script: 0x30, flags: 0x0},
  3190. 85: {lang: 0x527, script: 0x38, flags: 0x0},
  3191. 86: {lang: 0x48a, script: 0x55, flags: 0x0},
  3192. 87: {lang: 0x4ac, script: 0x1e, flags: 0x0},
  3193. 88: {lang: 0x510, script: 0x3a, flags: 0x0},
  3194. 89: {lang: 0x3b1, script: 0x55, flags: 0x0},
  3195. 90: {lang: 0x42f, script: 0x55, flags: 0x0},
  3196. 91: {lang: 0x430, script: 0x1e, flags: 0x0},
  3197. 92: {lang: 0x15d, script: 0x55, flags: 0x0},
  3198. 93: {lang: 0x444, script: 0x5, flags: 0x0},
  3199. }
  3200. type likelyTag struct {
  3201. lang uint16
  3202. region uint16
  3203. script uint8
  3204. }
  3205. // Size: 198 bytes, 33 elements
  3206. var likelyRegionGroup = [33]likelyTag{
  3207. 1: {lang: 0x138, region: 0xd6, script: 0x55},
  3208. 2: {lang: 0x138, region: 0x135, script: 0x55},
  3209. 3: {lang: 0x3be, region: 0x41, script: 0x55},
  3210. 4: {lang: 0x138, region: 0x2f, script: 0x55},
  3211. 5: {lang: 0x138, region: 0xd6, script: 0x55},
  3212. 6: {lang: 0x13d, region: 0xcf, script: 0x55},
  3213. 7: {lang: 0x443, region: 0x12f, script: 0x55},
  3214. 8: {lang: 0x3a, region: 0x6b, script: 0x5},
  3215. 9: {lang: 0x443, region: 0x4b, script: 0x55},
  3216. 10: {lang: 0x138, region: 0x161, script: 0x55},
  3217. 11: {lang: 0x138, region: 0x135, script: 0x55},
  3218. 12: {lang: 0x138, region: 0x135, script: 0x55},
  3219. 13: {lang: 0x13d, region: 0x59, script: 0x55},
  3220. 14: {lang: 0x527, region: 0x53, script: 0x37},
  3221. 15: {lang: 0x1bc, region: 0x99, script: 0x20},
  3222. 16: {lang: 0x1df, region: 0x95, script: 0x55},
  3223. 17: {lang: 0x1f7, region: 0x9e, script: 0x55},
  3224. 18: {lang: 0x138, region: 0x2f, script: 0x55},
  3225. 19: {lang: 0x138, region: 0xe6, script: 0x55},
  3226. 20: {lang: 0x138, region: 0x8a, script: 0x55},
  3227. 21: {lang: 0x419, region: 0x142, script: 0x55},
  3228. 22: {lang: 0x527, region: 0x53, script: 0x37},
  3229. 23: {lang: 0x4ba, region: 0x137, script: 0x55},
  3230. 24: {lang: 0x3a, region: 0x108, script: 0x5},
  3231. 25: {lang: 0x3e0, region: 0x106, script: 0x1e},
  3232. 26: {lang: 0x3e0, region: 0x106, script: 0x1e},
  3233. 27: {lang: 0x138, region: 0x7b, script: 0x55},
  3234. 28: {lang: 0x10c, region: 0x60, script: 0x55},
  3235. 30: {lang: 0x13d, region: 0x1f, script: 0x55},
  3236. 31: {lang: 0x138, region: 0x9a, script: 0x55},
  3237. 32: {lang: 0x138, region: 0x7b, script: 0x55},
  3238. }
  3239. // Size: 358 bytes, 358 elements
  3240. var regionToGroups = [358]uint8{
  3241. // Entry 0 - 3F
  3242. 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x04,
  3243. 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x00,
  3244. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  3245. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
  3246. 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00,
  3247. 0x00, 0x04, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00,
  3248. 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
  3249. 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x04,
  3250. // Entry 40 - 7F
  3251. 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
  3252. 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  3253. 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00,
  3254. 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
  3255. 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x08,
  3256. 0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
  3257. 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
  3258. 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00,
  3259. // Entry 80 - BF
  3260. 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00,
  3261. 0x00, 0x04, 0x01, 0x00, 0x04, 0x02, 0x00, 0x04,
  3262. 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  3263. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  3264. 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  3265. 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
  3266. 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  3267. 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00,
  3268. // Entry C0 - FF
  3269. 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01,
  3270. 0x04, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04,
  3271. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  3272. 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  3273. 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00,
  3274. 0x00, 0x00, 0x04, 0x00, 0x05, 0x00, 0x00, 0x00,
  3275. 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  3276. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  3277. // Entry 100 - 13F
  3278. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  3279. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  3280. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
  3281. 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x04,
  3282. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  3283. 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
  3284. 0x00, 0x00, 0x00, 0x01, 0x00, 0x05, 0x04, 0x00,
  3285. 0x00, 0x04, 0x00, 0x04, 0x04, 0x05, 0x00, 0x00,
  3286. // Entry 140 - 17F
  3287. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  3288. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  3289. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  3290. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  3291. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  3292. }
  3293. // Size: 18 bytes, 3 elements
  3294. var paradigmLocales = [3][3]uint16{
  3295. 0: [3]uint16{0x138, 0x0, 0x7b},
  3296. 1: [3]uint16{0x13d, 0x0, 0x1f},
  3297. 2: [3]uint16{0x3be, 0x41, 0xee},
  3298. }
  3299. type mutualIntelligibility struct {
  3300. want uint16
  3301. have uint16
  3302. distance uint8
  3303. oneway bool
  3304. }
  3305. type scriptIntelligibility struct {
  3306. wantLang uint16
  3307. haveLang uint16
  3308. wantScript uint8
  3309. haveScript uint8
  3310. distance uint8
  3311. }
  3312. type regionIntelligibility struct {
  3313. lang uint16
  3314. script uint8
  3315. group uint8
  3316. distance uint8
  3317. }
  3318. // matchLang holds pairs of langIDs of base languages that are typically
  3319. // mutually intelligible. Each pair is associated with a confidence and
  3320. // whether the intelligibility goes one or both ways.
  3321. // Size: 678 bytes, 113 elements
  3322. var matchLang = [113]mutualIntelligibility{
  3323. 0: {want: 0x1cf, have: 0xb7, distance: 0x4, oneway: false},
  3324. 1: {want: 0x405, have: 0xb7, distance: 0x4, oneway: false},
  3325. 2: {want: 0x405, have: 0x1cf, distance: 0x4, oneway: false},
  3326. 3: {want: 0x405, have: 0x430, distance: 0x4, oneway: false},
  3327. 4: {want: 0x438, have: 0x1, distance: 0x4, oneway: false},
  3328. 5: {want: 0x1a1, have: 0x10c, distance: 0x4, oneway: true},
  3329. 6: {want: 0x293, have: 0x10c, distance: 0x4, oneway: true},
  3330. 7: {want: 0x100, have: 0x36d, distance: 0x8, oneway: false},
  3331. 8: {want: 0x100, have: 0x345, distance: 0x8, oneway: false},
  3332. 9: {want: 0x5, have: 0x3e0, distance: 0xa, oneway: true},
  3333. 10: {want: 0xd, have: 0x138, distance: 0xa, oneway: true},
  3334. 11: {want: 0x16, have: 0x365, distance: 0xa, oneway: true},
  3335. 12: {want: 0x21, have: 0x138, distance: 0xa, oneway: true},
  3336. 13: {want: 0x56, have: 0x13d, distance: 0xa, oneway: true},
  3337. 14: {want: 0x58, have: 0x3e0, distance: 0xa, oneway: true},
  3338. 15: {want: 0x71, have: 0x3e0, distance: 0xa, oneway: true},
  3339. 16: {want: 0x75, have: 0x138, distance: 0xa, oneway: true},
  3340. 17: {want: 0x82, have: 0x1bc, distance: 0xa, oneway: true},
  3341. 18: {want: 0xa5, have: 0x138, distance: 0xa, oneway: true},
  3342. 19: {want: 0xb2, have: 0x15d, distance: 0xa, oneway: true},
  3343. 20: {want: 0xdd, have: 0x152, distance: 0xa, oneway: true},
  3344. 21: {want: 0xe5, have: 0x138, distance: 0xa, oneway: true},
  3345. 22: {want: 0xe9, have: 0x3a, distance: 0xa, oneway: true},
  3346. 23: {want: 0xef, have: 0x15d, distance: 0xa, oneway: true},
  3347. 24: {want: 0xf8, have: 0x15d, distance: 0xa, oneway: true},
  3348. 25: {want: 0xff, have: 0x138, distance: 0xa, oneway: true},
  3349. 26: {want: 0x12f, have: 0x138, distance: 0xa, oneway: true},
  3350. 27: {want: 0x13b, have: 0x138, distance: 0xa, oneway: true},
  3351. 28: {want: 0x13f, have: 0x150, distance: 0xa, oneway: true},
  3352. 29: {want: 0x144, have: 0x13d, distance: 0xa, oneway: true},
  3353. 30: {want: 0x157, have: 0x100, distance: 0xa, oneway: true},
  3354. 31: {want: 0x16c, have: 0x365, distance: 0xa, oneway: true},
  3355. 32: {want: 0x16d, have: 0x138, distance: 0xa, oneway: true},
  3356. 33: {want: 0x16e, have: 0x138, distance: 0xa, oneway: true},
  3357. 34: {want: 0x17c, have: 0x138, distance: 0xa, oneway: true},
  3358. 35: {want: 0x18e, have: 0x13d, distance: 0xa, oneway: true},
  3359. 36: {want: 0x192, have: 0x13d, distance: 0xa, oneway: true},
  3360. 37: {want: 0x1a2, have: 0x1bc, distance: 0xa, oneway: true},
  3361. 38: {want: 0x1b2, have: 0x138, distance: 0xa, oneway: true},
  3362. 39: {want: 0x1b6, have: 0x138, distance: 0xa, oneway: true},
  3363. 40: {want: 0x1d2, have: 0x15d, distance: 0xa, oneway: true},
  3364. 41: {want: 0x1d5, have: 0x3e0, distance: 0xa, oneway: true},
  3365. 42: {want: 0x1d7, have: 0x138, distance: 0xa, oneway: true},
  3366. 43: {want: 0x1e5, have: 0x138, distance: 0xa, oneway: true},
  3367. 44: {want: 0x1f6, have: 0x138, distance: 0xa, oneway: true},
  3368. 45: {want: 0x20c, have: 0x1df, distance: 0xa, oneway: true},
  3369. 46: {want: 0x20e, have: 0x138, distance: 0xa, oneway: true},
  3370. 47: {want: 0x22b, have: 0x15d, distance: 0xa, oneway: true},
  3371. 48: {want: 0x240, have: 0x3e0, distance: 0xa, oneway: true},
  3372. 49: {want: 0x248, have: 0x138, distance: 0xa, oneway: true},
  3373. 50: {want: 0x24f, have: 0x138, distance: 0xa, oneway: true},
  3374. 51: {want: 0x263, have: 0x138, distance: 0xa, oneway: true},
  3375. 52: {want: 0x272, have: 0x488, distance: 0xa, oneway: true},
  3376. 53: {want: 0x288, have: 0x3e0, distance: 0xa, oneway: true},
  3377. 54: {want: 0x28c, have: 0x1f7, distance: 0xa, oneway: true},
  3378. 55: {want: 0x2a1, have: 0x138, distance: 0xa, oneway: true},
  3379. 56: {want: 0x2b3, have: 0x15d, distance: 0xa, oneway: true},
  3380. 57: {want: 0x2b6, have: 0x138, distance: 0xa, oneway: true},
  3381. 58: {want: 0x2bc, have: 0x138, distance: 0xa, oneway: true},
  3382. 59: {want: 0x2c1, have: 0x15d, distance: 0xa, oneway: true},
  3383. 60: {want: 0x2eb, have: 0x138, distance: 0xa, oneway: true},
  3384. 61: {want: 0x2ef, have: 0x15d, distance: 0xa, oneway: true},
  3385. 62: {want: 0x2f8, have: 0x138, distance: 0xa, oneway: true},
  3386. 63: {want: 0x2fd, have: 0x7e, distance: 0xa, oneway: true},
  3387. 64: {want: 0x302, have: 0x138, distance: 0xa, oneway: true},
  3388. 65: {want: 0x309, have: 0x3e0, distance: 0xa, oneway: true},
  3389. 66: {want: 0x319, have: 0x1bc, distance: 0xa, oneway: true},
  3390. 67: {want: 0x31d, have: 0x1df, distance: 0xa, oneway: true},
  3391. 68: {want: 0x31e, have: 0x138, distance: 0xa, oneway: true},
  3392. 69: {want: 0x32f, have: 0x138, distance: 0xa, oneway: true},
  3393. 70: {want: 0x34f, have: 0x138, distance: 0xa, oneway: true},
  3394. 71: {want: 0x368, have: 0x345, distance: 0xa, oneway: false},
  3395. 72: {want: 0x368, have: 0x36d, distance: 0xa, oneway: true},
  3396. 73: {want: 0x378, have: 0x138, distance: 0xa, oneway: true},
  3397. 74: {want: 0x385, have: 0x138, distance: 0xa, oneway: true},
  3398. 75: {want: 0x387, have: 0x138, distance: 0xa, oneway: true},
  3399. 76: {want: 0x389, have: 0x15d, distance: 0xa, oneway: true},
  3400. 77: {want: 0x38e, have: 0x138, distance: 0xa, oneway: true},
  3401. 78: {want: 0x393, have: 0x138, distance: 0xa, oneway: true},
  3402. 79: {want: 0x39b, have: 0x138, distance: 0xa, oneway: true},
  3403. 80: {want: 0x3a3, have: 0x138, distance: 0xa, oneway: true},
  3404. 81: {want: 0x3bc, have: 0x138, distance: 0xa, oneway: true},
  3405. 82: {want: 0x3c2, have: 0x13d, distance: 0xa, oneway: true},
  3406. 83: {want: 0x3d2, have: 0x10c, distance: 0xa, oneway: true},
  3407. 84: {want: 0x3d7, have: 0x138, distance: 0xa, oneway: true},
  3408. 85: {want: 0x3e3, have: 0x15d, distance: 0xa, oneway: true},
  3409. 86: {want: 0x3e7, have: 0x1bc, distance: 0xa, oneway: true},
  3410. 87: {want: 0x3f8, have: 0x138, distance: 0xa, oneway: true},
  3411. 88: {want: 0x40a, have: 0x138, distance: 0xa, oneway: true},
  3412. 89: {want: 0x421, have: 0x138, distance: 0xa, oneway: true},
  3413. 90: {want: 0x427, have: 0x138, distance: 0xa, oneway: true},
  3414. 91: {want: 0x42f, have: 0x138, distance: 0xa, oneway: true},
  3415. 92: {want: 0x439, have: 0x138, distance: 0xa, oneway: true},
  3416. 93: {want: 0x43c, have: 0x1df, distance: 0xa, oneway: true},
  3417. 94: {want: 0x443, have: 0x138, distance: 0xa, oneway: true},
  3418. 95: {want: 0x44e, have: 0x138, distance: 0xa, oneway: true},
  3419. 96: {want: 0x45f, have: 0x138, distance: 0xa, oneway: true},
  3420. 97: {want: 0x465, have: 0x3e0, distance: 0xa, oneway: true},
  3421. 98: {want: 0x46d, have: 0x138, distance: 0xa, oneway: true},
  3422. 99: {want: 0x474, have: 0x3e0, distance: 0xa, oneway: true},
  3423. 100: {want: 0x3880, have: 0x138, distance: 0xa, oneway: true},
  3424. 101: {want: 0x47e, have: 0x138, distance: 0xa, oneway: true},
  3425. 102: {want: 0x480, have: 0x138, distance: 0xa, oneway: true},
  3426. 103: {want: 0x492, have: 0x3e0, distance: 0xa, oneway: true},
  3427. 104: {want: 0x49b, have: 0x138, distance: 0xa, oneway: true},
  3428. 105: {want: 0x4aa, have: 0x527, distance: 0xa, oneway: true},
  3429. 106: {want: 0x4b2, have: 0x138, distance: 0xa, oneway: true},
  3430. 107: {want: 0x4ba, have: 0x3e0, distance: 0xa, oneway: true},
  3431. 108: {want: 0x4e3, have: 0x15d, distance: 0xa, oneway: true},
  3432. 109: {want: 0x4f0, have: 0x138, distance: 0xa, oneway: true},
  3433. 110: {want: 0x510, have: 0x138, distance: 0xa, oneway: true},
  3434. 111: {want: 0x516, have: 0x138, distance: 0xa, oneway: true},
  3435. 112: {want: 0x52c, have: 0x138, distance: 0xa, oneway: true},
  3436. }
  3437. // matchScript holds pairs of scriptIDs where readers of one script
  3438. // can typically also read the other. Each is associated with a confidence.
  3439. // Size: 208 bytes, 26 elements
  3440. var matchScript = [26]scriptIntelligibility{
  3441. 0: {wantLang: 0x430, haveLang: 0x430, wantScript: 0x55, haveScript: 0x1e, distance: 0x5},
  3442. 1: {wantLang: 0x430, haveLang: 0x430, wantScript: 0x1e, haveScript: 0x55, distance: 0x5},
  3443. 2: {wantLang: 0x58, haveLang: 0x3e0, wantScript: 0x55, haveScript: 0x1e, distance: 0xa},
  3444. 3: {wantLang: 0xa5, haveLang: 0x138, wantScript: 0xe, haveScript: 0x55, distance: 0xa},
  3445. 4: {wantLang: 0x1d5, haveLang: 0x3e0, wantScript: 0x8, haveScript: 0x1e, distance: 0xa},
  3446. 5: {wantLang: 0x20e, haveLang: 0x138, wantScript: 0x2a, haveScript: 0x55, distance: 0xa},
  3447. 6: {wantLang: 0x248, haveLang: 0x138, wantScript: 0x49, haveScript: 0x55, distance: 0xa},
  3448. 7: {wantLang: 0x24f, haveLang: 0x138, wantScript: 0x4d, haveScript: 0x55, distance: 0xa},
  3449. 8: {wantLang: 0x2b6, haveLang: 0x138, wantScript: 0x52, haveScript: 0x55, distance: 0xa},
  3450. 9: {wantLang: 0x302, haveLang: 0x138, wantScript: 0x69, haveScript: 0x55, distance: 0xa},
  3451. 10: {wantLang: 0x32f, haveLang: 0x138, wantScript: 0x70, haveScript: 0x55, distance: 0xa},
  3452. 11: {wantLang: 0x34f, haveLang: 0x138, wantScript: 0x20, haveScript: 0x55, distance: 0xa},
  3453. 12: {wantLang: 0x393, haveLang: 0x138, wantScript: 0x7a, haveScript: 0x55, distance: 0xa},
  3454. 13: {wantLang: 0x39b, haveLang: 0x138, wantScript: 0x32, haveScript: 0x55, distance: 0xa},
  3455. 14: {wantLang: 0x3bc, haveLang: 0x138, wantScript: 0x5, haveScript: 0x55, distance: 0xa},
  3456. 15: {wantLang: 0x3f8, haveLang: 0x138, wantScript: 0x5, haveScript: 0x55, distance: 0xa},
  3457. 16: {wantLang: 0x40a, haveLang: 0x138, wantScript: 0xc6, haveScript: 0x55, distance: 0xa},
  3458. 17: {wantLang: 0x44e, haveLang: 0x138, wantScript: 0xd3, haveScript: 0x55, distance: 0xa},
  3459. 18: {wantLang: 0x45f, haveLang: 0x138, wantScript: 0xd6, haveScript: 0x55, distance: 0xa},
  3460. 19: {wantLang: 0x46d, haveLang: 0x138, wantScript: 0x28, haveScript: 0x55, distance: 0xa},
  3461. 20: {wantLang: 0x474, haveLang: 0x3e0, wantScript: 0x55, haveScript: 0x1e, distance: 0xa},
  3462. 21: {wantLang: 0x4b2, haveLang: 0x138, wantScript: 0x5, haveScript: 0x55, distance: 0xa},
  3463. 22: {wantLang: 0x4ba, haveLang: 0x3e0, wantScript: 0x55, haveScript: 0x1e, distance: 0xa},
  3464. 23: {wantLang: 0x510, haveLang: 0x138, wantScript: 0x3a, haveScript: 0x55, distance: 0xa},
  3465. 24: {wantLang: 0x527, haveLang: 0x527, wantScript: 0x37, haveScript: 0x38, distance: 0xf},
  3466. 25: {wantLang: 0x527, haveLang: 0x527, wantScript: 0x38, haveScript: 0x37, distance: 0x13},
  3467. }
  3468. // Size: 90 bytes, 15 elements
  3469. var matchRegion = [15]regionIntelligibility{
  3470. 0: {lang: 0x3a, script: 0x0, group: 0x4, distance: 0x4},
  3471. 1: {lang: 0x3a, script: 0x0, group: 0x84, distance: 0x4},
  3472. 2: {lang: 0x138, script: 0x0, group: 0x1, distance: 0x4},
  3473. 3: {lang: 0x138, script: 0x0, group: 0x81, distance: 0x4},
  3474. 4: {lang: 0x13d, script: 0x0, group: 0x3, distance: 0x4},
  3475. 5: {lang: 0x13d, script: 0x0, group: 0x83, distance: 0x4},
  3476. 6: {lang: 0x3be, script: 0x0, group: 0x3, distance: 0x4},
  3477. 7: {lang: 0x3be, script: 0x0, group: 0x83, distance: 0x4},
  3478. 8: {lang: 0x527, script: 0x38, group: 0x2, distance: 0x4},
  3479. 9: {lang: 0x527, script: 0x38, group: 0x82, distance: 0x4},
  3480. 10: {lang: 0x3a, script: 0x0, group: 0x80, distance: 0x5},
  3481. 11: {lang: 0x138, script: 0x0, group: 0x80, distance: 0x5},
  3482. 12: {lang: 0x13d, script: 0x0, group: 0x80, distance: 0x5},
  3483. 13: {lang: 0x3be, script: 0x0, group: 0x80, distance: 0x5},
  3484. 14: {lang: 0x527, script: 0x38, group: 0x80, distance: 0x5},
  3485. }
  3486. // Size: 264 bytes, 33 elements
  3487. var regionContainment = [33]uint64{
  3488. // Entry 0 - 1F
  3489. 0x00000001dfffffff, 0x00000000000007a2, 0x0000000000003044, 0x0000000000000008,
  3490. 0x00000000803c0010, 0x0000000000000020, 0x0000000000000040, 0x0000000000000080,
  3491. 0x0000000000000100, 0x0000000000000200, 0x0000000000000400, 0x000000004000384c,
  3492. 0x0000000000001000, 0x0000000000002000, 0x0000000000004000, 0x0000000000008000,
  3493. 0x0000000000010000, 0x0000000000020000, 0x0000000000040000, 0x0000000000080000,
  3494. 0x0000000000100000, 0x0000000000200000, 0x0000000001c1c000, 0x0000000000800000,
  3495. 0x0000000001000000, 0x000000001e020000, 0x0000000004000000, 0x0000000008000000,
  3496. 0x0000000010000000, 0x0000000020000000, 0x0000000040002048, 0x0000000080000000,
  3497. // Entry 20 - 3F
  3498. 0x0000000100000000,
  3499. }
  3500. // regionInclusion maps region identifiers to sets of regions in regionInclusionBits,
  3501. // where each set holds all groupings that are directly connected in a region
  3502. // containment graph.
  3503. // Size: 358 bytes, 358 elements
  3504. var regionInclusion = [358]uint8{
  3505. // Entry 0 - 3F
  3506. 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,
  3507. 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
  3508. 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,
  3509. 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e,
  3510. 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x26, 0x23,
  3511. 0x24, 0x26, 0x27, 0x22, 0x28, 0x29, 0x2a, 0x2b,
  3512. 0x26, 0x2c, 0x24, 0x23, 0x26, 0x25, 0x2a, 0x2d,
  3513. 0x2e, 0x24, 0x2f, 0x2d, 0x26, 0x30, 0x31, 0x28,
  3514. // Entry 40 - 7F
  3515. 0x26, 0x28, 0x26, 0x25, 0x31, 0x22, 0x32, 0x33,
  3516. 0x34, 0x30, 0x22, 0x27, 0x27, 0x27, 0x35, 0x2d,
  3517. 0x29, 0x28, 0x27, 0x36, 0x28, 0x22, 0x34, 0x23,
  3518. 0x21, 0x26, 0x2d, 0x26, 0x22, 0x37, 0x2e, 0x35,
  3519. 0x2a, 0x22, 0x2f, 0x38, 0x26, 0x26, 0x21, 0x39,
  3520. 0x39, 0x28, 0x38, 0x39, 0x39, 0x2f, 0x3a, 0x2f,
  3521. 0x20, 0x21, 0x38, 0x3b, 0x28, 0x3c, 0x2c, 0x21,
  3522. 0x2a, 0x35, 0x27, 0x38, 0x26, 0x24, 0x28, 0x2c,
  3523. // Entry 80 - BF
  3524. 0x2d, 0x23, 0x30, 0x2d, 0x2d, 0x26, 0x27, 0x3a,
  3525. 0x22, 0x34, 0x3c, 0x2d, 0x28, 0x36, 0x22, 0x34,
  3526. 0x3a, 0x26, 0x2e, 0x21, 0x39, 0x31, 0x38, 0x24,
  3527. 0x2c, 0x25, 0x22, 0x24, 0x25, 0x2c, 0x3a, 0x2c,
  3528. 0x26, 0x24, 0x36, 0x21, 0x2f, 0x3d, 0x31, 0x3c,
  3529. 0x2f, 0x26, 0x36, 0x36, 0x24, 0x26, 0x3d, 0x31,
  3530. 0x24, 0x26, 0x35, 0x25, 0x2d, 0x32, 0x38, 0x2a,
  3531. 0x38, 0x39, 0x39, 0x35, 0x33, 0x23, 0x26, 0x2f,
  3532. // Entry C0 - FF
  3533. 0x3c, 0x21, 0x23, 0x2d, 0x31, 0x36, 0x36, 0x3c,
  3534. 0x26, 0x2d, 0x26, 0x3a, 0x2f, 0x25, 0x2f, 0x34,
  3535. 0x31, 0x2f, 0x32, 0x3b, 0x2d, 0x2b, 0x2d, 0x21,
  3536. 0x34, 0x2a, 0x2c, 0x25, 0x21, 0x3c, 0x24, 0x29,
  3537. 0x2b, 0x24, 0x34, 0x21, 0x28, 0x29, 0x3b, 0x31,
  3538. 0x25, 0x2e, 0x30, 0x29, 0x26, 0x24, 0x3a, 0x21,
  3539. 0x3c, 0x28, 0x21, 0x24, 0x21, 0x21, 0x1f, 0x21,
  3540. 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
  3541. // Entry 100 - 13F
  3542. 0x21, 0x21, 0x2f, 0x21, 0x2e, 0x23, 0x33, 0x2f,
  3543. 0x24, 0x3b, 0x2f, 0x39, 0x38, 0x31, 0x2d, 0x3a,
  3544. 0x2c, 0x2e, 0x2d, 0x23, 0x2d, 0x2f, 0x28, 0x2f,
  3545. 0x27, 0x33, 0x34, 0x26, 0x24, 0x32, 0x22, 0x26,
  3546. 0x27, 0x22, 0x2d, 0x31, 0x3d, 0x29, 0x31, 0x3d,
  3547. 0x39, 0x29, 0x31, 0x24, 0x26, 0x29, 0x36, 0x2f,
  3548. 0x33, 0x2f, 0x21, 0x22, 0x21, 0x30, 0x28, 0x3d,
  3549. 0x23, 0x26, 0x21, 0x28, 0x26, 0x26, 0x31, 0x3b,
  3550. // Entry 140 - 17F
  3551. 0x29, 0x21, 0x29, 0x21, 0x21, 0x21, 0x21, 0x21,
  3552. 0x21, 0x21, 0x21, 0x21, 0x21, 0x23, 0x21, 0x21,
  3553. 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
  3554. 0x21, 0x21, 0x21, 0x21, 0x21, 0x24, 0x24, 0x2f,
  3555. 0x23, 0x32, 0x2f, 0x27, 0x2f, 0x21,
  3556. }
  3557. // regionInclusionBits is an array of bit vectors where every vector represents
  3558. // a set of region groupings. These sets are used to compute the distance
  3559. // between two regions for the purpose of language matching.
  3560. // Size: 584 bytes, 73 elements
  3561. var regionInclusionBits = [73]uint64{
  3562. // Entry 0 - 1F
  3563. 0x0000000102400813, 0x00000000000007a3, 0x0000000000003844, 0x0000000040000808,
  3564. 0x00000000803c0011, 0x0000000000000022, 0x0000000040000844, 0x0000000000000082,
  3565. 0x0000000000000102, 0x0000000000000202, 0x0000000000000402, 0x000000004000384d,
  3566. 0x0000000000001804, 0x0000000040002804, 0x0000000000404000, 0x0000000000408000,
  3567. 0x0000000000410000, 0x0000000002020000, 0x0000000000040010, 0x0000000000080010,
  3568. 0x0000000000100010, 0x0000000000200010, 0x0000000001c1c001, 0x0000000000c00000,
  3569. 0x0000000001400000, 0x000000001e020001, 0x0000000006000000, 0x000000000a000000,
  3570. 0x0000000012000000, 0x0000000020000000, 0x0000000040002848, 0x0000000080000010,
  3571. // Entry 20 - 3F
  3572. 0x0000000100000001, 0x0000000000000001, 0x0000000080000000, 0x0000000000020000,
  3573. 0x0000000001000000, 0x0000000000008000, 0x0000000000002000, 0x0000000000000200,
  3574. 0x0000000000000008, 0x0000000000200000, 0x0000000110000000, 0x0000000000040000,
  3575. 0x0000000008000000, 0x0000000000000020, 0x0000000104000000, 0x0000000000000080,
  3576. 0x0000000000001000, 0x0000000000010000, 0x0000000000000400, 0x0000000004000000,
  3577. 0x0000000000000040, 0x0000000010000000, 0x0000000000004000, 0x0000000101000000,
  3578. 0x0000000108000000, 0x0000000000000100, 0x0000000100020000, 0x0000000000080000,
  3579. 0x0000000000100000, 0x0000000000800000, 0x00000001dfffffff, 0x0000000102400fb3,
  3580. // Entry 40 - 5F
  3581. 0x00000001827c0813, 0x000000014240385f, 0x0000000103c1c813, 0x000000011e420813,
  3582. 0x0000000112000001, 0x0000000106000001, 0x0000000101400001, 0x000000010a000001,
  3583. 0x0000000102020001,
  3584. }
  3585. // regionInclusionNext marks, for each entry in regionInclusionBits, the set of
  3586. // all groups that are reachable from the groups set in the respective entry.
  3587. // Size: 73 bytes, 73 elements
  3588. var regionInclusionNext = [73]uint8{
  3589. // Entry 0 - 3F
  3590. 0x3e, 0x3f, 0x0b, 0x0b, 0x40, 0x01, 0x0b, 0x01,
  3591. 0x01, 0x01, 0x01, 0x41, 0x0b, 0x0b, 0x16, 0x16,
  3592. 0x16, 0x19, 0x04, 0x04, 0x04, 0x04, 0x42, 0x16,
  3593. 0x16, 0x43, 0x19, 0x19, 0x19, 0x1d, 0x0b, 0x04,
  3594. 0x00, 0x00, 0x1f, 0x11, 0x18, 0x0f, 0x0d, 0x09,
  3595. 0x03, 0x15, 0x44, 0x12, 0x1b, 0x05, 0x45, 0x07,
  3596. 0x0c, 0x10, 0x0a, 0x1a, 0x06, 0x1c, 0x0e, 0x46,
  3597. 0x47, 0x08, 0x48, 0x13, 0x14, 0x17, 0x3e, 0x3e,
  3598. // Entry 40 - 7F
  3599. 0x3e, 0x3e, 0x3e, 0x3e, 0x43, 0x43, 0x42, 0x43,
  3600. 0x43,
  3601. }
  3602. type parentRel struct {
  3603. lang uint16
  3604. script uint8
  3605. maxScript uint8
  3606. toRegion uint16
  3607. fromRegion []uint16
  3608. }
  3609. // Size: 414 bytes, 5 elements
  3610. var parents = [5]parentRel{
  3611. 0: {lang: 0x138, script: 0x0, maxScript: 0x55, toRegion: 0x1, fromRegion: []uint16{0x1a, 0x25, 0x26, 0x2f, 0x34, 0x36, 0x3d, 0x42, 0x46, 0x48, 0x49, 0x4a, 0x50, 0x52, 0x5c, 0x5d, 0x61, 0x64, 0x6d, 0x73, 0x74, 0x75, 0x7b, 0x7c, 0x7f, 0x80, 0x81, 0x83, 0x8c, 0x8d, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9f, 0xa0, 0xa4, 0xa7, 0xa9, 0xad, 0xb1, 0xb4, 0xb5, 0xbf, 0xc6, 0xca, 0xcb, 0xcc, 0xce, 0xd0, 0xd2, 0xd5, 0xd6, 0xdd, 0xdf, 0xe0, 0xe6, 0xe7, 0xe8, 0xeb, 0xf0, 0x107, 0x109, 0x10a, 0x10b, 0x10d, 0x10e, 0x112, 0x117, 0x11b, 0x11d, 0x11f, 0x125, 0x129, 0x12c, 0x12d, 0x12f, 0x131, 0x139, 0x13c, 0x13f, 0x142, 0x161, 0x162, 0x164}},
  3612. 1: {lang: 0x138, script: 0x0, maxScript: 0x55, toRegion: 0x1a, fromRegion: []uint16{0x2e, 0x4e, 0x60, 0x63, 0x72, 0xd9, 0x10c, 0x10f}},
  3613. 2: {lang: 0x13d, script: 0x0, maxScript: 0x55, toRegion: 0x1f, fromRegion: []uint16{0x2c, 0x3f, 0x41, 0x48, 0x51, 0x54, 0x56, 0x59, 0x65, 0x69, 0x89, 0x8f, 0xcf, 0xd8, 0xe2, 0xe4, 0xec, 0xf1, 0x11a, 0x135, 0x136, 0x13b}},
  3614. 3: {lang: 0x3be, script: 0x0, maxScript: 0x55, toRegion: 0xee, fromRegion: []uint16{0x2a, 0x4e, 0x5a, 0x86, 0x8b, 0xb7, 0xc6, 0xd1, 0x118, 0x126}},
  3615. 4: {lang: 0x527, script: 0x38, maxScript: 0x38, toRegion: 0x8d, fromRegion: []uint16{0xc6}},
  3616. }
  3617. // Total table size 27175 bytes (26KiB); checksum: 569649CD