OSDN Git Service

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