github.com/graybobo/golang.org-package-offline-cache@v0.0.0-20200626051047-6608995c132f/x/text/language/tables.go (about) 1 // This file was generated by go generate; DO NOT EDIT 2 3 package language 4 5 import "golang.org/x/text/internal/tag" 6 7 // CLDRVersion is the CLDR version from which the tables in this package are derived. 8 const CLDRVersion = "28" 9 10 const numLanguages = 8632 11 12 const numScripts = 223 13 14 const numRegions = 354 15 16 type fromTo struct { 17 from uint16 18 to uint16 19 } 20 21 const nonCanonicalUnd = 642 22 const ( 23 _af = 10 24 _am = 17 25 _ar = 21 26 _az = 36 27 _bg = 56 28 _bn = 75 29 _ca = 97 30 _cs = 121 31 _da = 128 32 _de = 133 33 _el = 153 34 _en = 154 35 _es = 156 36 _et = 158 37 _fa = 163 38 _fi = 167 39 _fil = 169 40 _fr = 174 41 _gu = 210 42 _he = 222 43 _hi = 223 44 _hr = 236 45 _hu = 240 46 _hy = 241 47 _id = 246 48 _is = 256 49 _it = 257 50 _ja = 261 51 _ka = 270 52 _kk = 300 53 _km = 304 54 _kn = 306 55 _ko = 307 56 _ky = 330 57 _lo = 354 58 _lt = 358 59 _lv = 365 60 _mk = 393 61 _ml = 394 62 _mn = 396 63 _mo = 399 64 _mr = 403 65 _ms = 407 66 _mul = 411 67 _my = 418 68 _nb = 427 69 _ne = 432 70 _nl = 441 71 _no = 445 72 _pa = 466 73 _pl = 482 74 _pt = 490 75 _ro = 510 76 _ru = 514 77 _sh = 544 78 _si = 547 79 _sk = 549 80 _sl = 551 81 _sq = 564 82 _sr = 565 83 _sv = 577 84 _sw = 578 85 _ta = 587 86 _te = 594 87 _th = 599 88 _tl = 610 89 _tn = 613 90 _tr = 617 91 _uk = 639 92 _ur = 645 93 _uz = 646 94 _vi = 651 95 _zh = 700 96 _zu = 702 97 _jbo = 6829 98 _ami = 1025 99 _bnn = 1732 100 _hak = 219 101 _tlh = 13842 102 _lb = 337 103 _nv = 454 104 _pwn = 11430 105 _tao = 13563 106 _tay = 13573 107 _tsu = 14037 108 _nn = 443 109 _sfb = 13004 110 _vgt = 15076 111 _sgg = 13035 112 _cmn = 2382 113 _nan = 424 114 _hsn = 238 115 ) 116 117 const langPrivateStart = 0x2d01 118 119 const langPrivateEnd = 0x2f08 120 121 // lang holds an alphabetically sorted list of ISO-639 language identifiers. 122 // All entries are 4 bytes. The index of the identifier (divided by 4) is the language tag. 123 // For 2-byte language identifiers, the two successive bytes have the following meaning: 124 // - if the first letter of the 2- and 3-letter ISO codes are the same: 125 // the second and third letter of the 3-letter ISO code. 126 // - otherwise: a 0 and a by 2 bits right-shifted index into altLangISO3. 127 // For 3-byte language identifiers the 4th byte is 0. 128 // Size: 2824 bytes 129 var lang tag.Index = "" + 130 "---\x00aaarabbkabr\x00ace\x00ach\x00ada\x00ady\x00aeveaeb\x00affragq\x00" + 131 "aho\x00akkaakk\x00aln\x00alt\x00ammhamo\x00anrgaoz\x00arraarc\x00arn\x00" + 132 "aro\x00arq\x00ary\x00arz\x00assmasa\x00ase\x00ast\x00atj\x00avvaawa\x00a" + 133 "yymazzebaakbal\x00ban\x00bap\x00bar\x00bas\x00bax\x00bbc\x00bbj\x00bci" + 134 "\x00beelbej\x00bem\x00bew\x00bez\x00bfd\x00bfq\x00bft\x00bfy\x00bgulbgc" + 135 "\x00bgn\x00bgx\x00bhihbhb\x00bhi\x00bhk\x00bho\x00biisbik\x00bin\x00bjj" + 136 "\x00bjn\x00bkm\x00bku\x00blt\x00bmambmq\x00bnenboodbpy\x00bqi\x00bqv\x00" + 137 "brrebra\x00brh\x00brx\x00bsosbsq\x00bss\x00bto\x00btv\x00bua\x00buc\x00b" + 138 "ug\x00bum\x00bvb\x00byn\x00byv\x00bze\x00caatcch\x00ccp\x00ceheceb\x00cg" + 139 "g\x00chhachk\x00chm\x00cho\x00chp\x00chr\x00cja\x00cjm\x00ckb\x00cooscop" + 140 "\x00cps\x00crrecrj\x00crk\x00crl\x00crm\x00crs\x00csescsb\x00csw\x00ctd" + 141 "\x00cuhucvhvcyymdaandak\x00dar\x00dav\x00dcc\x00deeuden\x00dgr\x00dje" + 142 "\x00dnj\x00doi\x00dsb\x00dtm\x00dtp\x00dua\x00dvivdyo\x00dyu\x00dzzoebu" + 143 "\x00eeweefi\x00egl\x00egy\x00eky\x00elllenngeopoes\x00\x05esu\x00etstett" + 144 "\x00euusewo\x00ext\x00faasfan\x00ffulffm\x00fiinfia\x00fil\x00fit\x00fji" + 145 "jfoaofon\x00frrafrc\x00frp\x00frr\x00frs\x00fud\x00fuq\x00fur\x00fuv\x00" + 146 "fvr\x00fyrygalegaa\x00gag\x00gan\x00gay\x00gbm\x00gbz\x00gcr\x00gdlagez" + 147 "\x00ggn\x00gil\x00gjk\x00gju\x00gllgglk\x00gnrngom\x00gon\x00gor\x00gos" + 148 "\x00got\x00grc\x00grt\x00gsw\x00guujgub\x00guc\x00gur\x00guz\x00gvlvgvr" + 149 "\x00gwi\x00haauhak\x00haw\x00haz\x00heebhiinhif\x00hil\x00hlu\x00hmd\x00" + 150 "hnd\x00hne\x00hnj\x00hnn\x00hno\x00homohoc\x00hoj\x00hrrvhsb\x00hsn\x00h" + 151 "tathuunhyyehzerianaiba\x00ibb\x00idndieleigboiiiiikpkikt\x00ilo\x00inndi" + 152 "nh\x00iodoisslittaiukuiw\x00\x03izh\x00japnjam\x00jgo\x00ji\x00\x06jmc" + 153 "\x00jml\x00jut\x00jvavjwavkaatkaa\x00kab\x00kac\x00kaj\x00kam\x00kao\x00" + 154 "kbd\x00kcg\x00kck\x00kde\x00kdt\x00kea\x00ken\x00kfo\x00kfr\x00kfy\x00kg" + 155 "onkge\x00kgp\x00kha\x00khb\x00khn\x00khq\x00kht\x00khw\x00kiikkiu\x00kju" + 156 "akjg\x00kkazkkj\x00klalkln\x00kmhmkmb\x00knankoorkoi\x00kok\x00kos\x00kp" + 157 "e\x00kraukrc\x00kri\x00krj\x00krl\x00kru\x00ksasksb\x00ksf\x00ksh\x00kuu" + 158 "rkum\x00kvomkvr\x00kvx\x00kw\x00\x01kxm\x00kxp\x00kyirlaatlab\x00lad\x00" + 159 "lag\x00lah\x00laj\x00lbtzlbe\x00lbw\x00lcp\x00lep\x00lez\x00lgugliimlif" + 160 "\x00lij\x00lis\x00ljp\x00lki\x00lkt\x00lmn\x00lmo\x00lninloaolol\x00loz" + 161 "\x00lrc\x00ltitltg\x00luublua\x00luo\x00luy\x00luz\x00lvavlwl\x00lzh\x00" + 162 "lzz\x00mad\x00maf\x00mag\x00mai\x00mak\x00man\x00mas\x00maz\x00mdf\x00md" + 163 "h\x00mdr\x00men\x00mer\x00mfa\x00mfe\x00mglgmgh\x00mgo\x00mgp\x00mgy\x00" + 164 "mhahmirimin\x00mis\x00mkkdmlalmls\x00mnonmni\x00mnw\x00moolmoe\x00moh" + 165 "\x00mos\x00mrarmrd\x00mrj\x00mru\x00mssamtltmtr\x00mua\x00mul\x00mus\x00" + 166 "mvy\x00mwk\x00mwr\x00mwv\x00mxc\x00myyamyv\x00myx\x00myz\x00mzn\x00naaun" + 167 "an\x00nap\x00naq\x00nbobnch\x00nddendc\x00nds\x00neepnew\x00ngdongl\x00n" + 168 "he\x00nhw\x00nij\x00niu\x00njo\x00nlldnmg\x00nnnonnh\x00noornod\x00noe" + 169 "\x00non\x00nqo\x00nrblnsk\x00nso\x00nus\x00nvavnxq\x00nyyanym\x00nyn\x00" + 170 "nzi\x00occiojjiomrmorriosssotk\x00paanpag\x00pal\x00pam\x00pap\x00pau" + 171 "\x00pcd\x00pcm\x00pdc\x00pdt\x00peo\x00pfl\x00phn\x00pilipka\x00pko\x00p" + 172 "lolpms\x00pnt\x00pon\x00pra\x00prd\x00prg\x00psusptorpuu\x00quuequc\x00q" + 173 "ug\x00raj\x00rcf\x00rej\x00rgn\x00ria\x00rif\x00rjs\x00rkt\x00rmohrmf" + 174 "\x00rmo\x00rmt\x00rmu\x00rnunrng\x00roonrob\x00rof\x00rtm\x00ruusrue\x00" + 175 "rug\x00rw\x00\x04rwk\x00ryu\x00saansaf\x00sah\x00saq\x00sas\x00sat\x00sa" + 176 "z\x00sbp\x00scrdsck\x00scn\x00sco\x00scs\x00sdndsdc\x00sdh\x00semesef" + 177 "\x00seh\x00sei\x00ses\x00sgagsga\x00sgs\x00sh\x00\x02shi\x00shn\x00siins" + 178 "id\x00sklkskr\x00sllvsli\x00sly\x00smmosma\x00smj\x00smn\x00smp\x00sms" + 179 "\x00snnasnk\x00soomsou\x00sqqisrrpsrb\x00srn\x00srr\x00srx\x00ssswssy" + 180 "\x00stotstq\x00suunsuk\x00sus\x00svweswwaswb\x00swc\x00swg\x00swv\x00sxn" + 181 "\x00syl\x00syr\x00szl\x00taamtaj\x00tbw\x00tcy\x00tdd\x00tdg\x00tdh\x00t" + 182 "eeltem\x00teo\x00tet\x00tggkthhathl\x00thq\x00thr\x00tiirtig\x00tiv\x00t" + 183 "kuktkl\x00tkr\x00tkt\x00tlgltly\x00tmh\x00tnsntoontog\x00tpi\x00trurtru" + 184 "\x00trv\x00tssotsd\x00tsf\x00tsg\x00tsj\x00ttatttj\x00tts\x00ttt\x00tum" + 185 "\x00tvl\x00twwitwq\x00tyahtyv\x00tzm\x00udm\x00ugiguga\x00ukkruli\x00umb" + 186 "\x00und\x00unr\x00unx\x00urrduzzbvai\x00veenvec\x00vep\x00viievic\x00vls" + 187 "\x00vmf\x00vmw\x00voolvot\x00vro\x00vun\x00walnwae\x00wal\x00war\x00wbp" + 188 "\x00wbq\x00wbr\x00wls\x00wni\x00woolwtm\x00wuu\x00xav\x00xcr\x00xhhoxlc" + 189 "\x00xld\x00xmf\x00xmn\x00xmr\x00xna\x00xnr\x00xog\x00xpr\x00xsa\x00xsr" + 190 "\x00yao\x00yap\x00yav\x00ybb\x00yiidyooryrl\x00yua\x00zahazag\x00zbl\x00" + 191 "zdj\x00zea\x00zgh\x00zhhozmi\x00zuulzxx\x00zza\x00\xff\xff\xff\xff" 192 193 const langNoIndexOffset = 705 194 195 // langNoIndex is a bit vector of all 3-letter language codes that are not used as an index 196 // in lookup tables. The language ids for these language codes are derived directly 197 // from the letters and are not consecutive. 198 // Size: 2197 bytes, 2197 elements 199 var langNoIndex = [2197]uint8{ 200 // Entry 0 - 3F 201 0xff, 0xfd, 0xfd, 0xfe, 0xef, 0xf7, 0xbf, 0xd2, 202 0xfb, 0xbf, 0xfe, 0xfa, 0xb7, 0x1d, 0x3c, 0x57, 203 0x6f, 0x97, 0x73, 0xf8, 0xff, 0xef, 0xff, 0x70, 204 0xaf, 0x03, 0xff, 0xff, 0xcf, 0x05, 0x85, 0x62, 205 0xe9, 0xbf, 0xfd, 0xff, 0xff, 0xf7, 0xfd, 0x77, 206 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 207 0xc9, 0xff, 0xff, 0xff, 0x4d, 0xb8, 0x0a, 0x6a, 208 0x7e, 0xfa, 0xe3, 0xfe, 0x7e, 0xff, 0x77, 0xff, 209 // Entry 40 - 7F 210 0xff, 0xff, 0xff, 0xdf, 0x2b, 0xf4, 0xf1, 0xe0, 211 0x5d, 0xe7, 0x9f, 0x14, 0x07, 0x20, 0xdf, 0xed, 212 0x9f, 0x3f, 0xc9, 0x21, 0xf8, 0x3f, 0x94, 0xf7, 213 0x7e, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 214 0xff, 0xff, 0x5f, 0xfc, 0xdb, 0xfd, 0xbf, 0xb5, 215 0x7b, 0xdf, 0x7f, 0xf7, 0xeb, 0xfe, 0xff, 0xa7, 216 0xbd, 0xff, 0x7f, 0xf7, 0xff, 0xef, 0xef, 0xef, 217 0xff, 0xff, 0x9f, 0xff, 0xff, 0xef, 0xff, 0xdf, 218 // Entry 80 - BF 219 0xff, 0xff, 0xf3, 0xff, 0xfb, 0x2f, 0xff, 0xff, 220 0xfb, 0xee, 0xff, 0xbd, 0xdb, 0xff, 0xdf, 0xf7, 221 0xff, 0xfa, 0xfd, 0xff, 0x7e, 0xaf, 0x7b, 0xfe, 222 0x7f, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xdf, 0xff, 223 0xff, 0xdf, 0xfb, 0xff, 0xfd, 0xfc, 0xfb, 0xff, 224 0xff, 0xff, 0xff, 0xf7, 0x7f, 0xbf, 0xfd, 0xd5, 225 0xa5, 0x77, 0x40, 0xff, 0x9c, 0xc1, 0x41, 0x2c, 226 0x08, 0x24, 0x41, 0x00, 0x50, 0x40, 0x00, 0x80, 227 // Entry C0 - FF 228 0xfb, 0x4a, 0xf2, 0x9f, 0xb4, 0x42, 0x41, 0x96, 229 0x9b, 0x14, 0x88, 0xf6, 0x7b, 0xe7, 0x17, 0x56, 230 0x55, 0x7d, 0x0e, 0x1c, 0x37, 0x71, 0xf3, 0xef, 231 0x97, 0xff, 0x5d, 0x38, 0x64, 0x08, 0x00, 0x10, 232 0xbc, 0x87, 0xaf, 0xdf, 0xff, 0xf7, 0x73, 0x35, 233 0x3e, 0x87, 0xc7, 0xdf, 0xff, 0x00, 0x81, 0x00, 234 0xb0, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 235 0x40, 0x00, 0x40, 0x92, 0x21, 0xd0, 0xbf, 0x5d, 236 // Entry 100 - 13F 237 0xfd, 0xde, 0xfe, 0x5e, 0x00, 0x00, 0x02, 0x64, 238 0x8d, 0x19, 0xc1, 0xdf, 0x79, 0x22, 0x00, 0x00, 239 0x00, 0xdf, 0x6d, 0xdc, 0x26, 0xe5, 0xd9, 0xf3, 240 0xfe, 0xff, 0xfd, 0xcb, 0x9f, 0x14, 0x01, 0x0c, 241 0x86, 0x00, 0xd1, 0x00, 0xf0, 0xc5, 0x67, 0x5f, 242 0x56, 0x89, 0x5e, 0xb7, 0xec, 0xef, 0x03, 0x00, 243 0x02, 0x00, 0x00, 0x00, 0xc0, 0x77, 0xda, 0x57, 244 0x90, 0x69, 0x01, 0x2c, 0x16, 0x79, 0xe4, 0xff, 245 // Entry 140 - 17F 246 0xff, 0x7f, 0x00, 0x00, 0x00, 0x01, 0x08, 0x46, 247 0x00, 0x00, 0x00, 0xb0, 0x14, 0x03, 0x50, 0x16, 248 0x0a, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x09, 249 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x10, 250 0x00, 0x00, 0x44, 0x00, 0x00, 0x10, 0x00, 0x04, 251 0x08, 0x00, 0x00, 0x04, 0x00, 0x80, 0x28, 0x04, 252 0x00, 0x00, 0x50, 0xd5, 0x2d, 0x00, 0x64, 0x35, 253 0x24, 0x53, 0xf5, 0xd4, 0xbd, 0xe2, 0xcd, 0x03, 254 // Entry 180 - 1BF 255 0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 256 0x00, 0x04, 0x17, 0x39, 0x01, 0xd9, 0x57, 0x98, 257 0x21, 0x98, 0xa5, 0x00, 0x00, 0x01, 0x40, 0x82, 258 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 259 0x01, 0x40, 0x00, 0x44, 0x00, 0x00, 0xb0, 0xfe, 260 0xa9, 0x39, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 261 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x40, 262 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 263 // Entry 1C0 - 1FF 264 0x00, 0x01, 0x28, 0x05, 0x00, 0x00, 0x00, 0x00, 265 0x04, 0x20, 0x04, 0xa6, 0x08, 0x04, 0x00, 0x08, 266 0x01, 0x50, 0x00, 0x00, 0x08, 0x11, 0x86, 0x40, 267 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x06, 0x55, 268 0x02, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x60, 269 0x3b, 0x83, 0x11, 0x00, 0x00, 0x00, 0x11, 0x00, 270 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 271 0x00, 0x00, 0x00, 0xbe, 0xdf, 0xff, 0xfe, 0xbf, 272 // Entry 200 - 23F 273 0xdf, 0xc7, 0x83, 0x82, 0xc0, 0xff, 0xdf, 0x27, 274 0xcf, 0x5f, 0xe7, 0x01, 0x10, 0x20, 0xb2, 0xc5, 275 0xa4, 0x45, 0x25, 0x9b, 0x03, 0xcf, 0xf0, 0xdf, 276 0x03, 0xc4, 0x00, 0x10, 0x01, 0x0e, 0x01, 0xe3, 277 0x92, 0x54, 0xdb, 0x38, 0xf1, 0x7f, 0xf7, 0x6d, 278 0xf9, 0xff, 0x1c, 0x7d, 0x04, 0x08, 0x00, 0x01, 279 0x21, 0x12, 0x6c, 0x5f, 0xdd, 0x0f, 0x85, 0x4f, 280 0x40, 0x40, 0x00, 0x04, 0xf9, 0xfd, 0xfd, 0xd4, 281 // Entry 240 - 27F 282 0xe8, 0x13, 0xf4, 0x27, 0xa3, 0x0d, 0x00, 0x00, 283 0x20, 0x7b, 0x39, 0x02, 0x05, 0x84, 0x00, 0xf0, 284 0xbf, 0x7f, 0xda, 0x00, 0x18, 0x04, 0x81, 0x00, 285 0x00, 0x00, 0x80, 0x10, 0x94, 0x1c, 0x01, 0x00, 286 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x04, 287 0x08, 0xb4, 0x7c, 0xa5, 0x0c, 0x40, 0x00, 0x00, 288 0x11, 0x04, 0x04, 0x6c, 0x00, 0x20, 0x70, 0xff, 289 0xfb, 0x7f, 0x60, 0x00, 0x05, 0x9b, 0xdd, 0x6e, 290 // Entry 280 - 2BF 291 0x03, 0x00, 0x11, 0x00, 0x00, 0x00, 0x40, 0x05, 292 0xb5, 0xb6, 0x80, 0x08, 0x04, 0x00, 0x04, 0x51, 293 0xe2, 0xff, 0xfd, 0x3f, 0x05, 0x09, 0x08, 0x05, 294 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 295 0x08, 0x00, 0x00, 0x00, 0x00, 0xa1, 0x02, 0x60, 296 0xe5, 0x48, 0x14, 0x89, 0x20, 0xc0, 0x47, 0x80, 297 0x07, 0x00, 0x00, 0x00, 0xcc, 0x50, 0x40, 0x24, 298 0x85, 0x47, 0x84, 0x40, 0x20, 0x10, 0x00, 0x20, 299 // Entry 2C0 - 2FF 300 0x02, 0x50, 0x88, 0x11, 0x00, 0xd1, 0x6c, 0xee, 301 0x50, 0x03, 0x1d, 0x11, 0x69, 0x06, 0x59, 0xe9, 302 0x33, 0x08, 0x00, 0x20, 0x05, 0x40, 0x10, 0x00, 303 0x00, 0x00, 0x50, 0x44, 0x96, 0x49, 0xd6, 0x5d, 304 0xa7, 0x81, 0x45, 0x97, 0xfb, 0x00, 0x10, 0x00, 305 0x08, 0x00, 0x80, 0x00, 0x40, 0x45, 0x00, 0x01, 306 0x02, 0x00, 0x01, 0x40, 0x80, 0x00, 0x04, 0x08, 307 0xf8, 0xeb, 0xf6, 0x39, 0xc4, 0x99, 0x16, 0x00, 308 // Entry 300 - 33F 309 0x00, 0x0c, 0x04, 0x01, 0x20, 0x20, 0xdd, 0xa2, 310 0x01, 0x00, 0x00, 0x00, 0x12, 0x04, 0x00, 0x00, 311 0x04, 0x10, 0xf0, 0x9d, 0x95, 0x13, 0x04, 0x80, 312 0x00, 0x00, 0xd0, 0x12, 0x40, 0x00, 0x10, 0xb0, 313 0x10, 0x62, 0x4c, 0xd2, 0x02, 0x01, 0x0a, 0x00, 314 0x46, 0x04, 0x00, 0x08, 0x02, 0x00, 0x20, 0xc0, 315 0x00, 0x80, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00, 316 0x00, 0xf0, 0xd8, 0x6f, 0x15, 0x02, 0x08, 0x00, 317 // Entry 340 - 37F 318 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 319 0x00, 0x10, 0x00, 0x00, 0x00, 0xf8, 0x85, 0xe3, 320 0xdd, 0xff, 0xff, 0xff, 0xbb, 0xff, 0x7f, 0xfb, 321 0xff, 0xfc, 0xfe, 0xdf, 0xff, 0xff, 0xff, 0xf6, 322 0xfb, 0xfe, 0xf7, 0x1f, 0xff, 0xb3, 0xed, 0xff, 323 0xdb, 0xed, 0xff, 0xfe, 0xff, 0xfe, 0xdf, 0xff, 324 0xff, 0xff, 0xf7, 0xff, 0xfd, 0xff, 0xff, 0xff, 325 0xfd, 0xff, 0xdf, 0xaf, 0x9c, 0xff, 0xfb, 0xff, 326 // Entry 380 - 3BF 327 0xff, 0xff, 0xff, 0xff, 0xef, 0xd2, 0xbb, 0xdf, 328 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xef, 329 0xfd, 0xff, 0xff, 0xf7, 0xfd, 0xff, 0xff, 0xff, 330 0xef, 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 331 0xff, 0x5f, 0xd3, 0x7b, 0xfd, 0xd9, 0xdf, 0xef, 332 0xbc, 0x18, 0x05, 0x2c, 0xff, 0x07, 0xf0, 0xff, 333 0xf7, 0x5f, 0x00, 0x08, 0x00, 0xc3, 0x3d, 0x1b, 334 0x06, 0xe6, 0x72, 0xf0, 0xdd, 0x3c, 0x7f, 0x44, 335 // Entry 3C0 - 3FF 336 0x02, 0x30, 0x9f, 0x7a, 0x16, 0xfd, 0xff, 0x57, 337 0xf2, 0xff, 0x39, 0xff, 0xf2, 0x1e, 0x95, 0xf7, 338 0xf7, 0xff, 0x45, 0x80, 0x01, 0x02, 0x00, 0x00, 339 0x40, 0x54, 0x9f, 0x8a, 0xd9, 0xd9, 0x0e, 0x11, 340 0x84, 0x51, 0xc0, 0xf3, 0xfb, 0x47, 0x00, 0x01, 341 0x05, 0xd1, 0x50, 0x58, 0x00, 0x00, 0x00, 0x10, 342 0x04, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x17, 0xd2, 343 0xf9, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 344 // Entry 400 - 43F 345 0xd7, 0x6f, 0xff, 0xff, 0xdf, 0x7d, 0xbb, 0xff, 346 0xff, 0xff, 0xf7, 0xf3, 0xef, 0xff, 0xff, 0xf7, 347 0xff, 0xdf, 0xdb, 0x77, 0xff, 0xff, 0x7f, 0xff, 348 0xff, 0xff, 0xef, 0xff, 0xbc, 0xff, 0xff, 0xfb, 349 0xff, 0xfb, 0xff, 0xde, 0x76, 0xbd, 0xff, 0xf7, 350 0xff, 0xff, 0xf7, 0xff, 0xff, 0xdf, 0xf3, 0xbf, 351 0xef, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xde, 352 0xf7, 0xbb, 0xef, 0xf7, 0xff, 0xfb, 0xbf, 0xdf, 353 // Entry 440 - 47F 354 0xfd, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0x5f, 0x7d, 355 0x7f, 0xff, 0xff, 0xff, 0xe5, 0xfc, 0xff, 0xfd, 356 0x7f, 0x7f, 0xff, 0x9e, 0xae, 0xff, 0xee, 0xff, 357 0x7f, 0xf7, 0x7b, 0x02, 0x82, 0x04, 0xff, 0xf7, 358 0xff, 0xbf, 0xd7, 0xef, 0xfe, 0xdf, 0xf7, 0xfe, 359 0xe2, 0x8e, 0xe7, 0xff, 0xf7, 0xff, 0x56, 0xbd, 360 0xcd, 0xff, 0xfb, 0xff, 0xff, 0xdf, 0xef, 0xff, 361 0xe5, 0xdf, 0x7d, 0x0f, 0xa7, 0x51, 0x04, 0x44, 362 // Entry 480 - 4BF 363 0x13, 0xd0, 0x5d, 0xaf, 0xa6, 0xfd, 0xb9, 0xff, 364 0x43, 0x5d, 0x5b, 0xff, 0xff, 0xbf, 0x3f, 0x20, 365 0x14, 0x00, 0x57, 0x51, 0x82, 0x65, 0xf5, 0x49, 366 0xe2, 0xff, 0xfc, 0xdf, 0x00, 0x05, 0xc5, 0x05, 367 0x00, 0x22, 0x00, 0x74, 0x69, 0x10, 0x08, 0x04, 368 0x41, 0x00, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 369 0x00, 0x51, 0x60, 0x05, 0x04, 0x01, 0x00, 0x00, 370 0x06, 0x01, 0x20, 0x00, 0x18, 0x01, 0x92, 0xb1, 371 // Entry 4C0 - 4FF 372 0xfd, 0x67, 0x4b, 0x06, 0x95, 0x02, 0x57, 0xed, 373 0xfb, 0x4c, 0x9d, 0x7b, 0x83, 0x04, 0x62, 0x40, 374 0x00, 0x15, 0x42, 0x00, 0x00, 0x00, 0x54, 0x83, 375 0xf9, 0x5f, 0x10, 0x8c, 0xc9, 0x46, 0xde, 0xf7, 376 0x13, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 377 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x10, 0x00, 378 0x01, 0x40, 0x00, 0xf0, 0x5b, 0xf4, 0xbe, 0x7d, 379 0xba, 0xcf, 0xf7, 0xaf, 0x42, 0x04, 0x84, 0x41, 380 // Entry 500 - 53F 381 0xb0, 0xff, 0x79, 0x7a, 0x04, 0x00, 0x00, 0x49, 382 0x2d, 0x14, 0x25, 0x77, 0xed, 0xf1, 0xbf, 0xef, 383 0x3f, 0x00, 0x00, 0x02, 0xc6, 0xa0, 0x1e, 0xfc, 384 0xbb, 0xff, 0xfd, 0xfb, 0xb7, 0xfd, 0xf5, 0xff, 385 0xfd, 0xfc, 0xd5, 0xed, 0x47, 0xf4, 0x7f, 0x10, 386 0x01, 0x01, 0x84, 0x6d, 0xff, 0xf7, 0xdd, 0xf9, 387 0x5f, 0x05, 0x86, 0xef, 0xf5, 0x77, 0xbd, 0x3c, 388 0x00, 0x00, 0x00, 0x43, 0x71, 0x42, 0x00, 0x40, 389 // Entry 540 - 57F 390 0x00, 0x00, 0x01, 0x43, 0x19, 0x00, 0x08, 0x00, 391 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 392 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 393 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 394 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 395 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 396 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 397 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 398 // Entry 580 - 5BF 399 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 400 0xff, 0xab, 0xbd, 0xe7, 0x57, 0xee, 0x13, 0x5d, 401 0x09, 0xc1, 0x40, 0x21, 0xfa, 0x17, 0x01, 0x80, 402 0x00, 0x00, 0x00, 0x00, 0xf0, 0xde, 0xff, 0xbf, 403 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 404 0x00, 0x30, 0x95, 0xe3, 0x10, 0x00, 0x00, 0x00, 405 0x11, 0x04, 0x16, 0x00, 0x01, 0x02, 0x00, 0x81, 406 0xa3, 0x01, 0x50, 0x00, 0x00, 0x83, 0x11, 0x40, 407 // Entry 5C0 - 5FF 408 0x00, 0x00, 0x00, 0xf0, 0xdd, 0x7b, 0x7e, 0x02, 409 0xaa, 0x10, 0x5d, 0xd8, 0x52, 0x00, 0x80, 0x20, 410 0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x02, 0x02, 411 0x09, 0x00, 0x10, 0x02, 0x10, 0x61, 0x5a, 0x9d, 412 0x31, 0x00, 0x00, 0x00, 0x01, 0x50, 0x02, 0x20, 413 0x00, 0x00, 0x01, 0x00, 0x42, 0x00, 0x00, 0x00, 414 0x00, 0x1f, 0xdf, 0xf2, 0xfd, 0xff, 0xfd, 0x3f, 415 0x9f, 0x18, 0xcf, 0x9c, 0xbf, 0xaf, 0x5f, 0xfe, 416 // Entry 600 - 63F 417 0x7b, 0x4b, 0x40, 0x10, 0xe1, 0xfd, 0xaf, 0xfd, 418 0xb7, 0xf7, 0xff, 0xf3, 0xdf, 0xff, 0x6f, 0xf1, 419 0x7b, 0xf1, 0x7f, 0xdf, 0x7f, 0xbf, 0xfe, 0xb7, 420 0xee, 0x1d, 0xfb, 0xdb, 0xef, 0xdf, 0xff, 0xfd, 421 0x7e, 0xbe, 0x57, 0xff, 0x6f, 0x81, 0x76, 0x1f, 422 0xd4, 0x77, 0xf5, 0xfd, 0xff, 0xff, 0xeb, 0xfe, 423 0xbf, 0x5f, 0x57, 0x1b, 0xeb, 0x5f, 0x50, 0x18, 424 0x02, 0xfa, 0xff, 0x9d, 0x15, 0x97, 0x15, 0x0f, 425 // Entry 640 - 67F 426 0x75, 0xc4, 0x7d, 0x81, 0x82, 0xf1, 0xd7, 0x7e, 427 0xff, 0xff, 0xff, 0xef, 0xff, 0xfd, 0xdd, 0xde, 428 0xbc, 0xfd, 0xf6, 0x5f, 0x7a, 0x1f, 0x40, 0x98, 429 0x02, 0xff, 0xe3, 0xff, 0xf3, 0xd6, 0xf2, 0xff, 430 0xfb, 0xdf, 0x7d, 0x50, 0x1e, 0x15, 0x7b, 0xb4, 431 0xf5, 0xbe, 0xff, 0xff, 0xf3, 0xf7, 0xff, 0xf7, 432 0x7f, 0xff, 0xff, 0xbe, 0xdb, 0xf7, 0xd7, 0xf9, 433 0xef, 0x2f, 0x80, 0xbf, 0xc5, 0xff, 0xff, 0xf3, 434 // Entry 680 - 6BF 435 0x97, 0x9d, 0xff, 0xff, 0xf7, 0xcf, 0xfd, 0xbf, 436 0xde, 0x7f, 0x06, 0x1d, 0x57, 0xff, 0xf8, 0xda, 437 0x5d, 0xcf, 0x7d, 0x16, 0xb9, 0xea, 0x69, 0xa0, 438 0x1a, 0x20, 0x00, 0x30, 0x02, 0x04, 0x24, 0x48, 439 0x04, 0x00, 0x00, 0x40, 0xd4, 0x02, 0x04, 0x00, 440 0x00, 0x04, 0x00, 0x04, 0x00, 0x20, 0x01, 0x06, 441 0x50, 0x00, 0x08, 0x00, 0x00, 0x00, 0x24, 0x00, 442 0x04, 0x00, 0x10, 0x8c, 0x58, 0xd5, 0x0d, 0x0f, 443 // Entry 6C0 - 6FF 444 0x14, 0x4d, 0xf1, 0x16, 0x44, 0xd1, 0x42, 0x08, 445 0x40, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00, 446 0x00, 0xdc, 0xff, 0xeb, 0x1f, 0x58, 0x08, 0x41, 447 0x04, 0xa0, 0x04, 0x00, 0x30, 0x12, 0x40, 0x22, 448 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 449 0x01, 0x00, 0x00, 0x00, 0x80, 0x10, 0x10, 0xaf, 450 0x6f, 0x93, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 451 0x00, 0x00, 0x00, 0x80, 0x80, 0x25, 0x00, 0x00, 452 // Entry 700 - 73F 453 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 454 0x80, 0x86, 0xc2, 0x02, 0x00, 0x00, 0x00, 0x01, 455 0xdf, 0x18, 0x00, 0x00, 0x02, 0xf0, 0xfd, 0x79, 456 0x3b, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02, 0x00, 457 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 458 0x03, 0x00, 0x09, 0x20, 0x00, 0x00, 0x01, 0x00, 459 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 460 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 461 // Entry 740 - 77F 462 0x00, 0x00, 0x00, 0xef, 0xf7, 0xfd, 0xcf, 0x7e, 463 0xa0, 0x11, 0x10, 0x00, 0x00, 0x92, 0x01, 0x44, 464 0xcd, 0xf9, 0x5e, 0x00, 0x01, 0x00, 0x30, 0x14, 465 0x04, 0x55, 0x10, 0x01, 0x04, 0xf6, 0x3f, 0x7a, 466 0x05, 0x04, 0x00, 0xb0, 0x80, 0x00, 0x55, 0x55, 467 0x97, 0x7c, 0x9f, 0x71, 0xcc, 0x78, 0xd1, 0x43, 468 0xf5, 0x57, 0x67, 0x14, 0x01, 0x00, 0x00, 0x00, 469 0x00, 0x00, 0x2c, 0xf7, 0xdb, 0x1f, 0x50, 0x60, 470 // Entry 780 - 7BF 471 0x03, 0x68, 0x01, 0x10, 0x8b, 0x38, 0xaa, 0x01, 472 0x00, 0x00, 0x30, 0x00, 0x24, 0x44, 0x00, 0x00, 473 0x10, 0x03, 0x11, 0x02, 0x01, 0x00, 0x00, 0xf0, 474 0xb5, 0xff, 0xd5, 0xd7, 0xbc, 0x70, 0xd6, 0x78, 475 0x78, 0x15, 0x50, 0x00, 0xa4, 0x84, 0xe9, 0x41, 476 0x00, 0x00, 0x00, 0x6b, 0x39, 0x52, 0x74, 0x00, 477 0xe8, 0x30, 0x90, 0x6a, 0x92, 0x00, 0x00, 0x02, 478 0xff, 0xef, 0xff, 0x4f, 0x85, 0x53, 0xf4, 0xed, 479 // Entry 7C0 - 7FF 480 0xdd, 0xbf, 0x72, 0x19, 0xc7, 0x0c, 0xf5, 0x42, 481 0x54, 0xdd, 0x77, 0x14, 0x00, 0x80, 0xc0, 0x56, 482 0xcc, 0x16, 0x9e, 0xfb, 0x35, 0x7d, 0xef, 0xff, 483 0xbd, 0xa4, 0xaf, 0x01, 0x44, 0x18, 0x01, 0x5d, 484 0x4e, 0x4a, 0x08, 0x50, 0x28, 0x30, 0xe0, 0x80, 485 0x10, 0x20, 0x24, 0x00, 0xff, 0x3f, 0xdf, 0x67, 486 0xfe, 0x01, 0x06, 0x88, 0x0a, 0x40, 0x16, 0x01, 487 0x01, 0x15, 0x2b, 0x3e, 0x01, 0x00, 0x00, 0x10, 488 // Entry 800 - 83F 489 0x90, 0x69, 0x45, 0x02, 0x02, 0x01, 0xe1, 0xbf, 490 0xbf, 0x03, 0x00, 0x00, 0x10, 0xd4, 0xa7, 0xd1, 491 0x54, 0x9e, 0x44, 0xdf, 0xfd, 0x8f, 0x66, 0xb3, 492 0x55, 0x20, 0xd4, 0xc3, 0xd8, 0x30, 0x3d, 0x80, 493 0x00, 0x00, 0x00, 0x4c, 0xd4, 0x10, 0xc5, 0x84, 494 0x6e, 0x50, 0x00, 0x22, 0x50, 0x7e, 0xbf, 0xdb, 495 0x07, 0x00, 0x20, 0x10, 0x84, 0xb2, 0x45, 0x10, 496 0x06, 0x44, 0x00, 0x00, 0x12, 0x02, 0x11, 0x00, 497 // Entry 840 - 87F 498 0xf0, 0xfb, 0xfd, 0x3f, 0x05, 0x00, 0x12, 0x81, 499 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x02, 500 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x02, 0x28, 501 0x84, 0x00, 0x33, 0xc0, 0x23, 0x24, 0x00, 0x00, 502 0x00, 0xcb, 0xe4, 0x3a, 0x42, 0xc8, 0x14, 0xf1, 503 0xef, 0xff, 0x7f, 0x16, 0x01, 0x01, 0x84, 0x50, 504 0x07, 0xfc, 0xff, 0xff, 0x0f, 0x01, 0x00, 0x40, 505 0x10, 0x38, 0x01, 0x01, 0x1c, 0x12, 0x40, 0xe1, 506 // Entry 880 - 8BF 507 0x76, 0x16, 0x08, 0x03, 0x10, 0x00, 0x00, 0x00, 508 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x24, 509 0x0a, 0x00, 0x80, 0x00, 0x00, 510 } 511 512 // altLangISO3 holds an alphabetically sorted list of 3-letter language code alternatives 513 // to 2-letter language codes that cannot be derived using the method described above. 514 // Each 3-letter code is followed by its 1-byte langID. 515 // Size: 32 bytes 516 var altLangISO3 tag.Index = "---\x00cor\x00hbs\x01heb\x02kin\x03spa\x04yid\x05\xff\xff\xff\xff" 517 518 // altLangIndex is used to convert indexes in altLangISO3 to langIDs. 519 // Size: 12 bytes, 6 elements 520 var altLangIndex = [6]uint16{ 521 0x0147, 0x0220, 0x0103, 0x0205, 0x009c, 0x0108, 522 } 523 524 // langAliasMap maps langIDs to their suggested replacements. 525 // Size: 556 bytes, 139 elements 526 var langAliasMap = [139]fromTo{ 527 {from: 0xfd, to: 0xf6}, 528 {from: 0x103, to: 0xde}, 529 {from: 0x108, to: 0x2b2}, 530 {from: 0x10d, to: 0x10c}, 531 {from: 0x18f, to: 0x1fe}, 532 {from: 0x1ab, to: 0x1bd}, 533 {from: 0x220, to: 0x235}, 534 {from: 0x262, to: 0xa9}, 535 {from: 0x26e, to: 0x24c}, 536 {from: 0x277, to: 0xd}, 537 {from: 0x2cd, to: 0x2d3}, 538 {from: 0x31e, to: 0x92}, 539 {from: 0x3bf, to: 0x1c40}, 540 {from: 0x3e0, to: 0x234}, 541 {from: 0x3f1, to: 0x234}, 542 {from: 0x47c, to: 0x15}, 543 {from: 0x487, to: 0xf1}, 544 {from: 0x4cd, to: 0x1f30}, 545 {from: 0x542, to: 0x23}, 546 {from: 0x548, to: 0x272a}, 547 {from: 0x554, to: 0x24}, 548 {from: 0x575, to: 0xa0}, 549 {from: 0x59b, to: 0x26}, 550 {from: 0x5a4, to: 0x42}, 551 {from: 0x652, to: 0xc72}, 552 {from: 0x77e, to: 0x1a2}, 553 {from: 0x7c5, to: 0x16b}, 554 {from: 0x7cc, to: 0x59}, 555 {from: 0x84d, to: 0x30b1}, 556 {from: 0x8c7, to: 0x2bc}, 557 {from: 0x904, to: 0x23e9}, 558 {from: 0x90d, to: 0x952}, 559 {from: 0x92a, to: 0x249}, 560 {from: 0x94b, to: 0x3fb8}, 561 {from: 0x94e, to: 0x2bc}, 562 {from: 0xa48, to: 0x73}, 563 {from: 0xa97, to: 0x79}, 564 {from: 0xb57, to: 0x8a}, 565 {from: 0xb66, to: 0x19f}, 566 {from: 0xb87, to: 0xb8a}, 567 {from: 0xb8d, to: 0x2c0}, 568 {from: 0xc6e, to: 0x1de9}, 569 {from: 0xc7d, to: 0x2c29}, 570 {from: 0xcc8, to: 0x1b9}, 571 {from: 0xe5f, to: 0x9e}, 572 {from: 0xe93, to: 0x176}, 573 {from: 0xf2f, to: 0xfa}, 574 {from: 0x1008, to: 0xd}, 575 {from: 0x11b3, to: 0xae}, 576 {from: 0x11ff, to: 0xa5}, 577 {from: 0x12ae, to: 0xb2a}, 578 {from: 0x12b2, to: 0x1ce}, 579 {from: 0x12c1, to: 0x1454}, 580 {from: 0x130f, to: 0x10e}, 581 {from: 0x1312, to: 0x85}, 582 {from: 0x1332, to: 0x3a3e}, 583 {from: 0x13f9, to: 0xcb}, 584 {from: 0x1457, to: 0x99}, 585 {from: 0x148f, to: 0x2787}, 586 {from: 0x14a7, to: 0xc9}, 587 {from: 0x1509, to: 0x12b3}, 588 {from: 0x1598, to: 0x1545}, 589 {from: 0x15a5, to: 0x1682}, 590 {from: 0x1619, to: 0x239}, 591 {from: 0x1708, to: 0x1a90}, 592 {from: 0x1803, to: 0x293f}, 593 {from: 0x1819, to: 0x100}, 594 {from: 0x18e9, to: 0x102}, 595 {from: 0x1915, to: 0x12a4}, 596 {from: 0x1dcc, to: 0x1e6c}, 597 {from: 0x1de9, to: 0x18c}, 598 {from: 0x1e72, to: 0x142}, 599 {from: 0x1e7d, to: 0x138}, 600 {from: 0x1e81, to: 0x11f}, 601 {from: 0x1e88, to: 0x135}, 602 {from: 0x1e9e, to: 0x1f7a}, 603 {from: 0x1ec4, to: 0x144}, 604 {from: 0x1f75, to: 0x422d}, 605 {from: 0x1f83, to: 0x3712}, 606 {from: 0x1ff1, to: 0x6b9}, 607 {from: 0x20a5, to: 0x2fb5}, 608 {from: 0x2111, to: 0x30f4}, 609 {from: 0x2201, to: 0x16d}, 610 {from: 0x2273, to: 0x189}, 611 {from: 0x227f, to: 0x186}, 612 {from: 0x2289, to: 0x197}, 613 {from: 0x22df, to: 0x8ea}, 614 {from: 0x2338, to: 0x69}, 615 {from: 0x23cd, to: 0x176}, 616 {from: 0x2458, to: 0x2443}, 617 {from: 0x2488, to: 0x1ef}, 618 {from: 0x24b6, to: 0x3a3e}, 619 {from: 0x24f4, to: 0x2443}, 620 {from: 0x267e, to: 0x25c6}, 621 {from: 0x26a3, to: 0x1b0}, 622 {from: 0x28a9, to: 0x1cd}, 623 {from: 0x298b, to: 0x1cf}, 624 {from: 0x29ce, to: 0x3a3e}, 625 {from: 0x2a8b, to: 0x1e9}, 626 {from: 0x2aa2, to: 0x326}, 627 {from: 0x2ad6, to: 0xa3}, 628 {from: 0x2ad7, to: 0xa3}, 629 {from: 0x2b8e, to: 0x180}, 630 {from: 0x2ba9, to: 0x2b24}, 631 {from: 0x2bb0, to: 0x14f}, 632 {from: 0x2bf4, to: 0x2011}, 633 {from: 0x2c7e, to: 0x2c66}, 634 {from: 0x2f22, to: 0x1ec}, 635 {from: 0x30f5, to: 0x311d}, 636 {from: 0x31b9, to: 0x1fe}, 637 {from: 0x327d, to: 0x165f}, 638 {from: 0x3375, to: 0x225}, 639 {from: 0x33e7, to: 0x12f}, 640 {from: 0x3405, to: 0x210}, 641 {from: 0x348c, to: 0x242}, 642 {from: 0x35ba, to: 0x2a2a}, 643 {from: 0x35be, to: 0x4c}, 644 {from: 0x35c1, to: 0x2fb7}, 645 {from: 0x35fb, to: 0x3735}, 646 {from: 0x3621, to: 0x3d4f}, 647 {from: 0x3644, to: 0x2c29}, 648 {from: 0x36eb, to: 0x264}, 649 {from: 0x38dd, to: 0xb20}, 650 {from: 0x3907, to: 0xe89}, 651 {from: 0x3a28, to: 0x286}, 652 {from: 0x3d4c, to: 0x7f}, 653 {from: 0x404d, to: 0x302}, 654 {from: 0x4107, to: 0x137}, 655 {from: 0x415a, to: 0x345a}, 656 {from: 0x415c, to: 0x86}, 657 {from: 0x423e, to: 0x30b1}, 658 {from: 0x4272, to: 0x2b2}, 659 {from: 0x4359, to: 0x2198}, 660 {from: 0x436c, to: 0x246b}, 661 {from: 0x439f, to: 0x463d}, 662 {from: 0x443d, to: 0x442f}, 663 {from: 0x44cd, to: 0x44d4}, 664 {from: 0x46a5, to: 0x197}, 665 {from: 0x4736, to: 0x2b6}, 666 } 667 668 // Size: 139 bytes, 139 elements 669 var langAliasTypes = [139]langAliasType{ 670 // Entry 0 - 3F 671 0, 0, 0, 0, 0, 1, 2, 2, 0, 1, 0, 0, 1, 2, 1, 1, 672 2, 0, 1, 0, 1, 2, 1, 1, 0, 2, 1, 1, 0, 2, 0, 0, 673 1, 0, 1, 1, 2, 1, 1, 1, 1, 0, 0, 2, 1, 1, 1, 1, 674 2, 1, 0, 1, 1, 2, 2, 0, 1, 2, 0, 1, 1, 1, 1, 1, 675 // Entry 40 - 7F 676 0, 0, 2, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 677 0, 0, 1, 2, 2, 2, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 678 1, 0, 1, 0, 2, 1, 1, 0, 1, 0, 0, 1, 1, 2, 0, 2, 679 1, 1, 1, 0, 2, 0, 0, 0, 0, 1, 1, 0, 1, 2, 0, 1, 680 // Entry 80 - BF 681 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 682 } 683 684 const ( 685 _Latn = 79 686 _Hani = 48 687 _Hans = 50 688 _Hant = 51 689 _Qaaa = 125 690 _Qaai = 133 691 _Qabx = 174 692 _Zinh = 218 693 _Zyyy = 222 694 _Zzzz = 223 695 ) 696 697 // script is an alphabetically sorted list of ISO 15924 codes. The index 698 // of the script in the string, divided by 4, is the internal scriptID. 699 // Size: 900 bytes 700 var script tag.Index = "" + 701 "----AdlmAfakAghbAhomArabAranArmiArmnAvstBaliBamuBassBatkBengBlisBopoBrah" + 702 "BraiBugiBuhdCakmCansCariChamCherCirtCoptCprtCyrlCyrsDevaDsrtDuplEgydEgyh" + 703 "EgypElbaEthiGeokGeorGlagGothGranGrekGujrGuruHangHaniHanoHansHantHatrHebr" + 704 "HiraHluwHmngHrktHungIndsItalJavaJpanJurcKaliKanaKharKhmrKhojKitlKitsKnda" + 705 "KoreKpelKthiLanaLaooLatfLatgLatnLepcLimbLinaLinbLisuLomaLyciLydiMahjMand" + 706 "ManiMarcMayaMendMercMeroMlymModiMongMoonMrooMteiMultMymrNarbNbatNkgbNkoo" + 707 "NshuOgamOlckOrkhOryaOsgeOsmaPalmPaucPermPhagPhliPhlpPhlvPhnxPlrdPrtiQaaa" + 708 "QaabQaacQaadQaaeQaafQaagQaahQaaiQaajQaakQaalQaamQaanQaaoQaapQaaqQaarQaas" + 709 "QaatQaauQaavQaawQaaxQaayQaazQabaQabbQabcQabdQabeQabfQabgQabhQabiQabjQabk" + 710 "QablQabmQabnQaboQabpQabqQabrQabsQabtQabuQabvQabwQabxRjngRoroRunrSamrSara" + 711 "SarbSaurSgnwShawShrdSiddSindSinhSoraSundSyloSyrcSyreSyrjSyrnTagbTakrTale" + 712 "TaluTamlTangTavtTeluTengTfngTglgThaaThaiTibtTirhUgarVaiiVispWaraWoleXpeo" + 713 "XsuxYiiiZinhZmthZsymZxxxZyyyZzzz\xff\xff\xff\xff" 714 715 // suppressScript is an index from langID to the dominant script for that language, 716 // if it exists. If a script is given, it should be suppressed from the language tag. 717 // Size: 705 bytes, 705 elements 718 var suppressScript = [705]uint8{ 719 // Entry 0 - 3F 720 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 721 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 722 0x00, 0x26, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 723 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 724 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 725 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 726 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 727 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 728 // Entry 40 - 7F 729 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 730 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 731 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 732 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 733 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 734 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 735 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 736 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 737 // Entry 80 - BF 738 0x4f, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 739 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0xce, 740 0x00, 0x00, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 741 0x00, 0x2c, 0x4f, 0x4f, 0x4f, 0x00, 0x4f, 0x00, 742 0x4f, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x4f, 743 0x00, 0x00, 0x00, 0x4f, 0x4f, 0x00, 0x4f, 0x00, 744 0x00, 0x4f, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 745 0x4f, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 746 // Entry C0 - FF 747 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 748 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 749 0x00, 0x4f, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x4f, 750 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x1f, 751 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 752 0x00, 0x00, 0x00, 0x00, 0x4f, 0x4f, 0x00, 0x4f, 753 0x4f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 754 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 755 // Entry 100 - 13F 756 0x4f, 0x4f, 0x00, 0x35, 0x00, 0x3e, 0x00, 0x00, 757 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 758 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 759 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 760 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 761 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x4f, 0x00, 762 0x43, 0x00, 0x47, 0x48, 0x00, 0x1f, 0x00, 0x00, 763 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 764 // Entry 140 - 17F 765 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 766 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 767 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 768 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 769 0x00, 0x4f, 0x4c, 0x00, 0x00, 0x00, 0x4f, 0x00, 770 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 771 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 772 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 773 // Entry 180 - 1BF 774 0x4f, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 775 0x00, 0x1d, 0x60, 0x00, 0x00, 0x00, 0x00, 0x4f, 776 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x4f, 777 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 778 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00, 0x4f, 779 0x00, 0x00, 0x00, 0x4f, 0x00, 0x4f, 0x00, 0x4f, 780 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 781 0x00, 0x4f, 0x00, 0x4f, 0x00, 0x4f, 0x00, 0x00, 782 // Entry 1C0 - 1FF 783 0x00, 0x6b, 0x4f, 0x00, 0x4f, 0x00, 0x00, 0x00, 784 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x70, 785 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 786 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 787 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 788 0x00, 0x05, 0x4f, 0x00, 0x4f, 0x00, 0x00, 0x00, 789 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 790 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x4f, 0x00, 791 // Entry 200 - 23F 792 0x00, 0x00, 0x1d, 0x00, 0x00, 0x4f, 0x00, 0x00, 793 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 794 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 795 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 796 0x00, 0x00, 0x00, 0xbb, 0x00, 0x4f, 0x00, 0x4f, 797 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 798 0x00, 0x00, 0x4f, 0x00, 0x4f, 0x00, 0x00, 0x00, 799 0x00, 0x00, 0x4f, 0x00, 0x4f, 0x00, 0x00, 0x00, 800 // Entry 240 - 27F 801 0x00, 0x4f, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 802 0x00, 0x00, 0x00, 0xc7, 0x00, 0x00, 0x00, 0x00, 803 0x00, 0x00, 0xca, 0x4f, 0x00, 0x00, 0x00, 0xcf, 804 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x4f, 805 0x00, 0x00, 0x4f, 0x00, 0x4f, 0x4f, 0x4f, 0x00, 806 0x4f, 0x4f, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 807 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 808 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 809 // Entry 280 - 2BF 810 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 811 0x4f, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 812 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 813 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 814 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 815 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 816 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 817 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 818 // Entry 2C0 - 2FF 819 0x00, 820 } 821 822 const ( 823 _001 = 1 824 _419 = 30 825 _BR = 64 826 _CA = 72 827 _ES = 109 828 _GB = 121 829 _MD = 186 830 _PT = 236 831 _UK = 304 832 _US = 306 833 _ZZ = 354 834 _XA = 320 835 _XC = 322 836 _XK = 330 837 ) 838 839 // isoRegionOffset needs to be added to the index of regionISO to obtain the regionID 840 // for 2-letter ISO codes. (The first isoRegionOffset regionIDs are reserved for 841 // the UN.M49 codes used for groups.) 842 const isoRegionOffset = 31 843 844 // regionTypes defines the status of a region for various standards. 845 // Size: 355 bytes, 355 elements 846 var regionTypes = [355]uint8{ 847 // Entry 0 - 3F 848 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 849 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 850 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 851 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 852 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 853 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 854 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 855 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 856 // Entry 40 - 7F 857 0x06, 0x06, 0x06, 0x04, 0x06, 0x06, 0x06, 0x06, 858 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 859 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x04, 0x00, 860 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 861 0x04, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x04, 862 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 863 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x04, 864 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 865 // Entry 80 - BF 866 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 867 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 868 0x06, 0x00, 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 869 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 870 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 871 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 872 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 873 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 874 // Entry C0 - FF 875 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 876 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 877 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x06, 878 0x06, 0x06, 0x00, 0x06, 0x04, 0x06, 0x06, 0x06, 879 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 880 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x06, 881 0x00, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 882 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 883 // Entry 100 - 13F 884 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 885 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 886 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 887 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x06, 0x06, 888 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 889 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 890 0x02, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 891 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 892 // Entry 140 - 17F 893 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 894 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 895 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 896 0x05, 0x05, 0x04, 0x06, 0x06, 0x04, 0x06, 0x06, 897 0x04, 0x06, 0x05, 898 } 899 900 // regionISO holds a list of alphabetically sorted 2-letter ISO region codes. 901 // Each 2-letter codes is followed by two bytes with the following meaning: 902 // - [A-Z}{2}: the first letter of the 2-letter code plus these two 903 // letters form the 3-letter ISO code. 904 // - 0, n: index into altRegionISO3. 905 // Size: 1300 bytes 906 var regionISO tag.Index = "" + 907 "AAAAACSCADNDAEREAFFGAGTGAIIAALLBAMRMANNTAOGOAQTAARRGASSMATUTAUUSAWBWAXLA" + 908 "AZZEBAIHBBRBBDGDBEELBFFABGGRBHHRBIDIBJENBLLMBMMUBNRNBOOLBQESBRRABSHSBTTN" + 909 "BUURBVVTBWWABYLRBZLZCAANCCCKCDODCFAFCGOGCHHECIIVCKOKCLHLCMMRCNHNCOOLCPPT" + 910 "CRRICS\x00\x00CTTECUUBCVPVCWUWCXXRCYYPCZZEDDDRDEEUDGGADJJIDKNKDMMADOOMDY" + 911 "HYDZZAEA ECCUEESTEGGYEHSHERRIESSPETTHEU\x00\x03FIINFJJIFKLKFMSMFOROFQ" + 912 "\x00\x18FRRAFXXXGAABGBBRGDRDGEEOGFUFGGGYGHHAGIIBGLRLGMMBGNINGPLPGQNQGRRC" + 913 "GS\x00\x06GTTMGUUMGWNBGYUYHKKGHMMDHNNDHRRVHTTIHUUNHVVOIC IDDNIERLILSRIM" + 914 "MNINNDIOOTIQRQIRRNISSLITTAJEEYJMAMJOORJPPNJTTNKEENKGGZKHHMKIIRKM\x00\x09" + 915 "KNNAKP\x00\x0cKRORKWWTKY\x00\x0fKZAZLAAOLBBNLCCALIIELKKALRBRLSSOLTTULUUX" + 916 "LVVALYBYMAARMCCOMDDAMENEMFAFMGDGMHHLMIIDMKKDMLLIMMMRMNNGMOACMPNPMQTQMRRT" + 917 "MSSRMTLTMUUSMVDVMWWIMXEXMYYSMZOZNAAMNCCLNEERNFFKNGGANHHBNIICNLLDNOORNPPL" + 918 "NQ\x00\x1eNRRUNTTZNUIUNZZLOMMNPAANPCCIPEERPFYFPGNGPHHLPKAKPLOLPM\x00\x12" + 919 "PNCNPRRIPSSEPTRTPUUSPWLWPYRYPZCZQAATQMMMQNNNQOOOQPPPQQQQQRRRQSSSQTTTQU" + 920 "\x00\x03QVVVQWWWQXXXQYYYQZZZREEURHHOROOURS\x00\x15RUUSRWWASAAUSBLBSCYCSD" + 921 "DNSEWESGGPSHHNSIVNSJJMSKVKSLLESMMRSNENSOOMSRURSSSDSTTPSUUNSVLVSXXMSYYRSZ" + 922 "WZTAAATCCATDCDTF\x00\x18TGGOTHHATJJKTKKLTLLSTMKMTNUNTOONTPMPTRURTTTOTVUV" + 923 "TWWNTZZAUAKRUGGAUK UMMIUSSAUYRYUZZBVAATVCCTVDDRVEENVGGBVIIRVNNMVUUTWFLF" + 924 "WKAKWSSMXAAAXBBBXCCCXDDDXEEEXFFFXGGGXHHHXIIIXJJJXKKKXLLLXMMMXNNNXOOOXPPP" + 925 "XQQQXRRRXSSSXTTTXUUUXVVVXWWWXXXXXYYYXZZZYDMDYEEMYT\x00\x1bYUUGZAAFZMMBZR" + 926 "ARZWWEZZZZ\xff\xff\xff\xff" 927 928 // altRegionISO3 holds a list of 3-letter region codes that cannot be 929 // mapped to 2-letter codes using the default algorithm. This is a short list. 930 // Size: 33 bytes 931 var altRegionISO3 string = "SCGQUUSGSCOMPRKCYMSPMSRBATFMYTATN" 932 933 // altRegionIDs holds a list of regionIDs the positions of which match those 934 // of the 3-letter ISO codes in altRegionISO3. 935 // Size: 22 bytes, 11 elements 936 var altRegionIDs = [11]uint16{ 937 0x0056, 0x006f, 0x0086, 0x00a6, 0x00a8, 0x00ab, 0x00e8, 0x0103, 938 0x011f, 0x015c, 0x00da, 939 } 940 941 // Size: 80 bytes, 20 elements 942 var regionOldMap = [20]fromTo{ 943 {from: 0x43, to: 0xc2}, 944 {from: 0x57, to: 0xa5}, 945 {from: 0x5e, to: 0x5f}, 946 {from: 0x65, to: 0x3a}, 947 {from: 0x77, to: 0x76}, 948 {from: 0x91, to: 0x36}, 949 {from: 0xa1, to: 0x131}, 950 {from: 0xbf, to: 0x131}, 951 {from: 0xd5, to: 0x13c}, 952 {from: 0xda, to: 0x2a}, 953 {from: 0xed, to: 0x131}, 954 {from: 0xf0, to: 0xe0}, 955 {from: 0xfa, to: 0x6f}, 956 {from: 0x101, to: 0x161}, 957 {from: 0x128, to: 0x124}, 958 {from: 0x130, to: 0x79}, 959 {from: 0x137, to: 0x13b}, 960 {from: 0x13e, to: 0x131}, 961 {from: 0x15a, to: 0x15b}, 962 {from: 0x160, to: 0x4a}, 963 } 964 965 // m49 maps regionIDs to UN.M49 codes. The first isoRegionOffset entries are 966 // codes indicating collections of regions. 967 // Size: 710 bytes, 355 elements 968 var m49 = [355]int16{ 969 // Entry 0 - 3F 970 0, 1, 2, 3, 5, 9, 11, 13, 971 14, 15, 17, 18, 19, 21, 29, 30, 972 34, 35, 39, 53, 54, 57, 61, 142, 973 143, 145, 150, 151, 154, 155, 419, 958, 974 0, 20, 784, 4, 28, 660, 8, 51, 975 530, 24, 10, 32, 16, 40, 36, 533, 976 248, 31, 70, 52, 50, 56, 854, 100, 977 48, 108, 204, 652, 60, 96, 68, 535, 978 // Entry 40 - 7F 979 76, 44, 64, 104, 74, 72, 112, 84, 980 124, 166, 180, 140, 178, 756, 384, 184, 981 152, 120, 156, 170, 0, 188, 891, 296, 982 192, 132, 531, 162, 196, 203, 278, 276, 983 0, 262, 208, 212, 214, 204, 12, 0, 984 218, 233, 818, 732, 232, 724, 231, 967, 985 246, 242, 238, 583, 234, 0, 250, 249, 986 266, 826, 308, 268, 254, 831, 288, 292, 987 // Entry 80 - BF 988 304, 270, 324, 312, 226, 300, 239, 320, 989 316, 624, 328, 344, 334, 340, 191, 332, 990 348, 854, 0, 360, 372, 376, 833, 356, 991 86, 368, 364, 352, 380, 832, 388, 400, 992 392, 581, 404, 417, 116, 296, 174, 659, 993 408, 410, 414, 136, 398, 418, 422, 662, 994 438, 144, 430, 426, 440, 442, 428, 434, 995 504, 492, 498, 499, 663, 450, 584, 581, 996 // Entry C0 - FF 997 807, 466, 104, 496, 446, 580, 474, 478, 998 500, 470, 480, 462, 454, 484, 458, 508, 999 516, 540, 562, 574, 566, 548, 558, 528, 1000 578, 524, 10, 520, 536, 570, 554, 512, 1001 591, 0, 604, 258, 598, 608, 586, 616, 1002 666, 612, 630, 275, 620, 581, 585, 600, 1003 591, 634, 959, 960, 961, 962, 963, 964, 1004 965, 966, 967, 968, 969, 970, 971, 972, 1005 // Entry 100 - 13F 1006 638, 716, 642, 688, 643, 646, 682, 90, 1007 690, 729, 752, 702, 654, 705, 744, 703, 1008 694, 674, 686, 706, 740, 728, 678, 810, 1009 222, 534, 760, 748, 0, 796, 148, 260, 1010 768, 764, 762, 772, 626, 795, 788, 776, 1011 626, 792, 780, 798, 158, 834, 804, 800, 1012 826, 581, 840, 858, 860, 336, 670, 704, 1013 862, 92, 850, 704, 548, 876, 581, 882, 1014 // Entry 140 - 17F 1015 973, 974, 975, 976, 977, 978, 979, 980, 1016 981, 982, 983, 984, 985, 986, 987, 988, 1017 989, 990, 991, 992, 993, 994, 995, 996, 1018 997, 998, 720, 887, 175, 891, 710, 894, 1019 180, 716, 999, 1020 } 1021 1022 // m49Index gives indexes into fromM49 based on the three most significant bits 1023 // of a 10-bit UN.M49 code. To search an UN.M49 code in fromM49, search in 1024 // fromM49[m49Index[msb39(code)]:m49Index[msb3(code)+1]] 1025 // for an entry where the first 7 bits match the 7 lsb of the UN.M49 code. 1026 // The region code is stored in the 9 lsb of the indexed value. 1027 // Size: 18 bytes, 9 elements 1028 var m49Index = [9]int16{ 1029 0, 59, 107, 142, 180, 219, 258, 290, 1030 332, 1031 } 1032 1033 // fromM49 contains entries to map UN.M49 codes to regions. See m49Index for details. 1034 // Size: 664 bytes, 332 elements 1035 var fromM49 = [332]uint16{ 1036 // Entry 0 - 3F 1037 0x0201, 0x0402, 0x0603, 0x0823, 0x0a04, 0x1026, 0x1205, 0x142a, 1038 0x1606, 0x1866, 0x1a07, 0x1c08, 0x1e09, 0x202c, 0x220a, 0x240b, 1039 0x260c, 0x2821, 0x2a0d, 0x3029, 0x3824, 0x3a0e, 0x3c0f, 0x3e31, 1040 0x402b, 0x4410, 0x4611, 0x482e, 0x4e12, 0x502d, 0x5841, 0x6038, 1041 0x6434, 0x6627, 0x6833, 0x6a13, 0x6c14, 0x7035, 0x7215, 0x783c, 1042 0x7a16, 0x8042, 0x883e, 0x8c32, 0x9045, 0x9444, 0x9840, 0xa847, 1043 0xac98, 0xb507, 0xb939, 0xc03d, 0xc837, 0xd0c2, 0xd839, 0xe046, 1044 0xe8a4, 0xf051, 0xf848, 0x0859, 0x10ab, 0x184b, 0x1c17, 0x1e18, 1045 // Entry 40 - 7F 1046 0x20b1, 0x2219, 0x291e, 0x2c1a, 0x2e1b, 0x3050, 0x341c, 0x361d, 1047 0x3852, 0x3d2c, 0x445b, 0x4c49, 0x5453, 0x5ca6, 0x5f5c, 0x644c, 1048 0x684a, 0x704f, 0x7855, 0x7e8e, 0x8058, 0x885c, 0x965d, 0x983a, 1049 0xa062, 0xa863, 0xac64, 0xb468, 0xbd18, 0xc484, 0xcc6e, 0xce6e, 1050 0xd06c, 0xd269, 0xd474, 0xdc72, 0xde86, 0xe471, 0xec70, 0xf030, 1051 0xf277, 0xf476, 0xfc7c, 0x04e3, 0x091f, 0x0c61, 0x1478, 0x187b, 1052 0x1c81, 0x26eb, 0x285f, 0x2c5e, 0x305f, 0x407e, 0x487f, 0x50a5, 1053 0x5885, 0x6080, 0x687a, 0x7083, 0x7888, 0x8087, 0x8882, 0x908a, 1054 // Entry 80 - BF 1055 0x988f, 0x9c8c, 0xa135, 0xa88d, 0xb08b, 0xb890, 0xc09b, 0xc897, 1056 0xd093, 0xd89a, 0xe099, 0xe894, 0xf095, 0xf89c, 0x004e, 0x089e, 1057 0x10a0, 0x1cac, 0x209f, 0x28a2, 0x30a8, 0x34a9, 0x3caa, 0x42a3, 1058 0x44ad, 0x461e, 0x4cae, 0x54b3, 0x58b6, 0x5cb2, 0x64b7, 0x6cb0, 1059 0x70b4, 0x74b5, 0x7cc4, 0x84bd, 0x8ccc, 0x94ce, 0x9ccb, 0xa4c1, 1060 0xacc9, 0xb4c6, 0xbcc7, 0xc0ca, 0xc8cd, 0xd8b9, 0xe0c3, 0xe4ba, 1061 0xe6bb, 0xe8c8, 0xf0b8, 0xf8cf, 0x00df, 0x08d0, 0x10db, 0x18d9, 1062 0x20d7, 0x2428, 0x265a, 0x2a2f, 0x2d19, 0x2e3f, 0x30dc, 0x38d1, 1063 // Entry C0 - FF 1064 0x493c, 0x54de, 0x5cd6, 0x64d2, 0x6cd4, 0x74dd, 0x7cd3, 0x84d8, 1065 0x88c5, 0x8b31, 0x8e73, 0x90be, 0x92ee, 0x94e6, 0x9ee0, 0xace4, 1066 0xb0ef, 0xb8e2, 0xc0e5, 0xc8e9, 0xd0e7, 0xd8ec, 0xe089, 0xe524, 1067 0xecea, 0xf4f1, 0xfd00, 0x0502, 0x0704, 0x0d05, 0x183b, 0x1d0c, 1068 0x26a7, 0x2825, 0x2caf, 0x2ebc, 0x34e8, 0x3d36, 0x4511, 0x4d16, 1069 0x5506, 0x5d12, 0x6103, 0x6508, 0x6d10, 0x7d0b, 0x7f0f, 0x813b, 1070 0x830d, 0x8513, 0x8d5e, 0x9961, 0xa15a, 0xa86d, 0xb115, 0xb309, 1071 0xb86b, 0xc109, 0xc914, 0xd10e, 0xd91b, 0xe10a, 0xe84d, 0xf11a, 1072 // Entry 100 - 13F 1073 0xf522, 0xf921, 0x0120, 0x0923, 0x1127, 0x192a, 0x2022, 0x2926, 1074 0x3129, 0x3725, 0x391d, 0x3d2b, 0x412f, 0x492e, 0x4ec0, 0x5517, 1075 0x646a, 0x7479, 0x7e7d, 0x809d, 0x8296, 0x852d, 0x9132, 0xa53a, 1076 0xac36, 0xb533, 0xb934, 0xbd38, 0xd93d, 0xe53f, 0xed5b, 0xef5b, 1077 0xf656, 0xfd5f, 0x7c1f, 0x7ef2, 0x80f3, 0x82f4, 0x84f5, 0x86f6, 1078 0x88f7, 0x8af8, 0x8cf9, 0x8e6f, 0x90fb, 0x92fc, 0x94fd, 0x96fe, 1079 0x98ff, 0x9b40, 0x9d41, 0x9f42, 0xa143, 0xa344, 0xa545, 0xa746, 1080 0xa947, 0xab48, 0xad49, 0xaf4a, 0xb14b, 0xb34c, 0xb54d, 0xb74e, 1081 // Entry 140 - 17F 1082 0xb94f, 0xbb50, 0xbd51, 0xbf52, 0xc153, 0xc354, 0xc555, 0xc756, 1083 0xc957, 0xcb58, 0xcd59, 0xcf62, 1084 } 1085 1086 // Size: 1311 bytes 1087 var variantIndex = map[string]uint8{ 1088 "1606nict": 0x0, 1089 "1694acad": 0x1, 1090 "1901": 0x2, 1091 "1959acad": 0x3, 1092 "1994": 0x3f, 1093 "1996": 0x4, 1094 "alalc97": 0x41, 1095 "aluku": 0x5, 1096 "arevela": 0x6, 1097 "arevmda": 0x7, 1098 "baku1926": 0x8, 1099 "balanka": 0x9, 1100 "barla": 0xa, 1101 "bauddha": 0xb, 1102 "biscayan": 0xc, 1103 "biske": 0x3a, 1104 "bohoric": 0xd, 1105 "boont": 0xe, 1106 "dajnko": 0xf, 1107 "ekavsk": 0x10, 1108 "emodeng": 0x11, 1109 "fonipa": 0x42, 1110 "fonupa": 0x43, 1111 "fonxsamp": 0x44, 1112 "hepburn": 0x12, 1113 "heploc": 0x40, 1114 "hognorsk": 0x13, 1115 "ijekavsk": 0x14, 1116 "itihasa": 0x15, 1117 "jauer": 0x16, 1118 "jyutping": 0x17, 1119 "kkcor": 0x18, 1120 "kociewie": 0x19, 1121 "kscor": 0x1a, 1122 "laukika": 0x1b, 1123 "lipaw": 0x3b, 1124 "luna1918": 0x1c, 1125 "metelko": 0x1d, 1126 "monoton": 0x1e, 1127 "ndyuka": 0x1f, 1128 "nedis": 0x20, 1129 "njiva": 0x3c, 1130 "nulik": 0x21, 1131 "osojs": 0x3d, 1132 "oxendict": 0x22, 1133 "pamaka": 0x23, 1134 "petr1708": 0x24, 1135 "pinyin": 0x25, 1136 "polyton": 0x26, 1137 "puter": 0x27, 1138 "rigik": 0x28, 1139 "rozaj": 0x29, 1140 "rumgr": 0x2a, 1141 "scotland": 0x2b, 1142 "scouse": 0x2c, 1143 "solba": 0x3e, 1144 "sotav": 0x2d, 1145 "surmiran": 0x2e, 1146 "sursilv": 0x2f, 1147 "sutsilv": 0x30, 1148 "tarask": 0x31, 1149 "uccor": 0x32, 1150 "ucrcor": 0x33, 1151 "ulster": 0x34, 1152 "unifon": 0x35, 1153 "vaidika": 0x36, 1154 "valencia": 0x37, 1155 "vallader": 0x38, 1156 "wadegile": 0x39, 1157 } 1158 1159 // variantNumSpecialized is the number of specialized variants in variants. 1160 const variantNumSpecialized = 65 1161 1162 // nRegionGroups is the number of region groups. 1163 const nRegionGroups = 32 1164 1165 type likelyLangRegion struct { 1166 lang uint16 1167 region uint16 1168 } 1169 1170 // likelyScript is a lookup table, indexed by scriptID, for the most likely 1171 // languages and regions given a script. 1172 // Size: 900 bytes, 225 elements 1173 var likelyScript = [225]likelyLangRegion{ 1174 {lang: 0x0, region: 0x0}, 1175 {lang: 0x0, region: 0x0}, 1176 {lang: 0x0, region: 0x0}, 1177 {lang: 0x156, region: 0x104}, 1178 {lang: 0xc, region: 0x97}, 1179 {lang: 0x15, region: 0x6a}, 1180 {lang: 0x0, region: 0x0}, 1181 {lang: 0x16, region: 0x9a}, 1182 {lang: 0xf1, region: 0x27}, 1183 {lang: 0x8, region: 0x9a}, 1184 {lang: 0x27, region: 0x93}, 1185 {lang: 0x2b, region: 0x51}, 1186 {lang: 0x55, region: 0xb2}, 1187 {lang: 0x2c, region: 0x93}, 1188 {lang: 0x4b, region: 0x34}, 1189 {lang: 0x0, region: 0x0}, 1190 {lang: 0x2bc, region: 0x12c}, 1191 {lang: 0x1e0, region: 0x97}, 1192 {lang: 0xae, region: 0x76}, 1193 {lang: 0x5b, region: 0x93}, 1194 {lang: 0x47, region: 0xe5}, 1195 {lang: 0x63, region: 0x34}, 1196 {lang: 0x73, region: 0x48}, 1197 {lang: 0x2a1, region: 0x129}, 1198 {lang: 0x6e, region: 0x13b}, 1199 {lang: 0x6c, region: 0x132}, 1200 {lang: 0x0, region: 0x0}, 1201 {lang: 0x71, region: 0x6a}, 1202 {lang: 0xcf, region: 0x5c}, 1203 {lang: 0x202, region: 0x104}, 1204 {lang: 0x0, region: 0x0}, 1205 {lang: 0xdf, region: 0x97}, 1206 {lang: 0x0, region: 0x0}, 1207 {lang: 0xae, region: 0x76}, 1208 {lang: 0x0, region: 0x0}, 1209 {lang: 0x0, region: 0x0}, 1210 {lang: 0x97, region: 0x6a}, 1211 {lang: 0x234, region: 0x26}, 1212 {lang: 0x11, region: 0x6e}, 1213 {lang: 0x0, region: 0x0}, 1214 {lang: 0x10e, region: 0x7b}, 1215 {lang: 0x7d, region: 0x37}, 1216 {lang: 0xce, region: 0x12e}, 1217 {lang: 0x208, region: 0x97}, 1218 {lang: 0x99, region: 0x85}, 1219 {lang: 0xd2, region: 0x97}, 1220 {lang: 0x1d2, region: 0x97}, 1221 {lang: 0x133, region: 0xa9}, 1222 {lang: 0x2bc, region: 0x52}, 1223 {lang: 0xe7, region: 0xe5}, 1224 {lang: 0x2bc, region: 0x52}, 1225 {lang: 0x2bc, region: 0x12c}, 1226 {lang: 0x188, region: 0x99}, 1227 {lang: 0xde, region: 0x95}, 1228 {lang: 0x105, region: 0xa0}, 1229 {lang: 0xe2, region: 0x129}, 1230 {lang: 0xe6, region: 0xad}, 1231 {lang: 0x0, region: 0x0}, 1232 {lang: 0xf0, region: 0x90}, 1233 {lang: 0x0, region: 0x0}, 1234 {lang: 0x9f, region: 0x9c}, 1235 {lang: 0x10c, region: 0x93}, 1236 {lang: 0x105, region: 0xa0}, 1237 {lang: 0x0, region: 0x0}, 1238 {lang: 0x98, region: 0xc2}, 1239 {lang: 0x105, region: 0xa0}, 1240 {lang: 0x1e6, region: 0xe6}, 1241 {lang: 0x130, region: 0xa4}, 1242 {lang: 0x215, region: 0x97}, 1243 {lang: 0x0, region: 0x0}, 1244 {lang: 0x0, region: 0x0}, 1245 {lang: 0x132, region: 0x97}, 1246 {lang: 0x133, region: 0xa9}, 1247 {lang: 0x0, region: 0x0}, 1248 {lang: 0x3c, region: 0x97}, 1249 {lang: 0x1be, region: 0x121}, 1250 {lang: 0x162, region: 0xad}, 1251 {lang: 0x0, region: 0x0}, 1252 {lang: 0x0, region: 0x0}, 1253 {lang: 0x0, region: 0x0}, 1254 {lang: 0x155, region: 0x97}, 1255 {lang: 0x159, region: 0x97}, 1256 {lang: 0x14c, region: 0x85}, 1257 {lang: 0xcf, region: 0x85}, 1258 {lang: 0x15b, region: 0x52}, 1259 {lang: 0x0, region: 0x0}, 1260 {lang: 0x2a3, region: 0x129}, 1261 {lang: 0x2a4, region: 0x129}, 1262 {lang: 0xdf, region: 0x97}, 1263 {lang: 0x1a5, region: 0x9a}, 1264 {lang: 0x2a6, region: 0x52}, 1265 {lang: 0x0, region: 0x0}, 1266 {lang: 0x0, region: 0x0}, 1267 {lang: 0x17c, region: 0x110}, 1268 {lang: 0x2a7, region: 0x109}, 1269 {lang: 0x2a7, region: 0x109}, 1270 {lang: 0x18a, region: 0x97}, 1271 {lang: 0x193, region: 0x97}, 1272 {lang: 0x18c, region: 0x52}, 1273 {lang: 0x0, region: 0x0}, 1274 {lang: 0x196, region: 0x34}, 1275 {lang: 0x18d, region: 0x97}, 1276 {lang: 0x226, region: 0xe6}, 1277 {lang: 0x1a2, region: 0xc2}, 1278 {lang: 0x2a8, region: 0x106}, 1279 {lang: 0x16, region: 0x9f}, 1280 {lang: 0x0, region: 0x0}, 1281 {lang: 0x176, region: 0x82}, 1282 {lang: 0x0, region: 0x0}, 1283 {lang: 0x21e, region: 0x94}, 1284 {lang: 0x20d, region: 0x97}, 1285 {lang: 0x1d1, region: 0xc3}, 1286 {lang: 0x1cf, region: 0x97}, 1287 {lang: 0x0, region: 0x0}, 1288 {lang: 0x232, region: 0x113}, 1289 {lang: 0x16, region: 0x11a}, 1290 {lang: 0x7c, region: 0xc2}, 1291 {lang: 0x144, region: 0x104}, 1292 {lang: 0x16f, region: 0x52}, 1293 {lang: 0x1d4, region: 0x9a}, 1294 {lang: 0x1d4, region: 0x52}, 1295 {lang: 0x0, region: 0x0}, 1296 {lang: 0x1de, region: 0xae}, 1297 {lang: 0xe3, region: 0x52}, 1298 {lang: 0x2ab, region: 0x9a}, 1299 {lang: 0x0, region: 0x0}, 1300 {lang: 0x0, region: 0x0}, 1301 {lang: 0x0, region: 0x0}, 1302 {lang: 0x0, region: 0x0}, 1303 {lang: 0x0, region: 0x0}, 1304 {lang: 0x0, region: 0x0}, 1305 {lang: 0x0, region: 0x0}, 1306 {lang: 0x0, region: 0x0}, 1307 {lang: 0x0, region: 0x0}, 1308 {lang: 0x0, region: 0x0}, 1309 {lang: 0x0, region: 0x0}, 1310 {lang: 0x0, region: 0x0}, 1311 {lang: 0x0, region: 0x0}, 1312 {lang: 0x0, region: 0x0}, 1313 {lang: 0x0, region: 0x0}, 1314 {lang: 0x0, region: 0x0}, 1315 {lang: 0x0, region: 0x0}, 1316 {lang: 0x0, region: 0x0}, 1317 {lang: 0x0, region: 0x0}, 1318 {lang: 0x0, region: 0x0}, 1319 {lang: 0x0, region: 0x0}, 1320 {lang: 0x0, region: 0x0}, 1321 {lang: 0x0, region: 0x0}, 1322 {lang: 0x0, region: 0x0}, 1323 {lang: 0x0, region: 0x0}, 1324 {lang: 0x0, region: 0x0}, 1325 {lang: 0x0, region: 0x0}, 1326 {lang: 0x0, region: 0x0}, 1327 {lang: 0x0, region: 0x0}, 1328 {lang: 0x0, region: 0x0}, 1329 {lang: 0x0, region: 0x0}, 1330 {lang: 0x0, region: 0x0}, 1331 {lang: 0x0, region: 0x0}, 1332 {lang: 0x0, region: 0x0}, 1333 {lang: 0x0, region: 0x0}, 1334 {lang: 0x0, region: 0x0}, 1335 {lang: 0x0, region: 0x0}, 1336 {lang: 0x0, region: 0x0}, 1337 {lang: 0x0, region: 0x0}, 1338 {lang: 0x0, region: 0x0}, 1339 {lang: 0x0, region: 0x0}, 1340 {lang: 0x0, region: 0x0}, 1341 {lang: 0x0, region: 0x0}, 1342 {lang: 0x0, region: 0x0}, 1343 {lang: 0x0, region: 0x0}, 1344 {lang: 0x0, region: 0x0}, 1345 {lang: 0x0, region: 0x0}, 1346 {lang: 0x0, region: 0x0}, 1347 {lang: 0x0, region: 0x0}, 1348 {lang: 0x0, region: 0x0}, 1349 {lang: 0x1f1, region: 0x93}, 1350 {lang: 0x0, region: 0x0}, 1351 {lang: 0x1c0, region: 0x10a}, 1352 {lang: 0x22e, region: 0x95}, 1353 {lang: 0x0, region: 0x0}, 1354 {lang: 0x2ac, region: 0x15b}, 1355 {lang: 0x20e, region: 0x97}, 1356 {lang: 0x1e, region: 0x132}, 1357 {lang: 0x9a, region: 0x79}, 1358 {lang: 0x208, region: 0x97}, 1359 {lang: 0x208, region: 0x97}, 1360 {lang: 0x215, region: 0x97}, 1361 {lang: 0x223, region: 0xb1}, 1362 {lang: 0x236, region: 0x97}, 1363 {lang: 0x23e, region: 0x93}, 1364 {lang: 0x248, region: 0x34}, 1365 {lang: 0x249, region: 0x99}, 1366 {lang: 0x0, region: 0x0}, 1367 {lang: 0x0, region: 0x0}, 1368 {lang: 0x0, region: 0x0}, 1369 {lang: 0x24d, region: 0xe5}, 1370 {lang: 0x8a, region: 0x97}, 1371 {lang: 0x24f, region: 0x52}, 1372 {lang: 0x123, region: 0x52}, 1373 {lang: 0x24b, region: 0x97}, 1374 {lang: 0x0, region: 0x0}, 1375 {lang: 0x48, region: 0x13b}, 1376 {lang: 0x252, region: 0x97}, 1377 {lang: 0x0, region: 0x0}, 1378 {lang: 0x2bb, region: 0xb8}, 1379 {lang: 0xa9, region: 0xe5}, 1380 {lang: 0x8f, region: 0xcb}, 1381 {lang: 0x257, region: 0x121}, 1382 {lang: 0x4c, region: 0x52}, 1383 {lang: 0x174, region: 0x97}, 1384 {lang: 0x27e, region: 0x11a}, 1385 {lang: 0x287, region: 0xb2}, 1386 {lang: 0x0, region: 0x0}, 1387 {lang: 0xea, region: 0x97}, 1388 {lang: 0x0, region: 0x0}, 1389 {lang: 0x1dc, region: 0x9a}, 1390 {lang: 0xe, region: 0x99}, 1391 {lang: 0xf9, region: 0x52}, 1392 {lang: 0x0, region: 0x0}, 1393 {lang: 0x0, region: 0x0}, 1394 {lang: 0x0, region: 0x0}, 1395 {lang: 0x0, region: 0x0}, 1396 {lang: 0x0, region: 0x0}, 1397 {lang: 0x0, region: 0x0}, 1398 {lang: 0x0, region: 0x0}, 1399 } 1400 1401 type likelyScriptRegion struct { 1402 region uint16 1403 script uint8 1404 flags uint8 1405 } 1406 1407 // likelyLang is a lookup table, indexed by langID, for the most likely 1408 // scripts and regions given incomplete information. If more entries exist for a 1409 // given language, region and script are the index and size respectively 1410 // of the list in likelyLangList. 1411 // Size: 2820 bytes, 705 elements 1412 var likelyLang = [705]likelyScriptRegion{ 1413 {region: 0x132, script: 0x4f, flags: 0x0}, 1414 {region: 0x6e, script: 0x4f, flags: 0x0}, 1415 {region: 0x7b, script: 0x1d, flags: 0x0}, 1416 {region: 0x7e, script: 0x4f, flags: 0x0}, 1417 {region: 0x93, script: 0x4f, flags: 0x0}, 1418 {region: 0x12f, script: 0x4f, flags: 0x0}, 1419 {region: 0x7e, script: 0x4f, flags: 0x0}, 1420 {region: 0x104, script: 0x1d, flags: 0x0}, 1421 {region: 0x9a, script: 0x9, flags: 0x0}, 1422 {region: 0x126, script: 0x5, flags: 0x0}, 1423 {region: 0x15e, script: 0x4f, flags: 0x0}, 1424 {region: 0x51, script: 0x4f, flags: 0x0}, 1425 {region: 0x97, script: 0x4, flags: 0x0}, 1426 {region: 0x7e, script: 0x4f, flags: 0x0}, 1427 {region: 0x99, script: 0xd8, flags: 0x0}, 1428 {region: 0x14a, script: 0x4f, flags: 0x0}, 1429 {region: 0x104, script: 0x1d, flags: 0x0}, 1430 {region: 0x6e, script: 0x26, flags: 0x0}, 1431 {region: 0xd4, script: 0x4f, flags: 0x0}, 1432 {region: 0x0, script: 0x0, flags: 0x0}, 1433 {region: 0x93, script: 0x4f, flags: 0x0}, 1434 {region: 0x6a, script: 0x5, flags: 0x0}, 1435 {region: 0x0, script: 0x3, flags: 0x1}, 1436 {region: 0x50, script: 0x4f, flags: 0x0}, 1437 {region: 0x3e, script: 0x4f, flags: 0x0}, 1438 {region: 0x66, script: 0x5, flags: 0x0}, 1439 {region: 0xb8, script: 0x5, flags: 0x0}, 1440 {region: 0x6a, script: 0x5, flags: 0x0}, 1441 {region: 0x97, script: 0xe, flags: 0x0}, 1442 {region: 0x12d, script: 0x4f, flags: 0x0}, 1443 {region: 0x132, script: 0xb6, flags: 0x0}, 1444 {region: 0x6d, script: 0x4f, flags: 0x0}, 1445 {region: 0x48, script: 0x4f, flags: 0x0}, 1446 {region: 0x104, script: 0x1d, flags: 0x0}, 1447 {region: 0x97, script: 0x1f, flags: 0x0}, 1448 {region: 0x3e, script: 0x4f, flags: 0x0}, 1449 {region: 0x3, script: 0x5, flags: 0x1}, 1450 {region: 0x104, script: 0x1d, flags: 0x0}, 1451 {region: 0xe6, script: 0x5, flags: 0x0}, 1452 {region: 0x93, script: 0x4f, flags: 0x0}, 1453 {region: 0xd9, script: 0x1f, flags: 0x0}, 1454 {region: 0x2d, script: 0x4f, flags: 0x0}, 1455 {region: 0x51, script: 0x4f, flags: 0x0}, 1456 {region: 0x51, script: 0xb, flags: 0x0}, 1457 {region: 0x93, script: 0x4f, flags: 0x0}, 1458 {region: 0x51, script: 0x4f, flags: 0x0}, 1459 {region: 0x4e, script: 0x4f, flags: 0x0}, 1460 {region: 0x46, script: 0x1d, flags: 0x0}, 1461 {region: 0x109, script: 0x5, flags: 0x0}, 1462 {region: 0x15f, script: 0x4f, flags: 0x0}, 1463 {region: 0x93, script: 0x4f, flags: 0x0}, 1464 {region: 0x12d, script: 0x4f, flags: 0x0}, 1465 {region: 0x51, script: 0x4f, flags: 0x0}, 1466 {region: 0x97, script: 0xc7, flags: 0x0}, 1467 {region: 0xe6, script: 0x5, flags: 0x0}, 1468 {region: 0x97, script: 0x1f, flags: 0x0}, 1469 {region: 0x37, script: 0x1d, flags: 0x0}, 1470 {region: 0x97, script: 0x1f, flags: 0x0}, 1471 {region: 0xe6, script: 0x5, flags: 0x0}, 1472 {region: 0x129, script: 0x2c, flags: 0x0}, 1473 {region: 0x97, script: 0x4a, flags: 0x0}, 1474 {region: 0x97, script: 0x1f, flags: 0x0}, 1475 {region: 0x97, script: 0x1f, flags: 0x0}, 1476 {region: 0xe5, script: 0x4f, flags: 0x0}, 1477 {region: 0x97, script: 0x1f, flags: 0x0}, 1478 {region: 0x13c, script: 0x4f, flags: 0x0}, 1479 {region: 0xe5, script: 0x4f, flags: 0x0}, 1480 {region: 0xd4, script: 0x4f, flags: 0x0}, 1481 {region: 0x97, script: 0x1f, flags: 0x0}, 1482 {region: 0x93, script: 0x4f, flags: 0x0}, 1483 {region: 0x51, script: 0x4f, flags: 0x0}, 1484 {region: 0xe5, script: 0x4f, flags: 0x0}, 1485 {region: 0x13b, script: 0xc9, flags: 0x0}, 1486 {region: 0xc1, script: 0x4f, flags: 0x0}, 1487 {region: 0xc1, script: 0x4f, flags: 0x0}, 1488 {region: 0x34, script: 0xe, flags: 0x0}, 1489 {region: 0x52, script: 0xd0, flags: 0x0}, 1490 {region: 0x97, script: 0xe, flags: 0x0}, 1491 {region: 0x9a, script: 0x5, flags: 0x0}, 1492 {region: 0x4e, script: 0x4f, flags: 0x0}, 1493 {region: 0x76, script: 0x4f, flags: 0x0}, 1494 {region: 0x97, script: 0x1f, flags: 0x0}, 1495 {region: 0xe6, script: 0x5, flags: 0x0}, 1496 {region: 0x97, script: 0x1f, flags: 0x0}, 1497 {region: 0x32, script: 0x4f, flags: 0x0}, 1498 {region: 0xb2, script: 0xc, flags: 0x0}, 1499 {region: 0x51, script: 0x4f, flags: 0x0}, 1500 {region: 0xe5, script: 0x4f, flags: 0x0}, 1501 {region: 0xe6, script: 0x1f, flags: 0x0}, 1502 {region: 0x104, script: 0x1d, flags: 0x0}, 1503 {region: 0x15c, script: 0x4f, flags: 0x0}, 1504 {region: 0x93, script: 0x4f, flags: 0x0}, 1505 {region: 0x51, script: 0x4f, flags: 0x0}, 1506 {region: 0x84, script: 0x4f, flags: 0x0}, 1507 {region: 0x6c, script: 0x26, flags: 0x0}, 1508 {region: 0x51, script: 0x4f, flags: 0x0}, 1509 {region: 0xc1, script: 0x4f, flags: 0x0}, 1510 {region: 0x6d, script: 0x4f, flags: 0x0}, 1511 {region: 0xd4, script: 0x4f, flags: 0x0}, 1512 {region: 0x8, script: 0x2, flags: 0x1}, 1513 {region: 0x104, script: 0x1d, flags: 0x0}, 1514 {region: 0xe5, script: 0x4f, flags: 0x0}, 1515 {region: 0x12f, script: 0x4f, flags: 0x0}, 1516 {region: 0x88, script: 0x4f, flags: 0x0}, 1517 {region: 0x73, script: 0x4f, flags: 0x0}, 1518 {region: 0x104, script: 0x1d, flags: 0x0}, 1519 {region: 0x132, script: 0x4f, flags: 0x0}, 1520 {region: 0x48, script: 0x4f, flags: 0x0}, 1521 {region: 0x132, script: 0x19, flags: 0x0}, 1522 {region: 0xa4, script: 0x5, flags: 0x0}, 1523 {region: 0x13b, script: 0x18, flags: 0x0}, 1524 {region: 0x99, script: 0x5, flags: 0x0}, 1525 {region: 0x76, script: 0x4f, flags: 0x0}, 1526 {region: 0x6a, script: 0x1b, flags: 0x0}, 1527 {region: 0xe5, script: 0x4f, flags: 0x0}, 1528 {region: 0x48, script: 0x16, flags: 0x0}, 1529 {region: 0x48, script: 0x16, flags: 0x0}, 1530 {region: 0x48, script: 0x16, flags: 0x0}, 1531 {region: 0x48, script: 0x16, flags: 0x0}, 1532 {region: 0x48, script: 0x16, flags: 0x0}, 1533 {region: 0x108, script: 0x4f, flags: 0x0}, 1534 {region: 0x5d, script: 0x4f, flags: 0x0}, 1535 {region: 0xe7, script: 0x4f, flags: 0x0}, 1536 {region: 0x48, script: 0x16, flags: 0x0}, 1537 {region: 0xc2, script: 0x74, flags: 0x0}, 1538 {region: 0xa, script: 0x2, flags: 0x1}, 1539 {region: 0x104, script: 0x1d, flags: 0x0}, 1540 {region: 0x79, script: 0x4f, flags: 0x0}, 1541 {region: 0x62, script: 0x4f, flags: 0x0}, 1542 {region: 0x132, script: 0x4f, flags: 0x0}, 1543 {region: 0x104, script: 0x1d, flags: 0x0}, 1544 {region: 0xa2, script: 0x4f, flags: 0x0}, 1545 {region: 0x97, script: 0x5, flags: 0x0}, 1546 {region: 0x5f, script: 0x4f, flags: 0x0}, 1547 {region: 0x48, script: 0x4f, flags: 0x0}, 1548 {region: 0x48, script: 0x4f, flags: 0x0}, 1549 {region: 0xd2, script: 0x4f, flags: 0x0}, 1550 {region: 0x4e, script: 0x4f, flags: 0x0}, 1551 {region: 0x97, script: 0x5, flags: 0x0}, 1552 {region: 0x5f, script: 0x4f, flags: 0x0}, 1553 {region: 0xc1, script: 0x4f, flags: 0x0}, 1554 {region: 0xce, script: 0x4f, flags: 0x0}, 1555 {region: 0x51, script: 0x4f, flags: 0x0}, 1556 {region: 0xcb, script: 0xce, flags: 0x0}, 1557 {region: 0x112, script: 0x4f, flags: 0x0}, 1558 {region: 0x36, script: 0x4f, flags: 0x0}, 1559 {region: 0x42, script: 0xd0, flags: 0x0}, 1560 {region: 0xa2, script: 0x4f, flags: 0x0}, 1561 {region: 0x7e, script: 0x4f, flags: 0x0}, 1562 {region: 0xd4, script: 0x4f, flags: 0x0}, 1563 {region: 0x9c, script: 0x4f, flags: 0x0}, 1564 {region: 0x6a, script: 0x24, flags: 0x0}, 1565 {region: 0xc2, script: 0x40, flags: 0x0}, 1566 {region: 0x85, script: 0x2c, flags: 0x0}, 1567 {region: 0xc, script: 0x2, flags: 0x1}, 1568 {region: 0x1, script: 0x4f, flags: 0x0}, 1569 {region: 0x6d, script: 0x4f, flags: 0x0}, 1570 {region: 0x132, script: 0x4f, flags: 0x0}, 1571 {region: 0x69, script: 0x4f, flags: 0x0}, 1572 {region: 0x9c, script: 0x3c, flags: 0x0}, 1573 {region: 0x6d, script: 0x4f, flags: 0x0}, 1574 {region: 0x51, script: 0x4f, flags: 0x0}, 1575 {region: 0x6d, script: 0x4f, flags: 0x0}, 1576 {region: 0x9a, script: 0x5, flags: 0x0}, 1577 {region: 0x84, script: 0x4f, flags: 0x0}, 1578 {region: 0x112, script: 0x4f, flags: 0x0}, 1579 {region: 0xc1, script: 0x4f, flags: 0x0}, 1580 {region: 0x70, script: 0x4f, flags: 0x0}, 1581 {region: 0x109, script: 0x5, flags: 0x0}, 1582 {region: 0xe5, script: 0x4f, flags: 0x0}, 1583 {region: 0x10a, script: 0x4f, flags: 0x0}, 1584 {region: 0x71, script: 0x4f, flags: 0x0}, 1585 {region: 0x74, script: 0x4f, flags: 0x0}, 1586 {region: 0x3a, script: 0x4f, flags: 0x0}, 1587 {region: 0x76, script: 0x4f, flags: 0x0}, 1588 {region: 0x132, script: 0x4f, flags: 0x0}, 1589 {region: 0x76, script: 0x4f, flags: 0x0}, 1590 {region: 0x5f, script: 0x4f, flags: 0x0}, 1591 {region: 0x5f, script: 0x4f, flags: 0x0}, 1592 {region: 0x13d, script: 0x4f, flags: 0x0}, 1593 {region: 0xd2, script: 0x4f, flags: 0x0}, 1594 {region: 0x9c, script: 0x4f, flags: 0x0}, 1595 {region: 0xd4, script: 0x4f, flags: 0x0}, 1596 {region: 0x109, script: 0x4f, flags: 0x0}, 1597 {region: 0xd7, script: 0x4f, flags: 0x0}, 1598 {region: 0x94, script: 0x4f, flags: 0x0}, 1599 {region: 0x7e, script: 0x4f, flags: 0x0}, 1600 {region: 0xba, script: 0x4f, flags: 0x0}, 1601 {region: 0x52, script: 0x32, flags: 0x0}, 1602 {region: 0x93, script: 0x4f, flags: 0x0}, 1603 {region: 0x97, script: 0x1f, flags: 0x0}, 1604 {region: 0x9a, script: 0x5, flags: 0x0}, 1605 {region: 0x7c, script: 0x4f, flags: 0x0}, 1606 {region: 0x79, script: 0x4f, flags: 0x0}, 1607 {region: 0x6e, script: 0x26, flags: 0x0}, 1608 {region: 0xd9, script: 0x1f, flags: 0x0}, 1609 {region: 0xa5, script: 0x4f, flags: 0x0}, 1610 {region: 0xe6, script: 0x5, flags: 0x0}, 1611 {region: 0xe6, script: 0x5, flags: 0x0}, 1612 {region: 0x6d, script: 0x4f, flags: 0x0}, 1613 {region: 0x9a, script: 0x5, flags: 0x0}, 1614 {region: 0xef, script: 0x4f, flags: 0x0}, 1615 {region: 0x97, script: 0x1f, flags: 0x0}, 1616 {region: 0x97, script: 0xca, flags: 0x0}, 1617 {region: 0x93, script: 0x4f, flags: 0x0}, 1618 {region: 0xd7, script: 0x4f, flags: 0x0}, 1619 {region: 0x12e, script: 0x2a, flags: 0x0}, 1620 {region: 0xe, script: 0x2, flags: 0x1}, 1621 {region: 0x97, script: 0xe, flags: 0x0}, 1622 {region: 0x4d, script: 0x4f, flags: 0x0}, 1623 {region: 0x97, script: 0x2d, flags: 0x0}, 1624 {region: 0x40, script: 0x4f, flags: 0x0}, 1625 {region: 0x53, script: 0x4f, flags: 0x0}, 1626 {region: 0x7e, script: 0x4f, flags: 0x0}, 1627 {region: 0xa2, script: 0x4f, flags: 0x0}, 1628 {region: 0x96, script: 0x4f, flags: 0x0}, 1629 {region: 0xd9, script: 0x1f, flags: 0x0}, 1630 {region: 0x48, script: 0x4f, flags: 0x0}, 1631 {region: 0x10, script: 0x3, flags: 0x1}, 1632 {region: 0x52, script: 0x32, flags: 0x0}, 1633 {region: 0x132, script: 0x4f, flags: 0x0}, 1634 {region: 0x23, script: 0x5, flags: 0x0}, 1635 {region: 0x95, script: 0x35, flags: 0x0}, 1636 {region: 0x97, script: 0x1f, flags: 0x0}, 1637 {region: 0x71, script: 0x4f, flags: 0x0}, 1638 {region: 0xe5, script: 0x4f, flags: 0x0}, 1639 {region: 0x129, script: 0x37, flags: 0x0}, 1640 {region: 0x52, script: 0x7b, flags: 0x0}, 1641 {region: 0xe6, script: 0x5, flags: 0x0}, 1642 {region: 0x97, script: 0x1f, flags: 0x0}, 1643 {region: 0xad, script: 0x38, flags: 0x0}, 1644 {region: 0xe5, script: 0x4f, flags: 0x0}, 1645 {region: 0xe6, script: 0x5, flags: 0x0}, 1646 {region: 0xe4, script: 0x4f, flags: 0x0}, 1647 {region: 0x97, script: 0x1f, flags: 0x0}, 1648 {region: 0x97, script: 0x1f, flags: 0x0}, 1649 {region: 0x8e, script: 0x4f, flags: 0x0}, 1650 {region: 0x5f, script: 0x4f, flags: 0x0}, 1651 {region: 0x52, script: 0x32, flags: 0x0}, 1652 {region: 0x8f, script: 0x4f, flags: 0x0}, 1653 {region: 0x90, script: 0x4f, flags: 0x0}, 1654 {region: 0x27, script: 0x8, flags: 0x0}, 1655 {region: 0xd0, script: 0x4f, flags: 0x0}, 1656 {region: 0x76, script: 0x4f, flags: 0x0}, 1657 {region: 0xce, script: 0x4f, flags: 0x0}, 1658 {region: 0xd4, script: 0x4f, flags: 0x0}, 1659 {region: 0x93, script: 0x4f, flags: 0x0}, 1660 {region: 0x0, script: 0x0, flags: 0x0}, 1661 {region: 0xd4, script: 0x4f, flags: 0x0}, 1662 {region: 0x52, script: 0xd9, flags: 0x0}, 1663 {region: 0x132, script: 0x4f, flags: 0x0}, 1664 {region: 0x48, script: 0x4f, flags: 0x0}, 1665 {region: 0xe5, script: 0x4f, flags: 0x0}, 1666 {region: 0x93, script: 0x4f, flags: 0x0}, 1667 {region: 0x104, script: 0x1d, flags: 0x0}, 1668 {region: 0x0, script: 0x0, flags: 0x0}, 1669 {region: 0x9b, script: 0x4f, flags: 0x0}, 1670 {region: 0x9c, script: 0x4f, flags: 0x0}, 1671 {region: 0x48, script: 0x16, flags: 0x0}, 1672 {region: 0x95, script: 0x35, flags: 0x0}, 1673 {region: 0x104, script: 0x4f, flags: 0x0}, 1674 {region: 0xa0, script: 0x3e, flags: 0x0}, 1675 {region: 0x9e, script: 0x4f, flags: 0x0}, 1676 {region: 0x51, script: 0x4f, flags: 0x0}, 1677 {region: 0x12e, script: 0x35, flags: 0x0}, 1678 {region: 0x12d, script: 0x4f, flags: 0x0}, 1679 {region: 0xd9, script: 0x1f, flags: 0x0}, 1680 {region: 0x62, script: 0x4f, flags: 0x0}, 1681 {region: 0x93, script: 0x4f, flags: 0x0}, 1682 {region: 0x93, script: 0x4f, flags: 0x0}, 1683 {region: 0x7b, script: 0x28, flags: 0x0}, 1684 {region: 0x134, script: 0x1d, flags: 0x0}, 1685 {region: 0x66, script: 0x4f, flags: 0x0}, 1686 {region: 0xc2, script: 0x4f, flags: 0x0}, 1687 {region: 0xd4, script: 0x4f, flags: 0x0}, 1688 {region: 0xa2, script: 0x4f, flags: 0x0}, 1689 {region: 0xc1, script: 0x4f, flags: 0x0}, 1690 {region: 0x104, script: 0x1d, flags: 0x0}, 1691 {region: 0xd4, script: 0x4f, flags: 0x0}, 1692 {region: 0x161, script: 0x4f, flags: 0x0}, 1693 {region: 0x12d, script: 0x4f, flags: 0x0}, 1694 {region: 0x121, script: 0xcf, flags: 0x0}, 1695 {region: 0x59, script: 0x4f, flags: 0x0}, 1696 {region: 0x51, script: 0x4f, flags: 0x0}, 1697 {region: 0x4e, script: 0x4f, flags: 0x0}, 1698 {region: 0x97, script: 0x1f, flags: 0x0}, 1699 {region: 0x97, script: 0x1f, flags: 0x0}, 1700 {region: 0x4a, script: 0x4f, flags: 0x0}, 1701 {region: 0x93, script: 0x4f, flags: 0x0}, 1702 {region: 0x40, script: 0x4f, flags: 0x0}, 1703 {region: 0x97, script: 0x4f, flags: 0x0}, 1704 {region: 0x52, script: 0xc6, flags: 0x0}, 1705 {region: 0x97, script: 0x1f, flags: 0x0}, 1706 {region: 0xc1, script: 0x4f, flags: 0x0}, 1707 {region: 0x97, script: 0x67, flags: 0x0}, 1708 {region: 0xe6, script: 0x5, flags: 0x0}, 1709 {region: 0xa2, script: 0x4f, flags: 0x0}, 1710 {region: 0x129, script: 0x4f, flags: 0x0}, 1711 {region: 0xd0, script: 0x4f, flags: 0x0}, 1712 {region: 0xad, script: 0x4c, flags: 0x0}, 1713 {region: 0x13, script: 0x6, flags: 0x1}, 1714 {region: 0x51, script: 0x4f, flags: 0x0}, 1715 {region: 0x80, script: 0x4f, flags: 0x0}, 1716 {region: 0xa2, script: 0x4f, flags: 0x0}, 1717 {region: 0xa4, script: 0x43, flags: 0x0}, 1718 {region: 0x29, script: 0x4f, flags: 0x0}, 1719 {region: 0x97, script: 0x47, flags: 0x0}, 1720 {region: 0xa9, script: 0x48, flags: 0x0}, 1721 {region: 0x104, script: 0x1d, flags: 0x0}, 1722 {region: 0x97, script: 0x1f, flags: 0x0}, 1723 {region: 0x73, script: 0x4f, flags: 0x0}, 1724 {region: 0xb2, script: 0x4f, flags: 0x0}, 1725 {region: 0x0, script: 0x0, flags: 0x0}, 1726 {region: 0x104, script: 0x1d, flags: 0x0}, 1727 {region: 0x110, script: 0x4f, flags: 0x0}, 1728 {region: 0xe5, script: 0x4f, flags: 0x0}, 1729 {region: 0x104, script: 0x4f, flags: 0x0}, 1730 {region: 0x97, script: 0x1f, flags: 0x0}, 1731 {region: 0x97, script: 0x5, flags: 0x0}, 1732 {region: 0x12d, script: 0x4f, flags: 0x0}, 1733 {region: 0x51, script: 0x4f, flags: 0x0}, 1734 {region: 0x5f, script: 0x4f, flags: 0x0}, 1735 {region: 0x19, script: 0x3, flags: 0x1}, 1736 {region: 0x104, script: 0x1d, flags: 0x0}, 1737 {region: 0x104, script: 0x1d, flags: 0x0}, 1738 {region: 0x93, script: 0x4f, flags: 0x0}, 1739 {region: 0xe6, script: 0x5, flags: 0x0}, 1740 {region: 0x79, script: 0x4f, flags: 0x0}, 1741 {region: 0x121, script: 0xcf, flags: 0x0}, 1742 {region: 0xe6, script: 0x5, flags: 0x0}, 1743 {region: 0x1c, script: 0x5, flags: 0x1}, 1744 {region: 0x135, script: 0x4f, flags: 0x0}, 1745 {region: 0x85, script: 0x52, flags: 0x0}, 1746 {region: 0x95, script: 0x35, flags: 0x0}, 1747 {region: 0x12d, script: 0x4f, flags: 0x0}, 1748 {region: 0xe6, script: 0x5, flags: 0x0}, 1749 {region: 0x12f, script: 0x4f, flags: 0x0}, 1750 {region: 0xb5, script: 0x4f, flags: 0x0}, 1751 {region: 0x104, script: 0x1d, flags: 0x0}, 1752 {region: 0x93, script: 0x4f, flags: 0x0}, 1753 {region: 0x52, script: 0xcf, flags: 0x0}, 1754 {region: 0x97, script: 0x50, flags: 0x0}, 1755 {region: 0x104, script: 0x1d, flags: 0x0}, 1756 {region: 0x12f, script: 0x4f, flags: 0x0}, 1757 {region: 0xd7, script: 0x4f, flags: 0x0}, 1758 {region: 0x21, script: 0x2, flags: 0x1}, 1759 {region: 0x9c, script: 0x4f, flags: 0x0}, 1760 {region: 0x52, script: 0x54, flags: 0x0}, 1761 {region: 0x93, script: 0x4f, flags: 0x0}, 1762 {region: 0x9a, script: 0x5, flags: 0x0}, 1763 {region: 0x132, script: 0x4f, flags: 0x0}, 1764 {region: 0x97, script: 0xca, flags: 0x0}, 1765 {region: 0x9c, script: 0x4f, flags: 0x0}, 1766 {region: 0x4a, script: 0x4f, flags: 0x0}, 1767 {region: 0xad, script: 0x4c, flags: 0x0}, 1768 {region: 0x4a, script: 0x4f, flags: 0x0}, 1769 {region: 0x15f, script: 0x4f, flags: 0x0}, 1770 {region: 0x9a, script: 0x5, flags: 0x0}, 1771 {region: 0xb4, script: 0x4f, flags: 0x0}, 1772 {region: 0xb6, script: 0x4f, flags: 0x0}, 1773 {region: 0x4a, script: 0x4f, flags: 0x0}, 1774 {region: 0x4a, script: 0x4f, flags: 0x0}, 1775 {region: 0xa2, script: 0x4f, flags: 0x0}, 1776 {region: 0xa2, script: 0x4f, flags: 0x0}, 1777 {region: 0x9a, script: 0x5, flags: 0x0}, 1778 {region: 0xb6, script: 0x4f, flags: 0x0}, 1779 {region: 0x121, script: 0xcf, flags: 0x0}, 1780 {region: 0x52, script: 0x32, flags: 0x0}, 1781 {region: 0x129, script: 0x4f, flags: 0x0}, 1782 {region: 0x93, script: 0x4f, flags: 0x0}, 1783 {region: 0x51, script: 0x4f, flags: 0x0}, 1784 {region: 0x97, script: 0x1f, flags: 0x0}, 1785 {region: 0x97, script: 0x1f, flags: 0x0}, 1786 {region: 0x93, script: 0x4f, flags: 0x0}, 1787 {region: 0x23, script: 0x3, flags: 0x1}, 1788 {region: 0xa2, script: 0x4f, flags: 0x0}, 1789 {region: 0xcd, script: 0x4f, flags: 0x0}, 1790 {region: 0x104, script: 0x1d, flags: 0x0}, 1791 {region: 0xe5, script: 0x4f, flags: 0x0}, 1792 {region: 0x93, script: 0x4f, flags: 0x0}, 1793 {region: 0x110, script: 0x4f, flags: 0x0}, 1794 {region: 0xa2, script: 0x4f, flags: 0x0}, 1795 {region: 0x121, script: 0x5, flags: 0x0}, 1796 {region: 0xca, script: 0x4f, flags: 0x0}, 1797 {region: 0xbd, script: 0x4f, flags: 0x0}, 1798 {region: 0xcf, script: 0x4f, flags: 0x0}, 1799 {region: 0x51, script: 0x4f, flags: 0x0}, 1800 {region: 0xd9, script: 0x1f, flags: 0x0}, 1801 {region: 0x12d, script: 0x4f, flags: 0x0}, 1802 {region: 0xbe, script: 0x4f, flags: 0x0}, 1803 {region: 0xde, script: 0x4f, flags: 0x0}, 1804 {region: 0x93, script: 0x4f, flags: 0x0}, 1805 {region: 0x99, script: 0x34, flags: 0x0}, 1806 {region: 0xc0, script: 0x1d, flags: 0x0}, 1807 {region: 0x97, script: 0x60, flags: 0x0}, 1808 {region: 0x109, script: 0x4f, flags: 0x0}, 1809 {region: 0x26, script: 0x3, flags: 0x1}, 1810 {region: 0x97, script: 0xe, flags: 0x0}, 1811 {region: 0xc2, script: 0x67, flags: 0x0}, 1812 {region: 0x0, script: 0x0, flags: 0x0}, 1813 {region: 0x48, script: 0x4f, flags: 0x0}, 1814 {region: 0x48, script: 0x4f, flags: 0x0}, 1815 {region: 0x36, script: 0x4f, flags: 0x0}, 1816 {region: 0x97, script: 0x1f, flags: 0x0}, 1817 {region: 0xd9, script: 0x1f, flags: 0x0}, 1818 {region: 0x104, script: 0x1d, flags: 0x0}, 1819 {region: 0x34, script: 0x64, flags: 0x0}, 1820 {region: 0x29, script: 0x3, flags: 0x1}, 1821 {region: 0xc9, script: 0x4f, flags: 0x0}, 1822 {region: 0x97, script: 0x1f, flags: 0x0}, 1823 {region: 0x51, script: 0x4f, flags: 0x0}, 1824 {region: 0x0, script: 0x0, flags: 0x0}, 1825 {region: 0x132, script: 0x4f, flags: 0x0}, 1826 {region: 0xe6, script: 0x5, flags: 0x0}, 1827 {region: 0xc1, script: 0x4f, flags: 0x0}, 1828 {region: 0x97, script: 0x1f, flags: 0x0}, 1829 {region: 0x93, script: 0x4f, flags: 0x0}, 1830 {region: 0x161, script: 0x4f, flags: 0x0}, 1831 {region: 0xc2, script: 0x67, flags: 0x0}, 1832 {region: 0x104, script: 0x1d, flags: 0x0}, 1833 {region: 0x12f, script: 0x4f, flags: 0x0}, 1834 {region: 0x9a, script: 0x59, flags: 0x0}, 1835 {region: 0x9a, script: 0x5, flags: 0x0}, 1836 {region: 0xdb, script: 0x4f, flags: 0x0}, 1837 {region: 0x52, script: 0x32, flags: 0x0}, 1838 {region: 0x9c, script: 0x4f, flags: 0x0}, 1839 {region: 0xd0, script: 0x4f, flags: 0x0}, 1840 {region: 0xd8, script: 0x4f, flags: 0x0}, 1841 {region: 0xcd, script: 0x4f, flags: 0x0}, 1842 {region: 0x161, script: 0x4f, flags: 0x0}, 1843 {region: 0xcf, script: 0x4f, flags: 0x0}, 1844 {region: 0x5f, script: 0x4f, flags: 0x0}, 1845 {region: 0xd9, script: 0x1f, flags: 0x0}, 1846 {region: 0xd9, script: 0x1f, flags: 0x0}, 1847 {region: 0xd0, script: 0x4f, flags: 0x0}, 1848 {region: 0xcf, script: 0x4f, flags: 0x0}, 1849 {region: 0xcd, script: 0x4f, flags: 0x0}, 1850 {region: 0xcd, script: 0x4f, flags: 0x0}, 1851 {region: 0x93, script: 0x4f, flags: 0x0}, 1852 {region: 0xdd, script: 0x4f, flags: 0x0}, 1853 {region: 0x97, script: 0x4f, flags: 0x0}, 1854 {region: 0xd7, script: 0x4f, flags: 0x0}, 1855 {region: 0x51, script: 0x4f, flags: 0x0}, 1856 {region: 0xd8, script: 0x4f, flags: 0x0}, 1857 {region: 0x51, script: 0x4f, flags: 0x0}, 1858 {region: 0xd8, script: 0x4f, flags: 0x0}, 1859 {region: 0x121, script: 0x4b, flags: 0x0}, 1860 {region: 0x97, script: 0x1f, flags: 0x0}, 1861 {region: 0x10a, script: 0xb1, flags: 0x0}, 1862 {region: 0x82, script: 0x6b, flags: 0x0}, 1863 {region: 0x15e, script: 0x4f, flags: 0x0}, 1864 {region: 0x48, script: 0x16, flags: 0x0}, 1865 {region: 0x15e, script: 0x4f, flags: 0x0}, 1866 {region: 0x115, script: 0x4f, flags: 0x0}, 1867 {region: 0x132, script: 0x4f, flags: 0x0}, 1868 {region: 0x52, script: 0x4f, flags: 0x0}, 1869 {region: 0xcc, script: 0x4f, flags: 0x0}, 1870 {region: 0x12d, script: 0x4f, flags: 0x0}, 1871 {region: 0x12f, script: 0x4f, flags: 0x0}, 1872 {region: 0x7e, script: 0x4f, flags: 0x0}, 1873 {region: 0x76, script: 0x4f, flags: 0x0}, 1874 {region: 0x0, script: 0x0, flags: 0x0}, 1875 {region: 0x6e, script: 0x4f, flags: 0x0}, 1876 {region: 0x97, script: 0x70, flags: 0x0}, 1877 {region: 0x7b, script: 0x1d, flags: 0x0}, 1878 {region: 0xc3, script: 0x6f, flags: 0x0}, 1879 {region: 0x2c, script: 0x3, flags: 0x1}, 1880 {region: 0xe5, script: 0x4f, flags: 0x0}, 1881 {region: 0x2f, script: 0x2, flags: 0x1}, 1882 {region: 0xe5, script: 0x4f, flags: 0x0}, 1883 {region: 0x2f, script: 0x4f, flags: 0x0}, 1884 {region: 0xee, script: 0x4f, flags: 0x0}, 1885 {region: 0x76, script: 0x4f, flags: 0x0}, 1886 {region: 0xd4, script: 0x4f, flags: 0x0}, 1887 {region: 0x132, script: 0x4f, flags: 0x0}, 1888 {region: 0x48, script: 0x4f, flags: 0x0}, 1889 {region: 0x9a, script: 0xd7, flags: 0x0}, 1890 {region: 0x5f, script: 0x4f, flags: 0x0}, 1891 {region: 0xae, script: 0x7a, flags: 0x0}, 1892 {region: 0x0, script: 0x0, flags: 0x0}, 1893 {region: 0x97, script: 0x11, flags: 0x0}, 1894 {region: 0xa2, script: 0x4f, flags: 0x0}, 1895 {region: 0xe7, script: 0x4f, flags: 0x0}, 1896 {region: 0x9c, script: 0x4f, flags: 0x0}, 1897 {region: 0x85, script: 0x2c, flags: 0x0}, 1898 {region: 0x73, script: 0x4f, flags: 0x0}, 1899 {region: 0xe6, script: 0x42, flags: 0x0}, 1900 {region: 0x9a, script: 0x5, flags: 0x0}, 1901 {region: 0x1, script: 0x4f, flags: 0x0}, 1902 {region: 0x23, script: 0x5, flags: 0x0}, 1903 {region: 0x40, script: 0x4f, flags: 0x0}, 1904 {region: 0x78, script: 0x4f, flags: 0x0}, 1905 {region: 0xe2, script: 0x4f, flags: 0x0}, 1906 {region: 0x87, script: 0x4f, flags: 0x0}, 1907 {region: 0x68, script: 0x4f, flags: 0x0}, 1908 {region: 0x97, script: 0x1f, flags: 0x0}, 1909 {region: 0x100, script: 0x4f, flags: 0x0}, 1910 {region: 0x93, script: 0x4f, flags: 0x0}, 1911 {region: 0x9c, script: 0x4f, flags: 0x0}, 1912 {region: 0x97, script: 0x4f, flags: 0x0}, 1913 {region: 0x31, script: 0x2, flags: 0x1}, 1914 {region: 0xd9, script: 0x1f, flags: 0x0}, 1915 {region: 0x34, script: 0xe, flags: 0x0}, 1916 {region: 0x4d, script: 0x4f, flags: 0x0}, 1917 {region: 0x70, script: 0x4f, flags: 0x0}, 1918 {region: 0x4d, script: 0x4f, flags: 0x0}, 1919 {region: 0x9a, script: 0x5, flags: 0x0}, 1920 {region: 0x10a, script: 0x4f, flags: 0x0}, 1921 {region: 0x39, script: 0x4f, flags: 0x0}, 1922 {region: 0xcf, script: 0x4f, flags: 0x0}, 1923 {region: 0x102, script: 0x4f, flags: 0x0}, 1924 {region: 0x93, script: 0x4f, flags: 0x0}, 1925 {region: 0x12d, script: 0x4f, flags: 0x0}, 1926 {region: 0x71, script: 0x4f, flags: 0x0}, 1927 {region: 0x104, script: 0x1d, flags: 0x0}, 1928 {region: 0x12e, script: 0x1d, flags: 0x0}, 1929 {region: 0x107, script: 0x4f, flags: 0x0}, 1930 {region: 0x105, script: 0x4f, flags: 0x0}, 1931 {region: 0x12d, script: 0x4f, flags: 0x0}, 1932 {region: 0xa0, script: 0x41, flags: 0x0}, 1933 {region: 0x97, script: 0x1f, flags: 0x0}, 1934 {region: 0x7e, script: 0x4f, flags: 0x0}, 1935 {region: 0x104, script: 0x1d, flags: 0x0}, 1936 {region: 0xa2, script: 0x4f, flags: 0x0}, 1937 {region: 0x93, script: 0x4f, flags: 0x0}, 1938 {region: 0x97, script: 0x4f, flags: 0x0}, 1939 {region: 0x97, script: 0xb5, flags: 0x0}, 1940 {region: 0x12d, script: 0x4f, flags: 0x0}, 1941 {region: 0x9c, script: 0x4f, flags: 0x0}, 1942 {region: 0x97, script: 0x1f, flags: 0x0}, 1943 {region: 0x9c, script: 0x4f, flags: 0x0}, 1944 {region: 0x79, script: 0x4f, flags: 0x0}, 1945 {region: 0x48, script: 0x4f, flags: 0x0}, 1946 {region: 0x33, script: 0x4, flags: 0x1}, 1947 {region: 0x9c, script: 0x4f, flags: 0x0}, 1948 {region: 0x9a, script: 0x5, flags: 0x0}, 1949 {region: 0xd8, script: 0x4f, flags: 0x0}, 1950 {region: 0x4e, script: 0x4f, flags: 0x0}, 1951 {region: 0xcf, script: 0x4f, flags: 0x0}, 1952 {region: 0xcd, script: 0x4f, flags: 0x0}, 1953 {region: 0xc1, script: 0x4f, flags: 0x0}, 1954 {region: 0x4b, script: 0x4f, flags: 0x0}, 1955 {region: 0x94, script: 0x6d, flags: 0x0}, 1956 {region: 0xb4, script: 0x4f, flags: 0x0}, 1957 {region: 0x0, script: 0x0, flags: 0x0}, 1958 {region: 0xb8, script: 0xcc, flags: 0x0}, 1959 {region: 0xc2, script: 0x67, flags: 0x0}, 1960 {region: 0xb1, script: 0xbb, flags: 0x0}, 1961 {region: 0x6e, script: 0x4f, flags: 0x0}, 1962 {region: 0x10f, script: 0x4f, flags: 0x0}, 1963 {region: 0xe6, script: 0x5, flags: 0x0}, 1964 {region: 0x10d, script: 0x4f, flags: 0x0}, 1965 {region: 0xe7, script: 0x4f, flags: 0x0}, 1966 {region: 0x93, script: 0x4f, flags: 0x0}, 1967 {region: 0x13f, script: 0x4f, flags: 0x0}, 1968 {region: 0x10a, script: 0x4f, flags: 0x0}, 1969 {region: 0x10a, script: 0x4f, flags: 0x0}, 1970 {region: 0x70, script: 0x4f, flags: 0x0}, 1971 {region: 0x95, script: 0xb2, flags: 0x0}, 1972 {region: 0x70, script: 0x4f, flags: 0x0}, 1973 {region: 0x161, script: 0x4f, flags: 0x0}, 1974 {region: 0xc1, script: 0x4f, flags: 0x0}, 1975 {region: 0x113, script: 0x4f, flags: 0x0}, 1976 {region: 0x121, script: 0xcf, flags: 0x0}, 1977 {region: 0x26, script: 0x4f, flags: 0x0}, 1978 {region: 0x37, script: 0x5, flags: 0x1}, 1979 {region: 0x97, script: 0xbc, flags: 0x0}, 1980 {region: 0x114, script: 0x4f, flags: 0x0}, 1981 {region: 0x112, script: 0x4f, flags: 0x0}, 1982 {region: 0x97, script: 0x1f, flags: 0x0}, 1983 {region: 0x15e, script: 0x4f, flags: 0x0}, 1984 {region: 0x6c, script: 0x4f, flags: 0x0}, 1985 {region: 0x15e, script: 0x4f, flags: 0x0}, 1986 {region: 0x5f, script: 0x4f, flags: 0x0}, 1987 {region: 0x93, script: 0x4f, flags: 0x0}, 1988 {region: 0x12d, script: 0x4f, flags: 0x0}, 1989 {region: 0x82, script: 0x4f, flags: 0x0}, 1990 {region: 0x10a, script: 0x4f, flags: 0x0}, 1991 {region: 0x12d, script: 0x4f, flags: 0x0}, 1992 {region: 0x15c, script: 0x5, flags: 0x0}, 1993 {region: 0x4a, script: 0x4f, flags: 0x0}, 1994 {region: 0x5f, script: 0x4f, flags: 0x0}, 1995 {region: 0x97, script: 0x1f, flags: 0x0}, 1996 {region: 0x93, script: 0x4f, flags: 0x0}, 1997 {region: 0x34, script: 0xe, flags: 0x0}, 1998 {region: 0x99, script: 0xbf, flags: 0x0}, 1999 {region: 0xe7, script: 0x4f, flags: 0x0}, 2000 {region: 0x97, script: 0xc7, flags: 0x0}, 2001 {region: 0xd9, script: 0x1f, flags: 0x0}, 2002 {region: 0xe5, script: 0x4f, flags: 0x0}, 2003 {region: 0x97, script: 0x47, flags: 0x0}, 2004 {region: 0x52, script: 0xc5, flags: 0x0}, 2005 {region: 0xd9, script: 0x1f, flags: 0x0}, 2006 {region: 0xd9, script: 0x1f, flags: 0x0}, 2007 {region: 0x97, script: 0xca, flags: 0x0}, 2008 {region: 0x110, script: 0x4f, flags: 0x0}, 2009 {region: 0x12f, script: 0x4f, flags: 0x0}, 2010 {region: 0x124, script: 0x4f, flags: 0x0}, 2011 {region: 0x3c, script: 0x3, flags: 0x1}, 2012 {region: 0x121, script: 0xcf, flags: 0x0}, 2013 {region: 0xd9, script: 0x1f, flags: 0x0}, 2014 {region: 0xd9, script: 0x1f, flags: 0x0}, 2015 {region: 0xd9, script: 0x1f, flags: 0x0}, 2016 {region: 0x6e, script: 0x26, flags: 0x0}, 2017 {region: 0x6c, script: 0x26, flags: 0x0}, 2018 {region: 0xd4, script: 0x4f, flags: 0x0}, 2019 {region: 0x125, script: 0x4f, flags: 0x0}, 2020 {region: 0x123, script: 0x4f, flags: 0x0}, 2021 {region: 0x31, script: 0x4f, flags: 0x0}, 2022 {region: 0xd9, script: 0x1f, flags: 0x0}, 2023 {region: 0xe5, script: 0x4f, flags: 0x0}, 2024 {region: 0x31, script: 0x4f, flags: 0x0}, 2025 {region: 0xd2, script: 0x4f, flags: 0x0}, 2026 {region: 0x15e, script: 0x4f, flags: 0x0}, 2027 {region: 0x127, script: 0x4f, flags: 0x0}, 2028 {region: 0xcc, script: 0x4f, flags: 0x0}, 2029 {region: 0xe4, script: 0x4f, flags: 0x0}, 2030 {region: 0x129, script: 0x4f, flags: 0x0}, 2031 {region: 0x129, script: 0x4f, flags: 0x0}, 2032 {region: 0x12c, script: 0x4f, flags: 0x0}, 2033 {region: 0x15e, script: 0x4f, flags: 0x0}, 2034 {region: 0x85, script: 0x2c, flags: 0x0}, 2035 {region: 0xd9, script: 0x1f, flags: 0x0}, 2036 {region: 0xe5, script: 0x4f, flags: 0x0}, 2037 {region: 0x42, script: 0xd0, flags: 0x0}, 2038 {region: 0x104, script: 0x1d, flags: 0x0}, 2039 {region: 0x12f, script: 0x4f, flags: 0x0}, 2040 {region: 0x121, script: 0xcf, flags: 0x0}, 2041 {region: 0x31, script: 0x4f, flags: 0x0}, 2042 {region: 0xcc, script: 0x4f, flags: 0x0}, 2043 {region: 0x12b, script: 0x4f, flags: 0x0}, 2044 {region: 0x0, script: 0x0, flags: 0x0}, 2045 {region: 0xd2, script: 0x4f, flags: 0x0}, 2046 {region: 0xe3, script: 0x4f, flags: 0x0}, 2047 {region: 0x104, script: 0x1d, flags: 0x0}, 2048 {region: 0xb8, script: 0x4f, flags: 0x0}, 2049 {region: 0x104, script: 0x1d, flags: 0x0}, 2050 {region: 0x3f, script: 0x4, flags: 0x1}, 2051 {region: 0x11a, script: 0xd2, flags: 0x0}, 2052 {region: 0x12e, script: 0x1d, flags: 0x0}, 2053 {region: 0x73, script: 0x4f, flags: 0x0}, 2054 {region: 0x29, script: 0x4f, flags: 0x0}, 2055 {region: 0x0, script: 0x0, flags: 0x0}, 2056 {region: 0x43, script: 0x3, flags: 0x1}, 2057 {region: 0x97, script: 0xe, flags: 0x0}, 2058 {region: 0xe6, script: 0x5, flags: 0x0}, 2059 {region: 0x46, script: 0x4, flags: 0x1}, 2060 {region: 0xb2, script: 0xd3, flags: 0x0}, 2061 {region: 0x15e, script: 0x4f, flags: 0x0}, 2062 {region: 0x9c, script: 0x4f, flags: 0x0}, 2063 {region: 0x104, script: 0x4f, flags: 0x0}, 2064 {region: 0x13b, script: 0x4f, flags: 0x0}, 2065 {region: 0x119, script: 0x4f, flags: 0x0}, 2066 {region: 0x35, script: 0x4f, flags: 0x0}, 2067 {region: 0x5f, script: 0x4f, flags: 0x0}, 2068 {region: 0xcf, script: 0x4f, flags: 0x0}, 2069 {region: 0x1, script: 0x4f, flags: 0x0}, 2070 {region: 0x104, script: 0x4f, flags: 0x0}, 2071 {region: 0x69, script: 0x4f, flags: 0x0}, 2072 {region: 0x12d, script: 0x4f, flags: 0x0}, 2073 {region: 0x35, script: 0x4f, flags: 0x0}, 2074 {region: 0x4d, script: 0x4f, flags: 0x0}, 2075 {region: 0x6e, script: 0x26, flags: 0x0}, 2076 {region: 0xe5, script: 0x4f, flags: 0x0}, 2077 {region: 0x2e, script: 0x4f, flags: 0x0}, 2078 {region: 0x97, script: 0xca, flags: 0x0}, 2079 {region: 0x97, script: 0x1f, flags: 0x0}, 2080 {region: 0x13d, script: 0x4f, flags: 0x0}, 2081 {region: 0xa6, script: 0x5, flags: 0x0}, 2082 {region: 0x112, script: 0x4f, flags: 0x0}, 2083 {region: 0x97, script: 0x1f, flags: 0x0}, 2084 {region: 0x52, script: 0x32, flags: 0x0}, 2085 {region: 0x40, script: 0x4f, flags: 0x0}, 2086 {region: 0x129, script: 0x17, flags: 0x0}, 2087 {region: 0x15e, script: 0x4f, flags: 0x0}, 2088 {region: 0x129, script: 0x56, flags: 0x0}, 2089 {region: 0x129, script: 0x57, flags: 0x0}, 2090 {region: 0x7b, script: 0x28, flags: 0x0}, 2091 {region: 0x52, script: 0x5a, flags: 0x0}, 2092 {region: 0x109, script: 0x5e, flags: 0x0}, 2093 {region: 0x106, script: 0x68, flags: 0x0}, 2094 {region: 0x97, script: 0x1f, flags: 0x0}, 2095 {region: 0x12f, script: 0x4f, flags: 0x0}, 2096 {region: 0x9a, script: 0x7c, flags: 0x0}, 2097 {region: 0x15b, script: 0xb4, flags: 0x0}, 2098 {region: 0xd9, script: 0x1f, flags: 0x0}, 2099 {region: 0xcf, script: 0x4f, flags: 0x0}, 2100 {region: 0x73, script: 0x4f, flags: 0x0}, 2101 {region: 0x51, script: 0x4f, flags: 0x0}, 2102 {region: 0x51, script: 0x4f, flags: 0x0}, 2103 {region: 0x1, script: 0x35, flags: 0x0}, 2104 {region: 0xd4, script: 0x4f, flags: 0x0}, 2105 {region: 0x40, script: 0x4f, flags: 0x0}, 2106 {region: 0xcd, script: 0x4f, flags: 0x0}, 2107 {region: 0x52, script: 0x4f, flags: 0x0}, 2108 {region: 0x109, script: 0x4f, flags: 0x0}, 2109 {region: 0x0, script: 0x0, flags: 0x0}, 2110 {region: 0xa6, script: 0x5, flags: 0x0}, 2111 {region: 0xd7, script: 0x4f, flags: 0x0}, 2112 {region: 0xb8, script: 0xcc, flags: 0x0}, 2113 {region: 0x4a, script: 0x13, flags: 0x1}, 2114 {region: 0xce, script: 0x4f, flags: 0x0}, 2115 {region: 0x15e, script: 0x4f, flags: 0x0}, 2116 {region: 0x0, script: 0x0, flags: 0x0}, 2117 {region: 0x129, script: 0x4f, flags: 0x0}, 2118 } 2119 2120 // likelyLangList holds lists info associated with likelyLang. 2121 // Size: 372 bytes, 93 elements 2122 var likelyLangList = [93]likelyScriptRegion{ 2123 {region: 0x9a, script: 0x7, flags: 0x0}, 2124 {region: 0x9f, script: 0x69, flags: 0x2}, 2125 {region: 0x11a, script: 0x73, flags: 0x2}, 2126 {region: 0x31, script: 0x4f, flags: 0x0}, 2127 {region: 0x99, script: 0x5, flags: 0x4}, 2128 {region: 0x9a, script: 0x5, flags: 0x4}, 2129 {region: 0x104, script: 0x1d, flags: 0x4}, 2130 {region: 0x9a, script: 0x5, flags: 0x2}, 2131 {region: 0x97, script: 0xe, flags: 0x0}, 2132 {region: 0x34, script: 0x15, flags: 0x2}, 2133 {region: 0x104, script: 0x1d, flags: 0x0}, 2134 {region: 0x37, script: 0x29, flags: 0x2}, 2135 {region: 0x132, script: 0x4f, flags: 0x0}, 2136 {region: 0x79, script: 0xb7, flags: 0x2}, 2137 {region: 0x5c, script: 0x1c, flags: 0x0}, 2138 {region: 0x85, script: 0x53, flags: 0x2}, 2139 {region: 0xd4, script: 0x4f, flags: 0x0}, 2140 {region: 0x51, script: 0x5, flags: 0x4}, 2141 {region: 0x109, script: 0x5, flags: 0x4}, 2142 {region: 0xac, script: 0x1d, flags: 0x0}, 2143 {region: 0x23, script: 0x5, flags: 0x4}, 2144 {region: 0x52, script: 0x5, flags: 0x4}, 2145 {region: 0x9a, script: 0x5, flags: 0x4}, 2146 {region: 0xc3, script: 0x5, flags: 0x4}, 2147 {region: 0x52, script: 0x5, flags: 0x2}, 2148 {region: 0x129, script: 0x4f, flags: 0x0}, 2149 {region: 0xae, script: 0x5, flags: 0x4}, 2150 {region: 0x99, script: 0x5, flags: 0x2}, 2151 {region: 0xa3, script: 0x1d, flags: 0x0}, 2152 {region: 0x52, script: 0x5, flags: 0x4}, 2153 {region: 0x129, script: 0x4f, flags: 0x4}, 2154 {region: 0x52, script: 0x5, flags: 0x2}, 2155 {region: 0x129, script: 0x4f, flags: 0x2}, 2156 {region: 0xd9, script: 0x1f, flags: 0x0}, 2157 {region: 0x97, script: 0x51, flags: 0x2}, 2158 {region: 0x81, script: 0x4f, flags: 0x0}, 2159 {region: 0x82, script: 0x6b, flags: 0x4}, 2160 {region: 0x82, script: 0x6b, flags: 0x2}, 2161 {region: 0xc3, script: 0x1d, flags: 0x0}, 2162 {region: 0x52, script: 0x62, flags: 0x4}, 2163 {region: 0x52, script: 0x62, flags: 0x2}, 2164 {region: 0xce, script: 0x4f, flags: 0x0}, 2165 {region: 0x49, script: 0x5, flags: 0x4}, 2166 {region: 0x93, script: 0x5, flags: 0x4}, 2167 {region: 0x97, script: 0x2e, flags: 0x0}, 2168 {region: 0xe6, script: 0x5, flags: 0x4}, 2169 {region: 0xe6, script: 0x5, flags: 0x2}, 2170 {region: 0x9a, script: 0x77, flags: 0x0}, 2171 {region: 0x52, script: 0x78, flags: 0x2}, 2172 {region: 0xb8, script: 0xcc, flags: 0x0}, 2173 {region: 0xd7, script: 0x4f, flags: 0x4}, 2174 {region: 0xe6, script: 0x5, flags: 0x0}, 2175 {region: 0x97, script: 0x1f, flags: 0x2}, 2176 {region: 0x97, script: 0x44, flags: 0x2}, 2177 {region: 0x97, script: 0xba, flags: 0x2}, 2178 {region: 0x103, script: 0x1d, flags: 0x0}, 2179 {region: 0xbb, script: 0x4f, flags: 0x4}, 2180 {region: 0x102, script: 0x4f, flags: 0x4}, 2181 {region: 0x104, script: 0x4f, flags: 0x4}, 2182 {region: 0x129, script: 0x4f, flags: 0x4}, 2183 {region: 0x122, script: 0x1d, flags: 0x0}, 2184 {region: 0xe6, script: 0x5, flags: 0x4}, 2185 {region: 0xe6, script: 0x5, flags: 0x2}, 2186 {region: 0x52, script: 0x5, flags: 0x0}, 2187 {region: 0xac, script: 0x1d, flags: 0x4}, 2188 {region: 0xc3, script: 0x1d, flags: 0x4}, 2189 {region: 0xac, script: 0x1d, flags: 0x2}, 2190 {region: 0x97, script: 0xe, flags: 0x0}, 2191 {region: 0xd9, script: 0x1f, flags: 0x4}, 2192 {region: 0xd9, script: 0x1f, flags: 0x2}, 2193 {region: 0x134, script: 0x4f, flags: 0x0}, 2194 {region: 0x23, script: 0x5, flags: 0x4}, 2195 {region: 0x52, script: 0x1d, flags: 0x4}, 2196 {region: 0x23, script: 0x5, flags: 0x2}, 2197 {region: 0x52, script: 0x32, flags: 0x0}, 2198 {region: 0x2e, script: 0x33, flags: 0x4}, 2199 {region: 0x3d, script: 0x33, flags: 0x4}, 2200 {region: 0x79, script: 0x33, flags: 0x4}, 2201 {region: 0x7c, script: 0x33, flags: 0x4}, 2202 {region: 0x8b, script: 0x33, flags: 0x4}, 2203 {region: 0x93, script: 0x33, flags: 0x4}, 2204 {region: 0xc4, script: 0x33, flags: 0x4}, 2205 {region: 0xce, script: 0x33, flags: 0x4}, 2206 {region: 0xe0, script: 0x33, flags: 0x4}, 2207 {region: 0xe3, script: 0x33, flags: 0x4}, 2208 {region: 0xe5, script: 0x33, flags: 0x4}, 2209 {region: 0x114, script: 0x33, flags: 0x4}, 2210 {region: 0x121, script: 0x33, flags: 0x4}, 2211 {region: 0x12c, script: 0x33, flags: 0x4}, 2212 {region: 0x132, script: 0x33, flags: 0x4}, 2213 {region: 0x13b, script: 0x33, flags: 0x4}, 2214 {region: 0x12c, script: 0x10, flags: 0x2}, 2215 {region: 0x12c, script: 0x33, flags: 0x2}, 2216 } 2217 2218 type likelyLangScript struct { 2219 lang uint16 2220 script uint8 2221 flags uint8 2222 } 2223 2224 // likelyRegion is a lookup table, indexed by regionID, for the most likely 2225 // languages and scripts given incomplete information. If more entries exist 2226 // for a given regionID, lang and script are the index and size respectively 2227 // of the list in likelyRegionList. 2228 // TODO: exclude containers and user-definable regions from the list. 2229 // Size: 1420 bytes, 355 elements 2230 var likelyRegion = [355]likelyLangScript{ 2231 {lang: 0x0, script: 0x0, flags: 0x0}, 2232 {lang: 0x0, script: 0x0, flags: 0x0}, 2233 {lang: 0x0, script: 0x0, flags: 0x0}, 2234 {lang: 0x0, script: 0x0, flags: 0x0}, 2235 {lang: 0x0, script: 0x0, flags: 0x0}, 2236 {lang: 0x0, script: 0x0, flags: 0x0}, 2237 {lang: 0x0, script: 0x0, flags: 0x0}, 2238 {lang: 0x0, script: 0x0, flags: 0x0}, 2239 {lang: 0x0, script: 0x0, flags: 0x0}, 2240 {lang: 0x0, script: 0x0, flags: 0x0}, 2241 {lang: 0x0, script: 0x0, flags: 0x0}, 2242 {lang: 0x0, script: 0x0, flags: 0x0}, 2243 {lang: 0x0, script: 0x0, flags: 0x0}, 2244 {lang: 0x0, script: 0x0, flags: 0x0}, 2245 {lang: 0x0, script: 0x0, flags: 0x0}, 2246 {lang: 0x0, script: 0x0, flags: 0x0}, 2247 {lang: 0x0, script: 0x0, flags: 0x0}, 2248 {lang: 0x0, script: 0x0, flags: 0x0}, 2249 {lang: 0x0, script: 0x0, flags: 0x0}, 2250 {lang: 0x0, script: 0x0, flags: 0x0}, 2251 {lang: 0x0, script: 0x0, flags: 0x0}, 2252 {lang: 0x0, script: 0x0, flags: 0x0}, 2253 {lang: 0x0, script: 0x0, flags: 0x0}, 2254 {lang: 0x0, script: 0x0, flags: 0x0}, 2255 {lang: 0x0, script: 0x0, flags: 0x0}, 2256 {lang: 0x0, script: 0x0, flags: 0x0}, 2257 {lang: 0x0, script: 0x0, flags: 0x0}, 2258 {lang: 0x0, script: 0x0, flags: 0x0}, 2259 {lang: 0x0, script: 0x0, flags: 0x0}, 2260 {lang: 0x0, script: 0x0, flags: 0x0}, 2261 {lang: 0x0, script: 0x0, flags: 0x0}, 2262 {lang: 0x0, script: 0x0, flags: 0x0}, 2263 {lang: 0x0, script: 0x0, flags: 0x0}, 2264 {lang: 0x61, script: 0x4f, flags: 0x0}, 2265 {lang: 0x15, script: 0x5, flags: 0x0}, 2266 {lang: 0x0, script: 0x2, flags: 0x1}, 2267 {lang: 0x0, script: 0x0, flags: 0x0}, 2268 {lang: 0x0, script: 0x0, flags: 0x0}, 2269 {lang: 0x2, script: 0x2, flags: 0x1}, 2270 {lang: 0x4, script: 0x2, flags: 0x1}, 2271 {lang: 0x0, script: 0x0, flags: 0x0}, 2272 {lang: 0x1ea, script: 0x4f, flags: 0x0}, 2273 {lang: 0x0, script: 0x4f, flags: 0x0}, 2274 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2275 {lang: 0x22a, script: 0x4f, flags: 0x0}, 2276 {lang: 0x85, script: 0x4f, flags: 0x0}, 2277 {lang: 0x0, script: 0x0, flags: 0x0}, 2278 {lang: 0x1b9, script: 0x4f, flags: 0x0}, 2279 {lang: 0x241, script: 0x4f, flags: 0x0}, 2280 {lang: 0x24, script: 0x4f, flags: 0x0}, 2281 {lang: 0x6, script: 0x2, flags: 0x1}, 2282 {lang: 0x0, script: 0x0, flags: 0x0}, 2283 {lang: 0x4b, script: 0xe, flags: 0x0}, 2284 {lang: 0x1b9, script: 0x4f, flags: 0x0}, 2285 {lang: 0xae, script: 0x4f, flags: 0x0}, 2286 {lang: 0x38, script: 0x1d, flags: 0x0}, 2287 {lang: 0x15, script: 0x5, flags: 0x0}, 2288 {lang: 0x1fc, script: 0x4f, flags: 0x0}, 2289 {lang: 0xae, script: 0x4f, flags: 0x0}, 2290 {lang: 0xae, script: 0x4f, flags: 0x0}, 2291 {lang: 0x0, script: 0x0, flags: 0x0}, 2292 {lang: 0x197, script: 0x4f, flags: 0x0}, 2293 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2294 {lang: 0x1d6, script: 0x4f, flags: 0x0}, 2295 {lang: 0x1ea, script: 0x4f, flags: 0x0}, 2296 {lang: 0x0, script: 0x0, flags: 0x0}, 2297 {lang: 0x8, script: 0x2, flags: 0x1}, 2298 {lang: 0x0, script: 0x0, flags: 0x0}, 2299 {lang: 0x0, script: 0x4f, flags: 0x0}, 2300 {lang: 0x0, script: 0x0, flags: 0x0}, 2301 {lang: 0x2f, script: 0x1d, flags: 0x0}, 2302 {lang: 0x0, script: 0x0, flags: 0x0}, 2303 {lang: 0x2b2, script: 0x35, flags: 0x2}, 2304 {lang: 0x197, script: 0x5, flags: 0x2}, 2305 {lang: 0x242, script: 0x4f, flags: 0x0}, 2306 {lang: 0xae, script: 0x4f, flags: 0x0}, 2307 {lang: 0xae, script: 0x4f, flags: 0x0}, 2308 {lang: 0x85, script: 0x4f, flags: 0x0}, 2309 {lang: 0xae, script: 0x4f, flags: 0x0}, 2310 {lang: 0x0, script: 0x0, flags: 0x0}, 2311 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2312 {lang: 0xae, script: 0x4f, flags: 0x0}, 2313 {lang: 0xa, script: 0x4, flags: 0x1}, 2314 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2315 {lang: 0x0, script: 0x4f, flags: 0x0}, 2316 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2317 {lang: 0x0, script: 0x0, flags: 0x0}, 2318 {lang: 0x0, script: 0x0, flags: 0x0}, 2319 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2320 {lang: 0x1ea, script: 0x4f, flags: 0x0}, 2321 {lang: 0x1d6, script: 0x4f, flags: 0x0}, 2322 {lang: 0x0, script: 0x0, flags: 0x0}, 2323 {lang: 0xe, script: 0x2, flags: 0x1}, 2324 {lang: 0x79, script: 0x4f, flags: 0x0}, 2325 {lang: 0x0, script: 0x0, flags: 0x0}, 2326 {lang: 0x85, script: 0x4f, flags: 0x0}, 2327 {lang: 0x0, script: 0x0, flags: 0x0}, 2328 {lang: 0x1, script: 0x4f, flags: 0x0}, 2329 {lang: 0x80, script: 0x4f, flags: 0x0}, 2330 {lang: 0x0, script: 0x0, flags: 0x0}, 2331 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2332 {lang: 0x0, script: 0x0, flags: 0x0}, 2333 {lang: 0x10, script: 0x2, flags: 0x1}, 2334 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2335 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2336 {lang: 0x9e, script: 0x4f, flags: 0x0}, 2337 {lang: 0x15, script: 0x5, flags: 0x0}, 2338 {lang: 0x15, script: 0x5, flags: 0x0}, 2339 {lang: 0x25b, script: 0x26, flags: 0x0}, 2340 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2341 {lang: 0x12, script: 0x2, flags: 0x1}, 2342 {lang: 0x0, script: 0x0, flags: 0x0}, 2343 {lang: 0xa7, script: 0x4f, flags: 0x0}, 2344 {lang: 0xe0, script: 0x1f, flags: 0x2}, 2345 {lang: 0x0, script: 0x0, flags: 0x0}, 2346 {lang: 0x0, script: 0x0, flags: 0x0}, 2347 {lang: 0xac, script: 0x4f, flags: 0x0}, 2348 {lang: 0x0, script: 0x0, flags: 0x0}, 2349 {lang: 0xae, script: 0x4f, flags: 0x0}, 2350 {lang: 0x0, script: 0x0, flags: 0x0}, 2351 {lang: 0xae, script: 0x4f, flags: 0x0}, 2352 {lang: 0x14, script: 0x2, flags: 0x1}, 2353 {lang: 0x0, script: 0x0, flags: 0x0}, 2354 {lang: 0x16, script: 0x3, flags: 0x1}, 2355 {lang: 0xae, script: 0x4f, flags: 0x0}, 2356 {lang: 0x0, script: 0x0, flags: 0x0}, 2357 {lang: 0xd, script: 0x4f, flags: 0x0}, 2358 {lang: 0x0, script: 0x0, flags: 0x0}, 2359 {lang: 0x12e, script: 0x4f, flags: 0x0}, 2360 {lang: 0x0, script: 0x0, flags: 0x0}, 2361 {lang: 0xae, script: 0x4f, flags: 0x0}, 2362 {lang: 0xae, script: 0x4f, flags: 0x0}, 2363 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2364 {lang: 0x19, script: 0x2, flags: 0x1}, 2365 {lang: 0x0, script: 0x4f, flags: 0x0}, 2366 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2367 {lang: 0x0, script: 0x0, flags: 0x0}, 2368 {lang: 0x1ea, script: 0x4f, flags: 0x0}, 2369 {lang: 0x0, script: 0x0, flags: 0x0}, 2370 {lang: 0x2bc, script: 0x33, flags: 0x0}, 2371 {lang: 0x0, script: 0x4f, flags: 0x0}, 2372 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2373 {lang: 0xec, script: 0x4f, flags: 0x0}, 2374 {lang: 0xef, script: 0x4f, flags: 0x0}, 2375 {lang: 0xf0, script: 0x4f, flags: 0x0}, 2376 {lang: 0x0, script: 0x0, flags: 0x0}, 2377 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2378 {lang: 0x1b, script: 0x2, flags: 0x1}, 2379 {lang: 0x0, script: 0x0, flags: 0x0}, 2380 {lang: 0xde, script: 0x35, flags: 0x0}, 2381 {lang: 0x0, script: 0x0, flags: 0x0}, 2382 {lang: 0x1d, script: 0x3, flags: 0x1}, 2383 {lang: 0x0, script: 0x0, flags: 0x0}, 2384 {lang: 0x15, script: 0x5, flags: 0x0}, 2385 {lang: 0x20, script: 0x2, flags: 0x1}, 2386 {lang: 0x100, script: 0x4f, flags: 0x0}, 2387 {lang: 0x101, script: 0x4f, flags: 0x0}, 2388 {lang: 0x0, script: 0x0, flags: 0x0}, 2389 {lang: 0x0, script: 0x0, flags: 0x0}, 2390 {lang: 0x15, script: 0x5, flags: 0x0}, 2391 {lang: 0x105, script: 0x3e, flags: 0x0}, 2392 {lang: 0x0, script: 0x0, flags: 0x0}, 2393 {lang: 0x242, script: 0x4f, flags: 0x0}, 2394 {lang: 0x14a, script: 0x1d, flags: 0x0}, 2395 {lang: 0x22, script: 0x3, flags: 0x1}, 2396 {lang: 0x0, script: 0x0, flags: 0x0}, 2397 {lang: 0x25, script: 0x2, flags: 0x1}, 2398 {lang: 0x0, script: 0x0, flags: 0x0}, 2399 {lang: 0x133, script: 0x48, flags: 0x0}, 2400 {lang: 0x133, script: 0x48, flags: 0x0}, 2401 {lang: 0x15, script: 0x5, flags: 0x0}, 2402 {lang: 0x0, script: 0x0, flags: 0x0}, 2403 {lang: 0x202, script: 0x1d, flags: 0x0}, 2404 {lang: 0x27, script: 0x2, flags: 0x1}, 2405 {lang: 0x15, script: 0x5, flags: 0x0}, 2406 {lang: 0x0, script: 0x0, flags: 0x0}, 2407 {lang: 0x85, script: 0x4f, flags: 0x0}, 2408 {lang: 0x223, script: 0xbb, flags: 0x0}, 2409 {lang: 0x0, script: 0x0, flags: 0x0}, 2410 {lang: 0x23c, script: 0x4f, flags: 0x0}, 2411 {lang: 0x166, script: 0x4f, flags: 0x0}, 2412 {lang: 0xae, script: 0x4f, flags: 0x0}, 2413 {lang: 0x16d, script: 0x4f, flags: 0x0}, 2414 {lang: 0x15, script: 0x5, flags: 0x0}, 2415 {lang: 0x29, script: 0x2, flags: 0x1}, 2416 {lang: 0xae, script: 0x4f, flags: 0x0}, 2417 {lang: 0x2b, script: 0x2, flags: 0x1}, 2418 {lang: 0x235, script: 0x4f, flags: 0x0}, 2419 {lang: 0xae, script: 0x4f, flags: 0x0}, 2420 {lang: 0x180, script: 0x4f, flags: 0x0}, 2421 {lang: 0x0, script: 0x0, flags: 0x0}, 2422 {lang: 0x0, script: 0x0, flags: 0x0}, 2423 {lang: 0x2d, script: 0x2, flags: 0x1}, 2424 {lang: 0x49, script: 0x4f, flags: 0x0}, 2425 {lang: 0x2f, script: 0x2, flags: 0x1}, 2426 {lang: 0x31, script: 0x2, flags: 0x1}, 2427 {lang: 0x33, script: 0x2, flags: 0x1}, 2428 {lang: 0x0, script: 0x0, flags: 0x0}, 2429 {lang: 0xae, script: 0x4f, flags: 0x0}, 2430 {lang: 0x35, script: 0x2, flags: 0x1}, 2431 {lang: 0x0, script: 0x0, flags: 0x0}, 2432 {lang: 0x198, script: 0x4f, flags: 0x0}, 2433 {lang: 0x37, script: 0x3, flags: 0x1}, 2434 {lang: 0x8f, script: 0xce, flags: 0x0}, 2435 {lang: 0x0, script: 0x0, flags: 0x0}, 2436 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2437 {lang: 0x197, script: 0x4f, flags: 0x0}, 2438 {lang: 0x1ea, script: 0x4f, flags: 0x0}, 2439 {lang: 0xa, script: 0x4f, flags: 0x0}, 2440 {lang: 0xae, script: 0x4f, flags: 0x0}, 2441 {lang: 0xda, script: 0x4f, flags: 0x0}, 2442 {lang: 0x0, script: 0x0, flags: 0x0}, 2443 {lang: 0xda, script: 0x5, flags: 0x2}, 2444 {lang: 0x0, script: 0x0, flags: 0x0}, 2445 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2446 {lang: 0x1b9, script: 0x4f, flags: 0x0}, 2447 {lang: 0x1ab, script: 0x4f, flags: 0x0}, 2448 {lang: 0x1b0, script: 0x1f, flags: 0x0}, 2449 {lang: 0x0, script: 0x0, flags: 0x0}, 2450 {lang: 0x0, script: 0x0, flags: 0x0}, 2451 {lang: 0x0, script: 0x0, flags: 0x0}, 2452 {lang: 0x0, script: 0x0, flags: 0x0}, 2453 {lang: 0x0, script: 0x0, flags: 0x0}, 2454 {lang: 0x15, script: 0x5, flags: 0x0}, 2455 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2456 {lang: 0x0, script: 0x0, flags: 0x0}, 2457 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2458 {lang: 0xae, script: 0x4f, flags: 0x0}, 2459 {lang: 0x268, script: 0x4f, flags: 0x0}, 2460 {lang: 0xa9, script: 0x4f, flags: 0x0}, 2461 {lang: 0x3a, script: 0x3, flags: 0x1}, 2462 {lang: 0x3d, script: 0x2, flags: 0x1}, 2463 {lang: 0xae, script: 0x4f, flags: 0x0}, 2464 {lang: 0x0, script: 0x0, flags: 0x0}, 2465 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2466 {lang: 0x15, script: 0x5, flags: 0x0}, 2467 {lang: 0x1ea, script: 0x4f, flags: 0x0}, 2468 {lang: 0x0, script: 0x0, flags: 0x0}, 2469 {lang: 0x1d7, script: 0x4f, flags: 0x0}, 2470 {lang: 0xc9, script: 0x4f, flags: 0x0}, 2471 {lang: 0x0, script: 0x0, flags: 0x0}, 2472 {lang: 0x15, script: 0x5, flags: 0x0}, 2473 {lang: 0x0, script: 0x0, flags: 0x0}, 2474 {lang: 0x0, script: 0x0, flags: 0x0}, 2475 {lang: 0x0, script: 0x0, flags: 0x0}, 2476 {lang: 0x0, script: 0x0, flags: 0x0}, 2477 {lang: 0x0, script: 0x0, flags: 0x0}, 2478 {lang: 0x0, script: 0x0, flags: 0x0}, 2479 {lang: 0x0, script: 0x0, flags: 0x0}, 2480 {lang: 0x0, script: 0x0, flags: 0x0}, 2481 {lang: 0x0, script: 0x0, flags: 0x0}, 2482 {lang: 0x0, script: 0x0, flags: 0x0}, 2483 {lang: 0x0, script: 0x0, flags: 0x0}, 2484 {lang: 0x0, script: 0x0, flags: 0x0}, 2485 {lang: 0x0, script: 0x0, flags: 0x0}, 2486 {lang: 0x0, script: 0x0, flags: 0x0}, 2487 {lang: 0xae, script: 0x4f, flags: 0x0}, 2488 {lang: 0x0, script: 0x0, flags: 0x0}, 2489 {lang: 0x3f, script: 0x2, flags: 0x1}, 2490 {lang: 0x235, script: 0x1d, flags: 0x0}, 2491 {lang: 0x41, script: 0x2, flags: 0x1}, 2492 {lang: 0x205, script: 0x4f, flags: 0x0}, 2493 {lang: 0x15, script: 0x5, flags: 0x0}, 2494 {lang: 0x0, script: 0x0, flags: 0x0}, 2495 {lang: 0xae, script: 0x4f, flags: 0x0}, 2496 {lang: 0x15, script: 0x5, flags: 0x0}, 2497 {lang: 0x43, script: 0x2, flags: 0x1}, 2498 {lang: 0x0, script: 0x0, flags: 0x0}, 2499 {lang: 0x0, script: 0x0, flags: 0x0}, 2500 {lang: 0x227, script: 0x4f, flags: 0x0}, 2501 {lang: 0x1ab, script: 0x4f, flags: 0x0}, 2502 {lang: 0x45, script: 0x2, flags: 0x1}, 2503 {lang: 0x0, script: 0x0, flags: 0x0}, 2504 {lang: 0x101, script: 0x4f, flags: 0x0}, 2505 {lang: 0xae, script: 0x4f, flags: 0x0}, 2506 {lang: 0x232, script: 0x4f, flags: 0x0}, 2507 {lang: 0x1b9, script: 0x4f, flags: 0x0}, 2508 {lang: 0x0, script: 0x0, flags: 0x0}, 2509 {lang: 0x1ea, script: 0x4f, flags: 0x0}, 2510 {lang: 0x0, script: 0x0, flags: 0x0}, 2511 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2512 {lang: 0x0, script: 0x0, flags: 0x0}, 2513 {lang: 0x47, script: 0x2, flags: 0x1}, 2514 {lang: 0x0, script: 0x0, flags: 0x0}, 2515 {lang: 0x0, script: 0x0, flags: 0x0}, 2516 {lang: 0x0, script: 0x0, flags: 0x0}, 2517 {lang: 0xae, script: 0x4f, flags: 0x0}, 2518 {lang: 0xae, script: 0x4f, flags: 0x0}, 2519 {lang: 0xae, script: 0x4f, flags: 0x0}, 2520 {lang: 0x49, script: 0x3, flags: 0x1}, 2521 {lang: 0x4c, script: 0x2, flags: 0x1}, 2522 {lang: 0x25f, script: 0x4f, flags: 0x0}, 2523 {lang: 0x1ea, script: 0x4f, flags: 0x0}, 2524 {lang: 0x25e, script: 0x4f, flags: 0x0}, 2525 {lang: 0x4e, script: 0x2, flags: 0x1}, 2526 {lang: 0x266, script: 0x4f, flags: 0x0}, 2527 {lang: 0x0, script: 0x0, flags: 0x0}, 2528 {lang: 0x50, script: 0x4, flags: 0x1}, 2529 {lang: 0x0, script: 0x0, flags: 0x0}, 2530 {lang: 0x276, script: 0x4f, flags: 0x0}, 2531 {lang: 0x54, script: 0x2, flags: 0x1}, 2532 {lang: 0x242, script: 0x4f, flags: 0x0}, 2533 {lang: 0x56, script: 0x3, flags: 0x1}, 2534 {lang: 0x242, script: 0x4f, flags: 0x0}, 2535 {lang: 0x0, script: 0x0, flags: 0x0}, 2536 {lang: 0x0, script: 0x0, flags: 0x0}, 2537 {lang: 0x2b2, script: 0x35, flags: 0x2}, 2538 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2539 {lang: 0x286, script: 0x4f, flags: 0x0}, 2540 {lang: 0x101, script: 0x4f, flags: 0x0}, 2541 {lang: 0x0, script: 0x0, flags: 0x0}, 2542 {lang: 0x0, script: 0x0, flags: 0x0}, 2543 {lang: 0x9c, script: 0x4f, flags: 0x0}, 2544 {lang: 0x0, script: 0x0, flags: 0x0}, 2545 {lang: 0x0, script: 0x0, flags: 0x0}, 2546 {lang: 0x28b, script: 0x4f, flags: 0x0}, 2547 {lang: 0x41, script: 0x4f, flags: 0x0}, 2548 {lang: 0xae, script: 0x4f, flags: 0x0}, 2549 {lang: 0x0, script: 0x0, flags: 0x0}, 2550 {lang: 0x22a, script: 0x4f, flags: 0x0}, 2551 {lang: 0x0, script: 0x0, flags: 0x0}, 2552 {lang: 0x0, script: 0x0, flags: 0x0}, 2553 {lang: 0x0, script: 0x0, flags: 0x0}, 2554 {lang: 0x0, script: 0x0, flags: 0x0}, 2555 {lang: 0x0, script: 0x0, flags: 0x0}, 2556 {lang: 0x0, script: 0x0, flags: 0x0}, 2557 {lang: 0x0, script: 0x0, flags: 0x0}, 2558 {lang: 0x0, script: 0x0, flags: 0x0}, 2559 {lang: 0x0, script: 0x0, flags: 0x0}, 2560 {lang: 0x0, script: 0x0, flags: 0x0}, 2561 {lang: 0x59, script: 0x2, flags: 0x1}, 2562 {lang: 0x0, script: 0x0, flags: 0x0}, 2563 {lang: 0x0, script: 0x0, flags: 0x0}, 2564 {lang: 0x0, script: 0x0, flags: 0x0}, 2565 {lang: 0x0, script: 0x0, flags: 0x0}, 2566 {lang: 0x0, script: 0x0, flags: 0x0}, 2567 {lang: 0x0, script: 0x0, flags: 0x0}, 2568 {lang: 0x0, script: 0x0, flags: 0x0}, 2569 {lang: 0x0, script: 0x0, flags: 0x0}, 2570 {lang: 0x0, script: 0x0, flags: 0x0}, 2571 {lang: 0x0, script: 0x0, flags: 0x0}, 2572 {lang: 0x0, script: 0x0, flags: 0x0}, 2573 {lang: 0x0, script: 0x0, flags: 0x0}, 2574 {lang: 0x0, script: 0x0, flags: 0x0}, 2575 {lang: 0x0, script: 0x0, flags: 0x0}, 2576 {lang: 0x0, script: 0x0, flags: 0x0}, 2577 {lang: 0x0, script: 0x0, flags: 0x0}, 2578 {lang: 0x15, script: 0x5, flags: 0x0}, 2579 {lang: 0x5b, script: 0x2, flags: 0x1}, 2580 {lang: 0x0, script: 0x0, flags: 0x0}, 2581 {lang: 0x0, script: 0x0, flags: 0x0}, 2582 {lang: 0x0, script: 0x0, flags: 0x0}, 2583 {lang: 0x0, script: 0x0, flags: 0x0}, 2584 {lang: 0x230, script: 0x4f, flags: 0x0}, 2585 {lang: 0x0, script: 0x0, flags: 0x0}, 2586 } 2587 2588 // likelyRegionList holds lists info associated with likelyRegion. 2589 // Size: 372 bytes, 93 elements 2590 var likelyRegionList = [93]likelyLangScript{ 2591 {lang: 0xa3, script: 0x5, flags: 0x0}, 2592 {lang: 0x25e, script: 0x4f, flags: 0x0}, 2593 {lang: 0x234, script: 0x4f, flags: 0x0}, 2594 {lang: 0x189, script: 0x1d, flags: 0x0}, 2595 {lang: 0xf1, script: 0x8, flags: 0x0}, 2596 {lang: 0x142, script: 0x4f, flags: 0x0}, 2597 {lang: 0x54, script: 0x4f, flags: 0x0}, 2598 {lang: 0x235, script: 0x1d, flags: 0x0}, 2599 {lang: 0x92, script: 0xd0, flags: 0x0}, 2600 {lang: 0x1b0, script: 0x1f, flags: 0x0}, 2601 {lang: 0x2bc, script: 0x32, flags: 0x0}, 2602 {lang: 0x27d, script: 0x5, flags: 0x0}, 2603 {lang: 0x2b6, script: 0x4f, flags: 0x0}, 2604 {lang: 0x154, script: 0xcf, flags: 0x0}, 2605 {lang: 0x99, script: 0x2c, flags: 0x0}, 2606 {lang: 0x269, script: 0x4f, flags: 0x0}, 2607 {lang: 0x15, script: 0x5, flags: 0x0}, 2608 {lang: 0xae, script: 0x4f, flags: 0x0}, 2609 {lang: 0x11, script: 0x26, flags: 0x0}, 2610 {lang: 0x9a, script: 0x4f, flags: 0x0}, 2611 {lang: 0x13e, script: 0x5, flags: 0x2}, 2612 {lang: 0x2b2, script: 0x35, flags: 0x2}, 2613 {lang: 0x10e, script: 0x28, flags: 0x0}, 2614 {lang: 0x2, script: 0x1d, flags: 0x0}, 2615 {lang: 0x142, script: 0x4f, flags: 0x0}, 2616 {lang: 0x99, script: 0x2c, flags: 0x0}, 2617 {lang: 0x189, script: 0x1d, flags: 0x0}, 2618 {lang: 0xf6, script: 0x4f, flags: 0x0}, 2619 {lang: 0x197, script: 0x5, flags: 0x0}, 2620 {lang: 0xdf, script: 0x1f, flags: 0x0}, 2621 {lang: 0x285, script: 0x5, flags: 0x0}, 2622 {lang: 0x126, script: 0x67, flags: 0x0}, 2623 {lang: 0xa3, script: 0x5, flags: 0x0}, 2624 {lang: 0x25e, script: 0x4f, flags: 0x0}, 2625 {lang: 0x130, script: 0x43, flags: 0x0}, 2626 {lang: 0x6d, script: 0x5, flags: 0x0}, 2627 {lang: 0x119, script: 0xcf, flags: 0x0}, 2628 {lang: 0x15, script: 0x5, flags: 0x0}, 2629 {lang: 0xae, script: 0x4f, flags: 0x0}, 2630 {lang: 0x162, script: 0x4c, flags: 0x0}, 2631 {lang: 0x119, script: 0xcf, flags: 0x0}, 2632 {lang: 0x15, script: 0x5, flags: 0x0}, 2633 {lang: 0xae, script: 0x4f, flags: 0x0}, 2634 {lang: 0x1fe, script: 0x4f, flags: 0x0}, 2635 {lang: 0x27f, script: 0x1d, flags: 0x0}, 2636 {lang: 0x189, script: 0x1d, flags: 0x0}, 2637 {lang: 0x234, script: 0x4f, flags: 0x0}, 2638 {lang: 0x1a2, script: 0x67, flags: 0x0}, 2639 {lang: 0x111, script: 0x4f, flags: 0x0}, 2640 {lang: 0x18c, script: 0x1d, flags: 0x0}, 2641 {lang: 0x12c, script: 0x5, flags: 0x0}, 2642 {lang: 0x2bc, script: 0x33, flags: 0x0}, 2643 {lang: 0x1ea, script: 0x4f, flags: 0x0}, 2644 {lang: 0x15, script: 0x5, flags: 0x0}, 2645 {lang: 0xae, script: 0x4f, flags: 0x0}, 2646 {lang: 0x17f, script: 0x4f, flags: 0x0}, 2647 {lang: 0x285, script: 0x5, flags: 0x0}, 2648 {lang: 0x40, script: 0x1f, flags: 0x0}, 2649 {lang: 0x285, script: 0x5, flags: 0x0}, 2650 {lang: 0x285, script: 0x5, flags: 0x0}, 2651 {lang: 0x58, script: 0x1f, flags: 0x0}, 2652 {lang: 0x1e2, script: 0x4f, flags: 0x0}, 2653 {lang: 0x2f, script: 0x1d, flags: 0x0}, 2654 {lang: 0x1fe, script: 0x4f, flags: 0x0}, 2655 {lang: 0x38, script: 0x1d, flags: 0x0}, 2656 {lang: 0x202, script: 0x1d, flags: 0x0}, 2657 {lang: 0x13c, script: 0x4f, flags: 0x0}, 2658 {lang: 0x241, script: 0x4f, flags: 0x0}, 2659 {lang: 0x2b2, script: 0x35, flags: 0x0}, 2660 {lang: 0x225, script: 0x4f, flags: 0x0}, 2661 {lang: 0x27f, script: 0x1d, flags: 0x0}, 2662 {lang: 0x15, script: 0x5, flags: 0x0}, 2663 {lang: 0xae, script: 0x4f, flags: 0x0}, 2664 {lang: 0x257, script: 0xcf, flags: 0x0}, 2665 {lang: 0x17e, script: 0x5, flags: 0x0}, 2666 {lang: 0x18e, script: 0x67, flags: 0x0}, 2667 {lang: 0x256, script: 0x1d, flags: 0x0}, 2668 {lang: 0xa3, script: 0x5, flags: 0x0}, 2669 {lang: 0x15, script: 0x5, flags: 0x0}, 2670 {lang: 0xae, script: 0x4f, flags: 0x0}, 2671 {lang: 0x269, script: 0x4f, flags: 0x0}, 2672 {lang: 0x24, script: 0x5, flags: 0x0}, 2673 {lang: 0x115, script: 0x1d, flags: 0x0}, 2674 {lang: 0x3b, script: 0x2c, flags: 0x0}, 2675 {lang: 0x2bc, script: 0x33, flags: 0x0}, 2676 {lang: 0x26b, script: 0x4f, flags: 0x0}, 2677 {lang: 0x27f, script: 0x1d, flags: 0x0}, 2678 {lang: 0x2b2, script: 0x35, flags: 0x0}, 2679 {lang: 0x1e2, script: 0x4f, flags: 0x0}, 2680 {lang: 0x234, script: 0x4f, flags: 0x0}, 2681 {lang: 0x235, script: 0x1d, flags: 0x0}, 2682 {lang: 0xae, script: 0x4f, flags: 0x0}, 2683 {lang: 0x243, script: 0x5, flags: 0x0}, 2684 } 2685 2686 type likelyTag struct { 2687 lang uint16 2688 region uint16 2689 script uint8 2690 } 2691 2692 // Size: 192 bytes, 32 elements 2693 var likelyRegionGroup = [32]likelyTag{ 2694 {lang: 0x0, region: 0x0, script: 0x0}, 2695 {lang: 0x9a, region: 0xd4, script: 0x4f}, 2696 {lang: 0x9a, region: 0x132, script: 0x4f}, 2697 {lang: 0x1ea, region: 0x40, script: 0x4f}, 2698 {lang: 0x9a, region: 0x2e, script: 0x4f}, 2699 {lang: 0x9a, region: 0xd4, script: 0x4f}, 2700 {lang: 0x9c, region: 0xcd, script: 0x4f}, 2701 {lang: 0x242, region: 0x12d, script: 0x4f}, 2702 {lang: 0x15, region: 0x6a, script: 0x5}, 2703 {lang: 0x242, region: 0x4a, script: 0x4f}, 2704 {lang: 0x9a, region: 0x15e, script: 0x4f}, 2705 {lang: 0x9a, region: 0x132, script: 0x4f}, 2706 {lang: 0x9a, region: 0x132, script: 0x4f}, 2707 {lang: 0x9c, region: 0x58, script: 0x4f}, 2708 {lang: 0x2bc, region: 0x52, script: 0x32}, 2709 {lang: 0xdf, region: 0x97, script: 0x1f}, 2710 {lang: 0xf6, region: 0x93, script: 0x4f}, 2711 {lang: 0x101, region: 0x9c, script: 0x4f}, 2712 {lang: 0x9a, region: 0x2e, script: 0x4f}, 2713 {lang: 0x9a, region: 0xe4, script: 0x4f}, 2714 {lang: 0x9a, region: 0x88, script: 0x4f}, 2715 {lang: 0x22a, region: 0x13f, script: 0x4f}, 2716 {lang: 0x2bc, region: 0x52, script: 0x32}, 2717 {lang: 0x286, region: 0x134, script: 0x4f}, 2718 {lang: 0x15, region: 0x106, script: 0x5}, 2719 {lang: 0x202, region: 0x104, script: 0x1d}, 2720 {lang: 0x202, region: 0x104, script: 0x1d}, 2721 {lang: 0x9a, region: 0x79, script: 0x4f}, 2722 {lang: 0x85, region: 0x5f, script: 0x4f}, 2723 {lang: 0x9c, region: 0x1e, script: 0x4f}, 2724 {lang: 0x9a, region: 0x98, script: 0x4f}, 2725 {lang: 0x9a, region: 0x79, script: 0x4f}, 2726 } 2727 2728 type mutualIntelligibility struct { 2729 want uint16 2730 have uint16 2731 conf uint8 2732 oneway bool 2733 } 2734 2735 type scriptIntelligibility struct { 2736 lang uint16 2737 want uint8 2738 have uint8 2739 conf uint8 2740 } 2741 2742 // matchLang holds pairs of langIDs of base languages that are typically 2743 // mutually intelligible. Each pair is associated with a confidence and 2744 // whether the intelligibility goes one or both ways. 2745 // Size: 708 bytes, 118 elements 2746 var matchLang = [118]mutualIntelligibility{ 2747 {want: 0x1bd, have: 0x1ab, conf: 0x2, oneway: false}, 2748 {want: 0x220, have: 0x235, conf: 0x2, oneway: false}, 2749 {want: 0x23b, have: 0x1, conf: 0x2, oneway: false}, 2750 {want: 0xd1, have: 0x85, conf: 0x2, oneway: true}, 2751 {want: 0x151, have: 0x85, conf: 0x2, oneway: true}, 2752 {want: 0x220, have: 0xec, conf: 0x2, oneway: false}, 2753 {want: 0xec, have: 0x54, conf: 0x2, oneway: false}, 2754 {want: 0x220, have: 0x54, conf: 0x2, oneway: false}, 2755 {want: 0x235, have: 0x54, conf: 0x2, oneway: false}, 2756 {want: 0x235, have: 0xec, conf: 0x2, oneway: false}, 2757 {want: 0x142, have: 0x6f, conf: 0x2, oneway: false}, 2758 {want: 0x80, have: 0x1ab, conf: 0x2, oneway: false}, 2759 {want: 0x6f, have: 0x142, conf: 0x2, oneway: false}, 2760 {want: 0x80, have: 0x1bd, conf: 0x2, oneway: false}, 2761 {want: 0x70, have: 0xae, conf: 0x2, oneway: true}, 2762 {want: 0x78, have: 0xae, conf: 0x2, oneway: true}, 2763 {want: 0x7f, have: 0x9a, conf: 0x2, oneway: true}, 2764 {want: 0x94, have: 0x9a, conf: 0x2, oneway: true}, 2765 {want: 0x9b, have: 0x9a, conf: 0x2, oneway: true}, 2766 {want: 0x9e, have: 0xa7, conf: 0x2, oneway: true}, 2767 {want: 0xa0, have: 0x9c, conf: 0x2, oneway: true}, 2768 {want: 0xac, have: 0x80, conf: 0x2, oneway: true}, 2769 {want: 0xb8, have: 0x1b9, conf: 0x2, oneway: true}, 2770 {want: 0xb9, have: 0x9a, conf: 0x2, oneway: true}, 2771 {want: 0xba, have: 0x9a, conf: 0x2, oneway: true}, 2772 {want: 0xc1, have: 0x9a, conf: 0x2, oneway: true}, 2773 {want: 0xc7, have: 0x9c, conf: 0x2, oneway: true}, 2774 {want: 0xc9, have: 0x9c, conf: 0x2, oneway: true}, 2775 {want: 0xd2, have: 0xdf, conf: 0x2, oneway: true}, 2776 {want: 0xda, have: 0x9a, conf: 0x2, oneway: true}, 2777 {want: 0xdc, have: 0x9a, conf: 0x2, oneway: true}, 2778 {want: 0xef, have: 0xae, conf: 0x2, oneway: true}, 2779 {want: 0xf1, have: 0x202, conf: 0x2, oneway: true}, 2780 {want: 0xf3, have: 0x9a, conf: 0x2, oneway: true}, 2781 {want: 0xf8, have: 0x9a, conf: 0x2, oneway: true}, 2782 {want: 0x100, have: 0x9a, conf: 0x2, oneway: true}, 2783 {want: 0x10c, have: 0xf6, conf: 0x2, oneway: true}, 2784 {want: 0x10e, have: 0x9a, conf: 0x2, oneway: true}, 2785 {want: 0x11f, have: 0xae, conf: 0x2, oneway: true}, 2786 {want: 0x12c, have: 0x202, conf: 0x2, oneway: true}, 2787 {want: 0x130, have: 0x9a, conf: 0x2, oneway: true}, 2788 {want: 0x132, have: 0x9a, conf: 0x2, oneway: true}, 2789 {want: 0x13a, have: 0x9a, conf: 0x2, oneway: true}, 2790 {want: 0x142, have: 0x269, conf: 0x2, oneway: true}, 2791 {want: 0x14a, have: 0x202, conf: 0x2, oneway: true}, 2792 {want: 0x14b, have: 0x101, conf: 0x2, oneway: true}, 2793 {want: 0x157, have: 0x9a, conf: 0x2, oneway: true}, 2794 {want: 0x161, have: 0xae, conf: 0x2, oneway: true}, 2795 {want: 0x162, have: 0x9a, conf: 0x2, oneway: true}, 2796 {want: 0x164, have: 0x9a, conf: 0x2, oneway: true}, 2797 {want: 0x169, have: 0xae, conf: 0x2, oneway: true}, 2798 {want: 0x17f, have: 0x9a, conf: 0x2, oneway: true}, 2799 {want: 0x180, have: 0xae, conf: 0x2, oneway: true}, 2800 {want: 0x186, have: 0x9a, conf: 0x2, oneway: true}, 2801 {want: 0x189, have: 0x38, conf: 0x2, oneway: true}, 2802 {want: 0x18a, have: 0x9a, conf: 0x2, oneway: true}, 2803 {want: 0x18c, have: 0x202, conf: 0x2, oneway: true}, 2804 {want: 0x193, have: 0xdf, conf: 0x2, oneway: true}, 2805 {want: 0x197, have: 0xf6, conf: 0x2, oneway: true}, 2806 {want: 0x198, have: 0x9a, conf: 0x2, oneway: true}, 2807 {want: 0x1a2, have: 0x9a, conf: 0x2, oneway: true}, 2808 {want: 0x1b0, have: 0x9a, conf: 0x2, oneway: true}, 2809 {want: 0x1bb, have: 0x1ab, conf: 0x2, oneway: false}, 2810 {want: 0x1bb, have: 0x1bd, conf: 0x2, oneway: true}, 2811 {want: 0x1c4, have: 0x9a, conf: 0x2, oneway: true}, 2812 {want: 0x1c8, have: 0x9a, conf: 0x2, oneway: true}, 2813 {want: 0x1ca, have: 0x9a, conf: 0x2, oneway: true}, 2814 {want: 0x1cc, have: 0xae, conf: 0x2, oneway: true}, 2815 {want: 0x1ce, have: 0x9a, conf: 0x2, oneway: true}, 2816 {want: 0x1cf, have: 0x9a, conf: 0x2, oneway: true}, 2817 {want: 0x1d2, have: 0x9a, conf: 0x2, oneway: true}, 2818 {want: 0x1d9, have: 0x9a, conf: 0x2, oneway: true}, 2819 {want: 0x1e9, have: 0x9a, conf: 0x2, oneway: true}, 2820 {want: 0x1ec, have: 0x9c, conf: 0x2, oneway: true}, 2821 {want: 0x1f7, have: 0x85, conf: 0x2, oneway: true}, 2822 {want: 0x1fc, have: 0x9a, conf: 0x2, oneway: true}, 2823 {want: 0x205, have: 0xae, conf: 0x2, oneway: true}, 2824 {want: 0x208, have: 0xdf, conf: 0x2, oneway: true}, 2825 {want: 0x215, have: 0x9a, conf: 0x2, oneway: true}, 2826 {want: 0x223, have: 0x9a, conf: 0x2, oneway: true}, 2827 {want: 0x230, have: 0x9a, conf: 0x2, oneway: true}, 2828 {want: 0x232, have: 0x9a, conf: 0x2, oneway: true}, 2829 {want: 0x234, have: 0x9a, conf: 0x2, oneway: true}, 2830 {want: 0x23c, have: 0x9a, conf: 0x2, oneway: true}, 2831 {want: 0x23e, have: 0xf6, conf: 0x2, oneway: true}, 2832 {want: 0x242, have: 0x9a, conf: 0x2, oneway: true}, 2833 {want: 0x24b, have: 0x9a, conf: 0x2, oneway: true}, 2834 {want: 0x252, have: 0x9a, conf: 0x2, oneway: true}, 2835 {want: 0x256, have: 0x202, conf: 0x2, oneway: true}, 2836 {want: 0x25b, have: 0x9a, conf: 0x2, oneway: true}, 2837 {want: 0x25e, have: 0x202, conf: 0x2, oneway: true}, 2838 {want: 0x3612, have: 0x9a, conf: 0x2, oneway: true}, 2839 {want: 0x265, have: 0x9a, conf: 0x2, oneway: true}, 2840 {want: 0x266, have: 0x9a, conf: 0x2, oneway: true}, 2841 {want: 0x271, have: 0x202, conf: 0x2, oneway: true}, 2842 {want: 0x275, have: 0x9a, conf: 0x2, oneway: true}, 2843 {want: 0x27d, have: 0x2bc, conf: 0x2, oneway: true}, 2844 {want: 0x285, have: 0x9a, conf: 0x2, oneway: true}, 2845 {want: 0x286, have: 0x202, conf: 0x2, oneway: true}, 2846 {want: 0x29d, have: 0xae, conf: 0x2, oneway: true}, 2847 {want: 0x2a2, have: 0x9a, conf: 0x2, oneway: true}, 2848 {want: 0x2b2, have: 0x9a, conf: 0x2, oneway: true}, 2849 {want: 0x2b3, have: 0x9a, conf: 0x2, oneway: true}, 2850 {want: 0x2be, have: 0x9a, conf: 0x2, oneway: true}, 2851 {want: 0x2, have: 0x202, conf: 0x2, oneway: true}, 2852 {want: 0x5, have: 0x9a, conf: 0x2, oneway: true}, 2853 {want: 0xa, have: 0x1b9, conf: 0x2, oneway: true}, 2854 {want: 0xd, have: 0x9a, conf: 0x2, oneway: true}, 2855 {want: 0x23, have: 0x9c, conf: 0x2, oneway: true}, 2856 {want: 0x24, have: 0x202, conf: 0x2, oneway: true}, 2857 {want: 0x2f, have: 0x202, conf: 0x2, oneway: true}, 2858 {want: 0x31, have: 0x9a, conf: 0x2, oneway: true}, 2859 {want: 0x3c, have: 0xdf, conf: 0x2, oneway: true}, 2860 {want: 0x4b, have: 0x9a, conf: 0x2, oneway: true}, 2861 {want: 0x50, have: 0xae, conf: 0x2, oneway: true}, 2862 {want: 0x65, have: 0xa9, conf: 0x2, oneway: true}, 2863 {want: 0x6c, have: 0x9a, conf: 0x2, oneway: true}, 2864 {want: 0x6f, have: 0x15, conf: 0x2, oneway: true}, 2865 } 2866 2867 // matchScript holds pairs of scriptIDs where readers of one script 2868 // can typically also read the other. Each is associated with a confidence. 2869 // Size: 24 bytes, 4 elements 2870 var matchScript = [4]scriptIntelligibility{ 2871 {lang: 0x235, want: 0x4f, have: 0x1d, conf: 0x2}, 2872 {lang: 0x235, want: 0x1d, have: 0x4f, conf: 0x2}, 2873 {lang: 0x0, want: 0x32, have: 0x33, conf: 0x1}, 2874 {lang: 0x0, want: 0x33, have: 0x32, conf: 0x1}, 2875 } 2876 2877 // Size: 128 bytes, 32 elements 2878 var regionContainment = [32]uint32{ 2879 0xffffffff, 0x000007a2, 0x00003044, 0x00000008, 2880 0x403c0010, 0x00000020, 0x00000040, 0x00000080, 2881 0x00000100, 0x00000200, 0x00000400, 0x2000384c, 2882 0x00001000, 0x00002000, 0x00004000, 0x00008000, 2883 0x00010000, 0x00020000, 0x00040000, 0x00080000, 2884 0x00100000, 0x00200000, 0x01c1c000, 0x00800000, 2885 0x01000000, 0x1e020000, 0x04000000, 0x08000000, 2886 0x10000000, 0x20002048, 0x40000000, 0x80000000, 2887 } 2888 2889 // regionInclusion maps region identifiers to sets of regions in regionInclusionBits, 2890 // where each set holds all groupings that are directly connected in a region 2891 // containment graph. 2892 // Size: 355 bytes, 355 elements 2893 var regionInclusion = [355]uint8{ 2894 // Entry 0 - 3F 2895 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 2896 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 2897 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 2898 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x20, 2899 0x21, 0x22, 0x23, 0x24, 0x25, 0x25, 0x22, 0x23, 2900 0x25, 0x26, 0x21, 0x27, 0x28, 0x29, 0x2a, 0x25, 2901 0x2b, 0x23, 0x22, 0x25, 0x24, 0x29, 0x2c, 0x2d, 2902 0x23, 0x2e, 0x2c, 0x25, 0x2f, 0x30, 0x27, 0x25, 2903 // Entry 40 - 7F 2904 0x27, 0x25, 0x24, 0x30, 0x21, 0x31, 0x32, 0x33, 2905 0x2f, 0x21, 0x26, 0x26, 0x26, 0x34, 0x2c, 0x28, 2906 0x27, 0x26, 0x35, 0x27, 0x21, 0x33, 0x22, 0x20, 2907 0x25, 0x2c, 0x25, 0x21, 0x36, 0x2d, 0x34, 0x29, 2908 0x21, 0x2e, 0x37, 0x25, 0x25, 0x20, 0x38, 0x38, 2909 0x27, 0x37, 0x38, 0x38, 0x2e, 0x39, 0x2e, 0x1f, 2910 0x37, 0x3a, 0x27, 0x3b, 0x2b, 0x20, 0x29, 0x34, 2911 0x26, 0x37, 0x25, 0x23, 0x27, 0x2b, 0x2c, 0x22, 2912 // Entry 80 - BF 2913 0x2f, 0x2c, 0x2c, 0x25, 0x26, 0x39, 0x21, 0x33, 2914 0x3b, 0x2c, 0x27, 0x35, 0x21, 0x33, 0x39, 0x25, 2915 0x2d, 0x20, 0x38, 0x30, 0x37, 0x23, 0x2b, 0x24, 2916 0x21, 0x23, 0x24, 0x2b, 0x39, 0x2b, 0x25, 0x23, 2917 0x35, 0x20, 0x2e, 0x3c, 0x30, 0x3b, 0x2e, 0x25, 2918 0x35, 0x35, 0x23, 0x25, 0x3c, 0x30, 0x23, 0x25, 2919 0x34, 0x24, 0x2c, 0x31, 0x37, 0x29, 0x37, 0x38, 2920 0x38, 0x34, 0x32, 0x22, 0x25, 0x2e, 0x3b, 0x20, 2921 // Entry C0 - FF 2922 0x22, 0x2c, 0x30, 0x35, 0x35, 0x3b, 0x25, 0x2c, 2923 0x25, 0x39, 0x2e, 0x24, 0x2e, 0x33, 0x30, 0x2e, 2924 0x31, 0x3a, 0x2c, 0x2a, 0x2c, 0x20, 0x33, 0x29, 2925 0x2b, 0x24, 0x20, 0x3b, 0x23, 0x28, 0x2a, 0x23, 2926 0x33, 0x20, 0x27, 0x28, 0x3a, 0x30, 0x24, 0x2d, 2927 0x2f, 0x28, 0x25, 0x23, 0x39, 0x20, 0x3b, 0x27, 2928 0x20, 0x23, 0x20, 0x20, 0x1e, 0x20, 0x20, 0x20, 2929 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 2930 // Entry 100 - 13F 2931 0x2e, 0x20, 0x2d, 0x22, 0x32, 0x2e, 0x23, 0x3a, 2932 0x2e, 0x38, 0x37, 0x30, 0x2c, 0x39, 0x2b, 0x2d, 2933 0x2c, 0x22, 0x2c, 0x2e, 0x27, 0x38, 0x26, 0x32, 2934 0x33, 0x25, 0x23, 0x31, 0x21, 0x25, 0x26, 0x21, 2935 0x2c, 0x30, 0x3c, 0x28, 0x30, 0x3c, 0x38, 0x28, 2936 0x30, 0x23, 0x25, 0x28, 0x35, 0x2e, 0x32, 0x2e, 2937 0x20, 0x21, 0x2f, 0x27, 0x3c, 0x22, 0x25, 0x20, 2938 0x27, 0x25, 0x25, 0x30, 0x3a, 0x28, 0x20, 0x28, 2939 // Entry 140 - 17F 2940 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 2941 0x20, 0x20, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 2942 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 2943 0x20, 0x20, 0x23, 0x23, 0x2e, 0x22, 0x31, 0x2e, 2944 0x26, 0x2e, 0x20, 2945 } 2946 2947 // regionInclusionBits is an array of bit vectors where every vector represents 2948 // a set of region groupings. These sets are used to compute the distance 2949 // between two regions for the purpose of language matching. 2950 // Size: 288 bytes, 72 elements 2951 var regionInclusionBits = [72]uint32{ 2952 // Entry 0 - 1F 2953 0x82400813, 0x000007a3, 0x00003844, 0x20000808, 2954 0x403c0011, 0x00000022, 0x20000844, 0x00000082, 2955 0x00000102, 0x00000202, 0x00000402, 0x2000384d, 2956 0x00001804, 0x20002804, 0x00404000, 0x00408000, 2957 0x00410000, 0x02020000, 0x00040010, 0x00080010, 2958 0x00100010, 0x00200010, 0x01c1c001, 0x00c00000, 2959 0x01400000, 0x1e020001, 0x06000000, 0x0a000000, 2960 0x12000000, 0x20002848, 0x40000010, 0x80000001, 2961 // Entry 20 - 3F 2962 0x00000001, 0x40000000, 0x00020000, 0x01000000, 2963 0x00008000, 0x00002000, 0x00000200, 0x00000008, 2964 0x00200000, 0x90000000, 0x00040000, 0x08000000, 2965 0x00000020, 0x84000000, 0x00000080, 0x00001000, 2966 0x00010000, 0x00000400, 0x04000000, 0x00000040, 2967 0x10000000, 0x00004000, 0x81000000, 0x88000000, 2968 0x00000100, 0x80020000, 0x00080000, 0x00100000, 2969 0x00800000, 0xffffffff, 0x82400fb3, 0xc27c0813, 2970 // Entry 40 - 5F 2971 0xa240385f, 0x83c1c813, 0x9e420813, 0x92000001, 2972 0x86000001, 0x81400001, 0x8a000001, 0x82020001, 2973 } 2974 2975 // regionInclusionNext marks, for each entry in regionInclusionBits, the set of 2976 // all groups that are reachable from the groups set in the respective entry. 2977 // Size: 72 bytes, 72 elements 2978 var regionInclusionNext = [72]uint8{ 2979 // Entry 0 - 3F 2980 0x3d, 0x3e, 0x0b, 0x0b, 0x3f, 0x01, 0x0b, 0x01, 2981 0x01, 0x01, 0x01, 0x40, 0x0b, 0x0b, 0x16, 0x16, 2982 0x16, 0x19, 0x04, 0x04, 0x04, 0x04, 0x41, 0x16, 2983 0x16, 0x42, 0x19, 0x19, 0x19, 0x0b, 0x04, 0x00, 2984 0x00, 0x1e, 0x11, 0x18, 0x0f, 0x0d, 0x09, 0x03, 2985 0x15, 0x43, 0x12, 0x1b, 0x05, 0x44, 0x07, 0x0c, 2986 0x10, 0x0a, 0x1a, 0x06, 0x1c, 0x0e, 0x45, 0x46, 2987 0x08, 0x47, 0x13, 0x14, 0x17, 0x3d, 0x3d, 0x3d, 2988 // Entry 40 - 7F 2989 0x3d, 0x3d, 0x3d, 0x42, 0x42, 0x41, 0x42, 0x42, 2990 } 2991 2992 type parentRel struct { 2993 lang uint16 2994 script uint8 2995 maxScript uint8 2996 toRegion uint16 2997 fromRegion []uint16 2998 } 2999 3000 // Size: 404 bytes, 5 elements 3001 var parents = [5]parentRel{ 3002 {lang: 0x9a, script: 0x0, maxScript: 0x4f, toRegion: 0x1, fromRegion: []uint16{0x1a, 0x24, 0x25, 0x2e, 0x33, 0x35, 0x3c, 0x41, 0x45, 0x47, 0x48, 0x49, 0x4f, 0x51, 0x5b, 0x5c, 0x60, 0x63, 0x6c, 0x71, 0x72, 0x73, 0x79, 0x7a, 0x7d, 0x7e, 0x7f, 0x81, 0x8a, 0x8b, 0x94, 0x95, 0x96, 0x97, 0x98, 0x9d, 0x9e, 0xa2, 0xa5, 0xa7, 0xab, 0xaf, 0xb2, 0xb3, 0xbd, 0xc4, 0xc8, 0xc9, 0xca, 0xcc, 0xce, 0xd0, 0xd3, 0xd4, 0xdb, 0xdd, 0xde, 0xe4, 0xe5, 0xe6, 0xe9, 0xee, 0x105, 0x107, 0x108, 0x109, 0x10b, 0x10c, 0x110, 0x115, 0x119, 0x11b, 0x11d, 0x123, 0x127, 0x12a, 0x12b, 0x12d, 0x12f, 0x136, 0x139, 0x13c, 0x13f, 0x15e, 0x15f, 0x161}}, 3003 {lang: 0x9a, script: 0x0, maxScript: 0x4f, toRegion: 0x1a, fromRegion: []uint16{0x2d, 0x4d, 0x5f, 0x62, 0x70, 0xd7, 0x10a, 0x10d}}, 3004 {lang: 0x9c, script: 0x0, maxScript: 0x4f, toRegion: 0x1e, fromRegion: []uint16{0x2b, 0x3e, 0x50, 0x53, 0x55, 0x58, 0x64, 0x68, 0x87, 0x8d, 0xcd, 0xd6, 0xe0, 0xe2, 0xea, 0xef, 0x118, 0x132, 0x133, 0x138}}, 3005 {lang: 0x1ea, script: 0x0, maxScript: 0x4f, toRegion: 0xec, fromRegion: []uint16{0x29, 0x59, 0x89, 0xc4, 0xcf, 0x116, 0x124}}, 3006 {lang: 0x2bc, script: 0x33, maxScript: 0x33, toRegion: 0x8b, fromRegion: []uint16{0xc4}}, 3007 } 3008 3009 // Total table size 19913 bytes (19KiB); checksum: 668A5EA2