diff options
author | Edward Welbourne <edward.welbourne@qt.io> | 2020-10-12 13:12:48 +0200 |
---|---|---|
committer | Edward Welbourne <edward.welbourne@qt.io> | 2020-11-08 13:01:33 +0100 |
commit | a9e4bf7eef4b4e3a2c765cd0a6df48ed61d49111 (patch) | |
tree | 4b15de2f7625edef91168c0d147016ff0d27a0c9 | |
parent | 246ba8ca61a19b586de1750d66422f517149622e (diff) |
Implement binary search in QLocale's likely sub-tag lookup
Follow through on a comment from 2012: sort the likely subtag array
(in the CLDR update script) and use bsearch to find entries in it.
This simplifies QLocaleXmlReader.likelyMap() slightly, moving the
detection of last entry to LocaleDataWriter.likelySubtags(), but
requires collecting all likely sub-tag mapping pairs (rather than just
passing them through from read to write via generators) in order to
sort them.
Change-Id: Ieb6875ccde1ddbd475ae68c0766a666ec32b7005
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
-rw-r--r-- | src/corelib/text/qlocale.cpp | 42 | ||||
-rw-r--r-- | src/corelib/text/qlocale_data_p.h | 790 | ||||
-rw-r--r-- | util/locale_database/qlocalexml.py | 5 | ||||
-rwxr-xr-x | util/locale_database/qlocalexml2cpp.py | 19 |
4 files changed, 446 insertions, 410 deletions
diff --git a/src/corelib/text/qlocale.cpp b/src/corelib/text/qlocale.cpp index 89928a5e87..ebdd4d1b15 100644 --- a/src/corelib/text/qlocale.cpp +++ b/src/corelib/text/qlocale.cpp @@ -201,19 +201,41 @@ QLatin1String QLocalePrivate::countryToCode(QLocale::Country country) return QLatin1String(reinterpret_cast<const char*>(c), c[2] == 0 ? 2 : 3); } +static int cmpLikelySubtag(const void *lhs, const void *rhs) +{ + // Must match the comparison LocaleDataWriter.likelySubtags() uses when + // sorting, see qtbase/util/locale_database.qlocalexml2cpp.py + const auto compare = [](int lhs, int rhs) { + // 0 sorts after all other values; lhs and rhs are passed ushort values. + const int huge = 0x10000; + return (lhs ? lhs : huge) - (rhs ? rhs : huge); + }; + const auto &left = *reinterpret_cast<const QLocaleId *>(lhs); + const auto &right = *reinterpret_cast<const QLocaleId *>(rhs); + if (int cmp = compare(left.language_id, right.language_id)) + return cmp; + if (int cmp = compare(left.country_id, right.country_id)) + return cmp; + return compare(left.script_id, right.script_id); +} + // http://www.unicode.org/reports/tr35/#Likely_Subtags static bool addLikelySubtags(QLocaleId &localeId) { - // ### optimize with bsearch - const QLocaleId *p = likely_subtags; - const QLocaleId *const e = p + std::size(likely_subtags); - for ( ; p < e; p += 2) { - if (localeId == p[0]) { - localeId = p[1]; - return true; - } - } - return false; + // Array is overtly of QLocaleId but to be interpreted as of pairs, mapping + // each even entry to the following odd entry. So search only the even + // entries for a match and return the matching odd entry, if found. + static_assert(std::size(likely_subtags) % 2 == 0); + const auto *p = reinterpret_cast<const QLocaleId *>( + bsearch(&localeId, + likely_subtags, std::size(likely_subtags) / 2, 2 * sizeof(QLocaleId), + cmpLikelySubtag)); + if (!p) + return false; + Q_ASSERT(p >= likely_subtags && p < likely_subtags + std::size(likely_subtags)); + Q_ASSERT((p - likely_subtags) % 2 == 0); + localeId = p[1]; + return true; } QLocaleId QLocaleId::withLikelySubtagsAdded() const diff --git a/src/corelib/text/qlocale_data_p.h b/src/corelib/text/qlocale_data_p.h index d2eeedff65..92d7b2e7d9 100644 --- a/src/corelib/text/qlocale_data_p.h +++ b/src/corelib/text/qlocale_data_p.h @@ -88,355 +88,375 @@ static const int ImperialMeasurementSystemsCount = */ static const QLocaleId likely_subtags[] = { - { 3, 0, 0 }, { 3, 66, 77 }, // aa -> aa_Latn_ET { 2, 0, 0 }, { 2, 27, 90 }, // ab -> ab_Cyrl_GE - { 23, 0, 0 }, { 23, 6, 112 }, // ae -> ae_Avst_IR + { 3, 0, 0 }, { 3, 66, 77 }, // aa -> aa_Latn_ET { 4, 0, 0 }, { 4, 66, 216 }, // af -> af_Latn_ZA { 5, 0, 0 }, { 5, 66, 40 }, // agq -> agq_Latn_CM { 6, 0, 0 }, { 6, 66, 92 }, // ak -> ak_Latn_GH { 7, 0, 0 }, { 7, 25, 113 }, // akk -> akk_Xsux_IQ + { 8, 0, 0 }, { 8, 66, 40 }, // bss -> bss_Latn_CM + { 9, 0, 0 }, { 9, 66, 3 }, // sq -> sq_Latn_AL + { 10, 0, 0 }, { 10, 117, 248 }, // ase -> ase_Sgnw_US { 11, 0, 0 }, { 11, 33, 77 }, // am -> am_Ethi_ET - { 15, 0, 0 }, { 15, 66, 220 }, // an -> an_Latn_ES + { 12, 0, 0 }, { 12, 31, 71 }, // egy -> egy_Egyp_EG + { 13, 70, 0 }, { 13, 70, 94 }, // grc_Linb -> grc_Linb_GR + { 13, 0, 0 }, { 13, 26, 63 }, // grc -> grc_Cprt_CY { 14, 0, 0 }, { 14, 4, 71 }, // ar -> ar_Arab_EG - { 16, 0, 0 }, { 16, 49, 112 }, // arc -> arc_Armi_IR + { 15, 0, 0 }, { 15, 66, 220 }, // an -> an_Latn_ES { 16, 87, 0 }, { 16, 87, 122 }, // arc_Nbat -> arc_Nbat_JO { 16, 104, 0 }, { 16, 104, 227 }, // arc_Palm -> arc_Palm_SY - { 182, 0, 0 }, { 182, 66, 49 }, // arn -> arn_Latn_CL + { 16, 0, 0 }, { 16, 49, 112 }, // arc -> arc_Armi_IR + { 17, 0, 0 }, { 17, 5, 12 }, // hy -> hy_Armn_AM { 18, 0, 0 }, { 18, 9, 110 }, // as -> as_Beng_IN - { 20, 0, 0 }, { 20, 66, 230 }, // asa -> asa_Latn_TZ - { 10, 0, 0 }, { 10, 117, 248 }, // ase -> ase_Sgnw_US { 19, 0, 0 }, { 19, 66, 220 }, // ast -> ast_Latn_ES + { 20, 0, 0 }, { 20, 66, 230 }, // asa -> asa_Latn_TZ + { 21, 0, 0 }, { 21, 66, 169 }, // cch -> cch_Latn_NG { 22, 0, 0 }, { 22, 27, 193 }, // av -> av_Cyrl_RU + { 23, 0, 0 }, { 23, 6, 112 }, // ae -> ae_Avst_IR { 24, 0, 0 }, { 24, 66, 28 }, // ay -> ay_Latn_BO - { 25, 0, 0 }, { 25, 66, 17 }, // az -> az_Latn_AZ - { 25, 0, 113 }, { 25, 4, 113 }, // az_IQ -> az_Arab_IQ { 25, 0, 112 }, { 25, 4, 112 }, // az_IR -> az_Arab_IR + { 25, 0, 113 }, { 25, 4, 113 }, // az_IQ -> az_Arab_IQ { 25, 0, 193 }, { 25, 27, 193 }, // az_RU -> az_Cyrl_RU { 25, 4, 0 }, { 25, 4, 112 }, // az_Arab -> az_Arab_IR - { 32, 0, 0 }, { 32, 27, 193 }, // ba -> ba_Cyrl_RU + { 25, 0, 0 }, { 25, 66, 17 }, // az -> az_Latn_AZ + { 26, 0, 0 }, { 26, 66, 40 }, // ksf -> ksf_Latn_CM { 27, 0, 0 }, { 27, 66, 111 }, // ban -> ban_Latn_ID - { 31, 0, 0 }, { 31, 66, 40 }, // bas -> bas_Latn_CM + { 28, 0, 0 }, { 28, 66, 145 }, // bm -> bm_Latn_ML { 29, 0, 0 }, { 29, 8, 40 }, // bax -> bax_Bamu_CM + { 30, 0, 0 }, { 30, 9, 20 }, // bn -> bn_Beng_BD + { 31, 0, 0 }, { 31, 66, 40 }, // bas -> bas_Latn_CM + { 32, 0, 0 }, { 32, 27, 193 }, // ba -> ba_Cyrl_RU + { 33, 0, 0 }, { 33, 66, 220 }, // eu -> eu_Latn_ES { 34, 0, 0 }, { 34, 66, 111 }, // bbc -> bbc_Latn_ID { 35, 0, 0 }, { 35, 27, 22 }, // be -> be_Cyrl_BY { 36, 0, 0 }, { 36, 66, 260 }, // bem -> bem_Latn_ZM { 37, 0, 0 }, { 37, 66, 230 }, // bez -> bez_Latn_TZ - { 45, 0, 0 }, { 45, 27, 36 }, // bg -> bg_Cyrl_BG - { 317, 0, 0 }, { 317, 4, 178 }, // bgn -> bgn_Arab_PK { 38, 0, 0 }, { 38, 29, 110 }, // bho -> bho_Deva_IN { 39, 0, 0 }, { 39, 66, 252 }, // bi -> bi_Latn_VU - { 280, 0, 0 }, { 280, 127, 255 }, // blt -> blt_Tavt_VN - { 28, 0, 0 }, { 28, 66, 145 }, // bm -> bm_Latn_ML - { 30, 0, 0 }, { 30, 9, 20 }, // bn -> bn_Beng_BD - { 290, 0, 0 }, { 290, 134, 50 }, // bo -> bo_Tibt_CN - { 43, 0, 0 }, { 43, 66, 84 }, // br -> br_Latn_FR + { 40, 0, 0 }, { 40, 33, 74 }, // byn -> byn_Ethi_ER { 41, 0, 0 }, { 41, 29, 110 }, // brx -> brx_Deva_IN { 42, 0, 0 }, { 42, 66, 29 }, // bs -> bs_Latn_BA - { 8, 0, 0 }, { 8, 66, 40 }, // bss -> bss_Latn_CM + { 43, 0, 0 }, { 43, 66, 84 }, // br -> br_Latn_FR { 44, 0, 0 }, { 44, 66, 111 }, // bug -> bug_Latn_ID - { 40, 0, 0 }, { 40, 33, 74 }, // byn -> byn_Ethi_ER + { 45, 0, 0 }, { 45, 27, 36 }, // bg -> bg_Cyrl_BG + { 46, 0, 0 }, { 46, 86, 161 }, // my -> my_Mymr_MM + { 47, 0, 50 }, { 47, 118, 50 }, // yue_CN -> yue_Hans_CN + { 47, 118, 0 }, { 47, 118, 50 }, // yue_Hans -> yue_Hans_CN + { 47, 0, 0 }, { 47, 137, 107 }, // yue -> yue_Hant_HK { 48, 0, 0 }, { 48, 66, 220 }, // ca -> ca_Latn_ES - { 21, 0, 0 }, { 21, 66, 169 }, // cch -> cch_Latn_NG - { 52, 0, 0 }, { 52, 21, 20 }, // ccp -> ccp_Cakm_BD - { 54, 0, 0 }, { 54, 27, 193 }, // ce -> ce_Cyrl_RU { 49, 0, 0 }, { 49, 66, 185 }, // ceb -> ceb_Latn_PH - { 57, 0, 0 }, { 57, 66, 243 }, // cgg -> cgg_Latn_UG + { 50, 0, 0 }, { 50, 66, 159 }, // tzm -> tzm_Latn_MA + { 51, 0, 0 }, { 51, 4, 113 }, // ckb -> ckb_Arab_IQ + { 52, 0, 0 }, { 52, 21, 20 }, // ccp -> ccp_Cakm_BD { 53, 0, 0 }, { 53, 66, 98 }, // ch -> ch_Latn_GU + { 54, 0, 0 }, { 54, 27, 193 }, // ce -> ce_Cyrl_RU { 55, 0, 0 }, { 55, 23, 248 }, // chr -> chr_Cher_US { 56, 0, 0 }, { 56, 66, 248 }, // cic -> cic_Latn_US - { 51, 0, 0 }, { 51, 4, 113 }, // ckb -> ckb_Arab_IQ - { 64, 0, 0 }, { 64, 66, 84 }, // co -> co_Latn_FR + { 57, 0, 0 }, { 57, 66, 243 }, // cgg -> cgg_Latn_UG + { 58, 0, 15 }, { 58, 137, 15 }, // zh_AU -> zh_Hant_AU + { 58, 0, 35 }, { 58, 137, 35 }, // zh_BN -> zh_Hant_BN + { 58, 0, 85 }, { 58, 137, 85 }, // zh_GF -> zh_Hant_GF + { 58, 0, 86 }, { 58, 137, 86 }, // zh_PF -> zh_Hant_PF + { 58, 0, 107 }, { 58, 137, 107 }, // zh_HK -> zh_Hant_HK + { 58, 0, 111 }, { 58, 137, 111 }, // zh_ID -> zh_Hant_ID + { 58, 0, 139 }, { 58, 137, 139 }, // zh_MO -> zh_Hant_MO + { 58, 0, 181 }, { 58, 137, 181 }, // zh_PA -> zh_Hant_PA + { 58, 0, 185 }, { 58, 137, 185 }, // zh_PH -> zh_Hant_PH + { 58, 0, 223 }, { 58, 137, 223 }, // zh_SR -> zh_Hant_SR + { 58, 0, 228 }, { 58, 137, 228 }, // zh_TW -> zh_Hant_TW + { 58, 0, 231 }, { 58, 137, 231 }, // zh_TH -> zh_Hant_TH + { 58, 0, 246 }, { 58, 137, 246 }, // zh_GB -> zh_Hant_GB + { 58, 0, 248 }, { 58, 137, 248 }, // zh_US -> zh_Hant_US + { 58, 0, 255 }, { 58, 137, 255 }, // zh_VN -> zh_Hant_VN + { 58, 13, 0 }, { 58, 13, 228 }, // zh_Bopo -> zh_Bopo_TW + { 58, 45, 0 }, { 58, 45, 228 }, // zh_Hanb -> zh_Hanb_TW + { 58, 137, 0 }, { 58, 137, 228 }, // zh_Hant -> zh_Hant_TW + { 58, 0, 0 }, { 58, 118, 50 }, // zh -> zh_Hans_CN + { 59, 36, 0 }, { 59, 36, 36 }, // cu_Glag -> cu_Glag_BG + { 59, 0, 0 }, { 59, 27, 193 }, // cu -> cu_Cyrl_RU + { 60, 0, 0 }, { 60, 27, 193 }, // cv -> cv_Cyrl_RU + { 61, 0, 0 }, { 61, 66, 91 }, // ksh -> ksh_Latn_DE { 62, 0, 0 }, { 62, 24, 71 }, // cop -> cop_Copt_EG + { 63, 0, 0 }, { 63, 66, 246 }, // kw -> kw_Latn_GB + { 64, 0, 0 }, { 64, 66, 84 }, // co -> co_Latn_FR { 65, 0, 0 }, { 65, 18, 41 }, // cr -> cr_Cans_CA + { 66, 0, 0 }, { 66, 66, 60 }, // hr -> hr_Latn_HR { 67, 0, 0 }, { 67, 66, 64 }, // cs -> cs_Latn_CZ - { 59, 0, 0 }, { 59, 27, 193 }, // cu -> cu_Cyrl_RU - { 59, 36, 0 }, { 59, 36, 36 }, // cu_Glag -> cu_Glag_BG - { 60, 0, 0 }, { 60, 27, 193 }, // cv -> cv_Cyrl_RU - { 316, 0, 0 }, { 316, 66, 246 }, // cy -> cy_Latn_GB { 68, 0, 0 }, { 68, 66, 65 }, // da -> da_Latn_DK - { 281, 0, 0 }, { 281, 66, 124 }, // dav -> dav_Latn_KE - { 94, 0, 0 }, { 94, 66, 91 }, // de -> de_Latn_DE - { 325, 0, 0 }, { 325, 66, 170 }, // dje -> dje_Latn_NE + { 69, 0, 0 }, { 69, 132, 144 }, // dv -> dv_Thaa_MV { 70, 0, 0 }, { 70, 29, 110 }, // doi -> doi_Deva_IN - { 162, 0, 0 }, { 162, 66, 91 }, // dsb -> dsb_Latn_DE { 71, 0, 0 }, { 71, 66, 40 }, // dua -> dua_Latn_CM - { 69, 0, 0 }, { 69, 132, 144 }, // dv -> dv_Thaa_MV - { 123, 0, 0 }, { 123, 66, 206 }, // dyo -> dyo_Latn_SN + { 72, 0, 0 }, { 72, 66, 165 }, // nl -> nl_Latn_NL { 73, 0, 0 }, { 73, 134, 27 }, // dz -> dz_Tibt_BT { 74, 0, 0 }, { 74, 66, 124 }, // ebu -> ebu_Latn_KE - { 79, 0, 0 }, { 79, 66, 92 }, // ee -> ee_Latn_GH - { 12, 0, 0 }, { 12, 31, 71 }, // egy -> egy_Egyp_EG - { 96, 0, 0 }, { 96, 39, 94 }, // el -> el_Grek_GR - { 75, 0, 0 }, { 75, 66, 248 }, // en -> en_Latn_US { 75, 115, 0 }, { 75, 115, 246 }, // en_Shaw -> en_Shaw_GB + { 75, 0, 0 }, { 75, 66, 248 }, // en -> en_Latn_US + { 76, 0, 0 }, { 76, 27, 193 }, // myv -> myv_Cyrl_RU { 77, 0, 0 }, { 77, 66, 258 }, // eo -> eo_Latn_001 - { 270, 0, 0 }, { 270, 66, 220 }, // es -> es_Latn_ES { 78, 0, 0 }, { 78, 66, 75 }, // et -> et_Latn_EE - { 33, 0, 0 }, { 33, 66, 220 }, // eu -> eu_Latn_ES + { 79, 0, 0 }, { 79, 66, 92 }, // ee -> ee_Latn_GH { 80, 0, 0 }, { 80, 66, 40 }, // ewo -> ewo_Latn_CM - { 228, 0, 0 }, { 228, 4, 112 }, // fa -> fa_Arab_IR - { 87, 0, 0 }, { 87, 66, 206 }, // ff -> ff_Latn_SN - { 87, 1, 0 }, { 87, 1, 102 }, // ff_Adlm -> ff_Adlm_GN - { 84, 0, 0 }, { 84, 66, 83 }, // fi -> fi_Latn_FI - { 83, 0, 0 }, { 83, 66, 185 }, // fil -> fil_Latn_PH - { 82, 0, 0 }, { 82, 66, 82 }, // fj -> fj_Latn_FJ { 81, 0, 0 }, { 81, 66, 81 }, // fo -> fo_Latn_FO + { 82, 0, 0 }, { 82, 66, 82 }, // fj -> fj_Latn_FJ + { 83, 0, 0 }, { 83, 66, 185 }, // fil -> fil_Latn_PH + { 84, 0, 0 }, { 84, 66, 83 }, // fi -> fi_Latn_FI { 85, 0, 0 }, { 85, 66, 84 }, // fr -> fr_Latn_FR { 86, 0, 0 }, { 86, 66, 117 }, // fur -> fur_Latn_IT - { 318, 0, 0 }, { 318, 66, 165 }, // fy -> fy_Latn_NL - { 118, 0, 0 }, { 118, 66, 114 }, // ga -> ga_Latn_IE - { 89, 0, 0 }, { 89, 66, 92 }, // gaa -> gaa_Latn_GH + { 87, 1, 0 }, { 87, 1, 102 }, // ff_Adlm -> ff_Adlm_GN + { 87, 0, 0 }, { 87, 66, 206 }, // ff -> ff_Latn_SN { 88, 0, 0 }, { 88, 66, 246 }, // gd -> gd_Latn_GB - { 92, 0, 0 }, { 92, 33, 77 }, // gez -> gez_Ethi_ET + { 89, 0, 0 }, { 89, 66, 92 }, // gaa -> gaa_Latn_GH { 90, 0, 0 }, { 90, 66, 220 }, // gl -> gl_Latn_ES - { 97, 0, 0 }, { 97, 66, 183 }, // gn -> gn_Latn_PY + { 91, 0, 0 }, { 91, 66, 243 }, // lg -> lg_Latn_UG + { 92, 0, 0 }, { 92, 33, 77 }, // gez -> gez_Ethi_ET + { 93, 0, 0 }, { 93, 35, 90 }, // ka -> ka_Geor_GE + { 94, 0, 0 }, { 94, 66, 91 }, // de -> de_Latn_DE { 95, 0, 0 }, { 95, 37, 244 }, // got -> got_Goth_UA - { 13, 0, 0 }, { 13, 26, 63 }, // grc -> grc_Cprt_CY - { 13, 70, 0 }, { 13, 70, 94 }, // grc_Linb -> grc_Linb_GR - { 276, 0, 0 }, { 276, 66, 226 }, // gsw -> gsw_Latn_CH + { 96, 0, 0 }, { 96, 39, 94 }, // el -> el_Grek_GR + { 97, 0, 0 }, { 97, 66, 183 }, // gn -> gn_Latn_PY { 98, 0, 0 }, { 98, 40, 110 }, // gu -> gu_Gujr_IN { 99, 0, 0 }, { 99, 66, 124 }, // guz -> guz_Latn_KE - { 180, 0, 0 }, { 180, 66, 115 }, // gv -> gv_Latn_IM - { 101, 0, 0 }, { 101, 66, 169 }, // ha -> ha_Latn_NG + { 100, 0, 0 }, { 100, 66, 104 }, // ht -> ht_Latn_HT { 101, 0, 40 }, { 101, 4, 40 }, // ha_CM -> ha_Arab_CM { 101, 0, 222 }, { 101, 4, 222 }, // ha_SD -> ha_Arab_SD + { 101, 0, 0 }, { 101, 66, 169 }, // ha -> ha_Latn_NG { 102, 0, 0 }, { 102, 66, 248 }, // haw -> haw_Latn_US { 103, 0, 0 }, { 103, 47, 116 }, // he -> he_Hebr_IL + { 104, 0, 0 }, { 104, 66, 162 }, // hz -> hz_Latn_NA { 105, 0, 0 }, { 105, 29, 110 }, // hi -> hi_Deva_IN { 106, 0, 0 }, { 106, 66, 182 }, // ho -> ho_Latn_PG - { 66, 0, 0 }, { 66, 66, 60 }, // hr -> hr_Latn_HR - { 304, 0, 0 }, { 304, 66, 91 }, // hsb -> hsb_Latn_DE - { 100, 0, 0 }, { 100, 66, 104 }, // ht -> ht_Latn_HT { 107, 0, 0 }, { 107, 66, 108 }, // hu -> hu_Latn_HU - { 17, 0, 0 }, { 17, 5, 12 }, // hy -> hy_Armn_AM - { 104, 0, 0 }, { 104, 66, 162 }, // hz -> hz_Latn_NA - { 114, 0, 0 }, { 114, 66, 258 }, // ia -> ia_Latn_001 - { 112, 0, 0 }, { 112, 66, 111 }, // id -> id_Latn_ID + { 108, 0, 0 }, { 108, 66, 109 }, // is -> is_Latn_IS + { 109, 0, 0 }, { 109, 66, 258 }, // io -> io_Latn_001 { 110, 0, 0 }, { 110, 66, 169 }, // ig -> ig_Latn_NG - { 255, 0, 0 }, { 255, 141, 50 }, // ii -> ii_Yiii_CN - { 117, 0, 0 }, { 117, 66, 248 }, // ik -> ik_Latn_US + { 111, 0, 0 }, { 111, 66, 83 }, // smn -> smn_Latn_FI + { 112, 0, 0 }, { 112, 66, 111 }, // id -> id_Latn_ID { 113, 0, 0 }, { 113, 27, 193 }, // inh -> inh_Cyrl_RU - { 109, 0, 0 }, { 109, 66, 258 }, // io -> io_Latn_001 - { 108, 0, 0 }, { 108, 66, 109 }, // is -> is_Latn_IS - { 119, 0, 0 }, { 119, 66, 117 }, // it -> it_Latn_IT + { 114, 0, 0 }, { 114, 66, 258 }, // ia -> ia_Latn_001 { 116, 0, 0 }, { 116, 18, 41 }, // iu -> iu_Cans_CA + { 117, 0, 0 }, { 117, 66, 248 }, // ik -> ik_Latn_US + { 118, 0, 0 }, { 118, 66, 114 }, // ga -> ga_Latn_IE + { 119, 0, 0 }, { 119, 66, 117 }, // it -> it_Latn_IT { 120, 0, 0 }, { 120, 53, 120 }, // ja -> ja_Jpan_JP - { 161, 0, 0 }, { 161, 66, 258 }, // jbo -> jbo_Latn_001 - { 202, 0, 0 }, { 202, 66, 40 }, // jgo -> jgo_Latn_CM - { 170, 0, 0 }, { 170, 66, 230 }, // jmc -> jmc_Latn_TZ { 121, 0, 0 }, { 121, 66, 111 }, // jv -> jv_Latn_ID - { 93, 0, 0 }, { 93, 35, 90 }, // ka -> ka_Geor_GE - { 125, 0, 0 }, { 125, 66, 4 }, // kab -> kab_Latn_DZ { 122, 0, 0 }, { 122, 66, 169 }, // kaj -> kaj_Latn_NG - { 129, 0, 0 }, { 129, 66, 124 }, // kam -> kam_Latn_KE - { 301, 0, 0 }, { 301, 66, 169 }, // kcg -> kcg_Latn_NG - { 173, 0, 0 }, { 173, 66, 230 }, // kde -> kde_Latn_TZ + { 123, 0, 0 }, { 123, 66, 206 }, // dyo -> dyo_Latn_SN { 124, 0, 0 }, { 124, 66, 43 }, // kea -> kea_Latn_CV - { 134, 0, 0 }, { 134, 66, 40 }, // ken -> ken_Latn_CM - { 143, 0, 0 }, { 143, 66, 118 }, // kfo -> kfo_Latn_CI - { 140, 0, 0 }, { 140, 66, 57 }, // kg -> kg_Latn_CD - { 145, 0, 0 }, { 145, 66, 145 }, // khq -> khq_Latn_ML - { 137, 0, 0 }, { 137, 66, 124 }, // ki -> ki_Latn_KE - { 147, 0, 0 }, { 147, 66, 162 }, // kj -> kj_Latn_NA - { 133, 0, 0 }, { 133, 27, 123 }, // kk -> kk_Cyrl_KZ + { 125, 0, 0 }, { 125, 66, 4 }, // kab -> kab_Latn_DZ + { 126, 0, 0 }, { 126, 66, 40 }, // kkj -> kkj_Latn_CM + { 127, 0, 0 }, { 127, 66, 95 }, // kl -> kl_Latn_GL + { 128, 0, 0 }, { 128, 66, 124 }, // kln -> kln_Latn_KE + { 129, 0, 0 }, { 129, 66, 124 }, // kam -> kam_Latn_KE + { 130, 0, 0 }, { 130, 56, 110 }, // kn -> kn_Knda_IN + { 131, 0, 0 }, { 131, 66, 0 }, // kr -> kr_Latn + { 132, 0, 0 }, { 132, 4, 110 }, // ks -> ks_Arab_IN { 133, 0, 1 }, { 133, 4, 1 }, // kk_AF -> kk_Arab_AF { 133, 0, 50 }, { 133, 4, 50 }, // kk_CN -> kk_Arab_CN { 133, 0, 112 }, { 133, 4, 112 }, // kk_IR -> kk_Arab_IR { 133, 0, 156 }, { 133, 4, 156 }, // kk_MN -> kk_Arab_MN { 133, 4, 0 }, { 133, 4, 50 }, // kk_Arab -> kk_Arab_CN - { 126, 0, 0 }, { 126, 66, 40 }, // kkj -> kkj_Latn_CM - { 127, 0, 0 }, { 127, 66, 95 }, // kl -> kl_Latn_GL - { 128, 0, 0 }, { 128, 66, 124 }, // kln -> kln_Latn_KE + { 133, 0, 0 }, { 133, 27, 123 }, // kk -> kk_Cyrl_KZ + { 134, 0, 0 }, { 134, 66, 40 }, // ken -> ken_Latn_CM { 135, 0, 0 }, { 135, 60, 39 }, // km -> km_Khmr_KH - { 130, 0, 0 }, { 130, 56, 110 }, // kn -> kn_Knda_IN - { 142, 0, 0 }, { 142, 63, 218 }, // ko -> ko_Kore_KR + { 136, 0, 0 }, { 136, 66, 99 }, // quc -> quc_Latn_GT + { 137, 0, 0 }, { 137, 66, 124 }, // ki -> ki_Latn_KE + { 138, 0, 0 }, { 138, 66, 194 }, // rw -> rw_Latn_RW + { 139, 0, 0 }, { 139, 27, 193 }, // kv -> kv_Cyrl_RU + { 140, 0, 0 }, { 140, 66, 57 }, // kg -> kg_Latn_CD { 141, 0, 0 }, { 141, 29, 110 }, // kok -> kok_Deva_IN + { 142, 0, 0 }, { 142, 63, 218 }, // ko -> ko_Kore_KR + { 143, 0, 0 }, { 143, 66, 118 }, // kfo -> kfo_Latn_CI + { 144, 0, 0 }, { 144, 66, 145 }, // ses -> ses_Latn_ML + { 145, 0, 0 }, { 145, 66, 145 }, // khq -> khq_Latn_ML { 146, 0, 0 }, { 146, 66, 134 }, // kpe -> kpe_Latn_LR - { 131, 0, 0 }, { 131, 66, 0 }, // kr -> kr_Latn - { 132, 0, 0 }, { 132, 4, 110 }, // ks -> ks_Arab_IN - { 253, 0, 0 }, { 253, 66, 230 }, // ksb -> ksb_Latn_TZ - { 26, 0, 0 }, { 26, 66, 40 }, // ksf -> ksf_Latn_CM - { 61, 0, 0 }, { 61, 66, 91 }, // ksh -> ksh_Latn_DE - { 148, 0, 0 }, { 148, 66, 239 }, // ku -> ku_Latn_TR + { 147, 0, 0 }, { 147, 66, 162 }, // kj -> kj_Latn_NA { 148, 0, 132 }, { 148, 4, 132 }, // ku_LB -> ku_Arab_LB { 148, 4, 0 }, { 148, 4, 113 }, // ku_Arab -> ku_Arab_IQ - { 139, 0, 0 }, { 139, 27, 193 }, // kv -> kv_Cyrl_RU - { 63, 0, 0 }, { 63, 66, 246 }, // kw -> kw_Latn_GB - { 150, 0, 0 }, { 150, 27, 128 }, // ky -> ky_Cyrl_KG + { 148, 0, 0 }, { 148, 66, 239 }, // ku -> ku_Latn_TR + { 149, 0, 0 }, { 149, 66, 40 }, // nmg -> nmg_Latn_CM { 150, 0, 50 }, { 150, 4, 50 }, // ky_CN -> ky_Arab_CN { 150, 0, 239 }, { 150, 66, 239 }, // ky_TR -> ky_Latn_TR { 150, 4, 0 }, { 150, 4, 50 }, // ky_Arab -> ky_Arab_CN { 150, 66, 0 }, { 150, 66, 239 }, // ky_Latn -> ky_Latn_TR - { 154, 0, 0 }, { 154, 66, 253 }, // la -> la_Latn_VA + { 150, 0, 0 }, { 150, 27, 128 }, // ky -> ky_Cyrl_KG + { 151, 0, 0 }, { 151, 66, 248 }, // lkt -> lkt_Latn_US { 152, 0, 0 }, { 152, 66, 230 }, // lag -> lag_Latn_TZ - { 167, 0, 0 }, { 167, 66, 138 }, // lb -> lb_Latn_LU + { 153, 0, 0 }, { 153, 65, 129 }, // lo -> lo_Laoo_LA + { 154, 0, 0 }, { 154, 66, 253 }, // la -> la_Latn_VA + { 155, 0, 0 }, { 155, 66, 131 }, // lv -> lv_Latn_LV { 156, 0, 0 }, { 156, 27, 193 }, // lez -> lez_Cyrl_RU - { 91, 0, 0 }, { 91, 66, 243 }, // lg -> lg_Latn_UG { 157, 0, 0 }, { 157, 66, 165 }, // li -> li_Latn_NL - { 151, 0, 0 }, { 151, 66, 248 }, // lkt -> lkt_Latn_US { 158, 0, 0 }, { 158, 66, 57 }, // ln -> ln_Latn_CD - { 153, 0, 0 }, { 153, 65, 129 }, // lo -> lo_Laoo_LA - { 205, 0, 0 }, { 205, 4, 112 }, // lrc -> lrc_Arab_IR + { 159, 0, 0 }, { 159, 118, 50 }, // lzh -> lzh_Hans_CN { 160, 0, 0 }, { 160, 66, 137 }, // lt -> lt_Latn_LT + { 161, 0, 0 }, { 161, 66, 258 }, // jbo -> jbo_Latn_001 + { 162, 0, 0 }, { 162, 66, 91 }, // dsb -> dsb_Latn_DE + { 163, 0, 0 }, { 163, 66, 91 }, // nds -> nds_Latn_DE { 164, 0, 0 }, { 164, 66, 57 }, // lu -> lu_Latn_CD + { 165, 0, 0 }, { 165, 66, 225 }, // smj -> smj_Latn_SE { 166, 0, 0 }, { 166, 66, 124 }, // luo -> luo_Latn_KE + { 167, 0, 0 }, { 167, 66, 138 }, // lb -> lb_Latn_LU { 168, 0, 0 }, { 168, 66, 124 }, // luy -> luy_Latn_KE - { 155, 0, 0 }, { 155, 66, 131 }, // lv -> lv_Latn_LV - { 159, 0, 0 }, { 159, 118, 50 }, // lzh -> lzh_Hans_CN + { 169, 0, 0 }, { 169, 27, 140 }, // mk -> mk_Cyrl_MK + { 170, 0, 0 }, { 170, 66, 230 }, // jmc -> jmc_Latn_TZ { 171, 0, 0 }, { 171, 29, 110 }, // mai -> mai_Deva_IN - { 178, 0, 0 }, { 178, 66, 89 }, // man -> man_Latn_GM + { 172, 0, 0 }, { 172, 66, 160 }, // mgh -> mgh_Latn_MZ + { 173, 0, 0 }, { 173, 66, 230 }, // kde -> kde_Latn_TZ + { 174, 0, 0 }, { 174, 66, 141 }, // mg -> mg_Latn_MG + { 175, 0, 0 }, { 175, 74, 110 }, // ml -> ml_Mlym_IN + { 176, 0, 53 }, { 176, 4, 53 }, // ms_CC -> ms_Arab_CC + { 176, 0, 0 }, { 176, 66, 143 }, // ms -> ms_Latn_MY + { 177, 0, 0 }, { 177, 66, 146 }, // mt -> mt_Latn_MT { 178, 0, 102 }, { 178, 90, 102 }, // man_GN -> man_Nkoo_GN { 178, 90, 0 }, { 178, 90, 102 }, // man_Nkoo -> man_Nkoo_GN + { 178, 0, 0 }, { 178, 66, 89 }, // man -> man_Latn_GM + { 179, 0, 0 }, { 179, 9, 110 }, // mni -> mni_Beng_IN + { 180, 0, 0 }, { 180, 66, 115 }, // gv -> gv_Latn_IM + { 181, 0, 0 }, { 181, 66, 167 }, // mi -> mi_Latn_NZ + { 182, 0, 0 }, { 182, 66, 49 }, // arn -> arn_Latn_CL + { 183, 0, 0 }, { 183, 29, 110 }, // mr -> mr_Deva_IN + { 184, 0, 0 }, { 184, 66, 147 }, // mh -> mh_Latn_MH { 185, 0, 0 }, { 185, 66, 124 }, // mas -> mas_Latn_KE + { 186, 0, 0 }, { 186, 4, 112 }, // mzn -> mzn_Arab_IR { 187, 0, 0 }, { 187, 66, 209 }, // men -> men_Latn_SL { 188, 0, 0 }, { 188, 66, 124 }, // mer -> mer_Latn_KE - { 192, 0, 0 }, { 192, 66, 150 }, // mfe -> mfe_Latn_MU - { 174, 0, 0 }, { 174, 66, 141 }, // mg -> mg_Latn_MG - { 172, 0, 0 }, { 172, 66, 160 }, // mgh -> mgh_Latn_MZ { 189, 0, 0 }, { 189, 66, 40 }, // mgo -> mgo_Latn_CM - { 184, 0, 0 }, { 184, 66, 147 }, // mh -> mh_Latn_MH - { 181, 0, 0 }, { 181, 66, 167 }, // mi -> mi_Latn_NZ - { 169, 0, 0 }, { 169, 27, 140 }, // mk -> mk_Cyrl_MK - { 175, 0, 0 }, { 175, 74, 110 }, // ml -> ml_Mlym_IN - { 191, 0, 0 }, { 191, 27, 156 }, // mn -> mn_Cyrl_MN + { 190, 0, 0 }, { 190, 66, 41 }, // moh -> moh_Latn_CA { 191, 0, 50 }, { 191, 83, 50 }, // mn_CN -> mn_Mong_CN { 191, 83, 0 }, { 191, 83, 50 }, // mn_Mong -> mn_Mong_CN - { 179, 0, 0 }, { 179, 9, 110 }, // mni -> mni_Beng_IN - { 190, 0, 0 }, { 190, 66, 41 }, // moh -> moh_Latn_CA - { 183, 0, 0 }, { 183, 29, 110 }, // mr -> mr_Deva_IN - { 176, 0, 0 }, { 176, 66, 143 }, // ms -> ms_Latn_MY - { 176, 0, 53 }, { 176, 4, 53 }, // ms_CC -> ms_Arab_CC - { 177, 0, 0 }, { 177, 66, 146 }, // mt -> mt_Latn_MT + { 191, 0, 0 }, { 191, 27, 156 }, // mn -> mn_Cyrl_MN + { 192, 0, 0 }, { 192, 66, 150 }, // mfe -> mfe_Latn_MU { 193, 0, 0 }, { 193, 66, 40 }, // mua -> mua_Latn_CM { 194, 0, 0 }, { 194, 66, 248 }, // mus -> mus_Latn_US - { 46, 0, 0 }, { 46, 86, 161 }, // my -> my_Mymr_MM - { 76, 0, 0 }, { 76, 27, 193 }, // myv -> myv_Cyrl_RU - { 186, 0, 0 }, { 186, 4, 112 }, // mzn -> mzn_Arab_IR - { 196, 0, 0 }, { 196, 66, 163 }, // na -> na_Latn_NR { 195, 0, 0 }, { 195, 66, 162 }, // naq -> naq_Latn_NA - { 209, 0, 0 }, { 209, 66, 175 }, // nb -> nb_Latn_NO - { 208, 0, 0 }, { 208, 66, 261 }, // nd -> nd_Latn_ZW - { 163, 0, 0 }, { 163, 66, 91 }, // nds -> nds_Latn_DE + { 196, 0, 0 }, { 196, 66, 163 }, // na -> na_Latn_NR + { 197, 0, 0 }, { 197, 66, 248 }, // nv -> nv_Latn_US + { 198, 0, 0 }, { 198, 66, 162 }, // ng -> ng_Latn_NA { 199, 0, 0 }, { 199, 29, 164 }, // ne -> ne_Deva_NP { 200, 0, 0 }, { 200, 29, 164 }, // new -> new_Deva_NP - { 198, 0, 0 }, { 198, 66, 162 }, // ng -> ng_Latn_NA - { 72, 0, 0 }, { 72, 66, 165 }, // nl -> nl_Latn_NL - { 149, 0, 0 }, { 149, 66, 40 }, // nmg -> nmg_Latn_CM - { 210, 0, 0 }, { 210, 66, 175 }, // nn -> nn_Latn_NO { 201, 0, 0 }, { 201, 66, 40 }, // nnh -> nnh_Latn_CM - { 218, 0, 0 }, { 218, 111, 225 }, // non -> non_Runr_SE + { 202, 0, 0 }, { 202, 66, 40 }, // jgo -> jgo_Latn_CM + { 203, 0, 0 }, { 203, 66, 169 }, // pcm -> pcm_Latn_NG { 204, 0, 0 }, { 204, 90, 102 }, // nqo -> nqo_Nkoo_GN - { 269, 0, 0 }, { 269, 66, 216 }, // nr -> nr_Latn_ZA + { 205, 0, 0 }, { 205, 4, 112 }, // lrc -> lrc_Arab_IR + { 206, 0, 0 }, { 206, 66, 175 }, // se -> se_Latn_NO { 207, 0, 0 }, { 207, 66, 216 }, // nso -> nso_Latn_ZA + { 208, 0, 0 }, { 208, 66, 261 }, // nd -> nd_Latn_ZW + { 209, 0, 0 }, { 209, 66, 175 }, // nb -> nb_Latn_NO + { 210, 0, 0 }, { 210, 66, 175 }, // nn -> nn_Latn_NO { 211, 0, 0 }, { 211, 66, 219 }, // nus -> nus_Latn_SS - { 197, 0, 0 }, { 197, 66, 248 }, // nv -> nv_Latn_US { 212, 0, 0 }, { 212, 66, 142 }, // ny -> ny_Latn_MW { 213, 0, 0 }, { 213, 66, 243 }, // nyn -> nyn_Latn_UG { 214, 0, 0 }, { 214, 66, 84 }, // oc -> oc_Latn_FR - { 220, 0, 0 }, { 220, 66, 77 }, // om -> om_Latn_ET { 215, 0, 0 }, { 215, 91, 110 }, // or -> or_Orya_IN - { 222, 0, 0 }, { 222, 27, 90 }, // os -> os_Cyrl_GE + { 217, 0, 0 }, { 217, 92, 114 }, // sga -> sga_Ogam_IE + { 218, 0, 0 }, { 218, 111, 225 }, // non -> non_Runr_SE + { 219, 0, 0 }, { 219, 98, 112 }, // peo -> peo_Xpeo_IR + { 220, 0, 0 }, { 220, 66, 77 }, // om -> om_Latn_ET { 221, 0, 0 }, { 221, 101, 248 }, // osa -> osa_Osge_US - { 233, 0, 0 }, { 233, 41, 110 }, // pa -> pa_Guru_IN - { 233, 0, 178 }, { 233, 4, 178 }, // pa_PK -> pa_Arab_PK - { 233, 4, 0 }, { 233, 4, 178 }, // pa_Arab -> pa_Arab_PK - { 223, 0, 0 }, { 223, 50, 112 }, // pal -> pal_Phli_IR + { 222, 0, 0 }, { 222, 27, 90 }, // os -> os_Cyrl_GE { 223, 109, 0 }, { 223, 109, 50 }, // pal_Phlp -> pal_Phlp_CN - { 226, 0, 0 }, { 226, 66, 13 }, // pap -> pap_Latn_AW + { 223, 0, 0 }, { 223, 50, 112 }, // pal -> pal_Phli_IR { 224, 0, 0 }, { 224, 66, 179 }, // pau -> pau_Latn_PW - { 203, 0, 0 }, { 203, 66, 169 }, // pcm -> pcm_Latn_NG - { 219, 0, 0 }, { 219, 98, 112 }, // peo -> peo_Xpeo_IR + { 226, 0, 0 }, { 226, 66, 13 }, // pap -> pap_Latn_AW + { 227, 0, 0 }, { 227, 4, 1 }, // ps -> ps_Arab_AF + { 228, 0, 0 }, { 228, 4, 112 }, // fa -> fa_Arab_IR { 229, 0, 0 }, { 229, 107, 132 }, // phn -> phn_Phnx_LB { 230, 0, 0 }, { 230, 66, 187 }, // pl -> pl_Latn_PL - { 232, 0, 0 }, { 232, 66, 258 }, // prg -> prg_Latn_001 - { 227, 0, 0 }, { 227, 4, 1 }, // ps -> ps_Arab_AF { 231, 0, 0 }, { 231, 66, 32 }, // pt -> pt_Latn_BR + { 232, 0, 0 }, { 232, 66, 258 }, // prg -> prg_Latn_001 + { 233, 0, 178 }, { 233, 4, 178 }, // pa_PK -> pa_Arab_PK + { 233, 4, 0 }, { 233, 4, 178 }, // pa_Arab -> pa_Arab_PK + { 233, 0, 0 }, { 233, 41, 110 }, // pa -> pa_Guru_IN { 234, 0, 0 }, { 234, 66, 184 }, // qu -> qu_Latn_PE - { 136, 0, 0 }, { 136, 66, 99 }, // quc -> quc_Latn_GT - { 236, 0, 0 }, { 236, 66, 226 }, // rm -> rm_Latn_CH - { 238, 0, 0 }, { 238, 66, 38 }, // rn -> rn_Latn_BI { 235, 0, 0 }, { 235, 66, 192 }, // ro -> ro_Latn_RO + { 236, 0, 0 }, { 236, 66, 226 }, // rm -> rm_Latn_CH { 237, 0, 0 }, { 237, 66, 230 }, // rof -> rof_Latn_TZ + { 238, 0, 0 }, { 238, 66, 38 }, // rn -> rn_Latn_BI { 239, 0, 0 }, { 239, 27, 193 }, // ru -> ru_Cyrl_RU - { 138, 0, 0 }, { 138, 66, 194 }, // rw -> rw_Latn_RW { 240, 0, 0 }, { 240, 66, 230 }, // rwk -> rwk_Latn_TZ - { 247, 0, 0 }, { 247, 29, 110 }, // sa -> sa_Deva_IN + { 241, 0, 0 }, { 241, 66, 74 }, // ssy -> ssy_Latn_ER { 242, 0, 0 }, { 242, 27, 193 }, // sah -> sah_Cyrl_RU { 243, 0, 0 }, { 243, 66, 124 }, // saq -> saq_Latn_KE - { 248, 0, 0 }, { 248, 93, 110 }, // sat -> sat_Olck_IN - { 250, 0, 0 }, { 250, 113, 110 }, // saz -> saz_Saur_IN + { 244, 0, 0 }, { 244, 66, 202 }, // sm -> sm_Latn_WS + { 245, 0, 0 }, { 245, 66, 46 }, // sg -> sg_Latn_CF { 246, 0, 0 }, { 246, 66, 230 }, // sbp -> sbp_Latn_TZ + { 247, 0, 0 }, { 247, 29, 110 }, // sa -> sa_Deva_IN + { 248, 0, 0 }, { 248, 93, 110 }, // sat -> sat_Olck_IN { 249, 0, 0 }, { 249, 66, 117 }, // sc -> sc_Latn_IT + { 250, 0, 0 }, { 250, 113, 110 }, // saz -> saz_Saur_IN + { 251, 0, 0 }, { 251, 66, 160 }, // seh -> seh_Latn_MZ + { 252, 0, 157 }, { 252, 66, 157 }, // sr_ME -> sr_Latn_ME + { 252, 0, 192 }, { 252, 66, 192 }, // sr_RO -> sr_Latn_RO + { 252, 0, 193 }, { 252, 66, 193 }, // sr_RU -> sr_Latn_RU + { 252, 0, 239 }, { 252, 66, 239 }, // sr_TR -> sr_Latn_TR + { 252, 0, 0 }, { 252, 27, 207 }, // sr -> sr_Cyrl_RS + { 253, 0, 0 }, { 253, 66, 230 }, // ksb -> ksb_Latn_TZ + { 254, 0, 0 }, { 254, 66, 261 }, // sn -> sn_Latn_ZW + { 255, 0, 0 }, { 255, 141, 50 }, // ii -> ii_Yiii_CN { 256, 0, 0 }, { 256, 66, 117 }, // scn -> scn_Latn_IT - { 259, 0, 0 }, { 259, 4, 178 }, // sd -> sd_Arab_PK + { 257, 0, 0 }, { 257, 66, 77 }, // sid -> sid_Latn_ET + { 258, 0, 0 }, { 258, 66, 187 }, // szl -> szl_Latn_PL { 259, 29, 0 }, { 259, 29, 110 }, // sd_Deva -> sd_Deva_IN { 259, 61, 0 }, { 259, 61, 110 }, // sd_Khoj -> sd_Khoj_IN { 259, 62, 0 }, { 259, 62, 110 }, // sd_Sind -> sd_Sind_IN - { 266, 0, 0 }, { 266, 4, 112 }, // sdh -> sdh_Arab_IR - { 206, 0, 0 }, { 206, 66, 175 }, // se -> se_Latn_NO - { 251, 0, 0 }, { 251, 66, 160 }, // seh -> seh_Latn_MZ - { 144, 0, 0 }, { 144, 66, 145 }, // ses -> ses_Latn_ML - { 245, 0, 0 }, { 245, 66, 46 }, // sg -> sg_Latn_CF - { 217, 0, 0 }, { 217, 92, 114 }, // sga -> sga_Ogam_IE - { 278, 0, 0 }, { 278, 135, 159 }, // shi -> shi_Tfng_MA + { 259, 0, 0 }, { 259, 4, 178 }, // sd -> sd_Arab_PK { 260, 0, 0 }, { 260, 119, 221 }, // si -> si_Sinh_LK - { 257, 0, 0 }, { 257, 66, 77 }, // sid -> sid_Latn_ET + { 261, 0, 0 }, { 261, 66, 83 }, // sms -> sms_Latn_FI { 262, 0, 0 }, { 262, 66, 212 }, // sk -> sk_Latn_SK { 263, 0, 0 }, { 263, 66, 213 }, // sl -> sl_Latn_SI - { 244, 0, 0 }, { 244, 66, 202 }, // sm -> sm_Latn_WS - { 267, 0, 0 }, { 267, 66, 225 }, // sma -> sma_Latn_SE - { 165, 0, 0 }, { 165, 66, 225 }, // smj -> smj_Latn_SE - { 111, 0, 0 }, { 111, 66, 83 }, // smn -> smn_Latn_FI - { 261, 0, 0 }, { 261, 66, 83 }, // sms -> sms_Latn_FI - { 254, 0, 0 }, { 254, 66, 261 }, // sn -> sn_Latn_ZW + { 264, 0, 0 }, { 264, 66, 243 }, // xog -> xog_Latn_UG { 265, 0, 0 }, { 265, 66, 215 }, // so -> so_Latn_SO - { 9, 0, 0 }, { 9, 66, 3 }, // sq -> sq_Latn_AL - { 252, 0, 0 }, { 252, 27, 207 }, // sr -> sr_Cyrl_RS - { 252, 0, 157 }, { 252, 66, 157 }, // sr_ME -> sr_Latn_ME - { 252, 0, 192 }, { 252, 66, 192 }, // sr_RO -> sr_Latn_RO - { 252, 0, 193 }, { 252, 66, 193 }, // sr_RU -> sr_Latn_RU - { 252, 0, 239 }, { 252, 66, 239 }, // sr_TR -> sr_Latn_TR - { 274, 0, 0 }, { 274, 66, 216 }, // ss -> ss_Latn_ZA - { 241, 0, 0 }, { 241, 66, 74 }, // ssy -> ssy_Latn_ER + { 266, 0, 0 }, { 266, 4, 112 }, // sdh -> sdh_Arab_IR + { 267, 0, 0 }, { 267, 66, 225 }, // sma -> sma_Latn_SE { 268, 0, 0 }, { 268, 66, 216 }, // st -> st_Latn_ZA + { 269, 0, 0 }, { 269, 66, 216 }, // nr -> nr_Latn_ZA + { 270, 0, 0 }, { 270, 66, 220 }, // es -> es_Latn_ES + { 271, 0, 0 }, { 271, 135, 159 }, // zgh -> zgh_Tfng_MA { 272, 0, 0 }, { 272, 66, 111 }, // su -> su_Latn_ID - { 275, 0, 0 }, { 275, 66, 225 }, // sv -> sv_Latn_SE { 273, 0, 0 }, { 273, 66, 230 }, // sw -> sw_Latn_TZ + { 274, 0, 0 }, { 274, 66, 216 }, // ss -> ss_Latn_ZA + { 275, 0, 0 }, { 275, 66, 225 }, // sv -> sv_Latn_SE + { 276, 0, 0 }, { 276, 66, 226 }, // gsw -> gsw_Latn_CH { 277, 0, 0 }, { 277, 123, 113 }, // syr -> syr_Syrc_IQ - { 258, 0, 0 }, { 258, 66, 187 }, // szl -> szl_Latn_PL + { 278, 0, 0 }, { 278, 135, 159 }, // shi -> shi_Tfng_MA + { 279, 0, 0 }, { 279, 66, 86 }, // ty -> ty_Latn_PF + { 280, 0, 0 }, { 280, 127, 255 }, // blt -> blt_Tavt_VN + { 281, 0, 0 }, { 281, 66, 124 }, // dav -> dav_Latn_KE + { 282, 0, 178 }, { 282, 4, 178 }, // tg_PK -> tg_Arab_PK + { 282, 4, 0 }, { 282, 4, 178 }, // tg_Arab -> tg_Arab_PK + { 282, 0, 0 }, { 282, 27, 229 }, // tg -> tg_Cyrl_TJ { 283, 0, 0 }, { 283, 129, 110 }, // ta -> ta_Taml_IN + { 284, 0, 0 }, { 284, 66, 228 }, // trv -> trv_Latn_TW + { 285, 0, 0 }, { 285, 66, 170 }, // twq -> twq_Latn_NE + { 286, 0, 0 }, { 286, 27, 193 }, // tt -> tt_Cyrl_RU { 287, 0, 0 }, { 287, 131, 110 }, // te -> te_Telu_IN { 288, 0, 0 }, { 288, 66, 243 }, // teo -> teo_Latn_UG - { 282, 0, 0 }, { 282, 27, 229 }, // tg -> tg_Cyrl_TJ - { 282, 0, 178 }, { 282, 4, 178 }, // tg_PK -> tg_Arab_PK - { 282, 4, 0 }, { 282, 4, 178 }, // tg_Arab -> tg_Arab_PK { 289, 0, 0 }, { 289, 133, 231 }, // th -> th_Thai_TH - { 292, 0, 0 }, { 292, 33, 77 }, // ti -> ti_Ethi_ET + { 290, 0, 0 }, { 290, 134, 50 }, // bo -> bo_Tibt_CN { 291, 0, 0 }, { 291, 33, 74 }, // tig -> tig_Ethi_ER - { 299, 0, 0 }, { 299, 66, 240 }, // tk -> tk_Latn_TM + { 292, 0, 0 }, { 292, 33, 77 }, // ti -> ti_Ethi_ET { 293, 0, 0 }, { 293, 66, 234 }, // tkl -> tkl_Latn_TK - { 297, 0, 0 }, { 297, 66, 216 }, // tn -> tn_Latn_ZA - { 295, 0, 0 }, { 295, 66, 235 }, // to -> to_Latn_TO { 294, 0, 0 }, { 294, 66, 182 }, // tpi -> tpi_Latn_PG - { 298, 0, 0 }, { 298, 66, 239 }, // tr -> tr_Latn_TR - { 284, 0, 0 }, { 284, 66, 228 }, // trv -> trv_Latn_TW + { 295, 0, 0 }, { 295, 66, 235 }, // to -> to_Latn_TO { 296, 0, 0 }, { 296, 66, 216 }, // ts -> ts_Latn_ZA - { 286, 0, 0 }, { 286, 27, 193 }, // tt -> tt_Cyrl_RU + { 297, 0, 0 }, { 297, 66, 216 }, // tn -> tn_Latn_ZA + { 298, 0, 0 }, { 298, 66, 239 }, // tr -> tr_Latn_TR + { 299, 0, 0 }, { 299, 66, 240 }, // tk -> tk_Latn_TM { 300, 0, 0 }, { 300, 66, 242 }, // tvl -> tvl_Latn_TV - { 285, 0, 0 }, { 285, 66, 170 }, // twq -> twq_Latn_NE - { 279, 0, 0 }, { 279, 66, 86 }, // ty -> ty_Latn_PF - { 50, 0, 0 }, { 50, 66, 159 }, // tzm -> tzm_Latn_MA - { 306, 0, 0 }, { 306, 4, 50 }, // ug -> ug_Arab_CN - { 306, 0, 123 }, { 306, 27, 123 }, // ug_KZ -> ug_Cyrl_KZ - { 306, 0, 156 }, { 306, 27, 156 }, // ug_MN -> ug_Cyrl_MN - { 306, 27, 0 }, { 306, 27, 123 }, // ug_Cyrl -> ug_Cyrl_KZ + { 301, 0, 0 }, { 301, 66, 169 }, // kcg -> kcg_Latn_NG { 302, 0, 0 }, { 302, 138, 227 }, // uga -> uga_Ugar_SY { 303, 0, 0 }, { 303, 27, 244 }, // uk -> uk_Cyrl_UA + { 304, 0, 0 }, { 304, 66, 91 }, // hsb -> hsb_Latn_DE { 305, 0, 0 }, { 305, 4, 178 }, // ur -> ur_Arab_PK - { 307, 0, 0 }, { 307, 66, 251 }, // uz -> uz_Latn_UZ + { 306, 0, 123 }, { 306, 27, 123 }, // ug_KZ -> ug_Cyrl_KZ + { 306, 0, 156 }, { 306, 27, 156 }, // ug_MN -> ug_Cyrl_MN + { 306, 27, 0 }, { 306, 27, 123 }, // ug_Cyrl -> ug_Cyrl_KZ + { 306, 0, 0 }, { 306, 4, 50 }, // ug -> ug_Arab_CN { 307, 0, 1 }, { 307, 4, 1 }, // uz_AF -> uz_Arab_AF { 307, 0, 50 }, { 307, 27, 50 }, // uz_CN -> uz_Cyrl_CN { 307, 4, 0 }, { 307, 4, 1 }, // uz_Arab -> uz_Arab_AF + { 307, 0, 0 }, { 307, 66, 251 }, // uz -> uz_Latn_UZ { 308, 0, 0 }, { 308, 139, 134 }, // vai -> vai_Vaii_LR { 309, 0, 0 }, { 309, 66, 216 }, // ve -> ve_Latn_ZA { 310, 0, 0 }, { 310, 66, 255 }, // vi -> vi_Latn_VN @@ -444,279 +464,281 @@ static const QLocaleId likely_subtags[] = { { 312, 0, 0 }, { 312, 66, 230 }, // vun -> vun_Latn_TZ { 313, 0, 0 }, { 313, 66, 23 }, // wa -> wa_Latn_BE { 314, 0, 0 }, { 314, 66, 226 }, // wae -> wae_Latn_CH - { 319, 0, 0 }, { 319, 33, 77 }, // wal -> wal_Ethi_ET { 315, 0, 0 }, { 315, 66, 15 }, // wbp -> wbp_Latn_AU + { 316, 0, 0 }, { 316, 66, 246 }, // cy -> cy_Latn_GB + { 317, 0, 0 }, { 317, 4, 178 }, // bgn -> bgn_Arab_PK + { 318, 0, 0 }, { 318, 66, 165 }, // fy -> fy_Latn_NL + { 319, 0, 0 }, { 319, 33, 77 }, // wal -> wal_Ethi_ET { 320, 0, 0 }, { 320, 66, 206 }, // wo -> wo_Latn_SN { 321, 0, 0 }, { 321, 66, 216 }, // xh -> xh_Latn_ZA - { 264, 0, 0 }, { 264, 66, 243 }, // xog -> xog_Latn_UG { 322, 0, 0 }, { 322, 66, 40 }, // yav -> yav_Latn_CM { 323, 0, 0 }, { 323, 47, 258 }, // yi -> yi_Hebr_001 { 324, 0, 0 }, { 324, 66, 169 }, // yo -> yo_Latn_NG - { 47, 0, 0 }, { 47, 137, 107 }, // yue -> yue_Hant_HK - { 47, 0, 50 }, { 47, 118, 50 }, // yue_CN -> yue_Hans_CN - { 47, 118, 0 }, { 47, 118, 50 }, // yue_Hans -> yue_Hans_CN + { 325, 0, 0 }, { 325, 66, 170 }, // dje -> dje_Latn_NE { 326, 0, 0 }, { 326, 66, 50 }, // za -> za_Latn_CN - { 271, 0, 0 }, { 271, 135, 159 }, // zgh -> zgh_Tfng_MA - { 58, 0, 0 }, { 58, 118, 50 }, // zh -> zh_Hans_CN - { 58, 0, 15 }, { 58, 137, 15 }, // zh_AU -> zh_Hant_AU - { 58, 0, 35 }, { 58, 137, 35 }, // zh_BN -> zh_Hant_BN - { 58, 0, 246 }, { 58, 137, 246 }, // zh_GB -> zh_Hant_GB - { 58, 0, 85 }, { 58, 137, 85 }, // zh_GF -> zh_Hant_GF - { 58, 0, 107 }, { 58, 137, 107 }, // zh_HK -> zh_Hant_HK - { 58, 0, 111 }, { 58, 137, 111 }, // zh_ID -> zh_Hant_ID - { 58, 0, 139 }, { 58, 137, 139 }, // zh_MO -> zh_Hant_MO - { 58, 0, 181 }, { 58, 137, 181 }, // zh_PA -> zh_Hant_PA - { 58, 0, 86 }, { 58, 137, 86 }, // zh_PF -> zh_Hant_PF - { 58, 0, 185 }, { 58, 137, 185 }, // zh_PH -> zh_Hant_PH - { 58, 0, 223 }, { 58, 137, 223 }, // zh_SR -> zh_Hant_SR - { 58, 0, 231 }, { 58, 137, 231 }, // zh_TH -> zh_Hant_TH - { 58, 0, 228 }, { 58, 137, 228 }, // zh_TW -> zh_Hant_TW - { 58, 0, 248 }, { 58, 137, 248 }, // zh_US -> zh_Hant_US - { 58, 0, 255 }, { 58, 137, 255 }, // zh_VN -> zh_Hant_VN - { 58, 13, 0 }, { 58, 13, 228 }, // zh_Bopo -> zh_Bopo_TW - { 58, 45, 0 }, { 58, 45, 228 }, // zh_Hanb -> zh_Hanb_TW - { 58, 137, 0 }, { 58, 137, 228 }, // zh_Hant -> zh_Hant_TW { 327, 0, 0 }, { 327, 66, 216 }, // zu -> zu_Latn_ZA - { 0, 0, 78 }, { 239, 27, 193 }, // und_150 -> ru_Cyrl_RU - { 0, 0, 130 }, { 270, 66, 130 }, // und_419 -> es_Latn_419 - { 0, 0, 6 }, { 48, 66, 6 }, // und_AD -> ca_Latn_AD - { 0, 0, 245 }, { 14, 4, 245 }, // und_AE -> ar_Arab_AE + { 0, 66, 1 }, { 299, 66, 1 }, // und_Latn_AF -> tk_Latn_AF { 0, 0, 1 }, { 228, 4, 1 }, // und_AF -> fa_Arab_AF + { 0, 0, 2 }, { 275, 66, 2 }, // und_AX -> sv_Latn_AX + { 0, 27, 3 }, { 169, 27, 3 }, // und_Cyrl_AL -> mk_Cyrl_AL { 0, 0, 3 }, { 9, 66, 3 }, // und_AL -> sq_Latn_AL - { 0, 0, 12 }, { 17, 5, 12 }, // und_AM -> hy_Armn_AM + { 0, 66, 4 }, { 85, 66, 4 }, // und_Latn_DZ -> fr_Latn_DZ + { 0, 0, 4 }, { 14, 4, 4 }, // und_DZ -> ar_Arab_DZ + { 0, 0, 5 }, { 244, 66, 5 }, // und_AS -> sm_Latn_AS + { 0, 0, 6 }, { 48, 66, 6 }, // und_AD -> ca_Latn_AD { 0, 0, 7 }, { 231, 66, 7 }, // und_AO -> pt_Latn_AO { 0, 0, 9 }, { 0, 66, 9 }, // und_AQ -> und_Latn_AQ { 0, 0, 11 }, { 270, 66, 11 }, // und_AR -> es_Latn_AR - { 0, 0, 5 }, { 244, 66, 5 }, // und_AS -> sm_Latn_AS - { 0, 0, 16 }, { 94, 66, 16 }, // und_AT -> de_Latn_AT + { 0, 66, 12 }, { 148, 66, 12 }, // und_Latn_AM -> ku_Latn_AM + { 0, 0, 12 }, { 17, 5, 12 }, // und_AM -> hy_Armn_AM { 0, 0, 13 }, { 72, 66, 13 }, // und_AW -> nl_Latn_AW - { 0, 0, 2 }, { 275, 66, 2 }, // und_AX -> sv_Latn_AX + { 0, 0, 16 }, { 94, 66, 16 }, // und_AT -> de_Latn_AT { 0, 0, 17 }, { 25, 66, 17 }, // und_AZ -> az_Latn_AZ - { 0, 0, 29 }, { 42, 66, 29 }, // und_BA -> bs_Latn_BA + { 0, 0, 19 }, { 14, 4, 19 }, // und_BH -> ar_Arab_BH { 0, 0, 20 }, { 30, 9, 20 }, // und_BD -> bn_Beng_BD + { 0, 0, 22 }, { 35, 27, 22 }, // und_BY -> be_Cyrl_BY { 0, 0, 23 }, { 72, 66, 23 }, // und_BE -> nl_Latn_BE - { 0, 0, 37 }, { 85, 66, 37 }, // und_BF -> fr_Latn_BF - { 0, 0, 36 }, { 45, 27, 36 }, // und_BG -> bg_Cyrl_BG - { 0, 0, 19 }, { 14, 4, 19 }, // und_BH -> ar_Arab_BH - { 0, 0, 38 }, { 238, 66, 38 }, // und_BI -> rn_Latn_BI { 0, 0, 25 }, { 85, 66, 25 }, // und_BJ -> fr_Latn_BJ - { 0, 0, 195 }, { 85, 66, 195 }, // und_BL -> fr_Latn_BL - { 0, 0, 35 }, { 176, 66, 35 }, // und_BN -> ms_Latn_BN - { 0, 0, 28 }, { 270, 66, 28 }, // und_BO -> es_Latn_BO - { 0, 0, 44 }, { 226, 66, 44 }, // und_BQ -> pap_Latn_BQ - { 0, 0, 32 }, { 231, 66, 32 }, // und_BR -> pt_Latn_BR + { 0, 29, 27 }, { 199, 29, 27 }, // und_Deva_BT -> ne_Deva_BT { 0, 0, 27 }, { 73, 134, 27 }, // und_BT -> dz_Tibt_BT + { 0, 0, 28 }, { 270, 66, 28 }, // und_BO -> es_Latn_BO + { 0, 27, 29 }, { 252, 27, 29 }, // und_Cyrl_BA -> sr_Cyrl_BA + { 0, 0, 29 }, { 42, 66, 29 }, // und_BA -> bs_Latn_BA { 0, 0, 31 }, { 0, 66, 31 }, // und_BV -> und_Latn_BV - { 0, 0, 22 }, { 35, 27, 22 }, // und_BY -> be_Cyrl_BY - { 0, 0, 57 }, { 273, 66, 57 }, // und_CD -> sw_Latn_CD + { 0, 0, 32 }, { 231, 66, 32 }, // und_BR -> pt_Latn_BR + { 0, 0, 35 }, { 176, 66, 35 }, // und_BN -> ms_Latn_BN + { 0, 0, 36 }, { 45, 27, 36 }, // und_BG -> bg_Cyrl_BG + { 0, 0, 37 }, { 85, 66, 37 }, // und_BF -> fr_Latn_BF + { 0, 0, 38 }, { 238, 66, 38 }, // und_BI -> rn_Latn_BI + { 0, 0, 39 }, { 135, 60, 39 }, // und_KH -> km_Khmr_KH + { 0, 0, 40 }, { 85, 66, 40 }, // und_CM -> fr_Latn_CM + { 0, 47, 41 }, { 323, 47, 41 }, // und_Hebr_CA -> yi_Hebr_CA + { 0, 0, 42 }, { 270, 66, 42 }, // und_IC -> es_Latn_IC + { 0, 0, 43 }, { 231, 66, 43 }, // und_CV -> pt_Latn_CV + { 0, 0, 44 }, { 226, 66, 44 }, // und_BQ -> pap_Latn_BQ { 0, 0, 46 }, { 85, 66, 46 }, // und_CF -> fr_Latn_CF - { 0, 0, 56 }, { 85, 66, 56 }, // und_CG -> fr_Latn_CG - { 0, 0, 226 }, { 94, 66, 226 }, // und_CH -> de_Latn_CH - { 0, 0, 118 }, { 85, 66, 118 }, // und_CI -> fr_Latn_CI + { 0, 0, 47 }, { 270, 66, 47 }, // und_EA -> es_Latn_EA + { 0, 0, 48 }, { 85, 66, 48 }, // und_TD -> fr_Latn_TD { 0, 0, 49 }, { 270, 66, 49 }, // und_CL -> es_Latn_CL - { 0, 0, 40 }, { 85, 66, 40 }, // und_CM -> fr_Latn_CM + { 0, 4, 50 }, { 306, 4, 50 }, // und_Arab_CN -> ug_Arab_CN + { 0, 66, 50 }, { 326, 66, 50 }, // und_Latn_CN -> za_Latn_CN { 0, 0, 50 }, { 58, 118, 50 }, // und_CN -> zh_Hans_CN - { 0, 0, 54 }, { 270, 66, 54 }, // und_CO -> es_Latn_CO { 0, 0, 52 }, { 0, 66, 52 }, // und_CP -> und_Latn_CP + { 0, 4, 53 }, { 176, 4, 53 }, // und_Arab_CC -> ms_Arab_CC + { 0, 0, 54 }, { 270, 66, 54 }, // und_CO -> es_Latn_CO + { 0, 66, 55 }, { 85, 66, 55 }, // und_Latn_KM -> fr_Latn_KM + { 0, 0, 55 }, { 14, 4, 55 }, // und_KM -> ar_Arab_KM + { 0, 0, 56 }, { 85, 66, 56 }, // und_CG -> fr_Latn_CG + { 0, 0, 57 }, { 273, 66, 57 }, // und_CD -> sw_Latn_CD { 0, 0, 59 }, { 270, 66, 59 }, // und_CR -> es_Latn_CR + { 0, 0, 60 }, { 66, 66, 60 }, // und_HR -> hr_Latn_HR { 0, 0, 61 }, { 270, 66, 61 }, // und_CU -> es_Latn_CU - { 0, 0, 43 }, { 231, 66, 43 }, // und_CV -> pt_Latn_CV { 0, 0, 62 }, { 226, 66, 62 }, // und_CW -> pap_Latn_CW + { 0, 66, 63 }, { 298, 66, 63 }, // und_Latn_CY -> tr_Latn_CY { 0, 0, 63 }, { 96, 39, 63 }, // und_CY -> el_Grek_CY { 0, 0, 64 }, { 67, 66, 64 }, // und_CZ -> cs_Latn_CZ - { 0, 0, 91 }, { 94, 66, 91 }, // und_DE -> de_Latn_DE - { 0, 0, 67 }, { 3, 66, 67 }, // und_DJ -> aa_Latn_DJ { 0, 0, 65 }, { 68, 66, 65 }, // und_DK -> da_Latn_DK + { 0, 0, 67 }, { 3, 66, 67 }, // und_DJ -> aa_Latn_DJ { 0, 0, 69 }, { 270, 66, 69 }, // und_DO -> es_Latn_DO - { 0, 0, 4 }, { 14, 4, 4 }, // und_DZ -> ar_Arab_DZ - { 0, 0, 47 }, { 270, 66, 47 }, // und_EA -> es_Latn_EA { 0, 0, 70 }, { 270, 66, 70 }, // und_EC -> es_Latn_EC - { 0, 0, 75 }, { 78, 66, 75 }, // und_EE -> et_Latn_EE { 0, 0, 71 }, { 14, 4, 71 }, // und_EG -> ar_Arab_EG - { 0, 0, 257 }, { 14, 4, 257 }, // und_EH -> ar_Arab_EH + { 0, 0, 72 }, { 270, 66, 72 }, // und_SV -> es_Latn_SV + { 0, 0, 73 }, { 270, 66, 73 }, // und_GQ -> es_Latn_GQ { 0, 0, 74 }, { 292, 33, 74 }, // und_ER -> ti_Ethi_ER - { 0, 0, 220 }, { 270, 66, 220 }, // und_ES -> es_Latn_ES + { 0, 0, 75 }, { 78, 66, 75 }, // und_EE -> et_Latn_EE + { 0, 66, 77 }, { 75, 66, 77 }, // und_Latn_ET -> en_Latn_ET { 0, 0, 77 }, { 11, 33, 77 }, // und_ET -> am_Ethi_ET + { 0, 0, 78 }, { 239, 27, 193 }, // und_150 -> ru_Cyrl_RU { 0, 0, 79 }, { 75, 66, 114 }, // und_EU -> en_Latn_IE - { 0, 0, 83 }, { 84, 66, 83 }, // und_FI -> fi_Latn_FI { 0, 0, 81 }, { 81, 66, 81 }, // und_FO -> fo_Latn_FO + { 0, 0, 83 }, { 84, 66, 83 }, // und_FI -> fi_Latn_FI { 0, 0, 84 }, { 85, 66, 84 }, // und_FR -> fr_Latn_FR + { 0, 0, 85 }, { 85, 66, 85 }, // und_GF -> fr_Latn_GF + { 0, 0, 86 }, { 85, 66, 86 }, // und_PF -> fr_Latn_PF + { 0, 0, 87 }, { 85, 66, 87 }, // und_TF -> fr_Latn_TF { 0, 0, 88 }, { 85, 66, 88 }, // und_GA -> fr_Latn_GA + { 0, 27, 90 }, { 222, 27, 90 }, // und_Cyrl_GE -> os_Cyrl_GE + { 0, 66, 90 }, { 148, 66, 90 }, // und_Latn_GE -> ku_Latn_GE { 0, 0, 90 }, { 93, 35, 90 }, // und_GE -> ka_Geor_GE - { 0, 0, 85 }, { 85, 66, 85 }, // und_GF -> fr_Latn_GF + { 0, 0, 91 }, { 94, 66, 91 }, // und_DE -> de_Latn_DE { 0, 0, 92 }, { 6, 66, 92 }, // und_GH -> ak_Latn_GH + { 0, 27, 94 }, { 169, 27, 94 }, // und_Cyrl_GR -> mk_Cyrl_GR + { 0, 0, 94 }, { 96, 39, 94 }, // und_GR -> el_Grek_GR { 0, 0, 95 }, { 127, 66, 95 }, // und_GL -> kl_Latn_GL - { 0, 0, 102 }, { 85, 66, 102 }, // und_GN -> fr_Latn_GN { 0, 0, 97 }, { 85, 66, 97 }, // und_GP -> fr_Latn_GP - { 0, 0, 73 }, { 270, 66, 73 }, // und_GQ -> es_Latn_GQ - { 0, 0, 94 }, { 96, 39, 94 }, // und_GR -> el_Grek_GR - { 0, 0, 217 }, { 0, 66, 217 }, // und_GS -> und_Latn_GS { 0, 0, 99 }, { 270, 66, 99 }, // und_GT -> es_Latn_GT { 0, 0, 101 }, { 231, 66, 101 }, // und_GW -> pt_Latn_GW - { 0, 0, 107 }, { 58, 137, 107 }, // und_HK -> zh_Hant_HK + { 0, 0, 102 }, { 85, 66, 102 }, // und_GN -> fr_Latn_GN + { 0, 0, 104 }, { 100, 66, 104 }, // und_HT -> ht_Latn_HT { 0, 0, 105 }, { 0, 66, 105 }, // und_HM -> und_Latn_HM { 0, 0, 106 }, { 270, 66, 106 }, // und_HN -> es_Latn_HN - { 0, 0, 60 }, { 66, 66, 60 }, // und_HR -> hr_Latn_HR - { 0, 0, 104 }, { 100, 66, 104 }, // und_HT -> ht_Latn_HT + { 0, 0, 107 }, { 58, 137, 107 }, // und_HK -> zh_Hant_HK { 0, 0, 108 }, { 107, 66, 108 }, // und_HU -> hu_Latn_HU - { 0, 0, 42 }, { 270, 66, 42 }, // und_IC -> es_Latn_IC - { 0, 0, 111 }, { 112, 66, 111 }, // und_ID -> id_Latn_ID - { 0, 0, 116 }, { 103, 47, 116 }, // und_IL -> he_Hebr_IL + { 0, 0, 109 }, { 108, 66, 109 }, // und_IS -> is_Latn_IS + { 0, 4, 110 }, { 305, 4, 110 }, // und_Arab_IN -> ur_Arab_IN { 0, 0, 110 }, { 105, 29, 110 }, // und_IN -> hi_Deva_IN - { 0, 0, 113 }, { 14, 4, 113 }, // und_IQ -> ar_Arab_IQ + { 0, 4, 111 }, { 176, 4, 111 }, // und_Arab_ID -> ms_Arab_ID + { 0, 0, 111 }, { 112, 66, 111 }, // und_ID -> id_Latn_ID + { 0, 66, 112 }, { 299, 66, 112 }, // und_Latn_IR -> tk_Latn_IR { 0, 0, 112 }, { 228, 4, 112 }, // und_IR -> fa_Arab_IR - { 0, 0, 109 }, { 108, 66, 109 }, // und_IS -> is_Latn_IS + { 0, 0, 113 }, { 14, 4, 113 }, // und_IQ -> ar_Arab_IQ + { 0, 0, 116 }, { 103, 47, 116 }, // und_IL -> he_Hebr_IL { 0, 0, 117 }, { 119, 66, 117 }, // und_IT -> it_Latn_IT - { 0, 0, 122 }, { 14, 4, 122 }, // und_JO -> ar_Arab_JO + { 0, 0, 118 }, { 85, 66, 118 }, // und_CI -> fr_Latn_CI { 0, 0, 120 }, { 120, 53, 120 }, // und_JP -> ja_Jpan_JP + { 0, 0, 122 }, { 14, 4, 122 }, // und_JO -> ar_Arab_JO + { 0, 0, 123 }, { 239, 27, 123 }, // und_KZ -> ru_Cyrl_KZ { 0, 0, 124 }, { 273, 66, 124 }, // und_KE -> sw_Latn_KE - { 0, 0, 128 }, { 150, 27, 128 }, // und_KG -> ky_Cyrl_KG - { 0, 0, 39 }, { 135, 60, 39 }, // und_KH -> km_Khmr_KH - { 0, 0, 55 }, { 14, 4, 55 }, // und_KM -> ar_Arab_KM - { 0, 0, 174 }, { 142, 63, 174 }, // und_KP -> ko_Kore_KP - { 0, 0, 218 }, { 142, 63, 218 }, // und_KR -> ko_Kore_KR + { 0, 27, 126 }, { 252, 27, 126 }, // und_Cyrl_XK -> sr_Cyrl_XK + { 0, 0, 126 }, { 9, 66, 126 }, // und_XK -> sq_Latn_XK { 0, 0, 127 }, { 14, 4, 127 }, // und_KW -> ar_Arab_KW - { 0, 0, 123 }, { 239, 27, 123 }, // und_KZ -> ru_Cyrl_KZ + { 0, 0, 128 }, { 150, 27, 128 }, // und_KG -> ky_Cyrl_KG { 0, 0, 129 }, { 153, 65, 129 }, // und_LA -> lo_Laoo_LA + { 0, 0, 130 }, { 270, 66, 130 }, // und_419 -> es_Latn_419 + { 0, 0, 131 }, { 155, 66, 131 }, // und_LV -> lv_Latn_LV { 0, 0, 132 }, { 14, 4, 132 }, // und_LB -> ar_Arab_LB - { 0, 0, 136 }, { 94, 66, 136 }, // und_LI -> de_Latn_LI - { 0, 0, 221 }, { 260, 119, 221 }, // und_LK -> si_Sinh_LK { 0, 0, 133 }, { 268, 66, 133 }, // und_LS -> st_Latn_LS + { 0, 0, 135 }, { 14, 4, 135 }, // und_LY -> ar_Arab_LY + { 0, 0, 136 }, { 94, 66, 136 }, // und_LI -> de_Latn_LI { 0, 0, 137 }, { 160, 66, 137 }, // und_LT -> lt_Latn_LT { 0, 0, 138 }, { 85, 66, 138 }, // und_LU -> fr_Latn_LU - { 0, 0, 131 }, { 155, 66, 131 }, // und_LV -> lv_Latn_LV - { 0, 0, 135 }, { 14, 4, 135 }, // und_LY -> ar_Arab_LY - { 0, 0, 159 }, { 14, 4, 159 }, // und_MA -> ar_Arab_MA - { 0, 0, 155 }, { 85, 66, 155 }, // und_MC -> fr_Latn_MC - { 0, 0, 154 }, { 235, 66, 154 }, // und_MD -> ro_Latn_MD - { 0, 0, 157 }, { 252, 66, 157 }, // und_ME -> sr_Latn_ME - { 0, 0, 199 }, { 85, 66, 199 }, // und_MF -> fr_Latn_MF - { 0, 0, 141 }, { 174, 66, 141 }, // und_MG -> mg_Latn_MG + { 0, 66, 139 }, { 231, 66, 139 }, // und_Latn_MO -> pt_Latn_MO + { 0, 0, 139 }, { 58, 137, 139 }, // und_MO -> zh_Hant_MO + { 0, 66, 140 }, { 9, 66, 140 }, // und_Latn_MK -> sq_Latn_MK { 0, 0, 140 }, { 169, 27, 140 }, // und_MK -> mk_Cyrl_MK + { 0, 0, 141 }, { 174, 66, 141 }, // und_MG -> mg_Latn_MG + { 0, 0, 143 }, { 176, 66, 143 }, // und_MY -> ms_Latn_MY + { 0, 0, 144 }, { 69, 132, 144 }, // und_MV -> dv_Thaa_MV { 0, 0, 145 }, { 28, 66, 145 }, // und_ML -> bm_Latn_ML - { 0, 0, 161 }, { 46, 86, 161 }, // und_MM -> my_Mymr_MM - { 0, 0, 156 }, { 191, 27, 156 }, // und_MN -> mn_Cyrl_MN - { 0, 0, 139 }, { 58, 137, 139 }, // und_MO -> zh_Hant_MO + { 0, 0, 146 }, { 177, 66, 146 }, // und_MT -> mt_Latn_MT { 0, 0, 148 }, { 85, 66, 148 }, // und_MQ -> fr_Latn_MQ + { 0, 66, 149 }, { 85, 66, 149 }, // und_Latn_MR -> fr_Latn_MR { 0, 0, 149 }, { 14, 4, 149 }, // und_MR -> ar_Arab_MR - { 0, 0, 146 }, { 177, 66, 146 }, // und_MT -> mt_Latn_MT + { 0, 4, 150 }, { 305, 4, 150 }, // und_Arab_MU -> ur_Arab_MU + { 0, 29, 150 }, { 38, 29, 150 }, // und_Deva_MU -> bho_Deva_MU { 0, 0, 150 }, { 192, 66, 150 }, // und_MU -> mfe_Latn_MU - { 0, 0, 144 }, { 69, 132, 144 }, // und_MV -> dv_Thaa_MV + { 0, 0, 151 }, { 85, 66, 151 }, // und_YT -> fr_Latn_YT { 0, 0, 152 }, { 270, 66, 152 }, // und_MX -> es_Latn_MX - { 0, 0, 143 }, { 176, 66, 143 }, // und_MY -> ms_Latn_MY + { 0, 27, 154 }, { 303, 27, 154 }, // und_Cyrl_MD -> uk_Cyrl_MD + { 0, 0, 154 }, { 235, 66, 154 }, // und_MD -> ro_Latn_MD + { 0, 0, 155 }, { 85, 66, 155 }, // und_MC -> fr_Latn_MC + { 0, 4, 156 }, { 133, 4, 156 }, // und_Arab_MN -> kk_Arab_MN + { 0, 0, 156 }, { 191, 27, 156 }, // und_MN -> mn_Cyrl_MN + { 0, 0, 157 }, { 252, 66, 157 }, // und_ME -> sr_Latn_ME + { 0, 66, 159 }, { 85, 66, 159 }, // und_Latn_MA -> fr_Latn_MA + { 0, 0, 159 }, { 14, 4, 159 }, // und_MA -> ar_Arab_MA { 0, 0, 160 }, { 231, 66, 160 }, // und_MZ -> pt_Latn_MZ + { 0, 0, 161 }, { 46, 86, 161 }, // und_MM -> my_Mymr_MM { 0, 0, 162 }, { 4, 66, 162 }, // und_NA -> af_Latn_NA + { 0, 0, 164 }, { 199, 29, 164 }, // und_NP -> ne_Deva_NP + { 0, 0, 165 }, { 72, 66, 165 }, // und_NL -> nl_Latn_NL { 0, 0, 166 }, { 85, 66, 166 }, // und_NC -> fr_Latn_NC - { 0, 0, 170 }, { 101, 66, 170 }, // und_NE -> ha_Latn_NE { 0, 0, 168 }, { 270, 66, 168 }, // und_NI -> es_Latn_NI - { 0, 0, 165 }, { 72, 66, 165 }, // und_NL -> nl_Latn_NL + { 0, 4, 169 }, { 101, 4, 169 }, // und_Arab_NG -> ha_Arab_NG + { 0, 0, 170 }, { 101, 66, 170 }, // und_NE -> ha_Latn_NE + { 0, 0, 174 }, { 142, 63, 174 }, // und_KP -> ko_Kore_KP { 0, 0, 175 }, { 209, 66, 175 }, // und_NO -> nb_Latn_NO - { 0, 0, 164 }, { 199, 29, 164 }, // und_NP -> ne_Deva_NP { 0, 0, 176 }, { 14, 4, 176 }, // und_OM -> ar_Arab_OM + { 0, 0, 177 }, { 75, 66, 66 }, // und_QO -> en_Latn_DG + { 0, 4, 178 }, { 305, 4, 178 }, // und_Arab_PK -> ur_Arab_PK + { 0, 0, 178 }, { 305, 4, 178 }, // und_PK -> ur_Arab_PK + { 0, 0, 179 }, { 224, 66, 179 }, // und_PW -> pau_Latn_PW + { 0, 0, 180 }, { 14, 4, 180 }, // und_PS -> ar_Arab_PS { 0, 0, 181 }, { 270, 66, 181 }, // und_PA -> es_Latn_PA - { 0, 0, 184 }, { 270, 66, 184 }, // und_PE -> es_Latn_PE - { 0, 0, 86 }, { 85, 66, 86 }, // und_PF -> fr_Latn_PF { 0, 0, 182 }, { 294, 66, 182 }, // und_PG -> tpi_Latn_PG + { 0, 0, 183 }, { 97, 66, 183 }, // und_PY -> gn_Latn_PY + { 0, 0, 184 }, { 270, 66, 184 }, // und_PE -> es_Latn_PE { 0, 0, 185 }, { 83, 66, 185 }, // und_PH -> fil_Latn_PH - { 0, 0, 178 }, { 305, 4, 178 }, // und_PK -> ur_Arab_PK { 0, 0, 187 }, { 230, 66, 187 }, // und_PL -> pl_Latn_PL - { 0, 0, 200 }, { 85, 66, 200 }, // und_PM -> fr_Latn_PM - { 0, 0, 189 }, { 270, 66, 189 }, // und_PR -> es_Latn_PR - { 0, 0, 180 }, { 14, 4, 180 }, // und_PS -> ar_Arab_PS { 0, 0, 188 }, { 231, 66, 188 }, // und_PT -> pt_Latn_PT - { 0, 0, 179 }, { 224, 66, 179 }, // und_PW -> pau_Latn_PW - { 0, 0, 183 }, { 97, 66, 183 }, // und_PY -> gn_Latn_PY + { 0, 0, 189 }, { 270, 66, 189 }, // und_PR -> es_Latn_PR { 0, 0, 190 }, { 14, 4, 190 }, // und_QA -> ar_Arab_QA - { 0, 0, 177 }, { 75, 66, 66 }, // und_QO -> en_Latn_DG { 0, 0, 191 }, { 85, 66, 191 }, // und_RE -> fr_Latn_RE + { 0, 27, 192 }, { 45, 27, 192 }, // und_Cyrl_RO -> bg_Cyrl_RO { 0, 0, 192 }, { 235, 66, 192 }, // und_RO -> ro_Latn_RO - { 0, 0, 207 }, { 252, 27, 207 }, // und_RS -> sr_Cyrl_RS { 0, 0, 193 }, { 239, 27, 193 }, // und_RU -> ru_Cyrl_RU { 0, 0, 194 }, { 138, 66, 194 }, // und_RW -> rw_Latn_RW + { 0, 0, 195 }, { 85, 66, 195 }, // und_BL -> fr_Latn_BL + { 0, 0, 199 }, { 85, 66, 199 }, // und_MF -> fr_Latn_MF + { 0, 0, 200 }, { 85, 66, 200 }, // und_PM -> fr_Latn_PM + { 0, 0, 202 }, { 244, 66, 202 }, // und_WS -> sm_Latn_WS + { 0, 0, 203 }, { 119, 66, 203 }, // und_SM -> it_Latn_SM + { 0, 0, 204 }, { 231, 66, 204 }, // und_ST -> pt_Latn_ST { 0, 0, 205 }, { 14, 4, 205 }, // und_SA -> ar_Arab_SA + { 0, 0, 206 }, { 85, 66, 206 }, // und_SN -> fr_Latn_SN + { 0, 0, 207 }, { 252, 27, 207 }, // und_RS -> sr_Cyrl_RS { 0, 0, 208 }, { 85, 66, 208 }, // und_SC -> fr_Latn_SC - { 0, 0, 222 }, { 14, 4, 222 }, // und_SD -> ar_Arab_SD - { 0, 0, 225 }, { 275, 66, 225 }, // und_SE -> sv_Latn_SE - { 0, 0, 213 }, { 263, 66, 213 }, // und_SI -> sl_Latn_SI - { 0, 0, 224 }, { 209, 66, 224 }, // und_SJ -> nb_Latn_SJ + { 0, 27, 212 }, { 303, 27, 212 }, // und_Cyrl_SK -> uk_Cyrl_SK { 0, 0, 212 }, { 262, 66, 212 }, // und_SK -> sk_Latn_SK - { 0, 0, 203 }, { 119, 66, 203 }, // und_SM -> it_Latn_SM - { 0, 0, 206 }, { 85, 66, 206 }, // und_SN -> fr_Latn_SN + { 0, 0, 213 }, { 263, 66, 213 }, // und_SI -> sl_Latn_SI { 0, 0, 215 }, { 265, 66, 215 }, // und_SO -> so_Latn_SO + { 0, 0, 217 }, { 0, 66, 217 }, // und_GS -> und_Latn_GS + { 0, 0, 218 }, { 142, 63, 218 }, // und_KR -> ko_Kore_KR + { 0, 0, 220 }, { 270, 66, 220 }, // und_ES -> es_Latn_ES + { 0, 0, 221 }, { 260, 119, 221 }, // und_LK -> si_Sinh_LK + { 0, 0, 222 }, { 14, 4, 222 }, // und_SD -> ar_Arab_SD { 0, 0, 223 }, { 72, 66, 223 }, // und_SR -> nl_Latn_SR - { 0, 0, 204 }, { 231, 66, 204 }, // und_ST -> pt_Latn_ST - { 0, 0, 72 }, { 270, 66, 72 }, // und_SV -> es_Latn_SV + { 0, 0, 224 }, { 209, 66, 224 }, // und_SJ -> nb_Latn_SJ + { 0, 47, 225 }, { 323, 47, 225 }, // und_Hebr_SE -> yi_Hebr_SE + { 0, 0, 225 }, { 275, 66, 225 }, // und_SE -> sv_Latn_SE + { 0, 0, 226 }, { 94, 66, 226 }, // und_CH -> de_Latn_CH + { 0, 66, 227 }, { 85, 66, 227 }, // und_Latn_SY -> fr_Latn_SY { 0, 0, 227 }, { 14, 4, 227 }, // und_SY -> ar_Arab_SY - { 0, 0, 48 }, { 85, 66, 48 }, // und_TD -> fr_Latn_TD - { 0, 0, 87 }, { 85, 66, 87 }, // und_TF -> fr_Latn_TF - { 0, 0, 233 }, { 85, 66, 233 }, // und_TG -> fr_Latn_TG - { 0, 0, 231 }, { 289, 133, 231 }, // und_TH -> th_Thai_TH + { 0, 66, 228 }, { 284, 66, 228 }, // und_Latn_TW -> trv_Latn_TW + { 0, 0, 228 }, { 58, 137, 228 }, // und_TW -> zh_Hant_TW + { 0, 4, 229 }, { 228, 4, 229 }, // und_Arab_TJ -> fa_Arab_TJ { 0, 0, 229 }, { 282, 27, 229 }, // und_TJ -> tg_Cyrl_TJ - { 0, 0, 234 }, { 293, 66, 234 }, // und_TK -> tkl_Latn_TK + { 0, 0, 230 }, { 273, 66, 230 }, // und_TZ -> sw_Latn_TZ + { 0, 0, 231 }, { 289, 133, 231 }, // und_TH -> th_Thai_TH { 0, 0, 232 }, { 231, 66, 232 }, // und_TL -> pt_Latn_TL - { 0, 0, 240 }, { 299, 66, 240 }, // und_TM -> tk_Latn_TM - { 0, 0, 238 }, { 14, 4, 238 }, // und_TN -> ar_Arab_TN + { 0, 0, 233 }, { 85, 66, 233 }, // und_TG -> fr_Latn_TG + { 0, 0, 234 }, { 293, 66, 234 }, // und_TK -> tkl_Latn_TK { 0, 0, 235 }, { 295, 66, 235 }, // und_TO -> to_Latn_TO + { 0, 66, 238 }, { 85, 66, 238 }, // und_Latn_TN -> fr_Latn_TN + { 0, 0, 238 }, { 14, 4, 238 }, // und_TN -> ar_Arab_TN + { 0, 4, 239 }, { 25, 4, 239 }, // und_Arab_TR -> az_Arab_TR { 0, 0, 239 }, { 298, 66, 239 }, // und_TR -> tr_Latn_TR + { 0, 0, 240 }, { 299, 66, 240 }, // und_TM -> tk_Latn_TM { 0, 0, 242 }, { 300, 66, 242 }, // und_TV -> tvl_Latn_TV - { 0, 0, 228 }, { 58, 137, 228 }, // und_TW -> zh_Hant_TW - { 0, 0, 230 }, { 273, 66, 230 }, // und_TZ -> sw_Latn_TZ - { 0, 0, 244 }, { 303, 27, 244 }, // und_UA -> uk_Cyrl_UA { 0, 0, 243 }, { 273, 66, 243 }, // und_UG -> sw_Latn_UG + { 0, 47, 244 }, { 323, 47, 244 }, // und_Hebr_UA -> yi_Hebr_UA + { 0, 66, 244 }, { 230, 66, 244 }, // und_Latn_UA -> pl_Latn_UA + { 0, 0, 244 }, { 303, 27, 244 }, // und_UA -> uk_Cyrl_UA + { 0, 0, 245 }, { 14, 4, 245 }, // und_AE -> ar_Arab_AE + { 0, 4, 246 }, { 132, 4, 246 }, // und_Arab_GB -> ks_Arab_GB + { 0, 47, 246 }, { 323, 47, 246 }, // und_Hebr_GB -> yi_Hebr_GB + { 0, 47, 248 }, { 323, 47, 248 }, // und_Hebr_US -> yi_Hebr_US { 0, 0, 250 }, { 270, 66, 250 }, // und_UY -> es_Latn_UY { 0, 0, 251 }, { 307, 66, 251 }, // und_UZ -> uz_Latn_UZ + { 0, 0, 252 }, { 39, 66, 252 }, // und_VU -> bi_Latn_VU { 0, 0, 253 }, { 119, 66, 253 }, // und_VA -> it_Latn_VA { 0, 0, 254 }, { 270, 66, 254 }, // und_VE -> es_Latn_VE { 0, 0, 255 }, { 310, 66, 255 }, // und_VN -> vi_Latn_VN - { 0, 0, 252 }, { 39, 66, 252 }, // und_VU -> bi_Latn_VU { 0, 0, 256 }, { 85, 66, 256 }, // und_WF -> fr_Latn_WF - { 0, 0, 202 }, { 244, 66, 202 }, // und_WS -> sm_Latn_WS - { 0, 0, 126 }, { 9, 66, 126 }, // und_XK -> sq_Latn_XK + { 0, 0, 257 }, { 14, 4, 257 }, // und_EH -> ar_Arab_EH { 0, 0, 259 }, { 14, 4, 259 }, // und_YE -> ar_Arab_YE - { 0, 0, 151 }, { 85, 66, 151 }, // und_YT -> fr_Latn_YT { 0, 0, 261 }, { 254, 66, 261 }, // und_ZW -> sn_Latn_ZW { 0, 1, 0 }, { 87, 1, 102 }, // und_Adlm -> ff_Adlm_GN - { 0, 20, 0 }, { 156, 20, 193 }, // und_Aghb -> lez_Aghb_RU { 0, 4, 0 }, { 14, 4, 71 }, // und_Arab -> ar_Arab_EG - { 0, 4, 53 }, { 176, 4, 53 }, // und_Arab_CC -> ms_Arab_CC - { 0, 4, 50 }, { 306, 4, 50 }, // und_Arab_CN -> ug_Arab_CN - { 0, 4, 246 }, { 132, 4, 246 }, // und_Arab_GB -> ks_Arab_GB - { 0, 4, 111 }, { 176, 4, 111 }, // und_Arab_ID -> ms_Arab_ID - { 0, 4, 110 }, { 305, 4, 110 }, // und_Arab_IN -> ur_Arab_IN - { 0, 4, 156 }, { 133, 4, 156 }, // und_Arab_MN -> kk_Arab_MN - { 0, 4, 150 }, { 305, 4, 150 }, // und_Arab_MU -> ur_Arab_MU - { 0, 4, 169 }, { 101, 4, 169 }, // und_Arab_NG -> ha_Arab_NG - { 0, 4, 178 }, { 305, 4, 178 }, // und_Arab_PK -> ur_Arab_PK - { 0, 4, 229 }, { 228, 4, 229 }, // und_Arab_TJ -> fa_Arab_TJ - { 0, 4, 239 }, { 25, 4, 239 }, // und_Arab_TR -> az_Arab_TR - { 0, 49, 0 }, { 16, 49, 112 }, // und_Armi -> arc_Armi_IR { 0, 5, 0 }, { 17, 5, 12 }, // und_Armn -> hy_Armn_AM { 0, 6, 0 }, { 23, 6, 112 }, // und_Avst -> ae_Avst_IR { 0, 7, 0 }, { 27, 7, 111 }, // und_Bali -> ban_Bali_ID { 0, 8, 0 }, { 29, 8, 40 }, // und_Bamu -> bax_Bamu_CM - { 0, 11, 0 }, { 34, 11, 111 }, // und_Batk -> bbc_Batk_ID { 0, 9, 0 }, { 30, 9, 20 }, // und_Beng -> bn_Beng_BD + { 0, 11, 0 }, { 34, 11, 111 }, // und_Batk -> bbc_Batk_ID { 0, 12, 0 }, { 247, 12, 110 }, // und_Bhks -> sa_Bhks_IN { 0, 13, 0 }, { 58, 13, 228 }, // und_Bopo -> zh_Bopo_TW { 0, 15, 0 }, { 85, 15, 84 }, // und_Brai -> fr_Brai_FR { 0, 16, 0 }, { 44, 16, 111 }, // und_Bugi -> bug_Bugi_ID - { 0, 21, 0 }, { 52, 21, 20 }, // und_Cakm -> ccp_Cakm_BD { 0, 18, 0 }, { 65, 18, 41 }, // und_Cans -> cr_Cans_CA + { 0, 20, 0 }, { 156, 20, 193 }, // und_Aghb -> lez_Aghb_RU + { 0, 21, 0 }, { 52, 21, 20 }, // und_Cakm -> ccp_Cakm_BD { 0, 23, 0 }, { 55, 23, 248 }, // und_Cher -> chr_Cher_US { 0, 24, 0 }, { 62, 24, 71 }, // und_Copt -> cop_Copt_EG + { 0, 25, 0 }, { 7, 25, 113 }, // und_Xsux -> akk_Xsux_IQ { 0, 26, 0 }, { 13, 26, 63 }, // und_Cprt -> grc_Cprt_CY { 0, 27, 0 }, { 239, 27, 193 }, // und_Cyrl -> ru_Cyrl_RU - { 0, 27, 3 }, { 169, 27, 3 }, // und_Cyrl_AL -> mk_Cyrl_AL - { 0, 27, 29 }, { 252, 27, 29 }, // und_Cyrl_BA -> sr_Cyrl_BA - { 0, 27, 90 }, { 222, 27, 90 }, // und_Cyrl_GE -> os_Cyrl_GE - { 0, 27, 94 }, { 169, 27, 94 }, // und_Cyrl_GR -> mk_Cyrl_GR - { 0, 27, 154 }, { 303, 27, 154 }, // und_Cyrl_MD -> uk_Cyrl_MD - { 0, 27, 192 }, { 45, 27, 192 }, // und_Cyrl_RO -> bg_Cyrl_RO - { 0, 27, 212 }, { 303, 27, 212 }, // und_Cyrl_SK -> uk_Cyrl_SK - { 0, 27, 126 }, { 252, 27, 126 }, // und_Cyrl_XK -> sr_Cyrl_XK { 0, 29, 0 }, { 105, 29, 110 }, // und_Deva -> hi_Deva_IN - { 0, 29, 27 }, { 199, 29, 27 }, // und_Deva_BT -> ne_Deva_BT - { 0, 29, 150 }, { 38, 29, 150 }, // und_Deva_MU -> bho_Deva_MU { 0, 30, 0 }, { 85, 30, 84 }, // und_Dupl -> fr_Dupl_FR { 0, 31, 0 }, { 12, 31, 71 }, // und_Egyp -> egy_Egyp_EG { 0, 32, 0 }, { 9, 32, 3 }, // und_Elba -> sq_Elba_AL @@ -728,93 +750,71 @@ static const QLocaleId likely_subtags[] = { { 0, 39, 0 }, { 96, 39, 94 }, // und_Grek -> el_Grek_GR { 0, 40, 0 }, { 98, 40, 110 }, // und_Gujr -> gu_Gujr_IN { 0, 41, 0 }, { 233, 41, 110 }, // und_Guru -> pa_Guru_IN - { 0, 45, 0 }, { 58, 45, 228 }, // und_Hanb -> zh_Hanb_TW { 0, 42, 0 }, { 142, 42, 218 }, // und_Hang -> ko_Hang_KR { 0, 43, 0 }, { 58, 43, 50 }, // und_Hani -> zh_Hani_CN - { 0, 118, 0 }, { 58, 118, 50 }, // und_Hans -> zh_Hans_CN - { 0, 137, 0 }, { 58, 137, 228 }, // und_Hant -> zh_Hant_TW + { 0, 45, 0 }, { 58, 45, 228 }, // und_Hanb -> zh_Hanb_TW { 0, 47, 0 }, { 103, 47, 116 }, // und_Hebr -> he_Hebr_IL - { 0, 47, 41 }, { 323, 47, 41 }, // und_Hebr_CA -> yi_Hebr_CA - { 0, 47, 246 }, { 323, 47, 246 }, // und_Hebr_GB -> yi_Hebr_GB - { 0, 47, 225 }, { 323, 47, 225 }, // und_Hebr_SE -> yi_Hebr_SE - { 0, 47, 244 }, { 323, 47, 244 }, // und_Hebr_UA -> yi_Hebr_UA - { 0, 47, 248 }, { 323, 47, 248 }, // und_Hebr_US -> yi_Hebr_US { 0, 48, 0 }, { 120, 48, 120 }, // und_Hira -> ja_Hira_JP - { 0, 94, 0 }, { 107, 94, 108 }, // und_Hung -> hu_Hung_HU + { 0, 49, 0 }, { 16, 49, 112 }, // und_Armi -> arc_Armi_IR + { 0, 50, 0 }, { 223, 50, 112 }, // und_Phli -> pal_Phli_IR { 0, 52, 0 }, { 142, 52, 218 }, // und_Jamo -> ko_Jamo_KR - { 0, 54, 0 }, { 121, 54, 111 }, // und_Java -> jv_Java_ID { 0, 53, 0 }, { 120, 53, 120 }, // und_Jpan -> ja_Jpan_JP + { 0, 54, 0 }, { 121, 54, 111 }, // und_Java -> jv_Java_ID + { 0, 55, 0 }, { 38, 55, 110 }, // und_Kthi -> bho_Kthi_IN + { 0, 56, 0 }, { 130, 56, 110 }, // und_Knda -> kn_Knda_IN { 0, 57, 0 }, { 120, 57, 120 }, // und_Kana -> ja_Kana_JP { 0, 60, 0 }, { 135, 60, 39 }, // und_Khmr -> km_Khmr_KH { 0, 61, 0 }, { 259, 61, 110 }, // und_Khoj -> sd_Khoj_IN - { 0, 56, 0 }, { 130, 56, 110 }, // und_Knda -> kn_Knda_IN + { 0, 62, 0 }, { 259, 62, 110 }, // und_Sind -> sd_Sind_IN { 0, 63, 0 }, { 142, 63, 218 }, // und_Kore -> ko_Kore_KR - { 0, 55, 0 }, { 38, 55, 110 }, // und_Kthi -> bho_Kthi_IN { 0, 65, 0 }, { 153, 65, 129 }, // und_Laoo -> lo_Laoo_LA - { 0, 66, 1 }, { 299, 66, 1 }, // und_Latn_AF -> tk_Latn_AF - { 0, 66, 12 }, { 148, 66, 12 }, // und_Latn_AM -> ku_Latn_AM - { 0, 66, 50 }, { 326, 66, 50 }, // und_Latn_CN -> za_Latn_CN - { 0, 66, 63 }, { 298, 66, 63 }, // und_Latn_CY -> tr_Latn_CY - { 0, 66, 4 }, { 85, 66, 4 }, // und_Latn_DZ -> fr_Latn_DZ - { 0, 66, 77 }, { 75, 66, 77 }, // und_Latn_ET -> en_Latn_ET - { 0, 66, 90 }, { 148, 66, 90 }, // und_Latn_GE -> ku_Latn_GE - { 0, 66, 112 }, { 299, 66, 112 }, // und_Latn_IR -> tk_Latn_IR - { 0, 66, 55 }, { 85, 66, 55 }, // und_Latn_KM -> fr_Latn_KM - { 0, 66, 159 }, { 85, 66, 159 }, // und_Latn_MA -> fr_Latn_MA - { 0, 66, 140 }, { 9, 66, 140 }, // und_Latn_MK -> sq_Latn_MK - { 0, 66, 139 }, { 231, 66, 139 }, // und_Latn_MO -> pt_Latn_MO - { 0, 66, 149 }, { 85, 66, 149 }, // und_Latn_MR -> fr_Latn_MR - { 0, 66, 227 }, { 85, 66, 227 }, // und_Latn_SY -> fr_Latn_SY - { 0, 66, 238 }, { 85, 66, 238 }, // und_Latn_TN -> fr_Latn_TN - { 0, 66, 228 }, { 284, 66, 228 }, // und_Latn_TW -> trv_Latn_TW - { 0, 66, 244 }, { 230, 66, 244 }, // und_Latn_UA -> pl_Latn_UA { 0, 70, 0 }, { 13, 70, 94 }, // und_Linb -> grc_Linb_GR { 0, 73, 0 }, { 105, 73, 110 }, // und_Mahj -> hi_Mahj_IN + { 0, 74, 0 }, { 175, 74, 110 }, // und_Mlym -> ml_Mlym_IN { 0, 77, 0 }, { 290, 77, 50 }, // und_Marc -> bo_Marc_CN + { 0, 78, 0 }, { 179, 78, 110 }, // und_Mtei -> mni_Mtei_IN { 0, 79, 0 }, { 187, 79, 209 }, // und_Mend -> men_Mend_SL - { 0, 74, 0 }, { 175, 74, 110 }, // und_Mlym -> ml_Mlym_IN { 0, 82, 0 }, { 183, 82, 110 }, // und_Modi -> mr_Modi_IN { 0, 83, 0 }, { 191, 83, 50 }, // und_Mong -> mn_Mong_CN - { 0, 78, 0 }, { 179, 78, 110 }, // und_Mtei -> mni_Mtei_IN { 0, 86, 0 }, { 46, 86, 161 }, // und_Mymr -> my_Mymr_MM { 0, 87, 0 }, { 16, 87, 122 }, // und_Nbat -> arc_Nbat_JO { 0, 88, 0 }, { 200, 88, 164 }, // und_Newa -> new_Newa_NP { 0, 90, 0 }, { 178, 90, 102 }, // und_Nkoo -> man_Nkoo_GN + { 0, 91, 0 }, { 215, 91, 110 }, // und_Orya -> or_Orya_IN { 0, 92, 0 }, { 217, 92, 114 }, // und_Ogam -> sga_Ogam_IE { 0, 93, 0 }, { 248, 93, 110 }, // und_Olck -> sat_Olck_IN - { 0, 91, 0 }, { 215, 91, 110 }, // und_Orya -> or_Orya_IN + { 0, 94, 0 }, { 107, 94, 108 }, // und_Hung -> hu_Hung_HU + { 0, 97, 0 }, { 139, 97, 193 }, // und_Perm -> kv_Perm_RU + { 0, 98, 0 }, { 219, 98, 112 }, // und_Xpeo -> peo_Xpeo_IR { 0, 101, 0 }, { 221, 101, 248 }, // und_Osge -> osa_Osge_US { 0, 102, 0 }, { 265, 102, 215 }, // und_Osma -> so_Osma_SO { 0, 104, 0 }, { 16, 104, 227 }, // und_Palm -> arc_Palm_SY - { 0, 97, 0 }, { 139, 97, 193 }, // und_Perm -> kv_Perm_RU { 0, 106, 0 }, { 159, 106, 50 }, // und_Phag -> lzh_Phag_CN - { 0, 50, 0 }, { 223, 50, 112 }, // und_Phli -> pal_Phli_IR - { 0, 109, 0 }, { 223, 109, 50 }, // und_Phlp -> pal_Phlp_CN { 0, 107, 0 }, { 229, 107, 132 }, // und_Phnx -> phn_Phnx_LB + { 0, 109, 0 }, { 223, 109, 50 }, // und_Phlp -> pal_Phlp_CN { 0, 111, 0 }, { 218, 111, 225 }, // und_Runr -> non_Runr_SE { 0, 113, 0 }, { 250, 113, 110 }, // und_Saur -> saz_Saur_IN - { 0, 117, 0 }, { 10, 117, 248 }, // und_Sgnw -> ase_Sgnw_US - { 0, 115, 0 }, { 75, 115, 246 }, // und_Shaw -> en_Shaw_GB { 0, 114, 0 }, { 247, 114, 110 }, // und_Shrd -> sa_Shrd_IN + { 0, 115, 0 }, { 75, 115, 246 }, // und_Shaw -> en_Shaw_GB { 0, 116, 0 }, { 247, 116, 110 }, // und_Sidd -> sa_Sidd_IN - { 0, 62, 0 }, { 259, 62, 110 }, // und_Sind -> sd_Sind_IN + { 0, 117, 0 }, { 10, 117, 248 }, // und_Sgnw -> ase_Sgnw_US + { 0, 118, 0 }, { 58, 118, 50 }, // und_Hans -> zh_Hans_CN { 0, 119, 0 }, { 260, 119, 221 }, // und_Sinh -> si_Sinh_LK { 0, 121, 0 }, { 272, 121, 111 }, // und_Sund -> su_Sund_ID { 0, 123, 0 }, { 277, 123, 113 }, // und_Syrc -> syr_Syrc_IQ + { 0, 124, 0 }, { 83, 124, 185 }, // und_Tglg -> fil_Tglg_PH + { 0, 127, 0 }, { 280, 127, 255 }, // und_Tavt -> blt_Tavt_VN { 0, 128, 0 }, { 70, 128, 110 }, // und_Takr -> doi_Takr_IN { 0, 129, 0 }, { 283, 129, 110 }, // und_Taml -> ta_Taml_IN - { 0, 127, 0 }, { 280, 127, 255 }, // und_Tavt -> blt_Tavt_VN { 0, 131, 0 }, { 287, 131, 110 }, // und_Telu -> te_Telu_IN - { 0, 135, 0 }, { 271, 135, 159 }, // und_Tfng -> zgh_Tfng_MA - { 0, 124, 0 }, { 83, 124, 185 }, // und_Tglg -> fil_Tglg_PH { 0, 132, 0 }, { 69, 132, 144 }, // und_Thaa -> dv_Thaa_MV { 0, 133, 0 }, { 289, 133, 231 }, // und_Thai -> th_Thai_TH { 0, 134, 0 }, { 290, 134, 50 }, // und_Tibt -> bo_Tibt_CN + { 0, 135, 0 }, { 271, 135, 159 }, // und_Tfng -> zgh_Tfng_MA { 0, 136, 0 }, { 171, 136, 110 }, // und_Tirh -> mai_Tirh_IN + { 0, 137, 0 }, { 58, 137, 228 }, // und_Hant -> zh_Hant_TW { 0, 138, 0 }, { 302, 138, 227 }, // und_Ugar -> uga_Ugar_SY { 0, 139, 0 }, { 308, 139, 134 }, // und_Vaii -> vai_Vaii_LR - { 0, 98, 0 }, { 219, 98, 112 }, // und_Xpeo -> peo_Xpeo_IR - { 0, 25, 0 }, { 7, 25, 113 }, // und_Xsux -> akk_Xsux_IQ { 0, 141, 0 }, { 255, 141, 50 } // und_Yiii -> ii_Yiii_CN }; diff --git a/util/locale_database/qlocalexml.py b/util/locale_database/qlocalexml.py index 97b369fde8..e5aadba995 100644 --- a/util/locale_database/qlocalexml.py +++ b/util/locale_database/qlocalexml.py @@ -183,12 +183,11 @@ class QLocaleXmlReader (object): def ids(t): return tuple(x[0] for x in t) - for i, pair in enumerate(self.__likely, 1): + for pair in self.__likely: have = self.__fromNames(pair[0]) give = self.__fromNames(pair[1]) yield ('_'.join(tag(have)), ids(have), - '_'.join(tag(give)), ids(give), - i == len(self.__likely)) + '_'.join(tag(give)), ids(give)) def defaultMap(self): """Map language and script to their default country by ID. diff --git a/util/locale_database/qlocalexml2cpp.py b/util/locale_database/qlocalexml2cpp.py index 40f5ef3735..1483545ce7 100755 --- a/util/locale_database/qlocalexml2cpp.py +++ b/util/locale_database/qlocalexml2cpp.py @@ -163,11 +163,26 @@ class LocaleSourceEditor (SourceFileEditor): class LocaleDataWriter (LocaleSourceEditor): def likelySubtags(self, likely): + # First sort likely, so that we can use binary search in C++ + # code. Although the entries are (lang, script, region), sort + # as (lang, region, script) and sort 0 after all non-zero + # values. This ensures that, when several mappings partially + # match a requested locale, the one we should prefer to use + # appears first. + huge = 0x10000 # > any ushort; all tag values are ushort + def keyLikely(entry): + have = entry[1] # Numeric id triple + return have[0] or huge, have[2] or huge, have[1] or huge # language, region, script + likely = list(likely) # Turn generator into list so we can sort it + likely.sort(key=keyLikely) + + i = 0 self.writer.write('static const QLocaleId likely_subtags[] = {\n') - for had, have, got, give, last in likely: + for had, have, got, give in likely: + i += 1 self.writer.write(' {{ {:3d}, {:3d}, {:3d} }}'.format(*have)) self.writer.write(', {{ {:3d}, {:3d}, {:3d} }}'.format(*give)) - self.writer.write(' ' if last else ',') + self.writer.write(' ' if i == len(likely) else ',') self.writer.write(' // {} -> {}\n'.format(had, got)) self.writer.write('};\n\n') |