barometer: update DMA's vendoring packages
[barometer.git] / src / dma / vendor / golang.org / x / text / internal / 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 = "32"
9
10 const NumLanguages = 8665
11
12 const NumScripts = 242
13
14 const NumRegions = 357
15
16 type FromTo struct {
17         From uint16
18         To   uint16
19 }
20
21 const nonCanonicalUnd = 1201
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  = 250
31         _da  = 257
32         _de  = 269
33         _el  = 310
34         _en  = 313
35         _es  = 318
36         _et  = 320
37         _fa  = 328
38         _fi  = 337
39         _fil = 339
40         _fr  = 350
41         _gu  = 420
42         _he  = 444
43         _hi  = 446
44         _hr  = 465
45         _hu  = 469
46         _hy  = 471
47         _id  = 481
48         _is  = 504
49         _it  = 505
50         _ja  = 512
51         _ka  = 528
52         _kk  = 578
53         _km  = 586
54         _kn  = 593
55         _ko  = 596
56         _ky  = 650
57         _lo  = 696
58         _lt  = 704
59         _lv  = 711
60         _mk  = 767
61         _ml  = 772
62         _mn  = 779
63         _mo  = 784
64         _mr  = 795
65         _ms  = 799
66         _mul = 806
67         _my  = 817
68         _nb  = 839
69         _ne  = 849
70         _nl  = 871
71         _no  = 879
72         _pa  = 925
73         _pl  = 947
74         _pt  = 960
75         _ro  = 988
76         _ru  = 994
77         _sh  = 1031
78         _si  = 1036
79         _sk  = 1042
80         _sl  = 1046
81         _sq  = 1073
82         _sr  = 1074
83         _sv  = 1092
84         _sw  = 1093
85         _ta  = 1104
86         _te  = 1121
87         _th  = 1131
88         _tl  = 1146
89         _tn  = 1152
90         _tr  = 1162
91         _uk  = 1198
92         _ur  = 1204
93         _uz  = 1212
94         _vi  = 1219
95         _zh  = 1321
96         _zu  = 1327
97         _jbo = 515
98         _ami = 1650
99         _bnn = 2357
100         _hak = 438
101         _tlh = 14467
102         _lb  = 661
103         _nv  = 899
104         _pwn = 12055
105         _tao = 14188
106         _tay = 14198
107         _tsu = 14662
108         _nn  = 874
109         _sfb = 13629
110         _vgt = 15701
111         _sgg = 13660
112         _cmn = 3007
113         _nan = 835
114         _hsn = 467
115 )
116
117 const langPrivateStart = 0x2f72
118
119 const langPrivateEnd = 0x3179
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: 5324 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\x00cmg\x00cooscop\x00cps\x00crrecrh\x00cr" +
152         "j\x00crk\x00crl\x00crm\x00crs\x00csescsb\x00csw\x00ctd\x00cuhucvhvcyymda" +
153         "andad\x00daf\x00dag\x00dah\x00dak\x00dar\x00dav\x00dbd\x00dbq\x00dcc\x00" +
154         "ddn\x00deeuded\x00den\x00dga\x00dgh\x00dgi\x00dgl\x00dgr\x00dgz\x00dia" +
155         "\x00dje\x00dnj\x00dob\x00doi\x00dop\x00dow\x00dri\x00drs\x00dsb\x00dtm" +
156         "\x00dtp\x00dts\x00dty\x00dua\x00duc\x00dud\x00dug\x00dvivdva\x00dww\x00d" +
157         "yo\x00dyu\x00dzzodzg\x00ebu\x00eeweefi\x00egl\x00egy\x00eka\x00eky\x00el" +
158         "llema\x00emi\x00enngenn\x00enq\x00eopoeri\x00es\x00\x05esu\x00etstetr" +
159         "\x00ett\x00etu\x00etx\x00euusewo\x00ext\x00faasfaa\x00fab\x00fag\x00fai" +
160         "\x00fan\x00ffulffi\x00ffm\x00fiinfia\x00fil\x00fit\x00fjijflr\x00fmp\x00" +
161         "foaofod\x00fon\x00for\x00fpe\x00fqs\x00frrafrc\x00frp\x00frr\x00frs\x00f" +
162         "ub\x00fud\x00fue\x00fuf\x00fuh\x00fuq\x00fur\x00fuv\x00fuy\x00fvr\x00fyr" +
163         "ygalegaa\x00gaf\x00gag\x00gah\x00gaj\x00gam\x00gan\x00gaw\x00gay\x00gba" +
164         "\x00gbf\x00gbm\x00gby\x00gbz\x00gcr\x00gdlagde\x00gdn\x00gdr\x00geb\x00g" +
165         "ej\x00gel\x00gez\x00gfk\x00ggn\x00ghs\x00gil\x00gim\x00gjk\x00gjn\x00gju" +
166         "\x00gkn\x00gkp\x00gllgglk\x00gmm\x00gmv\x00gnrngnd\x00gng\x00god\x00gof" +
167         "\x00goi\x00gom\x00gon\x00gor\x00gos\x00got\x00grb\x00grc\x00grt\x00grw" +
168         "\x00gsw\x00guujgub\x00guc\x00gud\x00gur\x00guw\x00gux\x00guz\x00gvlvgvf" +
169         "\x00gvr\x00gvs\x00gwc\x00gwi\x00gwt\x00gyi\x00haauhag\x00hak\x00ham\x00h" +
170         "aw\x00haz\x00hbb\x00hdy\x00heebhhy\x00hiinhia\x00hif\x00hig\x00hih\x00hi" +
171         "l\x00hla\x00hlu\x00hmd\x00hmt\x00hnd\x00hne\x00hnj\x00hnn\x00hno\x00homo" +
172         "hoc\x00hoj\x00hot\x00hrrvhsb\x00hsn\x00htathuunhui\x00hyyehzerianaian" +
173         "\x00iar\x00iba\x00ibb\x00iby\x00ica\x00ich\x00idndidd\x00idi\x00idu\x00i" +
174         "eleife\x00igboigb\x00ige\x00iiiiijj\x00ikpkikk\x00ikt\x00ikw\x00ikx\x00i" +
175         "lo\x00imo\x00inndinh\x00iodoiou\x00iri\x00isslittaiukuiw\x00\x03iwm\x00i" +
176         "ws\x00izh\x00izi\x00japnjab\x00jam\x00jbo\x00jbu\x00jen\x00jgk\x00jgo" +
177         "\x00ji\x00\x06jib\x00jmc\x00jml\x00jra\x00jut\x00jvavjwavkaatkaa\x00kab" +
178         "\x00kac\x00kad\x00kai\x00kaj\x00kam\x00kao\x00kbd\x00kbm\x00kbp\x00kbq" +
179         "\x00kbx\x00kby\x00kcg\x00kck\x00kcl\x00kct\x00kde\x00kdh\x00kdl\x00kdt" +
180         "\x00kea\x00ken\x00kez\x00kfo\x00kfr\x00kfy\x00kgonkge\x00kgf\x00kgp\x00k" +
181         "ha\x00khb\x00khn\x00khq\x00khs\x00kht\x00khw\x00khz\x00kiikkij\x00kiu" +
182         "\x00kiw\x00kjuakjd\x00kjg\x00kjs\x00kjy\x00kkazkkc\x00kkj\x00klalkln\x00" +
183         "klq\x00klt\x00klx\x00kmhmkmb\x00kmh\x00kmo\x00kms\x00kmu\x00kmw\x00knank" +
184         "nf\x00knp\x00koorkoi\x00kok\x00kol\x00kos\x00koz\x00kpe\x00kpf\x00kpo" +
185         "\x00kpr\x00kpx\x00kqb\x00kqf\x00kqs\x00kqy\x00kraukrc\x00kri\x00krj\x00k" +
186         "rl\x00krs\x00kru\x00ksasksb\x00ksd\x00ksf\x00ksh\x00ksj\x00ksr\x00ktb" +
187         "\x00ktm\x00kto\x00kuurkub\x00kud\x00kue\x00kuj\x00kum\x00kun\x00kup\x00k" +
188         "us\x00kvomkvg\x00kvr\x00kvx\x00kw\x00\x01kwj\x00kwo\x00kxa\x00kxc\x00kxm" +
189         "\x00kxp\x00kxw\x00kxz\x00kyirkye\x00kyx\x00kzr\x00laatlab\x00lad\x00lag" +
190         "\x00lah\x00laj\x00las\x00lbtzlbe\x00lbu\x00lbw\x00lcm\x00lcp\x00ldb\x00l" +
191         "ed\x00lee\x00lem\x00lep\x00leq\x00leu\x00lez\x00lguglgg\x00liimlia\x00li" +
192         "d\x00lif\x00lig\x00lih\x00lij\x00lis\x00ljp\x00lki\x00lkt\x00lle\x00lln" +
193         "\x00lmn\x00lmo\x00lmp\x00lninlns\x00lnu\x00loaoloj\x00lok\x00lol\x00lor" +
194         "\x00los\x00loz\x00lrc\x00ltitltg\x00luublua\x00luo\x00luy\x00luz\x00lvav" +
195         "lwl\x00lzh\x00lzz\x00mad\x00maf\x00mag\x00mai\x00mak\x00man\x00mas\x00ma" +
196         "w\x00maz\x00mbh\x00mbo\x00mbq\x00mbu\x00mbw\x00mci\x00mcp\x00mcq\x00mcr" +
197         "\x00mcu\x00mda\x00mde\x00mdf\x00mdh\x00mdj\x00mdr\x00mdx\x00med\x00mee" +
198         "\x00mek\x00men\x00mer\x00met\x00meu\x00mfa\x00mfe\x00mfn\x00mfo\x00mfq" +
199         "\x00mglgmgh\x00mgl\x00mgo\x00mgp\x00mgy\x00mhahmhi\x00mhl\x00mirimif\x00" +
200         "min\x00mis\x00miw\x00mkkdmki\x00mkl\x00mkp\x00mkw\x00mlalmle\x00mlp\x00m" +
201         "ls\x00mmo\x00mmu\x00mmx\x00mnonmna\x00mnf\x00mni\x00mnw\x00moolmoa\x00mo" +
202         "e\x00moh\x00mos\x00mox\x00mpp\x00mps\x00mpt\x00mpx\x00mql\x00mrarmrd\x00" +
203         "mrj\x00mro\x00mssamtltmtc\x00mtf\x00mti\x00mtr\x00mua\x00mul\x00mur\x00m" +
204         "us\x00mva\x00mvn\x00mvy\x00mwk\x00mwr\x00mwv\x00mxc\x00mxm\x00myyamyk" +
205         "\x00mym\x00myv\x00myw\x00myx\x00myz\x00mzk\x00mzm\x00mzn\x00mzp\x00mzw" +
206         "\x00mzz\x00naaunac\x00naf\x00nah\x00nak\x00nan\x00nap\x00naq\x00nas\x00n" +
207         "bobnca\x00nce\x00ncf\x00nch\x00nco\x00ncu\x00nddendc\x00nds\x00neepneb" +
208         "\x00new\x00nex\x00nfr\x00ngdonga\x00ngb\x00ngl\x00nhb\x00nhe\x00nhw\x00n" +
209         "if\x00nii\x00nij\x00nin\x00niu\x00niy\x00niz\x00njo\x00nkg\x00nko\x00nll" +
210         "dnmg\x00nmz\x00nnnonnf\x00nnh\x00nnk\x00nnm\x00noornod\x00noe\x00non\x00" +
211         "nop\x00nou\x00nqo\x00nrblnrb\x00nsk\x00nsn\x00nso\x00nss\x00ntm\x00ntr" +
212         "\x00nui\x00nup\x00nus\x00nuv\x00nux\x00nvavnwb\x00nxq\x00nxr\x00nyyanym" +
213         "\x00nyn\x00nzi\x00occiogc\x00ojjiokr\x00okv\x00omrmong\x00onn\x00ons\x00" +
214         "opm\x00orrioro\x00oru\x00osssosa\x00ota\x00otk\x00ozm\x00paanpag\x00pal" +
215         "\x00pam\x00pap\x00pau\x00pbi\x00pcd\x00pcm\x00pdc\x00pdt\x00ped\x00peo" +
216         "\x00pex\x00pfl\x00phl\x00phn\x00pilipil\x00pip\x00pka\x00pko\x00plolpla" +
217         "\x00pms\x00png\x00pnn\x00pnt\x00pon\x00ppo\x00pra\x00prd\x00prg\x00psusp" +
218         "ss\x00ptorptp\x00puu\x00pwa\x00quuequc\x00qug\x00rai\x00raj\x00rao\x00rc" +
219         "f\x00rej\x00rel\x00res\x00rgn\x00rhg\x00ria\x00rif\x00rjs\x00rkt\x00rmoh" +
220         "rmf\x00rmo\x00rmt\x00rmu\x00rnunrna\x00rng\x00roonrob\x00rof\x00roo\x00r" +
221         "ro\x00rtm\x00ruusrue\x00rug\x00rw\x00\x04rwk\x00rwo\x00ryu\x00saansaf" +
222         "\x00sah\x00saq\x00sas\x00sat\x00sav\x00saz\x00sba\x00sbe\x00sbp\x00scrds" +
223         "ck\x00scl\x00scn\x00sco\x00scs\x00sdndsdc\x00sdh\x00semesef\x00seh\x00se" +
224         "i\x00ses\x00sgagsga\x00sgs\x00sgw\x00sgz\x00sh\x00\x02shi\x00shk\x00shn" +
225         "\x00shu\x00siinsid\x00sig\x00sil\x00sim\x00sjr\x00sklkskc\x00skr\x00sks" +
226         "\x00sllvsld\x00sli\x00sll\x00sly\x00smmosma\x00smi\x00smj\x00smn\x00smp" +
227         "\x00smq\x00sms\x00snnasnc\x00snk\x00snp\x00snx\x00sny\x00soomsok\x00soq" +
228         "\x00sou\x00soy\x00spd\x00spl\x00sps\x00sqqisrrpsrb\x00srn\x00srr\x00srx" +
229         "\x00ssswssd\x00ssg\x00ssy\x00stotstk\x00stq\x00suunsua\x00sue\x00suk\x00" +
230         "sur\x00sus\x00svweswwaswb\x00swc\x00swg\x00swp\x00swv\x00sxn\x00sxw\x00s" +
231         "yl\x00syr\x00szl\x00taamtaj\x00tal\x00tan\x00taq\x00tbc\x00tbd\x00tbf" +
232         "\x00tbg\x00tbo\x00tbw\x00tbz\x00tci\x00tcy\x00tdd\x00tdg\x00tdh\x00teelt" +
233         "ed\x00tem\x00teo\x00tet\x00tfi\x00tggktgc\x00tgo\x00tgu\x00thhathl\x00th" +
234         "q\x00thr\x00tiirtif\x00tig\x00tik\x00tim\x00tio\x00tiv\x00tkuktkl\x00tkr" +
235         "\x00tkt\x00tlgltlf\x00tlx\x00tly\x00tmh\x00tmy\x00tnsntnh\x00toontof\x00" +
236         "tog\x00toq\x00tpi\x00tpm\x00tpz\x00tqo\x00trurtru\x00trv\x00trw\x00tssot" +
237         "sd\x00tsf\x00tsg\x00tsj\x00tsw\x00ttatttd\x00tte\x00ttj\x00ttr\x00tts" +
238         "\x00ttt\x00tuh\x00tul\x00tum\x00tuq\x00tvd\x00tvl\x00tvu\x00twwitwh\x00t" +
239         "wq\x00txg\x00tyahtya\x00tyv\x00tzm\x00ubu\x00udm\x00ugiguga\x00ukkruli" +
240         "\x00umb\x00und\x00unr\x00unx\x00urrduri\x00urt\x00urw\x00usa\x00utr\x00u" +
241         "vh\x00uvl\x00uzzbvag\x00vai\x00van\x00veenvec\x00vep\x00viievic\x00viv" +
242         "\x00vls\x00vmf\x00vmw\x00voolvot\x00vro\x00vun\x00vut\x00walnwae\x00waj" +
243         "\x00wal\x00wan\x00war\x00wbp\x00wbq\x00wbr\x00wci\x00wer\x00wgi\x00whg" +
244         "\x00wib\x00wiu\x00wiv\x00wja\x00wji\x00wls\x00wmo\x00wnc\x00wni\x00wnu" +
245         "\x00woolwob\x00wos\x00wrs\x00wsk\x00wtm\x00wuu\x00wuv\x00wwa\x00xav\x00x" +
246         "bi\x00xcr\x00xes\x00xhhoxla\x00xlc\x00xld\x00xmf\x00xmn\x00xmr\x00xna" +
247         "\x00xnr\x00xog\x00xon\x00xpr\x00xrb\x00xsa\x00xsi\x00xsm\x00xsr\x00xwe" +
248         "\x00yam\x00yao\x00yap\x00yas\x00yat\x00yav\x00yay\x00yaz\x00yba\x00ybb" +
249         "\x00yby\x00yer\x00ygr\x00ygw\x00yiidyko\x00yle\x00ylg\x00yll\x00yml\x00y" +
250         "ooryon\x00yrb\x00yre\x00yrl\x00yss\x00yua\x00yue\x00yuj\x00yut\x00yuw" +
251         "\x00zahazag\x00zbl\x00zdj\x00zea\x00zgh\x00zhhozhx\x00zia\x00zlm\x00zmi" +
252         "\x00zne\x00zuulzxx\x00zza\x00\xff\xff\xff\xff"
253
254 const langNoIndexOffset = 1330
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         0x05, 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, 0x7a, 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, 0x21, 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         0x0281, 0x0407, 0x01fb, 0x03e5, 0x013e, 0x0208,
582 }
583
584 // AliasMap maps langIDs to their suggested replacements.
585 // Size: 656 bytes, 164 elements
586 var AliasMap = [164]FromTo{
587         0:   {From: 0x82, To: 0x88},
588         1:   {From: 0x187, To: 0x1ae},
589         2:   {From: 0x1f3, To: 0x1e1},
590         3:   {From: 0x1fb, To: 0x1bc},
591         4:   {From: 0x208, To: 0x512},
592         5:   {From: 0x20f, To: 0x20e},
593         6:   {From: 0x310, To: 0x3dc},
594         7:   {From: 0x347, To: 0x36f},
595         8:   {From: 0x407, To: 0x432},
596         9:   {From: 0x47a, To: 0x153},
597         10:  {From: 0x490, To: 0x451},
598         11:  {From: 0x4a2, To: 0x21},
599         12:  {From: 0x53e, To: 0x544},
600         13:  {From: 0x58f, To: 0x12d},
601         14:  {From: 0x630, To: 0x1eb1},
602         15:  {From: 0x651, To: 0x431},
603         16:  {From: 0x662, To: 0x431},
604         17:  {From: 0x6ed, To: 0x3a},
605         18:  {From: 0x6f8, To: 0x1d7},
606         19:  {From: 0x73e, To: 0x21a1},
607         20:  {From: 0x7b3, To: 0x56},
608         21:  {From: 0x7b9, To: 0x299b},
609         22:  {From: 0x7c5, To: 0x58},
610         23:  {From: 0x7e6, To: 0x145},
611         24:  {From: 0x80c, To: 0x5a},
612         25:  {From: 0x815, To: 0x8d},
613         26:  {From: 0x87e, To: 0x810},
614         27:  {From: 0x8c3, To: 0xee3},
615         28:  {From: 0x9ef, To: 0x331},
616         29:  {From: 0xa36, To: 0x2c5},
617         30:  {From: 0xa3d, To: 0xbf},
618         31:  {From: 0xabe, To: 0x3322},
619         32:  {From: 0xb38, To: 0x529},
620         33:  {From: 0xb75, To: 0x265a},
621         34:  {From: 0xb7e, To: 0xbc3},
622         35:  {From: 0xb9b, To: 0x44e},
623         36:  {From: 0xbbc, To: 0x4229},
624         37:  {From: 0xbbf, To: 0x529},
625         38:  {From: 0xbfe, To: 0x2da7},
626         39:  {From: 0xc2e, To: 0x3181},
627         40:  {From: 0xcb9, To: 0xf3},
628         41:  {From: 0xd08, To: 0xfa},
629         42:  {From: 0xdc8, To: 0x11a},
630         43:  {From: 0xdd7, To: 0x32d},
631         44:  {From: 0xdf8, To: 0xdfb},
632         45:  {From: 0xdfe, To: 0x531},
633         46:  {From: 0xedf, To: 0x205a},
634         47:  {From: 0xeee, To: 0x2e9a},
635         48:  {From: 0xf39, To: 0x367},
636         49:  {From: 0x10d0, To: 0x140},
637         50:  {From: 0x1104, To: 0x2d0},
638         51:  {From: 0x11a0, To: 0x1ec},
639         52:  {From: 0x1279, To: 0x21},
640         53:  {From: 0x1424, To: 0x15e},
641         54:  {From: 0x1470, To: 0x14e},
642         55:  {From: 0x151f, To: 0xd9b},
643         56:  {From: 0x1523, To: 0x390},
644         57:  {From: 0x1532, To: 0x19f},
645         58:  {From: 0x1580, To: 0x210},
646         59:  {From: 0x1583, To: 0x10d},
647         60:  {From: 0x15a3, To: 0x3caf},
648         61:  {From: 0x166a, To: 0x19b},
649         62:  {From: 0x16c8, To: 0x136},
650         63:  {From: 0x1700, To: 0x29f8},
651         64:  {From: 0x1718, To: 0x194},
652         65:  {From: 0x1727, To: 0xf3f},
653         66:  {From: 0x177a, To: 0x178},
654         67:  {From: 0x1809, To: 0x17b6},
655         68:  {From: 0x1816, To: 0x18f3},
656         69:  {From: 0x188a, To: 0x436},
657         70:  {From: 0x1979, To: 0x1d01},
658         71:  {From: 0x1a74, To: 0x2bb0},
659         72:  {From: 0x1a8a, To: 0x1f8},
660         73:  {From: 0x1b5a, To: 0x1fa},
661         74:  {From: 0x1b86, To: 0x1515},
662         75:  {From: 0x1d64, To: 0x2c9b},
663         76:  {From: 0x2038, To: 0x37b1},
664         77:  {From: 0x203d, To: 0x20dd},
665         78:  {From: 0x205a, To: 0x30b},
666         79:  {From: 0x20e3, To: 0x274},
667         80:  {From: 0x20ee, To: 0x263},
668         81:  {From: 0x20f2, To: 0x22d},
669         82:  {From: 0x20f9, To: 0x256},
670         83:  {From: 0x210f, To: 0x21eb},
671         84:  {From: 0x2135, To: 0x27d},
672         85:  {From: 0x2160, To: 0x913},
673         86:  {From: 0x2199, To: 0x121},
674         87:  {From: 0x21ce, To: 0x1561},
675         88:  {From: 0x21e6, To: 0x504},
676         89:  {From: 0x21f4, To: 0x49f},
677         90:  {From: 0x222d, To: 0x121},
678         91:  {From: 0x2237, To: 0x121},
679         92:  {From: 0x2262, To: 0x92a},
680         93:  {From: 0x2316, To: 0x3226},
681         94:  {From: 0x2382, To: 0x3365},
682         95:  {From: 0x2472, To: 0x2c7},
683         96:  {From: 0x24e4, To: 0x2ff},
684         97:  {From: 0x24f0, To: 0x2fa},
685         98:  {From: 0x24fa, To: 0x31f},
686         99:  {From: 0x2550, To: 0xb5b},
687         100: {From: 0x25a9, To: 0xe2},
688         101: {From: 0x263e, To: 0x2d0},
689         102: {From: 0x26c9, To: 0x26b4},
690         103: {From: 0x26f9, To: 0x3c8},
691         104: {From: 0x2727, To: 0x3caf},
692         105: {From: 0x2765, To: 0x26b4},
693         106: {From: 0x2789, To: 0x4358},
694         107: {From: 0x28ef, To: 0x2837},
695         108: {From: 0x2914, To: 0x351},
696         109: {From: 0x2986, To: 0x2da7},
697         110: {From: 0x2b1a, To: 0x38d},
698         111: {From: 0x2bfc, To: 0x395},
699         112: {From: 0x2c3f, To: 0x3caf},
700         113: {From: 0x2cfc, To: 0x3be},
701         114: {From: 0x2d13, To: 0x597},
702         115: {From: 0x2d47, To: 0x148},
703         116: {From: 0x2d48, To: 0x148},
704         117: {From: 0x2dff, To: 0x2f1},
705         118: {From: 0x2e08, To: 0x19cc},
706         119: {From: 0x2e1a, To: 0x2d95},
707         120: {From: 0x2e21, To: 0x292},
708         121: {From: 0x2e54, To: 0x7d},
709         122: {From: 0x2e65, To: 0x2282},
710         123: {From: 0x2ea0, To: 0x2e9b},
711         124: {From: 0x2eef, To: 0x2ed7},
712         125: {From: 0x3193, To: 0x3c4},
713         126: {From: 0x3366, To: 0x338e},
714         127: {From: 0x342a, To: 0x3dc},
715         128: {From: 0x34ee, To: 0x18d0},
716         129: {From: 0x35c8, To: 0x2c9b},
717         130: {From: 0x35e6, To: 0x412},
718         131: {From: 0x3658, To: 0x246},
719         132: {From: 0x3676, To: 0x3f4},
720         133: {From: 0x36fd, To: 0x445},
721         134: {From: 0x37c0, To: 0x121},
722         135: {From: 0x3816, To: 0x38f2},
723         136: {From: 0x382b, To: 0x2c9b},
724         137: {From: 0x382f, To: 0xa9},
725         138: {From: 0x3832, To: 0x3228},
726         139: {From: 0x386c, To: 0x39a6},
727         140: {From: 0x3892, To: 0x3fc0},
728         141: {From: 0x38a5, To: 0x39d7},
729         142: {From: 0x38b4, To: 0x1fa4},
730         143: {From: 0x38b5, To: 0x2e9a},
731         144: {From: 0x395c, To: 0x47e},
732         145: {From: 0x3b4e, To: 0xd91},
733         146: {From: 0x3b78, To: 0x137},
734         147: {From: 0x3c99, To: 0x4bc},
735         148: {From: 0x3fbd, To: 0x100},
736         149: {From: 0x4208, To: 0xa91},
737         150: {From: 0x42be, To: 0x573},
738         151: {From: 0x42f9, To: 0x3f60},
739         152: {From: 0x4378, To: 0x25a},
740         153: {From: 0x43cb, To: 0x36cb},
741         154: {From: 0x43cd, To: 0x10f},
742         155: {From: 0x44af, To: 0x3322},
743         156: {From: 0x44e3, To: 0x512},
744         157: {From: 0x45ca, To: 0x2409},
745         158: {From: 0x45dd, To: 0x26dc},
746         159: {From: 0x4610, To: 0x48ae},
747         160: {From: 0x46ae, To: 0x46a0},
748         161: {From: 0x473e, To: 0x4745},
749         162: {From: 0x4916, To: 0x31f},
750         163: {From: 0x49a7, To: 0x523},
751 }
752
753 // Size: 164 bytes, 164 elements
754 var AliasTypes = [164]AliasType{
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 = 87
773         _Hani = 54
774         _Hans = 56
775         _Hant = 57
776         _Qaaa = 139
777         _Qaai = 147
778         _Qabx = 188
779         _Zinh = 236
780         _Zyyy = 241
781         _Zzzz = 242
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: 976 bytes
787         "----AdlmAfakAghbAhomArabAranArmiArmnAvstBaliBamuBassBatkBengBhksBlisBopo" +
788         "BrahBraiBugiBuhdCakmCansCariChamCherCirtCoptCpmnCprtCyrlCyrsDevaDogrDsrt" +
789         "DuplEgydEgyhEgypElbaEthiGeokGeorGlagGongGonmGothGranGrekGujrGuruHanbHang" +
790         "HaniHanoHansHantHatrHebrHiraHluwHmngHmnpHrktHungIndsItalJamoJavaJpanJurc" +
791         "KaliKanaKharKhmrKhojKitlKitsKndaKoreKpelKthiLanaLaooLatfLatgLatnLekeLepc" +
792         "LimbLinaLinbLisuLomaLyciLydiMahjMakaMandManiMarcMayaMedfMendMercMeroMlym" +
793         "ModiMongMoonMrooMteiMultMymrNarbNbatNewaNkdbNkgbNkooNshuOgamOlckOrkhOrya" +
794         "OsgeOsmaPalmPaucPermPhagPhliPhlpPhlvPhnxPiqdPlrdPrtiQaaaQaabQaacQaadQaae" +
795         "QaafQaagQaahQaaiQaajQaakQaalQaamQaanQaaoQaapQaaqQaarQaasQaatQaauQaavQaaw" +
796         "QaaxQaayQaazQabaQabbQabcQabdQabeQabfQabgQabhQabiQabjQabkQablQabmQabnQabo" +
797         "QabpQabqQabrQabsQabtQabuQabvQabwQabxRjngRoroRunrSamrSaraSarbSaurSgnwShaw" +
798         "ShrdShuiSiddSindSinhSoraSoyoSundSyloSyrcSyreSyrjSyrnTagbTakrTaleTaluTaml" +
799         "TangTavtTeluTengTfngTglgThaaThaiTibtTirhUgarVaiiVispWaraWchoWoleXpeoXsux" +
800         "YiiiZanbZinhZmthZsyeZsymZxxxZyyyZzzz\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: 1330 bytes, 1330 elements
805 var suppressScript = [1330]uint8{
806         // Entry 0 - 3F
807         0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00,
808         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
809         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00,
810         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
811         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29,
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, 0x57, 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, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
823         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 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, 0x57,
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, 0x57,
837         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
838         0x57, 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, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00,
842         // Entry 100 - 13F
843         0x57, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
844         0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00,
845         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
846         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,
847         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
848         0xde, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00,
849         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00,
850         0x00, 0x57, 0x00, 0x00, 0x57, 0x00, 0x57, 0x00,
851         // Entry 140 - 17F
852         0x57, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00,
853         0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
854         0x00, 0x57, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00,
855         0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00,
856         0x00, 0x57, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00,
857         0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x57, 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, 0x00, 0x00,
863         0x57, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,
864         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
865         0x00, 0x00, 0x00, 0x57, 0x32, 0x00, 0x00, 0x00,
866         0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,
867         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
868         0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x21, 0x00,
869         // Entry 1C0 - 1FF
870         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
871         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
872         0x00, 0x57, 0x57, 0x00, 0x57, 0x57, 0x00, 0x08,
873         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
874         0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
875         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
876         0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,
877         0x57, 0x57, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x00,
878         // Entry 200 - 23F
879         0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
880         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
881         0x2b, 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         0x00, 0x00, 0x1f, 0x00, 0x00, 0x57, 0x00, 0x00,
889         0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00,
890         0x00, 0x4f, 0x00, 0x00, 0x50, 0x00, 0x21, 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, 0x00, 0x00, 0x57, 0x00,
899         0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 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, 0x00, 0x00, 0x57, 0x00, 0x00,
904         0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
905         // Entry 2C0 - 2FF
906         0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,
907         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 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, 0x00, 0x00,
911         0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
912         0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,
913         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
914         // Entry 300 - 33F
915         0x00, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00,
916         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
917         0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
918         0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x57,
919         0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
920         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
921         0x00, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
922         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00,
923         // Entry 340 - 37F
924         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,
925         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00,
926         0x57, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
927         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
928         0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,
929         0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x57,
930         0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x57, 0x00,
931         0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00,
932         // Entry 380 - 3BF
933         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,
934         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
935         0x57, 0x00, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00,
936         0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00,
937         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
938         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
939         0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,
940         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00,
941         // Entry 3C0 - 3FF
942         0x57, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,
943         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
944         0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,
945         0x00, 0x57, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00,
946         0x00, 0x00, 0x1f, 0x00, 0x00, 0x57, 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         0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00,
952         0x00, 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, 0x00,
953         0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x57, 0x00,
954         0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,
955         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
956         0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
957         0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,
958         0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,
959         // Entry 440 - 47F
960         0x00, 0x00, 0x00, 0x00, 0x57, 0x57, 0x00, 0x00,
961         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
962         0xd7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
963         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
964         0x00, 0xda, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,
965         0x00, 0x00, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x29,
966         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,
967         0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x57, 0x00,
968         // Entry 480 - 4BF
969         0x57, 0x00, 0x57, 0x00, 0x00, 0x00, 0x57, 0x00,
970         0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x57, 0x00,
971         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
972         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
973         0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
974         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00,
975         0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
976         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
977         // Entry 4C0 - 4FF
978         0x57, 0x00, 0x00, 0x57, 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         0x00, 0x00, 0x57, 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         0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00,
990         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
991         0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
992         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,
993         0x00, 0x00,
994 }
995
996 const (
997         _001 = 1
998         _419 = 31
999         _BR  = 65
1000         _CA  = 73
1001         _ES  = 110
1002         _GB  = 123
1003         _MD  = 188
1004         _PT  = 238
1005         _UK  = 306
1006         _US  = 309
1007         _ZZ  = 357
1008         _XA  = 323
1009         _XC  = 325
1010         _XK  = 333
1011 )
1012
1013 // isoRegionOffset needs to be added to the index of regionISO to obtain the regionID
1014 // for 2-letter ISO codes. (The first isoRegionOffset regionIDs are reserved for
1015 // the UN.M49 codes used for groups.)
1016 const isoRegionOffset = 32
1017
1018 // regionTypes defines the status of a region for various standards.
1019 // Size: 358 bytes, 358 elements
1020 var regionTypes = [358]uint8{
1021         // Entry 0 - 3F
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         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1026         0x05, 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         0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
1030         // Entry 40 - 7F
1031         0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x06, 0x06,
1032         0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
1033         0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x04,
1034         0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04,
1035         0x06, 0x04, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06,
1036         0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
1037         0x06, 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00,
1038         0x06, 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
1039         // Entry 80 - BF
1040         0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
1041         0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
1042         0x06, 0x06, 0x06, 0x00, 0x04, 0x06, 0x06, 0x06,
1043         0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
1044         0x06, 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06,
1045         0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
1046         0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
1047         0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
1048         // Entry C0 - FF
1049         0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
1050         0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
1051         0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00,
1052         0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x04, 0x06,
1053         0x06, 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06,
1054         0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00,
1055         0x06, 0x06, 0x00, 0x06, 0x05, 0x05, 0x05, 0x05,
1056         0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
1057         // Entry 100 - 13F
1058         0x05, 0x05, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06,
1059         0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
1060         0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
1061         0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x06,
1062         0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
1063         0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
1064         0x06, 0x06, 0x02, 0x06, 0x04, 0x06, 0x06, 0x06,
1065         0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06,
1066         // Entry 140 - 17F
1067         0x06, 0x00, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05,
1068         0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
1069         0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
1070         0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x06, 0x06,
1071         0x04, 0x06, 0x06, 0x04, 0x06, 0x05,
1072 }
1073
1074 // regionISO holds a list of alphabetically sorted 2-letter ISO region codes.
1075 // Each 2-letter codes is followed by two bytes with the following meaning:
1076 //     - [A-Z}{2}: the first letter of the 2-letter code plus these two
1077 //                 letters form the 3-letter ISO code.
1078 //     - 0, n:     index into altRegionISO3.
1079 const regionISO tag.Index = "" + // Size: 1308 bytes
1080         "AAAAACSCADNDAEREAFFGAGTGAIIAALLBAMRMANNTAOGOAQTAARRGASSMATUTAUUSAWBWAXLA" +
1081         "AZZEBAIHBBRBBDGDBEELBFFABGGRBHHRBIDIBJENBLLMBMMUBNRNBOOLBQESBRRABSHSBTTN" +
1082         "BUURBVVTBWWABYLRBZLZCAANCCCKCDODCFAFCGOGCHHECIIVCKOKCLHLCMMRCNHNCOOLCPPT" +
1083         "CRRICS\x00\x00CTTECUUBCVPVCWUWCXXRCYYPCZZEDDDRDEEUDGGADJJIDKNKDMMADOOMDY" +
1084         "HYDZZAEA  ECCUEESTEGGYEHSHERRIESSPETTHEU\x00\x03EZ  FIINFJJIFKLKFMSMFORO" +
1085         "FQ\x00\x18FRRAFXXXGAABGBBRGDRDGEEOGFUFGGGYGHHAGIIBGLRLGMMBGNINGPLPGQNQGR" +
1086         "RCGS\x00\x06GTTMGUUMGWNBGYUYHKKGHMMDHNNDHRRVHTTIHUUNHVVOIC  IDDNIERLILSR" +
1087         "IMMNINNDIOOTIQRQIRRNISSLITTAJEEYJMAMJOORJPPNJTTNKEENKGGZKHHMKIIRKM\x00" +
1088         "\x09KNNAKP\x00\x0cKRORKWWTKY\x00\x0fKZAZLAAOLBBNLCCALIIELKKALRBRLSSOLTTU" +
1089         "LUUXLVVALYBYMAARMCCOMDDAMENEMFAFMGDGMHHLMIIDMKKDMLLIMMMRMNNGMOACMPNPMQTQ" +
1090         "MRRTMSSRMTLTMUUSMVDVMWWIMXEXMYYSMZOZNAAMNCCLNEERNFFKNGGANHHBNIICNLLDNOOR" +
1091         "NPPLNQ\x00\x1eNRRUNTTZNUIUNZZLOMMNPAANPCCIPEERPFYFPGNGPHHLPKAKPLOLPM\x00" +
1092         "\x12PNCNPRRIPSSEPTRTPUUSPWLWPYRYPZCZQAATQMMMQNNNQOOOQPPPQQQQQRRRQSSSQTTT" +
1093         "QU\x00\x03QVVVQWWWQXXXQYYYQZZZREEURHHOROOURS\x00\x15RUUSRWWASAAUSBLBSCYC" +
1094         "SDDNSEWESGGPSHHNSIVNSJJMSKVKSLLESMMRSNENSOOMSRURSSSDSTTPSUUNSVLVSXXMSYYR" +
1095         "SZWZTAAATCCATDCDTF\x00\x18TGGOTHHATJJKTKKLTLLSTMKMTNUNTOONTPMPTRURTTTOTV" +
1096         "UVTWWNTZZAUAKRUGGAUK  UMMIUN  USSAUYRYUZZBVAATVCCTVDDRVEENVGGBVIIRVNNMVU" +
1097         "UTWFLFWKAKWSSMXAAAXBBBXCCCXDDDXEEEXFFFXGGGXHHHXIIIXJJJXKKKXLLLXMMMXNNNXO" +
1098         "OOXPPPXQQQXRRRXSSSXTTTXUUUXVVVXWWWXXXXXYYYXZZZYDMDYEEMYT\x00\x1bYUUGZAAF" +
1099         "ZMMBZRARZWWEZZZZ\xff\xff\xff\xff"
1100
1101 // altRegionISO3 holds a list of 3-letter region codes that cannot be
1102 // mapped to 2-letter codes using the default algorithm. This is a short list.
1103 const altRegionISO3 string = "SCGQUUSGSCOMPRKCYMSPMSRBATFMYTATN"
1104
1105 // altRegionIDs holds a list of regionIDs the positions of which match those
1106 // of the 3-letter ISO codes in altRegionISO3.
1107 // Size: 22 bytes, 11 elements
1108 var altRegionIDs = [11]uint16{
1109         0x0057, 0x0070, 0x0088, 0x00a8, 0x00aa, 0x00ad, 0x00ea, 0x0105,
1110         0x0121, 0x015f, 0x00dc,
1111 }
1112
1113 // Size: 80 bytes, 20 elements
1114 var regionOldMap = [20]FromTo{
1115         0:  {From: 0x44, To: 0xc4},
1116         1:  {From: 0x58, To: 0xa7},
1117         2:  {From: 0x5f, To: 0x60},
1118         3:  {From: 0x66, To: 0x3b},
1119         4:  {From: 0x79, To: 0x78},
1120         5:  {From: 0x93, To: 0x37},
1121         6:  {From: 0xa3, To: 0x133},
1122         7:  {From: 0xc1, To: 0x133},
1123         8:  {From: 0xd7, To: 0x13f},
1124         9:  {From: 0xdc, To: 0x2b},
1125         10: {From: 0xef, To: 0x133},
1126         11: {From: 0xf2, To: 0xe2},
1127         12: {From: 0xfc, To: 0x70},
1128         13: {From: 0x103, To: 0x164},
1129         14: {From: 0x12a, To: 0x126},
1130         15: {From: 0x132, To: 0x7b},
1131         16: {From: 0x13a, To: 0x13e},
1132         17: {From: 0x141, To: 0x133},
1133         18: {From: 0x15d, To: 0x15e},
1134         19: {From: 0x163, To: 0x4b},
1135 }
1136
1137 // m49 maps regionIDs to UN.M49 codes. The first isoRegionOffset entries are
1138 // codes indicating collections of regions.
1139 // Size: 716 bytes, 358 elements
1140 var m49 = [358]int16{
1141         // Entry 0 - 3F
1142         0, 1, 2, 3, 5, 9, 11, 13,
1143         14, 15, 17, 18, 19, 21, 29, 30,
1144         34, 35, 39, 53, 54, 57, 61, 142,
1145         143, 145, 150, 151, 154, 155, 202, 419,
1146         958, 0, 20, 784, 4, 28, 660, 8,
1147         51, 530, 24, 10, 32, 16, 40, 36,
1148         533, 248, 31, 70, 52, 50, 56, 854,
1149         100, 48, 108, 204, 652, 60, 96, 68,
1150         // Entry 40 - 7F
1151         535, 76, 44, 64, 104, 74, 72, 112,
1152         84, 124, 166, 180, 140, 178, 756, 384,
1153         184, 152, 120, 156, 170, 0, 188, 891,
1154         296, 192, 132, 531, 162, 196, 203, 278,
1155         276, 0, 262, 208, 212, 214, 204, 12,
1156         0, 218, 233, 818, 732, 232, 724, 231,
1157         967, 0, 246, 242, 238, 583, 234, 0,
1158         250, 249, 266, 826, 308, 268, 254, 831,
1159         // Entry 80 - BF
1160         288, 292, 304, 270, 324, 312, 226, 300,
1161         239, 320, 316, 624, 328, 344, 334, 340,
1162         191, 332, 348, 854, 0, 360, 372, 376,
1163         833, 356, 86, 368, 364, 352, 380, 832,
1164         388, 400, 392, 581, 404, 417, 116, 296,
1165         174, 659, 408, 410, 414, 136, 398, 418,
1166         422, 662, 438, 144, 430, 426, 440, 442,
1167         428, 434, 504, 492, 498, 499, 663, 450,
1168         // Entry C0 - FF
1169         584, 581, 807, 466, 104, 496, 446, 580,
1170         474, 478, 500, 470, 480, 462, 454, 484,
1171         458, 508, 516, 540, 562, 574, 566, 548,
1172         558, 528, 578, 524, 10, 520, 536, 570,
1173         554, 512, 591, 0, 604, 258, 598, 608,
1174         586, 616, 666, 612, 630, 275, 620, 581,
1175         585, 600, 591, 634, 959, 960, 961, 962,
1176         963, 964, 965, 966, 967, 968, 969, 970,
1177         // Entry 100 - 13F
1178         971, 972, 638, 716, 642, 688, 643, 646,
1179         682, 90, 690, 729, 752, 702, 654, 705,
1180         744, 703, 694, 674, 686, 706, 740, 728,
1181         678, 810, 222, 534, 760, 748, 0, 796,
1182         148, 260, 768, 764, 762, 772, 626, 795,
1183         788, 776, 626, 792, 780, 798, 158, 834,
1184         804, 800, 826, 581, 0, 840, 858, 860,
1185         336, 670, 704, 862, 92, 850, 704, 548,
1186         // Entry 140 - 17F
1187         876, 581, 882, 973, 974, 975, 976, 977,
1188         978, 979, 980, 981, 982, 983, 984, 985,
1189         986, 987, 988, 989, 990, 991, 992, 993,
1190         994, 995, 996, 997, 998, 720, 887, 175,
1191         891, 710, 894, 180, 716, 999,
1192 }
1193
1194 // m49Index gives indexes into fromM49 based on the three most significant bits
1195 // of a 10-bit UN.M49 code. To search an UN.M49 code in fromM49, search in
1196 //    fromM49[m49Index[msb39(code)]:m49Index[msb3(code)+1]]
1197 // for an entry where the first 7 bits match the 7 lsb of the UN.M49 code.
1198 // The region code is stored in the 9 lsb of the indexed value.
1199 // Size: 18 bytes, 9 elements
1200 var m49Index = [9]int16{
1201         0, 59, 108, 143, 181, 220, 259, 291,
1202         333,
1203 }
1204
1205 // fromM49 contains entries to map UN.M49 codes to regions. See m49Index for details.
1206 // Size: 666 bytes, 333 elements
1207 var fromM49 = [333]uint16{
1208         // Entry 0 - 3F
1209         0x0201, 0x0402, 0x0603, 0x0824, 0x0a04, 0x1027, 0x1205, 0x142b,
1210         0x1606, 0x1867, 0x1a07, 0x1c08, 0x1e09, 0x202d, 0x220a, 0x240b,
1211         0x260c, 0x2822, 0x2a0d, 0x302a, 0x3825, 0x3a0e, 0x3c0f, 0x3e32,
1212         0x402c, 0x4410, 0x4611, 0x482f, 0x4e12, 0x502e, 0x5842, 0x6039,
1213         0x6435, 0x6628, 0x6834, 0x6a13, 0x6c14, 0x7036, 0x7215, 0x783d,
1214         0x7a16, 0x8043, 0x883f, 0x8c33, 0x9046, 0x9445, 0x9841, 0xa848,
1215         0xac9a, 0xb509, 0xb93c, 0xc03e, 0xc838, 0xd0c4, 0xd83a, 0xe047,
1216         0xe8a6, 0xf052, 0xf849, 0x085a, 0x10ad, 0x184c, 0x1c17, 0x1e18,
1217         // Entry 40 - 7F
1218         0x20b3, 0x2219, 0x2920, 0x2c1a, 0x2e1b, 0x3051, 0x341c, 0x361d,
1219         0x3853, 0x3d2e, 0x445c, 0x4c4a, 0x5454, 0x5ca8, 0x5f5f, 0x644d,
1220         0x684b, 0x7050, 0x7856, 0x7e90, 0x8059, 0x885d, 0x941e, 0x965e,
1221         0x983b, 0xa063, 0xa864, 0xac65, 0xb469, 0xbd1a, 0xc486, 0xcc6f,
1222         0xce6f, 0xd06d, 0xd26a, 0xd476, 0xdc74, 0xde88, 0xe473, 0xec72,
1223         0xf031, 0xf279, 0xf478, 0xfc7e, 0x04e5, 0x0921, 0x0c62, 0x147a,
1224         0x187d, 0x1c83, 0x26ed, 0x2860, 0x2c5f, 0x3060, 0x4080, 0x4881,
1225         0x50a7, 0x5887, 0x6082, 0x687c, 0x7085, 0x788a, 0x8089, 0x8884,
1226         // Entry 80 - BF
1227         0x908c, 0x9891, 0x9c8e, 0xa138, 0xa88f, 0xb08d, 0xb892, 0xc09d,
1228         0xc899, 0xd095, 0xd89c, 0xe09b, 0xe896, 0xf097, 0xf89e, 0x004f,
1229         0x08a0, 0x10a2, 0x1cae, 0x20a1, 0x28a4, 0x30aa, 0x34ab, 0x3cac,
1230         0x42a5, 0x44af, 0x461f, 0x4cb0, 0x54b5, 0x58b8, 0x5cb4, 0x64b9,
1231         0x6cb2, 0x70b6, 0x74b7, 0x7cc6, 0x84bf, 0x8cce, 0x94d0, 0x9ccd,
1232         0xa4c3, 0xaccb, 0xb4c8, 0xbcc9, 0xc0cc, 0xc8cf, 0xd8bb, 0xe0c5,
1233         0xe4bc, 0xe6bd, 0xe8ca, 0xf0ba, 0xf8d1, 0x00e1, 0x08d2, 0x10dd,
1234         0x18db, 0x20d9, 0x2429, 0x265b, 0x2a30, 0x2d1b, 0x2e40, 0x30de,
1235         // Entry C0 - FF
1236         0x38d3, 0x493f, 0x54e0, 0x5cd8, 0x64d4, 0x6cd6, 0x74df, 0x7cd5,
1237         0x84da, 0x88c7, 0x8b33, 0x8e75, 0x90c0, 0x92f0, 0x94e8, 0x9ee2,
1238         0xace6, 0xb0f1, 0xb8e4, 0xc0e7, 0xc8eb, 0xd0e9, 0xd8ee, 0xe08b,
1239         0xe526, 0xecec, 0xf4f3, 0xfd02, 0x0504, 0x0706, 0x0d07, 0x183c,
1240         0x1d0e, 0x26a9, 0x2826, 0x2cb1, 0x2ebe, 0x34ea, 0x3d39, 0x4513,
1241         0x4d18, 0x5508, 0x5d14, 0x6105, 0x650a, 0x6d12, 0x7d0d, 0x7f11,
1242         0x813e, 0x830f, 0x8515, 0x8d61, 0x9964, 0xa15d, 0xa86e, 0xb117,
1243         0xb30b, 0xb86c, 0xc10b, 0xc916, 0xd110, 0xd91d, 0xe10c, 0xe84e,
1244         // Entry 100 - 13F
1245         0xf11c, 0xf524, 0xf923, 0x0122, 0x0925, 0x1129, 0x192c, 0x2023,
1246         0x2928, 0x312b, 0x3727, 0x391f, 0x3d2d, 0x4131, 0x4930, 0x4ec2,
1247         0x5519, 0x646b, 0x747b, 0x7e7f, 0x809f, 0x8298, 0x852f, 0x9135,
1248         0xa53d, 0xac37, 0xb536, 0xb937, 0xbd3b, 0xd940, 0xe542, 0xed5e,
1249         0xef5e, 0xf657, 0xfd62, 0x7c20, 0x7ef4, 0x80f5, 0x82f6, 0x84f7,
1250         0x86f8, 0x88f9, 0x8afa, 0x8cfb, 0x8e70, 0x90fd, 0x92fe, 0x94ff,
1251         0x9700, 0x9901, 0x9b43, 0x9d44, 0x9f45, 0xa146, 0xa347, 0xa548,
1252         0xa749, 0xa94a, 0xab4b, 0xad4c, 0xaf4d, 0xb14e, 0xb34f, 0xb550,
1253         // Entry 140 - 17F
1254         0xb751, 0xb952, 0xbb53, 0xbd54, 0xbf55, 0xc156, 0xc357, 0xc558,
1255         0xc759, 0xc95a, 0xcb5b, 0xcd5c, 0xcf65,
1256 }
1257
1258 // Size: 1615 bytes
1259 var variantIndex = map[string]uint8{
1260         "1606nict": 0x0,
1261         "1694acad": 0x1,
1262         "1901":     0x2,
1263         "1959acad": 0x3,
1264         "1994":     0x4d,
1265         "1996":     0x4,
1266         "abl1943":  0x5,
1267         "akuapem":  0x6,
1268         "alalc97":  0x4f,
1269         "aluku":    0x7,
1270         "ao1990":   0x8,
1271         "arevela":  0x9,
1272         "arevmda":  0xa,
1273         "asante":   0xb,
1274         "baku1926": 0xc,
1275         "balanka":  0xd,
1276         "barla":    0xe,
1277         "basiceng": 0xf,
1278         "bauddha":  0x10,
1279         "biscayan": 0x11,
1280         "biske":    0x48,
1281         "bohoric":  0x12,
1282         "boont":    0x13,
1283         "colb1945": 0x14,
1284         "cornu":    0x15,
1285         "dajnko":   0x16,
1286         "ekavsk":   0x17,
1287         "emodeng":  0x18,
1288         "fonipa":   0x50,
1289         "fonnapa":  0x51,
1290         "fonupa":   0x52,
1291         "fonxsamp": 0x53,
1292         "hepburn":  0x19,
1293         "heploc":   0x4e,
1294         "hognorsk": 0x1a,
1295         "hsistemo": 0x1b,
1296         "ijekavsk": 0x1c,
1297         "itihasa":  0x1d,
1298         "jauer":    0x1e,
1299         "jyutping": 0x1f,
1300         "kkcor":    0x20,
1301         "kociewie": 0x21,
1302         "kscor":    0x22,
1303         "laukika":  0x23,
1304         "lipaw":    0x49,
1305         "luna1918": 0x24,
1306         "metelko":  0x25,
1307         "monoton":  0x26,
1308         "ndyuka":   0x27,
1309         "nedis":    0x28,
1310         "newfound": 0x29,
1311         "njiva":    0x4a,
1312         "nulik":    0x2a,
1313         "osojs":    0x4b,
1314         "oxendict": 0x2b,
1315         "pahawh2":  0x2c,
1316         "pahawh3":  0x2d,
1317         "pahawh4":  0x2e,
1318         "pamaka":   0x2f,
1319         "petr1708": 0x30,
1320         "pinyin":   0x31,
1321         "polyton":  0x32,
1322         "puter":    0x33,
1323         "rigik":    0x34,
1324         "rozaj":    0x35,
1325         "rumgr":    0x36,
1326         "scotland": 0x37,
1327         "scouse":   0x38,
1328         "simple":   0x54,
1329         "solba":    0x4c,
1330         "sotav":    0x39,
1331         "spanglis": 0x3a,
1332         "surmiran": 0x3b,
1333         "sursilv":  0x3c,
1334         "sutsilv":  0x3d,
1335         "tarask":   0x3e,
1336         "uccor":    0x3f,
1337         "ucrcor":   0x40,
1338         "ulster":   0x41,
1339         "unifon":   0x42,
1340         "vaidika":  0x43,
1341         "valencia": 0x44,
1342         "vallader": 0x45,
1343         "wadegile": 0x46,
1344         "xsistemo": 0x47,
1345 }
1346
1347 // variantNumSpecialized is the number of specialized variants in variants.
1348 const variantNumSpecialized = 79
1349
1350 // nRegionGroups is the number of region groups.
1351 const nRegionGroups = 33
1352
1353 type likelyLangRegion struct {
1354         lang   uint16
1355         region uint16
1356 }
1357
1358 // likelyScript is a lookup table, indexed by scriptID, for the most likely
1359 // languages and regions given a script.
1360 // Size: 976 bytes, 244 elements
1361 var likelyScript = [244]likelyLangRegion{
1362         1:   {lang: 0x14e, region: 0x84},
1363         3:   {lang: 0x2a2, region: 0x106},
1364         4:   {lang: 0x1f, region: 0x99},
1365         5:   {lang: 0x3a, region: 0x6b},
1366         7:   {lang: 0x3b, region: 0x9c},
1367         8:   {lang: 0x1d7, region: 0x28},
1368         9:   {lang: 0x13, region: 0x9c},
1369         10:  {lang: 0x5b, region: 0x95},
1370         11:  {lang: 0x60, region: 0x52},
1371         12:  {lang: 0xb9, region: 0xb4},
1372         13:  {lang: 0x63, region: 0x95},
1373         14:  {lang: 0xa5, region: 0x35},
1374         15:  {lang: 0x3e9, region: 0x99},
1375         17:  {lang: 0x529, region: 0x12e},
1376         18:  {lang: 0x3b1, region: 0x99},
1377         19:  {lang: 0x15e, region: 0x78},
1378         20:  {lang: 0xc2, region: 0x95},
1379         21:  {lang: 0x9d, region: 0xe7},
1380         22:  {lang: 0xdb, region: 0x35},
1381         23:  {lang: 0xf3, region: 0x49},
1382         24:  {lang: 0x4f0, region: 0x12b},
1383         25:  {lang: 0xe7, region: 0x13e},
1384         26:  {lang: 0xe5, region: 0x135},
1385         28:  {lang: 0xf1, region: 0x6b},
1386         30:  {lang: 0x1a0, region: 0x5d},
1387         31:  {lang: 0x3e2, region: 0x106},
1388         33:  {lang: 0x1be, region: 0x99},
1389         36:  {lang: 0x15e, region: 0x78},
1390         39:  {lang: 0x133, region: 0x6b},
1391         40:  {lang: 0x431, region: 0x27},
1392         41:  {lang: 0x27, region: 0x6f},
1393         43:  {lang: 0x210, region: 0x7d},
1394         44:  {lang: 0xfe, region: 0x38},
1395         46:  {lang: 0x19b, region: 0x99},
1396         47:  {lang: 0x19e, region: 0x130},
1397         48:  {lang: 0x3e9, region: 0x99},
1398         49:  {lang: 0x136, region: 0x87},
1399         50:  {lang: 0x1a4, region: 0x99},
1400         51:  {lang: 0x39d, region: 0x99},
1401         52:  {lang: 0x529, region: 0x12e},
1402         53:  {lang: 0x254, region: 0xab},
1403         54:  {lang: 0x529, region: 0x53},
1404         55:  {lang: 0x1cb, region: 0xe7},
1405         56:  {lang: 0x529, region: 0x53},
1406         57:  {lang: 0x529, region: 0x12e},
1407         58:  {lang: 0x2fd, region: 0x9b},
1408         59:  {lang: 0x1bc, region: 0x97},
1409         60:  {lang: 0x200, region: 0xa2},
1410         61:  {lang: 0x1c5, region: 0x12b},
1411         62:  {lang: 0x1ca, region: 0xaf},
1412         65:  {lang: 0x1d5, region: 0x92},
1413         67:  {lang: 0x142, region: 0x9e},
1414         68:  {lang: 0x254, region: 0xab},
1415         69:  {lang: 0x20e, region: 0x95},
1416         70:  {lang: 0x200, region: 0xa2},
1417         72:  {lang: 0x135, region: 0xc4},
1418         73:  {lang: 0x200, region: 0xa2},
1419         74:  {lang: 0x3bb, region: 0xe8},
1420         75:  {lang: 0x24a, region: 0xa6},
1421         76:  {lang: 0x3fa, region: 0x99},
1422         79:  {lang: 0x251, region: 0x99},
1423         80:  {lang: 0x254, region: 0xab},
1424         82:  {lang: 0x88, region: 0x99},
1425         83:  {lang: 0x370, region: 0x123},
1426         84:  {lang: 0x2b8, region: 0xaf},
1427         89:  {lang: 0x29f, region: 0x99},
1428         90:  {lang: 0x2a8, region: 0x99},
1429         91:  {lang: 0x28f, region: 0x87},
1430         92:  {lang: 0x1a0, region: 0x87},
1431         93:  {lang: 0x2ac, region: 0x53},
1432         95:  {lang: 0x4f4, region: 0x12b},
1433         96:  {lang: 0x4f5, region: 0x12b},
1434         97:  {lang: 0x1be, region: 0x99},
1435         99:  {lang: 0x337, region: 0x9c},
1436         100: {lang: 0x4f7, region: 0x53},
1437         101: {lang: 0xa9, region: 0x53},
1438         104: {lang: 0x2e8, region: 0x112},
1439         105: {lang: 0x4f8, region: 0x10b},
1440         106: {lang: 0x4f8, region: 0x10b},
1441         107: {lang: 0x304, region: 0x99},
1442         108: {lang: 0x31b, region: 0x99},
1443         109: {lang: 0x30b, region: 0x53},
1444         111: {lang: 0x31e, region: 0x35},
1445         112: {lang: 0x30e, region: 0x99},
1446         113: {lang: 0x414, region: 0xe8},
1447         114: {lang: 0x331, region: 0xc4},
1448         115: {lang: 0x4f9, region: 0x108},
1449         116: {lang: 0x3b, region: 0xa1},
1450         117: {lang: 0x353, region: 0xdb},
1451         120: {lang: 0x2d0, region: 0x84},
1452         121: {lang: 0x52a, region: 0x53},
1453         122: {lang: 0x403, region: 0x96},
1454         123: {lang: 0x3ee, region: 0x99},
1455         124: {lang: 0x39b, region: 0xc5},
1456         125: {lang: 0x395, region: 0x99},
1457         126: {lang: 0x399, region: 0x135},
1458         127: {lang: 0x429, region: 0x115},
1459         128: {lang: 0x3b, region: 0x11c},
1460         129: {lang: 0xfd, region: 0xc4},
1461         130: {lang: 0x27d, region: 0x106},
1462         131: {lang: 0x2c9, region: 0x53},
1463         132: {lang: 0x39f, region: 0x9c},
1464         133: {lang: 0x39f, region: 0x53},
1465         135: {lang: 0x3ad, region: 0xb0},
1466         137: {lang: 0x1c6, region: 0x53},
1467         138: {lang: 0x4fd, region: 0x9c},
1468         189: {lang: 0x3cb, region: 0x95},
1469         191: {lang: 0x372, region: 0x10c},
1470         192: {lang: 0x420, region: 0x97},
1471         194: {lang: 0x4ff, region: 0x15e},
1472         195: {lang: 0x3f0, region: 0x99},
1473         196: {lang: 0x45, region: 0x135},
1474         197: {lang: 0x139, region: 0x7b},
1475         198: {lang: 0x3e9, region: 0x99},
1476         200: {lang: 0x3e9, region: 0x99},
1477         201: {lang: 0x3fa, region: 0x99},
1478         202: {lang: 0x40c, region: 0xb3},
1479         203: {lang: 0x433, region: 0x99},
1480         204: {lang: 0xef, region: 0xc5},
1481         205: {lang: 0x43e, region: 0x95},
1482         206: {lang: 0x44d, region: 0x35},
1483         207: {lang: 0x44e, region: 0x9b},
1484         211: {lang: 0x45a, region: 0xe7},
1485         212: {lang: 0x11a, region: 0x99},
1486         213: {lang: 0x45e, region: 0x53},
1487         214: {lang: 0x232, region: 0x53},
1488         215: {lang: 0x450, region: 0x99},
1489         216: {lang: 0x4a5, region: 0x53},
1490         217: {lang: 0x9f, region: 0x13e},
1491         218: {lang: 0x461, region: 0x99},
1492         220: {lang: 0x528, region: 0xba},
1493         221: {lang: 0x153, region: 0xe7},
1494         222: {lang: 0x128, region: 0xcd},
1495         223: {lang: 0x46b, region: 0x123},
1496         224: {lang: 0xa9, region: 0x53},
1497         225: {lang: 0x2ce, region: 0x99},
1498         226: {lang: 0x4ad, region: 0x11c},
1499         227: {lang: 0x4be, region: 0xb4},
1500         229: {lang: 0x1ce, region: 0x99},
1501         232: {lang: 0x3a9, region: 0x9c},
1502         233: {lang: 0x22, region: 0x9b},
1503         234: {lang: 0x1ea, region: 0x53},
1504         235: {lang: 0xef, region: 0xc5},
1505 }
1506
1507 type likelyScriptRegion struct {
1508         region uint16
1509         script uint8
1510         flags  uint8
1511 }
1512
1513 // likelyLang is a lookup table, indexed by langID, for the most likely
1514 // scripts and regions given incomplete information. If more entries exist for a
1515 // given language, region and script are the index and size respectively
1516 // of the list in likelyLangList.
1517 // Size: 5320 bytes, 1330 elements
1518 var likelyLang = [1330]likelyScriptRegion{
1519         0:    {region: 0x135, script: 0x57, flags: 0x0},
1520         1:    {region: 0x6f, script: 0x57, flags: 0x0},
1521         2:    {region: 0x165, script: 0x57, flags: 0x0},
1522         3:    {region: 0x165, script: 0x57, flags: 0x0},
1523         4:    {region: 0x165, script: 0x57, flags: 0x0},
1524         5:    {region: 0x7d, script: 0x1f, flags: 0x0},
1525         6:    {region: 0x165, script: 0x57, flags: 0x0},
1526         7:    {region: 0x165, script: 0x1f, flags: 0x0},
1527         8:    {region: 0x80, script: 0x57, flags: 0x0},
1528         9:    {region: 0x165, script: 0x57, flags: 0x0},
1529         10:   {region: 0x165, script: 0x57, flags: 0x0},
1530         11:   {region: 0x165, script: 0x57, flags: 0x0},
1531         12:   {region: 0x95, script: 0x57, flags: 0x0},
1532         13:   {region: 0x131, script: 0x57, flags: 0x0},
1533         14:   {region: 0x80, script: 0x57, flags: 0x0},
1534         15:   {region: 0x165, script: 0x57, flags: 0x0},
1535         16:   {region: 0x165, script: 0x57, flags: 0x0},
1536         17:   {region: 0x106, script: 0x1f, flags: 0x0},
1537         18:   {region: 0x165, script: 0x57, flags: 0x0},
1538         19:   {region: 0x9c, script: 0x9, flags: 0x0},
1539         20:   {region: 0x128, script: 0x5, flags: 0x0},
1540         21:   {region: 0x165, script: 0x57, flags: 0x0},
1541         22:   {region: 0x161, script: 0x57, flags: 0x0},
1542         23:   {region: 0x165, script: 0x57, flags: 0x0},
1543         24:   {region: 0x165, script: 0x57, flags: 0x0},
1544         25:   {region: 0x165, script: 0x57, flags: 0x0},
1545         26:   {region: 0x165, script: 0x57, flags: 0x0},
1546         27:   {region: 0x165, script: 0x57, flags: 0x0},
1547         28:   {region: 0x52, script: 0x57, flags: 0x0},
1548         29:   {region: 0x165, script: 0x57, flags: 0x0},
1549         30:   {region: 0x165, script: 0x57, flags: 0x0},
1550         31:   {region: 0x99, script: 0x4, flags: 0x0},
1551         32:   {region: 0x165, script: 0x57, flags: 0x0},
1552         33:   {region: 0x80, script: 0x57, flags: 0x0},
1553         34:   {region: 0x9b, script: 0xe9, flags: 0x0},
1554         35:   {region: 0x165, script: 0x57, flags: 0x0},
1555         36:   {region: 0x165, script: 0x57, flags: 0x0},
1556         37:   {region: 0x14d, script: 0x57, flags: 0x0},
1557         38:   {region: 0x106, script: 0x1f, flags: 0x0},
1558         39:   {region: 0x6f, script: 0x29, flags: 0x0},
1559         40:   {region: 0x165, script: 0x57, flags: 0x0},
1560         41:   {region: 0x165, script: 0x57, flags: 0x0},
1561         42:   {region: 0xd6, script: 0x57, flags: 0x0},
1562         43:   {region: 0x165, script: 0x57, flags: 0x0},
1563         45:   {region: 0x165, script: 0x57, flags: 0x0},
1564         46:   {region: 0x165, script: 0x57, flags: 0x0},
1565         47:   {region: 0x165, script: 0x57, flags: 0x0},
1566         48:   {region: 0x165, script: 0x57, flags: 0x0},
1567         49:   {region: 0x165, script: 0x57, flags: 0x0},
1568         50:   {region: 0x165, script: 0x57, flags: 0x0},
1569         51:   {region: 0x95, script: 0x57, flags: 0x0},
1570         52:   {region: 0x165, script: 0x5, flags: 0x0},
1571         53:   {region: 0x122, script: 0x5, flags: 0x0},
1572         54:   {region: 0x165, script: 0x57, flags: 0x0},
1573         55:   {region: 0x165, script: 0x57, flags: 0x0},
1574         56:   {region: 0x165, script: 0x57, flags: 0x0},
1575         57:   {region: 0x165, script: 0x57, flags: 0x0},
1576         58:   {region: 0x6b, script: 0x5, flags: 0x0},
1577         59:   {region: 0x0, script: 0x3, flags: 0x1},
1578         60:   {region: 0x165, script: 0x57, flags: 0x0},
1579         61:   {region: 0x51, script: 0x57, flags: 0x0},
1580         62:   {region: 0x3f, script: 0x57, flags: 0x0},
1581         63:   {region: 0x67, script: 0x5, flags: 0x0},
1582         65:   {region: 0xba, script: 0x5, flags: 0x0},
1583         66:   {region: 0x6b, script: 0x5, flags: 0x0},
1584         67:   {region: 0x99, script: 0xe, flags: 0x0},
1585         68:   {region: 0x12f, script: 0x57, flags: 0x0},
1586         69:   {region: 0x135, script: 0xc4, flags: 0x0},
1587         70:   {region: 0x165, script: 0x57, flags: 0x0},
1588         71:   {region: 0x165, script: 0x57, flags: 0x0},
1589         72:   {region: 0x6e, script: 0x57, flags: 0x0},
1590         73:   {region: 0x165, script: 0x57, flags: 0x0},
1591         74:   {region: 0x165, script: 0x57, flags: 0x0},
1592         75:   {region: 0x49, script: 0x57, flags: 0x0},
1593         76:   {region: 0x165, script: 0x57, flags: 0x0},
1594         77:   {region: 0x106, script: 0x1f, flags: 0x0},
1595         78:   {region: 0x165, script: 0x5, flags: 0x0},
1596         79:   {region: 0x165, script: 0x57, flags: 0x0},
1597         80:   {region: 0x165, script: 0x57, flags: 0x0},
1598         81:   {region: 0x165, script: 0x57, flags: 0x0},
1599         82:   {region: 0x99, script: 0x21, flags: 0x0},
1600         83:   {region: 0x165, script: 0x57, flags: 0x0},
1601         84:   {region: 0x165, script: 0x57, flags: 0x0},
1602         85:   {region: 0x165, script: 0x57, flags: 0x0},
1603         86:   {region: 0x3f, script: 0x57, flags: 0x0},
1604         87:   {region: 0x165, script: 0x57, flags: 0x0},
1605         88:   {region: 0x3, script: 0x5, flags: 0x1},
1606         89:   {region: 0x106, script: 0x1f, flags: 0x0},
1607         90:   {region: 0xe8, script: 0x5, flags: 0x0},
1608         91:   {region: 0x95, script: 0x57, flags: 0x0},
1609         92:   {region: 0xdb, script: 0x21, flags: 0x0},
1610         93:   {region: 0x2e, script: 0x57, flags: 0x0},
1611         94:   {region: 0x52, script: 0x57, flags: 0x0},
1612         95:   {region: 0x165, script: 0x57, flags: 0x0},
1613         96:   {region: 0x52, script: 0xb, flags: 0x0},
1614         97:   {region: 0x165, script: 0x57, flags: 0x0},
1615         98:   {region: 0x165, script: 0x57, flags: 0x0},
1616         99:   {region: 0x95, script: 0x57, flags: 0x0},
1617         100:  {region: 0x165, script: 0x57, flags: 0x0},
1618         101:  {region: 0x52, script: 0x57, flags: 0x0},
1619         102:  {region: 0x165, script: 0x57, flags: 0x0},
1620         103:  {region: 0x165, script: 0x57, flags: 0x0},
1621         104:  {region: 0x165, script: 0x57, flags: 0x0},
1622         105:  {region: 0x165, script: 0x57, flags: 0x0},
1623         106:  {region: 0x4f, script: 0x57, flags: 0x0},
1624         107:  {region: 0x165, script: 0x57, flags: 0x0},
1625         108:  {region: 0x165, script: 0x57, flags: 0x0},
1626         109:  {region: 0x165, script: 0x57, flags: 0x0},
1627         110:  {region: 0x165, script: 0x29, flags: 0x0},
1628         111:  {region: 0x165, script: 0x57, flags: 0x0},
1629         112:  {region: 0x165, script: 0x57, flags: 0x0},
1630         113:  {region: 0x47, script: 0x1f, flags: 0x0},
1631         114:  {region: 0x165, script: 0x57, flags: 0x0},
1632         115:  {region: 0x165, script: 0x57, flags: 0x0},
1633         116:  {region: 0x10b, script: 0x5, flags: 0x0},
1634         117:  {region: 0x162, script: 0x57, flags: 0x0},
1635         118:  {region: 0x165, script: 0x57, flags: 0x0},
1636         119:  {region: 0x95, script: 0x57, flags: 0x0},
1637         120:  {region: 0x165, script: 0x57, flags: 0x0},
1638         121:  {region: 0x12f, script: 0x57, flags: 0x0},
1639         122:  {region: 0x52, script: 0x57, flags: 0x0},
1640         123:  {region: 0x99, script: 0xd7, flags: 0x0},
1641         124:  {region: 0xe8, script: 0x5, flags: 0x0},
1642         125:  {region: 0x99, script: 0x21, flags: 0x0},
1643         126:  {region: 0x38, script: 0x1f, flags: 0x0},
1644         127:  {region: 0x99, script: 0x21, flags: 0x0},
1645         128:  {region: 0xe8, script: 0x5, flags: 0x0},
1646         129:  {region: 0x12b, script: 0x31, flags: 0x0},
1647         131:  {region: 0x99, script: 0x21, flags: 0x0},
1648         132:  {region: 0x165, script: 0x57, flags: 0x0},
1649         133:  {region: 0x99, script: 0x21, flags: 0x0},
1650         134:  {region: 0xe7, script: 0x57, flags: 0x0},
1651         135:  {region: 0x165, script: 0x57, flags: 0x0},
1652         136:  {region: 0x99, script: 0x21, flags: 0x0},
1653         137:  {region: 0x165, script: 0x57, flags: 0x0},
1654         138:  {region: 0x13f, script: 0x57, flags: 0x0},
1655         139:  {region: 0x165, script: 0x57, flags: 0x0},
1656         140:  {region: 0x165, script: 0x57, flags: 0x0},
1657         141:  {region: 0xe7, script: 0x57, flags: 0x0},
1658         142:  {region: 0x165, script: 0x57, flags: 0x0},
1659         143:  {region: 0xd6, script: 0x57, flags: 0x0},
1660         144:  {region: 0x165, script: 0x57, flags: 0x0},
1661         145:  {region: 0x165, script: 0x57, flags: 0x0},
1662         146:  {region: 0x165, script: 0x57, flags: 0x0},
1663         147:  {region: 0x165, script: 0x29, flags: 0x0},
1664         148:  {region: 0x99, script: 0x21, flags: 0x0},
1665         149:  {region: 0x95, script: 0x57, flags: 0x0},
1666         150:  {region: 0x165, script: 0x57, flags: 0x0},
1667         151:  {region: 0x165, script: 0x57, flags: 0x0},
1668         152:  {region: 0x114, script: 0x57, flags: 0x0},
1669         153:  {region: 0x165, script: 0x57, flags: 0x0},
1670         154:  {region: 0x165, script: 0x57, flags: 0x0},
1671         155:  {region: 0x52, script: 0x57, flags: 0x0},
1672         156:  {region: 0x165, script: 0x57, flags: 0x0},
1673         157:  {region: 0xe7, script: 0x57, flags: 0x0},
1674         158:  {region: 0x165, script: 0x57, flags: 0x0},
1675         159:  {region: 0x13e, script: 0xd9, flags: 0x0},
1676         160:  {region: 0xc3, script: 0x57, flags: 0x0},
1677         161:  {region: 0x165, script: 0x57, flags: 0x0},
1678         162:  {region: 0x165, script: 0x57, flags: 0x0},
1679         163:  {region: 0xc3, script: 0x57, flags: 0x0},
1680         164:  {region: 0x165, script: 0x57, flags: 0x0},
1681         165:  {region: 0x35, script: 0xe, flags: 0x0},
1682         166:  {region: 0x165, script: 0x57, flags: 0x0},
1683         167:  {region: 0x165, script: 0x57, flags: 0x0},
1684         168:  {region: 0x165, script: 0x57, flags: 0x0},
1685         169:  {region: 0x53, script: 0xe0, flags: 0x0},
1686         170:  {region: 0x165, script: 0x57, flags: 0x0},
1687         171:  {region: 0x165, script: 0x57, flags: 0x0},
1688         172:  {region: 0x165, script: 0x57, flags: 0x0},
1689         173:  {region: 0x99, script: 0xe, flags: 0x0},
1690         174:  {region: 0x165, script: 0x57, flags: 0x0},
1691         175:  {region: 0x9c, script: 0x5, flags: 0x0},
1692         176:  {region: 0x165, script: 0x57, flags: 0x0},
1693         177:  {region: 0x4f, script: 0x57, flags: 0x0},
1694         178:  {region: 0x78, script: 0x57, flags: 0x0},
1695         179:  {region: 0x99, script: 0x21, flags: 0x0},
1696         180:  {region: 0xe8, script: 0x5, flags: 0x0},
1697         181:  {region: 0x99, script: 0x21, flags: 0x0},
1698         182:  {region: 0x165, script: 0x57, flags: 0x0},
1699         183:  {region: 0x33, script: 0x57, flags: 0x0},
1700         184:  {region: 0x165, script: 0x57, flags: 0x0},
1701         185:  {region: 0xb4, script: 0xc, flags: 0x0},
1702         186:  {region: 0x52, script: 0x57, flags: 0x0},
1703         187:  {region: 0x165, script: 0x29, flags: 0x0},
1704         188:  {region: 0xe7, script: 0x57, flags: 0x0},
1705         189:  {region: 0x165, script: 0x57, flags: 0x0},
1706         190:  {region: 0xe8, script: 0x21, flags: 0x0},
1707         191:  {region: 0x106, script: 0x1f, flags: 0x0},
1708         192:  {region: 0x15f, script: 0x57, flags: 0x0},
1709         193:  {region: 0x165, script: 0x57, flags: 0x0},
1710         194:  {region: 0x95, script: 0x57, flags: 0x0},
1711         195:  {region: 0x165, script: 0x57, flags: 0x0},
1712         196:  {region: 0x52, script: 0x57, flags: 0x0},
1713         197:  {region: 0x165, script: 0x57, flags: 0x0},
1714         198:  {region: 0x165, script: 0x57, flags: 0x0},
1715         199:  {region: 0x165, script: 0x57, flags: 0x0},
1716         200:  {region: 0x86, script: 0x57, flags: 0x0},
1717         201:  {region: 0x165, script: 0x57, flags: 0x0},
1718         202:  {region: 0x165, script: 0x57, flags: 0x0},
1719         203:  {region: 0x165, script: 0x57, flags: 0x0},
1720         204:  {region: 0x165, script: 0x57, flags: 0x0},
1721         205:  {region: 0x6d, script: 0x29, flags: 0x0},
1722         206:  {region: 0x165, script: 0x57, flags: 0x0},
1723         207:  {region: 0x165, script: 0x57, flags: 0x0},
1724         208:  {region: 0x52, script: 0x57, flags: 0x0},
1725         209:  {region: 0x165, script: 0x57, flags: 0x0},
1726         210:  {region: 0x165, script: 0x57, flags: 0x0},
1727         211:  {region: 0xc3, script: 0x57, flags: 0x0},
1728         212:  {region: 0x165, script: 0x57, flags: 0x0},
1729         213:  {region: 0x165, script: 0x57, flags: 0x0},
1730         214:  {region: 0x165, script: 0x57, flags: 0x0},
1731         215:  {region: 0x6e, script: 0x57, flags: 0x0},
1732         216:  {region: 0x165, script: 0x57, flags: 0x0},
1733         217:  {region: 0x165, script: 0x57, flags: 0x0},
1734         218:  {region: 0xd6, script: 0x57, flags: 0x0},
1735         219:  {region: 0x35, script: 0x16, flags: 0x0},
1736         220:  {region: 0x106, script: 0x1f, flags: 0x0},
1737         221:  {region: 0xe7, script: 0x57, flags: 0x0},
1738         222:  {region: 0x165, script: 0x57, flags: 0x0},
1739         223:  {region: 0x131, script: 0x57, flags: 0x0},
1740         224:  {region: 0x8a, script: 0x57, flags: 0x0},
1741         225:  {region: 0x75, script: 0x57, flags: 0x0},
1742         226:  {region: 0x106, script: 0x1f, flags: 0x0},
1743         227:  {region: 0x135, script: 0x57, flags: 0x0},
1744         228:  {region: 0x49, script: 0x57, flags: 0x0},
1745         229:  {region: 0x135, script: 0x1a, flags: 0x0},
1746         230:  {region: 0xa6, script: 0x5, flags: 0x0},
1747         231:  {region: 0x13e, script: 0x19, flags: 0x0},
1748         232:  {region: 0x165, script: 0x57, flags: 0x0},
1749         233:  {region: 0x9b, script: 0x5, flags: 0x0},
1750         234:  {region: 0x165, script: 0x57, flags: 0x0},
1751         235:  {region: 0x165, script: 0x57, flags: 0x0},
1752         236:  {region: 0x165, script: 0x57, flags: 0x0},
1753         237:  {region: 0x165, script: 0x57, flags: 0x0},
1754         238:  {region: 0x165, script: 0x57, flags: 0x0},
1755         239:  {region: 0xc5, script: 0xcc, flags: 0x0},
1756         240:  {region: 0x78, script: 0x57, flags: 0x0},
1757         241:  {region: 0x6b, script: 0x1c, flags: 0x0},
1758         242:  {region: 0xe7, script: 0x57, flags: 0x0},
1759         243:  {region: 0x49, script: 0x17, flags: 0x0},
1760         244:  {region: 0x130, script: 0x1f, flags: 0x0},
1761         245:  {region: 0x49, script: 0x17, flags: 0x0},
1762         246:  {region: 0x49, script: 0x17, flags: 0x0},
1763         247:  {region: 0x49, script: 0x17, flags: 0x0},
1764         248:  {region: 0x49, script: 0x17, flags: 0x0},
1765         249:  {region: 0x10a, script: 0x57, flags: 0x0},
1766         250:  {region: 0x5e, script: 0x57, flags: 0x0},
1767         251:  {region: 0xe9, script: 0x57, flags: 0x0},
1768         252:  {region: 0x49, script: 0x17, flags: 0x0},
1769         253:  {region: 0xc4, script: 0x81, flags: 0x0},
1770         254:  {region: 0x8, script: 0x2, flags: 0x1},
1771         255:  {region: 0x106, script: 0x1f, flags: 0x0},
1772         256:  {region: 0x7b, script: 0x57, flags: 0x0},
1773         257:  {region: 0x63, script: 0x57, flags: 0x0},
1774         258:  {region: 0x165, script: 0x57, flags: 0x0},
1775         259:  {region: 0x165, script: 0x57, flags: 0x0},
1776         260:  {region: 0x165, script: 0x57, flags: 0x0},
1777         261:  {region: 0x165, script: 0x57, flags: 0x0},
1778         262:  {region: 0x135, script: 0x57, flags: 0x0},
1779         263:  {region: 0x106, script: 0x1f, flags: 0x0},
1780         264:  {region: 0xa4, script: 0x57, flags: 0x0},
1781         265:  {region: 0x165, script: 0x57, flags: 0x0},
1782         266:  {region: 0x165, script: 0x57, flags: 0x0},
1783         267:  {region: 0x99, script: 0x5, flags: 0x0},
1784         268:  {region: 0x165, script: 0x57, flags: 0x0},
1785         269:  {region: 0x60, script: 0x57, flags: 0x0},
1786         270:  {region: 0x165, script: 0x57, flags: 0x0},
1787         271:  {region: 0x49, script: 0x57, flags: 0x0},
1788         272:  {region: 0x165, script: 0x57, flags: 0x0},
1789         273:  {region: 0x165, script: 0x57, flags: 0x0},
1790         274:  {region: 0x165, script: 0x57, flags: 0x0},
1791         275:  {region: 0x165, script: 0x5, flags: 0x0},
1792         276:  {region: 0x49, script: 0x57, flags: 0x0},
1793         277:  {region: 0x165, script: 0x57, flags: 0x0},
1794         278:  {region: 0x165, script: 0x57, flags: 0x0},
1795         279:  {region: 0xd4, script: 0x57, flags: 0x0},
1796         280:  {region: 0x4f, script: 0x57, flags: 0x0},
1797         281:  {region: 0x165, script: 0x57, flags: 0x0},
1798         282:  {region: 0x99, script: 0x5, flags: 0x0},
1799         283:  {region: 0x165, script: 0x57, flags: 0x0},
1800         284:  {region: 0x165, script: 0x57, flags: 0x0},
1801         285:  {region: 0x165, script: 0x57, flags: 0x0},
1802         286:  {region: 0x165, script: 0x29, flags: 0x0},
1803         287:  {region: 0x60, script: 0x57, flags: 0x0},
1804         288:  {region: 0xc3, script: 0x57, flags: 0x0},
1805         289:  {region: 0xd0, script: 0x57, flags: 0x0},
1806         290:  {region: 0x165, script: 0x57, flags: 0x0},
1807         291:  {region: 0xdb, script: 0x21, flags: 0x0},
1808         292:  {region: 0x52, script: 0x57, flags: 0x0},
1809         293:  {region: 0x165, script: 0x57, flags: 0x0},
1810         294:  {region: 0x165, script: 0x57, flags: 0x0},
1811         295:  {region: 0x165, script: 0x57, flags: 0x0},
1812         296:  {region: 0xcd, script: 0xde, flags: 0x0},
1813         297:  {region: 0x165, script: 0x57, flags: 0x0},
1814         298:  {region: 0x165, script: 0x57, flags: 0x0},
1815         299:  {region: 0x114, script: 0x57, flags: 0x0},
1816         300:  {region: 0x37, script: 0x57, flags: 0x0},
1817         301:  {region: 0x43, script: 0xe0, flags: 0x0},
1818         302:  {region: 0x165, script: 0x57, flags: 0x0},
1819         303:  {region: 0xa4, script: 0x57, flags: 0x0},
1820         304:  {region: 0x80, script: 0x57, flags: 0x0},
1821         305:  {region: 0xd6, script: 0x57, flags: 0x0},
1822         306:  {region: 0x9e, script: 0x57, flags: 0x0},
1823         307:  {region: 0x6b, script: 0x27, flags: 0x0},
1824         308:  {region: 0x165, script: 0x57, flags: 0x0},
1825         309:  {region: 0xc4, script: 0x48, flags: 0x0},
1826         310:  {region: 0x87, script: 0x31, flags: 0x0},
1827         311:  {region: 0x165, script: 0x57, flags: 0x0},
1828         312:  {region: 0x165, script: 0x57, flags: 0x0},
1829         313:  {region: 0xa, script: 0x2, flags: 0x1},
1830         314:  {region: 0x165, script: 0x57, flags: 0x0},
1831         315:  {region: 0x165, script: 0x57, flags: 0x0},
1832         316:  {region: 0x1, script: 0x57, flags: 0x0},
1833         317:  {region: 0x165, script: 0x57, flags: 0x0},
1834         318:  {region: 0x6e, script: 0x57, flags: 0x0},
1835         319:  {region: 0x135, script: 0x57, flags: 0x0},
1836         320:  {region: 0x6a, script: 0x57, flags: 0x0},
1837         321:  {region: 0x165, script: 0x57, flags: 0x0},
1838         322:  {region: 0x9e, script: 0x43, flags: 0x0},
1839         323:  {region: 0x165, script: 0x57, flags: 0x0},
1840         324:  {region: 0x165, script: 0x57, flags: 0x0},
1841         325:  {region: 0x6e, script: 0x57, flags: 0x0},
1842         326:  {region: 0x52, script: 0x57, flags: 0x0},
1843         327:  {region: 0x6e, script: 0x57, flags: 0x0},
1844         328:  {region: 0x9c, script: 0x5, flags: 0x0},
1845         329:  {region: 0x165, script: 0x57, flags: 0x0},
1846         330:  {region: 0x165, script: 0x57, flags: 0x0},
1847         331:  {region: 0x165, script: 0x57, flags: 0x0},
1848         332:  {region: 0x165, script: 0x57, flags: 0x0},
1849         333:  {region: 0x86, script: 0x57, flags: 0x0},
1850         334:  {region: 0xc, script: 0x2, flags: 0x1},
1851         335:  {region: 0x165, script: 0x57, flags: 0x0},
1852         336:  {region: 0xc3, script: 0x57, flags: 0x0},
1853         337:  {region: 0x72, script: 0x57, flags: 0x0},
1854         338:  {region: 0x10b, script: 0x5, flags: 0x0},
1855         339:  {region: 0xe7, script: 0x57, flags: 0x0},
1856         340:  {region: 0x10c, script: 0x57, flags: 0x0},
1857         341:  {region: 0x73, script: 0x57, flags: 0x0},
1858         342:  {region: 0x165, script: 0x57, flags: 0x0},
1859         343:  {region: 0x165, script: 0x57, flags: 0x0},
1860         344:  {region: 0x76, script: 0x57, flags: 0x0},
1861         345:  {region: 0x165, script: 0x57, flags: 0x0},
1862         346:  {region: 0x3b, script: 0x57, flags: 0x0},
1863         347:  {region: 0x165, script: 0x57, flags: 0x0},
1864         348:  {region: 0x165, script: 0x57, flags: 0x0},
1865         349:  {region: 0x165, script: 0x57, flags: 0x0},
1866         350:  {region: 0x78, script: 0x57, flags: 0x0},
1867         351:  {region: 0x135, script: 0x57, flags: 0x0},
1868         352:  {region: 0x78, script: 0x57, flags: 0x0},
1869         353:  {region: 0x60, script: 0x57, flags: 0x0},
1870         354:  {region: 0x60, script: 0x57, flags: 0x0},
1871         355:  {region: 0x52, script: 0x5, flags: 0x0},
1872         356:  {region: 0x140, script: 0x57, flags: 0x0},
1873         357:  {region: 0x165, script: 0x57, flags: 0x0},
1874         358:  {region: 0x84, script: 0x57, flags: 0x0},
1875         359:  {region: 0x165, script: 0x57, flags: 0x0},
1876         360:  {region: 0xd4, script: 0x57, flags: 0x0},
1877         361:  {region: 0x9e, script: 0x57, flags: 0x0},
1878         362:  {region: 0xd6, script: 0x57, flags: 0x0},
1879         363:  {region: 0x165, script: 0x57, flags: 0x0},
1880         364:  {region: 0x10b, script: 0x57, flags: 0x0},
1881         365:  {region: 0xd9, script: 0x57, flags: 0x0},
1882         366:  {region: 0x96, script: 0x57, flags: 0x0},
1883         367:  {region: 0x80, script: 0x57, flags: 0x0},
1884         368:  {region: 0x165, script: 0x57, flags: 0x0},
1885         369:  {region: 0xbc, script: 0x57, flags: 0x0},
1886         370:  {region: 0x165, script: 0x57, flags: 0x0},
1887         371:  {region: 0x165, script: 0x57, flags: 0x0},
1888         372:  {region: 0x165, script: 0x57, flags: 0x0},
1889         373:  {region: 0x53, script: 0x38, flags: 0x0},
1890         374:  {region: 0x165, script: 0x57, flags: 0x0},
1891         375:  {region: 0x95, script: 0x57, flags: 0x0},
1892         376:  {region: 0x165, script: 0x57, flags: 0x0},
1893         377:  {region: 0x165, script: 0x57, flags: 0x0},
1894         378:  {region: 0x99, script: 0x21, flags: 0x0},
1895         379:  {region: 0x165, script: 0x57, flags: 0x0},
1896         380:  {region: 0x9c, script: 0x5, flags: 0x0},
1897         381:  {region: 0x7e, script: 0x57, flags: 0x0},
1898         382:  {region: 0x7b, script: 0x57, flags: 0x0},
1899         383:  {region: 0x165, script: 0x57, flags: 0x0},
1900         384:  {region: 0x165, script: 0x57, flags: 0x0},
1901         385:  {region: 0x165, script: 0x57, flags: 0x0},
1902         386:  {region: 0x165, script: 0x57, flags: 0x0},
1903         387:  {region: 0x165, script: 0x57, flags: 0x0},
1904         388:  {region: 0x165, script: 0x57, flags: 0x0},
1905         389:  {region: 0x6f, script: 0x29, flags: 0x0},
1906         390:  {region: 0x165, script: 0x57, flags: 0x0},
1907         391:  {region: 0xdb, script: 0x21, flags: 0x0},
1908         392:  {region: 0x165, script: 0x57, flags: 0x0},
1909         393:  {region: 0xa7, script: 0x57, flags: 0x0},
1910         394:  {region: 0x165, script: 0x57, flags: 0x0},
1911         395:  {region: 0xe8, script: 0x5, flags: 0x0},
1912         396:  {region: 0x165, script: 0x57, flags: 0x0},
1913         397:  {region: 0xe8, script: 0x5, flags: 0x0},
1914         398:  {region: 0x165, script: 0x57, flags: 0x0},
1915         399:  {region: 0x165, script: 0x57, flags: 0x0},
1916         400:  {region: 0x6e, script: 0x57, flags: 0x0},
1917         401:  {region: 0x9c, script: 0x5, flags: 0x0},
1918         402:  {region: 0x165, script: 0x57, flags: 0x0},
1919         403:  {region: 0x165, script: 0x29, flags: 0x0},
1920         404:  {region: 0xf1, script: 0x57, flags: 0x0},
1921         405:  {region: 0x165, script: 0x57, flags: 0x0},
1922         406:  {region: 0x165, script: 0x57, flags: 0x0},
1923         407:  {region: 0x165, script: 0x57, flags: 0x0},
1924         408:  {region: 0x165, script: 0x29, flags: 0x0},
1925         409:  {region: 0x165, script: 0x57, flags: 0x0},
1926         410:  {region: 0x99, script: 0x21, flags: 0x0},
1927         411:  {region: 0x99, script: 0xda, flags: 0x0},
1928         412:  {region: 0x95, script: 0x57, flags: 0x0},
1929         413:  {region: 0xd9, script: 0x57, flags: 0x0},
1930         414:  {region: 0x130, script: 0x2f, flags: 0x0},
1931         415:  {region: 0x165, script: 0x57, flags: 0x0},
1932         416:  {region: 0xe, script: 0x2, flags: 0x1},
1933         417:  {region: 0x99, script: 0xe, flags: 0x0},
1934         418:  {region: 0x165, script: 0x57, flags: 0x0},
1935         419:  {region: 0x4e, script: 0x57, flags: 0x0},
1936         420:  {region: 0x99, script: 0x32, flags: 0x0},
1937         421:  {region: 0x41, script: 0x57, flags: 0x0},
1938         422:  {region: 0x54, script: 0x57, flags: 0x0},
1939         423:  {region: 0x165, script: 0x57, flags: 0x0},
1940         424:  {region: 0x80, script: 0x57, flags: 0x0},
1941         425:  {region: 0x165, script: 0x57, flags: 0x0},
1942         426:  {region: 0x165, script: 0x57, flags: 0x0},
1943         427:  {region: 0xa4, script: 0x57, flags: 0x0},
1944         428:  {region: 0x98, script: 0x57, flags: 0x0},
1945         429:  {region: 0x165, script: 0x57, flags: 0x0},
1946         430:  {region: 0xdb, script: 0x21, flags: 0x0},
1947         431:  {region: 0x165, script: 0x57, flags: 0x0},
1948         432:  {region: 0x165, script: 0x5, flags: 0x0},
1949         433:  {region: 0x49, script: 0x57, flags: 0x0},
1950         434:  {region: 0x165, script: 0x5, flags: 0x0},
1951         435:  {region: 0x165, script: 0x57, flags: 0x0},
1952         436:  {region: 0x10, script: 0x3, flags: 0x1},
1953         437:  {region: 0x165, script: 0x57, flags: 0x0},
1954         438:  {region: 0x53, script: 0x38, flags: 0x0},
1955         439:  {region: 0x165, script: 0x57, flags: 0x0},
1956         440:  {region: 0x135, script: 0x57, flags: 0x0},
1957         441:  {region: 0x24, script: 0x5, flags: 0x0},
1958         442:  {region: 0x165, script: 0x57, flags: 0x0},
1959         443:  {region: 0x165, script: 0x29, flags: 0x0},
1960         444:  {region: 0x97, script: 0x3b, flags: 0x0},
1961         445:  {region: 0x165, script: 0x57, flags: 0x0},
1962         446:  {region: 0x99, script: 0x21, flags: 0x0},
1963         447:  {region: 0x165, script: 0x57, flags: 0x0},
1964         448:  {region: 0x73, script: 0x57, flags: 0x0},
1965         449:  {region: 0x165, script: 0x57, flags: 0x0},
1966         450:  {region: 0x165, script: 0x57, flags: 0x0},
1967         451:  {region: 0xe7, script: 0x57, flags: 0x0},
1968         452:  {region: 0x165, script: 0x57, flags: 0x0},
1969         453:  {region: 0x12b, script: 0x3d, flags: 0x0},
1970         454:  {region: 0x53, script: 0x89, flags: 0x0},
1971         455:  {region: 0x165, script: 0x57, flags: 0x0},
1972         456:  {region: 0xe8, script: 0x5, flags: 0x0},
1973         457:  {region: 0x99, script: 0x21, flags: 0x0},
1974         458:  {region: 0xaf, script: 0x3e, flags: 0x0},
1975         459:  {region: 0xe7, script: 0x57, flags: 0x0},
1976         460:  {region: 0xe8, script: 0x5, flags: 0x0},
1977         461:  {region: 0xe6, script: 0x57, flags: 0x0},
1978         462:  {region: 0x99, script: 0x21, flags: 0x0},
1979         463:  {region: 0x99, script: 0x21, flags: 0x0},
1980         464:  {region: 0x165, script: 0x57, flags: 0x0},
1981         465:  {region: 0x90, script: 0x57, flags: 0x0},
1982         466:  {region: 0x60, script: 0x57, flags: 0x0},
1983         467:  {region: 0x53, script: 0x38, flags: 0x0},
1984         468:  {region: 0x91, script: 0x57, flags: 0x0},
1985         469:  {region: 0x92, script: 0x57, flags: 0x0},
1986         470:  {region: 0x165, script: 0x57, flags: 0x0},
1987         471:  {region: 0x28, script: 0x8, flags: 0x0},
1988         472:  {region: 0xd2, script: 0x57, flags: 0x0},
1989         473:  {region: 0x78, script: 0x57, flags: 0x0},
1990         474:  {region: 0x165, script: 0x57, flags: 0x0},
1991         475:  {region: 0x165, script: 0x57, flags: 0x0},
1992         476:  {region: 0xd0, script: 0x57, flags: 0x0},
1993         477:  {region: 0xd6, script: 0x57, flags: 0x0},
1994         478:  {region: 0x165, script: 0x57, flags: 0x0},
1995         479:  {region: 0x165, script: 0x57, flags: 0x0},
1996         480:  {region: 0x165, script: 0x57, flags: 0x0},
1997         481:  {region: 0x95, script: 0x57, flags: 0x0},
1998         482:  {region: 0x165, script: 0x57, flags: 0x0},
1999         483:  {region: 0x165, script: 0x57, flags: 0x0},
2000         484:  {region: 0x165, script: 0x57, flags: 0x0},
2001         486:  {region: 0x122, script: 0x57, flags: 0x0},
2002         487:  {region: 0xd6, script: 0x57, flags: 0x0},
2003         488:  {region: 0x165, script: 0x57, flags: 0x0},
2004         489:  {region: 0x165, script: 0x57, flags: 0x0},
2005         490:  {region: 0x53, script: 0xea, flags: 0x0},
2006         491:  {region: 0x165, script: 0x57, flags: 0x0},
2007         492:  {region: 0x135, script: 0x57, flags: 0x0},
2008         493:  {region: 0x165, script: 0x57, flags: 0x0},
2009         494:  {region: 0x49, script: 0x57, flags: 0x0},
2010         495:  {region: 0x165, script: 0x57, flags: 0x0},
2011         496:  {region: 0x165, script: 0x57, flags: 0x0},
2012         497:  {region: 0xe7, script: 0x57, flags: 0x0},
2013         498:  {region: 0x165, script: 0x57, flags: 0x0},
2014         499:  {region: 0x95, script: 0x57, flags: 0x0},
2015         500:  {region: 0x106, script: 0x1f, flags: 0x0},
2016         501:  {region: 0x1, script: 0x57, flags: 0x0},
2017         502:  {region: 0x165, script: 0x57, flags: 0x0},
2018         503:  {region: 0x165, script: 0x57, flags: 0x0},
2019         504:  {region: 0x9d, script: 0x57, flags: 0x0},
2020         505:  {region: 0x9e, script: 0x57, flags: 0x0},
2021         506:  {region: 0x49, script: 0x17, flags: 0x0},
2022         507:  {region: 0x97, script: 0x3b, flags: 0x0},
2023         508:  {region: 0x165, script: 0x57, flags: 0x0},
2024         509:  {region: 0x165, script: 0x57, flags: 0x0},
2025         510:  {region: 0x106, script: 0x57, flags: 0x0},
2026         511:  {region: 0x165, script: 0x57, flags: 0x0},
2027         512:  {region: 0xa2, script: 0x46, flags: 0x0},
2028         513:  {region: 0x165, script: 0x57, flags: 0x0},
2029         514:  {region: 0xa0, script: 0x57, flags: 0x0},
2030         515:  {region: 0x1, script: 0x57, flags: 0x0},
2031         516:  {region: 0x165, script: 0x57, flags: 0x0},
2032         517:  {region: 0x165, script: 0x57, flags: 0x0},
2033         518:  {region: 0x165, script: 0x57, flags: 0x0},
2034         519:  {region: 0x52, script: 0x57, flags: 0x0},
2035         520:  {region: 0x130, script: 0x3b, flags: 0x0},
2036         521:  {region: 0x165, script: 0x57, flags: 0x0},
2037         522:  {region: 0x12f, script: 0x57, flags: 0x0},
2038         523:  {region: 0xdb, script: 0x21, flags: 0x0},
2039         524:  {region: 0x165, script: 0x57, flags: 0x0},
2040         525:  {region: 0x63, script: 0x57, flags: 0x0},
2041         526:  {region: 0x95, script: 0x57, flags: 0x0},
2042         527:  {region: 0x95, script: 0x57, flags: 0x0},
2043         528:  {region: 0x7d, script: 0x2b, flags: 0x0},
2044         529:  {region: 0x137, script: 0x1f, flags: 0x0},
2045         530:  {region: 0x67, script: 0x57, flags: 0x0},
2046         531:  {region: 0xc4, script: 0x57, flags: 0x0},
2047         532:  {region: 0x165, script: 0x57, flags: 0x0},
2048         533:  {region: 0x165, script: 0x57, flags: 0x0},
2049         534:  {region: 0xd6, script: 0x57, flags: 0x0},
2050         535:  {region: 0xa4, script: 0x57, flags: 0x0},
2051         536:  {region: 0xc3, script: 0x57, flags: 0x0},
2052         537:  {region: 0x106, script: 0x1f, flags: 0x0},
2053         538:  {region: 0x165, script: 0x57, flags: 0x0},
2054         539:  {region: 0x165, script: 0x57, flags: 0x0},
2055         540:  {region: 0x165, script: 0x57, flags: 0x0},
2056         541:  {region: 0x165, script: 0x57, flags: 0x0},
2057         542:  {region: 0xd4, script: 0x5, flags: 0x0},
2058         543:  {region: 0xd6, script: 0x57, flags: 0x0},
2059         544:  {region: 0x164, script: 0x57, flags: 0x0},
2060         545:  {region: 0x165, script: 0x57, flags: 0x0},
2061         546:  {region: 0x165, script: 0x57, flags: 0x0},
2062         547:  {region: 0x12f, script: 0x57, flags: 0x0},
2063         548:  {region: 0x122, script: 0x5, flags: 0x0},
2064         549:  {region: 0x165, script: 0x57, flags: 0x0},
2065         550:  {region: 0x123, script: 0xdf, flags: 0x0},
2066         551:  {region: 0x5a, script: 0x57, flags: 0x0},
2067         552:  {region: 0x52, script: 0x57, flags: 0x0},
2068         553:  {region: 0x165, script: 0x57, flags: 0x0},
2069         554:  {region: 0x4f, script: 0x57, flags: 0x0},
2070         555:  {region: 0x99, script: 0x21, flags: 0x0},
2071         556:  {region: 0x99, script: 0x21, flags: 0x0},
2072         557:  {region: 0x4b, script: 0x57, flags: 0x0},
2073         558:  {region: 0x95, script: 0x57, flags: 0x0},
2074         559:  {region: 0x165, script: 0x57, flags: 0x0},
2075         560:  {region: 0x41, script: 0x57, flags: 0x0},
2076         561:  {region: 0x99, script: 0x57, flags: 0x0},
2077         562:  {region: 0x53, script: 0xd6, flags: 0x0},
2078         563:  {region: 0x99, script: 0x21, flags: 0x0},
2079         564:  {region: 0xc3, script: 0x57, flags: 0x0},
2080         565:  {region: 0x165, script: 0x57, flags: 0x0},
2081         566:  {region: 0x99, script: 0x72, flags: 0x0},
2082         567:  {region: 0xe8, script: 0x5, flags: 0x0},
2083         568:  {region: 0x165, script: 0x57, flags: 0x0},
2084         569:  {region: 0xa4, script: 0x57, flags: 0x0},
2085         570:  {region: 0x165, script: 0x57, flags: 0x0},
2086         571:  {region: 0x12b, script: 0x57, flags: 0x0},
2087         572:  {region: 0x165, script: 0x57, flags: 0x0},
2088         573:  {region: 0xd2, script: 0x57, flags: 0x0},
2089         574:  {region: 0x165, script: 0x57, flags: 0x0},
2090         575:  {region: 0xaf, script: 0x54, flags: 0x0},
2091         576:  {region: 0x165, script: 0x57, flags: 0x0},
2092         577:  {region: 0x165, script: 0x57, flags: 0x0},
2093         578:  {region: 0x13, script: 0x6, flags: 0x1},
2094         579:  {region: 0x165, script: 0x57, flags: 0x0},
2095         580:  {region: 0x52, script: 0x57, flags: 0x0},
2096         581:  {region: 0x82, script: 0x57, flags: 0x0},
2097         582:  {region: 0xa4, script: 0x57, flags: 0x0},
2098         583:  {region: 0x165, script: 0x57, flags: 0x0},
2099         584:  {region: 0x165, script: 0x57, flags: 0x0},
2100         585:  {region: 0x165, script: 0x57, flags: 0x0},
2101         586:  {region: 0xa6, script: 0x4b, flags: 0x0},
2102         587:  {region: 0x2a, script: 0x57, flags: 0x0},
2103         588:  {region: 0x165, script: 0x57, flags: 0x0},
2104         589:  {region: 0x165, script: 0x57, flags: 0x0},
2105         590:  {region: 0x165, script: 0x57, flags: 0x0},
2106         591:  {region: 0x165, script: 0x57, flags: 0x0},
2107         592:  {region: 0x165, script: 0x57, flags: 0x0},
2108         593:  {region: 0x99, script: 0x4f, flags: 0x0},
2109         594:  {region: 0x8b, script: 0x57, flags: 0x0},
2110         595:  {region: 0x165, script: 0x57, flags: 0x0},
2111         596:  {region: 0xab, script: 0x50, flags: 0x0},
2112         597:  {region: 0x106, script: 0x1f, flags: 0x0},
2113         598:  {region: 0x99, script: 0x21, flags: 0x0},
2114         599:  {region: 0x165, script: 0x57, flags: 0x0},
2115         600:  {region: 0x75, script: 0x57, flags: 0x0},
2116         601:  {region: 0x165, script: 0x57, flags: 0x0},
2117         602:  {region: 0xb4, script: 0x57, flags: 0x0},
2118         603:  {region: 0x165, script: 0x57, flags: 0x0},
2119         604:  {region: 0x165, script: 0x57, flags: 0x0},
2120         605:  {region: 0x165, script: 0x57, flags: 0x0},
2121         606:  {region: 0x165, script: 0x57, flags: 0x0},
2122         607:  {region: 0x165, script: 0x57, flags: 0x0},
2123         608:  {region: 0x165, script: 0x57, flags: 0x0},
2124         609:  {region: 0x165, script: 0x57, flags: 0x0},
2125         610:  {region: 0x165, script: 0x29, flags: 0x0},
2126         611:  {region: 0x165, script: 0x57, flags: 0x0},
2127         612:  {region: 0x106, script: 0x1f, flags: 0x0},
2128         613:  {region: 0x112, script: 0x57, flags: 0x0},
2129         614:  {region: 0xe7, script: 0x57, flags: 0x0},
2130         615:  {region: 0x106, script: 0x57, flags: 0x0},
2131         616:  {region: 0x165, script: 0x57, flags: 0x0},
2132         617:  {region: 0x99, script: 0x21, flags: 0x0},
2133         618:  {region: 0x99, script: 0x5, flags: 0x0},
2134         619:  {region: 0x12f, script: 0x57, flags: 0x0},
2135         620:  {region: 0x165, script: 0x57, flags: 0x0},
2136         621:  {region: 0x52, script: 0x57, flags: 0x0},
2137         622:  {region: 0x60, script: 0x57, flags: 0x0},
2138         623:  {region: 0x165, script: 0x57, flags: 0x0},
2139         624:  {region: 0x165, script: 0x57, flags: 0x0},
2140         625:  {region: 0x165, script: 0x29, flags: 0x0},
2141         626:  {region: 0x165, script: 0x57, flags: 0x0},
2142         627:  {region: 0x165, script: 0x57, flags: 0x0},
2143         628:  {region: 0x19, script: 0x3, flags: 0x1},
2144         629:  {region: 0x165, script: 0x57, flags: 0x0},
2145         630:  {region: 0x165, script: 0x57, flags: 0x0},
2146         631:  {region: 0x165, script: 0x57, flags: 0x0},
2147         632:  {region: 0x165, script: 0x57, flags: 0x0},
2148         633:  {region: 0x106, script: 0x1f, flags: 0x0},
2149         634:  {region: 0x165, script: 0x57, flags: 0x0},
2150         635:  {region: 0x165, script: 0x57, flags: 0x0},
2151         636:  {region: 0x165, script: 0x57, flags: 0x0},
2152         637:  {region: 0x106, script: 0x1f, flags: 0x0},
2153         638:  {region: 0x165, script: 0x57, flags: 0x0},
2154         639:  {region: 0x95, script: 0x57, flags: 0x0},
2155         640:  {region: 0xe8, script: 0x5, flags: 0x0},
2156         641:  {region: 0x7b, script: 0x57, flags: 0x0},
2157         642:  {region: 0x165, script: 0x57, flags: 0x0},
2158         643:  {region: 0x165, script: 0x57, flags: 0x0},
2159         644:  {region: 0x165, script: 0x57, flags: 0x0},
2160         645:  {region: 0x165, script: 0x29, flags: 0x0},
2161         646:  {region: 0x123, script: 0xdf, flags: 0x0},
2162         647:  {region: 0xe8, script: 0x5, flags: 0x0},
2163         648:  {region: 0x165, script: 0x57, flags: 0x0},
2164         649:  {region: 0x165, script: 0x57, flags: 0x0},
2165         650:  {region: 0x1c, script: 0x5, flags: 0x1},
2166         651:  {region: 0x165, script: 0x57, flags: 0x0},
2167         652:  {region: 0x165, script: 0x57, flags: 0x0},
2168         653:  {region: 0x165, script: 0x57, flags: 0x0},
2169         654:  {region: 0x138, script: 0x57, flags: 0x0},
2170         655:  {region: 0x87, script: 0x5b, flags: 0x0},
2171         656:  {region: 0x97, script: 0x3b, flags: 0x0},
2172         657:  {region: 0x12f, script: 0x57, flags: 0x0},
2173         658:  {region: 0xe8, script: 0x5, flags: 0x0},
2174         659:  {region: 0x131, script: 0x57, flags: 0x0},
2175         660:  {region: 0x165, script: 0x57, flags: 0x0},
2176         661:  {region: 0xb7, script: 0x57, flags: 0x0},
2177         662:  {region: 0x106, script: 0x1f, flags: 0x0},
2178         663:  {region: 0x165, script: 0x57, flags: 0x0},
2179         664:  {region: 0x95, script: 0x57, flags: 0x0},
2180         665:  {region: 0x165, script: 0x57, flags: 0x0},
2181         666:  {region: 0x53, script: 0xdf, flags: 0x0},
2182         667:  {region: 0x165, script: 0x57, flags: 0x0},
2183         668:  {region: 0x165, script: 0x57, flags: 0x0},
2184         669:  {region: 0x165, script: 0x57, flags: 0x0},
2185         670:  {region: 0x165, script: 0x57, flags: 0x0},
2186         671:  {region: 0x99, script: 0x59, flags: 0x0},
2187         672:  {region: 0x165, script: 0x57, flags: 0x0},
2188         673:  {region: 0x165, script: 0x57, flags: 0x0},
2189         674:  {region: 0x106, script: 0x1f, flags: 0x0},
2190         675:  {region: 0x131, script: 0x57, flags: 0x0},
2191         676:  {region: 0x165, script: 0x57, flags: 0x0},
2192         677:  {region: 0xd9, script: 0x57, flags: 0x0},
2193         678:  {region: 0x165, script: 0x57, flags: 0x0},
2194         679:  {region: 0x165, script: 0x57, flags: 0x0},
2195         680:  {region: 0x21, script: 0x2, flags: 0x1},
2196         681:  {region: 0x165, script: 0x57, flags: 0x0},
2197         682:  {region: 0x165, script: 0x57, flags: 0x0},
2198         683:  {region: 0x9e, script: 0x57, flags: 0x0},
2199         684:  {region: 0x53, script: 0x5d, flags: 0x0},
2200         685:  {region: 0x95, script: 0x57, flags: 0x0},
2201         686:  {region: 0x9c, script: 0x5, flags: 0x0},
2202         687:  {region: 0x135, script: 0x57, flags: 0x0},
2203         688:  {region: 0x165, script: 0x57, flags: 0x0},
2204         689:  {region: 0x165, script: 0x57, flags: 0x0},
2205         690:  {region: 0x99, script: 0xda, flags: 0x0},
2206         691:  {region: 0x9e, script: 0x57, flags: 0x0},
2207         692:  {region: 0x165, script: 0x57, flags: 0x0},
2208         693:  {region: 0x4b, script: 0x57, flags: 0x0},
2209         694:  {region: 0x165, script: 0x57, flags: 0x0},
2210         695:  {region: 0x165, script: 0x57, flags: 0x0},
2211         696:  {region: 0xaf, script: 0x54, flags: 0x0},
2212         697:  {region: 0x165, script: 0x57, flags: 0x0},
2213         698:  {region: 0x165, script: 0x57, flags: 0x0},
2214         699:  {region: 0x4b, script: 0x57, flags: 0x0},
2215         700:  {region: 0x165, script: 0x57, flags: 0x0},
2216         701:  {region: 0x165, script: 0x57, flags: 0x0},
2217         702:  {region: 0x162, script: 0x57, flags: 0x0},
2218         703:  {region: 0x9c, script: 0x5, flags: 0x0},
2219         704:  {region: 0xb6, script: 0x57, flags: 0x0},
2220         705:  {region: 0xb8, script: 0x57, flags: 0x0},
2221         706:  {region: 0x4b, script: 0x57, flags: 0x0},
2222         707:  {region: 0x4b, script: 0x57, flags: 0x0},
2223         708:  {region: 0xa4, script: 0x57, flags: 0x0},
2224         709:  {region: 0xa4, script: 0x57, flags: 0x0},
2225         710:  {region: 0x9c, script: 0x5, flags: 0x0},
2226         711:  {region: 0xb8, script: 0x57, flags: 0x0},
2227         712:  {region: 0x123, script: 0xdf, flags: 0x0},
2228         713:  {region: 0x53, script: 0x38, flags: 0x0},
2229         714:  {region: 0x12b, script: 0x57, flags: 0x0},
2230         715:  {region: 0x95, script: 0x57, flags: 0x0},
2231         716:  {region: 0x52, script: 0x57, flags: 0x0},
2232         717:  {region: 0x99, script: 0x21, flags: 0x0},
2233         718:  {region: 0x99, script: 0x21, flags: 0x0},
2234         719:  {region: 0x95, script: 0x57, flags: 0x0},
2235         720:  {region: 0x23, script: 0x3, flags: 0x1},
2236         721:  {region: 0xa4, script: 0x57, flags: 0x0},
2237         722:  {region: 0x165, script: 0x57, flags: 0x0},
2238         723:  {region: 0xcf, script: 0x57, flags: 0x0},
2239         724:  {region: 0x165, script: 0x57, flags: 0x0},
2240         725:  {region: 0x165, script: 0x57, flags: 0x0},
2241         726:  {region: 0x165, script: 0x57, flags: 0x0},
2242         727:  {region: 0x165, script: 0x57, flags: 0x0},
2243         728:  {region: 0x165, script: 0x57, flags: 0x0},
2244         729:  {region: 0x165, script: 0x57, flags: 0x0},
2245         730:  {region: 0x165, script: 0x57, flags: 0x0},
2246         731:  {region: 0x165, script: 0x57, flags: 0x0},
2247         732:  {region: 0x165, script: 0x57, flags: 0x0},
2248         733:  {region: 0x165, script: 0x57, flags: 0x0},
2249         734:  {region: 0x165, script: 0x57, flags: 0x0},
2250         735:  {region: 0x165, script: 0x5, flags: 0x0},
2251         736:  {region: 0x106, script: 0x1f, flags: 0x0},
2252         737:  {region: 0xe7, script: 0x57, flags: 0x0},
2253         738:  {region: 0x165, script: 0x57, flags: 0x0},
2254         739:  {region: 0x95, script: 0x57, flags: 0x0},
2255         740:  {region: 0x165, script: 0x29, flags: 0x0},
2256         741:  {region: 0x165, script: 0x57, flags: 0x0},
2257         742:  {region: 0x165, script: 0x57, flags: 0x0},
2258         743:  {region: 0x165, script: 0x57, flags: 0x0},
2259         744:  {region: 0x112, script: 0x57, flags: 0x0},
2260         745:  {region: 0xa4, script: 0x57, flags: 0x0},
2261         746:  {region: 0x165, script: 0x57, flags: 0x0},
2262         747:  {region: 0x165, script: 0x57, flags: 0x0},
2263         748:  {region: 0x123, script: 0x5, flags: 0x0},
2264         749:  {region: 0xcc, script: 0x57, flags: 0x0},
2265         750:  {region: 0x165, script: 0x57, flags: 0x0},
2266         751:  {region: 0x165, script: 0x57, flags: 0x0},
2267         752:  {region: 0x165, script: 0x57, flags: 0x0},
2268         753:  {region: 0xbf, script: 0x57, flags: 0x0},
2269         754:  {region: 0xd1, script: 0x57, flags: 0x0},
2270         755:  {region: 0x165, script: 0x57, flags: 0x0},
2271         756:  {region: 0x52, script: 0x57, flags: 0x0},
2272         757:  {region: 0xdb, script: 0x21, flags: 0x0},
2273         758:  {region: 0x12f, script: 0x57, flags: 0x0},
2274         759:  {region: 0xc0, script: 0x57, flags: 0x0},
2275         760:  {region: 0x165, script: 0x57, flags: 0x0},
2276         761:  {region: 0x165, script: 0x57, flags: 0x0},
2277         762:  {region: 0xe0, script: 0x57, flags: 0x0},
2278         763:  {region: 0x165, script: 0x57, flags: 0x0},
2279         764:  {region: 0x95, script: 0x57, flags: 0x0},
2280         765:  {region: 0x9b, script: 0x3a, flags: 0x0},
2281         766:  {region: 0x165, script: 0x57, flags: 0x0},
2282         767:  {region: 0xc2, script: 0x1f, flags: 0x0},
2283         768:  {region: 0x165, script: 0x5, flags: 0x0},
2284         769:  {region: 0x165, script: 0x57, flags: 0x0},
2285         770:  {region: 0x165, script: 0x57, flags: 0x0},
2286         771:  {region: 0x165, script: 0x57, flags: 0x0},
2287         772:  {region: 0x99, script: 0x6b, flags: 0x0},
2288         773:  {region: 0x165, script: 0x57, flags: 0x0},
2289         774:  {region: 0x165, script: 0x57, flags: 0x0},
2290         775:  {region: 0x10b, script: 0x57, flags: 0x0},
2291         776:  {region: 0x165, script: 0x57, flags: 0x0},
2292         777:  {region: 0x165, script: 0x57, flags: 0x0},
2293         778:  {region: 0x165, script: 0x57, flags: 0x0},
2294         779:  {region: 0x26, script: 0x3, flags: 0x1},
2295         780:  {region: 0x165, script: 0x57, flags: 0x0},
2296         781:  {region: 0x165, script: 0x57, flags: 0x0},
2297         782:  {region: 0x99, script: 0xe, flags: 0x0},
2298         783:  {region: 0xc4, script: 0x72, flags: 0x0},
2299         785:  {region: 0x165, script: 0x57, flags: 0x0},
2300         786:  {region: 0x49, script: 0x57, flags: 0x0},
2301         787:  {region: 0x49, script: 0x57, flags: 0x0},
2302         788:  {region: 0x37, script: 0x57, flags: 0x0},
2303         789:  {region: 0x165, script: 0x57, flags: 0x0},
2304         790:  {region: 0x165, script: 0x57, flags: 0x0},
2305         791:  {region: 0x165, script: 0x57, flags: 0x0},
2306         792:  {region: 0x165, script: 0x57, flags: 0x0},
2307         793:  {region: 0x165, script: 0x57, flags: 0x0},
2308         794:  {region: 0x165, script: 0x57, flags: 0x0},
2309         795:  {region: 0x99, script: 0x21, flags: 0x0},
2310         796:  {region: 0xdb, script: 0x21, flags: 0x0},
2311         797:  {region: 0x106, script: 0x1f, flags: 0x0},
2312         798:  {region: 0x35, script: 0x6f, flags: 0x0},
2313         799:  {region: 0x29, script: 0x3, flags: 0x1},
2314         800:  {region: 0xcb, script: 0x57, flags: 0x0},
2315         801:  {region: 0x165, script: 0x57, flags: 0x0},
2316         802:  {region: 0x165, script: 0x57, flags: 0x0},
2317         803:  {region: 0x165, script: 0x57, flags: 0x0},
2318         804:  {region: 0x99, script: 0x21, flags: 0x0},
2319         805:  {region: 0x52, script: 0x57, flags: 0x0},
2320         807:  {region: 0x165, script: 0x57, flags: 0x0},
2321         808:  {region: 0x135, script: 0x57, flags: 0x0},
2322         809:  {region: 0x165, script: 0x57, flags: 0x0},
2323         810:  {region: 0x165, script: 0x57, flags: 0x0},
2324         811:  {region: 0xe8, script: 0x5, flags: 0x0},
2325         812:  {region: 0xc3, script: 0x57, flags: 0x0},
2326         813:  {region: 0x99, script: 0x21, flags: 0x0},
2327         814:  {region: 0x95, script: 0x57, flags: 0x0},
2328         815:  {region: 0x164, script: 0x57, flags: 0x0},
2329         816:  {region: 0x165, script: 0x57, flags: 0x0},
2330         817:  {region: 0xc4, script: 0x72, flags: 0x0},
2331         818:  {region: 0x165, script: 0x57, flags: 0x0},
2332         819:  {region: 0x165, script: 0x29, flags: 0x0},
2333         820:  {region: 0x106, script: 0x1f, flags: 0x0},
2334         821:  {region: 0x165, script: 0x57, flags: 0x0},
2335         822:  {region: 0x131, script: 0x57, flags: 0x0},
2336         823:  {region: 0x9c, script: 0x63, flags: 0x0},
2337         824:  {region: 0x165, script: 0x57, flags: 0x0},
2338         825:  {region: 0x165, script: 0x57, flags: 0x0},
2339         826:  {region: 0x9c, script: 0x5, flags: 0x0},
2340         827:  {region: 0x165, script: 0x57, flags: 0x0},
2341         828:  {region: 0x165, script: 0x57, flags: 0x0},
2342         829:  {region: 0x165, script: 0x57, flags: 0x0},
2343         830:  {region: 0xdd, script: 0x57, flags: 0x0},
2344         831:  {region: 0x165, script: 0x57, flags: 0x0},
2345         832:  {region: 0x165, script: 0x57, flags: 0x0},
2346         834:  {region: 0x165, script: 0x57, flags: 0x0},
2347         835:  {region: 0x53, script: 0x38, flags: 0x0},
2348         836:  {region: 0x9e, script: 0x57, flags: 0x0},
2349         837:  {region: 0xd2, script: 0x57, flags: 0x0},
2350         838:  {region: 0x165, script: 0x57, flags: 0x0},
2351         839:  {region: 0xda, script: 0x57, flags: 0x0},
2352         840:  {region: 0x165, script: 0x57, flags: 0x0},
2353         841:  {region: 0x165, script: 0x57, flags: 0x0},
2354         842:  {region: 0x165, script: 0x57, flags: 0x0},
2355         843:  {region: 0xcf, script: 0x57, flags: 0x0},
2356         844:  {region: 0x165, script: 0x57, flags: 0x0},
2357         845:  {region: 0x165, script: 0x57, flags: 0x0},
2358         846:  {region: 0x164, script: 0x57, flags: 0x0},
2359         847:  {region: 0xd1, script: 0x57, flags: 0x0},
2360         848:  {region: 0x60, script: 0x57, flags: 0x0},
2361         849:  {region: 0xdb, script: 0x21, flags: 0x0},
2362         850:  {region: 0x165, script: 0x57, flags: 0x0},
2363         851:  {region: 0xdb, script: 0x21, flags: 0x0},
2364         852:  {region: 0x165, script: 0x57, flags: 0x0},
2365         853:  {region: 0x165, script: 0x57, flags: 0x0},
2366         854:  {region: 0xd2, script: 0x57, flags: 0x0},
2367         855:  {region: 0x165, script: 0x57, flags: 0x0},
2368         856:  {region: 0x165, script: 0x57, flags: 0x0},
2369         857:  {region: 0xd1, script: 0x57, flags: 0x0},
2370         858:  {region: 0x165, script: 0x57, flags: 0x0},
2371         859:  {region: 0xcf, script: 0x57, flags: 0x0},
2372         860:  {region: 0xcf, script: 0x57, flags: 0x0},
2373         861:  {region: 0x165, script: 0x57, flags: 0x0},
2374         862:  {region: 0x165, script: 0x57, flags: 0x0},
2375         863:  {region: 0x95, script: 0x57, flags: 0x0},
2376         864:  {region: 0x165, script: 0x57, flags: 0x0},
2377         865:  {region: 0xdf, script: 0x57, flags: 0x0},
2378         866:  {region: 0x165, script: 0x57, flags: 0x0},
2379         867:  {region: 0x165, script: 0x57, flags: 0x0},
2380         868:  {region: 0x99, script: 0x57, flags: 0x0},
2381         869:  {region: 0x165, script: 0x57, flags: 0x0},
2382         870:  {region: 0x165, script: 0x57, flags: 0x0},
2383         871:  {region: 0xd9, script: 0x57, flags: 0x0},
2384         872:  {region: 0x52, script: 0x57, flags: 0x0},
2385         873:  {region: 0x165, script: 0x57, flags: 0x0},
2386         874:  {region: 0xda, script: 0x57, flags: 0x0},
2387         875:  {region: 0x165, script: 0x57, flags: 0x0},
2388         876:  {region: 0x52, script: 0x57, flags: 0x0},
2389         877:  {region: 0x165, script: 0x57, flags: 0x0},
2390         878:  {region: 0x165, script: 0x57, flags: 0x0},
2391         879:  {region: 0xda, script: 0x57, flags: 0x0},
2392         880:  {region: 0x123, script: 0x53, flags: 0x0},
2393         881:  {region: 0x99, script: 0x21, flags: 0x0},
2394         882:  {region: 0x10c, script: 0xbf, flags: 0x0},
2395         883:  {region: 0x165, script: 0x57, flags: 0x0},
2396         884:  {region: 0x165, script: 0x57, flags: 0x0},
2397         885:  {region: 0x84, script: 0x78, flags: 0x0},
2398         886:  {region: 0x161, script: 0x57, flags: 0x0},
2399         887:  {region: 0x165, script: 0x57, flags: 0x0},
2400         888:  {region: 0x49, script: 0x17, flags: 0x0},
2401         889:  {region: 0x165, script: 0x57, flags: 0x0},
2402         890:  {region: 0x161, script: 0x57, flags: 0x0},
2403         891:  {region: 0x165, script: 0x57, flags: 0x0},
2404         892:  {region: 0x165, script: 0x57, flags: 0x0},
2405         893:  {region: 0x165, script: 0x57, flags: 0x0},
2406         894:  {region: 0x165, script: 0x57, flags: 0x0},
2407         895:  {region: 0x165, script: 0x57, flags: 0x0},
2408         896:  {region: 0x117, script: 0x57, flags: 0x0},
2409         897:  {region: 0x165, script: 0x57, flags: 0x0},
2410         898:  {region: 0x165, script: 0x57, flags: 0x0},
2411         899:  {region: 0x135, script: 0x57, flags: 0x0},
2412         900:  {region: 0x165, script: 0x57, flags: 0x0},
2413         901:  {region: 0x53, script: 0x57, flags: 0x0},
2414         902:  {region: 0x165, script: 0x57, flags: 0x0},
2415         903:  {region: 0xce, script: 0x57, flags: 0x0},
2416         904:  {region: 0x12f, script: 0x57, flags: 0x0},
2417         905:  {region: 0x131, script: 0x57, flags: 0x0},
2418         906:  {region: 0x80, script: 0x57, flags: 0x0},
2419         907:  {region: 0x78, script: 0x57, flags: 0x0},
2420         908:  {region: 0x165, script: 0x57, flags: 0x0},
2421         910:  {region: 0x165, script: 0x57, flags: 0x0},
2422         911:  {region: 0x165, script: 0x57, flags: 0x0},
2423         912:  {region: 0x6f, script: 0x57, flags: 0x0},
2424         913:  {region: 0x165, script: 0x57, flags: 0x0},
2425         914:  {region: 0x165, script: 0x57, flags: 0x0},
2426         915:  {region: 0x165, script: 0x57, flags: 0x0},
2427         916:  {region: 0x165, script: 0x57, flags: 0x0},
2428         917:  {region: 0x99, script: 0x7d, flags: 0x0},
2429         918:  {region: 0x165, script: 0x57, flags: 0x0},
2430         919:  {region: 0x165, script: 0x5, flags: 0x0},
2431         920:  {region: 0x7d, script: 0x1f, flags: 0x0},
2432         921:  {region: 0x135, script: 0x7e, flags: 0x0},
2433         922:  {region: 0x165, script: 0x5, flags: 0x0},
2434         923:  {region: 0xc5, script: 0x7c, flags: 0x0},
2435         924:  {region: 0x165, script: 0x57, flags: 0x0},
2436         925:  {region: 0x2c, script: 0x3, flags: 0x1},
2437         926:  {region: 0xe7, script: 0x57, flags: 0x0},
2438         927:  {region: 0x2f, script: 0x2, flags: 0x1},
2439         928:  {region: 0xe7, script: 0x57, flags: 0x0},
2440         929:  {region: 0x30, script: 0x57, flags: 0x0},
2441         930:  {region: 0xf0, script: 0x57, flags: 0x0},
2442         931:  {region: 0x165, script: 0x57, flags: 0x0},
2443         932:  {region: 0x78, script: 0x57, flags: 0x0},
2444         933:  {region: 0xd6, script: 0x57, flags: 0x0},
2445         934:  {region: 0x135, script: 0x57, flags: 0x0},
2446         935:  {region: 0x49, script: 0x57, flags: 0x0},
2447         936:  {region: 0x165, script: 0x57, flags: 0x0},
2448         937:  {region: 0x9c, script: 0xe8, flags: 0x0},
2449         938:  {region: 0x165, script: 0x57, flags: 0x0},
2450         939:  {region: 0x60, script: 0x57, flags: 0x0},
2451         940:  {region: 0x165, script: 0x5, flags: 0x0},
2452         941:  {region: 0xb0, script: 0x87, flags: 0x0},
2453         943:  {region: 0x165, script: 0x57, flags: 0x0},
2454         944:  {region: 0x165, script: 0x57, flags: 0x0},
2455         945:  {region: 0x99, script: 0x12, flags: 0x0},
2456         946:  {region: 0xa4, script: 0x57, flags: 0x0},
2457         947:  {region: 0xe9, script: 0x57, flags: 0x0},
2458         948:  {region: 0x165, script: 0x57, flags: 0x0},
2459         949:  {region: 0x9e, script: 0x57, flags: 0x0},
2460         950:  {region: 0x165, script: 0x57, flags: 0x0},
2461         951:  {region: 0x165, script: 0x57, flags: 0x0},
2462         952:  {region: 0x87, script: 0x31, flags: 0x0},
2463         953:  {region: 0x75, script: 0x57, flags: 0x0},
2464         954:  {region: 0x165, script: 0x57, flags: 0x0},
2465         955:  {region: 0xe8, script: 0x4a, flags: 0x0},
2466         956:  {region: 0x9c, script: 0x5, flags: 0x0},
2467         957:  {region: 0x1, script: 0x57, flags: 0x0},
2468         958:  {region: 0x24, script: 0x5, flags: 0x0},
2469         959:  {region: 0x165, script: 0x57, flags: 0x0},
2470         960:  {region: 0x41, script: 0x57, flags: 0x0},
2471         961:  {region: 0x165, script: 0x57, flags: 0x0},
2472         962:  {region: 0x7a, script: 0x57, flags: 0x0},
2473         963:  {region: 0x165, script: 0x57, flags: 0x0},
2474         964:  {region: 0xe4, script: 0x57, flags: 0x0},
2475         965:  {region: 0x89, script: 0x57, flags: 0x0},
2476         966:  {region: 0x69, script: 0x57, flags: 0x0},
2477         967:  {region: 0x165, script: 0x57, flags: 0x0},
2478         968:  {region: 0x99, script: 0x21, flags: 0x0},
2479         969:  {region: 0x165, script: 0x57, flags: 0x0},
2480         970:  {region: 0x102, script: 0x57, flags: 0x0},
2481         971:  {region: 0x95, script: 0x57, flags: 0x0},
2482         972:  {region: 0x165, script: 0x57, flags: 0x0},
2483         973:  {region: 0x165, script: 0x57, flags: 0x0},
2484         974:  {region: 0x9e, script: 0x57, flags: 0x0},
2485         975:  {region: 0x165, script: 0x5, flags: 0x0},
2486         976:  {region: 0x99, script: 0x57, flags: 0x0},
2487         977:  {region: 0x31, script: 0x2, flags: 0x1},
2488         978:  {region: 0xdb, script: 0x21, flags: 0x0},
2489         979:  {region: 0x35, script: 0xe, flags: 0x0},
2490         980:  {region: 0x4e, script: 0x57, flags: 0x0},
2491         981:  {region: 0x72, script: 0x57, flags: 0x0},
2492         982:  {region: 0x4e, script: 0x57, flags: 0x0},
2493         983:  {region: 0x9c, script: 0x5, flags: 0x0},
2494         984:  {region: 0x10c, script: 0x57, flags: 0x0},
2495         985:  {region: 0x3a, script: 0x57, flags: 0x0},
2496         986:  {region: 0x165, script: 0x57, flags: 0x0},
2497         987:  {region: 0xd1, script: 0x57, flags: 0x0},
2498         988:  {region: 0x104, script: 0x57, flags: 0x0},
2499         989:  {region: 0x95, script: 0x57, flags: 0x0},
2500         990:  {region: 0x12f, script: 0x57, flags: 0x0},
2501         991:  {region: 0x165, script: 0x57, flags: 0x0},
2502         992:  {region: 0x165, script: 0x57, flags: 0x0},
2503         993:  {region: 0x73, script: 0x57, flags: 0x0},
2504         994:  {region: 0x106, script: 0x1f, flags: 0x0},
2505         995:  {region: 0x130, script: 0x1f, flags: 0x0},
2506         996:  {region: 0x109, script: 0x57, flags: 0x0},
2507         997:  {region: 0x107, script: 0x57, flags: 0x0},
2508         998:  {region: 0x12f, script: 0x57, flags: 0x0},
2509         999:  {region: 0x165, script: 0x57, flags: 0x0},
2510         1000: {region: 0xa2, script: 0x49, flags: 0x0},
2511         1001: {region: 0x99, script: 0x21, flags: 0x0},
2512         1002: {region: 0x80, script: 0x57, flags: 0x0},
2513         1003: {region: 0x106, script: 0x1f, flags: 0x0},
2514         1004: {region: 0xa4, script: 0x57, flags: 0x0},
2515         1005: {region: 0x95, script: 0x57, flags: 0x0},
2516         1006: {region: 0x99, script: 0x57, flags: 0x0},
2517         1007: {region: 0x114, script: 0x57, flags: 0x0},
2518         1008: {region: 0x99, script: 0xc3, flags: 0x0},
2519         1009: {region: 0x165, script: 0x57, flags: 0x0},
2520         1010: {region: 0x165, script: 0x57, flags: 0x0},
2521         1011: {region: 0x12f, script: 0x57, flags: 0x0},
2522         1012: {region: 0x9e, script: 0x57, flags: 0x0},
2523         1013: {region: 0x99, script: 0x21, flags: 0x0},
2524         1014: {region: 0x165, script: 0x5, flags: 0x0},
2525         1015: {region: 0x9e, script: 0x57, flags: 0x0},
2526         1016: {region: 0x7b, script: 0x57, flags: 0x0},
2527         1017: {region: 0x49, script: 0x57, flags: 0x0},
2528         1018: {region: 0x33, script: 0x4, flags: 0x1},
2529         1019: {region: 0x9e, script: 0x57, flags: 0x0},
2530         1020: {region: 0x9c, script: 0x5, flags: 0x0},
2531         1021: {region: 0xda, script: 0x57, flags: 0x0},
2532         1022: {region: 0x4f, script: 0x57, flags: 0x0},
2533         1023: {region: 0xd1, script: 0x57, flags: 0x0},
2534         1024: {region: 0xcf, script: 0x57, flags: 0x0},
2535         1025: {region: 0xc3, script: 0x57, flags: 0x0},
2536         1026: {region: 0x4c, script: 0x57, flags: 0x0},
2537         1027: {region: 0x96, script: 0x7a, flags: 0x0},
2538         1028: {region: 0xb6, script: 0x57, flags: 0x0},
2539         1029: {region: 0x165, script: 0x29, flags: 0x0},
2540         1030: {region: 0x165, script: 0x57, flags: 0x0},
2541         1032: {region: 0xba, script: 0xdc, flags: 0x0},
2542         1033: {region: 0x165, script: 0x57, flags: 0x0},
2543         1034: {region: 0xc4, script: 0x72, flags: 0x0},
2544         1035: {region: 0x165, script: 0x5, flags: 0x0},
2545         1036: {region: 0xb3, script: 0xca, flags: 0x0},
2546         1037: {region: 0x6f, script: 0x57, flags: 0x0},
2547         1038: {region: 0x165, script: 0x57, flags: 0x0},
2548         1039: {region: 0x165, script: 0x57, flags: 0x0},
2549         1040: {region: 0x165, script: 0x57, flags: 0x0},
2550         1041: {region: 0x165, script: 0x57, flags: 0x0},
2551         1042: {region: 0x111, script: 0x57, flags: 0x0},
2552         1043: {region: 0x165, script: 0x57, flags: 0x0},
2553         1044: {region: 0xe8, script: 0x5, flags: 0x0},
2554         1045: {region: 0x165, script: 0x57, flags: 0x0},
2555         1046: {region: 0x10f, script: 0x57, flags: 0x0},
2556         1047: {region: 0x165, script: 0x57, flags: 0x0},
2557         1048: {region: 0xe9, script: 0x57, flags: 0x0},
2558         1049: {region: 0x165, script: 0x57, flags: 0x0},
2559         1050: {region: 0x95, script: 0x57, flags: 0x0},
2560         1051: {region: 0x142, script: 0x57, flags: 0x0},
2561         1052: {region: 0x10c, script: 0x57, flags: 0x0},
2562         1054: {region: 0x10c, script: 0x57, flags: 0x0},
2563         1055: {region: 0x72, script: 0x57, flags: 0x0},
2564         1056: {region: 0x97, script: 0xc0, flags: 0x0},
2565         1057: {region: 0x165, script: 0x57, flags: 0x0},
2566         1058: {region: 0x72, script: 0x57, flags: 0x0},
2567         1059: {region: 0x164, script: 0x57, flags: 0x0},
2568         1060: {region: 0x165, script: 0x57, flags: 0x0},
2569         1061: {region: 0xc3, script: 0x57, flags: 0x0},
2570         1062: {region: 0x165, script: 0x57, flags: 0x0},
2571         1063: {region: 0x165, script: 0x57, flags: 0x0},
2572         1064: {region: 0x165, script: 0x57, flags: 0x0},
2573         1065: {region: 0x115, script: 0x57, flags: 0x0},
2574         1066: {region: 0x165, script: 0x57, flags: 0x0},
2575         1067: {region: 0x165, script: 0x57, flags: 0x0},
2576         1068: {region: 0x123, script: 0xdf, flags: 0x0},
2577         1069: {region: 0x165, script: 0x57, flags: 0x0},
2578         1070: {region: 0x165, script: 0x57, flags: 0x0},
2579         1071: {region: 0x165, script: 0x57, flags: 0x0},
2580         1072: {region: 0x165, script: 0x57, flags: 0x0},
2581         1073: {region: 0x27, script: 0x57, flags: 0x0},
2582         1074: {region: 0x37, script: 0x5, flags: 0x1},
2583         1075: {region: 0x99, script: 0xcb, flags: 0x0},
2584         1076: {region: 0x116, script: 0x57, flags: 0x0},
2585         1077: {region: 0x114, script: 0x57, flags: 0x0},
2586         1078: {region: 0x99, script: 0x21, flags: 0x0},
2587         1079: {region: 0x161, script: 0x57, flags: 0x0},
2588         1080: {region: 0x165, script: 0x57, flags: 0x0},
2589         1081: {region: 0x165, script: 0x57, flags: 0x0},
2590         1082: {region: 0x6d, script: 0x57, flags: 0x0},
2591         1083: {region: 0x161, script: 0x57, flags: 0x0},
2592         1084: {region: 0x165, script: 0x57, flags: 0x0},
2593         1085: {region: 0x60, script: 0x57, flags: 0x0},
2594         1086: {region: 0x95, script: 0x57, flags: 0x0},
2595         1087: {region: 0x165, script: 0x57, flags: 0x0},
2596         1088: {region: 0x165, script: 0x57, flags: 0x0},
2597         1089: {region: 0x12f, script: 0x57, flags: 0x0},
2598         1090: {region: 0x165, script: 0x57, flags: 0x0},
2599         1091: {region: 0x84, script: 0x57, flags: 0x0},
2600         1092: {region: 0x10c, script: 0x57, flags: 0x0},
2601         1093: {region: 0x12f, script: 0x57, flags: 0x0},
2602         1094: {region: 0x15f, script: 0x5, flags: 0x0},
2603         1095: {region: 0x4b, script: 0x57, flags: 0x0},
2604         1096: {region: 0x60, script: 0x57, flags: 0x0},
2605         1097: {region: 0x165, script: 0x57, flags: 0x0},
2606         1098: {region: 0x99, script: 0x21, flags: 0x0},
2607         1099: {region: 0x95, script: 0x57, flags: 0x0},
2608         1100: {region: 0x165, script: 0x57, flags: 0x0},
2609         1101: {region: 0x35, script: 0xe, flags: 0x0},
2610         1102: {region: 0x9b, script: 0xcf, flags: 0x0},
2611         1103: {region: 0xe9, script: 0x57, flags: 0x0},
2612         1104: {region: 0x99, script: 0xd7, flags: 0x0},
2613         1105: {region: 0xdb, script: 0x21, flags: 0x0},
2614         1106: {region: 0x165, script: 0x57, flags: 0x0},
2615         1107: {region: 0x165, script: 0x57, flags: 0x0},
2616         1108: {region: 0x165, script: 0x57, flags: 0x0},
2617         1109: {region: 0x165, script: 0x57, flags: 0x0},
2618         1110: {region: 0x165, script: 0x57, flags: 0x0},
2619         1111: {region: 0x165, script: 0x57, flags: 0x0},
2620         1112: {region: 0x165, script: 0x57, flags: 0x0},
2621         1113: {region: 0x165, script: 0x57, flags: 0x0},
2622         1114: {region: 0xe7, script: 0x57, flags: 0x0},
2623         1115: {region: 0x165, script: 0x57, flags: 0x0},
2624         1116: {region: 0x165, script: 0x57, flags: 0x0},
2625         1117: {region: 0x99, script: 0x4f, flags: 0x0},
2626         1118: {region: 0x53, script: 0xd5, flags: 0x0},
2627         1119: {region: 0xdb, script: 0x21, flags: 0x0},
2628         1120: {region: 0xdb, script: 0x21, flags: 0x0},
2629         1121: {region: 0x99, script: 0xda, flags: 0x0},
2630         1122: {region: 0x165, script: 0x57, flags: 0x0},
2631         1123: {region: 0x112, script: 0x57, flags: 0x0},
2632         1124: {region: 0x131, script: 0x57, flags: 0x0},
2633         1125: {region: 0x126, script: 0x57, flags: 0x0},
2634         1126: {region: 0x165, script: 0x57, flags: 0x0},
2635         1127: {region: 0x3c, script: 0x3, flags: 0x1},
2636         1128: {region: 0x165, script: 0x57, flags: 0x0},
2637         1129: {region: 0x165, script: 0x57, flags: 0x0},
2638         1130: {region: 0x165, script: 0x57, flags: 0x0},
2639         1131: {region: 0x123, script: 0xdf, flags: 0x0},
2640         1132: {region: 0xdb, script: 0x21, flags: 0x0},
2641         1133: {region: 0xdb, script: 0x21, flags: 0x0},
2642         1134: {region: 0xdb, script: 0x21, flags: 0x0},
2643         1135: {region: 0x6f, script: 0x29, flags: 0x0},
2644         1136: {region: 0x165, script: 0x57, flags: 0x0},
2645         1137: {region: 0x6d, script: 0x29, flags: 0x0},
2646         1138: {region: 0x165, script: 0x57, flags: 0x0},
2647         1139: {region: 0x165, script: 0x57, flags: 0x0},
2648         1140: {region: 0x165, script: 0x57, flags: 0x0},
2649         1141: {region: 0xd6, script: 0x57, flags: 0x0},
2650         1142: {region: 0x127, script: 0x57, flags: 0x0},
2651         1143: {region: 0x125, script: 0x57, flags: 0x0},
2652         1144: {region: 0x32, script: 0x57, flags: 0x0},
2653         1145: {region: 0xdb, script: 0x21, flags: 0x0},
2654         1146: {region: 0xe7, script: 0x57, flags: 0x0},
2655         1147: {region: 0x165, script: 0x57, flags: 0x0},
2656         1148: {region: 0x165, script: 0x57, flags: 0x0},
2657         1149: {region: 0x32, script: 0x57, flags: 0x0},
2658         1150: {region: 0xd4, script: 0x57, flags: 0x0},
2659         1151: {region: 0x165, script: 0x57, flags: 0x0},
2660         1152: {region: 0x161, script: 0x57, flags: 0x0},
2661         1153: {region: 0x165, script: 0x57, flags: 0x0},
2662         1154: {region: 0x129, script: 0x57, flags: 0x0},
2663         1155: {region: 0x165, script: 0x57, flags: 0x0},
2664         1156: {region: 0xce, script: 0x57, flags: 0x0},
2665         1157: {region: 0x165, script: 0x57, flags: 0x0},
2666         1158: {region: 0xe6, script: 0x57, flags: 0x0},
2667         1159: {region: 0x165, script: 0x57, flags: 0x0},
2668         1160: {region: 0x165, script: 0x57, flags: 0x0},
2669         1161: {region: 0x165, script: 0x57, flags: 0x0},
2670         1162: {region: 0x12b, script: 0x57, flags: 0x0},
2671         1163: {region: 0x12b, script: 0x57, flags: 0x0},
2672         1164: {region: 0x12e, script: 0x57, flags: 0x0},
2673         1165: {region: 0x165, script: 0x5, flags: 0x0},
2674         1166: {region: 0x161, script: 0x57, flags: 0x0},
2675         1167: {region: 0x87, script: 0x31, flags: 0x0},
2676         1168: {region: 0xdb, script: 0x21, flags: 0x0},
2677         1169: {region: 0xe7, script: 0x57, flags: 0x0},
2678         1170: {region: 0x43, script: 0xe0, flags: 0x0},
2679         1171: {region: 0x165, script: 0x57, flags: 0x0},
2680         1172: {region: 0x106, script: 0x1f, flags: 0x0},
2681         1173: {region: 0x165, script: 0x57, flags: 0x0},
2682         1174: {region: 0x165, script: 0x57, flags: 0x0},
2683         1175: {region: 0x131, script: 0x57, flags: 0x0},
2684         1176: {region: 0x165, script: 0x57, flags: 0x0},
2685         1177: {region: 0x123, script: 0xdf, flags: 0x0},
2686         1178: {region: 0x32, script: 0x57, flags: 0x0},
2687         1179: {region: 0x165, script: 0x57, flags: 0x0},
2688         1180: {region: 0x165, script: 0x57, flags: 0x0},
2689         1181: {region: 0xce, script: 0x57, flags: 0x0},
2690         1182: {region: 0x165, script: 0x57, flags: 0x0},
2691         1183: {region: 0x165, script: 0x57, flags: 0x0},
2692         1184: {region: 0x12d, script: 0x57, flags: 0x0},
2693         1185: {region: 0x165, script: 0x57, flags: 0x0},
2694         1187: {region: 0x165, script: 0x57, flags: 0x0},
2695         1188: {region: 0xd4, script: 0x57, flags: 0x0},
2696         1189: {region: 0x53, script: 0xd8, flags: 0x0},
2697         1190: {region: 0xe5, script: 0x57, flags: 0x0},
2698         1191: {region: 0x165, script: 0x57, flags: 0x0},
2699         1192: {region: 0x106, script: 0x1f, flags: 0x0},
2700         1193: {region: 0xba, script: 0x57, flags: 0x0},
2701         1194: {region: 0x165, script: 0x57, flags: 0x0},
2702         1195: {region: 0x106, script: 0x1f, flags: 0x0},
2703         1196: {region: 0x3f, script: 0x4, flags: 0x1},
2704         1197: {region: 0x11c, script: 0xe2, flags: 0x0},
2705         1198: {region: 0x130, script: 0x1f, flags: 0x0},
2706         1199: {region: 0x75, script: 0x57, flags: 0x0},
2707         1200: {region: 0x2a, script: 0x57, flags: 0x0},
2708         1202: {region: 0x43, script: 0x3, flags: 0x1},
2709         1203: {region: 0x99, script: 0xe, flags: 0x0},
2710         1204: {region: 0xe8, script: 0x5, flags: 0x0},
2711         1205: {region: 0x165, script: 0x57, flags: 0x0},
2712         1206: {region: 0x165, script: 0x57, flags: 0x0},
2713         1207: {region: 0x165, script: 0x57, flags: 0x0},
2714         1208: {region: 0x165, script: 0x57, flags: 0x0},
2715         1209: {region: 0x165, script: 0x57, flags: 0x0},
2716         1210: {region: 0x165, script: 0x57, flags: 0x0},
2717         1211: {region: 0x165, script: 0x57, flags: 0x0},
2718         1212: {region: 0x46, script: 0x4, flags: 0x1},
2719         1213: {region: 0x165, script: 0x57, flags: 0x0},
2720         1214: {region: 0xb4, script: 0xe3, flags: 0x0},
2721         1215: {region: 0x165, script: 0x57, flags: 0x0},
2722         1216: {region: 0x161, script: 0x57, flags: 0x0},
2723         1217: {region: 0x9e, script: 0x57, flags: 0x0},
2724         1218: {region: 0x106, script: 0x57, flags: 0x0},
2725         1219: {region: 0x13e, script: 0x57, flags: 0x0},
2726         1220: {region: 0x11b, script: 0x57, flags: 0x0},
2727         1221: {region: 0x165, script: 0x57, flags: 0x0},
2728         1222: {region: 0x36, script: 0x57, flags: 0x0},
2729         1223: {region: 0x60, script: 0x57, flags: 0x0},
2730         1224: {region: 0xd1, script: 0x57, flags: 0x0},
2731         1225: {region: 0x1, script: 0x57, flags: 0x0},
2732         1226: {region: 0x106, script: 0x57, flags: 0x0},
2733         1227: {region: 0x6a, script: 0x57, flags: 0x0},
2734         1228: {region: 0x12f, script: 0x57, flags: 0x0},
2735         1229: {region: 0x165, script: 0x57, flags: 0x0},
2736         1230: {region: 0x36, script: 0x57, flags: 0x0},
2737         1231: {region: 0x4e, script: 0x57, flags: 0x0},
2738         1232: {region: 0x165, script: 0x57, flags: 0x0},
2739         1233: {region: 0x6f, script: 0x29, flags: 0x0},
2740         1234: {region: 0x165, script: 0x57, flags: 0x0},
2741         1235: {region: 0xe7, script: 0x57, flags: 0x0},
2742         1236: {region: 0x2f, script: 0x57, flags: 0x0},
2743         1237: {region: 0x99, script: 0xda, flags: 0x0},
2744         1238: {region: 0x99, script: 0x21, flags: 0x0},
2745         1239: {region: 0x165, script: 0x57, flags: 0x0},
2746         1240: {region: 0x165, script: 0x57, flags: 0x0},
2747         1241: {region: 0x165, script: 0x57, flags: 0x0},
2748         1242: {region: 0x165, script: 0x57, flags: 0x0},
2749         1243: {region: 0x165, script: 0x57, flags: 0x0},
2750         1244: {region: 0x165, script: 0x57, flags: 0x0},
2751         1245: {region: 0x165, script: 0x57, flags: 0x0},
2752         1246: {region: 0x165, script: 0x57, flags: 0x0},
2753         1247: {region: 0x165, script: 0x57, flags: 0x0},
2754         1248: {region: 0x140, script: 0x57, flags: 0x0},
2755         1249: {region: 0x165, script: 0x57, flags: 0x0},
2756         1250: {region: 0x165, script: 0x57, flags: 0x0},
2757         1251: {region: 0xa8, script: 0x5, flags: 0x0},
2758         1252: {region: 0x165, script: 0x57, flags: 0x0},
2759         1253: {region: 0x114, script: 0x57, flags: 0x0},
2760         1254: {region: 0x165, script: 0x57, flags: 0x0},
2761         1255: {region: 0x165, script: 0x57, flags: 0x0},
2762         1256: {region: 0x165, script: 0x57, flags: 0x0},
2763         1257: {region: 0x165, script: 0x57, flags: 0x0},
2764         1258: {region: 0x99, script: 0x21, flags: 0x0},
2765         1259: {region: 0x53, script: 0x38, flags: 0x0},
2766         1260: {region: 0x165, script: 0x57, flags: 0x0},
2767         1261: {region: 0x165, script: 0x57, flags: 0x0},
2768         1262: {region: 0x41, script: 0x57, flags: 0x0},
2769         1263: {region: 0x165, script: 0x57, flags: 0x0},
2770         1264: {region: 0x12b, script: 0x18, flags: 0x0},
2771         1265: {region: 0x165, script: 0x57, flags: 0x0},
2772         1266: {region: 0x161, script: 0x57, flags: 0x0},
2773         1267: {region: 0x165, script: 0x57, flags: 0x0},
2774         1268: {region: 0x12b, script: 0x5f, flags: 0x0},
2775         1269: {region: 0x12b, script: 0x60, flags: 0x0},
2776         1270: {region: 0x7d, script: 0x2b, flags: 0x0},
2777         1271: {region: 0x53, script: 0x64, flags: 0x0},
2778         1272: {region: 0x10b, script: 0x69, flags: 0x0},
2779         1273: {region: 0x108, script: 0x73, flags: 0x0},
2780         1274: {region: 0x99, script: 0x21, flags: 0x0},
2781         1275: {region: 0x131, script: 0x57, flags: 0x0},
2782         1276: {region: 0x165, script: 0x57, flags: 0x0},
2783         1277: {region: 0x9c, script: 0x8a, flags: 0x0},
2784         1278: {region: 0x165, script: 0x57, flags: 0x0},
2785         1279: {region: 0x15e, script: 0xc2, flags: 0x0},
2786         1280: {region: 0x165, script: 0x57, flags: 0x0},
2787         1281: {region: 0x165, script: 0x57, flags: 0x0},
2788         1282: {region: 0xdb, script: 0x21, flags: 0x0},
2789         1283: {region: 0x165, script: 0x57, flags: 0x0},
2790         1284: {region: 0x165, script: 0x57, flags: 0x0},
2791         1285: {region: 0xd1, script: 0x57, flags: 0x0},
2792         1286: {region: 0x75, script: 0x57, flags: 0x0},
2793         1287: {region: 0x165, script: 0x57, flags: 0x0},
2794         1288: {region: 0x165, script: 0x57, flags: 0x0},
2795         1289: {region: 0x52, script: 0x57, flags: 0x0},
2796         1290: {region: 0x165, script: 0x57, flags: 0x0},
2797         1291: {region: 0x165, script: 0x57, flags: 0x0},
2798         1292: {region: 0x165, script: 0x57, flags: 0x0},
2799         1293: {region: 0x52, script: 0x57, flags: 0x0},
2800         1294: {region: 0x165, script: 0x57, flags: 0x0},
2801         1295: {region: 0x165, script: 0x57, flags: 0x0},
2802         1296: {region: 0x165, script: 0x57, flags: 0x0},
2803         1297: {region: 0x165, script: 0x57, flags: 0x0},
2804         1298: {region: 0x1, script: 0x3b, flags: 0x0},
2805         1299: {region: 0x165, script: 0x57, flags: 0x0},
2806         1300: {region: 0x165, script: 0x57, flags: 0x0},
2807         1301: {region: 0x165, script: 0x57, flags: 0x0},
2808         1302: {region: 0x165, script: 0x57, flags: 0x0},
2809         1303: {region: 0x165, script: 0x57, flags: 0x0},
2810         1304: {region: 0xd6, script: 0x57, flags: 0x0},
2811         1305: {region: 0x165, script: 0x57, flags: 0x0},
2812         1306: {region: 0x165, script: 0x57, flags: 0x0},
2813         1307: {region: 0x165, script: 0x57, flags: 0x0},
2814         1308: {region: 0x41, script: 0x57, flags: 0x0},
2815         1309: {region: 0x165, script: 0x57, flags: 0x0},
2816         1310: {region: 0xcf, script: 0x57, flags: 0x0},
2817         1311: {region: 0x4a, script: 0x3, flags: 0x1},
2818         1312: {region: 0x165, script: 0x57, flags: 0x0},
2819         1313: {region: 0x165, script: 0x57, flags: 0x0},
2820         1314: {region: 0x165, script: 0x57, flags: 0x0},
2821         1315: {region: 0x53, script: 0x57, flags: 0x0},
2822         1316: {region: 0x10b, script: 0x57, flags: 0x0},
2823         1318: {region: 0xa8, script: 0x5, flags: 0x0},
2824         1319: {region: 0xd9, script: 0x57, flags: 0x0},
2825         1320: {region: 0xba, script: 0xdc, flags: 0x0},
2826         1321: {region: 0x4d, script: 0x14, flags: 0x1},
2827         1322: {region: 0x53, script: 0x79, flags: 0x0},
2828         1323: {region: 0x165, script: 0x57, flags: 0x0},
2829         1324: {region: 0x122, script: 0x57, flags: 0x0},
2830         1325: {region: 0xd0, script: 0x57, flags: 0x0},
2831         1326: {region: 0x165, script: 0x57, flags: 0x0},
2832         1327: {region: 0x161, script: 0x57, flags: 0x0},
2833         1329: {region: 0x12b, script: 0x57, flags: 0x0},
2834 }
2835
2836 // likelyLangList holds lists info associated with likelyLang.
2837 // Size: 388 bytes, 97 elements
2838 var likelyLangList = [97]likelyScriptRegion{
2839         0:  {region: 0x9c, script: 0x7, flags: 0x0},
2840         1:  {region: 0xa1, script: 0x74, flags: 0x2},
2841         2:  {region: 0x11c, script: 0x80, flags: 0x2},
2842         3:  {region: 0x32, script: 0x57, flags: 0x0},
2843         4:  {region: 0x9b, script: 0x5, flags: 0x4},
2844         5:  {region: 0x9c, script: 0x5, flags: 0x4},
2845         6:  {region: 0x106, script: 0x1f, flags: 0x4},
2846         7:  {region: 0x9c, script: 0x5, flags: 0x2},
2847         8:  {region: 0x106, script: 0x1f, flags: 0x0},
2848         9:  {region: 0x38, script: 0x2c, flags: 0x2},
2849         10: {region: 0x135, script: 0x57, flags: 0x0},
2850         11: {region: 0x7b, script: 0xc5, flags: 0x2},
2851         12: {region: 0x114, script: 0x57, flags: 0x0},
2852         13: {region: 0x84, script: 0x1, flags: 0x2},
2853         14: {region: 0x5d, script: 0x1e, flags: 0x0},
2854         15: {region: 0x87, script: 0x5c, flags: 0x2},
2855         16: {region: 0xd6, script: 0x57, flags: 0x0},
2856         17: {region: 0x52, script: 0x5, flags: 0x4},
2857         18: {region: 0x10b, script: 0x5, flags: 0x4},
2858         19: {region: 0xae, script: 0x1f, flags: 0x0},
2859         20: {region: 0x24, script: 0x5, flags: 0x4},
2860         21: {region: 0x53, script: 0x5, flags: 0x4},
2861         22: {region: 0x9c, script: 0x5, flags: 0x4},
2862         23: {region: 0xc5, script: 0x5, flags: 0x4},
2863         24: {region: 0x53, script: 0x5, flags: 0x2},
2864         25: {region: 0x12b, script: 0x57, flags: 0x0},
2865         26: {region: 0xb0, script: 0x5, flags: 0x4},
2866         27: {region: 0x9b, script: 0x5, flags: 0x2},
2867         28: {region: 0xa5, script: 0x1f, flags: 0x0},
2868         29: {region: 0x53, script: 0x5, flags: 0x4},
2869         30: {region: 0x12b, script: 0x57, flags: 0x4},
2870         31: {region: 0x53, script: 0x5, flags: 0x2},
2871         32: {region: 0x12b, script: 0x57, flags: 0x2},
2872         33: {region: 0xdb, script: 0x21, flags: 0x0},
2873         34: {region: 0x99, script: 0x5a, flags: 0x2},
2874         35: {region: 0x83, script: 0x57, flags: 0x0},
2875         36: {region: 0x84, script: 0x78, flags: 0x4},
2876         37: {region: 0x84, script: 0x78, flags: 0x2},
2877         38: {region: 0xc5, script: 0x1f, flags: 0x0},
2878         39: {region: 0x53, script: 0x6d, flags: 0x4},
2879         40: {region: 0x53, script: 0x6d, flags: 0x2},
2880         41: {region: 0xd0, script: 0x57, flags: 0x0},
2881         42: {region: 0x4a, script: 0x5, flags: 0x4},
2882         43: {region: 0x95, script: 0x5, flags: 0x4},
2883         44: {region: 0x99, script: 0x33, flags: 0x0},
2884         45: {region: 0xe8, script: 0x5, flags: 0x4},
2885         46: {region: 0xe8, script: 0x5, flags: 0x2},
2886         47: {region: 0x9c, script: 0x84, flags: 0x0},
2887         48: {region: 0x53, script: 0x85, flags: 0x2},
2888         49: {region: 0xba, script: 0xdc, flags: 0x0},
2889         50: {region: 0xd9, script: 0x57, flags: 0x4},
2890         51: {region: 0xe8, script: 0x5, flags: 0x0},
2891         52: {region: 0x99, script: 0x21, flags: 0x2},
2892         53: {region: 0x99, script: 0x4c, flags: 0x2},
2893         54: {region: 0x99, script: 0xc9, flags: 0x2},
2894         55: {region: 0x105, script: 0x1f, flags: 0x0},
2895         56: {region: 0xbd, script: 0x57, flags: 0x4},
2896         57: {region: 0x104, script: 0x57, flags: 0x4},
2897         58: {region: 0x106, script: 0x57, flags: 0x4},
2898         59: {region: 0x12b, script: 0x57, flags: 0x4},
2899         60: {region: 0x124, script: 0x1f, flags: 0x0},
2900         61: {region: 0xe8, script: 0x5, flags: 0x4},
2901         62: {region: 0xe8, script: 0x5, flags: 0x2},
2902         63: {region: 0x53, script: 0x5, flags: 0x0},
2903         64: {region: 0xae, script: 0x1f, flags: 0x4},
2904         65: {region: 0xc5, script: 0x1f, flags: 0x4},
2905         66: {region: 0xae, script: 0x1f, flags: 0x2},
2906         67: {region: 0x99, script: 0xe, flags: 0x0},
2907         68: {region: 0xdb, script: 0x21, flags: 0x4},
2908         69: {region: 0xdb, script: 0x21, flags: 0x2},
2909         70: {region: 0x137, script: 0x57, flags: 0x0},
2910         71: {region: 0x24, script: 0x5, flags: 0x4},
2911         72: {region: 0x53, script: 0x1f, flags: 0x4},
2912         73: {region: 0x24, script: 0x5, flags: 0x2},
2913         74: {region: 0x8d, script: 0x39, flags: 0x0},
2914         75: {region: 0x53, script: 0x38, flags: 0x4},
2915         76: {region: 0x53, script: 0x38, flags: 0x2},
2916         77: {region: 0x53, script: 0x38, flags: 0x0},
2917         78: {region: 0x2f, script: 0x39, flags: 0x4},
2918         79: {region: 0x3e, script: 0x39, flags: 0x4},
2919         80: {region: 0x7b, script: 0x39, flags: 0x4},
2920         81: {region: 0x7e, script: 0x39, flags: 0x4},
2921         82: {region: 0x8d, script: 0x39, flags: 0x4},
2922         83: {region: 0x95, script: 0x39, flags: 0x4},
2923         84: {region: 0xc6, script: 0x39, flags: 0x4},
2924         85: {region: 0xd0, script: 0x39, flags: 0x4},
2925         86: {region: 0xe2, script: 0x39, flags: 0x4},
2926         87: {region: 0xe5, script: 0x39, flags: 0x4},
2927         88: {region: 0xe7, script: 0x39, flags: 0x4},
2928         89: {region: 0x116, script: 0x39, flags: 0x4},
2929         90: {region: 0x123, script: 0x39, flags: 0x4},
2930         91: {region: 0x12e, script: 0x39, flags: 0x4},
2931         92: {region: 0x135, script: 0x39, flags: 0x4},
2932         93: {region: 0x13e, script: 0x39, flags: 0x4},
2933         94: {region: 0x12e, script: 0x11, flags: 0x2},
2934         95: {region: 0x12e, script: 0x34, flags: 0x2},
2935         96: {region: 0x12e, script: 0x39, flags: 0x2},
2936 }
2937
2938 type likelyLangScript struct {
2939         lang   uint16
2940         script uint8
2941         flags  uint8
2942 }
2943
2944 // likelyRegion is a lookup table, indexed by regionID, for the most likely
2945 // languages and scripts given incomplete information. If more entries exist
2946 // for a given regionID, lang and script are the index and size respectively
2947 // of the list in likelyRegionList.
2948 // TODO: exclude containers and user-definable regions from the list.
2949 // Size: 1432 bytes, 358 elements
2950 var likelyRegion = [358]likelyLangScript{
2951         34:  {lang: 0xd7, script: 0x57, flags: 0x0},
2952         35:  {lang: 0x3a, script: 0x5, flags: 0x0},
2953         36:  {lang: 0x0, script: 0x2, flags: 0x1},
2954         39:  {lang: 0x2, script: 0x2, flags: 0x1},
2955         40:  {lang: 0x4, script: 0x2, flags: 0x1},
2956         42:  {lang: 0x3c0, script: 0x57, flags: 0x0},
2957         43:  {lang: 0x0, script: 0x57, flags: 0x0},
2958         44:  {lang: 0x13e, script: 0x57, flags: 0x0},
2959         45:  {lang: 0x41b, script: 0x57, flags: 0x0},
2960         46:  {lang: 0x10d, script: 0x57, flags: 0x0},
2961         48:  {lang: 0x367, script: 0x57, flags: 0x0},
2962         49:  {lang: 0x444, script: 0x57, flags: 0x0},
2963         50:  {lang: 0x58, script: 0x57, flags: 0x0},
2964         51:  {lang: 0x6, script: 0x2, flags: 0x1},
2965         53:  {lang: 0xa5, script: 0xe, flags: 0x0},
2966         54:  {lang: 0x367, script: 0x57, flags: 0x0},
2967         55:  {lang: 0x15e, script: 0x57, flags: 0x0},
2968         56:  {lang: 0x7e, script: 0x1f, flags: 0x0},
2969         57:  {lang: 0x3a, script: 0x5, flags: 0x0},
2970         58:  {lang: 0x3d9, script: 0x57, flags: 0x0},
2971         59:  {lang: 0x15e, script: 0x57, flags: 0x0},
2972         60:  {lang: 0x15e, script: 0x57, flags: 0x0},
2973         62:  {lang: 0x31f, script: 0x57, flags: 0x0},
2974         63:  {lang: 0x13e, script: 0x57, flags: 0x0},
2975         64:  {lang: 0x3a1, script: 0x57, flags: 0x0},
2976         65:  {lang: 0x3c0, script: 0x57, flags: 0x0},
2977         67:  {lang: 0x8, script: 0x2, flags: 0x1},
2978         69:  {lang: 0x0, script: 0x57, flags: 0x0},
2979         71:  {lang: 0x71, script: 0x1f, flags: 0x0},
2980         73:  {lang: 0x512, script: 0x3b, flags: 0x2},
2981         74:  {lang: 0x31f, script: 0x5, flags: 0x2},
2982         75:  {lang: 0x445, script: 0x57, flags: 0x0},
2983         76:  {lang: 0x15e, script: 0x57, flags: 0x0},
2984         77:  {lang: 0x15e, script: 0x57, flags: 0x0},
2985         78:  {lang: 0x10d, script: 0x57, flags: 0x0},
2986         79:  {lang: 0x15e, script: 0x57, flags: 0x0},
2987         81:  {lang: 0x13e, script: 0x57, flags: 0x0},
2988         82:  {lang: 0x15e, script: 0x57, flags: 0x0},
2989         83:  {lang: 0xa, script: 0x4, flags: 0x1},
2990         84:  {lang: 0x13e, script: 0x57, flags: 0x0},
2991         85:  {lang: 0x0, script: 0x57, flags: 0x0},
2992         86:  {lang: 0x13e, script: 0x57, flags: 0x0},
2993         89:  {lang: 0x13e, script: 0x57, flags: 0x0},
2994         90:  {lang: 0x3c0, script: 0x57, flags: 0x0},
2995         91:  {lang: 0x3a1, script: 0x57, flags: 0x0},
2996         93:  {lang: 0xe, script: 0x2, flags: 0x1},
2997         94:  {lang: 0xfa, script: 0x57, flags: 0x0},
2998         96:  {lang: 0x10d, script: 0x57, flags: 0x0},
2999         98:  {lang: 0x1, script: 0x57, flags: 0x0},
3000         99:  {lang: 0x101, script: 0x57, flags: 0x0},
3001         101: {lang: 0x13e, script: 0x57, flags: 0x0},
3002         103: {lang: 0x10, script: 0x2, flags: 0x1},
3003         104: {lang: 0x13e, script: 0x57, flags: 0x0},
3004         105: {lang: 0x13e, script: 0x57, flags: 0x0},
3005         106: {lang: 0x140, script: 0x57, flags: 0x0},
3006         107: {lang: 0x3a, script: 0x5, flags: 0x0},
3007         108: {lang: 0x3a, script: 0x5, flags: 0x0},
3008         109: {lang: 0x46f, script: 0x29, flags: 0x0},
3009         110: {lang: 0x13e, script: 0x57, flags: 0x0},
3010         111: {lang: 0x12, script: 0x2, flags: 0x1},
3011         113: {lang: 0x10d, script: 0x57, flags: 0x0},
3012         114: {lang: 0x151, script: 0x57, flags: 0x0},
3013         115: {lang: 0x1c0, script: 0x21, flags: 0x2},
3014         118: {lang: 0x158, script: 0x57, flags: 0x0},
3015         120: {lang: 0x15e, script: 0x57, flags: 0x0},
3016         122: {lang: 0x15e, script: 0x57, flags: 0x0},
3017         123: {lang: 0x14, script: 0x2, flags: 0x1},
3018         125: {lang: 0x16, script: 0x3, flags: 0x1},
3019         126: {lang: 0x15e, script: 0x57, flags: 0x0},
3020         128: {lang: 0x21, script: 0x57, flags: 0x0},
3021         130: {lang: 0x245, script: 0x57, flags: 0x0},
3022         132: {lang: 0x15e, script: 0x57, flags: 0x0},
3023         133: {lang: 0x15e, script: 0x57, flags: 0x0},
3024         134: {lang: 0x13e, script: 0x57, flags: 0x0},
3025         135: {lang: 0x19, script: 0x2, flags: 0x1},
3026         136: {lang: 0x0, script: 0x57, flags: 0x0},
3027         137: {lang: 0x13e, script: 0x57, flags: 0x0},
3028         139: {lang: 0x3c0, script: 0x57, flags: 0x0},
3029         141: {lang: 0x529, script: 0x39, flags: 0x0},
3030         142: {lang: 0x0, script: 0x57, flags: 0x0},
3031         143: {lang: 0x13e, script: 0x57, flags: 0x0},
3032         144: {lang: 0x1d1, script: 0x57, flags: 0x0},
3033         145: {lang: 0x1d4, script: 0x57, flags: 0x0},
3034         146: {lang: 0x1d5, script: 0x57, flags: 0x0},
3035         148: {lang: 0x13e, script: 0x57, flags: 0x0},
3036         149: {lang: 0x1b, script: 0x2, flags: 0x1},
3037         151: {lang: 0x1bc, script: 0x3b, flags: 0x0},
3038         153: {lang: 0x1d, script: 0x3, flags: 0x1},
3039         155: {lang: 0x3a, script: 0x5, flags: 0x0},
3040         156: {lang: 0x20, script: 0x2, flags: 0x1},
3041         157: {lang: 0x1f8, script: 0x57, flags: 0x0},
3042         158: {lang: 0x1f9, script: 0x57, flags: 0x0},
3043         161: {lang: 0x3a, script: 0x5, flags: 0x0},
3044         162: {lang: 0x200, script: 0x46, flags: 0x0},
3045         164: {lang: 0x445, script: 0x57, flags: 0x0},
3046         165: {lang: 0x28a, script: 0x1f, flags: 0x0},
3047         166: {lang: 0x22, script: 0x3, flags: 0x1},
3048         168: {lang: 0x25, script: 0x2, flags: 0x1},
3049         170: {lang: 0x254, script: 0x50, flags: 0x0},
3050         171: {lang: 0x254, script: 0x50, flags: 0x0},
3051         172: {lang: 0x3a, script: 0x5, flags: 0x0},
3052         174: {lang: 0x3e2, script: 0x1f, flags: 0x0},
3053         175: {lang: 0x27, script: 0x2, flags: 0x1},
3054         176: {lang: 0x3a, script: 0x5, flags: 0x0},
3055         178: {lang: 0x10d, script: 0x57, flags: 0x0},
3056         179: {lang: 0x40c, script: 0xca, flags: 0x0},
3057         181: {lang: 0x43b, script: 0x57, flags: 0x0},
3058         182: {lang: 0x2c0, script: 0x57, flags: 0x0},
3059         183: {lang: 0x15e, script: 0x57, flags: 0x0},
3060         184: {lang: 0x2c7, script: 0x57, flags: 0x0},
3061         185: {lang: 0x3a, script: 0x5, flags: 0x0},
3062         186: {lang: 0x29, script: 0x2, flags: 0x1},
3063         187: {lang: 0x15e, script: 0x57, flags: 0x0},
3064         188: {lang: 0x2b, script: 0x2, flags: 0x1},
3065         189: {lang: 0x432, script: 0x57, flags: 0x0},
3066         190: {lang: 0x15e, script: 0x57, flags: 0x0},
3067         191: {lang: 0x2f1, script: 0x57, flags: 0x0},
3068         194: {lang: 0x2d, script: 0x2, flags: 0x1},
3069         195: {lang: 0xa0, script: 0x57, flags: 0x0},
3070         196: {lang: 0x2f, script: 0x2, flags: 0x1},
3071         197: {lang: 0x31, script: 0x2, flags: 0x1},
3072         198: {lang: 0x33, script: 0x2, flags: 0x1},
3073         200: {lang: 0x15e, script: 0x57, flags: 0x0},
3074         201: {lang: 0x35, script: 0x2, flags: 0x1},
3075         203: {lang: 0x320, script: 0x57, flags: 0x0},
3076         204: {lang: 0x37, script: 0x3, flags: 0x1},
3077         205: {lang: 0x128, script: 0xde, flags: 0x0},
3078         207: {lang: 0x13e, script: 0x57, flags: 0x0},
3079         208: {lang: 0x31f, script: 0x57, flags: 0x0},
3080         209: {lang: 0x3c0, script: 0x57, flags: 0x0},
3081         210: {lang: 0x16, script: 0x57, flags: 0x0},
3082         211: {lang: 0x15e, script: 0x57, flags: 0x0},
3083         212: {lang: 0x1b4, script: 0x57, flags: 0x0},
3084         214: {lang: 0x1b4, script: 0x5, flags: 0x2},
3085         216: {lang: 0x13e, script: 0x57, flags: 0x0},
3086         217: {lang: 0x367, script: 0x57, flags: 0x0},
3087         218: {lang: 0x347, script: 0x57, flags: 0x0},
3088         219: {lang: 0x351, script: 0x21, flags: 0x0},
3089         225: {lang: 0x3a, script: 0x5, flags: 0x0},
3090         226: {lang: 0x13e, script: 0x57, flags: 0x0},
3091         228: {lang: 0x13e, script: 0x57, flags: 0x0},
3092         229: {lang: 0x15e, script: 0x57, flags: 0x0},
3093         230: {lang: 0x486, script: 0x57, flags: 0x0},
3094         231: {lang: 0x153, script: 0x57, flags: 0x0},
3095         232: {lang: 0x3a, script: 0x3, flags: 0x1},
3096         233: {lang: 0x3b3, script: 0x57, flags: 0x0},
3097         234: {lang: 0x15e, script: 0x57, flags: 0x0},
3098         236: {lang: 0x13e, script: 0x57, flags: 0x0},
3099         237: {lang: 0x3a, script: 0x5, flags: 0x0},
3100         238: {lang: 0x3c0, script: 0x57, flags: 0x0},
3101         240: {lang: 0x3a2, script: 0x57, flags: 0x0},
3102         241: {lang: 0x194, script: 0x57, flags: 0x0},
3103         243: {lang: 0x3a, script: 0x5, flags: 0x0},
3104         258: {lang: 0x15e, script: 0x57, flags: 0x0},
3105         260: {lang: 0x3d, script: 0x2, flags: 0x1},
3106         261: {lang: 0x432, script: 0x1f, flags: 0x0},
3107         262: {lang: 0x3f, script: 0x2, flags: 0x1},
3108         263: {lang: 0x3e5, script: 0x57, flags: 0x0},
3109         264: {lang: 0x3a, script: 0x5, flags: 0x0},
3110         266: {lang: 0x15e, script: 0x57, flags: 0x0},
3111         267: {lang: 0x3a, script: 0x5, flags: 0x0},
3112         268: {lang: 0x41, script: 0x2, flags: 0x1},
3113         271: {lang: 0x416, script: 0x57, flags: 0x0},
3114         272: {lang: 0x347, script: 0x57, flags: 0x0},
3115         273: {lang: 0x43, script: 0x2, flags: 0x1},
3116         275: {lang: 0x1f9, script: 0x57, flags: 0x0},
3117         276: {lang: 0x15e, script: 0x57, flags: 0x0},
3118         277: {lang: 0x429, script: 0x57, flags: 0x0},
3119         278: {lang: 0x367, script: 0x57, flags: 0x0},
3120         280: {lang: 0x3c0, script: 0x57, flags: 0x0},
3121         282: {lang: 0x13e, script: 0x57, flags: 0x0},
3122         284: {lang: 0x45, script: 0x2, flags: 0x1},
3123         288: {lang: 0x15e, script: 0x57, flags: 0x0},
3124         289: {lang: 0x15e, script: 0x57, flags: 0x0},
3125         290: {lang: 0x47, script: 0x2, flags: 0x1},
3126         291: {lang: 0x49, script: 0x3, flags: 0x1},
3127         292: {lang: 0x4c, script: 0x2, flags: 0x1},
3128         293: {lang: 0x477, script: 0x57, flags: 0x0},
3129         294: {lang: 0x3c0, script: 0x57, flags: 0x0},
3130         295: {lang: 0x476, script: 0x57, flags: 0x0},
3131         296: {lang: 0x4e, script: 0x2, flags: 0x1},
3132         297: {lang: 0x482, script: 0x57, flags: 0x0},
3133         299: {lang: 0x50, script: 0x4, flags: 0x1},
3134         301: {lang: 0x4a0, script: 0x57, flags: 0x0},
3135         302: {lang: 0x54, script: 0x2, flags: 0x1},
3136         303: {lang: 0x445, script: 0x57, flags: 0x0},
3137         304: {lang: 0x56, script: 0x3, flags: 0x1},
3138         305: {lang: 0x445, script: 0x57, flags: 0x0},
3139         309: {lang: 0x512, script: 0x3b, flags: 0x2},
3140         310: {lang: 0x13e, script: 0x57, flags: 0x0},
3141         311: {lang: 0x4bc, script: 0x57, flags: 0x0},
3142         312: {lang: 0x1f9, script: 0x57, flags: 0x0},
3143         315: {lang: 0x13e, script: 0x57, flags: 0x0},
3144         318: {lang: 0x4c3, script: 0x57, flags: 0x0},
3145         319: {lang: 0x8a, script: 0x57, flags: 0x0},
3146         320: {lang: 0x15e, script: 0x57, flags: 0x0},
3147         322: {lang: 0x41b, script: 0x57, flags: 0x0},
3148         333: {lang: 0x59, script: 0x2, flags: 0x1},
3149         350: {lang: 0x3a, script: 0x5, flags: 0x0},
3150         351: {lang: 0x5b, script: 0x2, flags: 0x1},
3151         356: {lang: 0x423, script: 0x57, flags: 0x0},
3152 }
3153
3154 // likelyRegionList holds lists info associated with likelyRegion.
3155 // Size: 372 bytes, 93 elements
3156 var likelyRegionList = [93]likelyLangScript{
3157         0:  {lang: 0x148, script: 0x5, flags: 0x0},
3158         1:  {lang: 0x476, script: 0x57, flags: 0x0},
3159         2:  {lang: 0x431, script: 0x57, flags: 0x0},
3160         3:  {lang: 0x2ff, script: 0x1f, flags: 0x0},
3161         4:  {lang: 0x1d7, script: 0x8, flags: 0x0},
3162         5:  {lang: 0x274, script: 0x57, flags: 0x0},
3163         6:  {lang: 0xb7, script: 0x57, flags: 0x0},
3164         7:  {lang: 0x432, script: 0x1f, flags: 0x0},
3165         8:  {lang: 0x12d, script: 0xe0, flags: 0x0},
3166         9:  {lang: 0x351, script: 0x21, flags: 0x0},
3167         10: {lang: 0x529, script: 0x38, flags: 0x0},
3168         11: {lang: 0x4ac, script: 0x5, flags: 0x0},
3169         12: {lang: 0x523, script: 0x57, flags: 0x0},
3170         13: {lang: 0x29a, script: 0xdf, flags: 0x0},
3171         14: {lang: 0x136, script: 0x31, flags: 0x0},
3172         15: {lang: 0x48a, script: 0x57, flags: 0x0},
3173         16: {lang: 0x3a, script: 0x5, flags: 0x0},
3174         17: {lang: 0x15e, script: 0x57, flags: 0x0},
3175         18: {lang: 0x27, script: 0x29, flags: 0x0},
3176         19: {lang: 0x139, script: 0x57, flags: 0x0},
3177         20: {lang: 0x26a, script: 0x5, flags: 0x2},
3178         21: {lang: 0x512, script: 0x3b, flags: 0x2},
3179         22: {lang: 0x210, script: 0x2b, flags: 0x0},
3180         23: {lang: 0x5, script: 0x1f, flags: 0x0},
3181         24: {lang: 0x274, script: 0x57, flags: 0x0},
3182         25: {lang: 0x136, script: 0x31, flags: 0x0},
3183         26: {lang: 0x2ff, script: 0x1f, flags: 0x0},
3184         27: {lang: 0x1e1, script: 0x57, flags: 0x0},
3185         28: {lang: 0x31f, script: 0x5, flags: 0x0},
3186         29: {lang: 0x1be, script: 0x21, flags: 0x0},
3187         30: {lang: 0x4b4, script: 0x5, flags: 0x0},
3188         31: {lang: 0x236, script: 0x72, flags: 0x0},
3189         32: {lang: 0x148, script: 0x5, flags: 0x0},
3190         33: {lang: 0x476, script: 0x57, flags: 0x0},
3191         34: {lang: 0x24a, script: 0x4b, flags: 0x0},
3192         35: {lang: 0xe6, script: 0x5, flags: 0x0},
3193         36: {lang: 0x226, script: 0xdf, flags: 0x0},
3194         37: {lang: 0x3a, script: 0x5, flags: 0x0},
3195         38: {lang: 0x15e, script: 0x57, flags: 0x0},
3196         39: {lang: 0x2b8, script: 0x54, flags: 0x0},
3197         40: {lang: 0x226, script: 0xdf, flags: 0x0},
3198         41: {lang: 0x3a, script: 0x5, flags: 0x0},
3199         42: {lang: 0x15e, script: 0x57, flags: 0x0},
3200         43: {lang: 0x3dc, script: 0x57, flags: 0x0},
3201         44: {lang: 0x4ae, script: 0x1f, flags: 0x0},
3202         45: {lang: 0x2ff, script: 0x1f, flags: 0x0},
3203         46: {lang: 0x431, script: 0x57, flags: 0x0},
3204         47: {lang: 0x331, script: 0x72, flags: 0x0},
3205         48: {lang: 0x213, script: 0x57, flags: 0x0},
3206         49: {lang: 0x30b, script: 0x1f, flags: 0x0},
3207         50: {lang: 0x242, script: 0x5, flags: 0x0},
3208         51: {lang: 0x529, script: 0x39, flags: 0x0},
3209         52: {lang: 0x3c0, script: 0x57, flags: 0x0},
3210         53: {lang: 0x3a, script: 0x5, flags: 0x0},
3211         54: {lang: 0x15e, script: 0x57, flags: 0x0},
3212         55: {lang: 0x2ed, script: 0x57, flags: 0x0},
3213         56: {lang: 0x4b4, script: 0x5, flags: 0x0},
3214         57: {lang: 0x88, script: 0x21, flags: 0x0},
3215         58: {lang: 0x4b4, script: 0x5, flags: 0x0},
3216         59: {lang: 0x4b4, script: 0x5, flags: 0x0},
3217         60: {lang: 0xbe, script: 0x21, flags: 0x0},
3218         61: {lang: 0x3dc, script: 0x57, flags: 0x0},
3219         62: {lang: 0x7e, script: 0x1f, flags: 0x0},
3220         63: {lang: 0x3e2, script: 0x1f, flags: 0x0},
3221         64: {lang: 0x267, script: 0x57, flags: 0x0},
3222         65: {lang: 0x444, script: 0x57, flags: 0x0},
3223         66: {lang: 0x512, script: 0x3b, flags: 0x0},
3224         67: {lang: 0x412, script: 0x57, flags: 0x0},
3225         68: {lang: 0x4ae, script: 0x1f, flags: 0x0},
3226         69: {lang: 0x3a, script: 0x5, flags: 0x0},
3227         70: {lang: 0x15e, script: 0x57, flags: 0x0},
3228         71: {lang: 0x15e, script: 0x57, flags: 0x0},
3229         72: {lang: 0x35, script: 0x5, flags: 0x0},
3230         73: {lang: 0x46b, script: 0xdf, flags: 0x0},
3231         74: {lang: 0x2ec, script: 0x5, flags: 0x0},
3232         75: {lang: 0x30f, script: 0x72, flags: 0x0},
3233         76: {lang: 0x467, script: 0x1f, flags: 0x0},
3234         77: {lang: 0x148, script: 0x5, flags: 0x0},
3235         78: {lang: 0x3a, script: 0x5, flags: 0x0},
3236         79: {lang: 0x15e, script: 0x57, flags: 0x0},
3237         80: {lang: 0x48a, script: 0x57, flags: 0x0},
3238         81: {lang: 0x58, script: 0x5, flags: 0x0},
3239         82: {lang: 0x219, script: 0x1f, flags: 0x0},
3240         83: {lang: 0x81, script: 0x31, flags: 0x0},
3241         84: {lang: 0x529, script: 0x39, flags: 0x0},
3242         85: {lang: 0x48c, script: 0x57, flags: 0x0},
3243         86: {lang: 0x4ae, script: 0x1f, flags: 0x0},
3244         87: {lang: 0x512, script: 0x3b, flags: 0x0},
3245         88: {lang: 0x3b3, script: 0x57, flags: 0x0},
3246         89: {lang: 0x431, script: 0x57, flags: 0x0},
3247         90: {lang: 0x432, script: 0x1f, flags: 0x0},
3248         91: {lang: 0x15e, script: 0x57, flags: 0x0},
3249         92: {lang: 0x446, script: 0x5, flags: 0x0},
3250 }
3251
3252 type likelyTag struct {
3253         lang   uint16
3254         region uint16
3255         script uint8
3256 }
3257
3258 // Size: 198 bytes, 33 elements
3259 var likelyRegionGroup = [33]likelyTag{
3260         1:  {lang: 0x139, region: 0xd6, script: 0x57},
3261         2:  {lang: 0x139, region: 0x135, script: 0x57},
3262         3:  {lang: 0x3c0, region: 0x41, script: 0x57},
3263         4:  {lang: 0x139, region: 0x2f, script: 0x57},
3264         5:  {lang: 0x139, region: 0xd6, script: 0x57},
3265         6:  {lang: 0x13e, region: 0xcf, script: 0x57},
3266         7:  {lang: 0x445, region: 0x12f, script: 0x57},
3267         8:  {lang: 0x3a, region: 0x6b, script: 0x5},
3268         9:  {lang: 0x445, region: 0x4b, script: 0x57},
3269         10: {lang: 0x139, region: 0x161, script: 0x57},
3270         11: {lang: 0x139, region: 0x135, script: 0x57},
3271         12: {lang: 0x139, region: 0x135, script: 0x57},
3272         13: {lang: 0x13e, region: 0x59, script: 0x57},
3273         14: {lang: 0x529, region: 0x53, script: 0x38},
3274         15: {lang: 0x1be, region: 0x99, script: 0x21},
3275         16: {lang: 0x1e1, region: 0x95, script: 0x57},
3276         17: {lang: 0x1f9, region: 0x9e, script: 0x57},
3277         18: {lang: 0x139, region: 0x2f, script: 0x57},
3278         19: {lang: 0x139, region: 0xe6, script: 0x57},
3279         20: {lang: 0x139, region: 0x8a, script: 0x57},
3280         21: {lang: 0x41b, region: 0x142, script: 0x57},
3281         22: {lang: 0x529, region: 0x53, script: 0x38},
3282         23: {lang: 0x4bc, region: 0x137, script: 0x57},
3283         24: {lang: 0x3a, region: 0x108, script: 0x5},
3284         25: {lang: 0x3e2, region: 0x106, script: 0x1f},
3285         26: {lang: 0x3e2, region: 0x106, script: 0x1f},
3286         27: {lang: 0x139, region: 0x7b, script: 0x57},
3287         28: {lang: 0x10d, region: 0x60, script: 0x57},
3288         29: {lang: 0x139, region: 0xd6, script: 0x57},
3289         30: {lang: 0x13e, region: 0x1f, script: 0x57},
3290         31: {lang: 0x139, region: 0x9a, script: 0x57},
3291         32: {lang: 0x139, region: 0x7b, script: 0x57},
3292 }
3293
3294 // Size: 264 bytes, 33 elements
3295 var regionContainment = [33]uint64{
3296         // Entry 0 - 1F
3297         0x00000001ffffffff, 0x00000000200007a2, 0x0000000000003044, 0x0000000000000008,
3298         0x00000000803c0010, 0x0000000000000020, 0x0000000000000040, 0x0000000000000080,
3299         0x0000000000000100, 0x0000000000000200, 0x0000000000000400, 0x000000004000384c,
3300         0x0000000000001000, 0x0000000000002000, 0x0000000000004000, 0x0000000000008000,
3301         0x0000000000010000, 0x0000000000020000, 0x0000000000040000, 0x0000000000080000,
3302         0x0000000000100000, 0x0000000000200000, 0x0000000001c1c000, 0x0000000000800000,
3303         0x0000000001000000, 0x000000001e020000, 0x0000000004000000, 0x0000000008000000,
3304         0x0000000010000000, 0x00000000200006a0, 0x0000000040002048, 0x0000000080000000,
3305         // Entry 20 - 3F
3306         0x0000000100000000,
3307 }
3308
3309 // regionInclusion maps region identifiers to sets of regions in regionInclusionBits,
3310 // where each set holds all groupings that are directly connected in a region
3311 // containment graph.
3312 // Size: 358 bytes, 358 elements
3313 var regionInclusion = [358]uint8{
3314         // Entry 0 - 3F
3315         0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,
3316         0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
3317         0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,
3318         0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e,
3319         0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x26, 0x23,
3320         0x24, 0x26, 0x27, 0x22, 0x28, 0x29, 0x2a, 0x2b,
3321         0x26, 0x2c, 0x24, 0x23, 0x26, 0x25, 0x2a, 0x2d,
3322         0x2e, 0x24, 0x2f, 0x2d, 0x26, 0x30, 0x31, 0x28,
3323         // Entry 40 - 7F
3324         0x26, 0x28, 0x26, 0x25, 0x31, 0x22, 0x32, 0x33,
3325         0x34, 0x30, 0x22, 0x27, 0x27, 0x27, 0x35, 0x2d,
3326         0x29, 0x28, 0x27, 0x36, 0x28, 0x22, 0x34, 0x23,
3327         0x21, 0x26, 0x2d, 0x26, 0x22, 0x37, 0x2e, 0x35,
3328         0x2a, 0x22, 0x2f, 0x38, 0x26, 0x26, 0x21, 0x39,
3329         0x39, 0x28, 0x38, 0x39, 0x39, 0x2f, 0x3a, 0x2f,
3330         0x20, 0x21, 0x38, 0x3b, 0x28, 0x3c, 0x2c, 0x21,
3331         0x2a, 0x35, 0x27, 0x38, 0x26, 0x24, 0x28, 0x2c,
3332         // Entry 80 - BF
3333         0x2d, 0x23, 0x30, 0x2d, 0x2d, 0x26, 0x27, 0x3a,
3334         0x22, 0x34, 0x3c, 0x2d, 0x28, 0x36, 0x22, 0x34,
3335         0x3a, 0x26, 0x2e, 0x21, 0x39, 0x31, 0x38, 0x24,
3336         0x2c, 0x25, 0x22, 0x24, 0x25, 0x2c, 0x3a, 0x2c,
3337         0x26, 0x24, 0x36, 0x21, 0x2f, 0x3d, 0x31, 0x3c,
3338         0x2f, 0x26, 0x36, 0x36, 0x24, 0x26, 0x3d, 0x31,
3339         0x24, 0x26, 0x35, 0x25, 0x2d, 0x32, 0x38, 0x2a,
3340         0x38, 0x39, 0x39, 0x35, 0x33, 0x23, 0x26, 0x2f,
3341         // Entry C0 - FF
3342         0x3c, 0x21, 0x23, 0x2d, 0x31, 0x36, 0x36, 0x3c,
3343         0x26, 0x2d, 0x26, 0x3a, 0x2f, 0x25, 0x2f, 0x34,
3344         0x31, 0x2f, 0x32, 0x3b, 0x2d, 0x2b, 0x2d, 0x21,
3345         0x34, 0x2a, 0x2c, 0x25, 0x21, 0x3c, 0x24, 0x29,
3346         0x2b, 0x24, 0x34, 0x21, 0x28, 0x29, 0x3b, 0x31,
3347         0x25, 0x2e, 0x30, 0x29, 0x26, 0x24, 0x3a, 0x21,
3348         0x3c, 0x28, 0x21, 0x24, 0x21, 0x21, 0x1f, 0x21,
3349         0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
3350         // Entry 100 - 13F
3351         0x21, 0x21, 0x2f, 0x21, 0x2e, 0x23, 0x33, 0x2f,
3352         0x24, 0x3b, 0x2f, 0x39, 0x38, 0x31, 0x2d, 0x3a,
3353         0x2c, 0x2e, 0x2d, 0x23, 0x2d, 0x2f, 0x28, 0x2f,
3354         0x27, 0x33, 0x34, 0x26, 0x24, 0x32, 0x22, 0x26,
3355         0x27, 0x22, 0x2d, 0x31, 0x3d, 0x29, 0x31, 0x3d,
3356         0x39, 0x29, 0x31, 0x24, 0x26, 0x29, 0x36, 0x2f,
3357         0x33, 0x2f, 0x21, 0x22, 0x21, 0x30, 0x28, 0x3d,
3358         0x23, 0x26, 0x21, 0x28, 0x26, 0x26, 0x31, 0x3b,
3359         // Entry 140 - 17F
3360         0x29, 0x21, 0x29, 0x21, 0x21, 0x21, 0x21, 0x21,
3361         0x21, 0x21, 0x21, 0x21, 0x21, 0x23, 0x21, 0x21,
3362         0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
3363         0x21, 0x21, 0x21, 0x21, 0x21, 0x24, 0x24, 0x2f,
3364         0x23, 0x32, 0x2f, 0x27, 0x2f, 0x21,
3365 }
3366
3367 // regionInclusionBits is an array of bit vectors where every vector represents
3368 // a set of region groupings.  These sets are used to compute the distance
3369 // between two regions for the purpose of language matching.
3370 // Size: 584 bytes, 73 elements
3371 var regionInclusionBits = [73]uint64{
3372         // Entry 0 - 1F
3373         0x0000000102400813, 0x00000000200007a3, 0x0000000000003844, 0x0000000040000808,
3374         0x00000000803c0011, 0x0000000020000022, 0x0000000040000844, 0x0000000020000082,
3375         0x0000000000000102, 0x0000000020000202, 0x0000000020000402, 0x000000004000384d,
3376         0x0000000000001804, 0x0000000040002804, 0x0000000000404000, 0x0000000000408000,
3377         0x0000000000410000, 0x0000000002020000, 0x0000000000040010, 0x0000000000080010,
3378         0x0000000000100010, 0x0000000000200010, 0x0000000001c1c001, 0x0000000000c00000,
3379         0x0000000001400000, 0x000000001e020001, 0x0000000006000000, 0x000000000a000000,
3380         0x0000000012000000, 0x00000000200006a2, 0x0000000040002848, 0x0000000080000010,
3381         // Entry 20 - 3F
3382         0x0000000100000001, 0x0000000000000001, 0x0000000080000000, 0x0000000000020000,
3383         0x0000000001000000, 0x0000000000008000, 0x0000000000002000, 0x0000000000000200,
3384         0x0000000000000008, 0x0000000000200000, 0x0000000110000000, 0x0000000000040000,
3385         0x0000000008000000, 0x0000000000000020, 0x0000000104000000, 0x0000000000000080,
3386         0x0000000000001000, 0x0000000000010000, 0x0000000000000400, 0x0000000004000000,
3387         0x0000000000000040, 0x0000000010000000, 0x0000000000004000, 0x0000000101000000,
3388         0x0000000108000000, 0x0000000000000100, 0x0000000100020000, 0x0000000000080000,
3389         0x0000000000100000, 0x0000000000800000, 0x00000001ffffffff, 0x0000000122400fb3,
3390         // Entry 40 - 5F
3391         0x00000001827c0813, 0x000000014240385f, 0x0000000103c1c813, 0x000000011e420813,
3392         0x0000000112000001, 0x0000000106000001, 0x0000000101400001, 0x000000010a000001,
3393         0x0000000102020001,
3394 }
3395
3396 // regionInclusionNext marks, for each entry in regionInclusionBits, the set of
3397 // all groups that are reachable from the groups set in the respective entry.
3398 // Size: 73 bytes, 73 elements
3399 var regionInclusionNext = [73]uint8{
3400         // Entry 0 - 3F
3401         0x3e, 0x3f, 0x0b, 0x0b, 0x40, 0x01, 0x0b, 0x01,
3402         0x01, 0x01, 0x01, 0x41, 0x0b, 0x0b, 0x16, 0x16,
3403         0x16, 0x19, 0x04, 0x04, 0x04, 0x04, 0x42, 0x16,
3404         0x16, 0x43, 0x19, 0x19, 0x19, 0x01, 0x0b, 0x04,
3405         0x00, 0x00, 0x1f, 0x11, 0x18, 0x0f, 0x0d, 0x09,
3406         0x03, 0x15, 0x44, 0x12, 0x1b, 0x05, 0x45, 0x07,
3407         0x0c, 0x10, 0x0a, 0x1a, 0x06, 0x1c, 0x0e, 0x46,
3408         0x47, 0x08, 0x48, 0x13, 0x14, 0x17, 0x3e, 0x3e,
3409         // Entry 40 - 7F
3410         0x3e, 0x3e, 0x3e, 0x3e, 0x43, 0x43, 0x42, 0x43,
3411         0x43,
3412 }
3413
3414 type parentRel struct {
3415         lang       uint16
3416         script     uint8
3417         maxScript  uint8
3418         toRegion   uint16
3419         fromRegion []uint16
3420 }
3421
3422 // Size: 414 bytes, 5 elements
3423 var parents = [5]parentRel{
3424         0: {lang: 0x139, script: 0x0, maxScript: 0x57, 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}},
3425         1: {lang: 0x139, script: 0x0, maxScript: 0x57, toRegion: 0x1a, fromRegion: []uint16{0x2e, 0x4e, 0x60, 0x63, 0x72, 0xd9, 0x10c, 0x10f}},
3426         2: {lang: 0x13e, script: 0x0, maxScript: 0x57, 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}},
3427         3: {lang: 0x3c0, script: 0x0, maxScript: 0x57, toRegion: 0xee, fromRegion: []uint16{0x2a, 0x4e, 0x5a, 0x86, 0x8b, 0xb7, 0xc6, 0xd1, 0x118, 0x126}},
3428         4: {lang: 0x529, script: 0x39, maxScript: 0x39, toRegion: 0x8d, fromRegion: []uint16{0xc6}},
3429 }
3430
3431 // Total table size 25886 bytes (25KiB); checksum: 50D3D57D