• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package org.robolectric.res.android;
2 
3 import java.util.Collections;
4 import java.util.HashMap;
5 import java.util.HashSet;
6 import java.util.Map;
7 import java.util.Set;
8 
9 // transliterated from
10 // https://android.googlesource.com/platform/frameworks/base/+/android-9.0.0_r12/libs/androidfw/LocaleDataTables.cpp
11 public class LocaleDataTables {
12 
13   // Auto-generated by ./tools/localedata/extract_icu_data.py
14   static final byte[][] SCRIPT_CODES = {
15     /* 0  */ {'A', 'h', 'o', 'm'},
16     /* 1  */ {'A', 'r', 'a', 'b'},
17     /* 2  */ {'A', 'r', 'm', 'i'},
18     /* 3  */ {'A', 'r', 'm', 'n'},
19     /* 4  */ {'A', 'v', 's', 't'},
20     /* 5  */ {'B', 'a', 'm', 'u'},
21     /* 6  */ {'B', 'a', 's', 's'},
22     /* 7  */ {'B', 'e', 'n', 'g'},
23     /* 8  */ {'B', 'r', 'a', 'h'},
24     /* 9  */ {'C', 'a', 'n', 's'},
25     /* 10 */ {'C', 'a', 'r', 'i'},
26     /* 11 */ {'C', 'h', 'a', 'm'},
27     /* 12 */ {'C', 'h', 'e', 'r'},
28     /* 13 */ {'C', 'o', 'p', 't'},
29     /* 14 */ {'C', 'p', 'r', 't'},
30     /* 15 */ {'C', 'y', 'r', 'l'},
31     /* 16 */ {'D', 'e', 'v', 'a'},
32     /* 17 */ {'E', 'g', 'y', 'p'},
33     /* 18 */ {'E', 't', 'h', 'i'},
34     /* 19 */ {'G', 'e', 'o', 'r'},
35     /* 20 */ {'G', 'o', 't', 'h'},
36     /* 21 */ {'G', 'r', 'e', 'k'},
37     /* 22 */ {'G', 'u', 'j', 'r'},
38     /* 23 */ {'G', 'u', 'r', 'u'},
39     /* 24 */ {'H', 'a', 'n', 's'},
40     /* 25 */ {'H', 'a', 'n', 't'},
41     /* 26 */ {'H', 'a', 't', 'r'},
42     /* 27 */ {'H', 'e', 'b', 'r'},
43     /* 28 */ {'H', 'l', 'u', 'w'},
44     /* 29 */ {'H', 'm', 'n', 'g'},
45     /* 30 */ {'I', 't', 'a', 'l'},
46     /* 31 */ {'J', 'p', 'a', 'n'},
47     /* 32 */ {'K', 'a', 'l', 'i'},
48     /* 33 */ {'K', 'a', 'n', 'a'},
49     /* 34 */ {'K', 'h', 'a', 'r'},
50     /* 35 */ {'K', 'h', 'm', 'r'},
51     /* 36 */ {'K', 'n', 'd', 'a'},
52     /* 37 */ {'K', 'o', 'r', 'e'},
53     /* 38 */ {'L', 'a', 'n', 'a'},
54     /* 39 */ {'L', 'a', 'o', 'o'},
55     /* 40 */ {'L', 'a', 't', 'n'},
56     /* 41 */ {'L', 'e', 'p', 'c'},
57     /* 42 */ {'L', 'i', 'n', 'a'},
58     /* 43 */ {'L', 'i', 's', 'u'},
59     /* 44 */ {'L', 'y', 'c', 'i'},
60     /* 45 */ {'L', 'y', 'd', 'i'},
61     /* 46 */ {'M', 'a', 'n', 'd'},
62     /* 47 */ {'M', 'a', 'n', 'i'},
63     /* 48 */ {'M', 'e', 'r', 'c'},
64     /* 49 */ {'M', 'l', 'y', 'm'},
65     /* 50 */ {'M', 'o', 'n', 'g'},
66     /* 51 */ {'M', 'r', 'o', 'o'},
67     /* 52 */ {'M', 'y', 'm', 'r'},
68     /* 53 */ {'N', 'a', 'r', 'b'},
69     /* 54 */ {'N', 'k', 'o', 'o'},
70     /* 55 */ {'O', 'g', 'a', 'm'},
71     /* 56 */ {'O', 'r', 'k', 'h'},
72     /* 57 */ {'O', 'r', 'y', 'a'},
73     /* 58 */ {'O', 's', 'g', 'e'},
74     /* 59 */ {'P', 'a', 'u', 'c'},
75     /* 60 */ {'P', 'h', 'l', 'i'},
76     /* 61 */ {'P', 'h', 'n', 'x'},
77     /* 62 */ {'P', 'l', 'r', 'd'},
78     /* 63 */ {'P', 'r', 't', 'i'},
79     /* 64 */ {'R', 'u', 'n', 'r'},
80     /* 65 */ {'S', 'a', 'm', 'r'},
81     /* 66 */ {'S', 'a', 'r', 'b'},
82     /* 67 */ {'S', 'a', 'u', 'r'},
83     /* 68 */ {'S', 'g', 'n', 'w'},
84     /* 69 */ {'S', 'i', 'n', 'h'},
85     /* 70 */ {'S', 'o', 'r', 'a'},
86     /* 71 */ {'S', 'y', 'r', 'c'},
87     /* 72 */ {'T', 'a', 'l', 'e'},
88     /* 73 */ {'T', 'a', 'l', 'u'},
89     /* 74 */ {'T', 'a', 'm', 'l'},
90     /* 75 */ {'T', 'a', 'n', 'g'},
91     /* 76 */ {'T', 'a', 'v', 't'},
92     /* 77 */ {'T', 'e', 'l', 'u'},
93     /* 78 */ {'T', 'f', 'n', 'g'},
94     /* 79 */ {'T', 'h', 'a', 'a'},
95     /* 80 */ {'T', 'h', 'a', 'i'},
96     /* 81 */ {'T', 'i', 'b', 't'},
97     /* 82 */ {'U', 'g', 'a', 'r'},
98     /* 83 */ {'V', 'a', 'i', 'i'},
99     /* 84 */ {'X', 'p', 'e', 'o'},
100     /* 85 */ {'X', 's', 'u', 'x'},
101     /* 86 */ {'Y', 'i', 'i', 'i'},
102     /* 87 */ {'~', '~', '~', 'A'},
103     /* 88 */ {'~', '~', '~', 'B'},
104   };
105 
106   static final Map<Integer, Byte> LIKELY_SCRIPTS;
107 
108   static {
109     int[][] entries = {
110       {0x61610000, 40}, // aa -> Latn
111       {0xA0000000, 40}, // aai -> Latn
112       {0xA8000000, 40}, // aak -> Latn
113       {0xD0000000, 40}, // aau -> Latn
114       {0x61620000, 15}, // ab -> Cyrl
115       {0xA0200000, 40}, // abi -> Latn
116       {0xC4200000, 40}, // abr -> Latn
117       {0xCC200000, 40}, // abt -> Latn
118       {0xE0200000, 40}, // aby -> Latn
119       {0x8C400000, 40}, // acd -> Latn
120       {0x90400000, 40}, // ace -> Latn
121       {0x9C400000, 40}, // ach -> Latn
122       {0x80600000, 40}, // ada -> Latn
123       {0x90600000, 40}, // ade -> Latn
124       {0xA4600000, 40}, // adj -> Latn
125       {0xE0600000, 15}, // ady -> Cyrl
126       {0xE4600000, 40}, // adz -> Latn
127       {0x61650000, 4}, // ae -> Avst
128       {0x84800000, 1}, // aeb -> Arab
129       {0xE0800000, 40}, // aey -> Latn
130       {0x61660000, 40}, // af -> Latn
131       {0x88C00000, 40}, // agc -> Latn
132       {0x8CC00000, 40}, // agd -> Latn
133       {0x98C00000, 40}, // agg -> Latn
134       {0xB0C00000, 40}, // agm -> Latn
135       {0xB8C00000, 40}, // ago -> Latn
136       {0xC0C00000, 40}, // agq -> Latn
137       {0x80E00000, 40}, // aha -> Latn
138       {0xACE00000, 40}, // ahl -> Latn
139       {0xB8E00000, 0}, // aho -> Ahom
140       {0x99200000, 40}, // ajg -> Latn
141       {0x616B0000, 40}, // ak -> Latn
142       {0xA9400000, 85}, // akk -> Xsux
143       {0x81600000, 40}, // ala -> Latn
144       {0xA1600000, 40}, // ali -> Latn
145       {0xB5600000, 40}, // aln -> Latn
146       {0xCD600000, 15}, // alt -> Cyrl
147       {0x616D0000, 18}, // am -> Ethi
148       {0xB1800000, 40}, // amm -> Latn
149       {0xB5800000, 40}, // amn -> Latn
150       {0xB9800000, 40}, // amo -> Latn
151       {0xBD800000, 40}, // amp -> Latn
152       {0x89A00000, 40}, // anc -> Latn
153       {0xA9A00000, 40}, // ank -> Latn
154       {0xB5A00000, 40}, // ann -> Latn
155       {0xE1A00000, 40}, // any -> Latn
156       {0xA5C00000, 40}, // aoj -> Latn
157       {0xB1C00000, 40}, // aom -> Latn
158       {0xE5C00000, 40}, // aoz -> Latn
159       {0x89E00000, 1}, // apc -> Arab
160       {0x8DE00000, 1}, // apd -> Arab
161       {0x91E00000, 40}, // ape -> Latn
162       {0xC5E00000, 40}, // apr -> Latn
163       {0xC9E00000, 40}, // aps -> Latn
164       {0xE5E00000, 40}, // apz -> Latn
165       {0x61720000, 1}, // ar -> Arab
166       {0x61725842, 88}, // ar-XB -> ~~~B
167       {0x8A200000, 2}, // arc -> Armi
168       {0x9E200000, 40}, // arh -> Latn
169       {0xB6200000, 40}, // arn -> Latn
170       {0xBA200000, 40}, // aro -> Latn
171       {0xC2200000, 1}, // arq -> Arab
172       {0xE2200000, 1}, // ary -> Arab
173       {0xE6200000, 1}, // arz -> Arab
174       {0x61730000, 7}, // as -> Beng
175       {0x82400000, 40}, // asa -> Latn
176       {0x92400000, 68}, // ase -> Sgnw
177       {0x9A400000, 40}, // asg -> Latn
178       {0xBA400000, 40}, // aso -> Latn
179       {0xCE400000, 40}, // ast -> Latn
180       {0x82600000, 40}, // ata -> Latn
181       {0x9A600000, 40}, // atg -> Latn
182       {0xA6600000, 40}, // atj -> Latn
183       {0xE2800000, 40}, // auy -> Latn
184       {0x61760000, 15}, // av -> Cyrl
185       {0xAEA00000, 1}, // avl -> Arab
186       {0xB6A00000, 40}, // avn -> Latn
187       {0xCEA00000, 40}, // avt -> Latn
188       {0xD2A00000, 40}, // avu -> Latn
189       {0x82C00000, 16}, // awa -> Deva
190       {0x86C00000, 40}, // awb -> Latn
191       {0xBAC00000, 40}, // awo -> Latn
192       {0xDEC00000, 40}, // awx -> Latn
193       {0x61790000, 40}, // ay -> Latn
194       {0x87000000, 40}, // ayb -> Latn
195       {0x617A0000, 40}, // az -> Latn
196       {0x617A4951, 1}, // az-IQ -> Arab
197       {0x617A4952, 1}, // az-IR -> Arab
198       {0x617A5255, 15}, // az-RU -> Cyrl
199       {0x62610000, 15}, // ba -> Cyrl
200       {0xAC010000, 1}, // bal -> Arab
201       {0xB4010000, 40}, // ban -> Latn
202       {0xBC010000, 16}, // bap -> Deva
203       {0xC4010000, 40}, // bar -> Latn
204       {0xC8010000, 40}, // bas -> Latn
205       {0xD4010000, 40}, // bav -> Latn
206       {0xDC010000, 5}, // bax -> Bamu
207       {0x80210000, 40}, // bba -> Latn
208       {0x84210000, 40}, // bbb -> Latn
209       {0x88210000, 40}, // bbc -> Latn
210       {0x8C210000, 40}, // bbd -> Latn
211       {0xA4210000, 40}, // bbj -> Latn
212       {0xBC210000, 40}, // bbp -> Latn
213       {0xC4210000, 40}, // bbr -> Latn
214       {0x94410000, 40}, // bcf -> Latn
215       {0x9C410000, 40}, // bch -> Latn
216       {0xA0410000, 40}, // bci -> Latn
217       {0xB0410000, 40}, // bcm -> Latn
218       {0xB4410000, 40}, // bcn -> Latn
219       {0xB8410000, 40}, // bco -> Latn
220       {0xC0410000, 18}, // bcq -> Ethi
221       {0xD0410000, 40}, // bcu -> Latn
222       {0x8C610000, 40}, // bdd -> Latn
223       {0x62650000, 15}, // be -> Cyrl
224       {0x94810000, 40}, // bef -> Latn
225       {0x9C810000, 40}, // beh -> Latn
226       {0xA4810000, 1}, // bej -> Arab
227       {0xB0810000, 40}, // bem -> Latn
228       {0xCC810000, 40}, // bet -> Latn
229       {0xD8810000, 40}, // bew -> Latn
230       {0xDC810000, 40}, // bex -> Latn
231       {0xE4810000, 40}, // bez -> Latn
232       {0x8CA10000, 40}, // bfd -> Latn
233       {0xC0A10000, 74}, // bfq -> Taml
234       {0xCCA10000, 1}, // bft -> Arab
235       {0xE0A10000, 16}, // bfy -> Deva
236       {0x62670000, 15}, // bg -> Cyrl
237       {0x88C10000, 16}, // bgc -> Deva
238       {0xB4C10000, 1}, // bgn -> Arab
239       {0xDCC10000, 21}, // bgx -> Grek
240       {0x84E10000, 16}, // bhb -> Deva
241       {0x98E10000, 40}, // bhg -> Latn
242       {0xA0E10000, 16}, // bhi -> Deva
243       {0xA8E10000, 40}, // bhk -> Latn
244       {0xACE10000, 40}, // bhl -> Latn
245       {0xB8E10000, 16}, // bho -> Deva
246       {0xE0E10000, 40}, // bhy -> Latn
247       {0x62690000, 40}, // bi -> Latn
248       {0x85010000, 40}, // bib -> Latn
249       {0x99010000, 40}, // big -> Latn
250       {0xA9010000, 40}, // bik -> Latn
251       {0xB1010000, 40}, // bim -> Latn
252       {0xB5010000, 40}, // bin -> Latn
253       {0xB9010000, 40}, // bio -> Latn
254       {0xC1010000, 40}, // biq -> Latn
255       {0x9D210000, 40}, // bjh -> Latn
256       {0xA1210000, 18}, // bji -> Ethi
257       {0xA5210000, 16}, // bjj -> Deva
258       {0xB5210000, 40}, // bjn -> Latn
259       {0xB9210000, 40}, // bjo -> Latn
260       {0xC5210000, 40}, // bjr -> Latn
261       {0xE5210000, 40}, // bjz -> Latn
262       {0x89410000, 40}, // bkc -> Latn
263       {0xB1410000, 40}, // bkm -> Latn
264       {0xC1410000, 40}, // bkq -> Latn
265       {0xD1410000, 40}, // bku -> Latn
266       {0xD5410000, 40}, // bkv -> Latn
267       {0xCD610000, 76}, // blt -> Tavt
268       {0x626D0000, 40}, // bm -> Latn
269       {0x9D810000, 40}, // bmh -> Latn
270       {0xA9810000, 40}, // bmk -> Latn
271       {0xC1810000, 40}, // bmq -> Latn
272       {0xD1810000, 40}, // bmu -> Latn
273       {0x626E0000, 7}, // bn -> Beng
274       {0x99A10000, 40}, // bng -> Latn
275       {0xB1A10000, 40}, // bnm -> Latn
276       {0xBDA10000, 40}, // bnp -> Latn
277       {0x626F0000, 81}, // bo -> Tibt
278       {0xA5C10000, 40}, // boj -> Latn
279       {0xB1C10000, 40}, // bom -> Latn
280       {0xB5C10000, 40}, // bon -> Latn
281       {0xE1E10000, 7}, // bpy -> Beng
282       {0x8A010000, 40}, // bqc -> Latn
283       {0xA2010000, 1}, // bqi -> Arab
284       {0xBE010000, 40}, // bqp -> Latn
285       {0xD6010000, 40}, // bqv -> Latn
286       {0x62720000, 40}, // br -> Latn
287       {0x82210000, 16}, // bra -> Deva
288       {0x9E210000, 1}, // brh -> Arab
289       {0xDE210000, 16}, // brx -> Deva
290       {0xE6210000, 40}, // brz -> Latn
291       {0x62730000, 40}, // bs -> Latn
292       {0xA6410000, 40}, // bsj -> Latn
293       {0xC2410000, 6}, // bsq -> Bass
294       {0xCA410000, 40}, // bss -> Latn
295       {0xCE410000, 18}, // bst -> Ethi
296       {0xBA610000, 40}, // bto -> Latn
297       {0xCE610000, 40}, // btt -> Latn
298       {0xD6610000, 16}, // btv -> Deva
299       {0x82810000, 15}, // bua -> Cyrl
300       {0x8A810000, 40}, // buc -> Latn
301       {0x8E810000, 40}, // bud -> Latn
302       {0x9A810000, 40}, // bug -> Latn
303       {0xAA810000, 40}, // buk -> Latn
304       {0xB2810000, 40}, // bum -> Latn
305       {0xBA810000, 40}, // buo -> Latn
306       {0xCA810000, 40}, // bus -> Latn
307       {0xD2810000, 40}, // buu -> Latn
308       {0x86A10000, 40}, // bvb -> Latn
309       {0x8EC10000, 40}, // bwd -> Latn
310       {0xC6C10000, 40}, // bwr -> Latn
311       {0x9EE10000, 40}, // bxh -> Latn
312       {0x93010000, 40}, // bye -> Latn
313       {0xB7010000, 18}, // byn -> Ethi
314       {0xC7010000, 40}, // byr -> Latn
315       {0xCB010000, 40}, // bys -> Latn
316       {0xD7010000, 40}, // byv -> Latn
317       {0xDF010000, 40}, // byx -> Latn
318       {0x83210000, 40}, // bza -> Latn
319       {0x93210000, 40}, // bze -> Latn
320       {0x97210000, 40}, // bzf -> Latn
321       {0x9F210000, 40}, // bzh -> Latn
322       {0xDB210000, 40}, // bzw -> Latn
323       {0x63610000, 40}, // ca -> Latn
324       {0xB4020000, 40}, // can -> Latn
325       {0xA4220000, 40}, // cbj -> Latn
326       {0x9C420000, 40}, // cch -> Latn
327       {0xBC420000, 7}, // ccp -> Beng
328       {0x63650000, 15}, // ce -> Cyrl
329       {0x84820000, 40}, // ceb -> Latn
330       {0x80A20000, 40}, // cfa -> Latn
331       {0x98C20000, 40}, // cgg -> Latn
332       {0x63680000, 40}, // ch -> Latn
333       {0xA8E20000, 40}, // chk -> Latn
334       {0xB0E20000, 15}, // chm -> Cyrl
335       {0xB8E20000, 40}, // cho -> Latn
336       {0xBCE20000, 40}, // chp -> Latn
337       {0xC4E20000, 12}, // chr -> Cher
338       {0x81220000, 1}, // cja -> Arab
339       {0xB1220000, 11}, // cjm -> Cham
340       {0xD5220000, 40}, // cjv -> Latn
341       {0x85420000, 1}, // ckb -> Arab
342       {0xAD420000, 40}, // ckl -> Latn
343       {0xB9420000, 40}, // cko -> Latn
344       {0xE1420000, 40}, // cky -> Latn
345       {0x81620000, 40}, // cla -> Latn
346       {0x91820000, 40}, // cme -> Latn
347       {0x636F0000, 40}, // co -> Latn
348       {0xBDC20000, 13}, // cop -> Copt
349       {0xC9E20000, 40}, // cps -> Latn
350       {0x63720000, 9}, // cr -> Cans
351       {0xA6220000, 9}, // crj -> Cans
352       {0xAA220000, 9}, // crk -> Cans
353       {0xAE220000, 9}, // crl -> Cans
354       {0xB2220000, 9}, // crm -> Cans
355       {0xCA220000, 40}, // crs -> Latn
356       {0x63730000, 40}, // cs -> Latn
357       {0x86420000, 40}, // csb -> Latn
358       {0xDA420000, 9}, // csw -> Cans
359       {0x8E620000, 59}, // ctd -> Pauc
360       {0x63750000, 15}, // cu -> Cyrl
361       {0x63760000, 15}, // cv -> Cyrl
362       {0x63790000, 40}, // cy -> Latn
363       {0x64610000, 40}, // da -> Latn
364       {0x8C030000, 40}, // dad -> Latn
365       {0x94030000, 40}, // daf -> Latn
366       {0x98030000, 40}, // dag -> Latn
367       {0x9C030000, 40}, // dah -> Latn
368       {0xA8030000, 40}, // dak -> Latn
369       {0xC4030000, 15}, // dar -> Cyrl
370       {0xD4030000, 40}, // dav -> Latn
371       {0x8C230000, 40}, // dbd -> Latn
372       {0xC0230000, 40}, // dbq -> Latn
373       {0x88430000, 1}, // dcc -> Arab
374       {0xB4630000, 40}, // ddn -> Latn
375       {0x64650000, 40}, // de -> Latn
376       {0x8C830000, 40}, // ded -> Latn
377       {0xB4830000, 40}, // den -> Latn
378       {0x80C30000, 40}, // dga -> Latn
379       {0x9CC30000, 40}, // dgh -> Latn
380       {0xA0C30000, 40}, // dgi -> Latn
381       {0xACC30000, 1}, // dgl -> Arab
382       {0xC4C30000, 40}, // dgr -> Latn
383       {0xE4C30000, 40}, // dgz -> Latn
384       {0x81030000, 40}, // dia -> Latn
385       {0x91230000, 40}, // dje -> Latn
386       {0xA5A30000, 40}, // dnj -> Latn
387       {0x85C30000, 40}, // dob -> Latn
388       {0xA1C30000, 1}, // doi -> Arab
389       {0xBDC30000, 40}, // dop -> Latn
390       {0xD9C30000, 40}, // dow -> Latn
391       {0xA2230000, 40}, // dri -> Latn
392       {0xCA230000, 18}, // drs -> Ethi
393       {0x86430000, 40}, // dsb -> Latn
394       {0xB2630000, 40}, // dtm -> Latn
395       {0xBE630000, 40}, // dtp -> Latn
396       {0xCA630000, 40}, // dts -> Latn
397       {0xE2630000, 16}, // dty -> Deva
398       {0x82830000, 40}, // dua -> Latn
399       {0x8A830000, 40}, // duc -> Latn
400       {0x8E830000, 40}, // dud -> Latn
401       {0x9A830000, 40}, // dug -> Latn
402       {0x64760000, 79}, // dv -> Thaa
403       {0x82A30000, 40}, // dva -> Latn
404       {0xDAC30000, 40}, // dww -> Latn
405       {0xBB030000, 40}, // dyo -> Latn
406       {0xD3030000, 40}, // dyu -> Latn
407       {0x647A0000, 81}, // dz -> Tibt
408       {0x9B230000, 40}, // dzg -> Latn
409       {0xD0240000, 40}, // ebu -> Latn
410       {0x65650000, 40}, // ee -> Latn
411       {0xA0A40000, 40}, // efi -> Latn
412       {0xACC40000, 40}, // egl -> Latn
413       {0xE0C40000, 17}, // egy -> Egyp
414       {0xE1440000, 32}, // eky -> Kali
415       {0x656C0000, 21}, // el -> Grek
416       {0x81840000, 40}, // ema -> Latn
417       {0xA1840000, 40}, // emi -> Latn
418       {0x656E0000, 40}, // en -> Latn
419       {0x656E5841, 87}, // en-XA -> ~~~A
420       {0xB5A40000, 40}, // enn -> Latn
421       {0xC1A40000, 40}, // enq -> Latn
422       {0x656F0000, 40}, // eo -> Latn
423       {0xA2240000, 40}, // eri -> Latn
424       {0x65730000, 40}, // es -> Latn
425       {0xD2440000, 40}, // esu -> Latn
426       {0x65740000, 40}, // et -> Latn
427       {0xC6640000, 40}, // etr -> Latn
428       {0xCE640000, 30}, // ett -> Ital
429       {0xD2640000, 40}, // etu -> Latn
430       {0xDE640000, 40}, // etx -> Latn
431       {0x65750000, 40}, // eu -> Latn
432       {0xBAC40000, 40}, // ewo -> Latn
433       {0xCEE40000, 40}, // ext -> Latn
434       {0x66610000, 1}, // fa -> Arab
435       {0x80050000, 40}, // faa -> Latn
436       {0x84050000, 40}, // fab -> Latn
437       {0x98050000, 40}, // fag -> Latn
438       {0xA0050000, 40}, // fai -> Latn
439       {0xB4050000, 40}, // fan -> Latn
440       {0x66660000, 40}, // ff -> Latn
441       {0xA0A50000, 40}, // ffi -> Latn
442       {0xB0A50000, 40}, // ffm -> Latn
443       {0x66690000, 40}, // fi -> Latn
444       {0x81050000, 1}, // fia -> Arab
445       {0xAD050000, 40}, // fil -> Latn
446       {0xCD050000, 40}, // fit -> Latn
447       {0x666A0000, 40}, // fj -> Latn
448       {0xC5650000, 40}, // flr -> Latn
449       {0xBD850000, 40}, // fmp -> Latn
450       {0x666F0000, 40}, // fo -> Latn
451       {0x8DC50000, 40}, // fod -> Latn
452       {0xB5C50000, 40}, // fon -> Latn
453       {0xC5C50000, 40}, // for -> Latn
454       {0x91E50000, 40}, // fpe -> Latn
455       {0xCA050000, 40}, // fqs -> Latn
456       {0x66720000, 40}, // fr -> Latn
457       {0x8A250000, 40}, // frc -> Latn
458       {0xBE250000, 40}, // frp -> Latn
459       {0xC6250000, 40}, // frr -> Latn
460       {0xCA250000, 40}, // frs -> Latn
461       {0x86850000, 1}, // fub -> Arab
462       {0x8E850000, 40}, // fud -> Latn
463       {0x92850000, 40}, // fue -> Latn
464       {0x96850000, 40}, // fuf -> Latn
465       {0x9E850000, 40}, // fuh -> Latn
466       {0xC2850000, 40}, // fuq -> Latn
467       {0xC6850000, 40}, // fur -> Latn
468       {0xD6850000, 40}, // fuv -> Latn
469       {0xE2850000, 40}, // fuy -> Latn
470       {0xC6A50000, 40}, // fvr -> Latn
471       {0x66790000, 40}, // fy -> Latn
472       {0x67610000, 40}, // ga -> Latn
473       {0x80060000, 40}, // gaa -> Latn
474       {0x94060000, 40}, // gaf -> Latn
475       {0x98060000, 40}, // gag -> Latn
476       {0x9C060000, 40}, // gah -> Latn
477       {0xA4060000, 40}, // gaj -> Latn
478       {0xB0060000, 40}, // gam -> Latn
479       {0xB4060000, 24}, // gan -> Hans
480       {0xD8060000, 40}, // gaw -> Latn
481       {0xE0060000, 40}, // gay -> Latn
482       {0x94260000, 40}, // gbf -> Latn
483       {0xB0260000, 16}, // gbm -> Deva
484       {0xE0260000, 40}, // gby -> Latn
485       {0xE4260000, 1}, // gbz -> Arab
486       {0xC4460000, 40}, // gcr -> Latn
487       {0x67640000, 40}, // gd -> Latn
488       {0x90660000, 40}, // gde -> Latn
489       {0xB4660000, 40}, // gdn -> Latn
490       {0xC4660000, 40}, // gdr -> Latn
491       {0x84860000, 40}, // geb -> Latn
492       {0xA4860000, 40}, // gej -> Latn
493       {0xAC860000, 40}, // gel -> Latn
494       {0xE4860000, 18}, // gez -> Ethi
495       {0xA8A60000, 40}, // gfk -> Latn
496       {0xB4C60000, 16}, // ggn -> Deva
497       {0xC8E60000, 40}, // ghs -> Latn
498       {0xAD060000, 40}, // gil -> Latn
499       {0xB1060000, 40}, // gim -> Latn
500       {0xA9260000, 1}, // gjk -> Arab
501       {0xB5260000, 40}, // gjn -> Latn
502       {0xD1260000, 1}, // gju -> Arab
503       {0xB5460000, 40}, // gkn -> Latn
504       {0xBD460000, 40}, // gkp -> Latn
505       {0x676C0000, 40}, // gl -> Latn
506       {0xA9660000, 1}, // glk -> Arab
507       {0xB1860000, 40}, // gmm -> Latn
508       {0xD5860000, 18}, // gmv -> Ethi
509       {0x676E0000, 40}, // gn -> Latn
510       {0x8DA60000, 40}, // gnd -> Latn
511       {0x99A60000, 40}, // gng -> Latn
512       {0x8DC60000, 40}, // god -> Latn
513       {0x95C60000, 18}, // gof -> Ethi
514       {0xA1C60000, 40}, // goi -> Latn
515       {0xB1C60000, 16}, // gom -> Deva
516       {0xB5C60000, 77}, // gon -> Telu
517       {0xC5C60000, 40}, // gor -> Latn
518       {0xC9C60000, 40}, // gos -> Latn
519       {0xCDC60000, 20}, // got -> Goth
520       {0x8A260000, 14}, // grc -> Cprt
521       {0xCE260000, 7}, // grt -> Beng
522       {0xDA260000, 40}, // grw -> Latn
523       {0xDA460000, 40}, // gsw -> Latn
524       {0x67750000, 22}, // gu -> Gujr
525       {0x86860000, 40}, // gub -> Latn
526       {0x8A860000, 40}, // guc -> Latn
527       {0x8E860000, 40}, // gud -> Latn
528       {0xC6860000, 40}, // gur -> Latn
529       {0xDA860000, 40}, // guw -> Latn
530       {0xDE860000, 40}, // gux -> Latn
531       {0xE6860000, 40}, // guz -> Latn
532       {0x67760000, 40}, // gv -> Latn
533       {0x96A60000, 40}, // gvf -> Latn
534       {0xC6A60000, 16}, // gvr -> Deva
535       {0xCAA60000, 40}, // gvs -> Latn
536       {0x8AC60000, 1}, // gwc -> Arab
537       {0xA2C60000, 40}, // gwi -> Latn
538       {0xCEC60000, 1}, // gwt -> Arab
539       {0xA3060000, 40}, // gyi -> Latn
540       {0x68610000, 40}, // ha -> Latn
541       {0x6861434D, 1}, // ha-CM -> Arab
542       {0x68615344, 1}, // ha-SD -> Arab
543       {0x98070000, 40}, // hag -> Latn
544       {0xA8070000, 24}, // hak -> Hans
545       {0xB0070000, 40}, // ham -> Latn
546       {0xD8070000, 40}, // haw -> Latn
547       {0xE4070000, 1}, // haz -> Arab
548       {0x84270000, 40}, // hbb -> Latn
549       {0xE0670000, 18}, // hdy -> Ethi
550       {0x68650000, 27}, // he -> Hebr
551       {0xE0E70000, 40}, // hhy -> Latn
552       {0x68690000, 16}, // hi -> Deva
553       {0x81070000, 40}, // hia -> Latn
554       {0x95070000, 40}, // hif -> Latn
555       {0x99070000, 40}, // hig -> Latn
556       {0x9D070000, 40}, // hih -> Latn
557       {0xAD070000, 40}, // hil -> Latn
558       {0x81670000, 40}, // hla -> Latn
559       {0xD1670000, 28}, // hlu -> Hluw
560       {0x8D870000, 62}, // hmd -> Plrd
561       {0xCD870000, 40}, // hmt -> Latn
562       {0x8DA70000, 1}, // hnd -> Arab
563       {0x91A70000, 16}, // hne -> Deva
564       {0xA5A70000, 29}, // hnj -> Hmng
565       {0xB5A70000, 40}, // hnn -> Latn
566       {0xB9A70000, 1}, // hno -> Arab
567       {0x686F0000, 40}, // ho -> Latn
568       {0x89C70000, 16}, // hoc -> Deva
569       {0xA5C70000, 16}, // hoj -> Deva
570       {0xCDC70000, 40}, // hot -> Latn
571       {0x68720000, 40}, // hr -> Latn
572       {0x86470000, 40}, // hsb -> Latn
573       {0xB6470000, 24}, // hsn -> Hans
574       {0x68740000, 40}, // ht -> Latn
575       {0x68750000, 40}, // hu -> Latn
576       {0xA2870000, 40}, // hui -> Latn
577       {0x68790000, 3}, // hy -> Armn
578       {0x687A0000, 40}, // hz -> Latn
579       {0x69610000, 40}, // ia -> Latn
580       {0xB4080000, 40}, // ian -> Latn
581       {0xC4080000, 40}, // iar -> Latn
582       {0x80280000, 40}, // iba -> Latn
583       {0x84280000, 40}, // ibb -> Latn
584       {0xE0280000, 40}, // iby -> Latn
585       {0x80480000, 40}, // ica -> Latn
586       {0x9C480000, 40}, // ich -> Latn
587       {0x69640000, 40}, // id -> Latn
588       {0x8C680000, 40}, // idd -> Latn
589       {0xA0680000, 40}, // idi -> Latn
590       {0xD0680000, 40}, // idu -> Latn
591       {0x69670000, 40}, // ig -> Latn
592       {0x84C80000, 40}, // igb -> Latn
593       {0x90C80000, 40}, // ige -> Latn
594       {0x69690000, 86}, // ii -> Yiii
595       {0xA5280000, 40}, // ijj -> Latn
596       {0x696B0000, 40}, // ik -> Latn
597       {0xA9480000, 40}, // ikk -> Latn
598       {0xCD480000, 40}, // ikt -> Latn
599       {0xD9480000, 40}, // ikw -> Latn
600       {0xDD480000, 40}, // ikx -> Latn
601       {0xB9680000, 40}, // ilo -> Latn
602       {0xB9880000, 40}, // imo -> Latn
603       {0x696E0000, 40}, // in -> Latn
604       {0x9DA80000, 15}, // inh -> Cyrl
605       {0xD1C80000, 40}, // iou -> Latn
606       {0xA2280000, 40}, // iri -> Latn
607       {0x69730000, 40}, // is -> Latn
608       {0x69740000, 40}, // it -> Latn
609       {0x69750000, 9}, // iu -> Cans
610       {0x69770000, 27}, // iw -> Hebr
611       {0xB2C80000, 40}, // iwm -> Latn
612       {0xCAC80000, 40}, // iws -> Latn
613       {0x9F280000, 40}, // izh -> Latn
614       {0xA3280000, 40}, // izi -> Latn
615       {0x6A610000, 31}, // ja -> Jpan
616       {0x84090000, 40}, // jab -> Latn
617       {0xB0090000, 40}, // jam -> Latn
618       {0xD0290000, 40}, // jbu -> Latn
619       {0xB4890000, 40}, // jen -> Latn
620       {0xA8C90000, 40}, // jgk -> Latn
621       {0xB8C90000, 40}, // jgo -> Latn
622       {0x6A690000, 27}, // ji -> Hebr
623       {0x85090000, 40}, // jib -> Latn
624       {0x89890000, 40}, // jmc -> Latn
625       {0xAD890000, 16}, // jml -> Deva
626       {0x82290000, 40}, // jra -> Latn
627       {0xCE890000, 40}, // jut -> Latn
628       {0x6A760000, 40}, // jv -> Latn
629       {0x6A770000, 40}, // jw -> Latn
630       {0x6B610000, 19}, // ka -> Geor
631       {0x800A0000, 15}, // kaa -> Cyrl
632       {0x840A0000, 40}, // kab -> Latn
633       {0x880A0000, 40}, // kac -> Latn
634       {0x8C0A0000, 40}, // kad -> Latn
635       {0xA00A0000, 40}, // kai -> Latn
636       {0xA40A0000, 40}, // kaj -> Latn
637       {0xB00A0000, 40}, // kam -> Latn
638       {0xB80A0000, 40}, // kao -> Latn
639       {0x8C2A0000, 15}, // kbd -> Cyrl
640       {0xB02A0000, 40}, // kbm -> Latn
641       {0xBC2A0000, 40}, // kbp -> Latn
642       {0xC02A0000, 40}, // kbq -> Latn
643       {0xDC2A0000, 40}, // kbx -> Latn
644       {0xE02A0000, 1}, // kby -> Arab
645       {0x984A0000, 40}, // kcg -> Latn
646       {0xA84A0000, 40}, // kck -> Latn
647       {0xAC4A0000, 40}, // kcl -> Latn
648       {0xCC4A0000, 40}, // kct -> Latn
649       {0x906A0000, 40}, // kde -> Latn
650       {0x9C6A0000, 1}, // kdh -> Arab
651       {0xAC6A0000, 40}, // kdl -> Latn
652       {0xCC6A0000, 80}, // kdt -> Thai
653       {0x808A0000, 40}, // kea -> Latn
654       {0xB48A0000, 40}, // ken -> Latn
655       {0xE48A0000, 40}, // kez -> Latn
656       {0xB8AA0000, 40}, // kfo -> Latn
657       {0xC4AA0000, 16}, // kfr -> Deva
658       {0xE0AA0000, 16}, // kfy -> Deva
659       {0x6B670000, 40}, // kg -> Latn
660       {0x90CA0000, 40}, // kge -> Latn
661       {0x94CA0000, 40}, // kgf -> Latn
662       {0xBCCA0000, 40}, // kgp -> Latn
663       {0x80EA0000, 40}, // kha -> Latn
664       {0x84EA0000, 73}, // khb -> Talu
665       {0xB4EA0000, 16}, // khn -> Deva
666       {0xC0EA0000, 40}, // khq -> Latn
667       {0xC8EA0000, 40}, // khs -> Latn
668       {0xCCEA0000, 52}, // kht -> Mymr
669       {0xD8EA0000, 1}, // khw -> Arab
670       {0xE4EA0000, 40}, // khz -> Latn
671       {0x6B690000, 40}, // ki -> Latn
672       {0xA50A0000, 40}, // kij -> Latn
673       {0xD10A0000, 40}, // kiu -> Latn
674       {0xD90A0000, 40}, // kiw -> Latn
675       {0x6B6A0000, 40}, // kj -> Latn
676       {0x8D2A0000, 40}, // kjd -> Latn
677       {0x992A0000, 39}, // kjg -> Laoo
678       {0xC92A0000, 40}, // kjs -> Latn
679       {0xE12A0000, 40}, // kjy -> Latn
680       {0x6B6B0000, 15}, // kk -> Cyrl
681       {0x6B6B4146, 1}, // kk-AF -> Arab
682       {0x6B6B434E, 1}, // kk-CN -> Arab
683       {0x6B6B4952, 1}, // kk-IR -> Arab
684       {0x6B6B4D4E, 1}, // kk-MN -> Arab
685       {0x894A0000, 40}, // kkc -> Latn
686       {0xA54A0000, 40}, // kkj -> Latn
687       {0x6B6C0000, 40}, // kl -> Latn
688       {0xB56A0000, 40}, // kln -> Latn
689       {0xC16A0000, 40}, // klq -> Latn
690       {0xCD6A0000, 40}, // klt -> Latn
691       {0xDD6A0000, 40}, // klx -> Latn
692       {0x6B6D0000, 35}, // km -> Khmr
693       {0x858A0000, 40}, // kmb -> Latn
694       {0x9D8A0000, 40}, // kmh -> Latn
695       {0xB98A0000, 40}, // kmo -> Latn
696       {0xC98A0000, 40}, // kms -> Latn
697       {0xD18A0000, 40}, // kmu -> Latn
698       {0xD98A0000, 40}, // kmw -> Latn
699       {0x6B6E0000, 36}, // kn -> Knda
700       {0xBDAA0000, 40}, // knp -> Latn
701       {0x6B6F0000, 37}, // ko -> Kore
702       {0xA1CA0000, 15}, // koi -> Cyrl
703       {0xA9CA0000, 16}, // kok -> Deva
704       {0xADCA0000, 40}, // kol -> Latn
705       {0xC9CA0000, 40}, // kos -> Latn
706       {0xE5CA0000, 40}, // koz -> Latn
707       {0x91EA0000, 40}, // kpe -> Latn
708       {0x95EA0000, 40}, // kpf -> Latn
709       {0xB9EA0000, 40}, // kpo -> Latn
710       {0xC5EA0000, 40}, // kpr -> Latn
711       {0xDDEA0000, 40}, // kpx -> Latn
712       {0x860A0000, 40}, // kqb -> Latn
713       {0x960A0000, 40}, // kqf -> Latn
714       {0xCA0A0000, 40}, // kqs -> Latn
715       {0xE20A0000, 18}, // kqy -> Ethi
716       {0x8A2A0000, 15}, // krc -> Cyrl
717       {0xA22A0000, 40}, // kri -> Latn
718       {0xA62A0000, 40}, // krj -> Latn
719       {0xAE2A0000, 40}, // krl -> Latn
720       {0xCA2A0000, 40}, // krs -> Latn
721       {0xD22A0000, 16}, // kru -> Deva
722       {0x6B730000, 1}, // ks -> Arab
723       {0x864A0000, 40}, // ksb -> Latn
724       {0x8E4A0000, 40}, // ksd -> Latn
725       {0x964A0000, 40}, // ksf -> Latn
726       {0x9E4A0000, 40}, // ksh -> Latn
727       {0xA64A0000, 40}, // ksj -> Latn
728       {0xC64A0000, 40}, // ksr -> Latn
729       {0x866A0000, 18}, // ktb -> Ethi
730       {0xB26A0000, 40}, // ktm -> Latn
731       {0xBA6A0000, 40}, // kto -> Latn
732       {0x6B750000, 40}, // ku -> Latn
733       {0x6B754952, 1}, // ku-IR -> Arab
734       {0x6B754C42, 1}, // ku-LB -> Arab
735       {0x868A0000, 40}, // kub -> Latn
736       {0x8E8A0000, 40}, // kud -> Latn
737       {0x928A0000, 40}, // kue -> Latn
738       {0xA68A0000, 40}, // kuj -> Latn
739       {0xB28A0000, 15}, // kum -> Cyrl
740       {0xB68A0000, 40}, // kun -> Latn
741       {0xBE8A0000, 40}, // kup -> Latn
742       {0xCA8A0000, 40}, // kus -> Latn
743       {0x6B760000, 15}, // kv -> Cyrl
744       {0x9AAA0000, 40}, // kvg -> Latn
745       {0xC6AA0000, 40}, // kvr -> Latn
746       {0xDEAA0000, 1}, // kvx -> Arab
747       {0x6B770000, 40}, // kw -> Latn
748       {0xA6CA0000, 40}, // kwj -> Latn
749       {0xBACA0000, 40}, // kwo -> Latn
750       {0x82EA0000, 40}, // kxa -> Latn
751       {0x8AEA0000, 18}, // kxc -> Ethi
752       {0xB2EA0000, 80}, // kxm -> Thai
753       {0xBEEA0000, 1}, // kxp -> Arab
754       {0xDAEA0000, 40}, // kxw -> Latn
755       {0xE6EA0000, 40}, // kxz -> Latn
756       {0x6B790000, 15}, // ky -> Cyrl
757       {0x6B79434E, 1}, // ky-CN -> Arab
758       {0x6B795452, 40}, // ky-TR -> Latn
759       {0x930A0000, 40}, // kye -> Latn
760       {0xDF0A0000, 40}, // kyx -> Latn
761       {0xC72A0000, 40}, // kzr -> Latn
762       {0x6C610000, 40}, // la -> Latn
763       {0x840B0000, 42}, // lab -> Lina
764       {0x8C0B0000, 27}, // lad -> Hebr
765       {0x980B0000, 40}, // lag -> Latn
766       {0x9C0B0000, 1}, // lah -> Arab
767       {0xA40B0000, 40}, // laj -> Latn
768       {0xC80B0000, 40}, // las -> Latn
769       {0x6C620000, 40}, // lb -> Latn
770       {0x902B0000, 15}, // lbe -> Cyrl
771       {0xD02B0000, 40}, // lbu -> Latn
772       {0xD82B0000, 40}, // lbw -> Latn
773       {0xB04B0000, 40}, // lcm -> Latn
774       {0xBC4B0000, 80}, // lcp -> Thai
775       {0x846B0000, 40}, // ldb -> Latn
776       {0x8C8B0000, 40}, // led -> Latn
777       {0x908B0000, 40}, // lee -> Latn
778       {0xB08B0000, 40}, // lem -> Latn
779       {0xBC8B0000, 41}, // lep -> Lepc
780       {0xC08B0000, 40}, // leq -> Latn
781       {0xD08B0000, 40}, // leu -> Latn
782       {0xE48B0000, 15}, // lez -> Cyrl
783       {0x6C670000, 40}, // lg -> Latn
784       {0x98CB0000, 40}, // lgg -> Latn
785       {0x6C690000, 40}, // li -> Latn
786       {0x810B0000, 40}, // lia -> Latn
787       {0x8D0B0000, 40}, // lid -> Latn
788       {0x950B0000, 16}, // lif -> Deva
789       {0x990B0000, 40}, // lig -> Latn
790       {0x9D0B0000, 40}, // lih -> Latn
791       {0xA50B0000, 40}, // lij -> Latn
792       {0xC90B0000, 43}, // lis -> Lisu
793       {0xBD2B0000, 40}, // ljp -> Latn
794       {0xA14B0000, 1}, // lki -> Arab
795       {0xCD4B0000, 40}, // lkt -> Latn
796       {0x916B0000, 40}, // lle -> Latn
797       {0xB56B0000, 40}, // lln -> Latn
798       {0xB58B0000, 77}, // lmn -> Telu
799       {0xB98B0000, 40}, // lmo -> Latn
800       {0xBD8B0000, 40}, // lmp -> Latn
801       {0x6C6E0000, 40}, // ln -> Latn
802       {0xC9AB0000, 40}, // lns -> Latn
803       {0xD1AB0000, 40}, // lnu -> Latn
804       {0x6C6F0000, 39}, // lo -> Laoo
805       {0xA5CB0000, 40}, // loj -> Latn
806       {0xA9CB0000, 40}, // lok -> Latn
807       {0xADCB0000, 40}, // lol -> Latn
808       {0xC5CB0000, 40}, // lor -> Latn
809       {0xC9CB0000, 40}, // los -> Latn
810       {0xE5CB0000, 40}, // loz -> Latn
811       {0x8A2B0000, 1}, // lrc -> Arab
812       {0x6C740000, 40}, // lt -> Latn
813       {0x9A6B0000, 40}, // ltg -> Latn
814       {0x6C750000, 40}, // lu -> Latn
815       {0x828B0000, 40}, // lua -> Latn
816       {0xBA8B0000, 40}, // luo -> Latn
817       {0xE28B0000, 40}, // luy -> Latn
818       {0xE68B0000, 1}, // luz -> Arab
819       {0x6C760000, 40}, // lv -> Latn
820       {0xAECB0000, 80}, // lwl -> Thai
821       {0x9F2B0000, 24}, // lzh -> Hans
822       {0xE72B0000, 40}, // lzz -> Latn
823       {0x8C0C0000, 40}, // mad -> Latn
824       {0x940C0000, 40}, // maf -> Latn
825       {0x980C0000, 16}, // mag -> Deva
826       {0xA00C0000, 16}, // mai -> Deva
827       {0xA80C0000, 40}, // mak -> Latn
828       {0xB40C0000, 40}, // man -> Latn
829       {0xB40C474E, 54}, // man-GN -> Nkoo
830       {0xC80C0000, 40}, // mas -> Latn
831       {0xD80C0000, 40}, // maw -> Latn
832       {0xE40C0000, 40}, // maz -> Latn
833       {0x9C2C0000, 40}, // mbh -> Latn
834       {0xB82C0000, 40}, // mbo -> Latn
835       {0xC02C0000, 40}, // mbq -> Latn
836       {0xD02C0000, 40}, // mbu -> Latn
837       {0xD82C0000, 40}, // mbw -> Latn
838       {0xA04C0000, 40}, // mci -> Latn
839       {0xBC4C0000, 40}, // mcp -> Latn
840       {0xC04C0000, 40}, // mcq -> Latn
841       {0xC44C0000, 40}, // mcr -> Latn
842       {0xD04C0000, 40}, // mcu -> Latn
843       {0x806C0000, 40}, // mda -> Latn
844       {0x906C0000, 1}, // mde -> Arab
845       {0x946C0000, 15}, // mdf -> Cyrl
846       {0x9C6C0000, 40}, // mdh -> Latn
847       {0xA46C0000, 40}, // mdj -> Latn
848       {0xC46C0000, 40}, // mdr -> Latn
849       {0xDC6C0000, 18}, // mdx -> Ethi
850       {0x8C8C0000, 40}, // med -> Latn
851       {0x908C0000, 40}, // mee -> Latn
852       {0xA88C0000, 40}, // mek -> Latn
853       {0xB48C0000, 40}, // men -> Latn
854       {0xC48C0000, 40}, // mer -> Latn
855       {0xCC8C0000, 40}, // met -> Latn
856       {0xD08C0000, 40}, // meu -> Latn
857       {0x80AC0000, 1}, // mfa -> Arab
858       {0x90AC0000, 40}, // mfe -> Latn
859       {0xB4AC0000, 40}, // mfn -> Latn
860       {0xB8AC0000, 40}, // mfo -> Latn
861       {0xC0AC0000, 40}, // mfq -> Latn
862       {0x6D670000, 40}, // mg -> Latn
863       {0x9CCC0000, 40}, // mgh -> Latn
864       {0xACCC0000, 40}, // mgl -> Latn
865       {0xB8CC0000, 40}, // mgo -> Latn
866       {0xBCCC0000, 16}, // mgp -> Deva
867       {0xE0CC0000, 40}, // mgy -> Latn
868       {0x6D680000, 40}, // mh -> Latn
869       {0xA0EC0000, 40}, // mhi -> Latn
870       {0xACEC0000, 40}, // mhl -> Latn
871       {0x6D690000, 40}, // mi -> Latn
872       {0x950C0000, 40}, // mif -> Latn
873       {0xB50C0000, 40}, // min -> Latn
874       {0xC90C0000, 26}, // mis -> Hatr
875       {0xD90C0000, 40}, // miw -> Latn
876       {0x6D6B0000, 15}, // mk -> Cyrl
877       {0xA14C0000, 1}, // mki -> Arab
878       {0xAD4C0000, 40}, // mkl -> Latn
879       {0xBD4C0000, 40}, // mkp -> Latn
880       {0xD94C0000, 40}, // mkw -> Latn
881       {0x6D6C0000, 49}, // ml -> Mlym
882       {0x916C0000, 40}, // mle -> Latn
883       {0xBD6C0000, 40}, // mlp -> Latn
884       {0xC96C0000, 40}, // mls -> Latn
885       {0xB98C0000, 40}, // mmo -> Latn
886       {0xD18C0000, 40}, // mmu -> Latn
887       {0xDD8C0000, 40}, // mmx -> Latn
888       {0x6D6E0000, 15}, // mn -> Cyrl
889       {0x6D6E434E, 50}, // mn-CN -> Mong
890       {0x81AC0000, 40}, // mna -> Latn
891       {0x95AC0000, 40}, // mnf -> Latn
892       {0xA1AC0000, 7}, // mni -> Beng
893       {0xD9AC0000, 52}, // mnw -> Mymr
894       {0x81CC0000, 40}, // moa -> Latn
895       {0x91CC0000, 40}, // moe -> Latn
896       {0x9DCC0000, 40}, // moh -> Latn
897       {0xC9CC0000, 40}, // mos -> Latn
898       {0xDDCC0000, 40}, // mox -> Latn
899       {0xBDEC0000, 40}, // mpp -> Latn
900       {0xC9EC0000, 40}, // mps -> Latn
901       {0xCDEC0000, 40}, // mpt -> Latn
902       {0xDDEC0000, 40}, // mpx -> Latn
903       {0xAE0C0000, 40}, // mql -> Latn
904       {0x6D720000, 16}, // mr -> Deva
905       {0x8E2C0000, 16}, // mrd -> Deva
906       {0xA62C0000, 15}, // mrj -> Cyrl
907       {0xBA2C0000, 51}, // mro -> Mroo
908       {0x6D730000, 40}, // ms -> Latn
909       {0x6D734343, 1}, // ms-CC -> Arab
910       {0x6D734944, 1}, // ms-ID -> Arab
911       {0x6D740000, 40}, // mt -> Latn
912       {0x8A6C0000, 40}, // mtc -> Latn
913       {0x966C0000, 40}, // mtf -> Latn
914       {0xA26C0000, 40}, // mti -> Latn
915       {0xC66C0000, 16}, // mtr -> Deva
916       {0x828C0000, 40}, // mua -> Latn
917       {0xC68C0000, 40}, // mur -> Latn
918       {0xCA8C0000, 40}, // mus -> Latn
919       {0x82AC0000, 40}, // mva -> Latn
920       {0xB6AC0000, 40}, // mvn -> Latn
921       {0xE2AC0000, 1}, // mvy -> Arab
922       {0xAACC0000, 40}, // mwk -> Latn
923       {0xC6CC0000, 16}, // mwr -> Deva
924       {0xD6CC0000, 40}, // mwv -> Latn
925       {0x8AEC0000, 40}, // mxc -> Latn
926       {0xB2EC0000, 40}, // mxm -> Latn
927       {0x6D790000, 52}, // my -> Mymr
928       {0xAB0C0000, 40}, // myk -> Latn
929       {0xB30C0000, 18}, // mym -> Ethi
930       {0xD70C0000, 15}, // myv -> Cyrl
931       {0xDB0C0000, 40}, // myw -> Latn
932       {0xDF0C0000, 40}, // myx -> Latn
933       {0xE70C0000, 46}, // myz -> Mand
934       {0xAB2C0000, 40}, // mzk -> Latn
935       {0xB32C0000, 40}, // mzm -> Latn
936       {0xB72C0000, 1}, // mzn -> Arab
937       {0xBF2C0000, 40}, // mzp -> Latn
938       {0xDB2C0000, 40}, // mzw -> Latn
939       {0xE72C0000, 40}, // mzz -> Latn
940       {0x6E610000, 40}, // na -> Latn
941       {0x880D0000, 40}, // nac -> Latn
942       {0x940D0000, 40}, // naf -> Latn
943       {0xA80D0000, 40}, // nak -> Latn
944       {0xB40D0000, 24}, // nan -> Hans
945       {0xBC0D0000, 40}, // nap -> Latn
946       {0xC00D0000, 40}, // naq -> Latn
947       {0xC80D0000, 40}, // nas -> Latn
948       {0x6E620000, 40}, // nb -> Latn
949       {0x804D0000, 40}, // nca -> Latn
950       {0x904D0000, 40}, // nce -> Latn
951       {0x944D0000, 40}, // ncf -> Latn
952       {0x9C4D0000, 40}, // nch -> Latn
953       {0xB84D0000, 40}, // nco -> Latn
954       {0xD04D0000, 40}, // ncu -> Latn
955       {0x6E640000, 40}, // nd -> Latn
956       {0x886D0000, 40}, // ndc -> Latn
957       {0xC86D0000, 40}, // nds -> Latn
958       {0x6E650000, 16}, // ne -> Deva
959       {0x848D0000, 40}, // neb -> Latn
960       {0xD88D0000, 16}, // new -> Deva
961       {0xDC8D0000, 40}, // nex -> Latn
962       {0xC4AD0000, 40}, // nfr -> Latn
963       {0x6E670000, 40}, // ng -> Latn
964       {0x80CD0000, 40}, // nga -> Latn
965       {0x84CD0000, 40}, // ngb -> Latn
966       {0xACCD0000, 40}, // ngl -> Latn
967       {0x84ED0000, 40}, // nhb -> Latn
968       {0x90ED0000, 40}, // nhe -> Latn
969       {0xD8ED0000, 40}, // nhw -> Latn
970       {0x950D0000, 40}, // nif -> Latn
971       {0xA10D0000, 40}, // nii -> Latn
972       {0xA50D0000, 40}, // nij -> Latn
973       {0xB50D0000, 40}, // nin -> Latn
974       {0xD10D0000, 40}, // niu -> Latn
975       {0xE10D0000, 40}, // niy -> Latn
976       {0xE50D0000, 40}, // niz -> Latn
977       {0xB92D0000, 40}, // njo -> Latn
978       {0x994D0000, 40}, // nkg -> Latn
979       {0xB94D0000, 40}, // nko -> Latn
980       {0x6E6C0000, 40}, // nl -> Latn
981       {0x998D0000, 40}, // nmg -> Latn
982       {0xE58D0000, 40}, // nmz -> Latn
983       {0x6E6E0000, 40}, // nn -> Latn
984       {0x95AD0000, 40}, // nnf -> Latn
985       {0x9DAD0000, 40}, // nnh -> Latn
986       {0xA9AD0000, 40}, // nnk -> Latn
987       {0xB1AD0000, 40}, // nnm -> Latn
988       {0x6E6F0000, 40}, // no -> Latn
989       {0x8DCD0000, 38}, // nod -> Lana
990       {0x91CD0000, 16}, // noe -> Deva
991       {0xB5CD0000, 64}, // non -> Runr
992       {0xBDCD0000, 40}, // nop -> Latn
993       {0xD1CD0000, 40}, // nou -> Latn
994       {0xBA0D0000, 54}, // nqo -> Nkoo
995       {0x6E720000, 40}, // nr -> Latn
996       {0x862D0000, 40}, // nrb -> Latn
997       {0xAA4D0000, 9}, // nsk -> Cans
998       {0xB64D0000, 40}, // nsn -> Latn
999       {0xBA4D0000, 40}, // nso -> Latn
1000       {0xCA4D0000, 40}, // nss -> Latn
1001       {0xB26D0000, 40}, // ntm -> Latn
1002       {0xC66D0000, 40}, // ntr -> Latn
1003       {0xA28D0000, 40}, // nui -> Latn
1004       {0xBE8D0000, 40}, // nup -> Latn
1005       {0xCA8D0000, 40}, // nus -> Latn
1006       {0xD68D0000, 40}, // nuv -> Latn
1007       {0xDE8D0000, 40}, // nux -> Latn
1008       {0x6E760000, 40}, // nv -> Latn
1009       {0x86CD0000, 40}, // nwb -> Latn
1010       {0xC2ED0000, 40}, // nxq -> Latn
1011       {0xC6ED0000, 40}, // nxr -> Latn
1012       {0x6E790000, 40}, // ny -> Latn
1013       {0xB30D0000, 40}, // nym -> Latn
1014       {0xB70D0000, 40}, // nyn -> Latn
1015       {0xA32D0000, 40}, // nzi -> Latn
1016       {0x6F630000, 40}, // oc -> Latn
1017       {0x88CE0000, 40}, // ogc -> Latn
1018       {0xC54E0000, 40}, // okr -> Latn
1019       {0xD54E0000, 40}, // okv -> Latn
1020       {0x6F6D0000, 40}, // om -> Latn
1021       {0x99AE0000, 40}, // ong -> Latn
1022       {0xB5AE0000, 40}, // onn -> Latn
1023       {0xC9AE0000, 40}, // ons -> Latn
1024       {0xB1EE0000, 40}, // opm -> Latn
1025       {0x6F720000, 57}, // or -> Orya
1026       {0xBA2E0000, 40}, // oro -> Latn
1027       {0xD22E0000, 1}, // oru -> Arab
1028       {0x6F730000, 15}, // os -> Cyrl
1029       {0x824E0000, 58}, // osa -> Osge
1030       {0x826E0000, 1}, // ota -> Arab
1031       {0xAA6E0000, 56}, // otk -> Orkh
1032       {0xB32E0000, 40}, // ozm -> Latn
1033       {0x70610000, 23}, // pa -> Guru
1034       {0x7061504B, 1}, // pa-PK -> Arab
1035       {0x980F0000, 40}, // pag -> Latn
1036       {0xAC0F0000, 60}, // pal -> Phli
1037       {0xB00F0000, 40}, // pam -> Latn
1038       {0xBC0F0000, 40}, // pap -> Latn
1039       {0xD00F0000, 40}, // pau -> Latn
1040       {0xA02F0000, 40}, // pbi -> Latn
1041       {0x8C4F0000, 40}, // pcd -> Latn
1042       {0xB04F0000, 40}, // pcm -> Latn
1043       {0x886F0000, 40}, // pdc -> Latn
1044       {0xCC6F0000, 40}, // pdt -> Latn
1045       {0x8C8F0000, 40}, // ped -> Latn
1046       {0xB88F0000, 84}, // peo -> Xpeo
1047       {0xDC8F0000, 40}, // pex -> Latn
1048       {0xACAF0000, 40}, // pfl -> Latn
1049       {0xACEF0000, 1}, // phl -> Arab
1050       {0xB4EF0000, 61}, // phn -> Phnx
1051       {0xAD0F0000, 40}, // pil -> Latn
1052       {0xBD0F0000, 40}, // pip -> Latn
1053       {0x814F0000, 8}, // pka -> Brah
1054       {0xB94F0000, 40}, // pko -> Latn
1055       {0x706C0000, 40}, // pl -> Latn
1056       {0x816F0000, 40}, // pla -> Latn
1057       {0xC98F0000, 40}, // pms -> Latn
1058       {0x99AF0000, 40}, // png -> Latn
1059       {0xB5AF0000, 40}, // pnn -> Latn
1060       {0xCDAF0000, 21}, // pnt -> Grek
1061       {0xB5CF0000, 40}, // pon -> Latn
1062       {0xB9EF0000, 40}, // ppo -> Latn
1063       {0x822F0000, 34}, // pra -> Khar
1064       {0x8E2F0000, 1}, // prd -> Arab
1065       {0x9A2F0000, 40}, // prg -> Latn
1066       {0x70730000, 1}, // ps -> Arab
1067       {0xCA4F0000, 40}, // pss -> Latn
1068       {0x70740000, 40}, // pt -> Latn
1069       {0xBE6F0000, 40}, // ptp -> Latn
1070       {0xD28F0000, 40}, // puu -> Latn
1071       {0x82CF0000, 40}, // pwa -> Latn
1072       {0x71750000, 40}, // qu -> Latn
1073       {0x8A900000, 40}, // quc -> Latn
1074       {0x9A900000, 40}, // qug -> Latn
1075       {0xA0110000, 40}, // rai -> Latn
1076       {0xA4110000, 16}, // raj -> Deva
1077       {0xB8110000, 40}, // rao -> Latn
1078       {0x94510000, 40}, // rcf -> Latn
1079       {0xA4910000, 40}, // rej -> Latn
1080       {0xAC910000, 40}, // rel -> Latn
1081       {0xC8910000, 40}, // res -> Latn
1082       {0xB4D10000, 40}, // rgn -> Latn
1083       {0x98F10000, 1}, // rhg -> Arab
1084       {0x81110000, 40}, // ria -> Latn
1085       {0x95110000, 78}, // rif -> Tfng
1086       {0x95114E4C, 40}, // rif-NL -> Latn
1087       {0xC9310000, 16}, // rjs -> Deva
1088       {0xCD510000, 7}, // rkt -> Beng
1089       {0x726D0000, 40}, // rm -> Latn
1090       {0x95910000, 40}, // rmf -> Latn
1091       {0xB9910000, 40}, // rmo -> Latn
1092       {0xCD910000, 1}, // rmt -> Arab
1093       {0xD1910000, 40}, // rmu -> Latn
1094       {0x726E0000, 40}, // rn -> Latn
1095       {0x81B10000, 40}, // rna -> Latn
1096       {0x99B10000, 40}, // rng -> Latn
1097       {0x726F0000, 40}, // ro -> Latn
1098       {0x85D10000, 40}, // rob -> Latn
1099       {0x95D10000, 40}, // rof -> Latn
1100       {0xB9D10000, 40}, // roo -> Latn
1101       {0xBA310000, 40}, // rro -> Latn
1102       {0xB2710000, 40}, // rtm -> Latn
1103       {0x72750000, 15}, // ru -> Cyrl
1104       {0x92910000, 15}, // rue -> Cyrl
1105       {0x9A910000, 40}, // rug -> Latn
1106       {0x72770000, 40}, // rw -> Latn
1107       {0xAAD10000, 40}, // rwk -> Latn
1108       {0xBAD10000, 40}, // rwo -> Latn
1109       {0xD3110000, 33}, // ryu -> Kana
1110       {0x73610000, 16}, // sa -> Deva
1111       {0x94120000, 40}, // saf -> Latn
1112       {0x9C120000, 15}, // sah -> Cyrl
1113       {0xC0120000, 40}, // saq -> Latn
1114       {0xC8120000, 40}, // sas -> Latn
1115       {0xCC120000, 40}, // sat -> Latn
1116       {0xE4120000, 67}, // saz -> Saur
1117       {0x80320000, 40}, // sba -> Latn
1118       {0x90320000, 40}, // sbe -> Latn
1119       {0xBC320000, 40}, // sbp -> Latn
1120       {0x73630000, 40}, // sc -> Latn
1121       {0xA8520000, 16}, // sck -> Deva
1122       {0xAC520000, 1}, // scl -> Arab
1123       {0xB4520000, 40}, // scn -> Latn
1124       {0xB8520000, 40}, // sco -> Latn
1125       {0xC8520000, 40}, // scs -> Latn
1126       {0x73640000, 1}, // sd -> Arab
1127       {0x88720000, 40}, // sdc -> Latn
1128       {0x9C720000, 1}, // sdh -> Arab
1129       {0x73650000, 40}, // se -> Latn
1130       {0x94920000, 40}, // sef -> Latn
1131       {0x9C920000, 40}, // seh -> Latn
1132       {0xA0920000, 40}, // sei -> Latn
1133       {0xC8920000, 40}, // ses -> Latn
1134       {0x73670000, 40}, // sg -> Latn
1135       {0x80D20000, 55}, // sga -> Ogam
1136       {0xC8D20000, 40}, // sgs -> Latn
1137       {0xD8D20000, 18}, // sgw -> Ethi
1138       {0xE4D20000, 40}, // sgz -> Latn
1139       {0x73680000, 40}, // sh -> Latn
1140       {0xA0F20000, 78}, // shi -> Tfng
1141       {0xA8F20000, 40}, // shk -> Latn
1142       {0xB4F20000, 52}, // shn -> Mymr
1143       {0xD0F20000, 1}, // shu -> Arab
1144       {0x73690000, 69}, // si -> Sinh
1145       {0x8D120000, 40}, // sid -> Latn
1146       {0x99120000, 40}, // sig -> Latn
1147       {0xAD120000, 40}, // sil -> Latn
1148       {0xB1120000, 40}, // sim -> Latn
1149       {0xC5320000, 40}, // sjr -> Latn
1150       {0x736B0000, 40}, // sk -> Latn
1151       {0x89520000, 40}, // skc -> Latn
1152       {0xC5520000, 1}, // skr -> Arab
1153       {0xC9520000, 40}, // sks -> Latn
1154       {0x736C0000, 40}, // sl -> Latn
1155       {0x8D720000, 40}, // sld -> Latn
1156       {0xA1720000, 40}, // sli -> Latn
1157       {0xAD720000, 40}, // sll -> Latn
1158       {0xE1720000, 40}, // sly -> Latn
1159       {0x736D0000, 40}, // sm -> Latn
1160       {0x81920000, 40}, // sma -> Latn
1161       {0xA5920000, 40}, // smj -> Latn
1162       {0xB5920000, 40}, // smn -> Latn
1163       {0xBD920000, 65}, // smp -> Samr
1164       {0xC1920000, 40}, // smq -> Latn
1165       {0xC9920000, 40}, // sms -> Latn
1166       {0x736E0000, 40}, // sn -> Latn
1167       {0x89B20000, 40}, // snc -> Latn
1168       {0xA9B20000, 40}, // snk -> Latn
1169       {0xBDB20000, 40}, // snp -> Latn
1170       {0xDDB20000, 40}, // snx -> Latn
1171       {0xE1B20000, 40}, // sny -> Latn
1172       {0x736F0000, 40}, // so -> Latn
1173       {0xA9D20000, 40}, // sok -> Latn
1174       {0xC1D20000, 40}, // soq -> Latn
1175       {0xD1D20000, 80}, // sou -> Thai
1176       {0xE1D20000, 40}, // soy -> Latn
1177       {0x8DF20000, 40}, // spd -> Latn
1178       {0xADF20000, 40}, // spl -> Latn
1179       {0xC9F20000, 40}, // sps -> Latn
1180       {0x73710000, 40}, // sq -> Latn
1181       {0x73720000, 15}, // sr -> Cyrl
1182       {0x73724D45, 40}, // sr-ME -> Latn
1183       {0x7372524F, 40}, // sr-RO -> Latn
1184       {0x73725255, 40}, // sr-RU -> Latn
1185       {0x73725452, 40}, // sr-TR -> Latn
1186       {0x86320000, 70}, // srb -> Sora
1187       {0xB6320000, 40}, // srn -> Latn
1188       {0xC6320000, 40}, // srr -> Latn
1189       {0xDE320000, 16}, // srx -> Deva
1190       {0x73730000, 40}, // ss -> Latn
1191       {0x8E520000, 40}, // ssd -> Latn
1192       {0x9A520000, 40}, // ssg -> Latn
1193       {0xE2520000, 40}, // ssy -> Latn
1194       {0x73740000, 40}, // st -> Latn
1195       {0xAA720000, 40}, // stk -> Latn
1196       {0xC2720000, 40}, // stq -> Latn
1197       {0x73750000, 40}, // su -> Latn
1198       {0x82920000, 40}, // sua -> Latn
1199       {0x92920000, 40}, // sue -> Latn
1200       {0xAA920000, 40}, // suk -> Latn
1201       {0xC6920000, 40}, // sur -> Latn
1202       {0xCA920000, 40}, // sus -> Latn
1203       {0x73760000, 40}, // sv -> Latn
1204       {0x73770000, 40}, // sw -> Latn
1205       {0x86D20000, 1}, // swb -> Arab
1206       {0x8AD20000, 40}, // swc -> Latn
1207       {0x9AD20000, 40}, // swg -> Latn
1208       {0xBED20000, 40}, // swp -> Latn
1209       {0xD6D20000, 16}, // swv -> Deva
1210       {0xB6F20000, 40}, // sxn -> Latn
1211       {0xDAF20000, 40}, // sxw -> Latn
1212       {0xAF120000, 7}, // syl -> Beng
1213       {0xC7120000, 71}, // syr -> Syrc
1214       {0xAF320000, 40}, // szl -> Latn
1215       {0x74610000, 74}, // ta -> Taml
1216       {0xA4130000, 16}, // taj -> Deva
1217       {0xAC130000, 40}, // tal -> Latn
1218       {0xB4130000, 40}, // tan -> Latn
1219       {0xC0130000, 40}, // taq -> Latn
1220       {0x88330000, 40}, // tbc -> Latn
1221       {0x8C330000, 40}, // tbd -> Latn
1222       {0x94330000, 40}, // tbf -> Latn
1223       {0x98330000, 40}, // tbg -> Latn
1224       {0xB8330000, 40}, // tbo -> Latn
1225       {0xD8330000, 40}, // tbw -> Latn
1226       {0xE4330000, 40}, // tbz -> Latn
1227       {0xA0530000, 40}, // tci -> Latn
1228       {0xE0530000, 36}, // tcy -> Knda
1229       {0x8C730000, 72}, // tdd -> Tale
1230       {0x98730000, 16}, // tdg -> Deva
1231       {0x9C730000, 16}, // tdh -> Deva
1232       {0x74650000, 77}, // te -> Telu
1233       {0x8C930000, 40}, // ted -> Latn
1234       {0xB0930000, 40}, // tem -> Latn
1235       {0xB8930000, 40}, // teo -> Latn
1236       {0xCC930000, 40}, // tet -> Latn
1237       {0xA0B30000, 40}, // tfi -> Latn
1238       {0x74670000, 15}, // tg -> Cyrl
1239       {0x7467504B, 1}, // tg-PK -> Arab
1240       {0x88D30000, 40}, // tgc -> Latn
1241       {0xB8D30000, 40}, // tgo -> Latn
1242       {0xD0D30000, 40}, // tgu -> Latn
1243       {0x74680000, 80}, // th -> Thai
1244       {0xACF30000, 16}, // thl -> Deva
1245       {0xC0F30000, 16}, // thq -> Deva
1246       {0xC4F30000, 16}, // thr -> Deva
1247       {0x74690000, 18}, // ti -> Ethi
1248       {0x95130000, 40}, // tif -> Latn
1249       {0x99130000, 18}, // tig -> Ethi
1250       {0xA9130000, 40}, // tik -> Latn
1251       {0xB1130000, 40}, // tim -> Latn
1252       {0xB9130000, 40}, // tio -> Latn
1253       {0xD5130000, 40}, // tiv -> Latn
1254       {0x746B0000, 40}, // tk -> Latn
1255       {0xAD530000, 40}, // tkl -> Latn
1256       {0xC5530000, 40}, // tkr -> Latn
1257       {0xCD530000, 16}, // tkt -> Deva
1258       {0x746C0000, 40}, // tl -> Latn
1259       {0x95730000, 40}, // tlf -> Latn
1260       {0xDD730000, 40}, // tlx -> Latn
1261       {0xE1730000, 40}, // tly -> Latn
1262       {0x9D930000, 40}, // tmh -> Latn
1263       {0xE1930000, 40}, // tmy -> Latn
1264       {0x746E0000, 40}, // tn -> Latn
1265       {0x9DB30000, 40}, // tnh -> Latn
1266       {0x746F0000, 40}, // to -> Latn
1267       {0x95D30000, 40}, // tof -> Latn
1268       {0x99D30000, 40}, // tog -> Latn
1269       {0xC1D30000, 40}, // toq -> Latn
1270       {0xA1F30000, 40}, // tpi -> Latn
1271       {0xB1F30000, 40}, // tpm -> Latn
1272       {0xE5F30000, 40}, // tpz -> Latn
1273       {0xBA130000, 40}, // tqo -> Latn
1274       {0x74720000, 40}, // tr -> Latn
1275       {0xD2330000, 40}, // tru -> Latn
1276       {0xD6330000, 40}, // trv -> Latn
1277       {0xDA330000, 1}, // trw -> Arab
1278       {0x74730000, 40}, // ts -> Latn
1279       {0x8E530000, 21}, // tsd -> Grek
1280       {0x96530000, 16}, // tsf -> Deva
1281       {0x9A530000, 40}, // tsg -> Latn
1282       {0xA6530000, 81}, // tsj -> Tibt
1283       {0xDA530000, 40}, // tsw -> Latn
1284       {0x74740000, 15}, // tt -> Cyrl
1285       {0x8E730000, 40}, // ttd -> Latn
1286       {0x92730000, 40}, // tte -> Latn
1287       {0xA6730000, 40}, // ttj -> Latn
1288       {0xC6730000, 40}, // ttr -> Latn
1289       {0xCA730000, 80}, // tts -> Thai
1290       {0xCE730000, 40}, // ttt -> Latn
1291       {0x9E930000, 40}, // tuh -> Latn
1292       {0xAE930000, 40}, // tul -> Latn
1293       {0xB2930000, 40}, // tum -> Latn
1294       {0xC2930000, 40}, // tuq -> Latn
1295       {0x8EB30000, 40}, // tvd -> Latn
1296       {0xAEB30000, 40}, // tvl -> Latn
1297       {0xD2B30000, 40}, // tvu -> Latn
1298       {0x9ED30000, 40}, // twh -> Latn
1299       {0xC2D30000, 40}, // twq -> Latn
1300       {0x9AF30000, 75}, // txg -> Tang
1301       {0x74790000, 40}, // ty -> Latn
1302       {0x83130000, 40}, // tya -> Latn
1303       {0xD7130000, 15}, // tyv -> Cyrl
1304       {0xB3330000, 40}, // tzm -> Latn
1305       {0xD0340000, 40}, // ubu -> Latn
1306       {0xB0740000, 15}, // udm -> Cyrl
1307       {0x75670000, 1}, // ug -> Arab
1308       {0x75674B5A, 15}, // ug-KZ -> Cyrl
1309       {0x75674D4E, 15}, // ug-MN -> Cyrl
1310       {0x80D40000, 82}, // uga -> Ugar
1311       {0x756B0000, 15}, // uk -> Cyrl
1312       {0xA1740000, 40}, // uli -> Latn
1313       {0x85940000, 40}, // umb -> Latn
1314       {0xC5B40000, 7}, // unr -> Beng
1315       {0xC5B44E50, 16}, // unr-NP -> Deva
1316       {0xDDB40000, 7}, // unx -> Beng
1317       {0x75720000, 1}, // ur -> Arab
1318       {0xA2340000, 40}, // uri -> Latn
1319       {0xCE340000, 40}, // urt -> Latn
1320       {0xDA340000, 40}, // urw -> Latn
1321       {0x82540000, 40}, // usa -> Latn
1322       {0xC6740000, 40}, // utr -> Latn
1323       {0x9EB40000, 40}, // uvh -> Latn
1324       {0xAEB40000, 40}, // uvl -> Latn
1325       {0x757A0000, 40}, // uz -> Latn
1326       {0x757A4146, 1}, // uz-AF -> Arab
1327       {0x757A434E, 15}, // uz-CN -> Cyrl
1328       {0x98150000, 40}, // vag -> Latn
1329       {0xA0150000, 83}, // vai -> Vaii
1330       {0xB4150000, 40}, // van -> Latn
1331       {0x76650000, 40}, // ve -> Latn
1332       {0x88950000, 40}, // vec -> Latn
1333       {0xBC950000, 40}, // vep -> Latn
1334       {0x76690000, 40}, // vi -> Latn
1335       {0x89150000, 40}, // vic -> Latn
1336       {0xD5150000, 40}, // viv -> Latn
1337       {0xC9750000, 40}, // vls -> Latn
1338       {0x95950000, 40}, // vmf -> Latn
1339       {0xD9950000, 40}, // vmw -> Latn
1340       {0x766F0000, 40}, // vo -> Latn
1341       {0xCDD50000, 40}, // vot -> Latn
1342       {0xBA350000, 40}, // vro -> Latn
1343       {0xB6950000, 40}, // vun -> Latn
1344       {0xCE950000, 40}, // vut -> Latn
1345       {0x77610000, 40}, // wa -> Latn
1346       {0x90160000, 40}, // wae -> Latn
1347       {0xA4160000, 40}, // waj -> Latn
1348       {0xAC160000, 18}, // wal -> Ethi
1349       {0xB4160000, 40}, // wan -> Latn
1350       {0xC4160000, 40}, // war -> Latn
1351       {0xBC360000, 40}, // wbp -> Latn
1352       {0xC0360000, 77}, // wbq -> Telu
1353       {0xC4360000, 16}, // wbr -> Deva
1354       {0xA0560000, 40}, // wci -> Latn
1355       {0xC4960000, 40}, // wer -> Latn
1356       {0xA0D60000, 40}, // wgi -> Latn
1357       {0x98F60000, 40}, // whg -> Latn
1358       {0x85160000, 40}, // wib -> Latn
1359       {0xD1160000, 40}, // wiu -> Latn
1360       {0xD5160000, 40}, // wiv -> Latn
1361       {0x81360000, 40}, // wja -> Latn
1362       {0xA1360000, 40}, // wji -> Latn
1363       {0xC9760000, 40}, // wls -> Latn
1364       {0xB9960000, 40}, // wmo -> Latn
1365       {0x89B60000, 40}, // wnc -> Latn
1366       {0xA1B60000, 1}, // wni -> Arab
1367       {0xD1B60000, 40}, // wnu -> Latn
1368       {0x776F0000, 40}, // wo -> Latn
1369       {0x85D60000, 40}, // wob -> Latn
1370       {0xC9D60000, 40}, // wos -> Latn
1371       {0xCA360000, 40}, // wrs -> Latn
1372       {0xAA560000, 40}, // wsk -> Latn
1373       {0xB2760000, 16}, // wtm -> Deva
1374       {0xD2960000, 24}, // wuu -> Hans
1375       {0xD6960000, 40}, // wuv -> Latn
1376       {0x82D60000, 40}, // wwa -> Latn
1377       {0xD4170000, 40}, // xav -> Latn
1378       {0xA0370000, 40}, // xbi -> Latn
1379       {0xC4570000, 10}, // xcr -> Cari
1380       {0xC8970000, 40}, // xes -> Latn
1381       {0x78680000, 40}, // xh -> Latn
1382       {0x81770000, 40}, // xla -> Latn
1383       {0x89770000, 44}, // xlc -> Lyci
1384       {0x8D770000, 45}, // xld -> Lydi
1385       {0x95970000, 19}, // xmf -> Geor
1386       {0xB5970000, 47}, // xmn -> Mani
1387       {0xC5970000, 48}, // xmr -> Merc
1388       {0x81B70000, 53}, // xna -> Narb
1389       {0xC5B70000, 16}, // xnr -> Deva
1390       {0x99D70000, 40}, // xog -> Latn
1391       {0xB5D70000, 40}, // xon -> Latn
1392       {0xC5F70000, 63}, // xpr -> Prti
1393       {0x86370000, 40}, // xrb -> Latn
1394       {0x82570000, 66}, // xsa -> Sarb
1395       {0xA2570000, 40}, // xsi -> Latn
1396       {0xB2570000, 40}, // xsm -> Latn
1397       {0xC6570000, 16}, // xsr -> Deva
1398       {0x92D70000, 40}, // xwe -> Latn
1399       {0xB0180000, 40}, // yam -> Latn
1400       {0xB8180000, 40}, // yao -> Latn
1401       {0xBC180000, 40}, // yap -> Latn
1402       {0xC8180000, 40}, // yas -> Latn
1403       {0xCC180000, 40}, // yat -> Latn
1404       {0xD4180000, 40}, // yav -> Latn
1405       {0xE0180000, 40}, // yay -> Latn
1406       {0xE4180000, 40}, // yaz -> Latn
1407       {0x80380000, 40}, // yba -> Latn
1408       {0x84380000, 40}, // ybb -> Latn
1409       {0xE0380000, 40}, // yby -> Latn
1410       {0xC4980000, 40}, // yer -> Latn
1411       {0xC4D80000, 40}, // ygr -> Latn
1412       {0xD8D80000, 40}, // ygw -> Latn
1413       {0x79690000, 27}, // yi -> Hebr
1414       {0xB9580000, 40}, // yko -> Latn
1415       {0x91780000, 40}, // yle -> Latn
1416       {0x99780000, 40}, // ylg -> Latn
1417       {0xAD780000, 40}, // yll -> Latn
1418       {0xAD980000, 40}, // yml -> Latn
1419       {0x796F0000, 40}, // yo -> Latn
1420       {0xB5D80000, 40}, // yon -> Latn
1421       {0x86380000, 40}, // yrb -> Latn
1422       {0x92380000, 40}, // yre -> Latn
1423       {0xAE380000, 40}, // yrl -> Latn
1424       {0xCA580000, 40}, // yss -> Latn
1425       {0x82980000, 40}, // yua -> Latn
1426       {0x92980000, 25}, // yue -> Hant
1427       {0x9298434E, 24}, // yue-CN -> Hans
1428       {0xA6980000, 40}, // yuj -> Latn
1429       {0xCE980000, 40}, // yut -> Latn
1430       {0xDA980000, 40}, // yuw -> Latn
1431       {0x7A610000, 40}, // za -> Latn
1432       {0x98190000, 40}, // zag -> Latn
1433       {0xA4790000, 1}, // zdj -> Arab
1434       {0x80990000, 40}, // zea -> Latn
1435       {0x9CD90000, 78}, // zgh -> Tfng
1436       {0x7A680000, 24}, // zh -> Hans
1437       {0x7A684155, 25}, // zh-AU -> Hant
1438       {0x7A68424E, 25}, // zh-BN -> Hant
1439       {0x7A684742, 25}, // zh-GB -> Hant
1440       {0x7A684746, 25}, // zh-GF -> Hant
1441       {0x7A68484B, 25}, // zh-HK -> Hant
1442       {0x7A684944, 25}, // zh-ID -> Hant
1443       {0x7A684D4F, 25}, // zh-MO -> Hant
1444       {0x7A684D59, 25}, // zh-MY -> Hant
1445       {0x7A685041, 25}, // zh-PA -> Hant
1446       {0x7A685046, 25}, // zh-PF -> Hant
1447       {0x7A685048, 25}, // zh-PH -> Hant
1448       {0x7A685352, 25}, // zh-SR -> Hant
1449       {0x7A685448, 25}, // zh-TH -> Hant
1450       {0x7A685457, 25}, // zh-TW -> Hant
1451       {0x7A685553, 25}, // zh-US -> Hant
1452       {0x7A68564E, 25}, // zh-VN -> Hant
1453       {0x81190000, 40}, // zia -> Latn
1454       {0xB1790000, 40}, // zlm -> Latn
1455       {0xA1990000, 40}, // zmi -> Latn
1456       {0x91B90000, 40}, // zne -> Latn
1457       {0x7A750000, 40}, // zu -> Latn
1458       {0x83390000, 40}, // zza -> Latn
1459     };
1460 
1461     Map<Integer, Byte> buildMap = new HashMap<>();
1462     for (int[] entry : entries) {
buildMap.put(entry[0], (byte) entry[1])1463       buildMap.put(entry[0], (byte) entry[1]);
1464     }
1465     LIKELY_SCRIPTS = Collections.unmodifiableMap(buildMap);
1466   }
1467 
1468   static final Set<Long> REPRESENTATIVE_LOCALES;
1469 
1470   static {
1471     long[] entries = {
1472       0x616145544C61746EL, // aa_Latn_ET
1473       0x616247454379726CL, // ab_Cyrl_GE
1474       0xC42047484C61746EL, // abr_Latn_GH
1475       0x904049444C61746EL, // ace_Latn_ID
1476       0x9C4055474C61746EL, // ach_Latn_UG
1477       0x806047484C61746EL, // ada_Latn_GH
1478       0xE06052554379726CL, // ady_Cyrl_RU
1479       0x6165495241767374L, // ae_Avst_IR
1480       0x8480544E41726162L, // aeb_Arab_TN
1481       0x61665A414C61746EL, // af_Latn_ZA
1482       0xC0C0434D4C61746EL, // agq_Latn_CM
1483       0xB8E0494E41686F6DL, // aho_Ahom_IN
1484       0x616B47484C61746EL, // ak_Latn_GH
1485       0xA940495158737578L, // akk_Xsux_IQ
1486       0xB560584B4C61746EL, // aln_Latn_XK
1487       0xCD6052554379726CL, // alt_Cyrl_RU
1488       0x616D455445746869L, // am_Ethi_ET
1489       0xB9804E474C61746EL, // amo_Latn_NG
1490       0xE5C049444C61746EL, // aoz_Latn_ID
1491       0x8DE0544741726162L, // apd_Arab_TG
1492       0x6172454741726162L, // ar_Arab_EG
1493       0x8A20495241726D69L, // arc_Armi_IR
1494       0x8A204A4F4E626174L, // arc_Nbat_JO
1495       0x8A20535950616C6DL, // arc_Palm_SY
1496       0xB620434C4C61746EL, // arn_Latn_CL
1497       0xBA20424F4C61746EL, // aro_Latn_BO
1498       0xC220445A41726162L, // arq_Arab_DZ
1499       0xE2204D4141726162L, // ary_Arab_MA
1500       0xE620454741726162L, // arz_Arab_EG
1501       0x6173494E42656E67L, // as_Beng_IN
1502       0x8240545A4C61746EL, // asa_Latn_TZ
1503       0x9240555353676E77L, // ase_Sgnw_US
1504       0xCE4045534C61746EL, // ast_Latn_ES
1505       0xA66043414C61746EL, // atj_Latn_CA
1506       0x617652554379726CL, // av_Cyrl_RU
1507       0x82C0494E44657661L, // awa_Deva_IN
1508       0x6179424F4C61746EL, // ay_Latn_BO
1509       0x617A495241726162L, // az_Arab_IR
1510       0x617A415A4C61746EL, // az_Latn_AZ
1511       0x626152554379726CL, // ba_Cyrl_RU
1512       0xAC01504B41726162L, // bal_Arab_PK
1513       0xB40149444C61746EL, // ban_Latn_ID
1514       0xBC014E5044657661L, // bap_Deva_NP
1515       0xC40141544C61746EL, // bar_Latn_AT
1516       0xC801434D4C61746EL, // bas_Latn_CM
1517       0xDC01434D42616D75L, // bax_Bamu_CM
1518       0x882149444C61746EL, // bbc_Latn_ID
1519       0xA421434D4C61746EL, // bbj_Latn_CM
1520       0xA04143494C61746EL, // bci_Latn_CI
1521       0x626542594379726CL, // be_Cyrl_BY
1522       0xA481534441726162L, // bej_Arab_SD
1523       0xB0815A4D4C61746EL, // bem_Latn_ZM
1524       0xD88149444C61746EL, // bew_Latn_ID
1525       0xE481545A4C61746EL, // bez_Latn_TZ
1526       0x8CA1434D4C61746EL, // bfd_Latn_CM
1527       0xC0A1494E54616D6CL, // bfq_Taml_IN
1528       0xCCA1504B41726162L, // bft_Arab_PK
1529       0xE0A1494E44657661L, // bfy_Deva_IN
1530       0x626742474379726CL, // bg_Cyrl_BG
1531       0x88C1494E44657661L, // bgc_Deva_IN
1532       0xB4C1504B41726162L, // bgn_Arab_PK
1533       0xDCC154524772656BL, // bgx_Grek_TR
1534       0x84E1494E44657661L, // bhb_Deva_IN
1535       0xA0E1494E44657661L, // bhi_Deva_IN
1536       0xA8E150484C61746EL, // bhk_Latn_PH
1537       0xB8E1494E44657661L, // bho_Deva_IN
1538       0x626956554C61746EL, // bi_Latn_VU
1539       0xA90150484C61746EL, // bik_Latn_PH
1540       0xB5014E474C61746EL, // bin_Latn_NG
1541       0xA521494E44657661L, // bjj_Deva_IN
1542       0xB52149444C61746EL, // bjn_Latn_ID
1543       0xB141434D4C61746EL, // bkm_Latn_CM
1544       0xD14150484C61746EL, // bku_Latn_PH
1545       0xCD61564E54617674L, // blt_Tavt_VN
1546       0x626D4D4C4C61746EL, // bm_Latn_ML
1547       0xC1814D4C4C61746EL, // bmq_Latn_ML
1548       0x626E424442656E67L, // bn_Beng_BD
1549       0x626F434E54696274L, // bo_Tibt_CN
1550       0xE1E1494E42656E67L, // bpy_Beng_IN
1551       0xA201495241726162L, // bqi_Arab_IR
1552       0xD60143494C61746EL, // bqv_Latn_CI
1553       0x627246524C61746EL, // br_Latn_FR
1554       0x8221494E44657661L, // bra_Deva_IN
1555       0x9E21504B41726162L, // brh_Arab_PK
1556       0xDE21494E44657661L, // brx_Deva_IN
1557       0x627342414C61746EL, // bs_Latn_BA
1558       0xC2414C5242617373L, // bsq_Bass_LR
1559       0xCA41434D4C61746EL, // bss_Latn_CM
1560       0xBA6150484C61746EL, // bto_Latn_PH
1561       0xD661504B44657661L, // btv_Deva_PK
1562       0x828152554379726CL, // bua_Cyrl_RU
1563       0x8A8159544C61746EL, // buc_Latn_YT
1564       0x9A8149444C61746EL, // bug_Latn_ID
1565       0xB281434D4C61746EL, // bum_Latn_CM
1566       0x86A147514C61746EL, // bvb_Latn_GQ
1567       0xB701455245746869L, // byn_Ethi_ER
1568       0xD701434D4C61746EL, // byv_Latn_CM
1569       0x93214D4C4C61746EL, // bze_Latn_ML
1570       0x636145534C61746EL, // ca_Latn_ES
1571       0x9C424E474C61746EL, // cch_Latn_NG
1572       0xBC42494E42656E67L, // ccp_Beng_IN
1573       0xBC42424443616B6DL, // ccp_Cakm_BD
1574       0x636552554379726CL, // ce_Cyrl_RU
1575       0x848250484C61746EL, // ceb_Latn_PH
1576       0x98C255474C61746EL, // cgg_Latn_UG
1577       0x636847554C61746EL, // ch_Latn_GU
1578       0xA8E2464D4C61746EL, // chk_Latn_FM
1579       0xB0E252554379726CL, // chm_Cyrl_RU
1580       0xB8E255534C61746EL, // cho_Latn_US
1581       0xBCE243414C61746EL, // chp_Latn_CA
1582       0xC4E2555343686572L, // chr_Cher_US
1583       0x81224B4841726162L, // cja_Arab_KH
1584       0xB122564E4368616DL, // cjm_Cham_VN
1585       0x8542495141726162L, // ckb_Arab_IQ
1586       0x636F46524C61746EL, // co_Latn_FR
1587       0xBDC24547436F7074L, // cop_Copt_EG
1588       0xC9E250484C61746EL, // cps_Latn_PH
1589       0x6372434143616E73L, // cr_Cans_CA
1590       0xA622434143616E73L, // crj_Cans_CA
1591       0xAA22434143616E73L, // crk_Cans_CA
1592       0xAE22434143616E73L, // crl_Cans_CA
1593       0xB222434143616E73L, // crm_Cans_CA
1594       0xCA2253434C61746EL, // crs_Latn_SC
1595       0x6373435A4C61746EL, // cs_Latn_CZ
1596       0x8642504C4C61746EL, // csb_Latn_PL
1597       0xDA42434143616E73L, // csw_Cans_CA
1598       0x8E624D4D50617563L, // ctd_Pauc_MM
1599       0x637552554379726CL, // cu_Cyrl_RU
1600       0x63754247476C6167L, // cu_Glag_BG
1601       0x637652554379726CL, // cv_Cyrl_RU
1602       0x637947424C61746EL, // cy_Latn_GB
1603       0x6461444B4C61746EL, // da_Latn_DK
1604       0xA80355534C61746EL, // dak_Latn_US
1605       0xC40352554379726CL, // dar_Cyrl_RU
1606       0xD4034B454C61746EL, // dav_Latn_KE
1607       0x8843494E41726162L, // dcc_Arab_IN
1608       0x646544454C61746EL, // de_Latn_DE
1609       0xB48343414C61746EL, // den_Latn_CA
1610       0xC4C343414C61746EL, // dgr_Latn_CA
1611       0x91234E454C61746EL, // dje_Latn_NE
1612       0xA5A343494C61746EL, // dnj_Latn_CI
1613       0xA1C3494E41726162L, // doi_Arab_IN
1614       0x864344454C61746EL, // dsb_Latn_DE
1615       0xB2634D4C4C61746EL, // dtm_Latn_ML
1616       0xBE634D594C61746EL, // dtp_Latn_MY
1617       0xE2634E5044657661L, // dty_Deva_NP
1618       0x8283434D4C61746EL, // dua_Latn_CM
1619       0x64764D5654686161L, // dv_Thaa_MV
1620       0xBB03534E4C61746EL, // dyo_Latn_SN
1621       0xD30342464C61746EL, // dyu_Latn_BF
1622       0x647A425454696274L, // dz_Tibt_BT
1623       0xD0244B454C61746EL, // ebu_Latn_KE
1624       0x656547484C61746EL, // ee_Latn_GH
1625       0xA0A44E474C61746EL, // efi_Latn_NG
1626       0xACC449544C61746EL, // egl_Latn_IT
1627       0xE0C4454745677970L, // egy_Egyp_EG
1628       0xE1444D4D4B616C69L, // eky_Kali_MM
1629       0x656C47524772656BL, // el_Grek_GR
1630       0x656E47424C61746EL, // en_Latn_GB
1631       0x656E55534C61746EL, // en_Latn_US
1632       0x656E474253686177L, // en_Shaw_GB
1633       0x657345534C61746EL, // es_Latn_ES
1634       0x65734D584C61746EL, // es_Latn_MX
1635       0x657355534C61746EL, // es_Latn_US
1636       0xD24455534C61746EL, // esu_Latn_US
1637       0x657445454C61746EL, // et_Latn_EE
1638       0xCE6449544974616CL, // ett_Ital_IT
1639       0x657545534C61746EL, // eu_Latn_ES
1640       0xBAC4434D4C61746EL, // ewo_Latn_CM
1641       0xCEE445534C61746EL, // ext_Latn_ES
1642       0x6661495241726162L, // fa_Arab_IR
1643       0xB40547514C61746EL, // fan_Latn_GQ
1644       0x6666474E41646C6DL, // ff_Adlm_GN
1645       0x6666534E4C61746EL, // ff_Latn_SN
1646       0xB0A54D4C4C61746EL, // ffm_Latn_ML
1647       0x666946494C61746EL, // fi_Latn_FI
1648       0x8105534441726162L, // fia_Arab_SD
1649       0xAD0550484C61746EL, // fil_Latn_PH
1650       0xCD0553454C61746EL, // fit_Latn_SE
1651       0x666A464A4C61746EL, // fj_Latn_FJ
1652       0x666F464F4C61746EL, // fo_Latn_FO
1653       0xB5C5424A4C61746EL, // fon_Latn_BJ
1654       0x667246524C61746EL, // fr_Latn_FR
1655       0x8A2555534C61746EL, // frc_Latn_US
1656       0xBE2546524C61746EL, // frp_Latn_FR
1657       0xC62544454C61746EL, // frr_Latn_DE
1658       0xCA2544454C61746EL, // frs_Latn_DE
1659       0x8685434D41726162L, // fub_Arab_CM
1660       0x8E8557464C61746EL, // fud_Latn_WF
1661       0x9685474E4C61746EL, // fuf_Latn_GN
1662       0xC2854E454C61746EL, // fuq_Latn_NE
1663       0xC68549544C61746EL, // fur_Latn_IT
1664       0xD6854E474C61746EL, // fuv_Latn_NG
1665       0xC6A553444C61746EL, // fvr_Latn_SD
1666       0x66794E4C4C61746EL, // fy_Latn_NL
1667       0x676149454C61746EL, // ga_Latn_IE
1668       0x800647484C61746EL, // gaa_Latn_GH
1669       0x98064D444C61746EL, // gag_Latn_MD
1670       0xB406434E48616E73L, // gan_Hans_CN
1671       0xE00649444C61746EL, // gay_Latn_ID
1672       0xB026494E44657661L, // gbm_Deva_IN
1673       0xE426495241726162L, // gbz_Arab_IR
1674       0xC44647464C61746EL, // gcr_Latn_GF
1675       0x676447424C61746EL, // gd_Latn_GB
1676       0xE486455445746869L, // gez_Ethi_ET
1677       0xB4C64E5044657661L, // ggn_Deva_NP
1678       0xAD064B494C61746EL, // gil_Latn_KI
1679       0xA926504B41726162L, // gjk_Arab_PK
1680       0xD126504B41726162L, // gju_Arab_PK
1681       0x676C45534C61746EL, // gl_Latn_ES
1682       0xA966495241726162L, // glk_Arab_IR
1683       0x676E50594C61746EL, // gn_Latn_PY
1684       0xB1C6494E44657661L, // gom_Deva_IN
1685       0xB5C6494E54656C75L, // gon_Telu_IN
1686       0xC5C649444C61746EL, // gor_Latn_ID
1687       0xC9C64E4C4C61746EL, // gos_Latn_NL
1688       0xCDC65541476F7468L, // got_Goth_UA
1689       0x8A26435943707274L, // grc_Cprt_CY
1690       0x8A2647524C696E62L, // grc_Linb_GR
1691       0xCE26494E42656E67L, // grt_Beng_IN
1692       0xDA4643484C61746EL, // gsw_Latn_CH
1693       0x6775494E47756A72L, // gu_Gujr_IN
1694       0x868642524C61746EL, // gub_Latn_BR
1695       0x8A86434F4C61746EL, // guc_Latn_CO
1696       0xC68647484C61746EL, // gur_Latn_GH
1697       0xE6864B454C61746EL, // guz_Latn_KE
1698       0x6776494D4C61746EL, // gv_Latn_IM
1699       0xC6A64E5044657661L, // gvr_Deva_NP
1700       0xA2C643414C61746EL, // gwi_Latn_CA
1701       0x68614E474C61746EL, // ha_Latn_NG
1702       0xA807434E48616E73L, // hak_Hans_CN
1703       0xD80755534C61746EL, // haw_Latn_US
1704       0xE407414641726162L, // haz_Arab_AF
1705       0x6865494C48656272L, // he_Hebr_IL
1706       0x6869494E44657661L, // hi_Deva_IN
1707       0x9507464A4C61746EL, // hif_Latn_FJ
1708       0xAD0750484C61746EL, // hil_Latn_PH
1709       0xD1675452486C7577L, // hlu_Hluw_TR
1710       0x8D87434E506C7264L, // hmd_Plrd_CN
1711       0x8DA7504B41726162L, // hnd_Arab_PK
1712       0x91A7494E44657661L, // hne_Deva_IN
1713       0xA5A74C41486D6E67L, // hnj_Hmng_LA
1714       0xB5A750484C61746EL, // hnn_Latn_PH
1715       0xB9A7504B41726162L, // hno_Arab_PK
1716       0x686F50474C61746EL, // ho_Latn_PG
1717       0x89C7494E44657661L, // hoc_Deva_IN
1718       0xA5C7494E44657661L, // hoj_Deva_IN
1719       0x687248524C61746EL, // hr_Latn_HR
1720       0x864744454C61746EL, // hsb_Latn_DE
1721       0xB647434E48616E73L, // hsn_Hans_CN
1722       0x687448544C61746EL, // ht_Latn_HT
1723       0x687548554C61746EL, // hu_Latn_HU
1724       0x6879414D41726D6EL, // hy_Armn_AM
1725       0x687A4E414C61746EL, // hz_Latn_NA
1726       0x696146524C61746EL, // ia_Latn_FR
1727       0x80284D594C61746EL, // iba_Latn_MY
1728       0x84284E474C61746EL, // ibb_Latn_NG
1729       0x696449444C61746EL, // id_Latn_ID
1730       0x69674E474C61746EL, // ig_Latn_NG
1731       0x6969434E59696969L, // ii_Yiii_CN
1732       0x696B55534C61746EL, // ik_Latn_US
1733       0xCD4843414C61746EL, // ikt_Latn_CA
1734       0xB96850484C61746EL, // ilo_Latn_PH
1735       0x696E49444C61746EL, // in_Latn_ID
1736       0x9DA852554379726CL, // inh_Cyrl_RU
1737       0x697349534C61746EL, // is_Latn_IS
1738       0x697449544C61746EL, // it_Latn_IT
1739       0x6975434143616E73L, // iu_Cans_CA
1740       0x6977494C48656272L, // iw_Hebr_IL
1741       0x9F2852554C61746EL, // izh_Latn_RU
1742       0x6A614A504A70616EL, // ja_Jpan_JP
1743       0xB0094A4D4C61746EL, // jam_Latn_JM
1744       0xB8C9434D4C61746EL, // jgo_Latn_CM
1745       0x8989545A4C61746EL, // jmc_Latn_TZ
1746       0xAD894E5044657661L, // jml_Deva_NP
1747       0xCE89444B4C61746EL, // jut_Latn_DK
1748       0x6A7649444C61746EL, // jv_Latn_ID
1749       0x6A7749444C61746EL, // jw_Latn_ID
1750       0x6B61474547656F72L, // ka_Geor_GE
1751       0x800A555A4379726CL, // kaa_Cyrl_UZ
1752       0x840A445A4C61746EL, // kab_Latn_DZ
1753       0x880A4D4D4C61746EL, // kac_Latn_MM
1754       0xA40A4E474C61746EL, // kaj_Latn_NG
1755       0xB00A4B454C61746EL, // kam_Latn_KE
1756       0xB80A4D4C4C61746EL, // kao_Latn_ML
1757       0x8C2A52554379726CL, // kbd_Cyrl_RU
1758       0xE02A4E4541726162L, // kby_Arab_NE
1759       0x984A4E474C61746EL, // kcg_Latn_NG
1760       0xA84A5A574C61746EL, // kck_Latn_ZW
1761       0x906A545A4C61746EL, // kde_Latn_TZ
1762       0x9C6A544741726162L, // kdh_Arab_TG
1763       0xCC6A544854686169L, // kdt_Thai_TH
1764       0x808A43564C61746EL, // kea_Latn_CV
1765       0xB48A434D4C61746EL, // ken_Latn_CM
1766       0xB8AA43494C61746EL, // kfo_Latn_CI
1767       0xC4AA494E44657661L, // kfr_Deva_IN
1768       0xE0AA494E44657661L, // kfy_Deva_IN
1769       0x6B6743444C61746EL, // kg_Latn_CD
1770       0x90CA49444C61746EL, // kge_Latn_ID
1771       0xBCCA42524C61746EL, // kgp_Latn_BR
1772       0x80EA494E4C61746EL, // kha_Latn_IN
1773       0x84EA434E54616C75L, // khb_Talu_CN
1774       0xB4EA494E44657661L, // khn_Deva_IN
1775       0xC0EA4D4C4C61746EL, // khq_Latn_ML
1776       0xCCEA494E4D796D72L, // kht_Mymr_IN
1777       0xD8EA504B41726162L, // khw_Arab_PK
1778       0x6B694B454C61746EL, // ki_Latn_KE
1779       0xD10A54524C61746EL, // kiu_Latn_TR
1780       0x6B6A4E414C61746EL, // kj_Latn_NA
1781       0x992A4C414C616F6FL, // kjg_Laoo_LA
1782       0x6B6B434E41726162L, // kk_Arab_CN
1783       0x6B6B4B5A4379726CL, // kk_Cyrl_KZ
1784       0xA54A434D4C61746EL, // kkj_Latn_CM
1785       0x6B6C474C4C61746EL, // kl_Latn_GL
1786       0xB56A4B454C61746EL, // kln_Latn_KE
1787       0x6B6D4B484B686D72L, // km_Khmr_KH
1788       0x858A414F4C61746EL, // kmb_Latn_AO
1789       0x6B6E494E4B6E6461L, // kn_Knda_IN
1790       0x6B6F4B524B6F7265L, // ko_Kore_KR
1791       0xA1CA52554379726CL, // koi_Cyrl_RU
1792       0xA9CA494E44657661L, // kok_Deva_IN
1793       0xC9CA464D4C61746EL, // kos_Latn_FM
1794       0x91EA4C524C61746EL, // kpe_Latn_LR
1795       0x8A2A52554379726CL, // krc_Cyrl_RU
1796       0xA22A534C4C61746EL, // kri_Latn_SL
1797       0xA62A50484C61746EL, // krj_Latn_PH
1798       0xAE2A52554C61746EL, // krl_Latn_RU
1799       0xD22A494E44657661L, // kru_Deva_IN
1800       0x6B73494E41726162L, // ks_Arab_IN
1801       0x864A545A4C61746EL, // ksb_Latn_TZ
1802       0x964A434D4C61746EL, // ksf_Latn_CM
1803       0x9E4A44454C61746EL, // ksh_Latn_DE
1804       0x6B75495141726162L, // ku_Arab_IQ
1805       0x6B7554524C61746EL, // ku_Latn_TR
1806       0xB28A52554379726CL, // kum_Cyrl_RU
1807       0x6B7652554379726CL, // kv_Cyrl_RU
1808       0xC6AA49444C61746EL, // kvr_Latn_ID
1809       0xDEAA504B41726162L, // kvx_Arab_PK
1810       0x6B7747424C61746EL, // kw_Latn_GB
1811       0xB2EA544854686169L, // kxm_Thai_TH
1812       0xBEEA504B41726162L, // kxp_Arab_PK
1813       0x6B79434E41726162L, // ky_Arab_CN
1814       0x6B794B474379726CL, // ky_Cyrl_KG
1815       0x6B7954524C61746EL, // ky_Latn_TR
1816       0x6C6156414C61746EL, // la_Latn_VA
1817       0x840B47524C696E61L, // lab_Lina_GR
1818       0x8C0B494C48656272L, // lad_Hebr_IL
1819       0x980B545A4C61746EL, // lag_Latn_TZ
1820       0x9C0B504B41726162L, // lah_Arab_PK
1821       0xA40B55474C61746EL, // laj_Latn_UG
1822       0x6C624C554C61746EL, // lb_Latn_LU
1823       0x902B52554379726CL, // lbe_Cyrl_RU
1824       0xD82B49444C61746EL, // lbw_Latn_ID
1825       0xBC4B434E54686169L, // lcp_Thai_CN
1826       0xBC8B494E4C657063L, // lep_Lepc_IN
1827       0xE48B52554379726CL, // lez_Cyrl_RU
1828       0x6C6755474C61746EL, // lg_Latn_UG
1829       0x6C694E4C4C61746EL, // li_Latn_NL
1830       0x950B4E5044657661L, // lif_Deva_NP
1831       0x950B494E4C696D62L, // lif_Limb_IN
1832       0xA50B49544C61746EL, // lij_Latn_IT
1833       0xC90B434E4C697375L, // lis_Lisu_CN
1834       0xBD2B49444C61746EL, // ljp_Latn_ID
1835       0xA14B495241726162L, // lki_Arab_IR
1836       0xCD4B55534C61746EL, // lkt_Latn_US
1837       0xB58B494E54656C75L, // lmn_Telu_IN
1838       0xB98B49544C61746EL, // lmo_Latn_IT
1839       0x6C6E43444C61746EL, // ln_Latn_CD
1840       0x6C6F4C414C616F6FL, // lo_Laoo_LA
1841       0xADCB43444C61746EL, // lol_Latn_CD
1842       0xE5CB5A4D4C61746EL, // loz_Latn_ZM
1843       0x8A2B495241726162L, // lrc_Arab_IR
1844       0x6C744C544C61746EL, // lt_Latn_LT
1845       0x9A6B4C564C61746EL, // ltg_Latn_LV
1846       0x6C7543444C61746EL, // lu_Latn_CD
1847       0x828B43444C61746EL, // lua_Latn_CD
1848       0xBA8B4B454C61746EL, // luo_Latn_KE
1849       0xE28B4B454C61746EL, // luy_Latn_KE
1850       0xE68B495241726162L, // luz_Arab_IR
1851       0x6C764C564C61746EL, // lv_Latn_LV
1852       0xAECB544854686169L, // lwl_Thai_TH
1853       0x9F2B434E48616E73L, // lzh_Hans_CN
1854       0xE72B54524C61746EL, // lzz_Latn_TR
1855       0x8C0C49444C61746EL, // mad_Latn_ID
1856       0x940C434D4C61746EL, // maf_Latn_CM
1857       0x980C494E44657661L, // mag_Deva_IN
1858       0xA00C494E44657661L, // mai_Deva_IN
1859       0xA80C49444C61746EL, // mak_Latn_ID
1860       0xB40C474D4C61746EL, // man_Latn_GM
1861       0xB40C474E4E6B6F6FL, // man_Nkoo_GN
1862       0xC80C4B454C61746EL, // mas_Latn_KE
1863       0xE40C4D584C61746EL, // maz_Latn_MX
1864       0x946C52554379726CL, // mdf_Cyrl_RU
1865       0x9C6C50484C61746EL, // mdh_Latn_PH
1866       0xC46C49444C61746EL, // mdr_Latn_ID
1867       0xB48C534C4C61746EL, // men_Latn_SL
1868       0xC48C4B454C61746EL, // mer_Latn_KE
1869       0x80AC544841726162L, // mfa_Arab_TH
1870       0x90AC4D554C61746EL, // mfe_Latn_MU
1871       0x6D674D474C61746EL, // mg_Latn_MG
1872       0x9CCC4D5A4C61746EL, // mgh_Latn_MZ
1873       0xB8CC434D4C61746EL, // mgo_Latn_CM
1874       0xBCCC4E5044657661L, // mgp_Deva_NP
1875       0xE0CC545A4C61746EL, // mgy_Latn_TZ
1876       0x6D684D484C61746EL, // mh_Latn_MH
1877       0x6D694E5A4C61746EL, // mi_Latn_NZ
1878       0xB50C49444C61746EL, // min_Latn_ID
1879       0xC90C495148617472L, // mis_Hatr_IQ
1880       0x6D6B4D4B4379726CL, // mk_Cyrl_MK
1881       0x6D6C494E4D6C796DL, // ml_Mlym_IN
1882       0xC96C53444C61746EL, // mls_Latn_SD
1883       0x6D6E4D4E4379726CL, // mn_Cyrl_MN
1884       0x6D6E434E4D6F6E67L, // mn_Mong_CN
1885       0xA1AC494E42656E67L, // mni_Beng_IN
1886       0xD9AC4D4D4D796D72L, // mnw_Mymr_MM
1887       0x91CC43414C61746EL, // moe_Latn_CA
1888       0x9DCC43414C61746EL, // moh_Latn_CA
1889       0xC9CC42464C61746EL, // mos_Latn_BF
1890       0x6D72494E44657661L, // mr_Deva_IN
1891       0x8E2C4E5044657661L, // mrd_Deva_NP
1892       0xA62C52554379726CL, // mrj_Cyrl_RU
1893       0xBA2C42444D726F6FL, // mro_Mroo_BD
1894       0x6D734D594C61746EL, // ms_Latn_MY
1895       0x6D744D544C61746EL, // mt_Latn_MT
1896       0xC66C494E44657661L, // mtr_Deva_IN
1897       0x828C434D4C61746EL, // mua_Latn_CM
1898       0xCA8C55534C61746EL, // mus_Latn_US
1899       0xE2AC504B41726162L, // mvy_Arab_PK
1900       0xAACC4D4C4C61746EL, // mwk_Latn_ML
1901       0xC6CC494E44657661L, // mwr_Deva_IN
1902       0xD6CC49444C61746EL, // mwv_Latn_ID
1903       0x8AEC5A574C61746EL, // mxc_Latn_ZW
1904       0x6D794D4D4D796D72L, // my_Mymr_MM
1905       0xD70C52554379726CL, // myv_Cyrl_RU
1906       0xDF0C55474C61746EL, // myx_Latn_UG
1907       0xE70C49524D616E64L, // myz_Mand_IR
1908       0xB72C495241726162L, // mzn_Arab_IR
1909       0x6E614E524C61746EL, // na_Latn_NR
1910       0xB40D434E48616E73L, // nan_Hans_CN
1911       0xBC0D49544C61746EL, // nap_Latn_IT
1912       0xC00D4E414C61746EL, // naq_Latn_NA
1913       0x6E624E4F4C61746EL, // nb_Latn_NO
1914       0x9C4D4D584C61746EL, // nch_Latn_MX
1915       0x6E645A574C61746EL, // nd_Latn_ZW
1916       0x886D4D5A4C61746EL, // ndc_Latn_MZ
1917       0xC86D44454C61746EL, // nds_Latn_DE
1918       0x6E654E5044657661L, // ne_Deva_NP
1919       0xD88D4E5044657661L, // new_Deva_NP
1920       0x6E674E414C61746EL, // ng_Latn_NA
1921       0xACCD4D5A4C61746EL, // ngl_Latn_MZ
1922       0x90ED4D584C61746EL, // nhe_Latn_MX
1923       0xD8ED4D584C61746EL, // nhw_Latn_MX
1924       0xA50D49444C61746EL, // nij_Latn_ID
1925       0xD10D4E554C61746EL, // niu_Latn_NU
1926       0xB92D494E4C61746EL, // njo_Latn_IN
1927       0x6E6C4E4C4C61746EL, // nl_Latn_NL
1928       0x998D434D4C61746EL, // nmg_Latn_CM
1929       0x6E6E4E4F4C61746EL, // nn_Latn_NO
1930       0x9DAD434D4C61746EL, // nnh_Latn_CM
1931       0x6E6F4E4F4C61746EL, // no_Latn_NO
1932       0x8DCD54484C616E61L, // nod_Lana_TH
1933       0x91CD494E44657661L, // noe_Deva_IN
1934       0xB5CD534552756E72L, // non_Runr_SE
1935       0xBA0D474E4E6B6F6FL, // nqo_Nkoo_GN
1936       0x6E725A414C61746EL, // nr_Latn_ZA
1937       0xAA4D434143616E73L, // nsk_Cans_CA
1938       0xBA4D5A414C61746EL, // nso_Latn_ZA
1939       0xCA8D53534C61746EL, // nus_Latn_SS
1940       0x6E7655534C61746EL, // nv_Latn_US
1941       0xC2ED434E4C61746EL, // nxq_Latn_CN
1942       0x6E794D574C61746EL, // ny_Latn_MW
1943       0xB30D545A4C61746EL, // nym_Latn_TZ
1944       0xB70D55474C61746EL, // nyn_Latn_UG
1945       0xA32D47484C61746EL, // nzi_Latn_GH
1946       0x6F6346524C61746EL, // oc_Latn_FR
1947       0x6F6D45544C61746EL, // om_Latn_ET
1948       0x6F72494E4F727961L, // or_Orya_IN
1949       0x6F7347454379726CL, // os_Cyrl_GE
1950       0x824E55534F736765L, // osa_Osge_US
1951       0xAA6E4D4E4F726B68L, // otk_Orkh_MN
1952       0x7061504B41726162L, // pa_Arab_PK
1953       0x7061494E47757275L, // pa_Guru_IN
1954       0x980F50484C61746EL, // pag_Latn_PH
1955       0xAC0F495250686C69L, // pal_Phli_IR
1956       0xAC0F434E50686C70L, // pal_Phlp_CN
1957       0xB00F50484C61746EL, // pam_Latn_PH
1958       0xBC0F41574C61746EL, // pap_Latn_AW
1959       0xD00F50574C61746EL, // pau_Latn_PW
1960       0x8C4F46524C61746EL, // pcd_Latn_FR
1961       0xB04F4E474C61746EL, // pcm_Latn_NG
1962       0x886F55534C61746EL, // pdc_Latn_US
1963       0xCC6F43414C61746EL, // pdt_Latn_CA
1964       0xB88F49525870656FL, // peo_Xpeo_IR
1965       0xACAF44454C61746EL, // pfl_Latn_DE
1966       0xB4EF4C4250686E78L, // phn_Phnx_LB
1967       0x814F494E42726168L, // pka_Brah_IN
1968       0xB94F4B454C61746EL, // pko_Latn_KE
1969       0x706C504C4C61746EL, // pl_Latn_PL
1970       0xC98F49544C61746EL, // pms_Latn_IT
1971       0xCDAF47524772656BL, // pnt_Grek_GR
1972       0xB5CF464D4C61746EL, // pon_Latn_FM
1973       0x822F504B4B686172L, // pra_Khar_PK
1974       0x8E2F495241726162L, // prd_Arab_IR
1975       0x7073414641726162L, // ps_Arab_AF
1976       0x707442524C61746EL, // pt_Latn_BR
1977       0xD28F47414C61746EL, // puu_Latn_GA
1978       0x717550454C61746EL, // qu_Latn_PE
1979       0x8A9047544C61746EL, // quc_Latn_GT
1980       0x9A9045434C61746EL, // qug_Latn_EC
1981       0xA411494E44657661L, // raj_Deva_IN
1982       0x945152454C61746EL, // rcf_Latn_RE
1983       0xA49149444C61746EL, // rej_Latn_ID
1984       0xB4D149544C61746EL, // rgn_Latn_IT
1985       0x8111494E4C61746EL, // ria_Latn_IN
1986       0x95114D4154666E67L, // rif_Tfng_MA
1987       0xC9314E5044657661L, // rjs_Deva_NP
1988       0xCD51424442656E67L, // rkt_Beng_BD
1989       0x726D43484C61746EL, // rm_Latn_CH
1990       0x959146494C61746EL, // rmf_Latn_FI
1991       0xB99143484C61746EL, // rmo_Latn_CH
1992       0xCD91495241726162L, // rmt_Arab_IR
1993       0xD19153454C61746EL, // rmu_Latn_SE
1994       0x726E42494C61746EL, // rn_Latn_BI
1995       0x99B14D5A4C61746EL, // rng_Latn_MZ
1996       0x726F524F4C61746EL, // ro_Latn_RO
1997       0x85D149444C61746EL, // rob_Latn_ID
1998       0x95D1545A4C61746EL, // rof_Latn_TZ
1999       0xB271464A4C61746EL, // rtm_Latn_FJ
2000       0x727552554379726CL, // ru_Cyrl_RU
2001       0x929155414379726CL, // rue_Cyrl_UA
2002       0x9A9153424C61746EL, // rug_Latn_SB
2003       0x727752574C61746EL, // rw_Latn_RW
2004       0xAAD1545A4C61746EL, // rwk_Latn_TZ
2005       0xD3114A504B616E61L, // ryu_Kana_JP
2006       0x7361494E44657661L, // sa_Deva_IN
2007       0x941247484C61746EL, // saf_Latn_GH
2008       0x9C1252554379726CL, // sah_Cyrl_RU
2009       0xC0124B454C61746EL, // saq_Latn_KE
2010       0xC81249444C61746EL, // sas_Latn_ID
2011       0xCC12494E4C61746EL, // sat_Latn_IN
2012       0xE412494E53617572L, // saz_Saur_IN
2013       0xBC32545A4C61746EL, // sbp_Latn_TZ
2014       0x736349544C61746EL, // sc_Latn_IT
2015       0xA852494E44657661L, // sck_Deva_IN
2016       0xB45249544C61746EL, // scn_Latn_IT
2017       0xB85247424C61746EL, // sco_Latn_GB
2018       0xC85243414C61746EL, // scs_Latn_CA
2019       0x7364504B41726162L, // sd_Arab_PK
2020       0x7364494E44657661L, // sd_Deva_IN
2021       0x7364494E4B686F6AL, // sd_Khoj_IN
2022       0x7364494E53696E64L, // sd_Sind_IN
2023       0x887249544C61746EL, // sdc_Latn_IT
2024       0x9C72495241726162L, // sdh_Arab_IR
2025       0x73654E4F4C61746EL, // se_Latn_NO
2026       0x949243494C61746EL, // sef_Latn_CI
2027       0x9C924D5A4C61746EL, // seh_Latn_MZ
2028       0xA0924D584C61746EL, // sei_Latn_MX
2029       0xC8924D4C4C61746EL, // ses_Latn_ML
2030       0x736743464C61746EL, // sg_Latn_CF
2031       0x80D249454F67616DL, // sga_Ogam_IE
2032       0xC8D24C544C61746EL, // sgs_Latn_LT
2033       0xA0F24D4154666E67L, // shi_Tfng_MA
2034       0xB4F24D4D4D796D72L, // shn_Mymr_MM
2035       0x73694C4B53696E68L, // si_Sinh_LK
2036       0x8D1245544C61746EL, // sid_Latn_ET
2037       0x736B534B4C61746EL, // sk_Latn_SK
2038       0xC552504B41726162L, // skr_Arab_PK
2039       0x736C53494C61746EL, // sl_Latn_SI
2040       0xA172504C4C61746EL, // sli_Latn_PL
2041       0xE17249444C61746EL, // sly_Latn_ID
2042       0x736D57534C61746EL, // sm_Latn_WS
2043       0x819253454C61746EL, // sma_Latn_SE
2044       0xA59253454C61746EL, // smj_Latn_SE
2045       0xB59246494C61746EL, // smn_Latn_FI
2046       0xBD92494C53616D72L, // smp_Samr_IL
2047       0xC99246494C61746EL, // sms_Latn_FI
2048       0x736E5A574C61746EL, // sn_Latn_ZW
2049       0xA9B24D4C4C61746EL, // snk_Latn_ML
2050       0x736F534F4C61746EL, // so_Latn_SO
2051       0xD1D2544854686169L, // sou_Thai_TH
2052       0x7371414C4C61746EL, // sq_Latn_AL
2053       0x737252534379726CL, // sr_Cyrl_RS
2054       0x737252534C61746EL, // sr_Latn_RS
2055       0x8632494E536F7261L, // srb_Sora_IN
2056       0xB63253524C61746EL, // srn_Latn_SR
2057       0xC632534E4C61746EL, // srr_Latn_SN
2058       0xDE32494E44657661L, // srx_Deva_IN
2059       0x73735A414C61746EL, // ss_Latn_ZA
2060       0xE25245524C61746EL, // ssy_Latn_ER
2061       0x73745A414C61746EL, // st_Latn_ZA
2062       0xC27244454C61746EL, // stq_Latn_DE
2063       0x737549444C61746EL, // su_Latn_ID
2064       0xAA92545A4C61746EL, // suk_Latn_TZ
2065       0xCA92474E4C61746EL, // sus_Latn_GN
2066       0x737653454C61746EL, // sv_Latn_SE
2067       0x7377545A4C61746EL, // sw_Latn_TZ
2068       0x86D2595441726162L, // swb_Arab_YT
2069       0x8AD243444C61746EL, // swc_Latn_CD
2070       0x9AD244454C61746EL, // swg_Latn_DE
2071       0xD6D2494E44657661L, // swv_Deva_IN
2072       0xB6F249444C61746EL, // sxn_Latn_ID
2073       0xAF12424442656E67L, // syl_Beng_BD
2074       0xC712495153797263L, // syr_Syrc_IQ
2075       0xAF32504C4C61746EL, // szl_Latn_PL
2076       0x7461494E54616D6CL, // ta_Taml_IN
2077       0xA4134E5044657661L, // taj_Deva_NP
2078       0xD83350484C61746EL, // tbw_Latn_PH
2079       0xE053494E4B6E6461L, // tcy_Knda_IN
2080       0x8C73434E54616C65L, // tdd_Tale_CN
2081       0x98734E5044657661L, // tdg_Deva_NP
2082       0x9C734E5044657661L, // tdh_Deva_NP
2083       0x7465494E54656C75L, // te_Telu_IN
2084       0xB093534C4C61746EL, // tem_Latn_SL
2085       0xB89355474C61746EL, // teo_Latn_UG
2086       0xCC93544C4C61746EL, // tet_Latn_TL
2087       0x7467504B41726162L, // tg_Arab_PK
2088       0x7467544A4379726CL, // tg_Cyrl_TJ
2089       0x7468544854686169L, // th_Thai_TH
2090       0xACF34E5044657661L, // thl_Deva_NP
2091       0xC0F34E5044657661L, // thq_Deva_NP
2092       0xC4F34E5044657661L, // thr_Deva_NP
2093       0x7469455445746869L, // ti_Ethi_ET
2094       0x9913455245746869L, // tig_Ethi_ER
2095       0xD5134E474C61746EL, // tiv_Latn_NG
2096       0x746B544D4C61746EL, // tk_Latn_TM
2097       0xAD53544B4C61746EL, // tkl_Latn_TK
2098       0xC553415A4C61746EL, // tkr_Latn_AZ
2099       0xCD534E5044657661L, // tkt_Deva_NP
2100       0x746C50484C61746EL, // tl_Latn_PH
2101       0xE173415A4C61746EL, // tly_Latn_AZ
2102       0x9D934E454C61746EL, // tmh_Latn_NE
2103       0x746E5A414C61746EL, // tn_Latn_ZA
2104       0x746F544F4C61746EL, // to_Latn_TO
2105       0x99D34D574C61746EL, // tog_Latn_MW
2106       0xA1F350474C61746EL, // tpi_Latn_PG
2107       0x747254524C61746EL, // tr_Latn_TR
2108       0xD23354524C61746EL, // tru_Latn_TR
2109       0xD63354574C61746EL, // trv_Latn_TW
2110       0x74735A414C61746EL, // ts_Latn_ZA
2111       0x8E5347524772656BL, // tsd_Grek_GR
2112       0x96534E5044657661L, // tsf_Deva_NP
2113       0x9A5350484C61746EL, // tsg_Latn_PH
2114       0xA653425454696274L, // tsj_Tibt_BT
2115       0x747452554379726CL, // tt_Cyrl_RU
2116       0xA67355474C61746EL, // ttj_Latn_UG
2117       0xCA73544854686169L, // tts_Thai_TH
2118       0xCE73415A4C61746EL, // ttt_Latn_AZ
2119       0xB2934D574C61746EL, // tum_Latn_MW
2120       0xAEB354564C61746EL, // tvl_Latn_TV
2121       0xC2D34E454C61746EL, // twq_Latn_NE
2122       0x9AF3434E54616E67L, // txg_Tang_CN
2123       0x747950464C61746EL, // ty_Latn_PF
2124       0xD71352554379726CL, // tyv_Cyrl_RU
2125       0xB3334D414C61746EL, // tzm_Latn_MA
2126       0xB07452554379726CL, // udm_Cyrl_RU
2127       0x7567434E41726162L, // ug_Arab_CN
2128       0x75674B5A4379726CL, // ug_Cyrl_KZ
2129       0x80D4535955676172L, // uga_Ugar_SY
2130       0x756B55414379726CL, // uk_Cyrl_UA
2131       0xA174464D4C61746EL, // uli_Latn_FM
2132       0x8594414F4C61746EL, // umb_Latn_AO
2133       0xC5B4494E42656E67L, // unr_Beng_IN
2134       0xC5B44E5044657661L, // unr_Deva_NP
2135       0xDDB4494E42656E67L, // unx_Beng_IN
2136       0x7572504B41726162L, // ur_Arab_PK
2137       0x757A414641726162L, // uz_Arab_AF
2138       0x757A555A4C61746EL, // uz_Latn_UZ
2139       0xA0154C5256616969L, // vai_Vaii_LR
2140       0x76655A414C61746EL, // ve_Latn_ZA
2141       0x889549544C61746EL, // vec_Latn_IT
2142       0xBC9552554C61746EL, // vep_Latn_RU
2143       0x7669564E4C61746EL, // vi_Latn_VN
2144       0x891553584C61746EL, // vic_Latn_SX
2145       0xC97542454C61746EL, // vls_Latn_BE
2146       0x959544454C61746EL, // vmf_Latn_DE
2147       0xD9954D5A4C61746EL, // vmw_Latn_MZ
2148       0xCDD552554C61746EL, // vot_Latn_RU
2149       0xBA3545454C61746EL, // vro_Latn_EE
2150       0xB695545A4C61746EL, // vun_Latn_TZ
2151       0x776142454C61746EL, // wa_Latn_BE
2152       0x901643484C61746EL, // wae_Latn_CH
2153       0xAC16455445746869L, // wal_Ethi_ET
2154       0xC41650484C61746EL, // war_Latn_PH
2155       0xBC3641554C61746EL, // wbp_Latn_AU
2156       0xC036494E54656C75L, // wbq_Telu_IN
2157       0xC436494E44657661L, // wbr_Deva_IN
2158       0xC97657464C61746EL, // wls_Latn_WF
2159       0xA1B64B4D41726162L, // wni_Arab_KM
2160       0x776F534E4C61746EL, // wo_Latn_SN
2161       0xB276494E44657661L, // wtm_Deva_IN
2162       0xD296434E48616E73L, // wuu_Hans_CN
2163       0xD41742524C61746EL, // xav_Latn_BR
2164       0xC457545243617269L, // xcr_Cari_TR
2165       0x78685A414C61746EL, // xh_Latn_ZA
2166       0x897754524C796369L, // xlc_Lyci_TR
2167       0x8D7754524C796469L, // xld_Lydi_TR
2168       0x9597474547656F72L, // xmf_Geor_GE
2169       0xB597434E4D616E69L, // xmn_Mani_CN
2170       0xC59753444D657263L, // xmr_Merc_SD
2171       0x81B753414E617262L, // xna_Narb_SA
2172       0xC5B7494E44657661L, // xnr_Deva_IN
2173       0x99D755474C61746EL, // xog_Latn_UG
2174       0xC5F7495250727469L, // xpr_Prti_IR
2175       0x8257594553617262L, // xsa_Sarb_YE
2176       0xC6574E5044657661L, // xsr_Deva_NP
2177       0xB8184D5A4C61746EL, // yao_Latn_MZ
2178       0xBC18464D4C61746EL, // yap_Latn_FM
2179       0xD418434D4C61746EL, // yav_Latn_CM
2180       0x8438434D4C61746EL, // ybb_Latn_CM
2181       0x796F4E474C61746EL, // yo_Latn_NG
2182       0xAE3842524C61746EL, // yrl_Latn_BR
2183       0x82984D584C61746EL, // yua_Latn_MX
2184       0x9298434E48616E73L, // yue_Hans_CN
2185       0x9298484B48616E74L, // yue_Hant_HK
2186       0x7A61434E4C61746EL, // za_Latn_CN
2187       0x981953444C61746EL, // zag_Latn_SD
2188       0xA4794B4D41726162L, // zdj_Arab_KM
2189       0x80994E4C4C61746EL, // zea_Latn_NL
2190       0x9CD94D4154666E67L, // zgh_Tfng_MA
2191       0x7A685457426F706FL, // zh_Bopo_TW
2192       0x7A68545748616E62L, // zh_Hanb_TW
2193       0x7A68434E48616E73L, // zh_Hans_CN
2194       0x7A68545748616E74L, // zh_Hant_TW
2195       0xB17954474C61746EL, // zlm_Latn_TG
2196       0xA1994D594C61746EL, // zmi_Latn_MY
2197       0x7A755A414C61746EL, // zu_Latn_ZA
2198       0x833954524C61746EL, // zza_Latn_TR
2199     };
2200 
2201     HashSet<Long> buildSet = new HashSet<>();
2202     for (long entry : entries) {
2203       buildSet.add(entry);
2204     }
2205     REPRESENTATIVE_LOCALES = Collections.unmodifiableSet(buildSet);
2206   }
2207 
2208   static final Map<Integer, Integer> ARAB_PARENTS;
2209 
2210   static {
2211     int[][] entries = {
2212       {0x6172445A, 0x61729420}, // ar-DZ -> ar-015
2213       {0x61724548, 0x61729420}, // ar-EH -> ar-015
2214       {0x61724C59, 0x61729420}, // ar-LY -> ar-015
2215       {0x61724D41, 0x61729420}, // ar-MA -> ar-015
2216       {0x6172544E, 0x61729420}, // ar-TN -> ar-015
2217     };
2218 
2219     Map<Integer, Integer> buildMap = new HashMap<>();
2220     for (int[] entry : entries) {
buildMap.put(entry[0], entry[1])2221       buildMap.put(entry[0], entry[1]);
2222     }
2223     ARAB_PARENTS = Collections.unmodifiableMap(buildMap);
2224   }
2225 
2226   static final Map<Integer, Integer> HANT_PARENTS;
2227 
2228   static {
2229     int[][] entries = {
2230       {0x7A684D4F, 0x7A68484B}, // zh-Hant-MO -> zh-Hant-HK
2231     };
2232 
2233     Map<Integer, Integer> buildMap = new HashMap<>();
2234     for (int[] entry : entries) {
buildMap.put(entry[0], entry[1])2235       buildMap.put(entry[0], entry[1]);
2236     }
2237     HANT_PARENTS = Collections.unmodifiableMap(buildMap);
2238   }
2239 
2240   static final Map<Integer, Integer> LATN_PARENTS;
2241 
2242   static {
2243     int[][] entries = {
2244       {0x656E80A1, 0x656E8400}, // en-150 -> en-001
2245       {0x656E4147, 0x656E8400}, // en-AG -> en-001
2246       {0x656E4149, 0x656E8400}, // en-AI -> en-001
2247       {0x656E4154, 0x656E80A1}, // en-AT -> en-150
2248       {0x656E4155, 0x656E8400}, // en-AU -> en-001
2249       {0x656E4242, 0x656E8400}, // en-BB -> en-001
2250       {0x656E4245, 0x656E8400}, // en-BE -> en-001
2251       {0x656E424D, 0x656E8400}, // en-BM -> en-001
2252       {0x656E4253, 0x656E8400}, // en-BS -> en-001
2253       {0x656E4257, 0x656E8400}, // en-BW -> en-001
2254       {0x656E425A, 0x656E8400}, // en-BZ -> en-001
2255       {0x656E4341, 0x656E8400}, // en-CA -> en-001
2256       {0x656E4343, 0x656E8400}, // en-CC -> en-001
2257       {0x656E4348, 0x656E80A1}, // en-CH -> en-150
2258       {0x656E434B, 0x656E8400}, // en-CK -> en-001
2259       {0x656E434D, 0x656E8400}, // en-CM -> en-001
2260       {0x656E4358, 0x656E8400}, // en-CX -> en-001
2261       {0x656E4359, 0x656E8400}, // en-CY -> en-001
2262       {0x656E4445, 0x656E80A1}, // en-DE -> en-150
2263       {0x656E4447, 0x656E8400}, // en-DG -> en-001
2264       {0x656E444B, 0x656E80A1}, // en-DK -> en-150
2265       {0x656E444D, 0x656E8400}, // en-DM -> en-001
2266       {0x656E4552, 0x656E8400}, // en-ER -> en-001
2267       {0x656E4649, 0x656E80A1}, // en-FI -> en-150
2268       {0x656E464A, 0x656E8400}, // en-FJ -> en-001
2269       {0x656E464B, 0x656E8400}, // en-FK -> en-001
2270       {0x656E464D, 0x656E8400}, // en-FM -> en-001
2271       {0x656E4742, 0x656E8400}, // en-GB -> en-001
2272       {0x656E4744, 0x656E8400}, // en-GD -> en-001
2273       {0x656E4747, 0x656E8400}, // en-GG -> en-001
2274       {0x656E4748, 0x656E8400}, // en-GH -> en-001
2275       {0x656E4749, 0x656E8400}, // en-GI -> en-001
2276       {0x656E474D, 0x656E8400}, // en-GM -> en-001
2277       {0x656E4759, 0x656E8400}, // en-GY -> en-001
2278       {0x656E484B, 0x656E8400}, // en-HK -> en-001
2279       {0x656E4945, 0x656E8400}, // en-IE -> en-001
2280       {0x656E494C, 0x656E8400}, // en-IL -> en-001
2281       {0x656E494D, 0x656E8400}, // en-IM -> en-001
2282       {0x656E494E, 0x656E8400}, // en-IN -> en-001
2283       {0x656E494F, 0x656E8400}, // en-IO -> en-001
2284       {0x656E4A45, 0x656E8400}, // en-JE -> en-001
2285       {0x656E4A4D, 0x656E8400}, // en-JM -> en-001
2286       {0x656E4B45, 0x656E8400}, // en-KE -> en-001
2287       {0x656E4B49, 0x656E8400}, // en-KI -> en-001
2288       {0x656E4B4E, 0x656E8400}, // en-KN -> en-001
2289       {0x656E4B59, 0x656E8400}, // en-KY -> en-001
2290       {0x656E4C43, 0x656E8400}, // en-LC -> en-001
2291       {0x656E4C52, 0x656E8400}, // en-LR -> en-001
2292       {0x656E4C53, 0x656E8400}, // en-LS -> en-001
2293       {0x656E4D47, 0x656E8400}, // en-MG -> en-001
2294       {0x656E4D4F, 0x656E8400}, // en-MO -> en-001
2295       {0x656E4D53, 0x656E8400}, // en-MS -> en-001
2296       {0x656E4D54, 0x656E8400}, // en-MT -> en-001
2297       {0x656E4D55, 0x656E8400}, // en-MU -> en-001
2298       {0x656E4D57, 0x656E8400}, // en-MW -> en-001
2299       {0x656E4D59, 0x656E8400}, // en-MY -> en-001
2300       {0x656E4E41, 0x656E8400}, // en-NA -> en-001
2301       {0x656E4E46, 0x656E8400}, // en-NF -> en-001
2302       {0x656E4E47, 0x656E8400}, // en-NG -> en-001
2303       {0x656E4E4C, 0x656E80A1}, // en-NL -> en-150
2304       {0x656E4E52, 0x656E8400}, // en-NR -> en-001
2305       {0x656E4E55, 0x656E8400}, // en-NU -> en-001
2306       {0x656E4E5A, 0x656E8400}, // en-NZ -> en-001
2307       {0x656E5047, 0x656E8400}, // en-PG -> en-001
2308       {0x656E5048, 0x656E8400}, // en-PH -> en-001
2309       {0x656E504B, 0x656E8400}, // en-PK -> en-001
2310       {0x656E504E, 0x656E8400}, // en-PN -> en-001
2311       {0x656E5057, 0x656E8400}, // en-PW -> en-001
2312       {0x656E5257, 0x656E8400}, // en-RW -> en-001
2313       {0x656E5342, 0x656E8400}, // en-SB -> en-001
2314       {0x656E5343, 0x656E8400}, // en-SC -> en-001
2315       {0x656E5344, 0x656E8400}, // en-SD -> en-001
2316       {0x656E5345, 0x656E80A1}, // en-SE -> en-150
2317       {0x656E5347, 0x656E8400}, // en-SG -> en-001
2318       {0x656E5348, 0x656E8400}, // en-SH -> en-001
2319       {0x656E5349, 0x656E80A1}, // en-SI -> en-150
2320       {0x656E534C, 0x656E8400}, // en-SL -> en-001
2321       {0x656E5353, 0x656E8400}, // en-SS -> en-001
2322       {0x656E5358, 0x656E8400}, // en-SX -> en-001
2323       {0x656E535A, 0x656E8400}, // en-SZ -> en-001
2324       {0x656E5443, 0x656E8400}, // en-TC -> en-001
2325       {0x656E544B, 0x656E8400}, // en-TK -> en-001
2326       {0x656E544F, 0x656E8400}, // en-TO -> en-001
2327       {0x656E5454, 0x656E8400}, // en-TT -> en-001
2328       {0x656E5456, 0x656E8400}, // en-TV -> en-001
2329       {0x656E545A, 0x656E8400}, // en-TZ -> en-001
2330       {0x656E5547, 0x656E8400}, // en-UG -> en-001
2331       {0x656E5643, 0x656E8400}, // en-VC -> en-001
2332       {0x656E5647, 0x656E8400}, // en-VG -> en-001
2333       {0x656E5655, 0x656E8400}, // en-VU -> en-001
2334       {0x656E5753, 0x656E8400}, // en-WS -> en-001
2335       {0x656E5A41, 0x656E8400}, // en-ZA -> en-001
2336       {0x656E5A4D, 0x656E8400}, // en-ZM -> en-001
2337       {0x656E5A57, 0x656E8400}, // en-ZW -> en-001
2338       {0x65734152, 0x6573A424}, // es-AR -> es-419
2339       {0x6573424F, 0x6573A424}, // es-BO -> es-419
2340       {0x65734252, 0x6573A424}, // es-BR -> es-419
2341       {0x6573434C, 0x6573A424}, // es-CL -> es-419
2342       {0x6573434F, 0x6573A424}, // es-CO -> es-419
2343       {0x65734352, 0x6573A424}, // es-CR -> es-419
2344       {0x65734355, 0x6573A424}, // es-CU -> es-419
2345       {0x6573444F, 0x6573A424}, // es-DO -> es-419
2346       {0x65734543, 0x6573A424}, // es-EC -> es-419
2347       {0x65734754, 0x6573A424}, // es-GT -> es-419
2348       {0x6573484E, 0x6573A424}, // es-HN -> es-419
2349       {0x65734D58, 0x6573A424}, // es-MX -> es-419
2350       {0x65734E49, 0x6573A424}, // es-NI -> es-419
2351       {0x65735041, 0x6573A424}, // es-PA -> es-419
2352       {0x65735045, 0x6573A424}, // es-PE -> es-419
2353       {0x65735052, 0x6573A424}, // es-PR -> es-419
2354       {0x65735059, 0x6573A424}, // es-PY -> es-419
2355       {0x65735356, 0x6573A424}, // es-SV -> es-419
2356       {0x65735553, 0x6573A424}, // es-US -> es-419
2357       {0x65735559, 0x6573A424}, // es-UY -> es-419
2358       {0x65735645, 0x6573A424}, // es-VE -> es-419
2359       {0x7074414F, 0x70745054}, // pt-AO -> pt-PT
2360       {0x70744348, 0x70745054}, // pt-CH -> pt-PT
2361       {0x70744356, 0x70745054}, // pt-CV -> pt-PT
2362       {0x70744751, 0x70745054}, // pt-GQ -> pt-PT
2363       {0x70744757, 0x70745054}, // pt-GW -> pt-PT
2364       {0x70744C55, 0x70745054}, // pt-LU -> pt-PT
2365       {0x70744D4F, 0x70745054}, // pt-MO -> pt-PT
2366       {0x70744D5A, 0x70745054}, // pt-MZ -> pt-PT
2367       {0x70745354, 0x70745054}, // pt-ST -> pt-PT
2368       {0x7074544C, 0x70745054}, // pt-TL -> pt-PT
2369     };
2370     Map<Integer, Integer> buildMap = new HashMap<>();
2371     for (int[] entry : entries) {
buildMap.put(entry[0], entry[1])2372       buildMap.put(entry[0], entry[1]);
2373     }
2374     LATN_PARENTS = Collections.unmodifiableMap(buildMap);
2375   }
2376 
2377   static final Map<String, Map<Integer, Integer>> SCRIPT_PARENTS;
2378 
2379   static {
2380     Map<String, Map<Integer, Integer>> buildMap = new HashMap<>();
2381     buildMap.put("Arab", ARAB_PARENTS);
2382     buildMap.put("Hant", HANT_PARENTS);
2383     buildMap.put("Latn", LATN_PARENTS);
2384     SCRIPT_PARENTS = Collections.unmodifiableMap(buildMap);
2385   }
2386 
2387   static final int MAX_PARENT_DEPTH = 3;
2388 }
2389