// This file is part of ICU4X. For terms of use, please see the file // called LICENSE at the top level of the ICU4X source tree // (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ). use litemap::LiteMap; const fn single_byte_intermediate_value(x: u8) -> u8 { debug_assert!(x <= 0b00001111); x | 0b10000000 } use single_byte_intermediate_value as single_byte_short_value; const fn single_byte_branch_equal(x: u8) -> u8 { debug_assert!(x <= 0b00001111); x | 0b11000000 } use single_byte_branch_equal as single_byte_short_match; #[allow(dead_code)] pub fn strings_to_litemap<'a>(strings: &[&'a str]) -> LiteMap<&'a [u8], usize> { strings .iter() .copied() .map(|x| x.as_bytes()) .enumerate() .map(|(i, s)| (s, i)) .collect() } #[allow(dead_code)] pub mod basic { use super::*; pub static TRIE_ASCII: &[u8] = &[ b'a', b'b', single_byte_short_value(1), b'c', single_byte_short_value(2), // Begin Match Node single_byte_short_match(3), b'd', b'e', b'f', 5, 8, // End Match Node // subslice @ 0 single_byte_short_value(3), b'g', b'h', b'i', single_byte_short_value(4), // subslice @ 5 b'j', b'k', single_byte_short_value(5), // subslice @ 8 // Begin Match Node single_byte_short_match(2), b'l', b'm', 1, // End Match Node // subsubslice @ 0 single_byte_short_value(6), // subsubslice @ 1 b'n', single_byte_short_value(7), ]; pub static DATA_ASCII: &[(&[u8], usize)] = &[ (b"ab", 1), (b"abc", 2), (b"abcd", 3), (b"abcdghi", 4), (b"abcejk", 5), (b"abcfl", 6), (b"abcfmn", 7), ]; pub static TRIE_UNICODE: &[u8] = &[ 196, 100, 102, 103, 107, 12, 17, 23, 195, 97, 101, 105, 2, 4, 115, 129, 114, 130, 101, 131, 162, 195, 188, 114, 132, 114, 111, 162, 195, 159, 133, 162, 195, 182, 110, 110, 101, 110, 134, ]; pub static DATA_UNICODE: &[(&[u8], usize)] = &[ ("das".as_bytes(), 1), ("der".as_bytes(), 2), ("die".as_bytes(), 3), ("für".as_bytes(), 4), ("groß".as_bytes(), 5), ("können".as_bytes(), 6), ]; pub static TRIE_BINARY: &[u8] = &[ 196, 0, 129, 144, 240, 3, 9, 12, 161, 144, 131, 194, 130, 131, 1, 129, 130, 161, 144, 132, 161, 255, 133, 161, 255, 134, ]; pub static DATA_BINARY: &[(&[u8], usize)] = &[ (b"\0\x90", 3), (b"\x81\x82", 1), (b"\x81\x83", 2), (b"\x90\x90", 4), (b"\xF0\xFF", 5), (b"\xF0\xFF\xFF", 6), ]; // Note: Cow and ZeroVec have the same serialized form pub static JSON_STR_ASCII: &str = "{\"trie\":{\"ab\":1,\"abc\":2,\"abcd\":3,\"abcdghi\":4,\"abcejk\":5,\"abcfl\":6,\"abcfmn\":7}}"; pub static JSON_STR_UNICODE: &str = "{\"trie\":{\"das\":1,\"der\":2,\"die\":3,\"für\":4,\"groß\":5,\"können\":6}}"; pub static JSON_STR_BINARY: &str = "{\"trie\":[[[0,144],3],[[129,130],1],[[129,131],2],[[144,144],4],[[240,255],5],[[240,255,255],6]]}"; pub static BINCODE_BYTES_ASCII: &[u8] = &[ 97, 98, 129, 99, 130, 195, 100, 101, 102, 5, 8, 131, 103, 104, 105, 132, 106, 107, 133, 194, 108, 109, 1, 134, 110, 135, ]; pub static BINCODE_BYTES_UNICODE: &[u8] = &[ 196, 100, 102, 103, 107, 12, 17, 23, 195, 97, 101, 105, 2, 4, 115, 129, 114, 130, 101, 131, 162, 195, 188, 114, 132, 114, 111, 162, 195, 159, 133, 162, 195, 182, 110, 110, 101, 110, 134, ]; pub static BINCODE_BYTES_BINARY: &[u8] = &[ 196, 0, 129, 144, 240, 3, 9, 12, 161, 144, 131, 194, 130, 131, 1, 129, 130, 161, 144, 132, 161, 255, 133, 161, 255, 134, ]; } #[allow(dead_code)] pub mod short_subtags { pub static STRINGS: &[&str] = &[ "aa", "aai", "aak", "aau", "ab", "abi", "abq", "abr", "abt", "aby", "acd", "ace", "ach", "ada", "ade", "adj", "adp", "ady", "adz", "ae", "aeb", "aey", "af", "agc", "agd", "agg", "agm", "ago", "agq", "aha", "ahl", "aho", "ajg", "ak", "akk", "ala", "ali", "aln", "alt", "am", "amm", "amn", "amo", "amp", "an", "anc", "ank", "ann", "any", "aoj", "aom", "aoz", "apc", "apd", "ape", "apr", "aps", "apz", "ar", "arc", "arc-Nbat", "arc-Palm", "arh", "arn", "aro", "arq", "ars", "ary", "arz", "as", "asa", "ase", "asg", "aso", "ast", "ata", "atg", "atj", "auy", "av", "avl", "avn", "avt", "avu", "awa", "awb", "awo", "awx", "ay", "ayb", "az", "az-Arab", "az-IQ", "az-IR", "az-RU", "ba", "bal", "ban", "bap", "bar", "bas", "bav", "bax", "bba", "bbb", "bbc", "bbd", "bbj", "bbp", "bbr", "bcf", "bch", "bci", "bcm", "bcn", "bco", "bcq", "bcu", "bdd", "be", "bef", "beh", "bej", "bem", "bet", "bew", "bex", "bez", "bfd", "bfq", "bft", "bfy", "bg", "bgc", "bgn", "bgx", "bhb", "bhg", "bhi", "bhl", "bho", "bhy", "bi", "bib", "big", "bik", "bim", "bin", "bio", "biq", "bjh", "bji", "bjj", "bjn", "bjo", "bjr", "bjt", "bjz", "bkc", "bkm", "bkq", "bku", "bkv", "bla", "blg", "blt", "bm", "bmh", "bmk", "bmq", "bmu", "bn", "bng", "bnm", "bnp", "bo", "boj", "bom", "bon", "bpy", "bqc", "bqi", "bqp", "bqv", "br", "bra", "brh", "brx", "brz", "bs", "bsj", "bsq", "bss", "bst", "bto", "btt", "btv", "bua", "buc", "bud", "bug", "buk", "bum", "buo", "bus", "buu", "bvb", "bwd", "bwr", "bxh", "bye", "byn", "byr", "bys", "byv", "byx", "bza", "bze", "bzf", "bzh", "bzw", "ca", "cad", "can", "cbj", "cch", "ccp", "ce", "ceb", "cfa", "cgg", "ch", "chk", "chm", "cho", "chp", "chr", "cic", "cja", "cjm", "cjv", "ckb", "ckl", "cko", "cky", "cla", "clc", "cme", "cmg", "co", "cop", "cps", "cr", "crg", "crh", "crk", "crl", "crs", "cs", "csb", "csw", "ctd", "cu", "cu-Glag", "cv", "cy", "da", "dad", "daf", "dag", "dah", "dak", "dar", "dav", "dbd", "dbq", "dcc", "ddn", "de", "ded", "den", "dga", "dgh", "dgi", "dgl", "dgr", "dgz", "dia", "dje", "dmf", "dnj", "dob", "doi", "dop", "dow", "drh", "dri", "drs", "dsb", "dtm", "dtp", "dts", "dty", "dua", "duc", "dud", "dug", "dv", "dva", "dww", "dyo", "dyu", "dz", "dzg", "ebu", "ee", "efi", "egl", "egy", "eka", "eky", "el", "ema", "emi", "en", "en-Shaw", "enn", "enq", "eo", "eri", "es", "esg", "esu", "et", "etr", "ett", "etu", "etx", "eu", "ewo", "ext", "eza", "fa", "faa", "fab", "fag", "fai", "fan", "ff", "ff-Adlm", "ffi", "ffm", "fi", "fia", "fil", "fit", "fj", "flr", "fmp", "fo", "fod", "fon", "for", "fpe", "fqs", "fr", "frc", "frp", "frr", "frs", "fub", "fud", "fue", "fuf", "fuh", "fuq", "fur", "fuv", "fuy", "fvr", "fy", "ga", "gaa", "gaf", "gag", "gah", "gaj", "gam", "gan", "gaw", "gay", "gba", "gbf", "gbm", "gby", "gbz", "gcr", "gd", "gde", "gdn", "gdr", "geb", "gej", "gel", "gez", "gfk", "ggn", "ghs", "gil", "gim", "gjk", "gjn", "gju", "gkn", "gkp", "gl", "glk", "gmm", "gmv", "gn", "gnd", "gng", "god", "gof", "goi", "gom", "gon", "gor", "gos", "got", "grb", "grc", "grc-Linb", "grt", "grw", "gsw", "gu", "gub", "guc", "gud", "gur", "guw", "gux", "guz", "gv", "gvf", "gvr", "gvs", "gwc", "gwi", "gwt", "gyi", "ha", "ha-CM", "ha-SD", "hag", "hak", "ham", "haw", "haz", "hbb", "hdy", "he", "hhy", "hi", "hi-Latn", "hia", "hif", "hig", "hih", "hil", "hla", "hlu", "hmd", "hmt", "hnd", "hne", "hnj", "hnn", "hno", "ho", "hoc", "hoj", "hot", "hr", "hsb", "hsn", "ht", "hu", "hui", "hur", "hy", "hz", "ia", "ian", "iar", "iba", "ibb", "iby", "ica", "ich", "id", "idd", "idi", "idu", "ife", "ig", "igb", "ige", "ii", "ijj", "ik", "ikk", "ikw", "ikx", "ilo", "imo", "in", "inh", "io", "iou", "iri", "is", "it", "iu", "iw", "iwm", "iws", "izh", "izi", "ja", "jab", "jam", "jar", "jbo", "jbu", "jen", "jgk", "jgo", "ji", "jib", "jmc", "jml", "jra", "jut", "jv", "jw", "ka", "kaa", "kab", "kac", "kad", "kai", "kaj", "kam", "kao", "kaw", "kbd", "kbm", "kbp", "kbq", "kbx", "kby", "kcg", "kck", "kcl", "kct", "kde", "kdh", "kdl", "kdt", "kea", "ken", "kez", "kfo", "kfr", "kfy", "kg", "kge", "kgf", "kgp", "kha", "khb", "khn", "khq", "khs", "kht", "khw", "khz", "ki", "kij", "kiu", "kiw", "kj", "kjd", "kjg", "kjs", "kjy", "kk", "kk-AF", "kk-Arab", "kk-CN", "kk-IR", "kk-MN", "kkc", "kkj", "kl", "kln", "klq", "klt", "klx", "km", "kmb", "kmh", "kmo", "kms", "kmu", "kmw", "kn", "knf", "knp", "ko", "koi", "kok", "kol", "kos", "koz", "kpe", "kpf", "kpo", "kpr", "kpx", "kqb", "kqf", "kqs", "kqy", "kr", "krc", "kri", "krj", "krl", "krs", "kru", "ks", "ksb", "ksd", "ksf", "ksh", "ksj", "ksr", "ktb", "ktm", "kto", "ktr", "ku", "ku-Arab", "ku-LB", "ku-Yezi", "kub", "kud", "kue", "kuj", "kum", "kun", "kup", "kus", "kv", "kvg", "kvr", "kvx", "kw", "kwj", "kwk", "kwo", "kwq", "kxa", "kxc", "kxe", "kxl", "kxm", "kxp", "kxw", "kxz", "ky", "ky-Arab", "ky-CN", "ky-Latn", "ky-TR", "kye", "kyx", "kzh", "kzj", "kzr", "kzt", "la", "lab", "lad", "lag", "lah", "laj", "las", "lb", "lbe", "lbu", "lbw", "lcm", "lcp", "ldb", "led", "lee", "lem", "lep", "leq", "leu", "lez", "lg", "lgg", "li", "lia", "lid", "lif", "lif-Limb", "lig", "lih", "lij", "lil", "lis", "ljp", "lki", "lkt", "lle", "lln", "lmn", "lmo", "lmp", "ln", "lns", "lnu", "lo", "loj", "lok", "lol", "lor", "los", "loz", "lrc", "lt", "ltg", "lu", "lua", "luo", "luy", "luz", "lv", "lwl", "lzh", "lzz", "mad", "maf", "mag", "mai", "mak", "man", "man-GN", "man-Nkoo", "mas", "maw", "maz", "mbh", "mbo", "mbq", "mbu", "mbw", "mci", "mcp", "mcq", "mcr", "mcu", "mda", "mde", "mdf", "mdh", "mdj", "mdr", "mdx", "med", "mee", "mek", "men", "mer", "met", "meu", "mfa", "mfe", "mfn", "mfo", "mfq", "mg", "mgh", "mgl", "mgo", "mgp", "mgy", "mh", "mhi", "mhl", "mi", "mic", "mif", "min", "miw", "mk", "mki", "mkl", "mkp", "mkw", "ml", "mle", "mlp", "mls", "mmo", "mmu", "mmx", "mn", "mn-CN", "mn-Mong", "mna", "mnf", "mni", "mnw", "mo", "moa", "moe", "moh", "mos", "mox", "mpp", "mps", "mpt", "mpx", "mql", "mr", "mrd", "mrj", "mro", "ms", "ms-CC", "mt", "mtc", "mtf", "mti", "mtr", "mua", "mur", "mus", "mva", "mvn", "mvy", "mwk", "mwr", "mwv", "mww", "mxc", "mxm", "my", "myk", "mym", "myv", "myw", "myx", "myz", "mzk", "mzm", "mzn", "mzp", "mzw", "mzz", "na", "nac", "naf", "nak", "nan", "nap", "naq", "nas", "nb", "nca", "nce", "ncf", "nch", "nco", "ncu", "nd", "ndc", "nds", "ne", "neb", "new", "nex", "nfr", "ng", "nga", "ngb", "ngl", "nhb", "nhe", "nhw", "nif", "nii", "nij", "nin", "niu", "niy", "niz", "njo", "nkg", "nko", "nl", "nmg", "nmz", "nn", "nnf", "nnh", "nnk", "nnm", "nnp", "no", "nod", "noe", "non", "nop", "nou", "nqo", "nr", "nrb", "nsk", "nsn", "nso", "nss", "nst", "ntm", "ntr", "nui", "nup", "nus", "nuv", "nux", "nv", "nwb", "nxq", "nxr", "ny", "nym", "nyn", "nzi", "oc", "ogc", "oj", "ojs", "oka", "okr", "okv", "om", "ong", "onn", "ons", "opm", "or", "oro", "oru", "os", "osa", "ota", "otk", "oui", "ozm", "pa", "pa-Arab", "pa-PK", "pag", "pal", "pal-Phlp", "pam", "pap", "pau", "pbi", "pcd", "pcm", "pdc", "pdt", "ped", "peo", "pex", "pfl", "phl", "phn", "pil", "pip", "pka", "pko", "pl", "pla", "pms", "png", "pnn", "pnt", "pon", "ppa", "ppo", "pqm", "pra", "prd", "prg", "ps", "pss", "pt", "ptp", "puu", "pwa", "qu", "quc", "qug", "rai", "raj", "rao", "rcf", "rej", "rel", "res", "rgn", "rhg", "ria", "rif", "rif-NL", "rjs", "rkt", "rm", "rmf", "rmo", "rmt", "rmu", "rn", "rna", "rng", "ro", "rob", "rof", "roo", "rro", "rtm", "ru", "rue", "rug", "rw", "rwk", "rwo", "ryu", "sa", "saf", "sah", "saq", "sas", "sat", "sav", "saz", "sba", "sbe", "sbp", "sc", "sck", "scl", "scn", "sco", "sd", "sd-Deva", "sd-IN", "sd-Khoj", "sd-Sind", "sdc", "sdh", "se", "sef", "seh", "sei", "ses", "sg", "sga", "sgs", "sgw", "sgz", "shi", "shk", "shn", "shu", "si", "sid", "sig", "sil", "sim", "sjr", "sk", "skc", "skr", "sks", "sl", "sld", "sli", "sll", "sly", "sm", "sma", "smj", "smn", "smp", "smq", "sms", "sn", "snc", "snk", "snp", "snx", "sny", "so", "sog", "sok", "soq", "sou", "soy", "spd", "spl", "sps", "sq", "sr", "sr-ME", "sr-RO", "sr-RU", "sr-TR", "srb", "srn", "srr", "srx", "ss", "ssd", "ssg", "ssy", "st", "stk", "stq", "su", "sua", "sue", "suk", "sur", "sus", "sv", "sw", "swb", "swc", "swg", "swp", "swv", "sxn", "sxw", "syl", "syr", "szl", "ta", "taj", "tal", "tan", "taq", "tbc", "tbd", "tbf", "tbg", "tbo", "tbw", "tbz", "tci", "tcy", "tdd", "tdg", "tdh", "tdu", "te", "ted", "tem", "teo", "tet", "tfi", "tg", "tg-Arab", "tg-PK", "tgc", "tgo", "tgu", "th", "thl", "thq", "thr", "ti", "tif", "tig", "tik", "tim", "tio", "tiv", "tk", "tkl", "tkr", "tkt", "tl", "tlf", "tlx", "tly", "tmh", "tmy", "tn", "tnh", "to", "tof", "tog", "toq", "tpi", "tpm", "tpz", "tqo", "tr", "tru", "trv", "trw", "ts", "tsd", "tsf", "tsg", "tsj", "tsw", "tt", "ttd", "tte", "ttj", "ttr", "tts", "ttt", "tuh", "tul", "tum", "tuq", "tvd", "tvl", "tvu", "twh", "twq", "txg", "txo", "ty", "tya", "tyv", "tzm", "ubu", "udi", "udm", "ug", "ug-Cyrl", "ug-KZ", "ug-MN", "uga", "uk", "uli", "umb", "und", "und-002", "und-003", "und-005", "und-009", "und-011", "und-013", "und-014", "und-015", "und-017", "und-018", "und-019", "und-021", "und-029", "und-030", "und-034", "und-035", "und-039", "und-053", "und-054", "und-057", "und-061", "und-142", "und-143", "und-145", "und-150", "und-151", "und-154", "und-155", "und-202", "und-419", "und-AD", "und-Adlm", "und-AE", "und-AF", "und-Aghb", "und-Ahom", "und-AL", "und-AM", "und-AO", "und-AQ", "und-AR", "und-Arab", "und-Arab-CC", "und-Arab-CN", "und-Arab-GB", "und-Arab-ID", "und-Arab-IN", "und-Arab-KH", "und-Arab-MM", "und-Arab-MN", "und-Arab-MU", "und-Arab-NG", "und-Arab-PK", "und-Arab-TG", "und-Arab-TH", "und-Arab-TJ", "und-Arab-TR", "und-Arab-YT", "und-Armi", "und-Armn", "und-AS", "und-AT", "und-Avst", "und-AW", "und-AX", "und-AZ", "und-BA", "und-Bali", "und-Bamu", "und-Bass", "und-Batk", "und-BD", "und-BE", "und-Beng", "und-BF", "und-BG", "und-BH", "und-Bhks", "und-BI", "und-BJ", "und-BL", "und-BN", "und-BO", "und-Bopo", "und-BQ", "und-BR", "und-Brah", "und-Brai", "und-BT", "und-Bugi", "und-Buhd", "und-BV", "und-BY", "und-Cakm", "und-Cans", "und-Cari", "und-CD", "und-CF", "und-CG", "und-CH", "und-Cham", "und-Cher", "und-Chrs", "und-CI", "und-CL", "und-CM", "und-CN", "und-CO", "und-Copt", "und-CP", "und-Cpmn", "und-Cpmn-CY", "und-Cprt", "und-CR", "und-CU", "und-CV", "und-CW", "und-CY", "und-Cyrl", "und-Cyrl-AL", "und-Cyrl-BA", "und-Cyrl-GE", "und-Cyrl-GR", "und-Cyrl-MD", "und-Cyrl-RO", "und-Cyrl-SK", "und-Cyrl-TR", "und-Cyrl-XK", "und-CZ", "und-DE", "und-Deva", "und-Deva-BT", "und-Deva-FJ", "und-Deva-MU", "und-Deva-PK", "und-Diak", "und-DJ", "und-DK", "und-DO", "und-Dogr", "und-Dupl", "und-DZ", "und-EA", "und-EC", "und-EE", "und-EG", "und-Egyp", "und-EH", "und-Elba", "und-Elym", "und-ER", "und-ES", "und-ET", "und-Ethi", "und-EU", "und-EZ", "und-FI", "und-FO", "und-FR", "und-GA", "und-GE", "und-Geor", "und-GF", "und-GH", "und-GL", "und-Glag", "und-GN", "und-Gong", "und-Gonm", "und-Goth", "und-GP", "und-GQ", "und-GR", "und-Gran", "und-Grek", "und-Grek-TR", "und-GS", "und-GT", "und-Gujr", "und-Guru", "und-GW", "und-Hanb", "und-Hang", "und-Hani", "und-Hano", "und-Hans", "und-Hant", "und-Hant-CA", "und-Hebr", "und-Hebr-SE", "und-Hebr-UA", "und-Hebr-US", "und-Hira", "und-HK", "und-Hluw", "und-HM", "und-Hmng", "und-Hmnp", "und-HN", "und-HR", "und-HT", "und-HU", "und-Hung", "und-IC", "und-ID", "und-IL", "und-IN", "und-IQ", "und-IR", "und-IS", "und-IT", "und-Ital", "und-Jamo", "und-Java", "und-JO", "und-JP", "und-Jpan", "und-Kali", "und-Kana", "und-Kawi", "und-KE", "und-KG", "und-KH", "und-Khar", "und-Khmr", "und-Khoj", "und-Kits", "und-KM", "und-Knda", "und-Kore", "und-KP", "und-KR", "und-Kthi", "und-KW", "und-KZ", "und-LA", "und-Lana", "und-Laoo", "und-Latn-AF", "und-Latn-AM", "und-Latn-CN", "und-Latn-CY", "und-Latn-DZ", "und-Latn-ET", "und-Latn-GE", "und-Latn-IR", "und-Latn-KM", "und-Latn-MA", "und-Latn-MK", "und-Latn-MM", "und-Latn-MO", "und-Latn-MR", "und-Latn-RU", "und-Latn-SY", "und-Latn-TN", "und-Latn-TW", "und-Latn-UA", "und-LB", "und-Lepc", "und-LI", "und-Limb", "und-Lina", "und-Linb", "und-Lisu", "und-LK", "und-LS", "und-LT", "und-LU", "und-LV", "und-LY", "und-Lyci", "und-Lydi", "und-MA", "und-Mahj", "und-Maka", "und-Mand", "und-Mani", "und-Marc", "und-MC", "und-MD", "und-ME", "und-Medf", "und-Mend", "und-Merc", "und-Mero", "und-MF", "und-MG", "und-MK", "und-ML", "und-Mlym", "und-MM", "und-MN", "und-MO", "und-Modi", "und-Mong", "und-MQ", "und-MR", "und-Mroo", "und-MT", "und-Mtei", "und-MU", "und-Mult", "und-MV", "und-MX", "und-MY", "und-Mymr", "und-Mymr-IN", "und-Mymr-TH", "und-MZ", "und-NA", "und-Nagm", "und-Nand", "und-Narb", "und-Nbat", "und-NC", "und-NE", "und-Newa", "und-NI", "und-Nkoo", "und-NL", "und-NO", "und-NP", "und-Nshu", "und-Ogam", "und-Olck", "und-OM", "und-Orkh", "und-Orya", "und-Osge", "und-Osma", "und-Ougr", "und-PA", "und-Palm", "und-Pauc", "und-PE", "und-Perm", "und-PF", "und-PG", "und-PH", "und-Phag", "und-Phli", "und-Phlp", "und-Phnx", "und-PK", "und-PL", "und-Plrd", "und-PM", "und-PR", "und-Prti", "und-PS", "und-PT", "und-PW", "und-PY", "und-QA", "und-QO", "und-RE", "und-Rjng", "und-RO", "und-Rohg", "und-RS", "und-RU", "und-Runr", "und-RW", "und-SA", "und-Samr", "und-Sarb", "und-Saur", "und-SC", "und-SD", "und-SE", "und-Sgnw", "und-Shaw", "und-Shrd", "und-SI", "und-Sidd", "und-Sind", "und-Sinh", "und-SJ", "und-SK", "und-SM", "und-SN", "und-SO", "und-Sogd", "und-Sogo", "und-Sora", "und-Soyo", "und-SR", "und-ST", "und-Sund", "und-SV", "und-SY", "und-Sylo", "und-Syrc", "und-Tagb", "und-Takr", "und-Tale", "und-Talu", "und-Taml", "und-Tang", "und-Tavt", "und-TD", "und-Telu", "und-TF", "und-Tfng", "und-TG", "und-Tglg", "und-TH", "und-Thaa", "und-Thai", "und-Thai-CN", "und-Thai-KH", "und-Thai-LA", "und-Tibt", "und-Tirh", "und-TJ", "und-TK", "und-TL", "und-TM", "und-TN", "und-Tnsa", "und-TO", "und-Toto", "und-TR", "und-TV", "und-TW", "und-TZ", "und-UA", "und-UG", "und-Ugar", "und-UY", "und-UZ", "und-VA", "und-Vaii", "und-VE", "und-Vith", "und-VN", "und-VU", "und-Wara", "und-Wcho", "und-WF", "und-WS", "und-XK", "und-Xpeo", "und-Xsux", "und-YE", "und-Yezi", "und-Yiii", "und-YT", "und-Zanb", "und-ZW", "unr", "unr-Deva", "unr-NP", "unx", "uok", "ur", "uri", "urt", "urw", "usa", "uth", "utr", "uvh", "uvl", "uz", "uz-AF", "uz-Arab", "uz-CN", "vag", "vai", "van", "ve", "vec", "vep", "vi", "vic", "viv", "vls", "vmf", "vmw", "vo", "vot", "vro", "vun", "vut", "wa", "wae", "waj", "wal", "wan", "war", "wbp", "wbq", "wbr", "wci", "wer", "wgi", "whg", "wib", "wiu", "wiv", "wja", "wji", "wls", "wmo", "wnc", "wni", "wnu", "wo", "wob", "wos", "wrs", "wsg", "wsk", "wtm", "wuu", "wuv", "wwa", "xav", "xbi", "xco", "xcr", "xes", "xh", "xla", "xlc", "xld", "xmf", "xmn", "xmr", "xna", "xnr", "xog", "xon", "xpr", "xrb", "xsa", "xsi", "xsm", "xsr", "xwe", "yam", "yao", "yap", "yas", "yat", "yav", "yay", "yaz", "yba", "ybb", "yby", "yer", "ygr", "ygw", "yi", "yko", "yle", "ylg", "yll", "yml", "yo", "yon", "yrb", "yre", "yrl", "yss", "yua", "yue", "yue-CN", "yue-Hans", "yuj", "yut", "yuw", "za", "zag", "zdj", "zea", "zgh", "zh", "zh-AU", "zh-BN", "zh-Bopo", "zh-GB", "zh-GF", "zh-Hanb", "zh-Hant", "zh-HK", "zh-ID", "zh-MO", "zh-PA", "zh-PF", "zh-PH", "zh-SR", "zh-TH", "zh-TW", "zh-US", "zh-VN", "zhx", "zia", "zkt", "zlm", "zmi", "zne", "zu", "zza", ]; } #[allow(dead_code)] pub mod short_subtags_10pct { pub static STRINGS: &[&str] = &[ "aa", "acd", "aeb", "ahl", "amm", "aom", "arc-Nbat", "asa", "avl", "az", "bas", "bcf", "bef", "bft", "bho", "bjh", "bkq", "bmu", "bqc", "bsj", "bug", "bye", "bzw", "cgg", "cjv", "cop", "csw", "dah", "den", "dnj", "dtp", "dyo", "eky", "es", "ext", "ffi", "fod", "fub", "fy", "gay", "gdr", "gjk", "gnd", "grb", "gur", "gwt", "hbb", "hil", "ho", "hur", "ich", "ijj", "iou", "ja", "jib", "kac", "kbq", "kdt", "kgp", "kij", "kk-Arab", "klx", "knp", "kpr", "krl", "ktb", "kue", "kw", "kxp", "kzh", "las", "lem", "lif", "lle", "lok", "luo", "mai", "mbq", "mdf", "met", "mgo", "miw", "mmo", "mo", "mql", "mti", "mwv", "myz", "nak", "nco", "ng", "nin", "nn", "nop", "ntm", "nxr", "okr", "os", "pal", "ped", "pl", "pra", "quc", "rhg", "rmu", "ru", "saq", "scl", "se", "shi", "sk", "sma", "snx", "sps", "srx", "sue", "swv", "taq", "tdd", "tg", "ti", "tkt", "tof", "trw", "ttj", "tvu", "udi", "und", "und-018", "und-057", "und-419", "und-AQ", "und-Arab-MN", "und-Armn", "und-Bass", "und-BJ", "und-Bugi", "und-CH", "und-CP", "und-Cyrl-AL", "und-DE", "und-Dogr", "und-Elym", "und-GA", "und-Goth", "und-Guru", "und-Hebr-SE", "und-HR", "und-IS", "und-Kawi", "und-Kore", "und-Latn-AM", "und-Latn-MM", "und-LI", "und-LY", "und-MD", "und-Mlym", "und-Mtei", "und-NA", "und-NL", "und-Osma", "und-Phag", "und-PS", "und-RS", "und-SE", "und-SM", "und-SV", "und-Tavt", "und-Thai-CN", "und-Tnsa", "und-UY", "und-WF", "und-ZW", "usa", "vai", "vmw", "wan", "wiu", "wob", "xbi", "xmr", "xsr", "yba", "yll", "yue-CN", "zh", "zh-MO", "zia", ]; } #[allow(dead_code)] pub mod locales_with_aux { pub static NUM_UNIQUE_BLOBS: usize = 411; pub static STRINGS: &[&str] = &["af-x-3", "af-x-3s", "af-x-4", "af-x-4s", "af-x-5", "af-x-5s", "am-x-3", "am-x-3s", "am-x-4", "am-x-4s", "am-x-5", "am-x-5s", "ar-DZ-x-3", "ar-DZ-x-3s", "ar-DZ-x-4", "ar-DZ-x-4s", "ar-DZ-x-5", "ar-DZ-x-5s", "ar-IQ-x-3", "ar-IQ-x-3s", "ar-IQ-x-4", "ar-IQ-x-4s", "ar-IQ-x-5", "ar-IQ-x-5s", "ar-JO-x-3", "ar-JO-x-3s", "ar-JO-x-4", "ar-JO-x-4s", "ar-JO-x-5", "ar-JO-x-5s", "ar-LB-x-3", "ar-LB-x-3s", "ar-LB-x-4", "ar-LB-x-4s", "ar-LB-x-5", "ar-LB-x-5s", "ar-MA-x-3", "ar-MA-x-3s", "ar-MA-x-4", "ar-MA-x-4s", "ar-MA-x-5", "ar-MA-x-5s", "ar-MR-x-3", "ar-MR-x-3s", "ar-MR-x-4", "ar-MR-x-4s", "ar-MR-x-5", "ar-MR-x-5s", "ar-PS-x-3", "ar-PS-x-3s", "ar-PS-x-4", "ar-PS-x-4s", "ar-PS-x-5", "ar-PS-x-5s", "ar-SY-x-3", "ar-SY-x-3s", "ar-SY-x-4", "ar-SY-x-4s", "ar-SY-x-5", "ar-SY-x-5s", "ar-TN-x-3", "ar-TN-x-3s", "ar-TN-x-4", "ar-TN-x-4s", "ar-TN-x-5", "ar-TN-x-5s", "ar-x-3", "ar-x-3s", "ar-x-4", "ar-x-4s", "ar-x-5", "ar-x-5s", "as-x-3", "as-x-3s", "as-x-4", "as-x-4s", "as-x-5", "as-x-5s", "ast-x-3", "ast-x-3s", "ast-x-4", "ast-x-4s", "ast-x-5", "ast-x-5s", "az-x-3", "az-x-3s", "az-x-5", "az-x-5s", "be-x-3", "be-x-3s", "be-x-4", "be-x-4s", "be-x-5", "be-x-5s", "bg-x-3", "bg-x-3s", "bg-x-4", "bg-x-4s", "bg-x-5", "bg-x-5s", "bgc-x-3", "bgc-x-3s", "bgc-x-5", "bgc-x-5s", "bho-x-3", "bho-x-3s", "bho-x-5", "bho-x-5s", "bn-IN-x-3", "bn-IN-x-3s", "bn-IN-x-4", "bn-IN-x-4s", "bn-x-3", "bn-x-3s", "bn-x-4", "bn-x-4s", "bn-x-5", "bn-x-5s", "br-x-3", "br-x-3s", "br-x-4", "br-x-4s", "br-x-5", "br-x-5s", "brx-x-3", "brx-x-3s", "brx-x-4", "brx-x-4s", "brx-x-5", "brx-x-5s", "bs-Cyrl-x-3", "bs-Cyrl-x-3s", "bs-Cyrl-x-4", "bs-Cyrl-x-4s", "bs-Cyrl-x-5", "bs-Cyrl-x-5s", "bs-x-3", "bs-x-3s", "bs-x-4", "bs-x-4s", "bs-x-5", "bs-x-5s", "ca-x-3", "ca-x-3s", "ca-x-4", "ca-x-4s", "ca-x-5", "ca-x-5s", "ceb-x-3", "ceb-x-3s", "ceb-x-4", "ceb-x-4s", "ceb-x-5", "ceb-x-5s", "chr-x-3", "chr-x-3s", "chr-x-4", "chr-x-4s", "chr-x-5", "chr-x-5s", "cs-x-3", "cs-x-3s", "cs-x-5", "cs-x-5s", "cv-x-3", "cv-x-3s", "cv-x-4", "cv-x-4s", "cv-x-5", "cv-x-5s", "cy-x-3", "cy-x-3s", "cy-x-4", "cy-x-4s", "cy-x-5", "cy-x-5s", "da-x-3", "da-x-3s", "da-x-4", "da-x-4s", "da-x-5", "da-x-5s", "de-AT-x-3", "de-AT-x-3s", "de-AT-x-5", "de-AT-x-5s", "de-IT-x-3", "de-IT-x-3s", "de-IT-x-5", "de-IT-x-5s", "de-x-3", "de-x-3s", "de-x-4", "de-x-4s", "de-x-5", "de-x-5s", "doi-x-3", "doi-x-3s", "doi-x-4", "doi-x-4s", "doi-x-5", "doi-x-5s", "dsb-x-3", "dsb-x-3s", "dsb-x-4", "dsb-x-4s", "dsb-x-5", "dsb-x-5s", "el-polyton-x-3", "el-polyton-x-5", "el-polyton-x-5s", "el-x-3", "el-x-3s", "el-x-4", "el-x-4s", "el-x-5", "el-x-5s", "en-001-x-3", "en-001-x-3s", "en-150-x-3", "en-150-x-3s", "en-AG-x-3", "en-AG-x-3s", "en-AI-x-3", "en-AI-x-3s", "en-AT-x-3", "en-AT-x-3s", "en-AU-x-3", "en-AU-x-3s", "en-BB-x-3", "en-BB-x-3s", "en-BE-x-3", "en-BE-x-3s", "en-BM-x-3", "en-BM-x-3s", "en-BS-x-3", "en-BS-x-3s", "en-BW-x-3", "en-BW-x-3s", "en-BZ-x-3", "en-BZ-x-3s", "en-CC-x-3", "en-CC-x-3s", "en-CH-x-3", "en-CH-x-3s", "en-CK-x-3", "en-CK-x-3s", "en-CM-x-3", "en-CM-x-3s", "en-CX-x-3", "en-CX-x-3s", "en-CY-x-3", "en-CY-x-3s", "en-DE-x-3", "en-DE-x-3s", "en-DG-x-3", "en-DG-x-3s", "en-DK-x-3", "en-DK-x-3s", "en-DM-x-3", "en-DM-x-3s", "en-ER-x-3", "en-ER-x-3s", "en-FI-x-3", "en-FI-x-3s", "en-FJ-x-3", "en-FJ-x-3s", "en-FK-x-3", "en-FK-x-3s", "en-FM-x-3", "en-FM-x-3s", "en-GB-x-3", "en-GB-x-3s", "en-GD-x-3", "en-GD-x-3s", "en-GG-x-3", "en-GG-x-3s", "en-GH-x-3", "en-GH-x-3s", "en-GI-x-3", "en-GI-x-3s", "en-GM-x-3", "en-GM-x-3s", "en-GY-x-3", "en-GY-x-3s", "en-HK-x-3", "en-HK-x-3s", "en-IE-x-3", "en-IE-x-3s", "en-IL-x-3", "en-IL-x-3s", "en-IM-x-3", "en-IM-x-3s", "en-IN-x-3", "en-IN-x-3s", "en-IO-x-3", "en-IO-x-3s", "en-JE-x-3", "en-JE-x-3s", "en-JM-x-3", "en-JM-x-3s", "en-KE-x-3", "en-KE-x-3s", "en-KI-x-3", "en-KI-x-3s", "en-KN-x-3", "en-KN-x-3s", "en-KY-x-3", "en-KY-x-3s", "en-LC-x-3", "en-LC-x-3s", "en-LR-x-3", "en-LR-x-3s", "en-LS-x-3", "en-LS-x-3s", "en-MG-x-3", "en-MG-x-3s", "en-MO-x-3", "en-MO-x-3s", "en-MS-x-3", "en-MS-x-3s", "en-MT-x-3", "en-MT-x-3s", "en-MU-x-3", "en-MU-x-3s", "en-MV-x-3", "en-MV-x-3s", "en-MW-x-3", "en-MW-x-3s", "en-MY-x-3", "en-MY-x-3s", "en-NA-x-3", "en-NA-x-3s", "en-NF-x-3", "en-NF-x-3s", "en-NG-x-3", "en-NG-x-3s", "en-NL-x-3", "en-NL-x-3s", "en-NR-x-3", "en-NR-x-3s", "en-NU-x-3", "en-NU-x-3s", "en-NZ-x-3", "en-NZ-x-3s", "en-PG-x-3", "en-PG-x-3s", "en-PK-x-3", "en-PK-x-3s", "en-PN-x-3", "en-PN-x-3s", "en-PW-x-3", "en-PW-x-3s", "en-RW-x-3", "en-RW-x-3s", "en-SB-x-3", "en-SB-x-3s", "en-SC-x-3", "en-SC-x-3s", "en-SD-x-3", "en-SD-x-3s", "en-SE-x-3", "en-SE-x-3s", "en-SG-x-3", "en-SG-x-3s", "en-SH-x-3", "en-SH-x-3s", "en-SI-x-3", "en-SI-x-3s", "en-SL-x-3", "en-SL-x-3s", "en-SS-x-3", "en-SS-x-3s", "en-SX-x-3", "en-SX-x-3s", "en-SZ-x-3", "en-SZ-x-3s", "en-TC-x-3", "en-TC-x-3s", "en-TK-x-3", "en-TK-x-3s", "en-TO-x-3", "en-TO-x-3s", "en-TT-x-3", "en-TT-x-3s", "en-TV-x-3", "en-TV-x-3s", "en-TZ-x-3", "en-TZ-x-3s", "en-UG-x-3", "en-UG-x-3s", "en-VC-x-3", "en-VC-x-3s", "en-VG-x-3", "en-VG-x-3s", "en-VU-x-3", "en-VU-x-3s", "en-WS-x-3", "en-WS-x-3s", "en-ZA-x-3", "en-ZA-x-3s", "en-ZM-x-3", "en-ZM-x-3s", "en-ZW-x-3", "en-ZW-x-3s", "en-x-3", "en-x-3s", "en-x-4", "en-x-4s", "en-x-5", "en-x-5s", "es-CL-x-3s", "es-CO-x-3s", "es-PE-x-3", "es-PE-x-3s", "es-PE-x-5", "es-PE-x-5s", "es-PY-x-3", "es-PY-x-3s", "es-UY-x-3", "es-UY-x-3s", "es-UY-x-5", "es-UY-x-5s", "es-VE-x-3", "es-VE-x-3s", "es-x-3", "es-x-3s", "es-x-4", "es-x-4s", "es-x-5", "es-x-5s", "et-x-3", "et-x-3s", "et-x-4", "et-x-4s", "et-x-5", "et-x-5s", "eu-x-3", "eu-x-3s", "eu-x-4", "eu-x-4s", "eu-x-5", "eu-x-5s", "fa-AF-x-3", "fa-AF-x-3s", "fa-AF-x-4", "fa-AF-x-4s", "fa-AF-x-5", "fa-AF-x-5s", "fa-x-3", "fa-x-3s", "fa-x-4", "fa-x-4s", "fa-x-5", "fa-x-5s", "ff-Adlm-x-3", "ff-Adlm-x-3s", "ff-Adlm-x-4", "ff-Adlm-x-4s", "ff-Adlm-x-5", "ff-Adlm-x-5s", "fi-x-3", "fi-x-3s", "fi-x-4", "fi-x-4s", "fi-x-5", "fi-x-5s", "fil-x-3", "fil-x-3s", "fil-x-4", "fil-x-4s", "fil-x-5", "fil-x-5s", "fo-x-3", "fo-x-3s", "fo-x-4", "fo-x-4s", "fo-x-5", "fo-x-5s", "fr-CA-x-3", "fr-CA-x-3s", "fr-MA-x-3", "fr-MA-x-3s", "fr-x-3", "fr-x-3s", "fr-x-4", "fr-x-4s", "fr-x-5", "fr-x-5s", "ga-x-3", "ga-x-3s", "ga-x-4", "ga-x-4s", "ga-x-5", "ga-x-5s", "gd-x-3", "gd-x-3s", "gd-x-4", "gd-x-4s", "gd-x-5", "gd-x-5s", "gl-x-3", "gl-x-3s", "gl-x-4", "gl-x-4s", "gl-x-5", "gl-x-5s", "gu-x-3", "gu-x-3s", "gu-x-4", "gu-x-4s", "gu-x-5", "gu-x-5s", "ha-x-3", "ha-x-3s", "ha-x-4", "ha-x-4s", "ha-x-5", "ha-x-5s", "he-x-3", "he-x-3s", "he-x-5", "he-x-5s", "hi-Latn-x-3", "hi-Latn-x-3s", "hi-Latn-x-4", "hi-Latn-x-4s", "hi-Latn-x-5", "hi-Latn-x-5s", "hi-x-3", "hi-x-3s", "hi-x-4", "hi-x-4s", "hi-x-5", "hi-x-5s", "hr-x-3", "hr-x-3s", "hr-x-4", "hr-x-4s", "hr-x-5", "hr-x-5s", "hsb-x-3", "hsb-x-3s", "hsb-x-4", "hsb-x-4s", "hsb-x-5", "hsb-x-5s", "hu-x-3", "hu-x-3s", "hu-x-4", "hu-x-4s", "hu-x-5", "hu-x-5s", "hy-x-3", "hy-x-3s", "hy-x-4", "hy-x-4s", "hy-x-5", "hy-x-5s", "ia-x-3", "ia-x-3s", "ia-x-4", "ia-x-5", "ia-x-5s", "id-x-3", "id-x-3s", "id-x-4", "id-x-4s", "id-x-5", "id-x-5s", "ig-x-3", "ig-x-3s", "ig-x-4", "ig-x-4s", "ig-x-5", "ig-x-5s", "is-x-3", "is-x-3s", "is-x-4", "is-x-4s", "is-x-5", "is-x-5s", "it-x-3", "it-x-3s", "it-x-4", "it-x-4s", "it-x-5", "it-x-5s", "ja-x-3", "ja-x-3s", "ja-x-5", "ja-x-5s", "jv-x-3", "jv-x-3s", "jv-x-4", "jv-x-4s", "jv-x-5", "jv-x-5s", "ka-x-3", "ka-x-3s", "ka-x-4", "ka-x-4s", "ka-x-5", "ka-x-5s", "kea-x-3", "kea-x-3s", "kea-x-4", "kea-x-4s", "kea-x-5", "kea-x-5s", "kgp-x-3", "kgp-x-3s", "kgp-x-4", "kgp-x-4s", "kgp-x-5", "kgp-x-5s", "kk-x-3", "kk-x-3s", "kk-x-4", "kk-x-4s", "kk-x-5", "kk-x-5s", "km-x-3", "km-x-3s", "km-x-4", "km-x-4s", "km-x-5", "km-x-5s", "kn-x-3", "kn-x-3s", "kn-x-4", "kn-x-4s", "kn-x-5", "kn-x-5s", "ko-x-3", "ko-x-3s", "ko-x-4", "ko-x-4s", "ko-x-5", "ko-x-5s", "kok-x-3", "kok-x-3s", "kok-x-5", "kok-x-5s", "ks-Deva-x-3", "ks-Deva-x-3s", "ks-Deva-x-4", "ks-Deva-x-4s", "ks-Deva-x-5", "ks-Deva-x-5s", "ks-x-3", "ks-x-3s", "ks-x-4", "ks-x-4s", "ks-x-5", "ks-x-5s", "ky-x-3", "ky-x-3s", "ky-x-4", "ky-x-4s", "ky-x-5", "ky-x-5s", "lo-x-3", "lo-x-3s", "lo-x-5", "lo-x-5s", "lt-x-3", "lt-x-3s", "lt-x-4", "lt-x-4s", "lt-x-5", "lt-x-5s", "lv-x-3", "lv-x-3s", "lv-x-4", "lv-x-4s", "lv-x-5", "lv-x-5s", "mai-x-3", "mai-x-3s", "mai-x-4", "mai-x-4s", "mai-x-5", "mai-x-5s", "mi-x-3", "mi-x-3s", "mi-x-4", "mi-x-4s", "mi-x-5", "mi-x-5s", "mk-x-3", "mk-x-3s", "mk-x-4", "mk-x-4s", "mk-x-5", "mk-x-5s", "ml-x-3", "ml-x-3s", "ml-x-4", "ml-x-4s", "ml-x-5", "ml-x-5s", "mn-x-3", "mn-x-3s", "mn-x-4", "mn-x-4s", "mn-x-5", "mn-x-5s", "mni-x-3", "mni-x-3s", "mni-x-4", "mni-x-4s", "mni-x-5", "mni-x-5s", "mr-x-3", "mr-x-3s", "mr-x-4", "mr-x-4s", "mr-x-5", "mr-x-5s", "ms-x-3", "ms-x-3s", "ms-x-4", "ms-x-4s", "ms-x-5", "ms-x-5s", "my-x-3", "my-x-3s", "my-x-4", "my-x-4s", "my-x-5", "my-x-5s", "nb-x-3", "nb-x-3s", "nb-x-4", "nb-x-4s", "nb-x-5", "nb-x-5s", "ne-x-3", "ne-x-3s", "ne-x-4", "ne-x-4s", "ne-x-5", "ne-x-5s", "nl-x-3", "nl-x-3s", "nl-x-4", "nl-x-4s", "nl-x-5", "nl-x-5s", "nn-x-3", "nn-x-3s", "nn-x-4", "nn-x-4s", "nn-x-5", "nn-x-5s", "no-x-3", "no-x-3s", "no-x-4", "no-x-4s", "no-x-5", "no-x-5s", "or-x-3", "or-x-3s", "or-x-4", "or-x-4s", "or-x-5", "or-x-5s", "pa-x-3", "pa-x-3s", "pa-x-4", "pa-x-4s", "pa-x-5", "pa-x-5s", "pcm-x-3", "pcm-x-3s", "pcm-x-4", "pcm-x-4s", "pcm-x-5", "pcm-x-5s", "pl-x-3", "pl-x-3s", "pl-x-4", "pl-x-4s", "pl-x-5", "pl-x-5s", "ps-x-3", "ps-x-3s", "ps-x-4", "ps-x-5", "ps-x-5s", "pt-x-3", "pt-x-3s", "pt-x-4", "pt-x-4s", "pt-x-5", "pt-x-5s", "qu-x-3", "qu-x-3s", "qu-x-5", "qu-x-5s", "raj-x-3", "raj-x-3s", "raj-x-5", "raj-x-5s", "rm-x-3", "rm-x-3s", "rm-x-4", "rm-x-4s", "rm-x-5", "rm-x-5s", "ro-x-3", "ro-x-3s", "ro-x-4", "ro-x-4s", "ro-x-5", "ro-x-5s", "ru-x-3", "ru-x-3s", "ru-x-4", "ru-x-4s", "ru-x-5", "ru-x-5s", "sa-x-3", "sa-x-3s", "sa-x-4", "sa-x-5", "sa-x-5s", "sat-x-3", "sat-x-3s", "sat-x-4", "sat-x-4s", "sat-x-5", "sat-x-5s", "sc-x-3", "sc-x-3s", "sc-x-4", "sc-x-4s", "sc-x-5", "sc-x-5s", "sd-Deva-x-3", "sd-Deva-x-3s", "sd-Deva-x-4", "sd-Deva-x-4s", "sd-Deva-x-5", "sd-Deva-x-5s", "sd-x-3", "sd-x-3s", "sd-x-4", "sd-x-4s", "sd-x-5", "sd-x-5s", "si-x-3", "si-x-3s", "si-x-4", "si-x-4s", "si-x-5", "si-x-5s", "sk-x-3", "sk-x-3s", "sk-x-4", "sk-x-4s", "sk-x-5", "sk-x-5s", "sl-x-3", "sl-x-3s", "sl-x-4", "sl-x-4s", "sl-x-5", "sl-x-5s", "so-x-3", "so-x-3s", "so-x-4", "so-x-4s", "so-x-5", "so-x-5s", "sq-x-3", "sq-x-3s", "sq-x-4", "sq-x-4s", "sq-x-5", "sq-x-5s", "sr-Latn-XK-x-3", "sr-Latn-XK-x-3s", "sr-Latn-x-3", "sr-Latn-x-3s", "sr-Latn-x-4", "sr-Latn-x-4s", "sr-Latn-x-5", "sr-Latn-x-5s", "sr-ME-x-3", "sr-ME-x-3s", "sr-XK-x-3", "sr-XK-x-3s", "sr-x-3", "sr-x-3s", "sr-x-4", "sr-x-4s", "sr-x-5", "sr-x-5s", "su-x-3", "su-x-3s", "su-x-4", "su-x-4s", "su-x-5", "su-x-5s", "sv-x-3", "sv-x-3s", "sv-x-4", "sv-x-4s", "sv-x-5", "sv-x-5s", "sw-x-3", "sw-x-3s", "sw-x-4", "sw-x-4s", "sw-x-5", "sw-x-5s", "ta-x-3", "ta-x-3s", "ta-x-4", "ta-x-4s", "ta-x-5", "ta-x-5s", "te-x-3", "te-x-3s", "te-x-4", "te-x-4s", "te-x-5", "te-x-5s", "tg-x-3", "tg-x-3s", "tg-x-4", "tg-x-4s", "tg-x-5", "tg-x-5s", "th-x-3", "th-x-3s", "th-x-4", "th-x-4s", "th-x-5", "th-x-5s", "ti-x-3", "ti-x-3s", "ti-x-4", "ti-x-4s", "ti-x-5", "ti-x-5s", "tk-x-3", "tk-x-3s", "tk-x-4", "tk-x-4s", "tk-x-5", "tk-x-5s", "to-x-3", "to-x-3s", "to-x-4", "to-x-4s", "to-x-5", "to-x-5s", "tr-x-3", "tr-x-3s", "tr-x-4", "tr-x-4s", "tr-x-5", "tr-x-5s", "tt-x-3", "tt-x-3s", "tt-x-5", "tt-x-5s", "uk-x-3", "uk-x-3s", "uk-x-4", "uk-x-4s", "uk-x-5", "uk-x-5s", "und-x-3", "und-x-3s", "und-x-4", "und-x-4s", "und-x-5", "und-x-5s", "ur-x-3", "ur-x-3s", "ur-x-4", "ur-x-4s", "ur-x-5", "ur-x-5s", "uz-Cyrl-x-3", "uz-Cyrl-x-3s", "uz-Cyrl-x-4", "uz-Cyrl-x-4s", "uz-Cyrl-x-5", "uz-Cyrl-x-5s", "uz-x-3", "uz-x-3s", "uz-x-4", "uz-x-4s", "uz-x-5", "uz-x-5s", "vi-x-3", "vi-x-3s", "vi-x-5", "vi-x-5s", "wo-x-3", "wo-x-3s", "wo-x-5", "wo-x-5s", "xh-x-3", "xh-x-3s", "xh-x-5", "xh-x-5s", "yo-BJ-x-3", "yo-BJ-x-3s", "yo-BJ-x-4", "yo-BJ-x-4s", "yo-BJ-x-5", "yo-BJ-x-5s", "yo-x-3", "yo-x-3s", "yo-x-4", "yo-x-4s", "yo-x-5", "yo-x-5s", "yrl-x-3", "yrl-x-3s", "yrl-x-4", "yrl-x-4s", "yrl-x-5", "yrl-x-5s", "yue-Hans-x-3", "yue-Hans-x-3s", "yue-Hans-x-5", "yue-Hans-x-5s", "yue-x-3", "yue-x-3s", "yue-x-5", "yue-x-5s", "zh-Hant-x-3", "zh-Hant-x-3s", "zh-Hant-x-5", "zh-Hant-x-5s", "zh-x-3", "zh-x-3s", "zh-x-5", "zh-x-5s", "zu-x-3", "zu-x-3s", "zu-x-4", "zu-x-4s", "zu-x-5", "zu-x-5s"]; }