{"version":3,"file":"index.mjs","names":[],"sources":["../src/enums.ts","../src/typeGuards.ts","../src/defineMessages.ts"],"sourcesContent":["/* eslint-disable max-lines */\n\n/**\n * The locale identifier keys\n *\n * NOTE: For every 4+ char locale below (e.g. \"fr-FR\"), there is a\n * corresponding 2-char base locale (e.g. \"fr\") present in LOCALE_KEY.\n *\n * @see https://en.wikipedia.org/wik i/List-of-ISO-639-1-codes\n */\nexport const LOCALE_KEY = {\n  /* ===== Base (2-char) locales ===== */\n  /** English */\n  En: 'en',\n  /** Arabic */\n  Ar: 'ar',\n  /** French */\n  Fr: 'fr',\n  /** Spanish */\n  Es: 'es',\n  /** German */\n  De: 'de',\n  /** Italian */\n  It: 'it',\n  /** Japanese */\n  Ja: 'ja',\n  /** Russian */\n  Ru: 'ru',\n  /** Afrikaans */\n  Af: 'af',\n  /** Bulgarian */\n  Bg: 'bg',\n  /** Chinese (base) */\n  Zh: 'zh',\n  /** Croatian */\n  Hr: 'hr',\n  /** Czech */\n  Cs: 'cs',\n  /** Danish */\n  Da: 'da',\n  /** Finnish */\n  Fi: 'fi',\n  /** Greek */\n  El: 'el',\n  /** Hindi */\n  Hi: 'hi',\n  /** Hungarian */\n  Hu: 'hu',\n  /** Indonesian */\n  // TODO: https://linear.app/transcend/issue/GOOM-417/add-id-to-locale-key\n  // Id: 'id',\n  /** Korean */\n  Ko: 'ko',\n  /** Lithuanian */\n  Lt: 'lt',\n  /** Malay */\n  Ms: 'ms',\n  /** Marathi */\n  Mr: 'mr',\n  /** Norwegian Bokmål */\n  Nb: 'nb',\n  /** Polish */\n  Pl: 'pl',\n  /** Portuguese */\n  Pt: 'pt',\n  /** Romanian */\n  Ro: 'ro',\n  /** Serbian (unspecified script) */\n  Sr: 'sr',\n  /** Swedish */\n  Sv: 'sv',\n  /** Tamil */\n  Ta: 'ta',\n  /** Thai */\n  Th: 'th',\n  /** Turkish */\n  Tr: 'tr',\n  /** Ukrainian */\n  Uk: 'uk',\n  /** Vietnamese */\n  Vi: 'vi',\n  /** Zulu */\n  Zu: 'zu',\n  /** Hebrew */\n  He: 'he',\n  /** Dutch */\n  Nl: 'nl',\n  /** Estonian */\n  Et: 'et',\n  /** Icelandic */\n  Is: 'is',\n  /** Latvian */\n  Lv: 'lv',\n  /** Maltese */\n  Mt: 'mt',\n  /** Slovak */\n  Sk: 'sk',\n  /** Slovenian */\n  Sl: 'sl',\n  /** Filipino */\n  Fil: 'fil',\n  /** Bosnian */\n  Bs: 'bs',\n  /** Catalan */\n  Ca: 'ca',\n  /** Basque */\n  Eu: 'eu',\n  /** Galician */\n  Gl: 'gl',\n  /** Dhivehi */\n  Dv: 'dv',\n  /** Urdu */\n  Ur: 'ur',\n  /** Albanian */\n  Sq: 'sq',\n  /** Amharic */\n  Am: 'am',\n  /** Armenian */\n  Hy: 'hy',\n  /** Azerbaijani */\n  Az: 'az',\n  /** Bengali */\n  Bn: 'bn',\n  /** Dari */\n  FaAf: 'fa-AF',\n  /** Tagalog */\n  Tl: 'tl',\n  /** Georgian */\n  Ka: 'ka',\n  /** Gujarati */\n  Gu: 'gu',\n  /** Haitian Creole */\n  Ht: 'ht',\n  /** Hausa */\n  Ha: 'ha',\n  /** Irish */\n  Ga: 'ga',\n  /** Kannada */\n  Kn: 'kn',\n  /** Kazakh */\n  Kk: 'kk',\n  /** Macedonian */\n  Mk: 'mk',\n  /** Malayalam */\n  Ml: 'ml',\n  /** Mongolian */\n  Mn: 'mn',\n  /** Pashto */\n  Ps: 'ps',\n  /** Punjabi */\n  Pa: 'pa',\n  /** Sinhala */\n  Si: 'si',\n  /** Somali */\n  So: 'so',\n  /** Swahili */\n  Sw: 'sw',\n  /** Telugu */\n  Te: 'te',\n  /** Uzbek */\n  Uz: 'uz',\n  /** Welsh */\n  Cy: 'cy',\n\n  /* ===== Region/script variants (4+ char) ===== */\n  /** Arabic UAE */\n  ArAe: 'ar-AE',\n  /** French (France) */\n  FrFr: 'fr-FR',\n  /** German (Germany) */\n  DeDe: 'de-DE',\n  /** Austrian German */\n  DeAt: 'de-AT',\n  /** Swiss German */\n  DeCh: 'de-CH',\n  /** Italian (Italy) */\n  ItIt: 'it-IT',\n  /** Swiss Italian */\n  ItCh: 'it-CH',\n  /** Afrikaans (South Africa) */\n  AfZz: 'af-ZA',\n  /** Bulgarian (Bulgaria) */\n  BgBg: 'bg-BG',\n  /** Chinese (Simplified, China) */\n  ZhCn: 'zh-CN',\n  /** Chinese (Traditional, Taiwan) */\n  ZhTw: 'zh-TW',\n  /** Chinese (Simplified) */\n  ZhHans: 'zh-Hans',\n  /** Croatian (Croatia) */\n  HrHr: 'hr-HR',\n  /** Czech (Czechia) */\n  CsCz: 'cs-CZ',\n  /** Danish (Denmark) */\n  DaDk: 'da-DK',\n  /** English (UK) */\n  EnGb: 'en-GB',\n  /** English (Canada) */\n  EnCa: 'en-CA',\n  /** English (UAE) */\n  EnAe: 'en-AE',\n  /** Finnish (Finland) */\n  FiFi: 'fi-FI',\n  /** Greek (Greece) */\n  ElGr: 'el-GR',\n  /** Hindi (India) */\n  HiIn: 'hi-IN',\n  /** Hungarian (Hungary) */\n  HuHu: 'hu-HU',\n  /** Indonesian (Indonesia) */\n  IdId: 'id-ID',\n  /** Japanese (Japan) */\n  JaJp: 'ja-JP',\n  /** Korean (South Korea) */\n  KoKr: 'ko-KR',\n  /** Lithuanian (Lithuania) */\n  LtLt: 'lt-LT',\n  /** Malay (Malaysia) */\n  MsMy: 'ms-MY',\n  /** Malay (Singapore) */\n  MsSg: 'ms-SG',\n  /** Marathi (India) */\n  MrIn: 'mr-IN',\n  /** Norwegian Bokmål (Norway) */\n  NbNi: 'nb-NO',\n  /** Polish (Poland) */\n  PlPl: 'pl-PL',\n  /** Portuguese (Brazil) */\n  PtBr: 'pt-BR',\n  /** Portuguese (Portugal) */\n  PtPt: 'pt-PT',\n  /** Romanian (Romania) */\n  RoRo: 'ro-RO',\n  /** Russian (Russia) */\n  RuRu: 'ru-RU',\n  /** Serbian (Latin, Serbia) */\n  SrLatnRs: 'sr-Latn-RS',\n  /** Serbian (Cyrillic, Serbia) */\n  SrCyrlRs: 'sr-Cyrl-RS',\n  /** Swedish (Sweden) */\n  SvSe: 'sv-SE',\n  /** Tamil (India) */\n  TaIn: 'ta-IN',\n  /** Thai (Thailand) */\n  ThTh: 'th-TH',\n  /** Turkish (Turkey) */\n  TrTr: 'tr-TR',\n  /** Ukrainian (Ukraine) */\n  UkUa: 'uk-UA',\n  /** Vietnamese (Vietnam) */\n  ViVn: 'vi-VN',\n  /** Zulu (South Africa) */\n  ZuZa: 'zu-ZA',\n  /** English (United States) */\n  EnUs: 'en-US',\n  /** English (Australia) */\n  EnAu: 'en-AU',\n  /** French (Belgium) */\n  FrBe: 'fr-BE',\n  /** French (Canada/Québec) */\n  FrCa: 'fr-CA',\n  /** French (Switzerland) */\n  FrCh: 'fr-CH',\n  /** English (Ireland) */\n  EnIe: 'en-IE',\n  /** Dutch (Netherlands) */\n  NlNl: 'nl-NL',\n  /** Dutch (Belgium) */\n  NlBe: 'nl-BE',\n  /** Spanish (Spain) */\n  EsEs: 'es-ES',\n  /** Spanish (Argentina) */\n  EsAr: 'es-AR',\n  /** Spanish (Costa Rica) */\n  EsCr: 'es-CR',\n  /** Spanish (Chile) */\n  EsCl: 'es-CL',\n  /** Spanish (Colombia) */\n  EsCo: 'es-CO',\n  /** Spanish (Mexico) */\n  EsMx: 'es-MX',\n  /** Spanish (Latin America & Caribbean) */\n  Es419: 'es-419',\n  /** Chinese (Traditional, Hong Kong) */\n  ZhHk: 'zh-HK',\n  /** Hebrew (Israel) */\n  HeIl: 'he-IL',\n  /** English (New Zealand) */\n  EnNz: 'en-NZ',\n  /** Estonian (Estonia) */\n  EtEe: 'et-EE',\n  /** Icelandic (Iceland) */\n  IsIs: 'is-IS',\n  /** Latvian (Latvia) */\n  LvLv: 'lv-LV',\n  /** Maltese (Malta) */\n  MtMt: 'mt-MT',\n  /** Slovak (Slovakia) */\n  SkSk: 'sk-SK',\n  /** Slovenian (Slovenia) */\n  SlSl: 'sl-SL',\n  /** Filipino (Philippines) */\n  FilPh: 'fil-PH',\n  /** Albanian (Albania) */\n  SqAl: 'sq-AL',\n  /** Albanian (Macedonia) */\n  SqMk: 'sq-MK',\n  /** Albanian (Kosovo) */\n  SqXk: 'sq-XK',\n  /** Amharic (Ethiopia) */\n  AmEt: 'am-ET',\n  /** Armenian (Armenia) */\n  HyAm: 'hy-AM',\n  /** Azerbaijani (Azerbaijan) */\n  AzAz: 'az-AZ',\n  /** Bengali (Bangladesh) */\n  BnBd: 'bn-BD',\n  /** Bengali (India) */\n  BnIn: 'bn-IN',\n  /** Bosnian (Bosnia and Herzegovina) */\n  BsBa: 'bs-BA',\n  /** Bosnian (Cyrillic, Bosnia and Herzegovina) */\n  BsCyrlBa: 'bs-Cyrl-BA',\n  /** Bosnian (Latin, Bosnia and Herzegovina) */\n  BsLatnBa: 'bs-Latn-BA',\n  /** Catalan (Spain) */\n  CaEs: 'ca-ES',\n  /** Catalan (Andorra) */\n  CaAd: 'ca-AD',\n  /** Catalan (France) */\n  CaFr: 'ca-FR',\n  /** Catalan (Italy) */\n  CaIt: 'ca-IT',\n  /** Tagalog (Philippines) */\n  TlPh: 'tl-PH',\n  /** Georgian (Georgia) */\n  KaGe: 'ka-GE',\n  /** Gujarati (India) */\n  GuIn: 'gu-IN',\n  /** Haitian Creole (Haiti) */\n  HtHt: 'ht-HT',\n  /** Hausa (Nigeria) */\n  HaNg: 'ha-NG',\n  /** Hausa (Niger) */\n  HaNe: 'ha-NE',\n  /** Hausa (Ghana) */\n  HaGh: 'ha-GH',\n  /** Irish (Ireland) */\n  GaIe: 'ga-IE',\n  /** Kannada (India) */\n  KnIn: 'kn-IN',\n  /** Kazakh (Kazakhstan) */\n  KkKz: 'kk-KZ',\n  /** Macedonian (North Macedonia) */\n  MkMk: 'mk-MK',\n  /** Malayalam (India) */\n  MlIn: 'ml-IN',\n  /** Mongolian (Mongolia) */\n  MnMn: 'mn-MN',\n  /** Pashto (Afghanistan) */\n  PsAf: 'ps-AF',\n  /** Punjabi (India) */\n  PaIn: 'pa-Guru-IN',\n  /** Punjabi (Pakistan) */\n  PaPk: 'pa-Arab-PK',\n  /** Sinhala (Sri Lanka) */\n  SiLk: 'si-LK',\n  /** Somali (Somalia) */\n  SoSo: 'so-SO',\n  /** Somali (Djibouti) */\n  SoDj: 'so-DJ',\n  /** Somali (Ethiopia) */\n  SoEt: 'so-ET',\n  /** Somali (Kenya) */\n  SoKe: 'so-KE',\n  /** Swahili (Kenya) */\n  SwKe: 'sw-KE',\n  /** Swahili (Tanzania) */\n  SwTz: 'sw-TZ',\n  /** Swahili (Uganda) */\n  SwUg: 'sw-UG',\n  /** Swahili (Congo - Kinshasa) */\n  SwCd: 'sw-CD',\n  /** Telugu (India) */\n  TeIn: 'te-IN',\n  /** Urdu (Pakistan) */\n  UrPk: 'ur-PK',\n  /** Urdu (India) */\n  UrIn: 'ur-IN',\n  /** Uzbek (Uzbekistan) */\n  UzUz: 'uz-UZ',\n  /** Welsh (Wales) */\n  CyGb: 'cy-GB',\n  /** Basque (Spain) */\n  EuEs: 'eu-ES',\n  /** Galician (Spain) */\n  GlEs: 'gl-ES',\n} as const;\n\n/** Union of all locale keys */\nexport type LocaleKey = keyof typeof LOCALE_KEY;\n/** Union of all locale enum values */\nexport type LocaleValue = (typeof LOCALE_KEY)[LocaleKey];\n\n/**\n * List of AWS supported translations, see: https://docs.aws.amazon.com/translate/latest/dg/what-is-languages.html#what-is-languages-supported\n */\nexport const AWS_SUPPORTED_TRANSLATIONS = {\n  Afrikaans: 'af',\n  Albanian: 'sq',\n  Amharic: 'am',\n  Arabic: 'ar',\n  Armenian: 'hy',\n  Azerbaijani: 'az',\n  Bengali: 'bn',\n  Bosnian: 'bs',\n  Bulgarian: 'bg',\n  Catalan: 'ca',\n  ChineseSimplified: 'zh',\n  ChineseTraditional: 'zh-TW',\n  Croatian: 'hr',\n  Czech: 'cs',\n  Danish: 'da',\n  Dari: 'fa-AF',\n  Dutch: 'nl',\n  English: 'en',\n  Estonian: 'et',\n  Farsi: 'fa',\n  Tagalog: 'tl',\n  Finnish: 'fi',\n  French: 'fr',\n  FrenchCanada: 'fr-CA',\n  Georgian: 'ka',\n  German: 'de',\n  Greek: 'el',\n  Gujarati: 'gu',\n  HaitianCreole: 'ht',\n  Hausa: 'ha',\n  Hebrew: 'he',\n  Hindi: 'hi',\n  Hungarian: 'hu',\n  Icelandic: 'is',\n  Indonesian: 'id',\n  Irish: 'ga',\n  Italian: 'it',\n  Japanese: 'ja',\n  Kannada: 'kn',\n  Kazakh: 'kk',\n  Korean: 'ko',\n  Latvian: 'lv',\n  Lithuanian: 'lt',\n  Macedonian: 'mk',\n  Malay: 'ms',\n  Malayalam: 'ml',\n  Maltese: 'mt',\n  Marathi: 'mr',\n  Mongolian: 'mn',\n  Norwegian: 'no',\n  Pashto: 'ps',\n  Polish: 'pl',\n  PortugueseBrazil: 'pt',\n  PortuguesePortugal: 'pt-PT',\n  Punjabi: 'pa',\n  Romanian: 'ro',\n  Russian: 'ru',\n  Serbian: 'sr', // double check if this is latin or cyrillic\n  Sinhala: 'si',\n  Slovak: 'sk',\n  Slovenian: 'sl',\n  Somali: 'so',\n  Spanish: 'es',\n  SpanishMexico: 'es-MX',\n  Swahili: 'sw',\n  Swedish: 'sv',\n  Tamil: 'ta',\n  Telugu: 'te',\n  Thai: 'th',\n  Turkish: 'tr',\n  Ukrainian: 'uk',\n  Urdu: 'ur',\n  Uzbek: 'uz',\n  Vietnamese: 'vi',\n  Welsh: 'cy',\n} as const;\n\n/** Union of all AWS translation keys  */\nexport type AwsTranslationKey = keyof typeof AWS_SUPPORTED_TRANSLATIONS;\n/** Union of all AWS translation enum values */\nexport type AwsTranslationValue = (typeof AWS_SUPPORTED_TRANSLATIONS)[AwsTranslationKey];\n\n/** Mapping of Locale to AWS Translation */\nexport const LOCALE_TRANSLATION_MAP: {\n  /** AWS translation code keyed by locale value. */\n  [k in LocaleValue]: AwsTranslationValue;\n} = {\n  /* base (2-char) locales */\n  [LOCALE_KEY.En]: AWS_SUPPORTED_TRANSLATIONS.English,\n  [LOCALE_KEY.Ar]: AWS_SUPPORTED_TRANSLATIONS.Arabic,\n  [LOCALE_KEY.Fr]: AWS_SUPPORTED_TRANSLATIONS.French,\n  [LOCALE_KEY.Es]: AWS_SUPPORTED_TRANSLATIONS.Spanish,\n  [LOCALE_KEY.De]: AWS_SUPPORTED_TRANSLATIONS.German,\n  [LOCALE_KEY.It]: AWS_SUPPORTED_TRANSLATIONS.Italian,\n  [LOCALE_KEY.Ja]: AWS_SUPPORTED_TRANSLATIONS.Japanese,\n  [LOCALE_KEY.Ru]: AWS_SUPPORTED_TRANSLATIONS.Russian,\n  [LOCALE_KEY.Af]: AWS_SUPPORTED_TRANSLATIONS.Afrikaans,\n  [LOCALE_KEY.Bg]: AWS_SUPPORTED_TRANSLATIONS.Bulgarian,\n  [LOCALE_KEY.Zh]: AWS_SUPPORTED_TRANSLATIONS.ChineseSimplified,\n  [LOCALE_KEY.Hr]: AWS_SUPPORTED_TRANSLATIONS.Croatian,\n  [LOCALE_KEY.Cs]: AWS_SUPPORTED_TRANSLATIONS.Czech,\n  [LOCALE_KEY.Da]: AWS_SUPPORTED_TRANSLATIONS.Danish,\n  [LOCALE_KEY.Fi]: AWS_SUPPORTED_TRANSLATIONS.Finnish,\n  [LOCALE_KEY.El]: AWS_SUPPORTED_TRANSLATIONS.Greek,\n  [LOCALE_KEY.Hi]: AWS_SUPPORTED_TRANSLATIONS.Hindi,\n  [LOCALE_KEY.Hu]: AWS_SUPPORTED_TRANSLATIONS.Hungarian,\n  // TODO: https://linear.app/transcend/issue/GOOM-417/add-id-to-locale-key\n  // [LOCALE_KEY.Id]: AWS_SUPPORTED_TRANSLATIONS.Indonesian,\n  [LOCALE_KEY.Ko]: AWS_SUPPORTED_TRANSLATIONS.Korean,\n  [LOCALE_KEY.Lt]: AWS_SUPPORTED_TRANSLATIONS.Lithuanian,\n  [LOCALE_KEY.Ms]: AWS_SUPPORTED_TRANSLATIONS.Malay,\n  [LOCALE_KEY.Mr]: AWS_SUPPORTED_TRANSLATIONS.Marathi,\n  [LOCALE_KEY.Nb]: AWS_SUPPORTED_TRANSLATIONS.Norwegian,\n  [LOCALE_KEY.Pl]: AWS_SUPPORTED_TRANSLATIONS.Polish,\n  [LOCALE_KEY.Pt]: AWS_SUPPORTED_TRANSLATIONS.PortuguesePortugal,\n  [LOCALE_KEY.Ro]: AWS_SUPPORTED_TRANSLATIONS.Romanian,\n  [LOCALE_KEY.Sr]: AWS_SUPPORTED_TRANSLATIONS.Serbian,\n  [LOCALE_KEY.Sv]: AWS_SUPPORTED_TRANSLATIONS.Swedish,\n  [LOCALE_KEY.Ta]: AWS_SUPPORTED_TRANSLATIONS.Tamil,\n  [LOCALE_KEY.Th]: AWS_SUPPORTED_TRANSLATIONS.Thai,\n  [LOCALE_KEY.Tr]: AWS_SUPPORTED_TRANSLATIONS.Turkish,\n  [LOCALE_KEY.Uk]: AWS_SUPPORTED_TRANSLATIONS.Ukrainian,\n  [LOCALE_KEY.Vi]: AWS_SUPPORTED_TRANSLATIONS.Vietnamese,\n  [LOCALE_KEY.Zu]: AWS_SUPPORTED_TRANSLATIONS.English, // fallback TODO: https://linear.app/transcend/issue/WAL-5583\n  [LOCALE_KEY.He]: AWS_SUPPORTED_TRANSLATIONS.Hebrew,\n  [LOCALE_KEY.Nl]: AWS_SUPPORTED_TRANSLATIONS.Dutch,\n  [LOCALE_KEY.Et]: AWS_SUPPORTED_TRANSLATIONS.Estonian,\n  [LOCALE_KEY.Is]: AWS_SUPPORTED_TRANSLATIONS.Icelandic,\n  [LOCALE_KEY.Lv]: AWS_SUPPORTED_TRANSLATIONS.Latvian,\n  [LOCALE_KEY.Mt]: AWS_SUPPORTED_TRANSLATIONS.Maltese,\n  [LOCALE_KEY.Sk]: AWS_SUPPORTED_TRANSLATIONS.Slovak,\n  [LOCALE_KEY.Sl]: AWS_SUPPORTED_TRANSLATIONS.Slovenian,\n  [LOCALE_KEY.Fil]: AWS_SUPPORTED_TRANSLATIONS.Tagalog, // NOTE: AWS exposes Tagalog as 'tl' not 'fil'\n  [LOCALE_KEY.Bs]: AWS_SUPPORTED_TRANSLATIONS.Bosnian,\n  [LOCALE_KEY.Ca]: AWS_SUPPORTED_TRANSLATIONS.Catalan,\n  [LOCALE_KEY.Eu]: AWS_SUPPORTED_TRANSLATIONS.English, // TODO: https://linear.app/transcend/issue/WAL-5583 Basque (eu)\n  [LOCALE_KEY.Gl]: AWS_SUPPORTED_TRANSLATIONS.English, // TODO: https://linear.app/transcend/issue/WAL-5583 Galician (gl)\n  [LOCALE_KEY.Dv]: AWS_SUPPORTED_TRANSLATIONS.English, // TODO: https://linear.app/transcend/issue/WAL-5583 Dhivehi (dv)\n  [LOCALE_KEY.Sq]: AWS_SUPPORTED_TRANSLATIONS.Albanian,\n  [LOCALE_KEY.Am]: AWS_SUPPORTED_TRANSLATIONS.Amharic,\n  [LOCALE_KEY.Hy]: AWS_SUPPORTED_TRANSLATIONS.Armenian,\n  [LOCALE_KEY.Az]: AWS_SUPPORTED_TRANSLATIONS.Azerbaijani,\n  [LOCALE_KEY.Bn]: AWS_SUPPORTED_TRANSLATIONS.Bengali,\n  [LOCALE_KEY.FaAf]: AWS_SUPPORTED_TRANSLATIONS.Dari,\n  [LOCALE_KEY.Tl]: AWS_SUPPORTED_TRANSLATIONS.Tagalog,\n  [LOCALE_KEY.Ka]: AWS_SUPPORTED_TRANSLATIONS.Georgian,\n  [LOCALE_KEY.Gu]: AWS_SUPPORTED_TRANSLATIONS.Gujarati,\n  [LOCALE_KEY.Ht]: AWS_SUPPORTED_TRANSLATIONS.HaitianCreole,\n  [LOCALE_KEY.Ha]: AWS_SUPPORTED_TRANSLATIONS.Hausa,\n  [LOCALE_KEY.Ga]: AWS_SUPPORTED_TRANSLATIONS.Irish,\n  [LOCALE_KEY.Kn]: AWS_SUPPORTED_TRANSLATIONS.Kannada,\n  [LOCALE_KEY.Kk]: AWS_SUPPORTED_TRANSLATIONS.Kazakh,\n  [LOCALE_KEY.Mk]: AWS_SUPPORTED_TRANSLATIONS.Macedonian,\n  [LOCALE_KEY.Ml]: AWS_SUPPORTED_TRANSLATIONS.Malayalam,\n  [LOCALE_KEY.Mn]: AWS_SUPPORTED_TRANSLATIONS.Mongolian,\n  [LOCALE_KEY.Ps]: AWS_SUPPORTED_TRANSLATIONS.Pashto,\n  [LOCALE_KEY.Pa]: AWS_SUPPORTED_TRANSLATIONS.Punjabi,\n  [LOCALE_KEY.Si]: AWS_SUPPORTED_TRANSLATIONS.Sinhala,\n  [LOCALE_KEY.So]: AWS_SUPPORTED_TRANSLATIONS.Somali,\n  [LOCALE_KEY.Sw]: AWS_SUPPORTED_TRANSLATIONS.Swahili,\n  [LOCALE_KEY.Te]: AWS_SUPPORTED_TRANSLATIONS.Telugu,\n  [LOCALE_KEY.Uz]: AWS_SUPPORTED_TRANSLATIONS.Uzbek,\n  [LOCALE_KEY.Cy]: AWS_SUPPORTED_TRANSLATIONS.Welsh,\n\n  /* region/script variants */\n  [LOCALE_KEY.ArAe]: AWS_SUPPORTED_TRANSLATIONS.Arabic,\n  [LOCALE_KEY.FrFr]: AWS_SUPPORTED_TRANSLATIONS.French,\n  [LOCALE_KEY.DeDe]: AWS_SUPPORTED_TRANSLATIONS.German,\n  [LOCALE_KEY.DeAt]: AWS_SUPPORTED_TRANSLATIONS.German,\n  [LOCALE_KEY.DeCh]: AWS_SUPPORTED_TRANSLATIONS.German,\n  [LOCALE_KEY.ItIt]: AWS_SUPPORTED_TRANSLATIONS.Italian,\n  [LOCALE_KEY.ItCh]: AWS_SUPPORTED_TRANSLATIONS.Italian,\n  [LOCALE_KEY.AfZz]: AWS_SUPPORTED_TRANSLATIONS.Afrikaans,\n  [LOCALE_KEY.BgBg]: AWS_SUPPORTED_TRANSLATIONS.Bulgarian,\n  [LOCALE_KEY.ZhCn]: AWS_SUPPORTED_TRANSLATIONS.ChineseSimplified,\n  [LOCALE_KEY.HrHr]: AWS_SUPPORTED_TRANSLATIONS.Croatian,\n  [LOCALE_KEY.CsCz]: AWS_SUPPORTED_TRANSLATIONS.Czech,\n  [LOCALE_KEY.DaDk]: AWS_SUPPORTED_TRANSLATIONS.Danish,\n  [LOCALE_KEY.EnGb]: AWS_SUPPORTED_TRANSLATIONS.English,\n  [LOCALE_KEY.EnCa]: AWS_SUPPORTED_TRANSLATIONS.English,\n  [LOCALE_KEY.EnAe]: AWS_SUPPORTED_TRANSLATIONS.English,\n  [LOCALE_KEY.FiFi]: AWS_SUPPORTED_TRANSLATIONS.Finnish,\n  [LOCALE_KEY.ElGr]: AWS_SUPPORTED_TRANSLATIONS.Greek,\n  [LOCALE_KEY.HiIn]: AWS_SUPPORTED_TRANSLATIONS.Hindi,\n  [LOCALE_KEY.HuHu]: AWS_SUPPORTED_TRANSLATIONS.Hungarian,\n  [LOCALE_KEY.IdId]: AWS_SUPPORTED_TRANSLATIONS.Indonesian,\n  [LOCALE_KEY.JaJp]: AWS_SUPPORTED_TRANSLATIONS.Japanese,\n  [LOCALE_KEY.KoKr]: AWS_SUPPORTED_TRANSLATIONS.Korean,\n  [LOCALE_KEY.LtLt]: AWS_SUPPORTED_TRANSLATIONS.Lithuanian,\n  [LOCALE_KEY.MsMy]: AWS_SUPPORTED_TRANSLATIONS.Malay,\n  [LOCALE_KEY.MrIn]: AWS_SUPPORTED_TRANSLATIONS.Marathi,\n  [LOCALE_KEY.NbNi]: AWS_SUPPORTED_TRANSLATIONS.Norwegian,\n  [LOCALE_KEY.PlPl]: AWS_SUPPORTED_TRANSLATIONS.Polish,\n  [LOCALE_KEY.PtBr]: AWS_SUPPORTED_TRANSLATIONS.PortugueseBrazil,\n  [LOCALE_KEY.PtPt]: AWS_SUPPORTED_TRANSLATIONS.PortuguesePortugal,\n  [LOCALE_KEY.RoRo]: AWS_SUPPORTED_TRANSLATIONS.Romanian,\n  [LOCALE_KEY.RuRu]: AWS_SUPPORTED_TRANSLATIONS.Russian,\n  [LOCALE_KEY.SrLatnRs]: AWS_SUPPORTED_TRANSLATIONS.Serbian,\n  [LOCALE_KEY.SvSe]: AWS_SUPPORTED_TRANSLATIONS.Swedish,\n  [LOCALE_KEY.TaIn]: AWS_SUPPORTED_TRANSLATIONS.Tamil,\n  [LOCALE_KEY.ThTh]: AWS_SUPPORTED_TRANSLATIONS.Thai,\n  [LOCALE_KEY.TrTr]: AWS_SUPPORTED_TRANSLATIONS.Turkish,\n  [LOCALE_KEY.UkUa]: AWS_SUPPORTED_TRANSLATIONS.Ukrainian,\n  [LOCALE_KEY.ViVn]: AWS_SUPPORTED_TRANSLATIONS.Vietnamese,\n  [LOCALE_KEY.ZuZa]: AWS_SUPPORTED_TRANSLATIONS.English, // TODO: https://linear.app/transcend/issue/WAL-5583\n  [LOCALE_KEY.EnUs]: AWS_SUPPORTED_TRANSLATIONS.English,\n  [LOCALE_KEY.EnAu]: AWS_SUPPORTED_TRANSLATIONS.English,\n  [LOCALE_KEY.FrBe]: AWS_SUPPORTED_TRANSLATIONS.French,\n  [LOCALE_KEY.FrCa]: AWS_SUPPORTED_TRANSLATIONS.FrenchCanada,\n  [LOCALE_KEY.FrCh]: AWS_SUPPORTED_TRANSLATIONS.French,\n  [LOCALE_KEY.EnIe]: AWS_SUPPORTED_TRANSLATIONS.English,\n  [LOCALE_KEY.NlNl]: AWS_SUPPORTED_TRANSLATIONS.Dutch,\n  [LOCALE_KEY.NlBe]: AWS_SUPPORTED_TRANSLATIONS.Dutch,\n  [LOCALE_KEY.EsEs]: AWS_SUPPORTED_TRANSLATIONS.Spanish,\n  [LOCALE_KEY.Es419]: AWS_SUPPORTED_TRANSLATIONS.SpanishMexico,\n  [LOCALE_KEY.ZhHk]: AWS_SUPPORTED_TRANSLATIONS.ChineseTraditional,\n  [LOCALE_KEY.ZhHans]: AWS_SUPPORTED_TRANSLATIONS.ChineseSimplified,\n  [LOCALE_KEY.HeIl]: AWS_SUPPORTED_TRANSLATIONS.Hebrew,\n  [LOCALE_KEY.EnNz]: AWS_SUPPORTED_TRANSLATIONS.English,\n  [LOCALE_KEY.EtEe]: AWS_SUPPORTED_TRANSLATIONS.Estonian,\n  [LOCALE_KEY.IsIs]: AWS_SUPPORTED_TRANSLATIONS.Icelandic,\n  [LOCALE_KEY.LvLv]: AWS_SUPPORTED_TRANSLATIONS.Latvian,\n  [LOCALE_KEY.MtMt]: AWS_SUPPORTED_TRANSLATIONS.Maltese,\n  [LOCALE_KEY.SkSk]: AWS_SUPPORTED_TRANSLATIONS.Slovak,\n  [LOCALE_KEY.SlSl]: AWS_SUPPORTED_TRANSLATIONS.Slovenian,\n  [LOCALE_KEY.ZhTw]: AWS_SUPPORTED_TRANSLATIONS.ChineseTraditional,\n  [LOCALE_KEY.MsSg]: AWS_SUPPORTED_TRANSLATIONS.Malay,\n  [LOCALE_KEY.SrCyrlRs]: AWS_SUPPORTED_TRANSLATIONS.Serbian, // TODO: AWS uses a single 'sr' (script-agnostic)\n  [LOCALE_KEY.EsAr]: AWS_SUPPORTED_TRANSLATIONS.Spanish,\n  [LOCALE_KEY.EsCr]: AWS_SUPPORTED_TRANSLATIONS.Spanish,\n  [LOCALE_KEY.EsCl]: AWS_SUPPORTED_TRANSLATIONS.Spanish,\n  [LOCALE_KEY.EsCo]: AWS_SUPPORTED_TRANSLATIONS.Spanish,\n  [LOCALE_KEY.EsMx]: AWS_SUPPORTED_TRANSLATIONS.SpanishMexico,\n  [LOCALE_KEY.FilPh]: AWS_SUPPORTED_TRANSLATIONS.Tagalog, // NOTE: AWS uses 'tl' code\n  [LOCALE_KEY.SqAl]: AWS_SUPPORTED_TRANSLATIONS.Albanian,\n  [LOCALE_KEY.AmEt]: AWS_SUPPORTED_TRANSLATIONS.Amharic,\n  [LOCALE_KEY.HyAm]: AWS_SUPPORTED_TRANSLATIONS.Armenian,\n  [LOCALE_KEY.AzAz]: AWS_SUPPORTED_TRANSLATIONS.Azerbaijani,\n  [LOCALE_KEY.BnBd]: AWS_SUPPORTED_TRANSLATIONS.Bengali,\n  [LOCALE_KEY.BnIn]: AWS_SUPPORTED_TRANSLATIONS.Bengali,\n  [LOCALE_KEY.BsBa]: AWS_SUPPORTED_TRANSLATIONS.Bosnian,\n  [LOCALE_KEY.CaEs]: AWS_SUPPORTED_TRANSLATIONS.Catalan,\n  [LOCALE_KEY.TlPh]: AWS_SUPPORTED_TRANSLATIONS.Tagalog,\n  [LOCALE_KEY.KaGe]: AWS_SUPPORTED_TRANSLATIONS.Georgian,\n  [LOCALE_KEY.GuIn]: AWS_SUPPORTED_TRANSLATIONS.Gujarati,\n  [LOCALE_KEY.HtHt]: AWS_SUPPORTED_TRANSLATIONS.HaitianCreole,\n  [LOCALE_KEY.GaIe]: AWS_SUPPORTED_TRANSLATIONS.Irish,\n  [LOCALE_KEY.KnIn]: AWS_SUPPORTED_TRANSLATIONS.Kannada,\n  [LOCALE_KEY.KkKz]: AWS_SUPPORTED_TRANSLATIONS.Kazakh,\n  [LOCALE_KEY.MkMk]: AWS_SUPPORTED_TRANSLATIONS.Macedonian,\n  [LOCALE_KEY.MlIn]: AWS_SUPPORTED_TRANSLATIONS.Malayalam,\n  [LOCALE_KEY.MnMn]: AWS_SUPPORTED_TRANSLATIONS.Mongolian,\n  [LOCALE_KEY.PsAf]: AWS_SUPPORTED_TRANSLATIONS.Pashto,\n  [LOCALE_KEY.PaIn]: AWS_SUPPORTED_TRANSLATIONS.Punjabi,\n  [LOCALE_KEY.PaPk]: AWS_SUPPORTED_TRANSLATIONS.Punjabi, //  TODO: https://linear.app/transcend/issue/WAL-5583\n  [LOCALE_KEY.SiLk]: AWS_SUPPORTED_TRANSLATIONS.Sinhala,\n  [LOCALE_KEY.SoSo]: AWS_SUPPORTED_TRANSLATIONS.Somali,\n  [LOCALE_KEY.SwKe]: AWS_SUPPORTED_TRANSLATIONS.Swahili,\n  [LOCALE_KEY.TeIn]: AWS_SUPPORTED_TRANSLATIONS.Telugu,\n  [LOCALE_KEY.UzUz]: AWS_SUPPORTED_TRANSLATIONS.Uzbek,\n  [LOCALE_KEY.CyGb]: AWS_SUPPORTED_TRANSLATIONS.Welsh,\n  [LOCALE_KEY.Ur]: AWS_SUPPORTED_TRANSLATIONS.Urdu,\n  [LOCALE_KEY.UrPk]: AWS_SUPPORTED_TRANSLATIONS.Urdu, // AWS has a single Urdu model (no regional split)\n  [LOCALE_KEY.UrIn]: AWS_SUPPORTED_TRANSLATIONS.Urdu, // same as above\n  [LOCALE_KEY.BsCyrlBa]: AWS_SUPPORTED_TRANSLATIONS.Bosnian, // TODO: AWS uses a single 'bs' (script-agnostic)\n  [LOCALE_KEY.BsLatnBa]: AWS_SUPPORTED_TRANSLATIONS.Bosnian, // TODO: AWS uses a single 'bs' (script-agnostic)\n  [LOCALE_KEY.EuEs]: AWS_SUPPORTED_TRANSLATIONS.English, // TODO: https://linear.app/transcend/issue/WAL-5583 Basque (eu)\n  [LOCALE_KEY.GlEs]: AWS_SUPPORTED_TRANSLATIONS.English, // TODO: https://linear.app/transcend/issue/WAL-5583 Galician (gl)\n  [LOCALE_KEY.HaGh]: AWS_SUPPORTED_TRANSLATIONS.Hausa,\n  [LOCALE_KEY.HaNe]: AWS_SUPPORTED_TRANSLATIONS.Hausa,\n  [LOCALE_KEY.HaNg]: AWS_SUPPORTED_TRANSLATIONS.Hausa,\n  [LOCALE_KEY.SoDj]: AWS_SUPPORTED_TRANSLATIONS.Somali,\n  [LOCALE_KEY.SoEt]: AWS_SUPPORTED_TRANSLATIONS.Somali,\n  [LOCALE_KEY.SoKe]: AWS_SUPPORTED_TRANSLATIONS.Somali,\n  [LOCALE_KEY.SwTz]: AWS_SUPPORTED_TRANSLATIONS.Swahili,\n  [LOCALE_KEY.SwUg]: AWS_SUPPORTED_TRANSLATIONS.Swahili,\n  [LOCALE_KEY.SwCd]: AWS_SUPPORTED_TRANSLATIONS.Swahili,\n  [LOCALE_KEY.SqMk]: AWS_SUPPORTED_TRANSLATIONS.Albanian,\n  [LOCALE_KEY.SqXk]: AWS_SUPPORTED_TRANSLATIONS.Albanian,\n  [LOCALE_KEY.CaAd]: AWS_SUPPORTED_TRANSLATIONS.Catalan,\n  [LOCALE_KEY.CaFr]: AWS_SUPPORTED_TRANSLATIONS.Catalan,\n  [LOCALE_KEY.CaIt]: AWS_SUPPORTED_TRANSLATIONS.Catalan,\n};\n\nfunction defineLocaleKeyList<const TKeys extends readonly LocaleKey[]>(values: TKeys): TKeys {\n  return values;\n}\n\ntype ConsentManagerUnsupportedLocaleKey =\n  | 'Ar'\n  | 'Fr'\n  | 'Es'\n  | 'De'\n  | 'It'\n  | 'Ja'\n  | 'Ru'\n  | 'DeAt'\n  | 'DeCh'\n  | 'ItCh'\n  | 'EnGb'\n  | 'EnCa'\n  | 'EnAe'\n  | 'PtPt'\n  | 'ZuZa'\n  | 'EnUs'\n  | 'EnAu'\n  | 'FrBe'\n  | 'FrCa'\n  | 'FrCh'\n  | 'EnIe'\n  | 'NlBe'\n  | 'EnNz'\n  | 'EtEe'\n  | 'LvLv'\n  | 'MtMt'\n  | 'SkSk'\n  | 'SlSl'\n  | 'Af'\n  | 'Bg'\n  | 'Zh'\n  | 'Hr'\n  | 'Cs'\n  | 'Da'\n  | 'Fi'\n  | 'El'\n  | 'Hi'\n  | 'Hu'\n  | 'Ko'\n  | 'Lt'\n  | 'Ms'\n  | 'Mr'\n  | 'Nb'\n  | 'Pl'\n  | 'Pt'\n  | 'Ro'\n  | 'Sr'\n  | 'Sv'\n  | 'Ta'\n  | 'Th'\n  | 'Tr'\n  | 'Uk'\n  | 'Vi'\n  | 'Zu'\n  | 'Nl'\n  | 'Et'\n  | 'Is'\n  | 'Lv'\n  | 'Mt'\n  | 'Sk'\n  | 'Sl'\n  | 'Fil'\n  | 'Ca'\n  | 'Eu'\n  | 'Gl'\n  | 'Ur'\n  | 'ZhTw'\n  | 'MsSg'\n  | 'SrCyrlRs'\n  | 'EsAr'\n  | 'EsCr'\n  | 'EsCl'\n  | 'EsCo'\n  | 'EsMx'\n  | 'FilPh'\n  | 'Sq'\n  | 'Am'\n  | 'Hy'\n  | 'Az'\n  | 'Bn'\n  | 'FaAf'\n  | 'Tl'\n  | 'Ka'\n  | 'Gu'\n  | 'Ht'\n  | 'Ha'\n  | 'Ga'\n  | 'Kn'\n  | 'Kk'\n  | 'Mk'\n  | 'Ml'\n  | 'Mn'\n  | 'Ps'\n  | 'Pa'\n  | 'Si'\n  | 'So'\n  | 'Sw'\n  | 'Te'\n  | 'Uz'\n  | 'Cy'\n  | 'SqAl'\n  | 'AmEt'\n  | 'HyAm'\n  | 'AzAz'\n  | 'BnBd'\n  | 'BnIn'\n  | 'BsBa'\n  | 'CaEs'\n  | 'TlPh'\n  | 'KaGe'\n  | 'GuIn'\n  | 'HtHt'\n  | 'HaNg'\n  | 'GaIe'\n  | 'KnIn'\n  | 'KkKz'\n  | 'MkMk'\n  | 'MlIn'\n  | 'MnMn'\n  | 'PsAf'\n  | 'PaIn'\n  | 'PaPk'\n  | 'SiLk'\n  | 'SoSo'\n  | 'SwKe'\n  | 'TeIn'\n  | 'UrPk'\n  | 'UrIn'\n  | 'UzUz'\n  | 'CyGb'\n  | 'BsCyrlBa'\n  | 'BsLatnBa'\n  | 'EuEs'\n  | 'SqMk'\n  | 'SqXk'\n  | 'HaGh'\n  | 'HaNe'\n  | 'SoDj'\n  | 'SoEt'\n  | 'SoKe'\n  | 'SwTz'\n  | 'SwUg'\n  | 'SwCd'\n  | 'CaAd'\n  | 'CaFr'\n  | 'CaIt'\n  | 'GlEs';\n\n/** These are the languages we have an enum value for but do not populate in the CM UI */\nconst consentManagerUnsupportedLocales: readonly ConsentManagerUnsupportedLocaleKey[] =\n  defineLocaleKeyList([\n    'Ar',\n    'Fr',\n    'Es',\n    'De',\n    'It',\n    'Ja',\n    'Ru',\n    'DeAt',\n    'DeCh',\n    'ItCh',\n    'EnGb',\n    'EnCa',\n    'EnAe',\n    'PtPt',\n    'ZuZa',\n    'EnUs',\n    'EnAu',\n    'FrBe',\n    'FrCa',\n    'FrCh',\n    'EnIe',\n    'NlBe',\n    'EnNz',\n    'EtEe',\n    'LvLv',\n    'MtMt',\n    'SkSk',\n    'SlSl',\n    'Af',\n    'Bg',\n    'Zh',\n    'Hr',\n    'Cs',\n    'Da',\n    'Fi',\n    'El',\n    'Hi',\n    'Hu',\n    'Ko',\n    'Lt',\n    'Ms',\n    'Mr',\n    'Nb',\n    'Pl',\n    'Pt',\n    'Ro',\n    'Sr',\n    'Sv',\n    'Ta',\n    'Th',\n    'Tr',\n    'Uk',\n    'Vi',\n    'Zu',\n    'Nl',\n    'Et',\n    'Is',\n    'Lv',\n    'Mt',\n    'Sk',\n    'Sl',\n    'Fil',\n    'Ca',\n    'Eu',\n    'Gl',\n    'Ur',\n    'ZhTw',\n    'MsSg',\n    'SrCyrlRs',\n    'EsAr',\n    'EsCr',\n    'EsCl',\n    'EsCo',\n    'EsMx',\n    'FilPh',\n    'Sq',\n    'Am',\n    'Hy',\n    'Az',\n    'Bn',\n    'FaAf',\n    'Tl',\n    'Ka',\n    'Gu',\n    'Ht',\n    'Ha',\n    'Ga',\n    'Kn',\n    'Kk',\n    'Mk',\n    'Ml',\n    'Mn',\n    'Ps',\n    'Pa',\n    'Si',\n    'So',\n    'Sw',\n    'Te',\n    'Uz',\n    'Cy',\n    'SqAl',\n    'AmEt',\n    'HyAm',\n    'AzAz',\n    'BnBd',\n    'BnIn',\n    'BsBa',\n    'CaEs',\n    'TlPh',\n    'KaGe',\n    'GuIn',\n    'HtHt',\n    'HaNg',\n    'GaIe',\n    'KnIn',\n    'KkKz',\n    'MkMk',\n    'MlIn',\n    'MnMn',\n    'PsAf',\n    'PaIn',\n    'PaPk',\n    'SiLk',\n    'SoSo',\n    'SwKe',\n    'TeIn',\n    'UrPk',\n    'UrIn',\n    'UzUz',\n    'CyGb',\n    'BsCyrlBa',\n    'BsLatnBa',\n    'EuEs',\n    'SqMk',\n    'SqXk',\n    'HaGh',\n    'HaNe',\n    'SoDj',\n    'SoEt',\n    'SoKe',\n    'SwTz',\n    'SwUg',\n    'SwCd',\n    'CaAd',\n    'CaFr',\n    'CaIt',\n    'GlEs',\n  ]);\n\ntype ConsentManagerUnsupportedLocaleValue = (typeof LOCALE_KEY)[ConsentManagerUnsupportedLocaleKey];\n\n/** Union of Consent Manager unsupported locale keys */\nexport type ConsentManagerUnsupportedTranslationKey = ConsentManagerUnsupportedLocaleKey;\n/** Union of Consent Manager unsupported locale enum values */\nexport type ConsentManagerUnsupportedTranslationValue = ConsentManagerUnsupportedLocaleValue;\n\n/** Union of Consent Manager supported locale keys */\nexport type ConsentManagerSupportedTranslationKey = Exclude<\n  LocaleKey,\n  ConsentManagerUnsupportedLocaleKey\n>;\n/** Union of Consent Manager supported locale enum values */\nexport type ConsentManagerSupportedTranslationValue = Exclude<\n  LocaleValue,\n  ConsentManagerUnsupportedLocaleValue\n>;\n\nconst consentManagerSupportedLocales = Object.fromEntries(\n  Object.entries(LOCALE_KEY).filter(\n    ([key]) => !(consentManagerUnsupportedLocales as readonly string[]).includes(key),\n  ),\n) as Pick<typeof LOCALE_KEY, ConsentManagerSupportedTranslationKey>;\n\nexport const CONSENT_MANAGER_SUPPORTED_LOCALES: Pick<\n  typeof LOCALE_KEY,\n  ConsentManagerSupportedTranslationKey\n> = consentManagerSupportedLocales;\n\n/**\n * List of BCP 47 language codes, grabbed from https://www.localeplanet.com/icu/\n *\n * anything commented and marked TO-DO is for languages that AWS supports but we do not\n * all other comments are to leave in those browser codes in case AWS updates to support them\n */\ntype BrowserLocaleMapKey =\n  | 'af'\n  | 'af-NA'\n  | 'af-ZA'\n  | 'am-ET'\n  | 'ar'\n  | 'ar-001'\n  | 'ar-AE'\n  | 'ar-BH'\n  | 'ar-DJ'\n  | 'ar-DZ'\n  | 'ar-EG'\n  | 'ar-EH'\n  | 'ar-ER'\n  | 'ar-IL'\n  | 'ar-IQ'\n  | 'ar-JO'\n  | 'ar-KM'\n  | 'ar-KW'\n  | 'ar-LB'\n  | 'ar-LY'\n  | 'ar-MA'\n  | 'ar-MR'\n  | 'ar-OM'\n  | 'ar-PS'\n  | 'ar-QA'\n  | 'ar-SA'\n  | 'ar-SD'\n  | 'ar-SO'\n  | 'ar-SS'\n  | 'ar-SY'\n  | 'ar-TD'\n  | 'ar-TN'\n  | 'ar-YE'\n  | 'az'\n  | 'az-Cyrl'\n  | 'az-Cyrl-AZ'\n  | 'az-Latn'\n  | 'az-Latn-AZ'\n  | 'bg'\n  | 'bg-BG'\n  | 'bn-BD'\n  | 'bn-IN'\n  | 'bs'\n  | 'bs-Cyrl'\n  | 'bs-Cyrl-BA'\n  | 'bs-Latn'\n  | 'bs-Latn-BA'\n  | 'ca'\n  | 'ca-AD'\n  | 'ca-ES'\n  | 'ca-FR'\n  | 'ca-IT'\n  | 'cs'\n  | 'cs-CZ'\n  | 'cy'\n  | 'cy-GB'\n  | 'da'\n  | 'da-DK'\n  | 'da-GL'\n  | 'de'\n  | 'de-AT'\n  | 'de-BE'\n  | 'de-CH'\n  | 'de-DE'\n  | 'de-IT'\n  | 'de-LI'\n  | 'de-LU'\n  | 'el'\n  | 'el-CY'\n  | 'el-GR'\n  | 'en'\n  | 'en-001'\n  | 'en-150'\n  | 'en-AG'\n  | 'en-AI'\n  | 'en-AS'\n  | 'en-AT'\n  | 'en-AU'\n  | 'en-BB'\n  | 'en-BE'\n  | 'en-BI'\n  | 'en-BM'\n  | 'en-BS'\n  | 'en-BW'\n  | 'en-BZ'\n  | 'en-CA'\n  | 'en-CC'\n  | 'en-CH'\n  | 'en-CK'\n  | 'en-CM'\n  | 'en-CX'\n  | 'en-CY'\n  | 'en-DE'\n  | 'en-DG'\n  | 'en-DK'\n  | 'en-DM'\n  | 'en-ER'\n  | 'en-FI'\n  | 'en-FJ'\n  | 'en-FK'\n  | 'en-FM'\n  | 'en-GB'\n  | 'en-GD'\n  | 'en-GG'\n  | 'en-GH'\n  | 'en-GI'\n  | 'en-GM'\n  | 'en-GU'\n  | 'en-GY'\n  | 'en-HK'\n  | 'en-IE'\n  | 'en-IL'\n  | 'en-IM'\n  | 'en-IN'\n  | 'en-IO'\n  | 'en-JE'\n  | 'en-JM'\n  | 'en-KE'\n  | 'en-KI'\n  | 'en-KN'\n  | 'en-KY'\n  | 'en-LC'\n  | 'en-LR'\n  | 'en-LS'\n  | 'en-MG'\n  | 'en-MH'\n  | 'en-MO'\n  | 'en-MP'\n  | 'en-MS'\n  | 'en-MT'\n  | 'en-MU'\n  | 'en-MW'\n  | 'en-MY'\n  | 'en-NA'\n  | 'en-NF'\n  | 'en-NG'\n  | 'en-NL'\n  | 'en-NR'\n  | 'en-NU'\n  | 'en-NZ'\n  | 'en-PG'\n  | 'en-PH'\n  | 'en-PK'\n  | 'en-PN'\n  | 'en-PR'\n  | 'en-PW'\n  | 'en-RW'\n  | 'en-SB'\n  | 'en-SC'\n  | 'en-SD'\n  | 'en-SE'\n  | 'en-SG'\n  | 'en-SH'\n  | 'en-SI'\n  | 'en-SL'\n  | 'en-SS'\n  | 'en-SX'\n  | 'en-SZ'\n  | 'en-TC'\n  | 'en-TK'\n  | 'en-TO'\n  | 'en-TT'\n  | 'en-TV'\n  | 'en-TZ'\n  | 'en-UG'\n  | 'en-UM'\n  | 'en-US'\n  | 'en-US-POSIX'\n  | 'en-VC'\n  | 'en-VG'\n  | 'en-VI'\n  | 'en-VU'\n  | 'en-WS'\n  | 'en-ZA'\n  | 'en-ZM'\n  | 'en-ZW'\n  | 'es'\n  | 'es-419'\n  | 'es-AR'\n  | 'es-BO'\n  | 'es-BR'\n  | 'es-BZ'\n  | 'es-CL'\n  | 'es-CO'\n  | 'es-CR'\n  | 'es-CU'\n  | 'es-DO'\n  | 'es-EA'\n  | 'es-EC'\n  | 'es-ES'\n  | 'es-GQ'\n  | 'es-GT'\n  | 'es-HN'\n  | 'es-IC'\n  | 'es-MX'\n  | 'es-NI'\n  | 'es-PA'\n  | 'es-PE'\n  | 'es-PH'\n  | 'es-PR'\n  | 'es-PY'\n  | 'es-SV'\n  | 'es-US'\n  | 'es-UY'\n  | 'es-VE'\n  | 'et'\n  | 'et-EE'\n  | 'eu'\n  | 'eu-ES'\n  | 'fi'\n  | 'fi-FI'\n  | 'fil'\n  | 'fil-PH'\n  | 'fr'\n  | 'fr-BE'\n  | 'fr-BF'\n  | 'fr-BI'\n  | 'fr-BJ'\n  | 'fr-BL'\n  | 'fr-CA'\n  | 'fr-CD'\n  | 'fr-CF'\n  | 'fr-CG'\n  | 'fr-CH'\n  | 'fr-CI'\n  | 'fr-CM'\n  | 'fr-DJ'\n  | 'fr-DZ'\n  | 'fr-FR'\n  | 'fr-GA'\n  | 'fr-GF'\n  | 'fr-GN'\n  | 'fr-GP'\n  | 'fr-GQ'\n  | 'fr-HT'\n  | 'fr-KM'\n  | 'fr-LU'\n  | 'fr-MA'\n  | 'fr-MC'\n  | 'fr-MF'\n  | 'fr-MG'\n  | 'fr-ML'\n  | 'fr-MQ'\n  | 'fr-MR'\n  | 'fr-MU'\n  | 'fr-NC'\n  | 'fr-NE'\n  | 'fr-PF'\n  | 'fr-PM'\n  | 'fr-RE'\n  | 'fr-RW'\n  | 'fr-SC'\n  | 'fr-SN'\n  | 'fr-SY'\n  | 'fr-TD'\n  | 'fr-TG'\n  | 'fr-TN'\n  | 'fr-VU'\n  | 'fr-WF'\n  | 'fr-YT'\n  | 'ga'\n  | 'ga-IE'\n  | 'gl'\n  | 'gl-ES'\n  | 'gsw'\n  | 'gsw-CH'\n  | 'gsw-FR'\n  | 'gsw-LI'\n  | 'gu'\n  | 'gu-IN'\n  | 'ha'\n  | 'ha-GH'\n  | 'ha-NE'\n  | 'ha-NG'\n  | 'he'\n  | 'he-IL'\n  | 'hi'\n  | 'hi-IN'\n  | 'hr'\n  | 'hr-BA'\n  | 'hr-HR'\n  | 'hu'\n  | 'hu-HU'\n  | 'hy-AM'\n  | 'id'\n  | 'id-ID'\n  | 'is'\n  | 'is-IS'\n  | 'it'\n  | 'it-CH'\n  | 'it-IT'\n  | 'it-SM'\n  | 'it-VA'\n  | 'ja'\n  | 'ja-JP'\n  | 'ka'\n  | 'ka-GE'\n  | 'kk'\n  | 'kk-KZ'\n  | 'kn'\n  | 'kn-IN'\n  | 'ko'\n  | 'ko-KP'\n  | 'ko-KR'\n  | 'lt'\n  | 'lt-LT'\n  | 'lv'\n  | 'lv-LV'\n  | 'mk'\n  | 'mk-MK'\n  | 'ml'\n  | 'ml-IN'\n  | 'mn'\n  | 'mn-MN'\n  | 'mr'\n  | 'mr-IN'\n  | 'ms'\n  | 'ms-BN'\n  | 'ms-MY'\n  | 'ms-SG'\n  | 'mt'\n  | 'mt-MT'\n  | 'nb'\n  | 'nb-NO'\n  | 'nb-SJ'\n  | 'nl'\n  | 'nl-AW'\n  | 'nl-BE'\n  | 'nl-BQ'\n  | 'nl-CW'\n  | 'nl-NL'\n  | 'nl-SR'\n  | 'nl-SX'\n  | 'pa'\n  | 'pa-Arab'\n  | 'pa-Arab-PK'\n  | 'pa-Guru'\n  | 'pa-Guru-IN'\n  | 'pl'\n  | 'pl-PL'\n  | 'ps'\n  | 'ps-AF'\n  | 'pt'\n  | 'pt-AO'\n  | 'pt-BR'\n  | 'pt-CH'\n  | 'pt-CV'\n  | 'pt-GQ'\n  | 'pt-GW'\n  | 'pt-LU'\n  | 'pt-MO'\n  | 'pt-MZ'\n  | 'pt-PT'\n  | 'pt-ST'\n  | 'pt-TL'\n  | 'ro'\n  | 'ro-MD'\n  | 'ro-RO'\n  | 'ru'\n  | 'ru-BY'\n  | 'ru-KG'\n  | 'ru-KZ'\n  | 'ru-MD'\n  | 'ru-RU'\n  | 'ru-UA'\n  | 'si'\n  | 'si-LK'\n  | 'sk'\n  | 'sk-SK'\n  | 'sl'\n  | 'sl-SI'\n  | 'so'\n  | 'so-DJ'\n  | 'so-ET'\n  | 'so-KE'\n  | 'so-SO'\n  | 'sq'\n  | 'sq-AL'\n  | 'sq-MK'\n  | 'sq-XK'\n  | 'sr'\n  | 'sr-Cyrl'\n  | 'sr-Cyrl-BA'\n  | 'sr-Cyrl-ME'\n  | 'sr-Cyrl-RS'\n  | 'sr-Cyrl-XK'\n  | 'sr-Latn'\n  | 'sr-Latn-BA'\n  | 'sr-Latn-ME'\n  | 'sr-Latn-RS'\n  | 'sr-Latn-XK'\n  | 'sv'\n  | 'sv-AX'\n  | 'sv-FI'\n  | 'sv-SE'\n  | 'sw'\n  | 'sw-CD'\n  | 'sw-KE'\n  | 'sw-TZ'\n  | 'sw-UG'\n  | 'ta'\n  | 'ta-IN'\n  | 'ta-LK'\n  | 'ta-MY'\n  | 'ta-SG'\n  | 'te'\n  | 'te-IN'\n  | 'th'\n  | 'th-TH'\n  | 'tr'\n  | 'tr-CY'\n  | 'tr-TR'\n  | 'uk'\n  | 'uk-UA'\n  | 'ur'\n  | 'ur-IN'\n  | 'ur-PK'\n  | 'uz'\n  | 'uz-Arab'\n  | 'uz-Arab-AF'\n  | 'uz-Cyrl'\n  | 'uz-Cyrl-UZ'\n  | 'uz-Latn'\n  | 'uz-Latn-UZ'\n  | 'vi'\n  | 'vi-VN'\n  | 'yue'\n  | 'yue-Hant'\n  | 'yue-Hant-HK'\n  | 'yue-Hans'\n  | 'yue-Hans-CN'\n  | 'zh'\n  | 'zh-Hans'\n  | 'zh-Hans-CN'\n  | 'zh-Hans-SG'\n  | 'zh-Hans-MO'\n  | 'zh-Hans-HK'\n  | 'zh-Hant'\n  | 'zh-Hant-MO'\n  | 'zh-Hant-HK'\n  | 'zh-Hant-TW'\n  | 'zu'\n  | 'zu-ZA';\n\nconst localeBrowserMap = {\n  af: LOCALE_KEY.AfZz, // Afrikaans Afrikaans\n  'af-NA': LOCALE_KEY.AfZz, // Afrikaans (Namibia) Afrikaans (Namibië)\n  'af-ZA': LOCALE_KEY.AfZz, // Afrikaans (South Africa) Afrikaans (Suid-Afrika)\n  // 'agq', // Aghem Aghem\n  // 'agq-CM', // Aghem (Cameroon) Aghem (Kàmàlûŋ)\n  // 'ak', // Akan Akan\n  // 'ak-GH', // Akan (Ghana) Akan (Gaana)\n  // 'am', // Amharic አማርኛ TODO\n  'am-ET': LOCALE_KEY.AmEt, // Amharic (Ethiopia) አማርኛ (ኢትዮጵያ)\n  ar: LOCALE_KEY.Ar, // Arabic العربية\n  'ar-001': LOCALE_KEY.Ar, // Arabic (World) العربية (العالم) Modern Standard Arabic\n  'ar-AE': LOCALE_KEY.ArAe, // Arabic (United Arab Emirates) العربية (الإمارات العربية المتحدة)\n  'ar-BH': LOCALE_KEY.Ar, // Arabic (Bahrain) العربية (البحرين)\n  'ar-DJ': LOCALE_KEY.Ar, // Arabic (Djibouti) العربية (جيبوتي)\n  'ar-DZ': LOCALE_KEY.Ar, // Arabic (Algeria) العربية (الجزائر)\n  'ar-EG': LOCALE_KEY.Ar, // Arabic (Egypt) العربية (مصر)\n  'ar-EH': LOCALE_KEY.Ar, // Arabic (Western Sahara) العربية (الصحراء الغربية)\n  'ar-ER': LOCALE_KEY.Ar, // Arabic (Eritrea) العربية (إريتريا)\n  'ar-IL': LOCALE_KEY.Ar, // Arabic (Israel) العربية (إسرائيل)\n  'ar-IQ': LOCALE_KEY.Ar, // Arabic (Iraq) العربية (العراق)\n  'ar-JO': LOCALE_KEY.Ar, // Arabic (Jordan) العربية (الأردن)\n  'ar-KM': LOCALE_KEY.Ar, // Arabic (Comoros) العربية (جزر القمر)\n  'ar-KW': LOCALE_KEY.Ar, // Arabic (Kuwait) العربية (الكويت)\n  'ar-LB': LOCALE_KEY.Ar, // Arabic (Lebanon) العربية (لبنان)\n  'ar-LY': LOCALE_KEY.Ar, // Arabic (Libya) العربية (ليبيا)\n  'ar-MA': LOCALE_KEY.Ar, // Arabic (Morocco) العربية (المغرب)\n  'ar-MR': LOCALE_KEY.Ar, // Arabic (Mauritania) العربية (موريتانيا)\n  'ar-OM': LOCALE_KEY.Ar, // Arabic (Oman) العربية (عُمان)\n  'ar-PS': LOCALE_KEY.Ar, // Arabic (Palestinian Territories) العربية (الأراضي الفلسطينية)\n  'ar-QA': LOCALE_KEY.Ar, // Arabic (Qatar) العربية (قطر)\n  'ar-SA': LOCALE_KEY.Ar, // Arabic (Saudi Arabia) العربية (المملكة العربية السعودية)\n  'ar-SD': LOCALE_KEY.Ar, // Arabic (Sudan) العربية (السودان)\n  'ar-SO': LOCALE_KEY.Ar, // Arabic (Somalia) العربية (الصومال)\n  'ar-SS': LOCALE_KEY.Ar, // Arabic (South Sudan) العربية (جنوب السودان)\n  'ar-SY': LOCALE_KEY.Ar, // Arabic (Syria) العربية (سوريا)\n  'ar-TD': LOCALE_KEY.Ar, // Arabic (Chad) العربية (تشاد)\n  'ar-TN': LOCALE_KEY.Ar, // Arabic (Tunisia) العربية (تونس)\n  'ar-YE': LOCALE_KEY.Ar, // Arabic (Yemen) العربية (اليمن)\n  // 'as', // Assamese অসমীয়া\n  // 'as-IN', // Assamese (India) অসমীয়া (ভারত)\n  // 'asa', // Asu Kipare\n  // 'asa-TZ', // Asu (Tanzania) Kipare (Tadhania)\n  // 'ast', // Asturian asturianu\n  // 'ast-ES', // Asturian (Spain) asturianu (España)\n  az: LOCALE_KEY.Az, // Azerbaijani azərbaycan\n  'az-Cyrl': LOCALE_KEY.Az, // Azerbaijani (Cyrillic) азәрбајҹан (Кирил)\n  'az-Cyrl-AZ': LOCALE_KEY.Az, // Azerbaijani (Cyrillic, Azerbaijan) азәрбајҹан (Кирил, Азәрбајҹан)\n  'az-Latn': LOCALE_KEY.Az, // Azerbaijani (Latin) azərbaycan (latın)\n  'az-Latn-AZ': LOCALE_KEY.Az, // Azerbaijani (Latin, Azerbaijan) azərbaycan (latın, Azərbaycan)\n  // 'bas', // Basaa Ɓàsàa\n  // 'bas-CM', // Basaa (Cameroon) Ɓàsàa (Kàmɛ̀rûn)\n  // 'be', // Belarusian беларуская\n  // 'be-BY', // Belarusian (Belarus) беларуская (Беларусь)\n  // 'bem', // Bemba Ichibemba\n  // 'bem-ZM', // Bemba (Zambia) Ichibemba (Zambia)\n  // 'bez', // Bena Hibena\n  // 'bez-TZ', // Bena (Tanzania) Hibena (Hutanzania)\n  bg: LOCALE_KEY.BgBg, // Bulgarian български\n  'bg-BG': LOCALE_KEY.BgBg, // Bulgarian (Bulgaria) български (България)\n  // 'bm', // Bambara bamanakan\n  // 'bm-ML', // Bambara (Mali) bamanakan (Mali)\n  // 'bn', // Bangla বাংলা\n  'bn-BD': LOCALE_KEY.BnBd, // Bangla (Bangladesh) বাংলা (বাংলাদেশ)\n  'bn-IN': LOCALE_KEY.BnIn, // Bangla (India) বাংলা (ভারত)\n  // 'bo', // Tibetan བོད་སྐད་\n  // 'bo-CN', // Tibetan (China) བོད་སྐད་ (རྒྱ་ནག)\n  // 'bo-IN', // Tibetan (India) བོད་སྐད་ (རྒྱ་གར་)\n  // 'br', // Breton brezhoneg\n  // 'br-FR', // Breton (France) brezhoneg (Frañs)\n  // 'brx', // Bodo बड़ो\n  // 'brx-IN', // Bodo (India) बड़ो (भारत)\n  bs: LOCALE_KEY.BsBa, // Bosnian bosanski\n  'bs-Cyrl': LOCALE_KEY.BsCyrlBa, // Bosnian (Cyrillic) босански (ћирилица)\n  'bs-Cyrl-BA': LOCALE_KEY.BsCyrlBa, // Bosnian (Cyrillic, Bosnia & Herzegovina) босански (ћирилица, Босна и Херцеговина)\n  'bs-Latn': LOCALE_KEY.BsLatnBa, // Bosnian (Latin) bosanski (latinica)\n  'bs-Latn-BA': LOCALE_KEY.BsLatnBa, // Bosnian (Latin, Bosnia & Herzegovina) bosanski (latinica, Bosna i Hercegovina)\n  ca: LOCALE_KEY.Ca, // Catalan català\n  'ca-AD': LOCALE_KEY.CaAd, // Catalan (Andorra) català (Andorra)\n  'ca-ES': LOCALE_KEY.CaEs, // Catalan (Spain) català (Espanya)\n  'ca-FR': LOCALE_KEY.CaFr, // Catalan (France) català (França)\n  'ca-IT': LOCALE_KEY.CaIt, // Catalan (Italy) català (Itàlia)\n  // 'ccp', // Chakma 𑄌𑄋𑄴𑄟𑄳𑄦\n  // 'ccp-BD', // Chakma (Bangladesh) 𑄌𑄋𑄴𑄟𑄳𑄦 (𑄝𑄁𑄣𑄘𑄬𑄌𑄴)\n  // 'ccp-IN', // Chakma (India) 𑄌𑄋𑄴𑄟𑄳𑄦 (𑄞𑄢𑄧𑄖𑄴)\n  // 'ce', // Chechen нохчийн\n  // 'ce-RU', // Chechen (Russia) нохчийн (Росси)\n  // 'cgg', // Chiga Rukiga\n  // 'cgg-UG', // Chiga (Uganda) Rukiga (Uganda)\n  // 'chr', // Cherokee ᏣᎳᎩ\n  // 'chr-US', // Cherokee (United States) ᏣᎳᎩ (ᏌᏊ ᎢᏳᎾᎵᏍᏔᏅ ᏍᎦᏚᎩ)\n  // 'ckb', // Central Kurdish کوردیی ناوەندی\n  // 'ckb-IQ', // Central Kurdish (Iraq) کوردیی ناوەندی (عێراق)\n  // 'ckb-IR', // Central Kurdish (Iran) کوردیی ناوەندی (ئێران)\n  cs: LOCALE_KEY.CsCz, // Czech čeština\n  'cs-CZ': LOCALE_KEY.CsCz, // Czech (Czechia) čeština (Česko)\n  cy: LOCALE_KEY.Cy, // Welsh Cymraeg\n  'cy-GB': LOCALE_KEY.CyGb, // Welsh (United Kingdom) Cymraeg (Y Deyrnas Unedig)\n  da: LOCALE_KEY.DaDk, // Danish dansk\n  'da-DK': LOCALE_KEY.DaDk, // Danish (Denmark) dansk (Danmark)\n  'da-GL': LOCALE_KEY.DaDk, // Danish (Greenland) dansk (Grønland)\n  // 'dav', // Taita Kitaita\n  // 'dav-KE', // Taita (Kenya) Kitaita (Kenya)\n  de: LOCALE_KEY.De, // German Deutsch\n  'de-AT': LOCALE_KEY.DeAt, // German (Austria) Deutsch (Österreich) Austrian German\n  'de-BE': LOCALE_KEY.De, // German (Belgium) Deutsch (Belgien)\n  'de-CH': LOCALE_KEY.DeCh, // German (Switzerland) Deutsch (Schweiz) Swiss High German\n  'de-DE': LOCALE_KEY.DeDe, // German (Germany) Deutsch (Deutschland)\n  'de-IT': LOCALE_KEY.De, // German (Italy) Deutsch (Italien)\n  'de-LI': LOCALE_KEY.De, // German (Liechtenstein) Deutsch (Liechtenstein)\n  'de-LU': LOCALE_KEY.De, // German (Luxembourg) Deutsch (Luxemburg)\n  // 'dje', // Zarma Zarmaciine\n  // 'dje-NE', // Zarma (Niger) Zarmaciine (Nižer)\n  // 'dsb', // Lower Sorbian dolnoserbšćina\n  // 'dsb-DE', // Lower Sorbian (Germany) dolnoserbšćina (Nimska)\n  // 'dua', // Duala duálá\n  // 'dua-CM', // Duala (Cameroon) duálá (Cameroun)\n  // 'dyo', // Jola-Fonyi joola\n  // 'dyo-SN', // Jola-Fonyi (Senegal) joola (Senegal)\n  // 'dz', // Dzongkha རྫོང་ཁ\n  // 'dz-BT', // Dzongkha (Bhutan) རྫོང་ཁ། (འབྲུག།)\n  // 'ebu', // Embu Kĩembu\n  // 'ebu-KE', // Embu (Kenya) Kĩembu (Kenya)\n  // 'ee', // Ewe Eʋegbe\n  // 'ee-GH', // Ewe (Ghana) Eʋegbe (Ghana nutome)\n  // 'ee-TG', // Ewe (Togo) Eʋegbe (Togo nutome)\n  el: LOCALE_KEY.ElGr, // Greek Ελληνικά\n  'el-CY': LOCALE_KEY.ElGr, // Greek (Cyprus) Ελληνικά (Κύπρος)\n  'el-GR': LOCALE_KEY.ElGr, // Greek (Greece) Ελληνικά (Ελλάδα)\n  en: LOCALE_KEY.En, // English English\n  'en-001': LOCALE_KEY.En, // English (World) English (World)\n  'en-150': LOCALE_KEY.En, // English (Europe) English (Europe)\n  'en-AG': LOCALE_KEY.En, // English (Antigua & Barbuda) English (Antigua & Barbuda)\n  'en-AI': LOCALE_KEY.En, // English (Anguilla) English (Anguilla)\n  'en-AS': LOCALE_KEY.En, // English (American Samoa) English (American Samoa)\n  'en-AT': LOCALE_KEY.En, // English (Austria) English (Austria)\n  'en-AU': LOCALE_KEY.EnAu, // English (Australia) English (Australia) Australian English\n  'en-BB': LOCALE_KEY.En, // English (Barbados) English (Barbados)\n  'en-BE': LOCALE_KEY.En, // English (Belgium) English (Belgium)\n  'en-BI': LOCALE_KEY.En, // English (Burundi) English (Burundi)\n  'en-BM': LOCALE_KEY.En, // English (Bermuda) English (Bermuda)\n  'en-BS': LOCALE_KEY.En, // English (Bahamas) English (Bahamas)\n  'en-BW': LOCALE_KEY.En, // English (Botswana) English (Botswana)\n  'en-BZ': LOCALE_KEY.En, // English (Belize) English (Belize)\n  'en-CA': LOCALE_KEY.En, // English (Canada) English (Canada) Canadian English\n  'en-CC': LOCALE_KEY.En, // English (Cocos [Keeling] Islands) English (Cocos [Keeling] Islands)\n  'en-CH': LOCALE_KEY.En, // English (Switzerland) English (Switzerland)\n  'en-CK': LOCALE_KEY.En, // English (Cook Islands) English (Cook Islands)\n  'en-CM': LOCALE_KEY.En, // English (Cameroon) English (Cameroon)\n  'en-CX': LOCALE_KEY.En, // English (Christmas Island) English (Christmas Island)\n  'en-CY': LOCALE_KEY.En, // English (Cyprus) English (Cyprus)\n  'en-DE': LOCALE_KEY.En, // English (Germany) English (Germany)\n  'en-DG': LOCALE_KEY.En, // English (Diego Garcia) English (Diego Garcia)\n  'en-DK': LOCALE_KEY.En, // English (Denmark) English (Denmark)\n  'en-DM': LOCALE_KEY.En, // English (Dominica) English (Dominica)\n  'en-ER': LOCALE_KEY.En, // English (Eritrea) English (Eritrea)\n  'en-FI': LOCALE_KEY.En, // English (Finland) English (Finland)\n  'en-FJ': LOCALE_KEY.En, // English (Fiji) English (Fiji)\n  'en-FK': LOCALE_KEY.En, // English (Falkland Islands) English (Falkland Islands)\n  'en-FM': LOCALE_KEY.En, // English (Micronesia) English (Micronesia)\n  'en-GB': LOCALE_KEY.EnGb, // English (United Kingdom) English (United Kingdom) British English\n  'en-GD': LOCALE_KEY.En, // English (Grenada) English (Grenada)\n  'en-GG': LOCALE_KEY.En, // English (Guernsey) English (Guernsey)\n  'en-GH': LOCALE_KEY.En, // English (Ghana) English (Ghana)\n  'en-GI': LOCALE_KEY.En, // English (Gibraltar) English (Gibraltar)\n  'en-GM': LOCALE_KEY.En, // English (Gambia) English (Gambia)\n  'en-GU': LOCALE_KEY.En, // English (Guam) English (Guam)\n  'en-GY': LOCALE_KEY.En, // English (Guyana) English (Guyana)\n  'en-HK': LOCALE_KEY.En, // English (Hong Kong SAR China) English (Hong Kong SAR China)\n  'en-IE': LOCALE_KEY.EnIe, // English (Ireland) English (Ireland)\n  'en-IL': LOCALE_KEY.En, // English (Israel) English (Israel)\n  'en-IM': LOCALE_KEY.En, // English (Isle of Man) English (Isle of Man)\n  'en-IN': LOCALE_KEY.En, // English (India) English (India)\n  'en-IO': LOCALE_KEY.En, // English (British Indian Ocean Territory) English (British Indian Ocean Territory)\n  'en-JE': LOCALE_KEY.En, // English (Jersey) English (Jersey)\n  'en-JM': LOCALE_KEY.En, // English (Jamaica) English (Jamaica)\n  'en-KE': LOCALE_KEY.En, // English (Kenya) English (Kenya)\n  'en-KI': LOCALE_KEY.En, // English (Kiribati) English (Kiribati)\n  'en-KN': LOCALE_KEY.En, // English (St. Kitts & Nevis) English (St. Kitts & Nevis)\n  'en-KY': LOCALE_KEY.En, // English (Cayman Islands) English (Cayman Islands)\n  'en-LC': LOCALE_KEY.En, // English (St. Lucia) English (St. Lucia)\n  'en-LR': LOCALE_KEY.En, // English (Liberia) English (Liberia)\n  'en-LS': LOCALE_KEY.En, // English (Lesotho) English (Lesotho)\n  'en-MG': LOCALE_KEY.En, // English (Madagascar) English (Madagascar)\n  'en-MH': LOCALE_KEY.En, // English (Marshall Islands) English (Marshall Islands)\n  'en-MO': LOCALE_KEY.En, // English (Macau SAR China) English (Macau SAR China)\n  'en-MP': LOCALE_KEY.En, // English (Northern Mariana Islands) English (Northern Mariana Islands)\n  'en-MS': LOCALE_KEY.En, // English (Montserrat) English (Montserrat)\n  'en-MT': LOCALE_KEY.En, // English (Malta) English (Malta)\n  'en-MU': LOCALE_KEY.En, // English (Mauritius) English (Mauritius)\n  'en-MW': LOCALE_KEY.En, // English (Malawi) English (Malawi)\n  'en-MY': LOCALE_KEY.En, // English (Malaysia) English (Malaysia)\n  'en-NA': LOCALE_KEY.En, // English (Namibia) English (Namibia)\n  'en-NF': LOCALE_KEY.En, // English (Norfolk Island) English (Norfolk Island)\n  'en-NG': LOCALE_KEY.En, // English (Nigeria) English (Nigeria)\n  'en-NL': LOCALE_KEY.En, // English (Netherlands) English (Netherlands)\n  'en-NR': LOCALE_KEY.En, // English (Nauru) English (Nauru)\n  'en-NU': LOCALE_KEY.En, // English (Niue) English (Niue)\n  'en-NZ': LOCALE_KEY.EnNz, // English (New Zealand) English (New Zealand)\n  'en-PG': LOCALE_KEY.En, // English (Papua New Guinea) English (Papua New Guinea)\n  'en-PH': LOCALE_KEY.En, // English (Philippines) English (Philippines)\n  'en-PK': LOCALE_KEY.En, // English (Pakistan) English (Pakistan)\n  'en-PN': LOCALE_KEY.En, // English (Pitcairn Islands) English (Pitcairn Islands)\n  'en-PR': LOCALE_KEY.En, // English (Puerto Rico) English (Puerto Rico)\n  'en-PW': LOCALE_KEY.En, // English (Palau) English (Palau)\n  'en-RW': LOCALE_KEY.En, // English (Rwanda) English (Rwanda)\n  'en-SB': LOCALE_KEY.En, // English (Solomon Islands) English (Solomon Islands)\n  'en-SC': LOCALE_KEY.En, // English (Seychelles) English (Seychelles)\n  'en-SD': LOCALE_KEY.En, // English (Sudan) English (Sudan)\n  'en-SE': LOCALE_KEY.En, // English (Sweden) English (Sweden)\n  'en-SG': LOCALE_KEY.En, // English (Singapore) English (Singapore)\n  'en-SH': LOCALE_KEY.En, // English (St. Helena) English (St. Helena)\n  'en-SI': LOCALE_KEY.En, // English (Slovenia) English (Slovenia)\n  'en-SL': LOCALE_KEY.En, // English (Sierra Leone) English (Sierra Leone)\n  'en-SS': LOCALE_KEY.En, // English (South Sudan) English (South Sudan)\n  'en-SX': LOCALE_KEY.En, // English (Sint Maarten) English (Sint Maarten)\n  'en-SZ': LOCALE_KEY.En, // English (Swaziland) English (Swaziland)\n  'en-TC': LOCALE_KEY.En, // English (Turks & Caicos Islands) English (Turks & Caicos Islands)\n  'en-TK': LOCALE_KEY.En, // English (Tokelau) English (Tokelau)\n  'en-TO': LOCALE_KEY.En, // English (Tonga) English (Tonga)\n  'en-TT': LOCALE_KEY.En, // English (Trinidad & Tobago) English (Trinidad & Tobago)\n  'en-TV': LOCALE_KEY.En, // English (Tuvalu) English (Tuvalu)\n  'en-TZ': LOCALE_KEY.En, // English (Tanzania) English (Tanzania)\n  'en-UG': LOCALE_KEY.En, // English (Uganda) English (Uganda)\n  'en-UM': LOCALE_KEY.En, // English (U.S. Outlying Islands) English (U.S. Outlying Islands)\n  'en-US': LOCALE_KEY.EnUs, // English (United States) English (United States) American English\n  'en-US-POSIX': LOCALE_KEY.EnUs, // English (United States, Computer) American English (Computer)\n  'en-VC': LOCALE_KEY.En, // English (St. Vincent & Grenadines) English (St. Vincent & Grenadines)\n  'en-VG': LOCALE_KEY.En, // English (British Virgin Islands) English (British Virgin Islands)\n  'en-VI': LOCALE_KEY.En, // English (U.S. Virgin Islands) English (U.S. Virgin Islands)\n  'en-VU': LOCALE_KEY.En, // English (Vanuatu) English (Vanuatu)\n  'en-WS': LOCALE_KEY.En, // English (Samoa) English (Samoa)\n  'en-ZA': LOCALE_KEY.En, // English (South Africa) English (South Africa)\n  'en-ZM': LOCALE_KEY.En, // English (Zambia) English (Zambia)\n  'en-ZW': LOCALE_KEY.En, // English (Zimbabwe) English (Zimbabwe)\n  // 'eo', // Esperanto esperanto\n  es: LOCALE_KEY.Es, // Spanish español\n  'es-419': LOCALE_KEY.Es419, // Spanish (Latin America) español (Latinoamérica) Latin American Spanish\n  'es-AR': LOCALE_KEY.EsAr, // Spanish (Argentina) español (Argentina)\n  'es-BO': LOCALE_KEY.Es419, // Spanish (Bolivia) español (Bolivia)\n  'es-BR': LOCALE_KEY.Es419, // Spanish (Brazil) español (Brasil)\n  'es-BZ': LOCALE_KEY.Es419, // Spanish (Belize) español (Belice)\n  'es-CL': LOCALE_KEY.EsCl, // Spanish (Chile) español (Chile)\n  'es-CO': LOCALE_KEY.EsCo, // Spanish (Colombia) español (Colombia)\n  'es-CR': LOCALE_KEY.EsCr, // Spanish (Costa Rica) español (Costa Rica)\n  'es-CU': LOCALE_KEY.Es419, // Spanish (Cuba) español (Cuba)\n  'es-DO': LOCALE_KEY.Es419, // Spanish (Dominican Republic) español (República Dominicana)\n  'es-EA': LOCALE_KEY.Es419, // Spanish (Ceuta & Melilla) español (Ceuta y Melilla)\n  'es-EC': LOCALE_KEY.Es419, // Spanish (Ecuador) español (Ecuador)\n  'es-ES': LOCALE_KEY.EsEs, // Spanish (Spain) español (España) European Spanish\n  'es-GQ': LOCALE_KEY.Es419, // Spanish (Equatorial Guinea) español (Guinea Ecuatorial)\n  'es-GT': LOCALE_KEY.Es419, // Spanish (Guatemala) español (Guatemala)\n  'es-HN': LOCALE_KEY.Es419, // Spanish (Honduras) español (Honduras)\n  'es-IC': LOCALE_KEY.Es419, // Spanish (Canary Islands) español (Canarias)\n  'es-MX': LOCALE_KEY.EsMx, // Spanish (Mexico) español (México) Mexican Spanish\n  'es-NI': LOCALE_KEY.Es419, // Spanish (Nicaragua) español (Nicaragua)\n  'es-PA': LOCALE_KEY.Es419, // Spanish (Panama) español (Panamá)\n  'es-PE': LOCALE_KEY.Es419, // Spanish (Peru) español (Perú)\n  'es-PH': LOCALE_KEY.Es419, // Spanish (Philippines) español (Filipinas)\n  'es-PR': LOCALE_KEY.Es419, // Spanish (Puerto Rico) español (Puerto Rico)\n  'es-PY': LOCALE_KEY.Es419, // Spanish (Paraguay) español (Paraguay)\n  'es-SV': LOCALE_KEY.Es419, // Spanish (El Salvador) español (El Salvador)\n  'es-US': LOCALE_KEY.Es419, // Spanish (United States) español (Estados Unidos)\n  'es-UY': LOCALE_KEY.Es419, // Spanish (Uruguay) español (Uruguay)\n  'es-VE': LOCALE_KEY.Es419, // Spanish (Venezuela) español (Venezuela)\n  et: LOCALE_KEY.EtEe, // Estonian eesti\n  'et-EE': LOCALE_KEY.EtEe, // Estonian (Estonia) eesti (Eesti)\n  eu: LOCALE_KEY.Eu, // Basque euskara\n  'eu-ES': LOCALE_KEY.EuEs, // Basque (Spain) euskara (Espainia)\n  // 'ewo', // Ewondo ewondo\n  // 'ewo-CM', // Ewondo (Cameroon) ewondo (Kamərún)\n  // 'fa', // Persian فارسی TODO\n  // 'fa-AF', // Persian (Afghanistan) فارسی (افغانستان) Dari TODO\n  // 'fa-IR', // Persian (Iran) فارسی (ایران) TODO\n  // 'ff', // Fulah Pulaar\n  // 'ff-CM', // Fulah (Cameroon) Pulaar (Kameruun)\n  // 'ff-GN', // Fulah (Guinea) Pulaar (Gine)\n  // 'ff-MR', // Fulah (Mauritania) Pulaar (Muritani)\n  // 'ff-SN', // Fulah (Senegal) Pulaar (Senegaal)\n  fi: LOCALE_KEY.FiFi, // Finnish suomi\n  'fi-FI': LOCALE_KEY.FiFi, // Finnish (Finland) suomi (Suomi)\n  fil: LOCALE_KEY.Fil, // Filipino Filipino\n  'fil-PH': LOCALE_KEY.FilPh, // Filipino (Philippines) Filipino (Pilipinas)\n  // 'fo', // Faroese føroyskt\n  // 'fo-DK', // Faroese (Denmark) føroyskt (Danmark)\n  // 'fo-FO', // Faroese (Faroe Islands) føroyskt (Føroyar)\n  fr: LOCALE_KEY.Fr, // French français\n  'fr-BE': LOCALE_KEY.FrBe, // French (Belgium) français (Belgique)\n  'fr-BF': LOCALE_KEY.Fr, // French (Burkina Faso) français (Burkina Faso)\n  'fr-BI': LOCALE_KEY.Fr, // French (Burundi) français (Burundi)\n  'fr-BJ': LOCALE_KEY.Fr, // French (Benin) français (Bénin)\n  'fr-BL': LOCALE_KEY.Fr, // French (St. Barthélemy) français (Saint-Barthélemy)\n  'fr-CA': LOCALE_KEY.FrCa, // French (Canada) français (Canada) Canadian French\n  'fr-CD': LOCALE_KEY.Fr, // French (Congo - Kinshasa) français (Congo-Kinshasa)\n  'fr-CF': LOCALE_KEY.Fr, // French (Central African Republic) français (République centrafricaine)\n  'fr-CG': LOCALE_KEY.Fr, // French (Congo - Brazzaville) français (Congo-Brazzaville)\n  'fr-CH': LOCALE_KEY.FrCh, // French (Switzerland) français (Suisse) Swiss French\n  'fr-CI': LOCALE_KEY.Fr, // French (Côte d’Ivoire) français (Côte d’Ivoire)\n  'fr-CM': LOCALE_KEY.Fr, // French (Cameroon) français (Cameroun)\n  'fr-DJ': LOCALE_KEY.Fr, // French (Djibouti) français (Djibouti)\n  'fr-DZ': LOCALE_KEY.Fr, // French (Algeria) français (Algérie)\n  'fr-FR': LOCALE_KEY.FrFr, // French (France) français (France)\n  'fr-GA': LOCALE_KEY.Fr, // French (Gabon) français (Gabon)\n  'fr-GF': LOCALE_KEY.Fr, // French (French Guiana) français (Guyane française)\n  'fr-GN': LOCALE_KEY.Fr, // French (Guinea) français (Guinée)\n  'fr-GP': LOCALE_KEY.Fr, // French (Guadeloupe) français (Guadeloupe)\n  'fr-GQ': LOCALE_KEY.Fr, // French (Equatorial Guinea) français (Guinée équatoriale)\n  'fr-HT': LOCALE_KEY.Fr, // French (Haiti) français (Haïti)\n  'fr-KM': LOCALE_KEY.Fr, // French (Comoros) français (Comores)\n  'fr-LU': LOCALE_KEY.Fr, // French (Luxembourg) français (Luxembourg)\n  'fr-MA': LOCALE_KEY.Fr, // French (Morocco) français (Maroc)\n  'fr-MC': LOCALE_KEY.Fr, // French (Monaco) français (Monaco)\n  'fr-MF': LOCALE_KEY.Fr, // French (St. Martin) français (Saint-Martin)\n  'fr-MG': LOCALE_KEY.Fr, // French (Madagascar) français (Madagascar)\n  'fr-ML': LOCALE_KEY.Fr, // French (Mali) français (Mali)\n  'fr-MQ': LOCALE_KEY.Fr, // French (Martinique) français (Martinique)\n  'fr-MR': LOCALE_KEY.Fr, // French (Mauritania) français (Mauritanie)\n  'fr-MU': LOCALE_KEY.Fr, // French (Mauritius) français (Maurice)\n  'fr-NC': LOCALE_KEY.Fr, // French (New Caledonia) français (Nouvelle-Calédonie)\n  'fr-NE': LOCALE_KEY.Fr, // French (Niger) français (Niger)\n  'fr-PF': LOCALE_KEY.Fr, // French (French Polynesia) français (Polynésie française)\n  'fr-PM': LOCALE_KEY.Fr, // French (St. Pierre & Miquelon) français (Saint-Pierre-et-Miquelon)\n  'fr-RE': LOCALE_KEY.Fr, // French (Réunion) français (La Réunion)\n  'fr-RW': LOCALE_KEY.Fr, // French (Rwanda) français (Rwanda)\n  'fr-SC': LOCALE_KEY.Fr, // French (Seychelles) français (Seychelles)\n  'fr-SN': LOCALE_KEY.Fr, // French (Senegal) français (Sénégal)\n  'fr-SY': LOCALE_KEY.Fr, // French (Syria) français (Syrie)\n  'fr-TD': LOCALE_KEY.Fr, // French (Chad) français (Tchad)\n  'fr-TG': LOCALE_KEY.Fr, // French (Togo) français (Togo)\n  'fr-TN': LOCALE_KEY.Fr, // French (Tunisia) français (Tunisie)\n  'fr-VU': LOCALE_KEY.Fr, // French (Vanuatu) français (Vanuatu)\n  'fr-WF': LOCALE_KEY.Fr, // French (Wallis & Futuna) français (Wallis-et-Futuna)\n  'fr-YT': LOCALE_KEY.Fr, // French (Mayotte) français (Mayotte)\n  // 'fur', // Friulian furlan\n  // 'fur-IT', // Friulian (Italy) furlan (Italie)\n  // 'fy', // Western Frisian Fryskx\n  // 'fy-NL', // Western Frisian (Netherlands) Frysk (Nederlân)\n  ga: LOCALE_KEY.Ga, // Irish Gaeilge\n  'ga-IE': LOCALE_KEY.GaIe, // Irish (Ireland) Gaeilge (Éire)\n  // 'gd', // Scottish Gaelic Gàidhlig\n  // 'gd-GB', // Scottish Gaelic (United Kingdom) Gàidhlig (An Rìoghachd Aonaichte)\n  gl: LOCALE_KEY.Gl, // Galician galego\n  'gl-ES': LOCALE_KEY.GlEs, // Galician (Spain) galego (España)\n  gsw: LOCALE_KEY.DeCh, // Swiss German Schwiizertüütsch\n  'gsw-CH': LOCALE_KEY.DeCh, // Swiss German (Switzerland) Schwiizertüütsch (Schwiiz)\n  'gsw-FR': LOCALE_KEY.DeCh, // Swiss German (France) Schwiizertüütsch (Frankriich)\n  'gsw-LI': LOCALE_KEY.DeCh, // Swiss German (Liechtenstein) Schwiizertüütsch (Liächteschtäi)\n  gu: LOCALE_KEY.Gu, // Gujarati ગુજરાતી\n  'gu-IN': LOCALE_KEY.GuIn, // Gujarati (India) ગુજરાતી (ભારત)\n  // 'guz', // Gusii Ekegusii\n  // 'guz-KE', // Gusii (Kenya) Ekegusii (Kenya)\n  // 'gv', // Manx Gaelg\n  // 'gv-IM', // Manx (Isle of Man) Gaelg (Ellan Vannin)\n  ha: LOCALE_KEY.Ha, // Hausa Hausa\n  'ha-GH': LOCALE_KEY.HaGh, // Hausa (Ghana) Hausa (Gana)\n  'ha-NE': LOCALE_KEY.HaNe, // Hausa (Niger) Hausa (Nijar)\n  'ha-NG': LOCALE_KEY.HaNg, // Hausa (Nigeria) Hausa (Najeriya)\n  // 'haw', // Hawaiian ʻŌlelo Hawaiʻi\n  // 'haw-US', // Hawaiian (United States) ʻŌlelo Hawaiʻi (ʻAmelika Hui Pū ʻIa)\n  he: LOCALE_KEY.HeIl, // Hebrew עברית\n  'he-IL': LOCALE_KEY.HeIl, // Hebrew (Israel) עברית (ישראל)\n  hi: LOCALE_KEY.HiIn, // Hindi हिन्दी\n  'hi-IN': LOCALE_KEY.HiIn, // Hindi (India) हिन्दी (भारत)\n  hr: LOCALE_KEY.HrHr, // Croatian hrvatski\n  'hr-BA': LOCALE_KEY.HrHr, // Croatian (Bosnia & Herzegovina) hrvatski (Bosna i Hercegovina)\n  'hr-HR': LOCALE_KEY.HrHr, // Croatian (Croatia) hrvatski (Hrvatska)\n  // 'hsb', // Upper Sorbian hornjoserbšćina\n  // 'hsb-DE', // Upper Sorbian (Germany) hornjoserbšćina (Němska)\n  hu: LOCALE_KEY.HuHu, // Hungarian magyar\n  'hu-HU': LOCALE_KEY.HuHu, // Hungarian (Hungary) magyar (Magyarország)\n  // 'hy', // Armenian հայերեն TODO\n  'hy-AM': LOCALE_KEY.HyAm, // Armenian (Armenia) հայերեն (Հայաստան)\n  id: LOCALE_KEY.IdId, // Indonesian Indonesia\n  'id-ID': LOCALE_KEY.IdId, // Indonesian (Indonesia) Indonesia (Indonesia)\n  // 'ig', // Igbo Igbo\n  // 'ig-NG', // Igbo (Nigeria) Igbo (Naịjịrịa)\n  // 'ii', // Sichuan Yi ꆈꌠꉙ\n  // 'ii-CN', // Sichuan Yi (China) ꆈꌠꉙ (ꍏꇩ)\n  is: LOCALE_KEY.IsIs, // Icelandic íslenska\n  'is-IS': LOCALE_KEY.IsIs, // Icelandic (Iceland) íslenska (Ísland)\n  it: LOCALE_KEY.It, // Italian italiano\n  'it-CH': LOCALE_KEY.ItCh, // Italian (Switzerland) italiano (Svizzera)\n  'it-IT': LOCALE_KEY.ItIt, // Italian (Italy) italiano (Italia)\n  'it-SM': LOCALE_KEY.ItIt, // Italian (San Marino) italiano (San Marino)\n  'it-VA': LOCALE_KEY.ItIt, // Italian (Vatican City) italiano (Città del Vaticano)\n  ja: LOCALE_KEY.Ja, // Japanese 日本語\n  'ja-JP': LOCALE_KEY.JaJp, // Japanese (Japan) 日本語 (日本)\n  // 'jgo', // Ngomba Ndaꞌa\n  // 'jgo-CM', // Ngomba (Cameroon) Ndaꞌa (Kamɛlûn)\n  // 'jmc', // Machame Kimachame\n  // 'jmc-TZ', // Machame (Tanzania) Kimachame (Tanzania)\n  ka: LOCALE_KEY.Ka, // Georgian ქართული\n  'ka-GE': LOCALE_KEY.KaGe, // Georgian (Georgia) ქართული (საქართველო)\n  // 'kab', // Kabyle Taqbaylit\n  // 'kab-DZ', // Kabyle (Algeria) Taqbaylit (Lezzayer)\n  // 'kam', // Kamba Kikamba\n  // 'kam-KE', // Kamba (Kenya) Kikamba (Kenya)\n  // 'kde', // Makonde Chimakonde\n  // 'kde-TZ', // Makonde (Tanzania) Chimakonde (Tanzania)\n  // 'kea', // Kabuverdianu kabuverdianu\n  // 'kea-CV', // Kabuverdianu (Cape Verde) kabuverdianu (Kabu Verdi)\n  // 'khq', // Koyra Chiini Koyra ciini\n  // 'khq-ML', // Koyra Chiini (Mali) Koyra ciini (Maali)\n  // 'ki', // Kikuyu Gikuyu\n  // 'ki-KE', // Kikuyu (Kenya) Gikuyu (Kenya)\n  kk: LOCALE_KEY.Kk, // Kazakh қазақ тілі\n  'kk-KZ': LOCALE_KEY.KkKz, // Kazakh (Kazakhstan) қазақ тілі (Қазақстан)\n  // 'kkj', // Kako kakɔ\n  // 'kkj-CM', // Kako (Cameroon) kakɔ (Kamɛrun)\n  // 'kl', // Kalaallisut kalaallisut\n  // 'kl-GL', // Kalaallisut (Greenland) kalaallisut (Kalaallit Nunaat)\n  // 'kln', // Kalenjin Kalenjin\n  // 'kln-KE', // Kalenjin (Kenya) Kalenjin (Emetab Kenya)\n  // 'km', // Khmer ខ្មែរ\n  // 'km-KH', // Khmer (Cambodia) ខ្មែរ (កម្ពុជា)\n  kn: LOCALE_KEY.Kn, // Kannada ಕನ್ನಡ\n  'kn-IN': LOCALE_KEY.KnIn, // Kannada (India) ಕನ್ನಡ (ಭಾರತ)\n  ko: LOCALE_KEY.KoKr, // Korean 한국어\n  'ko-KP': LOCALE_KEY.KoKr, // Korean (North Korea) 한국어(조선민주주의인민공화국)\n  'ko-KR': LOCALE_KEY.KoKr, // Korean (South Korea) 한국어(대한민국)\n  // 'kok', // Konkani कोंकणी\n  // 'kok-IN', // Konkani (India) कोंकणी (भारत)\n  // 'ks', // Kashmiri کٲشُر\n  // 'ks-IN', // Kashmiri (India) کٲشُر (ہِنٛدوستان)\n  // 'ksb', // Shambala Kishambaa\n  // 'ksb-TZ', // Shambala (Tanzania) Kishambaa (Tanzania)\n  // 'ksf', // Bafia rikpa\n  // 'ksf-CM', // Bafia (Cameroon) rikpa (kamɛrún)\n  // 'ksh', // Colognian Kölsch\n  // 'ksh-DE', // Colognian (Germany) Kölsch en Doütschland\n  // 'kw', // Cornish kernewek\n  // 'kw-GB', // Cornish (United Kingdom) kernewek (Rywvaneth Unys)\n  // 'ky', // Kyrgyz кыргызча\n  // 'ky-KG', // Kyrgyz (Kyrgyzstan) кыргызча (Кыргызстан)\n  // 'lag', // Langi Kɨlaangi\n  // 'lag-TZ', // Langi (Tanzania) Kɨlaangi (Taansanía)\n  // 'lb', // Luxembourgish Lëtzebuergesch\n  // 'lb-LU', // Luxembourgish (Luxembourg) Lëtzebuergesch (Lëtzebuerg)\n  // 'lg', // Ganda Luganda\n  // 'lg-UG', // Ganda (Uganda) Luganda (Yuganda)\n  // 'lkt', // Lakota Lakȟólʼiyapi\n  // 'lkt-US', // Lakota (United States) Lakȟólʼiyapi (Mílahaŋska Tȟamákȟočhe)\n  // 'ln', // Lingala lingála\n  // 'ln-AO', // Lingala (Angola) lingála (Angóla)\n  // 'ln-CD', // Lingala (Congo - Kinshasa) lingála (Republíki ya Kongó Demokratíki)\n  // 'ln-CF', // Lingala (Central African Republic) lingála (Repibiki ya Afríka ya Káti)\n  // 'ln-CG', // Lingala (Congo - Brazzaville) lingála (Kongo)\n  // 'lo', // Lao ລາວ\n  // 'lo-LA', // Lao (Laos) ລາວ (ລາວ)\n  // 'lrc', // Northern Luri لۊری شومالی\n  // 'lrc-IQ', // Northern Luri (Iraq) لۊری شومالی (IQ)\n  // 'lrc-IR', // Northern Luri (Iran) لۊری شومالی (IR)\n  lt: LOCALE_KEY.LtLt, // Lithuanian lietuvių\n  'lt-LT': LOCALE_KEY.LtLt, // Lithuanian (Lithuania) lietuvių (Lietuva)\n  // 'lu', // Luba-Katanga Tshiluba\n  // 'lu-CD', // Luba-Katanga (Congo - Kinshasa) Tshiluba (Ditunga wa Kongu)\n  // 'luo', // Luo Dholuo\n  // 'luo-KE', // Luo (Kenya) Dholuo (Kenya)\n  // 'luy', // Luyia Luluhia\n  // 'luy-KE', // Luyia (Kenya) Luluhia (Kenya)\n  lv: LOCALE_KEY.LvLv, // Latvian latviešu\n  'lv-LV': LOCALE_KEY.LvLv, // Latvian (Latvia) latviešu (Latvija)\n  // 'mas', // Masai Maa\n  // 'mas-KE', // Masai (Kenya) Maa (Kenya)\n  // 'mas-TZ', // Masai (Tanzania) Maa (Tansania)\n  // 'mer', // Meru Kĩmĩrũ\n  // 'mer-KE', // Meru (Kenya) Kĩmĩrũ (Kenya)\n  // 'mfe', // Morisyen kreol morisien\n  // 'mfe-MU', // Morisyen (Mauritius) kreol morisien (Moris)\n  // 'mg', // Malagasy Malagasy\n  // 'mg-MG', // Malagasy (Madagascar) Malagasy (Madagasikara)\n  // 'mgh', // Makhuwa-Meetto Makua\n  // 'mgh-MZ', // Makhuwa-Meetto (Mozambique) Makua (Umozambiki)\n  // 'mgo', // Metaʼ metaʼ\n  // 'mgo-CM', // Metaʼ (Cameroon) metaʼ (Kamalun)\n  mk: LOCALE_KEY.Mk, // Macedonian македонски\n  'mk-MK': LOCALE_KEY.MkMk, // Macedonian (Macedonia) македонски (Македонија)\n  ml: LOCALE_KEY.Ml, // Malayalam മലയാളം\n  'ml-IN': LOCALE_KEY.MlIn, // Malayalam (India) മലയാളം (ഇന്ത്യ)\n  mn: LOCALE_KEY.Mn, // Mongolian монгол\n  'mn-MN': LOCALE_KEY.MnMn, // Mongolian (Mongolia) монгол (Монгол)\n  mr: LOCALE_KEY.MrIn, // Marathi मराठी\n  'mr-IN': LOCALE_KEY.MrIn, // Marathi (India) मराठी (भारत)\n  ms: LOCALE_KEY.MsMy, // Malay Melayu\n  'ms-BN': LOCALE_KEY.MsMy, // Malay (Brunei) Melayu (Brunei)\n  'ms-MY': LOCALE_KEY.MsMy, // Malay (Malaysia) Melayu (Malaysia)\n  'ms-SG': LOCALE_KEY.MsMy, // Malay (Singapore) Melayu (Singapura)\n  mt: LOCALE_KEY.MtMt, // Maltese Malti\n  'mt-MT': LOCALE_KEY.MtMt, // Maltese (Malta) Malti (Malta)\n  // 'mua', // Mundang MUNDAŊ\n  // 'mua-CM', // Mundang (Cameroon) MUNDAŊ (kameruŋ)\n  // 'my', // Burmese မြန်မာ\n  // 'my-MM', // Burmese (Myanmar [Burma]) မြန်မာ (မြန်မာ)\n  // 'mzn', // Mazanderani مازرونی\n  // 'mzn-IR', // Mazanderani (Iran) مازرونی (ایران)\n  // 'naq', // Nama Khoekhoegowab\n  // 'naq-NA', // Nama (Namibia) Khoekhoegowab (Namibiab)\n  nb: LOCALE_KEY.NbNi, // Norwegian Bokmål norsk bokmål\n  'nb-NO': LOCALE_KEY.NbNi, // Norwegian Bokmål (Norway) norsk bokmål (Norge)\n  'nb-SJ': LOCALE_KEY.NbNi, // Norwegian Bokmål (Svalbard & Jan Mayen) norsk bokmål (Svalbard og Jan Mayen)\n  // 'nd', // North Ndebele isiNdebele\n  // 'nd-ZW', // North Ndebele (Zimbabwe) isiNdebele (Zimbabwe)\n  // 'nds', // Low German nds TODO?\n  // 'nds-DE', // Low German (Germany) nds (DE) TODO?\n  // 'nds-NL', // Low German (Netherlands) nds (NL) Low Saxon TODO?\n  // 'ne', // Nepali नेपाली\n  // 'ne-IN', // Nepali (India) नेपाली (भारत)\n  // 'ne-NP', // Nepali (Nepal) नेपाली (नेपाल)\n  nl: LOCALE_KEY.NlNl, // Dutch Nederlands\n  'nl-AW': LOCALE_KEY.NlNl, // Dutch (Aruba) Nederlands (Aruba)\n  'nl-BE': LOCALE_KEY.NlBe, // Dutch (Belgium) Nederlands (België) Flemish\n  'nl-BQ': LOCALE_KEY.NlNl, // Dutch (Caribbean Netherlands) Nederlands (Caribisch Nederland)\n  'nl-CW': LOCALE_KEY.NlNl, // Dutch (Curaçao) Nederlands (Curaçao)\n  'nl-NL': LOCALE_KEY.NlNl, // Dutch (Netherlands) Nederlands (Nederland)\n  'nl-SR': LOCALE_KEY.NlNl, // Dutch (Suriname) Nederlands (Suriname)\n  'nl-SX': LOCALE_KEY.NlNl, // Dutch (Sint Maarten) Nederlands (Sint-Maarten)\n  // 'nmg', // Kwasio nmg\n  // 'nmg-CM', // Kwasio (Cameroon) nmg (Kamerun)\n  // 'nn', // Norwegian Nynorsk nynorsk\n  // 'nn-NO', // Norwegian Nynorsk (Norway) nynorsk (Noreg)\n  // 'nnh', // Ngiemboon Shwóŋò ngiembɔɔn\n  // 'nnh-CM', // Ngiemboon (Cameroon) Shwóŋò ngiembɔɔn (Kàmalûm)\n  // 'nus', // Nuer Thok Nath\n  // 'nus-SS', // Nuer (South Sudan) Thok Nath (SS)\n  // 'nyn', // Nyankole Runyankore\n  // 'nyn-UG', // Nyankole (Uganda) Runyankore (Uganda)\n  // 'om', // Oromo Oromoo\n  // 'om-ET', // Oromo (Ethiopia) Oromoo (Itoophiyaa)\n  // 'om-KE', // Oromo (Kenya) Oromoo (Keeniyaa)\n  // 'or', // Odia ଓଡ଼ିଆ\n  // 'or-IN', // Odia (India) ଓଡ଼ିଆ (ଭାରତ)\n  // 'os', // Ossetic ирон\n  // 'os-GE', // Ossetic (Georgia) ирон (Гуырдзыстон)\n  // 'os-RU', // Ossetic (Russia) ирон (Уӕрӕсе)\n  pa: LOCALE_KEY.Pa, // Punjabi ਪੰਜਾਬੀ\n  'pa-Arab': LOCALE_KEY.PaPk, // Punjabi (Arabic) پنجابی (عربی)\n  'pa-Arab-PK': LOCALE_KEY.PaPk, // Punjabi (Arabic, Pakistan) پنجابی (عربی, پاکستان)\n  'pa-Guru': LOCALE_KEY.PaIn, // Punjabi (Gurmukhi) ਪੰਜਾਬੀ (ਗੁਰਮੁਖੀ)\n  'pa-Guru-IN': LOCALE_KEY.PaIn, // Punjabi (Gurmukhi, India) ਪੰਜਾਬੀ (ਗੁਰਮੁਖੀ, ਭਾਰਤ)\n  pl: LOCALE_KEY.PlPl, // Polish polski\n  'pl-PL': LOCALE_KEY.PlPl, // Polish (Poland) polski (Polska)\n  ps: LOCALE_KEY.Ps, // Pashto پښتو\n  'ps-AF': LOCALE_KEY.PsAf, // Pashto (Afghanistan) پښتو (افغانستان)\n  pt: LOCALE_KEY.PtPt, // Portuguese português\n  'pt-AO': LOCALE_KEY.PtPt, // Portuguese (Angola) português (Angola)\n  'pt-BR': LOCALE_KEY.PtBr, // Portuguese (Brazil) português (Brasil) Brazilian Portuguese\n  'pt-CH': LOCALE_KEY.PtPt, // Portuguese (Switzerland) português (Suíça)\n  'pt-CV': LOCALE_KEY.PtPt, // Portuguese (Cape Verde) português (Cabo Verde)\n  'pt-GQ': LOCALE_KEY.PtPt, // Portuguese (Equatorial Guinea) português (Guiné Equatorial)\n  'pt-GW': LOCALE_KEY.PtPt, // Portuguese (Guinea-Bissau) português (Guiné-Bissau)\n  'pt-LU': LOCALE_KEY.PtPt, // Portuguese (Luxembourg) português (Luxemburgo)\n  'pt-MO': LOCALE_KEY.PtPt, // Portuguese (Macau SAR China) português (Macau, RAE da China)\n  'pt-MZ': LOCALE_KEY.PtPt, // Portuguese (Mozambique) português (Moçambique)\n  'pt-PT': LOCALE_KEY.PtPt, // Portuguese (Portugal) português (Portugal) European Portuguese\n  'pt-ST': LOCALE_KEY.PtPt, // Portuguese (São Tomé & Príncipe) português (São Tomé e Príncipe)\n  'pt-TL': LOCALE_KEY.PtPt, // Portuguese (Timor-Leste) português (Timor-Leste)\n  // 'qu', // Quechua Runasimi\n  // 'qu-BO', // Quechua (Bolivia) Runasimi (Bolivia)\n  // 'qu-EC', // Quechua (Ecuador) Runasimi (Ecuador)\n  // 'qu-PE', // Quechua (Peru) Runasimi (Perú)\n  // 'rm', // Romansh rumantsch\n  // 'rm-CH', // Romansh (Switzerland) rumantsch (Svizra)\n  // 'rn', // Rundi Ikirundi\n  // 'rn-BI', // Rundi (Burundi) Ikirundi (Uburundi)\n  ro: LOCALE_KEY.RoRo, // Romanian română\n  'ro-MD': LOCALE_KEY.RoRo, // Romanian (Moldova) română (Republica Moldova) Moldavian\n  'ro-RO': LOCALE_KEY.RoRo, // Romanian (Romania) română (România)\n  // 'rof', // Rombo Kihorombo\n  // 'rof-TZ', // Rombo (Tanzania) Kihorombo (Tanzania)\n  ru: LOCALE_KEY.Ru, // Russian русский\n  'ru-BY': LOCALE_KEY.Ru, // Russian (Belarus) русский (Беларусь)\n  'ru-KG': LOCALE_KEY.Ru, // Russian (Kyrgyzstan) русский (Киргизия)\n  'ru-KZ': LOCALE_KEY.Ru, // Russian (Kazakhstan) русский (Казахстан)\n  'ru-MD': LOCALE_KEY.Ru, // Russian (Moldova) русский (Молдова)\n  'ru-RU': LOCALE_KEY.RuRu, // Russian (Russia) русский (Россия)\n  'ru-UA': LOCALE_KEY.Ru, // Russian (Ukraine) русский (Украина)\n  // 'rw', // Kinyarwanda Kinyarwanda\n  // 'rw-RW', // Kinyarwanda (Rwanda) Kinyarwanda (U Rwanda)\n  // 'rwk', // Rwa Kiruwa\n  // 'rwk-TZ', // Rwa (Tanzania) Kiruwa (Tanzania)\n  // 'sah', // Sakha саха тыла\n  // 'sah-RU', // Sakha (Russia) саха тыла (Арассыыйа)\n  // 'saq', // Samburu Kisampur\n  // 'saq-KE', // Samburu (Kenya) Kisampur (Kenya)\n  // 'sbp', // Sangu Ishisangu\n  // 'sbp-TZ', // Sangu (Tanzania) Ishisangu (Tansaniya)\n  // 'se', // Northern Sami davvisámegiella\n  // 'se-FI', // Northern Sami (Finland) davvisámegiella (Suopma)\n  // 'se-NO', // Northern Sami (Norway) davvisámegiella (Norga)\n  // 'se-SE', // Northern Sami (Sweden) davvisámegiella (Ruoŧŧa)\n  // 'seh', // Sena sena\n  // 'seh-MZ', // Sena (Mozambique) sena (Moçambique)\n  // 'ses', // Koyraboro Senni Koyraboro senni\n  // 'ses-ML', // Koyraboro Senni (Mali) Koyraboro senni (Maali)\n  // 'sg', // Sango Sängö\n  // 'sg-CF', // Sango (Central African Republic) Sängö (Ködörösêse tî Bêafrîka)\n  // 'shi', // Tachelhit ⵜⴰⵛⵍⵃⵉⵜ\n  // 'shi-Latn', // Tachelhit (Latin) Tashelḥiyt (Latn)\n  // 'shi-Latn-MA', // Tachelhit (Latin, Morocco) Tashelḥiyt (Latn, lmɣrib)\n  // 'shi-Tfng', // Tachelhit (Tifinagh) ⵜⴰⵛⵍⵃⵉⵜ (Tfng)\n  // 'shi-Tfng-MA', // Tachelhit (Tifinagh, Morocco) ⵜⴰⵛⵍⵃⵉⵜ (Tfng, ⵍⵎⵖⵔⵉⴱ)\n  si: LOCALE_KEY.Si, // Sinhala සිංහල\n  'si-LK': LOCALE_KEY.SiLk, // Sinhala (Sri Lanka) සිංහල (ශ්‍රී ලංකාව)\n  sk: LOCALE_KEY.SkSk, // Slovak slovenčina\n  'sk-SK': LOCALE_KEY.SkSk, // Slovak (Slovakia) slovenčina (Slovensko)\n  sl: LOCALE_KEY.SlSl, // Slovenian slovenščina\n  'sl-SI': LOCALE_KEY.SlSl, // Slovenian (Slovenia) slovenščina (Slovenija)\n  // 'smn', // Inari Sami anarâškielâ\n  // 'smn-FI', // Inari Sami (Finland) anarâškielâ (Suomâ)\n  // 'sn', // Shona chiShona\n  // 'sn-ZW', // Shona (Zimbabwe) chiShona (Zimbabwe)\n  so: LOCALE_KEY.So, // Somali Soomaali\n  'so-DJ': LOCALE_KEY.SoDj, // Somali (Djibouti) Soomaali (Jabuuti)\n  'so-ET': LOCALE_KEY.SoEt, // Somali (Ethiopia) Soomaali (Itoobiya)\n  'so-KE': LOCALE_KEY.SoKe, // Somali (Kenya) Soomaali (Kiiniya)\n  'so-SO': LOCALE_KEY.SoSo, // Somali (Somalia) Soomaali (Soomaaliya)\n  sq: LOCALE_KEY.Sq, // Albanian shqip\n  'sq-AL': LOCALE_KEY.SqAl, // Albanian (Albania) shqip (Shqipëri)\n  'sq-MK': LOCALE_KEY.SqMk, // Albanian (Macedonia) shqip (Maqedoni)\n  'sq-XK': LOCALE_KEY.SqXk, // Albanian (Kosovo) shqip (Kosovë)\n  sr: LOCALE_KEY.SrLatnRs, // Serbian српски\n  'sr-Cyrl': LOCALE_KEY.SrCyrlRs, // Serbian (Cyrillic) српски (ћирилица)\n  'sr-Cyrl-BA': LOCALE_KEY.SrCyrlRs, // Serbian (Cyrillic, Bosnia & Herzegovina) српски (ћирилица, Босна и Херцеговина)\n  'sr-Cyrl-ME': LOCALE_KEY.SrCyrlRs, // Serbian (Cyrillic, Montenegro) српски (ћирилица, Црна Гора)\n  'sr-Cyrl-RS': LOCALE_KEY.SrCyrlRs, // Serbian (Cyrillic, Serbia) српски (ћирилица, Србија)\n  'sr-Cyrl-XK': LOCALE_KEY.SrCyrlRs, // Serbian (Cyrillic, Kosovo) српски (ћирилица, Косово)\n  'sr-Latn': LOCALE_KEY.SrLatnRs, // Serbian (Latin) srpski (latinica)\n  'sr-Latn-BA': LOCALE_KEY.SrLatnRs, // Serbian (Latin, Bosnia & Herzegovina) srpski (latinica, Bosna i Hercegovina)\n  'sr-Latn-ME': LOCALE_KEY.SrLatnRs, // Serbian (Latin, Montenegro) srpski (latinica, Crna Gora)\n  'sr-Latn-RS': LOCALE_KEY.SrLatnRs, // Serbian (Latin, Serbia) srpski (latinica, Srbija)\n  'sr-Latn-XK': LOCALE_KEY.SrLatnRs, // Serbian (Latin, Kosovo) srpski (latinica, Kosovo)\n  sv: LOCALE_KEY.SvSe, // Swedish svenska\n  'sv-AX': LOCALE_KEY.SvSe, // Swedish (Åland Islands) svenska (Åland)\n  'sv-FI': LOCALE_KEY.SvSe, // Swedish (Finland) svenska (Finland)\n  'sv-SE': LOCALE_KEY.SvSe, // Swedish (Sweden) svenska (Sverige)\n  sw: LOCALE_KEY.Sw, // Swahili Kiswahili\n  'sw-CD': LOCALE_KEY.SwCd, // Swahili (Congo - Kinshasa) Kiswahili (Jamhuri ya Kidemokrasia ya Kongo) Congo Swahili\n  'sw-KE': LOCALE_KEY.SwKe, // Swahili (Kenya) Kiswahili (Kenya)\n  'sw-TZ': LOCALE_KEY.SwTz, // Swahili (Tanzania) Kiswahili (Tanzania)\n  'sw-UG': LOCALE_KEY.SwUg, // Swahili (Uganda) Kiswahili (Uganda)\n  ta: LOCALE_KEY.TaIn, // Tamil தமிழ்\n  'ta-IN': LOCALE_KEY.TaIn, // Tamil (India) தமிழ் (இந்தியா)\n  'ta-LK': LOCALE_KEY.TaIn, // Tamil (Sri Lanka) தமிழ் (இலங்கை)\n  'ta-MY': LOCALE_KEY.TaIn, // Tamil (Malaysia) தமிழ் (மலேசியா)\n  'ta-SG': LOCALE_KEY.TaIn, // Tamil (Singapore) தமிழ் (சிங்கப்பூர்)\n  te: LOCALE_KEY.Te, // Telugu తెలుగు\n  'te-IN': LOCALE_KEY.TeIn, // Telugu (India) తెలుగు (భారతదేశం)\n  // 'teo', // Teso Kiteso\n  // 'teo-KE', // Teso (Kenya) Kiteso (Kenia)\n  // 'teo-UG', // Teso (Uganda) Kiteso (Uganda)\n  // 'tg', // Tajik тоҷикӣ\n  // 'tg-TJ', // Tajik (Tajikistan) тоҷикӣ (Тоҷикистон)\n  th: LOCALE_KEY.ThTh, // Thai ไทย\n  'th-TH': LOCALE_KEY.ThTh, // Thai (Thailand) ไทย (ไทย)\n  // 'ti', // Tigrinya ትግርኛ\n  // 'ti-ER', // Tigrinya (Eritrea) ትግርኛ (ኤርትራ)\n  // 'ti-ET', // Tigrinya (Ethiopia) ትግርኛ (ኢትዮጵያ)\n  // 'to', // Tongan lea fakatonga\n  // 'to-TO', // Tongan (Tonga) lea fakatonga (Tonga)\n  tr: LOCALE_KEY.TrTr, // Turkish Türkçe\n  'tr-CY': LOCALE_KEY.TrTr, // Turkish (Cyprus) Türkçe (Kıbrıs)\n  'tr-TR': LOCALE_KEY.TrTr, // Turkish (Turkey) Türkçe (Türkiye)\n  // 'tt', // Tatar татар\n  // 'tt-RU', // Tatar (Russia) татар (Россия)\n  // 'twq', // Tasawaq Tasawaq senni\n  // 'twq-NE', // Tasawaq (Niger) Tasawaq senni (Nižer)\n  // 'tzm', // Central Atlas Tamazight Tamaziɣt n laṭlaṣ\n  // 'tzm-MA', // Central Atlas Tamazight (Morocco) Tamaziɣt n laṭlaṣ (Meṛṛuk)\n  // 'ug', // Uyghur ئۇيغۇرچە\n  // 'ug-CN', // Uyghur (China) ئۇيغۇرچە (جۇڭگو)\n  uk: LOCALE_KEY.UkUa, // Ukrainian українська\n  'uk-UA': LOCALE_KEY.UkUa, // Ukrainian (Ukraine) українська (Україна)\n  ur: LOCALE_KEY.Ur, // Urdu اردو\n  'ur-IN': LOCALE_KEY.UrIn, // Urdu (India) اردو (بھارت)\n  'ur-PK': LOCALE_KEY.UrPk, // Urdu (Pakistan) اردو (پاکستان)\n  uz: LOCALE_KEY.Uz, // Uzbek o‘zbek\n  'uz-Arab': LOCALE_KEY.Uz, // Uzbek (Arabic) اوزبیک (عربی)\n  'uz-Arab-AF': LOCALE_KEY.Uz, // Uzbek (Arabic, Afghanistan) اوزبیک (عربی, افغانستان)\n  'uz-Cyrl': LOCALE_KEY.Uz, // Uzbek (Cyrillic) ўзбекча (Кирил)\n  'uz-Cyrl-UZ': LOCALE_KEY.Uz, // Uzbek (Cyrillic, Uzbekistan) ўзбекча (Кирил, Ўзбекистон)\n  'uz-Latn': LOCALE_KEY.Uz, // Uzbek (Latin) o‘zbek (lotin)\n  'uz-Latn-UZ': LOCALE_KEY.Uz, // Uzbek (Latin, Uzbekistan) o‘zbek (lotin, Oʻzbekiston)\n  // 'vai', // Vai ꕙꔤ\n  // 'vai-Latn', // Vai (Latin) Vai (Latn)\n  // 'vai-Latn-LR', // Vai (Latin, Liberia) Vai (Latn, Laibhiya)\n  // 'vai-Vaii', // Vai (Vai) ꕙꔤ (Vaii)\n  // 'vai-Vaii-LR', // Vai (Vai, Liberia) ꕙꔤ (Vaii, ꕞꔤꔫꕩ)\n  vi: LOCALE_KEY.ViVn, // Vietnamese Tiếng Việt\n  'vi-VN': LOCALE_KEY.ViVn, // Vietnamese (Vietnam) Tiếng Việt (Việt Nam)\n  // 'vun', // Vunjo Kyivunjo\n  // 'vun-TZ', // Vunjo (Tanzania) Kyivunjo (Tanzania)\n  // 'wae', // Walser Walser\n  // 'wae-CH', // Walser (Switzerland) Walser (Schwiz)\n  // 'wo', // Wolof Wolof\n  // 'wo-SN', // Wolof (Senegal) Wolof (Senegaal)\n  // 'xog', // Soga Olusoga\n  // 'xog-UG', // Soga (Uganda) Olusoga (Yuganda)\n  // 'yav', // Yangben nuasue\n  // 'yav-CM', // Yangben (Cameroon) nuasue (Kemelún)\n  // 'yi', // Yiddish ייִדיש\n  // 'yi-001', // Yiddish (World) ייִדיש (וועלט)\n  // 'yo', // Yoruba Èdè Yorùbá\n  // 'yo-BJ', // Yoruba (Benin) Èdè Yorùbá (Orílɛ́ède Bɛ̀nɛ̀)\n  // 'yo-NG', // Yoruba (Nigeria) Èdè Yorùbá (Orílẹ́ède Nàìjíríà)\n  yue: LOCALE_KEY.ZhHk, // Cantonese 粵語\n  'yue-Hant': LOCALE_KEY.ZhHk, // Cantonese (Traditional) 粵語 (繁體)\n  'yue-Hant-HK': LOCALE_KEY.ZhHk, // Cantonese (Traditional, Hong Kong SAR China) 粵語 (繁體，中華人民共和國香港特別行政區)\n  'yue-Hans': LOCALE_KEY.ZhHans, // Cantonese (Simplified) 粤语 (简体)\n  'yue-Hans-CN': LOCALE_KEY.ZhHans, // Cantonese (Simplified, China) 粤语 (简体，中华人民共和国)\n  // 'zgh', // Standard Moroccan Tamazight ⵜⴰⵎⴰⵣⵉⵖⵜ\n  // 'zgh-MA', // Standard Moroccan Tamazight (Morocco) ⵜⴰⵎⴰⵣⵉⵖⵜ (ⵍⵎⵖⵔⵉⴱ)\n  zh: LOCALE_KEY.Zh, // Chinese 中文\n  'zh-Hans': LOCALE_KEY.ZhHans, // Chinese (Simplified) 中文（简体） Simplified Chinese\n  'zh-Hans-CN': LOCALE_KEY.ZhHans, // Chinese (Simplified, China) 中文（简体，中国） Simplified Chinese (China)\n  'zh-Hans-SG': LOCALE_KEY.ZhHans, // Chinese (Simplified, Singapore) 中文（简体，新加坡） Simplified Chinese (Singapore)\n  'zh-Hans-MO': LOCALE_KEY.ZhHans, // 中文（简体，中国澳门特别行政区） Simplified Chinese (Macau SAR China)\n  'zh-Hans-HK': LOCALE_KEY.ZhHans, // 中文（简体，中国香港特别行政区） Simplified Chinese (Hong Kong SAR China)\n  'zh-Hant': LOCALE_KEY.ZhTw, // Chinese (Traditional) 中文（繁體） Traditional Chinese\n  'zh-Hant-MO': LOCALE_KEY.ZhHk, // 中文（繁體字，中國澳門特別行政區） Traditional Chinese (Macau SAR China)\n  'zh-Hant-HK': LOCALE_KEY.ZhHk, // 中文（繁體字，中國香港特別行政區） Traditional Chinese (Hong Kong SAR China)\n  'zh-Hant-TW': LOCALE_KEY.ZhTw, // Chinese (Traditional, Taiwan) 中文（繁體，台灣） Traditional Chinese (Taiwan)\n  zu: LOCALE_KEY.ZuZa, // Zulu isiZulu\n  'zu-ZA': LOCALE_KEY.ZuZa, // Zulu (South Africa) isiZulu (iNingizimu Afrika)\n} as const satisfies Record<BrowserLocaleMapKey, LocaleValue>;\n\ntype BrowserLocaleMap = Record<BrowserLocaleMapKey, LocaleValue>;\n\nexport const LOCALE_BROWSER_MAP: BrowserLocaleMap = localeBrowserMap;\n\n/** Union of Browser locale keys */\nexport type BrowserLocaleKey = keyof typeof LOCALE_BROWSER_MAP;\n\n/**\n * Native language names, used to render options to users\n * Language options for end-users should be written in own language\n */\nexport const NATIVE_LANGUAGE_NAMES: Record<LocaleValue, string> = {\n  /* English */\n  [LOCALE_KEY.En]: 'English',\n  /* Arabic */\n  [LOCALE_KEY.Ar]: 'العربية',\n  /* French */\n  [LOCALE_KEY.Fr]: 'Français',\n  /* German */\n  [LOCALE_KEY.De]: 'Deutsch',\n  /* Spanish */\n  [LOCALE_KEY.Es]: 'Español',\n  /* Italian */\n  [LOCALE_KEY.It]: 'Italiano',\n  /* Japanese */\n  [LOCALE_KEY.Ja]: '日本語',\n  /* Russian */\n  [LOCALE_KEY.Ru]: 'Русский язык',\n\n  /* Afrikaans */\n  [LOCALE_KEY.Af]: 'Afrikaans',\n  /* Bulgarian */\n  [LOCALE_KEY.Bg]: 'български',\n  /* Chinese (base) */\n  [LOCALE_KEY.Zh]: '中文',\n  /* Croatian */\n  [LOCALE_KEY.Hr]: 'Hrvatski',\n  /* Czech */\n  [LOCALE_KEY.Cs]: 'Čeština',\n  /* Danish */\n  [LOCALE_KEY.Da]: 'Dansk',\n  /* Finnish */\n  [LOCALE_KEY.Fi]: 'Suomi',\n  /* Greek */\n  [LOCALE_KEY.El]: 'Ελληνικά',\n  /* Hindi */\n  [LOCALE_KEY.Hi]: 'हिन्दी',\n  /* Hungarian */\n  [LOCALE_KEY.Hu]: 'Magyar',\n  /* Indonesian */\n  // TODO: https://linear.app/transcend/issue/GOOM-417/add-id-to-locale-key\n  // [LOCALE_KEY.Id]: 'Bahasa Indonesia',\n  /* Korean */\n  [LOCALE_KEY.Ko]: '한국어',\n  /* Lithuanian */\n  [LOCALE_KEY.Lt]: 'Lietuvių',\n  /* Malay */\n  [LOCALE_KEY.Ms]: 'Bahasa Melayu',\n  /* Marathi */\n  [LOCALE_KEY.Mr]: 'मराठी',\n  /* Norwegian Bokmål */\n  [LOCALE_KEY.Nb]: 'Bokmål',\n  /* Polish */\n  [LOCALE_KEY.Pl]: 'Polski',\n  /* Portuguese */\n  [LOCALE_KEY.Pt]: 'Português',\n  /* Romanian */\n  [LOCALE_KEY.Ro]: 'Română',\n  /* Serbian (unspecified script) */\n  [LOCALE_KEY.Sr]: 'Српски / Srpski',\n  /* Swedish */\n  [LOCALE_KEY.Sv]: 'Svenska',\n  /* Tamil */\n  [LOCALE_KEY.Ta]: 'தமிழ்',\n  /* Thai */\n  [LOCALE_KEY.Th]: 'ภาษาไทย',\n  /* Turkish */\n  [LOCALE_KEY.Tr]: 'Türkçe',\n  /* Ukrainian */\n  [LOCALE_KEY.Uk]: 'Українська',\n  /* Vietnamese */\n  [LOCALE_KEY.Vi]: 'Tiếng Việt',\n  /* Zulu */\n  [LOCALE_KEY.Zu]: 'isiZulu',\n  /* Hebrew */\n  [LOCALE_KEY.He]: 'עברית',\n  /* Dutch */\n  [LOCALE_KEY.Nl]: 'Nederlands',\n  /* Estonian */\n  [LOCALE_KEY.Et]: 'Eesti',\n  /* Icelandic */\n  [LOCALE_KEY.Is]: 'Íslenska',\n  /* Latvian */\n  [LOCALE_KEY.Lv]: 'Latviešu',\n  /* Maltese */\n  [LOCALE_KEY.Mt]: 'Malti',\n  /* Slovak */\n  [LOCALE_KEY.Sk]: 'Slovenčina',\n  /* Slovenian */\n  [LOCALE_KEY.Sl]: 'Slovenščina',\n  /* Filipino */\n  [LOCALE_KEY.Fil]: 'Filipino',\n  /* Bosnian */\n  [LOCALE_KEY.Bs]: 'Bosanski',\n  /* Catalan */\n  [LOCALE_KEY.Ca]: 'Català',\n  /* Basque */\n  [LOCALE_KEY.Eu]: 'Euskara',\n  /* Galician */\n  [LOCALE_KEY.Gl]: 'Galego',\n  /* Dhivehi */\n  [LOCALE_KEY.Dv]: 'ދިވެހިބަސް',\n  /* Urdu */\n  [LOCALE_KEY.Ur]: 'اردو',\n  /* Albanian */\n  [LOCALE_KEY.Sq]: 'Shqip',\n  /* Amharic */\n  [LOCALE_KEY.Am]: 'አማርኛ',\n  /* Armenian */\n  [LOCALE_KEY.Hy]: 'Հայերեն',\n  /* Azerbaijani */\n  [LOCALE_KEY.Az]: 'Azərbaycan dili',\n  /* Bengali */\n  [LOCALE_KEY.Bn]: 'বাংলা',\n  /* Dari */\n  [LOCALE_KEY.FaAf]: 'دری',\n  /* Tagalog */\n  [LOCALE_KEY.Tl]: 'Tagalog',\n  /* Georgian */\n  [LOCALE_KEY.Ka]: 'ქართული',\n  /* Gujarati */\n  [LOCALE_KEY.Gu]: 'ગુજરાતી',\n  /* Haitian Creole */\n  [LOCALE_KEY.Ht]: 'Kreyòl Ayisyen',\n  /* Hausa */\n  [LOCALE_KEY.Ha]: 'Hausa',\n  /* Irish */\n  [LOCALE_KEY.Ga]: 'Gaeilge',\n  /* Kannada */\n  [LOCALE_KEY.Kn]: 'ಕನ್ನಡ',\n  /* Kazakh */\n  [LOCALE_KEY.Kk]: 'Қазақ тілі',\n  /* Macedonian */\n  [LOCALE_KEY.Mk]: 'Македонски',\n  /* Malayalam */\n  [LOCALE_KEY.Ml]: 'മലയാളം',\n  /* Mongolian */\n  [LOCALE_KEY.Mn]: 'Монгол',\n  /* Pashto */\n  [LOCALE_KEY.Ps]: 'پښتو',\n  /* Punjabi */\n  [LOCALE_KEY.Pa]: 'ਪੰਜਾਬੀ',\n  /* Sinhala */\n  [LOCALE_KEY.Si]: 'සිංහල',\n  /* Somali */\n  [LOCALE_KEY.So]: 'Soomaali',\n  /* Swahili */\n  [LOCALE_KEY.Sw]: 'Kiswahili',\n  /* Telugu */\n  [LOCALE_KEY.Te]: 'తెలుగు',\n  /* Uzbek */\n  [LOCALE_KEY.Uz]: 'Oʻzbek',\n  /* Welsh */\n  [LOCALE_KEY.Cy]: 'Cymraeg',\n\n  /* Arabic UAE */\n  [LOCALE_KEY.ArAe]: 'العربية (الإمارات العربية المتحدة)',\n  /* French (France) */\n  [LOCALE_KEY.FrFr]: 'Français (France)',\n  /* German (Germany) */\n  [LOCALE_KEY.DeDe]: 'Deutsch (Deutschland)',\n  /* Italian (Italy) */\n  [LOCALE_KEY.ItIt]: 'Italiano (Italia)',\n\n  /* Afrikaans */\n  [LOCALE_KEY.AfZz]: 'Afrikaans',\n  /* Bulgarian */\n  [LOCALE_KEY.BgBg]: 'български',\n  /* Chinese Simplified */\n  [LOCALE_KEY.ZhCn]: '汉语',\n  /* Chinese Simplified */\n  [LOCALE_KEY.ZhHans]: '汉语（简体）',\n  /* Croatian */\n  [LOCALE_KEY.HrHr]: 'Hrvatski',\n  /* Czech */\n  [LOCALE_KEY.CsCz]: 'Čeština',\n  /* Danish */\n  [LOCALE_KEY.DaDk]: 'Dansk',\n  /* English (UK) */\n  [LOCALE_KEY.EnGb]: 'English (UK)',\n  /* English (Canada) */\n  [LOCALE_KEY.EnCa]: 'English (Canada)',\n  /* English (UAE) */\n  [LOCALE_KEY.EnAe]: 'English (UAE)',\n\n  /* Finnish */\n  [LOCALE_KEY.FiFi]: 'Suomi',\n  /* Greek */\n  [LOCALE_KEY.ElGr]: 'Ελληνικά',\n  /* Hindi */\n  [LOCALE_KEY.HiIn]: 'हिन्दी',\n  /* Hungarian */\n  [LOCALE_KEY.HuHu]: 'Magyar',\n  /* Indonesian */\n  [LOCALE_KEY.IdId]: 'Bahasa Indonesia',\n  /* Japanese */\n  [LOCALE_KEY.JaJp]: '日本語',\n  /* Korean */\n  [LOCALE_KEY.KoKr]: '한국어',\n  /* Lithuanian */\n  [LOCALE_KEY.LtLt]: 'Lietuvių',\n  /* Malay */\n  [LOCALE_KEY.MsMy]: 'Bahasa Melayu',\n  /* Marathi */\n  [LOCALE_KEY.MrIn]: 'मराठी',\n  /* Norwegian Bokmål */\n  [LOCALE_KEY.NbNi]: 'Bokmål',\n  /* Polish */\n  [LOCALE_KEY.PlPl]: 'Polski',\n  /* Portuguese (Brazil) */\n  [LOCALE_KEY.PtBr]: 'Português (Brasil)',\n  /* Portuguese (Portugal) */\n  [LOCALE_KEY.PtPt]: 'Português (Portugal)',\n  /* Romanian */\n  [LOCALE_KEY.RoRo]: 'Română',\n  /* Russian */\n  [LOCALE_KEY.RuRu]: 'Русский язык',\n  /* Serbian (Latin, Serbia) */\n  [LOCALE_KEY.SrLatnRs]: 'Srpski (latinica)',\n  /* Swedish */\n  [LOCALE_KEY.SvSe]: 'Svenska',\n  /* Tamil */\n  [LOCALE_KEY.TaIn]: 'தமிழ்',\n  /* Thai */\n  [LOCALE_KEY.ThTh]: 'ภาษาไทย',\n  /* Turkish */\n  [LOCALE_KEY.TrTr]: 'Türkçe',\n  /* Ukrainian */\n  [LOCALE_KEY.UkUa]: 'Українська',\n  /* Vietnamese */\n  [LOCALE_KEY.ViVn]: 'Tiếng Việt',\n  /* Zulu */\n  [LOCALE_KEY.ZuZa]: 'isiZulu',\n  /* English (US) */\n  [LOCALE_KEY.EnUs]: 'English (US)',\n  /* English (Australia) */\n  [LOCALE_KEY.EnAu]: 'English (Australia)',\n  /* English (Ireland) */\n  [LOCALE_KEY.EnIe]: 'English (Ireland)',\n  /* English (New Zealand) */\n  [LOCALE_KEY.EnNz]: 'English (New Zealand)',\n\n  /* Dutch */\n  [LOCALE_KEY.NlNl]: 'Nederlands',\n  /* Dutch (Belgium) */\n  [LOCALE_KEY.NlBe]: 'Nederlands (België)',\n\n  /* Spanish (Spain) */\n  [LOCALE_KEY.EsEs]: 'Español (España)',\n  /* Spanish (Latin America & Caribbean) */\n  [LOCALE_KEY.Es419]: 'Español (América Latina)',\n\n  /* Chinese (Traditional, Hong Kong) */\n  [LOCALE_KEY.ZhHk]: '繁體中文（香港）',\n\n  /* French (Belgium) */\n  [LOCALE_KEY.FrBe]: 'Français (Belgique)',\n  /* French (Canada/Québec) */\n  [LOCALE_KEY.FrCa]: 'Français (Québec)',\n  /* French (Switzerland) */\n  [LOCALE_KEY.FrCh]: 'Français (Suisse)',\n\n  /* Hebrew (Israel) */\n  [LOCALE_KEY.HeIl]: 'עברית',\n  /* Estonian (Estonia) */\n  [LOCALE_KEY.EtEe]: 'Eesti',\n  /* Icelandic (Iceland) */\n  [LOCALE_KEY.IsIs]: 'Íslenska',\n  /* Latvian (Latvia) */\n  [LOCALE_KEY.LvLv]: 'Latviešu',\n  /* Maltese (Malta) */\n  [LOCALE_KEY.MtMt]: 'Malti',\n  /* Slovak (Slovakia) */\n  [LOCALE_KEY.SkSk]: 'Slovenčina',\n  /* Slovenian (Slovenia) */\n  [LOCALE_KEY.SlSl]: 'Slovenščina',\n\n  /* ===== Region/script variants (not previously listed) ===== */\n\n  /* German (Austria) */\n  [LOCALE_KEY.DeAt]: 'Deutsch (Österreich)',\n  /* German (Switzerland) */\n  [LOCALE_KEY.DeCh]: 'Deutsch (Schweiz)',\n\n  /* Italian (Switzerland) */\n  [LOCALE_KEY.ItCh]: 'Italiano (Svizzera)',\n\n  /* Chinese (Traditional, Taiwan) */\n  [LOCALE_KEY.ZhTw]: '繁體中文（台灣）',\n\n  /* Malay (Singapore) */\n  [LOCALE_KEY.MsSg]: 'Bahasa Melayu (Singapura)',\n\n  /* Serbian (Cyrillic, Serbia) */\n  [LOCALE_KEY.SrCyrlRs]: 'Српски (ћирилица)',\n\n  /* Spanish (Argentina) */\n  [LOCALE_KEY.EsAr]: 'Español (Argentina)',\n  /* Spanish (Costa Rica) */\n  [LOCALE_KEY.EsCr]: 'Español (Costa Rica)',\n  /* Spanish (Chile) */\n  [LOCALE_KEY.EsCl]: 'Español (Chile)',\n  /* Spanish (Colombia) */\n  [LOCALE_KEY.EsCo]: 'Español (Colombia)',\n  /* Spanish (Mexico) */\n  [LOCALE_KEY.EsMx]: 'Español (México)',\n\n  /* Filipino (Philippines) */\n  [LOCALE_KEY.FilPh]: 'Filipino (Pilipinas)',\n  /* Tagalog (Philippines) */\n  [LOCALE_KEY.TlPh]: 'Tagalog (Pilipinas)',\n\n  /* Albanian (Albania) */\n  [LOCALE_KEY.SqAl]: 'Shqip (Shqipëri)',\n  /* Albanian (North Macedonia) */\n  [LOCALE_KEY.SqMk]: 'Shqip (Maqedoni)',\n  /* Albanian (Kosovo) */\n  [LOCALE_KEY.SqXk]: 'Shqip (Kosovë)',\n\n  /* Amharic (Ethiopia) */\n  [LOCALE_KEY.AmEt]: 'አማርኛ (ኢትዮጵያ)',\n\n  /* Armenian (Armenia) */\n  [LOCALE_KEY.HyAm]: 'Հայերեն (Հայաստան)',\n\n  /* Azerbaijani (Azerbaijan) */\n  [LOCALE_KEY.AzAz]: 'Azərbaycan dili (Azərbaycan)',\n\n  /* Bengali (Bangladesh) */\n  [LOCALE_KEY.BnBd]: 'বাংলা (বাংলাদেশ)',\n  /* Bengali (India) */\n  [LOCALE_KEY.BnIn]: 'বাংলা (ভারত)',\n\n  /* Bosnian (Bosnia & Herzegovina) */\n  [LOCALE_KEY.BsBa]: 'Bosanski (Bosna i Hercegovina)',\n  /* Bosnian (Cyrillic, Bosnia & Herzegovina) */\n  [LOCALE_KEY.BsCyrlBa]: 'Босански (Ћирилица, Босна и Херцеговина)',\n  /* Bosnian (Latin, Bosnia & Herzegovina) */\n  [LOCALE_KEY.BsLatnBa]: 'Bosanski (Latinica, Bosna i Hercegovina)',\n\n  /* Catalan (Spain) */\n  [LOCALE_KEY.CaEs]: 'Català (Espanya)',\n  /* Catalan (Andorra) */\n  [LOCALE_KEY.CaAd]: 'Català (Andorra)',\n  /* Catalan (France) */\n  [LOCALE_KEY.CaFr]: 'Català (França)',\n  /* Catalan (Italy) */\n  [LOCALE_KEY.CaIt]: 'Català (Itàlia)',\n\n  /* Georgian (Georgia) */\n  [LOCALE_KEY.KaGe]: 'ქართული (საქართველო)',\n\n  /* Gujarati (India) */\n  [LOCALE_KEY.GuIn]: 'ગુજરાતી (ભારત)',\n\n  /* Haitian Creole (Haiti) */\n  [LOCALE_KEY.HtHt]: 'Kreyòl Ayisyen (Ayiti)',\n\n  /* Hausa (Nigeria) */\n  [LOCALE_KEY.HaNg]: 'Hausa (Nigeria)',\n  /* Hausa (Niger) */\n  [LOCALE_KEY.HaNe]: 'Hausa (Niger)',\n  /* Hausa (Ghana) */\n  [LOCALE_KEY.HaGh]: 'Hausa (Ghana)',\n\n  /* Irish (Ireland) */\n  [LOCALE_KEY.GaIe]: 'Gaeilge (Éire)',\n\n  /* Kannada (India) */\n  [LOCALE_KEY.KnIn]: 'ಕನ್ನಡ (ಭಾರತ)',\n\n  /* Kazakh (Kazakhstan) */\n  [LOCALE_KEY.KkKz]: 'Қазақ тілі (Қазақстан)',\n\n  /* Macedonian (North Macedonia) */\n  [LOCALE_KEY.MkMk]: 'Македонски (Македонија)',\n\n  /* Malayalam (India) */\n  [LOCALE_KEY.MlIn]: 'മലയാളം (ഇന്ത്യ)',\n\n  /* Mongolian (Mongolia) */\n  [LOCALE_KEY.MnMn]: 'Монгол (Монгол)',\n\n  /* Pashto (Afghanistan) */\n  [LOCALE_KEY.PsAf]: 'پښتو (افغانिस्तान)',\n\n  /* Punjabi (India) */\n  [LOCALE_KEY.PaIn]: 'ਪੰਜਾਬੀ (ਭਾਰਤ)',\n  /* Punjabi (Pakistan) */\n  [LOCALE_KEY.PaPk]: 'ਪنجابی (پاکستان)',\n\n  /* Sinhala (Sri Lanka) */\n  [LOCALE_KEY.SiLk]: 'සිංහල (ශ්‍රී ලංකාව)',\n\n  /* Somali (Somalia) */\n  [LOCALE_KEY.SoSo]: 'Soomaali (Soomaaliya)',\n  /* Somali (Djibouti) */\n  [LOCALE_KEY.SoDj]: 'Soomaali (Jabuuti)',\n  /* Somali (Ethiopia) */\n  [LOCALE_KEY.SoEt]: 'Soomaali (Itoobiya)',\n  /* Somali (Kenya) */\n  [LOCALE_KEY.SoKe]: 'Soomaali (Kiiniya)',\n\n  /* Swahili (Kenya) */\n  [LOCALE_KEY.SwKe]: 'Kiswahili (Kenya)',\n  /* Swahili (Tanzania) */\n  [LOCALE_KEY.SwTz]: 'Kiswahili (Tanzania)',\n  /* Swahili (Uganda) */\n  [LOCALE_KEY.SwUg]: 'Kiswahili (Uganda)',\n  /* Swahili (Congo - Kinshasa) */\n  [LOCALE_KEY.SwCd]: 'Kiswahili (Jamhuri ya Kidemokrasia ya Kongo)',\n\n  /* Telugu (India) */\n  [LOCALE_KEY.TeIn]: 'తెలుగు (భారతదేశం)',\n\n  /* Urdu (Pakistan) */\n  [LOCALE_KEY.UrPk]: 'اردو (پاکستان)',\n  /* Urdu (India) */\n  [LOCALE_KEY.UrIn]: 'اردو (بھارت)',\n\n  /* Uzbek (Uzbekistan) */\n  [LOCALE_KEY.UzUz]: 'Oʻzbek (Oʻzbekiston)',\n\n  /* Welsh (United Kingdom) */\n  [LOCALE_KEY.CyGb]: 'Cymraeg (Y Deyrnas Unedig)',\n\n  /* Basque (Spain) */\n  [LOCALE_KEY.EuEs]: 'Euskara (Espainia)',\n\n  /* Galician (Spain) */\n  [LOCALE_KEY.GlEs]: 'Galego (España)',\n};\n\n/**\n * English display names (fallback/default mapping).\n * Useful for admin UI, debugging, or when localization files are missing.\n */\nexport const EN_LANGUAGE_NAMES: Record<LocaleValue, string> = {\n  /* ===== Base languages ===== */\n  [LOCALE_KEY.En]: 'English',\n  [LOCALE_KEY.Ar]: 'Arabic',\n  [LOCALE_KEY.Fr]: 'French',\n  [LOCALE_KEY.Es]: 'Spanish',\n  [LOCALE_KEY.De]: 'German',\n  [LOCALE_KEY.It]: 'Italian',\n  [LOCALE_KEY.Ja]: 'Japanese',\n  [LOCALE_KEY.Ru]: 'Russian',\n\n  [LOCALE_KEY.Af]: 'Afrikaans',\n  [LOCALE_KEY.Bg]: 'Bulgarian',\n  [LOCALE_KEY.Zh]: 'Chinese',\n  [LOCALE_KEY.Hr]: 'Croatian',\n  [LOCALE_KEY.Cs]: 'Czech',\n  [LOCALE_KEY.Da]: 'Danish',\n  [LOCALE_KEY.Fi]: 'Finnish',\n  [LOCALE_KEY.El]: 'Greek',\n  [LOCALE_KEY.Hi]: 'Hindi',\n  [LOCALE_KEY.Hu]: 'Hungarian',\n  // TODO: https://linear.app/transcend/issue/GOOM-417/add-id-to-locale-key\n  // [LOCALE_KEY.Id]: 'Indonesian',\n  [LOCALE_KEY.Ko]: 'Korean',\n  [LOCALE_KEY.Lt]: 'Lithuanian',\n  [LOCALE_KEY.Ms]: 'Malay',\n  [LOCALE_KEY.Mr]: 'Marathi',\n  [LOCALE_KEY.Nb]: 'Norwegian Bokmål',\n  [LOCALE_KEY.Pl]: 'Polish',\n  [LOCALE_KEY.Pt]: 'Portuguese',\n  [LOCALE_KEY.Ro]: 'Romanian',\n  [LOCALE_KEY.Sr]: 'Serbian',\n  [LOCALE_KEY.Sv]: 'Swedish',\n  [LOCALE_KEY.Ta]: 'Tamil',\n  [LOCALE_KEY.Th]: 'Thai',\n  [LOCALE_KEY.Tr]: 'Turkish',\n  [LOCALE_KEY.Uk]: 'Ukrainian',\n  [LOCALE_KEY.Vi]: 'Vietnamese',\n  [LOCALE_KEY.Zu]: 'Zulu',\n  [LOCALE_KEY.He]: 'Hebrew',\n  [LOCALE_KEY.Nl]: 'Dutch',\n  [LOCALE_KEY.Et]: 'Estonian',\n  [LOCALE_KEY.Is]: 'Icelandic',\n  [LOCALE_KEY.Lv]: 'Latvian',\n  [LOCALE_KEY.Mt]: 'Maltese',\n  [LOCALE_KEY.Sk]: 'Slovak',\n  [LOCALE_KEY.Sl]: 'Slovenian',\n  [LOCALE_KEY.Fil]: 'Filipino',\n  [LOCALE_KEY.Bs]: 'Bosnian',\n  [LOCALE_KEY.Ca]: 'Catalan',\n  [LOCALE_KEY.Eu]: 'Basque',\n  [LOCALE_KEY.Gl]: 'Galician',\n  [LOCALE_KEY.Dv]: 'Dhivehi',\n  [LOCALE_KEY.Ur]: 'Urdu',\n  [LOCALE_KEY.Sq]: 'Albanian',\n  [LOCALE_KEY.Am]: 'Amharic',\n  [LOCALE_KEY.Hy]: 'Armenian',\n  [LOCALE_KEY.Az]: 'Azerbaijani',\n  [LOCALE_KEY.Bn]: 'Bengali',\n  [LOCALE_KEY.FaAf]: 'Dari',\n  [LOCALE_KEY.Tl]: 'Tagalog',\n  [LOCALE_KEY.Ka]: 'Georgian',\n  [LOCALE_KEY.Gu]: 'Gujarati',\n  [LOCALE_KEY.Ht]: 'Haitian Creole',\n  [LOCALE_KEY.Ha]: 'Hausa',\n  [LOCALE_KEY.Ga]: 'Irish',\n  [LOCALE_KEY.Kn]: 'Kannada',\n  [LOCALE_KEY.Kk]: 'Kazakh',\n  [LOCALE_KEY.Mk]: 'Macedonian',\n  [LOCALE_KEY.Ml]: 'Malayalam',\n  [LOCALE_KEY.Mn]: 'Mongolian',\n  [LOCALE_KEY.Ps]: 'Pashto',\n  [LOCALE_KEY.Pa]: 'Punjabi',\n  [LOCALE_KEY.Si]: 'Sinhala',\n  [LOCALE_KEY.So]: 'Somali',\n  [LOCALE_KEY.Sw]: 'Swahili',\n  [LOCALE_KEY.Te]: 'Telugu',\n  [LOCALE_KEY.Uz]: 'Uzbek',\n  [LOCALE_KEY.Cy]: 'Welsh',\n\n  /* ===== Region/script variants ===== */\n  [LOCALE_KEY.ArAe]: 'Arabic (United Arab Emirates)',\n  [LOCALE_KEY.FrFr]: 'French (France)',\n  [LOCALE_KEY.DeDe]: 'German (Germany)',\n  [LOCALE_KEY.ItIt]: 'Italian (Italy)',\n\n  [LOCALE_KEY.AfZz]: 'Afrikaans',\n  [LOCALE_KEY.BgBg]: 'Bulgarian',\n  [LOCALE_KEY.ZhCn]: 'Chinese (Simplified)',\n  [LOCALE_KEY.ZhHans]: 'Chinese (Simplified)',\n  [LOCALE_KEY.HrHr]: 'Croatian',\n  [LOCALE_KEY.CsCz]: 'Czech',\n  [LOCALE_KEY.DaDk]: 'Danish',\n  [LOCALE_KEY.EnGb]: 'English (United Kingdom)',\n  [LOCALE_KEY.EnCa]: 'English (Canada)',\n  [LOCALE_KEY.EnAe]: 'English (United Arab Emirates)',\n  [LOCALE_KEY.FiFi]: 'Finnish',\n  [LOCALE_KEY.ElGr]: 'Greek',\n  [LOCALE_KEY.HiIn]: 'Hindi (India)',\n  [LOCALE_KEY.HuHu]: 'Hungarian',\n  [LOCALE_KEY.IdId]: 'Indonesian',\n  [LOCALE_KEY.JaJp]: 'Japanese',\n  [LOCALE_KEY.KoKr]: 'Korean',\n  [LOCALE_KEY.LtLt]: 'Lithuanian',\n  [LOCALE_KEY.MsMy]: 'Malay (Malaysia)',\n  [LOCALE_KEY.MrIn]: 'Marathi (India)',\n  [LOCALE_KEY.NbNi]: 'Norwegian Bokmål', // key as provided\n  [LOCALE_KEY.PlPl]: 'Polish',\n  [LOCALE_KEY.PtBr]: 'Portuguese (Brazil)',\n  [LOCALE_KEY.PtPt]: 'Portuguese (Portugal)',\n  [LOCALE_KEY.RoRo]: 'Romanian',\n  [LOCALE_KEY.RuRu]: 'Russian',\n  [LOCALE_KEY.SrLatnRs]: 'Serbian (Latin, Serbia)',\n  [LOCALE_KEY.SvSe]: 'Swedish',\n  [LOCALE_KEY.TaIn]: 'Tamil (India)',\n  [LOCALE_KEY.ThTh]: 'Thai (Thailand)',\n  [LOCALE_KEY.TrTr]: 'Turkish',\n  [LOCALE_KEY.UkUa]: 'Ukrainian',\n  [LOCALE_KEY.ViVn]: 'Vietnamese',\n  [LOCALE_KEY.ZuZa]: 'Zulu (South Africa)',\n  [LOCALE_KEY.EnUs]: 'English (United States)',\n  [LOCALE_KEY.EnAu]: 'English (Australia)',\n  [LOCALE_KEY.EnIe]: 'English (Ireland)',\n  [LOCALE_KEY.EnNz]: 'English (New Zealand)',\n  [LOCALE_KEY.NlNl]: 'Dutch (Netherlands)',\n  [LOCALE_KEY.NlBe]: 'Dutch (Belgium)',\n  [LOCALE_KEY.EsEs]: 'Spanish (Spain)',\n  [LOCALE_KEY.Es419]: 'Spanish (Latin America & Caribbean)',\n  [LOCALE_KEY.ZhHk]: 'Chinese (Traditional, Hong Kong)',\n  [LOCALE_KEY.FrBe]: 'French (Belgium)',\n  [LOCALE_KEY.FrCa]: 'French (Canada/Québec)',\n  [LOCALE_KEY.FrCh]: 'French (Switzerland)',\n  [LOCALE_KEY.HeIl]: 'Hebrew (Israel)',\n  [LOCALE_KEY.EtEe]: 'Estonian (Estonia)',\n  [LOCALE_KEY.IsIs]: 'Icelandic (Iceland)',\n  [LOCALE_KEY.LvLv]: 'Latvian (Latvia)',\n  [LOCALE_KEY.MtMt]: 'Maltese (Malta)',\n  [LOCALE_KEY.SkSk]: 'Slovak (Slovakia)',\n  [LOCALE_KEY.SlSl]: 'Slovenian (Slovenia)',\n\n  [LOCALE_KEY.DeAt]: 'German (Austria)',\n  [LOCALE_KEY.DeCh]: 'German (Switzerland)',\n  [LOCALE_KEY.ItCh]: 'Italian (Switzerland)',\n  [LOCALE_KEY.ZhTw]: 'Chinese (Traditional, Taiwan)',\n  [LOCALE_KEY.MsSg]: 'Malay (Singapore)',\n  [LOCALE_KEY.SrCyrlRs]: 'Serbian (Cyrillic, Serbia)',\n\n  [LOCALE_KEY.EsAr]: 'Spanish (Argentina)',\n  [LOCALE_KEY.EsCr]: 'Spanish (Costa Rica)',\n  [LOCALE_KEY.EsCl]: 'Spanish (Chile)',\n  [LOCALE_KEY.EsCo]: 'Spanish (Colombia)',\n  [LOCALE_KEY.EsMx]: 'Spanish (Mexico)',\n\n  [LOCALE_KEY.FilPh]: 'Filipino (Philippines)',\n  [LOCALE_KEY.TlPh]: 'Tagalog (Philippines)',\n\n  [LOCALE_KEY.SqAl]: 'Albanian (Albania)',\n  [LOCALE_KEY.SqMk]: 'Albanian (North Macedonia)',\n  [LOCALE_KEY.SqXk]: 'Albanian (Kosovo)',\n\n  [LOCALE_KEY.AmEt]: 'Amharic (Ethiopia)',\n  [LOCALE_KEY.HyAm]: 'Armenian (Armenia)',\n  [LOCALE_KEY.AzAz]: 'Azerbaijani (Azerbaijan)',\n  [LOCALE_KEY.BnBd]: 'Bengali (Bangladesh)',\n  [LOCALE_KEY.BnIn]: 'Bengali (India)',\n\n  [LOCALE_KEY.BsBa]: 'Bosnian (Bosnia & Herzegovina)',\n  [LOCALE_KEY.BsCyrlBa]: 'Bosnian (Cyrillic, Bosnia & Herzegovina)',\n  [LOCALE_KEY.BsLatnBa]: 'Bosnian (Latin, Bosnia & Herzegovina)',\n\n  [LOCALE_KEY.CaEs]: 'Catalan (Spain)',\n  [LOCALE_KEY.CaAd]: 'Catalan (Andorra)',\n  [LOCALE_KEY.CaFr]: 'Catalan (France)',\n  [LOCALE_KEY.CaIt]: 'Catalan (Italy)',\n\n  [LOCALE_KEY.KaGe]: 'Georgian (Georgia)',\n  [LOCALE_KEY.GuIn]: 'Gujarati (India)',\n  [LOCALE_KEY.HtHt]: 'Haitian Creole (Haiti)',\n\n  [LOCALE_KEY.HaNg]: 'Hausa (Nigeria)',\n  [LOCALE_KEY.HaNe]: 'Hausa (Niger)',\n  [LOCALE_KEY.HaGh]: 'Hausa (Ghana)',\n\n  [LOCALE_KEY.GaIe]: 'Irish (Ireland)',\n  [LOCALE_KEY.KnIn]: 'Kannada (India)',\n  [LOCALE_KEY.KkKz]: 'Kazakh (Kazakhstan)',\n  [LOCALE_KEY.MkMk]: 'Macedonian (North Macedonia)',\n  [LOCALE_KEY.MlIn]: 'Malayalam (India)',\n  [LOCALE_KEY.MnMn]: 'Mongolian (Mongolia)',\n  [LOCALE_KEY.PsAf]: 'Pashto (Afghanistan)',\n  [LOCALE_KEY.PaIn]: 'Punjabi (India)',\n  [LOCALE_KEY.PaPk]: 'Punjabi (Pakistan)',\n  [LOCALE_KEY.SiLk]: 'Sinhala (Sri Lanka)',\n\n  [LOCALE_KEY.SoSo]: 'Somali (Somalia)',\n  [LOCALE_KEY.SoDj]: 'Somali (Djibouti)',\n  [LOCALE_KEY.SoEt]: 'Somali (Ethiopia)',\n  [LOCALE_KEY.SoKe]: 'Somali (Kenya)',\n\n  [LOCALE_KEY.SwKe]: 'Swahili (Kenya)',\n  [LOCALE_KEY.SwTz]: 'Swahili (Tanzania)',\n  [LOCALE_KEY.SwUg]: 'Swahili (Uganda)',\n  [LOCALE_KEY.SwCd]: 'Swahili (DR Congo)',\n\n  [LOCALE_KEY.TeIn]: 'Telugu (India)',\n  [LOCALE_KEY.UrPk]: 'Urdu (Pakistan)',\n  [LOCALE_KEY.UrIn]: 'Urdu (India)',\n  [LOCALE_KEY.UzUz]: 'Uzbek (Uzbekistan)',\n  [LOCALE_KEY.CyGb]: 'Welsh (United Kingdom)',\n  [LOCALE_KEY.EuEs]: 'Basque (Spain)',\n  [LOCALE_KEY.GlEs]: 'Galician (Spain)',\n};\n\n/* eslint-enable max-lines */\n","import { LOCALE_KEY, type LocaleValue } from './enums.js';\n\nconst validLocales = new Set<string>(Object.values(LOCALE_KEY));\n\n/**\n * Test if a string is a locale that we support.\n *\n * @param locale - The locale to test\n * @returns True if the locale is supported by this package\n */\nexport function isKnownLocale(\n  locale: string | string[] | boolean | undefined,\n): locale is LocaleValue {\n  return typeof locale === 'string' && validLocales.has(locale);\n}\n","import type { DefinedMessage } from './types.js';\n\n/**\n * Defined messages keyed by message name.\n */\nexport type DefinedMessages<TNames extends string = string> = {\n  /** Defined message keyed by its message name. */\n  [key in TNames]: DefinedMessage;\n};\n\n/**\n * Message definitions before `defineMessages()` injects their generated IDs.\n */\ntype MessageDefinitions<TNames extends string> = {\n  /** Message definition keyed by its message name. */\n  [key in TNames]: Omit<DefinedMessage, 'id'>;\n};\n\n/**\n * Define intl messages for a container with a namespace applied to each message key.\n *\n * @param namespace - Namespace to prefix onto message IDs\n * @param messages - Message definitions keyed by name\n * @returns Message definitions with generated IDs\n */\nexport function defineMessages<TNames extends string>(\n  namespace: string,\n  messages: MessageDefinitions<TNames>,\n): DefinedMessages<TNames> {\n  return Object.fromEntries(\n    (Object.keys(messages) as TNames[]).map((key) => [\n      key,\n      {\n        ...messages[key],\n        id: `${namespace}.${key}`,\n      },\n    ]),\n  ) as DefinedMessages<TNames>;\n}\n"],"mappings":"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,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,MAAM,2BAA2B;EAC5C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,KAAK,2BAA2B;EAG3C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,WAAW,2BAA2B;EACjD,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,QAAQ,2BAA2B;EAC9C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,SAAS,2BAA2B;EAC/C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,WAAW,2BAA2B;EACjD,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,QAAQ,2BAA2B;EAC9C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,KAAK,2BAA2B;EAC3C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,WAAW,2BAA2B;EACjD,WAAW,WAAW,2BAA2B;EACjD,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;EAC7C,WAAW,OAAO,2BAA2B;CAC/C;AAED,SAAS,oBAA8D,QAAsB;AAC3F,QAAO;;;AAyJT,MAAM,mCACJ,oBAAoB;CAClB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAAC;AA0BJ,MAAa,oCAN0B,OAAO,YAC5C,OAAO,QAAQ,WAAW,CAAC,QACxB,CAAC,SAAS,CAAE,iCAAuD,SAAS,IAAI,CAClF,CACF;AAiqCD,MAAa,qBAvtBY;CACvB,IAAI,WAAW;CACf,SAAS,WAAW;CACpB,SAAS,WAAW;CAMpB,SAAS,WAAW;CACpB,IAAI,WAAW;CACf,UAAU,WAAW;CACrB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CAOpB,IAAI,WAAW;CACf,WAAW,WAAW;CACtB,cAAc,WAAW;CACzB,WAAW,WAAW;CACtB,cAAc,WAAW;CASzB,IAAI,WAAW;CACf,SAAS,WAAW;CAIpB,SAAS,WAAW;CACpB,SAAS,WAAW;CAQpB,IAAI,WAAW;CACf,WAAW,WAAW;CACtB,cAAc,WAAW;CACzB,WAAW,WAAW;CACtB,cAAc,WAAW;CACzB,IAAI,WAAW;CACf,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CAapB,IAAI,WAAW;CACf,SAAS,WAAW;CACpB,IAAI,WAAW;CACf,SAAS,WAAW;CACpB,IAAI,WAAW;CACf,SAAS,WAAW;CACpB,SAAS,WAAW;CAGpB,IAAI,WAAW;CACf,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CAgBpB,IAAI,WAAW;CACf,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,IAAI,WAAW;CACf,UAAU,WAAW;CACrB,UAAU,WAAW;CACrB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,eAAe,WAAW;CAC1B,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAAS,WAAW;CACpB,SAA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"}