/*
 * Copyright 2014 Google Inc.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package com.google.gwt.i18n.client.impl.cldr;

import com.google.gwt.core.client.JavaScriptObject;

// DO NOT EDIT - GENERATED FROM CLDR DATA:
//  cldrVersion=25
//  date=$Date: 2013-08-29 04:32:04 +0200 (Thu, 29 Aug 2013) $
//  number=$Revision: 9287 $
//  type=vai

/**
 * Localized names for the "vai" locale.
 */
public class LocalizedNamesImpl_vai extends LocalizedNamesImpl {

  @Override
  public String[] loadSortedRegionCodes() {
    return new String[] {
        "AC",
        "AQ",
        "AX",
        "BL",
        "BQ",
        "BV",
        "CC",
        "CP",
        "CW",
        "CX",
        "DG",
        "EA",
        "EH",
        "EU",
        "FO",
        "GG",
        "GS",
        "HK",
        "HM",
        "IC",
        "IM",
        "JE",
        "ME",
        "MF",
        "MO",
        "QO",
        "RS",
        "SJ",
        "SS",
        "SX",
        "TA",
        "TF",
        "UM",
        "VA",
        "XK",
        "ER",
        "BZ",
        "SL",
        "TL",
        "LY",
        "LB",
        "RE",
        "SC",
        "CL",
        "IO",
        "VG",
        "JP",
        "YE",
        "KY",
        "CV",
        "KE",
        "ET",
        "IN",
        "IT",
        "IQ",
        "IR",
        "ID",
        "PN",
        "PR",
        "PH",
        "FJ",
        "FI",
        "LS",
        "LT",
        "LI",
        "SN",
        "SY",
        "SG",
        "SI",
        "SK",
        "PM",
        "VC",
        "KN",
        "LC",
        "SH",
        "NZ",
        "ZW",
        "DJ",
        "GI",
        "KI",
        "KG",
        "CU",
        "GN",
        "GW",
        "EG",
        "MM",
        "FM",
        "NP",
        "NI",
        "IE",
        "IS",
        "ZA",
        "CF",
        "AF",
        "DZ",
        "AL",
        "AI",
        "AM",
        "AZ",
        "AD",
        "AO",
        "AW",
        "AR",
        "AG",
        "HT",
        "WF",
        "PS",
        "PK",
        "PY",
        "PA",
        "PW",
        "PG",
        "ES",
        "BB",
        "BD",
        "IL",
        "BS",
        "BH",
        "FK",
        "VE",
        "VU",
        "TW",
        "TH",
        "TJ",
        "TV",
        "TZ",
        "DK",
        "LR",
        "LV",
        "SA",
        "LA",
        "RW",
        "ST",
        "WS",
        "CY",
        "ZM",
        "CN",
        "TD",
        "GL",
        "DE",
        "JM",
        "CM",
        "NC",
        "QA",
        "KZ",
        "CA",
        "KH",
        "GM",
        "GH",
        "GA",
        "MY",
        "MK",
        "MQ",
        "ML",
        "MV",
        "SM",
        "MT",
        "MH",
        "MG",
        "MW",
        "YT",
        "NG",
        "NE",
        "NA",
        "OM",
        "US",
        "AS",
        "VI",
        "PT",
        "PL",
        "BO",
        "BA",
        "BF",
        "BW",
        "MZ",
        "TK",
        "TG",
        "DM",
        "DO",
        "RO",
        "NR",
        "SO",
        "HR",
        "CI",
        "KR",
        "KP",
        "CR",
        "CK",
        "KM",
        "CG",
        "CD",
        "MD",
        "GB",
        "BT",
        "BR",
        "BI",
        "BN",
        "FR",
        "TT",
        "TN",
        "GQ",
        "CH",
        "SE",
        "LK",
        "SR",
        "SZ",
        "SB",
        "SD",
        "UY",
        "UG",
        "AE",
        "UA",
        "UZ",
        "KW",
        "GT",
        "GP",
        "GU",
        "GD",
        "GY",
        "NU",
        "AT",
        "AU",
        "HN",
        "HU",
        "BG",
        "TO",
        "TR",
        "TC",
        "TM",
        "LU",
        "RU",
        "GE",
        "JO",
        "MP",
        "CO",
        "MR",
        "MU",
        "MA",
        "MC",
        "MN",
        "MS",
        "NO",
        "NF",
        "EE",
        "EC",
        "SV",
        "GR",
        "PE",
        "BE",
        "BJ",
        "BY",
        "BM",
        "PF",
        "GF",
        "VN",
        "CZ",
        "MX",
        "NL",
        "AN",
    };
  }

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("AD", "ꕉꖆꕟ");
    namesMap.put("AE", "ꖳꕯꔤꗳ ꕉꕟꔬ ꗡꕆꔓꔻ");
    namesMap.put("AF", "ꕉꔱꕭꔕꔻꕚꘋ");
    namesMap.put("AG", "ꕉꘋꔳꖶꕎ ꗪ ꕑꖜꕜ");
    namesMap.put("AI", "ꕉꕄꕞ");
    namesMap.put("AL", "ꕉꔷꕑꕇꕩ");
    namesMap.put("AM", "ꕉꕆꕯ");
    namesMap.put("AN", "ꘉꕜ ꖨꕮꕊ ꕉꘋꔳꔷ");
    namesMap.put("AO", "ꕉꖐꕞ");
    namesMap.put("AR", "ꕉꘀꘋꔳꕯ");
    namesMap.put("AS", "ꕶꕱ ꕢꕹꕎ");
    namesMap.put("AT", "ꖺꔻꖤꕎ");
    namesMap.put("AU", "ꖺꖬꖤꔃꔷꕩ");
    namesMap.put("AW", "ꕉꖩꕑ");
    namesMap.put("AZ", "ꕉꕤꕑꔤꕧꘋ");
    namesMap.put("BA", "ꕷꔻꕇꕰ ꗪ ꗥꕤꖑꔲꕯ");
    namesMap.put("BB", "ꕑꔆꖁꔻ");
    namesMap.put("BD", "ꕑꕅꕞꗵꔼ");
    namesMap.put("BE", "ꗩꕀꗚꘋ");
    namesMap.put("BF", "ꕷꕃꕯ ꕘꖇ");
    namesMap.put("BG", "ꗂꔠꔸꕩ");
    namesMap.put("BH", "ꕑꗸꘋ");
    namesMap.put("BI", "ꖜꖩꔺ");
    namesMap.put("BJ", "ꗩꕇꘋ");
    namesMap.put("BM", "ꗩꖷꕜ");
    namesMap.put("BN", "ꖜꖩꘉꔧ");
    namesMap.put("BO", "ꕷꔷꔲꕩ");
    namesMap.put("BR", "ꖜꕟꔘꔀ");
    namesMap.put("BS", "ꕑꕌꕮꔻ");
    namesMap.put("BT", "ꖜꕚꘋ");
    namesMap.put("BW", "ꕷꖬꕎꕯ");
    namesMap.put("BY", "ꗩꕞꖩꔻ");
    namesMap.put("BZ", "ꔆꔷꔘ");
    namesMap.put("CA", "ꕪꕯꕜ");
    namesMap.put("CD", "ꖏꖐ ꗵꗞꖴꕟꔎ ꕸꖃꔀ");
    namesMap.put("CF", "ꕉꔱꔸꕪ ꗳ ꗳ ꕸꖃꔀ");
    namesMap.put("CG", "ꖏꖐ");
    namesMap.put("CH", "ꖬꔃꕤ ꖨꕮꕊ");
    namesMap.put("CI", "ꖏꔳ ꕾꕎ");
    namesMap.put("CK", "ꖏꕃ ꔳꘋꗣ");
    namesMap.put("CL", "ꔚꔷ");
    namesMap.put("CM", "ꕪꔈꖩꘋ");
    namesMap.put("CN", "ꕦꔤꕯ");
    namesMap.put("CO", "ꗛꗏꔭꕩ");
    namesMap.put("CR", "ꖏꔻꕚ ꔸꕪ");
    namesMap.put("CU", "ꕃꖳꕑ");
    namesMap.put("CV", "ꔞꔪ ꗲꔵ ꔳꘋꗣ");
    namesMap.put("CY", "ꕢꗡꖛꗐꔻ");
    namesMap.put("CZ", "ꗿꕃ ꕸꖃꔀ");
    namesMap.put("DE", "ꕧꕮꔧ");
    namesMap.put("DJ", "ꕀꖜꔳ");
    namesMap.put("DK", "ꕜꕇꕮꕃ");
    namesMap.put("DM", "ꖁꕆꕇꕪ");
    namesMap.put("DO", "ꖁꕆꕇꕪꘋ ꕸꕱꔀ");
    namesMap.put("DZ", "ꕉꔷꔠꔸꕩ");
    namesMap.put("EC", "ꗡꖴꔃꗍ");
    namesMap.put("EE", "ꗡꔻꕿꕇꕰ");
    namesMap.put("EG", "ꕆꔖꕞ");
    namesMap.put("ER", "ꔀꔸꔳꕟ");
    namesMap.put("ES", "ꕐꘊꔧ");
    namesMap.put("ET", "ꔤꔳꖎꔪꕩ");
    namesMap.put("FI", "ꔱꘋ ꖨꕮꕊ");
    namesMap.put("FJ", "ꔱꔤꕀ");
    namesMap.put("FK", "ꕘꔷꕃ ꖨꕮ ꔳꘋꗣ");
    namesMap.put("FM", "ꕆꖏꕇꔻꕩ");
    namesMap.put("FR", "ꖢꕟꘋꔻ");
    namesMap.put("GA", "ꕭꕷꘋ");
    namesMap.put("GB", "ꖕꕯꔤꗳ");
    namesMap.put("GD", "ꖶꕟꕯꕜ");
    namesMap.put("GE", "ꗘꖺꕀꕩ");
    namesMap.put("GF", "ꗱꘋꔻ ꖶꕎꕯ");
    namesMap.put("GH", "ꕭꕌꕯ");
    namesMap.put("GI", "ꕀꖜꕟꕚ");
    namesMap.put("GL", "ꕧꕓ ꖴꕎ ꖨꕮꕊ");
    namesMap.put("GM", "ꕭꔭꕩ");
    namesMap.put("GN", "ꕅꔤꕇ");
    namesMap.put("GP", "ꖶꕎꔐꖨꔅ");
    namesMap.put("GQ", "ꖦꕰꕊ ꗳ ꕅꔤꕇ");
    namesMap.put("GR", "ꗥꗷꘋ");
    namesMap.put("GT", "ꖶꕎꔎꕮꕞ");
    namesMap.put("GU", "ꖶꕎꕆ");
    namesMap.put("GW", "ꕅꔤꕇ ꔫꕢꕴ");
    namesMap.put("GY", "ꖶꕩꕯ");
    namesMap.put("HN", "ꖽꖫꕟ");
    namesMap.put("HR", "ꖏꔓꔻꕩ");
    namesMap.put("HT", "ꕌꔤꔳ");
    namesMap.put("HU", "ꖽꘋꕭꔓ");
    namesMap.put("ID", "ꔤꖆꕇꔻꕩ");
    namesMap.put("IE", "ꕉꔓ ꖨꕮꕊ");
    namesMap.put("IL", "ꕑꕇꔻꕞꔤꕞ");
    namesMap.put("IN", "ꔤꔺꕩ");
    namesMap.put("IO", "ꔛꔟꔻ ꔤꔺꕩ ꗛꔤꘂ ꕗꕴꔀ ꕮ");
    namesMap.put("IQ", "ꔤꕟꕃ");
    namesMap.put("IR", "ꔤꕟꘋ");
    namesMap.put("IS", "ꕉꔤꔻ ꖨꕮꕊ");
    namesMap.put("IT", "ꔤꕚꔷ");
    namesMap.put("JM", "ꕧꕮꔧꕪ");
    namesMap.put("JO", "ꗘꖺꗵꘋ");
    namesMap.put("JP", "ꔛꗨꗢ");
    namesMap.put("KE", "ꔞꕰ");
    namesMap.put("KG", "ꕃꕅꔻꕚꘋ");
    namesMap.put("KH", "ꕪꕹꔵꕩ");
    namesMap.put("KI", "ꕃꔸꕑꔳ");
    namesMap.put("KM", "ꖏꕹꖄꔻ");
    namesMap.put("KN", "ꔻꘋ ꕃꔳꔻ ꗪ ꔕꔲꔻ");
    namesMap.put("KP", "ꖏꔸꕩ ꗛꔤ ꕪꘋꗒ");
    namesMap.put("KR", "ꖏꔸꕩ ꗛꔤ ꔒꘋꗣ ꗏ");
    namesMap.put("KW", "ꖴꔃꔳ");
    namesMap.put("KY", "ꔞꔀꕮꘋ ꔳꘋꗣ");
    namesMap.put("KZ", "ꕪꕤꔻꕚꘋ");
    namesMap.put("LA", "ꕞꕴꔻ");
    namesMap.put("LB", "ꔒꕑꗟꘋ");
    namesMap.put("LC", "ꔻꘋ ꖨꔻꕩ");
    namesMap.put("LI", "ꔷꗿꘋꔻꗳꘋ");
    namesMap.put("LK", "ꖬꔸ ꕞꘋꕪ");
    namesMap.put("LR", "ꕞꔤꔫꕩ");
    namesMap.put("LS", "ꔷꖇꕿ");
    namesMap.put("LT", "ꔷꖤꔃꕇꕰ");
    namesMap.put("LU", "ꗏꔻꘋꗂꖺ");
    namesMap.put("LV", "ꕞꔳꔲꕩ");
    namesMap.put("LY", "ꔒꔫꕩ");
    namesMap.put("MA", "ꗞꕟꖏ");
    namesMap.put("MC", "ꗞꕯꖏ");
    namesMap.put("MD", "ꖒꔷꖁꕙ");
    namesMap.put("MG", "ꕮꕜꕭꔻꕪ");
    namesMap.put("MH", "ꕮꕊꕣ ꔳꘋꗣ");
    namesMap.put("MK", "ꕮꔖꖁꕇꕰ");
    namesMap.put("ML", "ꕮꔷ");
    namesMap.put("MM", "ꕆꕩꘋꕮ");
    namesMap.put("MN", "ꗞꖐꔷꕩ");
    namesMap.put("MP", "ꗛꔤ ꕪꘋꗒ ꕮꔸꕩꕯ ꔳꘋꗣ");
    namesMap.put("MQ", "ꕮꔳꕇꕃ");
    namesMap.put("MR", "ꗞꔓꔎꕇꕰ");
    namesMap.put("MS", "ꗞꘋꔖꕟꔳ");
    namesMap.put("MT", "ꕮꕊꕚ");
    namesMap.put("MU", "ꗞꔓꗔ");
    namesMap.put("MV", "ꕮꔷꕜꔍ");
    namesMap.put("MW", "ꕮꕞꕌꔨ");
    namesMap.put("MX", "ꘈꔻꖏ");
    namesMap.put("MY", "ꕮꔒꔻꕩ");
    namesMap.put("MZ", "ꕹꕤꔭꕃ");
    namesMap.put("NA", "ꕯꕆꔫꕩ");
    namesMap.put("NC", "ꕪꔷꖁꕇꕰ ꕯꕮꕊ");
    namesMap.put("NE", "ꕯꔤꕧ");
    namesMap.put("NF", "ꗟꖺꗉ ꔳꘋꗣ");
    namesMap.put("NG", "ꕯꔤꕀꔸꕩ");
    namesMap.put("NI", "ꕇꕪꕟꖶꕎ");
    namesMap.put("NL", "ꘉꕜ ꖨꕮꕊ");
    namesMap.put("NO", "ꗟꖺꔃ");
    namesMap.put("NP", "ꕇꕐꔷ");
    namesMap.put("NR", "ꖆꖩ");
    namesMap.put("NU", "ꖸꔃꔤ");
    namesMap.put("NZ", "ꔽꔤ ꖨꕮ ꕯꕮꕊ");
    namesMap.put("OM", "ꕱꕮꘋ");
    namesMap.put("PA", "ꕐꕯꕮ");
    namesMap.put("PE", "ꗨꗡꖩ");
    namesMap.put("PF", "ꗱꘋꔻ ꕶꔷꕇꔻꕩ");
    namesMap.put("PG", "ꕐꖛꕎ ꕅꔤꕇ ꕯꕮꕊ");
    namesMap.put("PH", "ꔱꔒꔪꘋ");
    namesMap.put("PK", "ꕐꕃꔻꕚꘋ");
    namesMap.put("PL", "ꕶꗷꘋ");
    namesMap.put("PM", "ꔻꘋ ꔪꘂ ꗪ ꕆꔞꗏꘋ");
    namesMap.put("PN", "ꔪꔳꕪꕆ");
    namesMap.put("PR", "ꔪꖳꕿ ꔸꖏ");
    namesMap.put("PS", "ꕐꔒꔻꔳꕯ ꔎꔒ ꕀꔤ ꗛꔤ ꕞ ꗱ ꗪ ꕭꕌꕤ");
    namesMap.put("PT", "ꕶꕿꕃꔤ ꕸꖃꔀ");
    namesMap.put("PW", "ꕐꖃ");
    namesMap.put("PY", "ꕐꕟꗝꔀ");
    namesMap.put("QA", "ꕪꕚꕌ");
    namesMap.put("RE", "ꔓꗠꖻ");
    namesMap.put("RO", "ꖄꕆꕇꕰ");
    namesMap.put("RU", "ꗐꖺꔻꕩ");
    namesMap.put("RW", "ꕟꖙꕡ");
    namesMap.put("SA", "ꕞꕌꖝ ꕸꖃꔀ");
    namesMap.put("SB", "ꖬꕞꔤꕮꕊꕯ ꔳꘋꗣ");
    namesMap.put("SC", "ꔖꗼꔷ");
    namesMap.put("SD", "ꖬꗵꘋ");
    namesMap.put("SE", "ꖬꔨꗵꘋ");
    namesMap.put("SG", "ꔻꕬꕶꕱ");
    namesMap.put("SH", "ꔻꘋ ꗥꔷꕯ");
    namesMap.put("SI", "ꔻꖃꔍꕇꕰ");
    namesMap.put("SK", "ꔻꖃꕙꕃꕩ");
    namesMap.put("SL", "ꔋꕩ ꕒꕌꖺ ꕸꖃꔀ");
    namesMap.put("SM", "ꕮꔸꖆ ꕢꘋ");
    namesMap.put("SN", "ꔻꕇꕭꕌ");
    namesMap.put("SO", "ꖇꕮꔷꕩ");
    namesMap.put("SR", "ꖬꔸꕯꔈ");
    namesMap.put("ST", "ꕢꕴ ꕿꔈ ꗪ ꕉ ꕮꔧ ꕗꕴꔀ");
    namesMap.put("SV", "ꗡꗷ ꕢꔍꗍꖺ");
    namesMap.put("SY", "ꔻꕩꘋ");
    namesMap.put("SZ", "ꖬꕎꔽ ꖨꕮꕊ");
    namesMap.put("TC", "ꗋꖺꕃꔻ ꗪ ꕪꔤꖏꔻ ꔳꘋꗣ");
    namesMap.put("TD", "ꕦꔵ");
    namesMap.put("TG", "ꕿꖑ");
    namesMap.put("TH", "ꕚꔤ ꖨꕮꕊ");
    namesMap.put("TJ", "ꕚꕀꕃꔻꕚꘋ");
    namesMap.put("TK", "ꕿꔞꖃ");
    namesMap.put("TL", "ꔎꔒ ꗃ ꔳꗞꖻ");
    namesMap.put("TM", "ꗋꖺꕃꕮꕇꔻꕚꘋ");
    namesMap.put("TN", "ꖤꕇꔻꕩ");
    namesMap.put("TO", "ꗋꕬ");
    namesMap.put("TR", "ꗋꖺꕃ");
    namesMap.put("TT", "ꖤꔸꔕꕜ ꗪ ꕿꔆꖑ");
    namesMap.put("TV", "ꕚꖣꖨ");
    namesMap.put("TW", "ꕚꔤꕎꘋ");
    namesMap.put("TZ", "ꕚꘋꕤꕇꕰ");
    namesMap.put("UA", "ꖳꖴꔓꘋ");
    namesMap.put("UG", "ꖳꕭꕡ");
    namesMap.put("US", "ꕶꕱ");
    namesMap.put("UY", "ꖳꔓꗝꔀ");
    namesMap.put("UZ", "ꖳꗩꕃꔻꕚꘋ");
    namesMap.put("VC", "ꔻꘋ ꔲꘋꔻꘋ ꗪ ꖶꔓꕯꔵꘋ ꖸ");
    namesMap.put("VE", "ꕙꔳꕪꘋ ꕸꖃꔀ");
    namesMap.put("VG", "ꔛꔟꔻ ꗩꗡ ꗏ ꖷꖬ ꔳꘋꗣ");
    namesMap.put("VI", "ꕶꕱ ꗩꗡ ꗏ ꖷꖬ ꔳꘋꗣ");
    namesMap.put("VN", "ꗲꕇꖮꔃꕞ");
    namesMap.put("VU", "ꕙꖸꕎꖤ");
    namesMap.put("WF", "ꕎꔷꔻ ꗪ ꖢꖤꕯ");
    namesMap.put("WS", "ꕢꕹꖙꕉ");
    namesMap.put("YE", "ꔝꘈꘋ");
    namesMap.put("YT", "ꕮꗚꔎ");
    namesMap.put("ZA", "ꕉꔱꔸꕪ ꗛꔤ ꔒꘋꗣ ꗏ ꕸꖃꔀ");
    namesMap.put("ZM", "ꕤꔭꕩ");
    namesMap.put("ZW", "ꔽꕓꖜꔃ");
  }

  @Override
  protected JavaScriptObject loadNameMapNative() {
    return overrideMap(super.loadNameMapNative(), loadMyNameMap());
  }

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "AD": "ꕉꖆꕟ",
        "AE": "ꖳꕯꔤꗳ ꕉꕟꔬ ꗡꕆꔓꔻ",
        "AF": "ꕉꔱꕭꔕꔻꕚꘋ",
        "AG": "ꕉꘋꔳꖶꕎ ꗪ ꕑꖜꕜ",
        "AI": "ꕉꕄꕞ",
        "AL": "ꕉꔷꕑꕇꕩ",
        "AM": "ꕉꕆꕯ",
        "AN": "ꘉꕜ ꖨꕮꕊ ꕉꘋꔳꔷ",
        "AO": "ꕉꖐꕞ",
        "AR": "ꕉꘀꘋꔳꕯ",
        "AS": "ꕶꕱ ꕢꕹꕎ",
        "AT": "ꖺꔻꖤꕎ",
        "AU": "ꖺꖬꖤꔃꔷꕩ",
        "AW": "ꕉꖩꕑ",
        "AZ": "ꕉꕤꕑꔤꕧꘋ",
        "BA": "ꕷꔻꕇꕰ ꗪ ꗥꕤꖑꔲꕯ",
        "BB": "ꕑꔆꖁꔻ",
        "BD": "ꕑꕅꕞꗵꔼ",
        "BE": "ꗩꕀꗚꘋ",
        "BF": "ꕷꕃꕯ ꕘꖇ",
        "BG": "ꗂꔠꔸꕩ",
        "BH": "ꕑꗸꘋ",
        "BI": "ꖜꖩꔺ",
        "BJ": "ꗩꕇꘋ",
        "BM": "ꗩꖷꕜ",
        "BN": "ꖜꖩꘉꔧ",
        "BO": "ꕷꔷꔲꕩ",
        "BR": "ꖜꕟꔘꔀ",
        "BS": "ꕑꕌꕮꔻ",
        "BT": "ꖜꕚꘋ",
        "BW": "ꕷꖬꕎꕯ",
        "BY": "ꗩꕞꖩꔻ",
        "BZ": "ꔆꔷꔘ",
        "CA": "ꕪꕯꕜ",
        "CD": "ꖏꖐ ꗵꗞꖴꕟꔎ ꕸꖃꔀ",
        "CF": "ꕉꔱꔸꕪ ꗳ ꗳ ꕸꖃꔀ",
        "CG": "ꖏꖐ",
        "CH": "ꖬꔃꕤ ꖨꕮꕊ",
        "CI": "ꖏꔳ ꕾꕎ",
        "CK": "ꖏꕃ ꔳꘋꗣ",
        "CL": "ꔚꔷ",
        "CM": "ꕪꔈꖩꘋ",
        "CN": "ꕦꔤꕯ",
        "CO": "ꗛꗏꔭꕩ",
        "CR": "ꖏꔻꕚ ꔸꕪ",
        "CU": "ꕃꖳꕑ",
        "CV": "ꔞꔪ ꗲꔵ ꔳꘋꗣ",
        "CY": "ꕢꗡꖛꗐꔻ",
        "CZ": "ꗿꕃ ꕸꖃꔀ",
        "DE": "ꕧꕮꔧ",
        "DJ": "ꕀꖜꔳ",
        "DK": "ꕜꕇꕮꕃ",
        "DM": "ꖁꕆꕇꕪ",
        "DO": "ꖁꕆꕇꕪꘋ ꕸꕱꔀ",
        "DZ": "ꕉꔷꔠꔸꕩ",
        "EC": "ꗡꖴꔃꗍ",
        "EE": "ꗡꔻꕿꕇꕰ",
        "EG": "ꕆꔖꕞ",
        "ER": "ꔀꔸꔳꕟ",
        "ES": "ꕐꘊꔧ",
        "ET": "ꔤꔳꖎꔪꕩ",
        "FI": "ꔱꘋ ꖨꕮꕊ",
        "FJ": "ꔱꔤꕀ",
        "FK": "ꕘꔷꕃ ꖨꕮ ꔳꘋꗣ",
        "FM": "ꕆꖏꕇꔻꕩ",
        "FR": "ꖢꕟꘋꔻ",
        "GA": "ꕭꕷꘋ",
        "GB": "ꖕꕯꔤꗳ",
        "GD": "ꖶꕟꕯꕜ",
        "GE": "ꗘꖺꕀꕩ",
        "GF": "ꗱꘋꔻ ꖶꕎꕯ",
        "GH": "ꕭꕌꕯ",
        "GI": "ꕀꖜꕟꕚ",
        "GL": "ꕧꕓ ꖴꕎ ꖨꕮꕊ",
        "GM": "ꕭꔭꕩ",
        "GN": "ꕅꔤꕇ",
        "GP": "ꖶꕎꔐꖨꔅ",
        "GQ": "ꖦꕰꕊ ꗳ ꕅꔤꕇ",
        "GR": "ꗥꗷꘋ",
        "GT": "ꖶꕎꔎꕮꕞ",
        "GU": "ꖶꕎꕆ",
        "GW": "ꕅꔤꕇ ꔫꕢꕴ",
        "GY": "ꖶꕩꕯ",
        "HN": "ꖽꖫꕟ",
        "HR": "ꖏꔓꔻꕩ",
        "HT": "ꕌꔤꔳ",
        "HU": "ꖽꘋꕭꔓ",
        "ID": "ꔤꖆꕇꔻꕩ",
        "IE": "ꕉꔓ ꖨꕮꕊ",
        "IL": "ꕑꕇꔻꕞꔤꕞ",
        "IN": "ꔤꔺꕩ",
        "IO": "ꔛꔟꔻ ꔤꔺꕩ ꗛꔤꘂ ꕗꕴꔀ ꕮ",
        "IQ": "ꔤꕟꕃ",
        "IR": "ꔤꕟꘋ",
        "IS": "ꕉꔤꔻ ꖨꕮꕊ",
        "IT": "ꔤꕚꔷ",
        "JM": "ꕧꕮꔧꕪ",
        "JO": "ꗘꖺꗵꘋ",
        "JP": "ꔛꗨꗢ",
        "KE": "ꔞꕰ",
        "KG": "ꕃꕅꔻꕚꘋ",
        "KH": "ꕪꕹꔵꕩ",
        "KI": "ꕃꔸꕑꔳ",
        "KM": "ꖏꕹꖄꔻ",
        "KN": "ꔻꘋ ꕃꔳꔻ ꗪ ꔕꔲꔻ",
        "KP": "ꖏꔸꕩ ꗛꔤ ꕪꘋꗒ",
        "KR": "ꖏꔸꕩ ꗛꔤ ꔒꘋꗣ ꗏ",
        "KW": "ꖴꔃꔳ",
        "KY": "ꔞꔀꕮꘋ ꔳꘋꗣ",
        "KZ": "ꕪꕤꔻꕚꘋ",
        "LA": "ꕞꕴꔻ",
        "LB": "ꔒꕑꗟꘋ",
        "LC": "ꔻꘋ ꖨꔻꕩ",
        "LI": "ꔷꗿꘋꔻꗳꘋ",
        "LK": "ꖬꔸ ꕞꘋꕪ",
        "LR": "ꕞꔤꔫꕩ",
        "LS": "ꔷꖇꕿ",
        "LT": "ꔷꖤꔃꕇꕰ",
        "LU": "ꗏꔻꘋꗂꖺ",
        "LV": "ꕞꔳꔲꕩ",
        "LY": "ꔒꔫꕩ",
        "MA": "ꗞꕟꖏ",
        "MC": "ꗞꕯꖏ",
        "MD": "ꖒꔷꖁꕙ",
        "MG": "ꕮꕜꕭꔻꕪ",
        "MH": "ꕮꕊꕣ ꔳꘋꗣ",
        "MK": "ꕮꔖꖁꕇꕰ",
        "ML": "ꕮꔷ",
        "MM": "ꕆꕩꘋꕮ",
        "MN": "ꗞꖐꔷꕩ",
        "MP": "ꗛꔤ ꕪꘋꗒ ꕮꔸꕩꕯ ꔳꘋꗣ",
        "MQ": "ꕮꔳꕇꕃ",
        "MR": "ꗞꔓꔎꕇꕰ",
        "MS": "ꗞꘋꔖꕟꔳ",
        "MT": "ꕮꕊꕚ",
        "MU": "ꗞꔓꗔ",
        "MV": "ꕮꔷꕜꔍ",
        "MW": "ꕮꕞꕌꔨ",
        "MX": "ꘈꔻꖏ",
        "MY": "ꕮꔒꔻꕩ",
        "MZ": "ꕹꕤꔭꕃ",
        "NA": "ꕯꕆꔫꕩ",
        "NC": "ꕪꔷꖁꕇꕰ ꕯꕮꕊ",
        "NE": "ꕯꔤꕧ",
        "NF": "ꗟꖺꗉ ꔳꘋꗣ",
        "NG": "ꕯꔤꕀꔸꕩ",
        "NI": "ꕇꕪꕟꖶꕎ",
        "NL": "ꘉꕜ ꖨꕮꕊ",
        "NO": "ꗟꖺꔃ",
        "NP": "ꕇꕐꔷ",
        "NR": "ꖆꖩ",
        "NU": "ꖸꔃꔤ",
        "NZ": "ꔽꔤ ꖨꕮ ꕯꕮꕊ",
        "OM": "ꕱꕮꘋ",
        "PA": "ꕐꕯꕮ",
        "PE": "ꗨꗡꖩ",
        "PF": "ꗱꘋꔻ ꕶꔷꕇꔻꕩ",
        "PG": "ꕐꖛꕎ ꕅꔤꕇ ꕯꕮꕊ",
        "PH": "ꔱꔒꔪꘋ",
        "PK": "ꕐꕃꔻꕚꘋ",
        "PL": "ꕶꗷꘋ",
        "PM": "ꔻꘋ ꔪꘂ ꗪ ꕆꔞꗏꘋ",
        "PN": "ꔪꔳꕪꕆ",
        "PR": "ꔪꖳꕿ ꔸꖏ",
        "PS": "ꕐꔒꔻꔳꕯ ꔎꔒ ꕀꔤ ꗛꔤ ꕞ ꗱ ꗪ ꕭꕌꕤ",
        "PT": "ꕶꕿꕃꔤ ꕸꖃꔀ",
        "PW": "ꕐꖃ",
        "PY": "ꕐꕟꗝꔀ",
        "QA": "ꕪꕚꕌ",
        "RE": "ꔓꗠꖻ",
        "RO": "ꖄꕆꕇꕰ",
        "RU": "ꗐꖺꔻꕩ",
        "RW": "ꕟꖙꕡ",
        "SA": "ꕞꕌꖝ ꕸꖃꔀ",
        "SB": "ꖬꕞꔤꕮꕊꕯ ꔳꘋꗣ",
        "SC": "ꔖꗼꔷ",
        "SD": "ꖬꗵꘋ",
        "SE": "ꖬꔨꗵꘋ",
        "SG": "ꔻꕬꕶꕱ",
        "SH": "ꔻꘋ ꗥꔷꕯ",
        "SI": "ꔻꖃꔍꕇꕰ",
        "SK": "ꔻꖃꕙꕃꕩ",
        "SL": "ꔋꕩ ꕒꕌꖺ ꕸꖃꔀ",
        "SM": "ꕮꔸꖆ ꕢꘋ",
        "SN": "ꔻꕇꕭꕌ",
        "SO": "ꖇꕮꔷꕩ",
        "SR": "ꖬꔸꕯꔈ",
        "ST": "ꕢꕴ ꕿꔈ ꗪ ꕉ ꕮꔧ ꕗꕴꔀ",
        "SV": "ꗡꗷ ꕢꔍꗍꖺ",
        "SY": "ꔻꕩꘋ",
        "SZ": "ꖬꕎꔽ ꖨꕮꕊ",
        "TC": "ꗋꖺꕃꔻ ꗪ ꕪꔤꖏꔻ ꔳꘋꗣ",
        "TD": "ꕦꔵ",
        "TG": "ꕿꖑ",
        "TH": "ꕚꔤ ꖨꕮꕊ",
        "TJ": "ꕚꕀꕃꔻꕚꘋ",
        "TK": "ꕿꔞꖃ",
        "TL": "ꔎꔒ ꗃ ꔳꗞꖻ",
        "TM": "ꗋꖺꕃꕮꕇꔻꕚꘋ",
        "TN": "ꖤꕇꔻꕩ",
        "TO": "ꗋꕬ",
        "TR": "ꗋꖺꕃ",
        "TT": "ꖤꔸꔕꕜ ꗪ ꕿꔆꖑ",
        "TV": "ꕚꖣꖨ",
        "TW": "ꕚꔤꕎꘋ",
        "TZ": "ꕚꘋꕤꕇꕰ",
        "UA": "ꖳꖴꔓꘋ",
        "UG": "ꖳꕭꕡ",
        "US": "ꕶꕱ",
        "UY": "ꖳꔓꗝꔀ",
        "UZ": "ꖳꗩꕃꔻꕚꘋ",
        "VC": "ꔻꘋ ꔲꘋꔻꘋ ꗪ ꖶꔓꕯꔵꘋ ꖸ",
        "VE": "ꕙꔳꕪꘋ ꕸꖃꔀ",
        "VG": "ꔛꔟꔻ ꗩꗡ ꗏ ꖷꖬ ꔳꘋꗣ",
        "VI": "ꕶꕱ ꗩꗡ ꗏ ꖷꖬ ꔳꘋꗣ",
        "VN": "ꗲꕇꖮꔃꕞ",
        "VU": "ꕙꖸꕎꖤ",
        "WF": "ꕎꔷꔻ ꗪ ꖢꖤꕯ",
        "WS": "ꕢꕹꖙꕉ",
        "YE": "ꔝꘈꘋ",
        "YT": "ꕮꗚꔎ",
        "ZA": "ꕉꔱꔸꕪ ꗛꔤ ꔒꘋꗣ ꗏ ꕸꖃꔀ",
        "ZM": "ꕤꔭꕩ",
        "ZW": "ꔽꕓꖜꔃ"
    };
  }-*/;
}
