/*
 * Copyright 2012 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

/**
 * Localized names for the "yue" locale.
 */
public class LocalizedNamesImpl_yue extends LocalizedNamesImpl {

  @Override
  public String[] loadLikelyRegionCodes() {
    return new String[] {
        "HK",
    };
  }

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "世界");
    namesMap.put("002", "非洲");
    namesMap.put("003", "北美洲");
    namesMap.put("005", "南美洲");
    namesMap.put("009", "大洋洲");
    namesMap.put("011", "西非");
    namesMap.put("013", "中美");
    namesMap.put("014", "東非");
    namesMap.put("015", "北非");
    namesMap.put("017", "中非");
    namesMap.put("018", "非洲南部");
    namesMap.put("019", "美洲");
    namesMap.put("021", "北美");
    namesMap.put("029", "加勒比海");
    namesMap.put("030", "東亞");
    namesMap.put("034", "南亞");
    namesMap.put("035", "東南亞");
    namesMap.put("039", "南歐");
    namesMap.put("053", "澳洲同紐西蘭");
    namesMap.put("054", "美拉尼西亞");
    namesMap.put("057", "密克羅尼西亞");
    namesMap.put("061", "玻里尼西亞");
    namesMap.put("142", "亞洲");
    namesMap.put("143", "中亞");
    namesMap.put("145", "西亞");
    namesMap.put("150", "歐洲");
    namesMap.put("151", "東歐");
    namesMap.put("154", "北歐");
    namesMap.put("155", "西歐");
    namesMap.put("419", "拉丁美洲");
    namesMap.put("AC", "阿森松島");
    namesMap.put("AD", "安道爾");
    namesMap.put("AE", "阿拉伯聯合大公國");
    namesMap.put("AF", "阿富汗");
    namesMap.put("AG", "安提瓜同巴布達");
    namesMap.put("AI", "安圭拉");
    namesMap.put("AL", "阿爾巴尼亞");
    namesMap.put("AM", "亞美尼亞");
    namesMap.put("AO", "安哥拉");
    namesMap.put("AQ", "南極洲");
    namesMap.put("AR", "阿根廷");
    namesMap.put("AS", "美屬薩摩亞");
    namesMap.put("AT", "奧地利");
    namesMap.put("AU", "澳洲");
    namesMap.put("AW", "荷屬阿魯巴");
    namesMap.put("AX", "奧蘭群島");
    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("BL", "聖巴瑟米");
    namesMap.put("BM", "百慕達");
    namesMap.put("BN", "汶萊");
    namesMap.put("BO", "玻利維亞");
    namesMap.put("BQ", "荷蘭加勒比區");
    namesMap.put("BR", "巴西");
    namesMap.put("BS", "巴哈馬");
    namesMap.put("BT", "不丹");
    namesMap.put("BV", "布威島");
    namesMap.put("BW", "波札那");
    namesMap.put("BY", "白俄羅斯");
    namesMap.put("BZ", "貝里斯");
    namesMap.put("CA", "加拿大");
    namesMap.put("CC", "科科斯（基林）群島");
    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("CP", "克里派頓島");
    namesMap.put("CR", "哥斯大黎加");
    namesMap.put("CU", "古巴");
    namesMap.put("CV", "維德角");
    namesMap.put("CW", "庫拉索");
    namesMap.put("CX", "聖誕島");
    namesMap.put("CY", "賽普勒斯");
    namesMap.put("CZ", "捷克");
    namesMap.put("DE", "德國");
    namesMap.put("DG", "迪亞哥加西亞島");
    namesMap.put("DJ", "吉布地");
    namesMap.put("DK", "丹麥");
    namesMap.put("DM", "多米尼克");
    namesMap.put("DO", "多明尼加共和國");
    namesMap.put("DZ", "阿爾及利亞");
    namesMap.put("EA", "休達與梅利利亞");
    namesMap.put("EC", "厄瓜多");
    namesMap.put("EE", "愛沙尼亞");
    namesMap.put("EG", "埃及");
    namesMap.put("EH", "西撒哈拉");
    namesMap.put("ER", "厄利垂亞");
    namesMap.put("ES", "西班牙");
    namesMap.put("ET", "衣索比亞");
    namesMap.put("EU", "歐盟");
    namesMap.put("EZ", "歐元區");
    namesMap.put("FI", "芬蘭");
    namesMap.put("FJ", "斐濟");
    namesMap.put("FK", "福克蘭群島");
    namesMap.put("FM", "密克羅尼西亞群島");
    namesMap.put("FO", "法羅群島");
    namesMap.put("FR", "法國");
    namesMap.put("GA", "加彭");
    namesMap.put("GB", "英國");
    namesMap.put("GD", "格瑞那達");
    namesMap.put("GE", "喬治亞共和國");
    namesMap.put("GF", "法屬圭亞那");
    namesMap.put("GG", "根西島");
    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("GS", "南佐治亞島同南桑威奇群島");
    namesMap.put("GT", "瓜地馬拉");
    namesMap.put("GU", "關島");
    namesMap.put("GW", "幾內亞比索");
    namesMap.put("GY", "蓋亞那");
    namesMap.put("HK", "中華人民共和國香港特別行政區");
    namesMap.put("HM", "赫德島同麥克唐納群島");
    namesMap.put("HN", "宏都拉斯");
    namesMap.put("HR", "克羅埃西亞");
    namesMap.put("HT", "海地");
    namesMap.put("HU", "匈牙利");
    namesMap.put("IC", "加那利群島");
    namesMap.put("ID", "印尼");
    namesMap.put("IE", "愛爾蘭");
    namesMap.put("IL", "以色列");
    namesMap.put("IM", "曼島");
    namesMap.put("IN", "印度");
    namesMap.put("IO", "英屬印度洋領地");
    namesMap.put("IQ", "伊拉克");
    namesMap.put("IR", "伊朗");
    namesMap.put("IS", "冰島");
    namesMap.put("IT", "義大利");
    namesMap.put("JE", "澤西島");
    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("ME", "蒙特內哥羅");
    namesMap.put("MF", "法屬聖馬丁");
    namesMap.put("MG", "馬達加斯加");
    namesMap.put("MH", "馬紹爾群島");
    namesMap.put("MK", "馬其頓");
    namesMap.put("ML", "馬利");
    namesMap.put("MM", "緬甸");
    namesMap.put("MN", "蒙古");
    namesMap.put("MO", "中華人民共和國澳門特別行政區");
    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("QO", "大洋洲邊疆群島");
    namesMap.put("RE", "留尼旺");
    namesMap.put("RO", "羅馬尼亞");
    namesMap.put("RS", "塞爾維亞");
    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("SJ", "斯瓦爾巴特群島同揚馬延島");
    namesMap.put("SK", "斯洛伐克");
    namesMap.put("SL", "獅子山");
    namesMap.put("SM", "聖馬利諾");
    namesMap.put("SN", "塞內加爾");
    namesMap.put("SO", "索馬利亞");
    namesMap.put("SR", "蘇利南");
    namesMap.put("SS", "南蘇丹");
    namesMap.put("ST", "聖多美同普林西比");
    namesMap.put("SV", "薩爾瓦多");
    namesMap.put("SX", "荷屬聖馬丁");
    namesMap.put("SY", "敘利亞");
    namesMap.put("SZ", "史瓦濟蘭");
    namesMap.put("TA", "特里斯坦達庫尼亞群島");
    namesMap.put("TC", "土克斯及開科斯群島");
    namesMap.put("TD", "查德");
    namesMap.put("TF", "法屬南方屬地");
    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("UM", "美國本土外小島嶼");
    namesMap.put("UN", "聯合國");
    namesMap.put("US", "美國");
    namesMap.put("UY", "烏拉圭");
    namesMap.put("UZ", "烏茲別克");
    namesMap.put("VA", "梵蒂岡");
    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("XK", "科索沃");
    namesMap.put("YE", "葉門");
    namesMap.put("YT", "馬約特");
    namesMap.put("ZA", "南非");
    namesMap.put("ZM", "尚比亞");
    namesMap.put("ZW", "辛巴威");
    namesMap.put("ZZ", "未知區域");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "世界",
        "002": "非洲",
        "003": "北美洲",
        "005": "南美洲",
        "009": "大洋洲",
        "011": "西非",
        "013": "中美",
        "014": "東非",
        "015": "北非",
        "017": "中非",
        "018": "非洲南部",
        "019": "美洲",
        "021": "北美",
        "029": "加勒比海",
        "030": "東亞",
        "034": "南亞",
        "035": "東南亞",
        "039": "南歐",
        "053": "澳洲同紐西蘭",
        "054": "美拉尼西亞",
        "057": "密克羅尼西亞",
        "061": "玻里尼西亞",
        "142": "亞洲",
        "143": "中亞",
        "145": "西亞",
        "150": "歐洲",
        "151": "東歐",
        "154": "北歐",
        "155": "西歐",
        "419": "拉丁美洲",
        "AC": "阿森松島",
        "AD": "安道爾",
        "AE": "阿拉伯聯合大公國",
        "AF": "阿富汗",
        "AG": "安提瓜同巴布達",
        "AI": "安圭拉",
        "AL": "阿爾巴尼亞",
        "AM": "亞美尼亞",
        "AO": "安哥拉",
        "AQ": "南極洲",
        "AR": "阿根廷",
        "AS": "美屬薩摩亞",
        "AT": "奧地利",
        "AU": "澳洲",
        "AW": "荷屬阿魯巴",
        "AX": "奧蘭群島",
        "AZ": "亞塞拜然",
        "BA": "波斯尼亞同黑塞哥維那",
        "BB": "巴貝多",
        "BD": "孟加拉",
        "BE": "比利時",
        "BF": "布吉納法索",
        "BG": "保加利亞",
        "BH": "巴林",
        "BI": "蒲隆地",
        "BJ": "貝南",
        "BL": "聖巴瑟米",
        "BM": "百慕達",
        "BN": "汶萊",
        "BO": "玻利維亞",
        "BQ": "荷蘭加勒比區",
        "BR": "巴西",
        "BS": "巴哈馬",
        "BT": "不丹",
        "BV": "布威島",
        "BW": "波札那",
        "BY": "白俄羅斯",
        "BZ": "貝里斯",
        "CA": "加拿大",
        "CC": "科科斯（基林）群島",
        "CD": "剛果（金夏沙）",
        "CF": "中非共和國",
        "CG": "剛果（布拉薩）",
        "CH": "瑞士",
        "CI": "象牙海岸",
        "CK": "庫克群島",
        "CL": "智利",
        "CM": "喀麥隆",
        "CN": "中華人民共和國",
        "CO": "哥倫比亞",
        "CP": "克里派頓島",
        "CR": "哥斯大黎加",
        "CU": "古巴",
        "CV": "維德角",
        "CW": "庫拉索",
        "CX": "聖誕島",
        "CY": "賽普勒斯",
        "CZ": "捷克",
        "DE": "德國",
        "DG": "迪亞哥加西亞島",
        "DJ": "吉布地",
        "DK": "丹麥",
        "DM": "多米尼克",
        "DO": "多明尼加共和國",
        "DZ": "阿爾及利亞",
        "EA": "休達與梅利利亞",
        "EC": "厄瓜多",
        "EE": "愛沙尼亞",
        "EG": "埃及",
        "EH": "西撒哈拉",
        "ER": "厄利垂亞",
        "ES": "西班牙",
        "ET": "衣索比亞",
        "EU": "歐盟",
        "EZ": "歐元區",
        "FI": "芬蘭",
        "FJ": "斐濟",
        "FK": "福克蘭群島",
        "FM": "密克羅尼西亞群島",
        "FO": "法羅群島",
        "FR": "法國",
        "GA": "加彭",
        "GB": "英國",
        "GD": "格瑞那達",
        "GE": "喬治亞共和國",
        "GF": "法屬圭亞那",
        "GG": "根西島",
        "GH": "迦納",
        "GI": "直布羅陀",
        "GL": "格陵蘭",
        "GM": "甘比亞",
        "GN": "幾內亞",
        "GP": "瓜地洛普",
        "GQ": "赤道幾內亞",
        "GR": "希臘",
        "GS": "南佐治亞島同南桑威奇群島",
        "GT": "瓜地馬拉",
        "GU": "關島",
        "GW": "幾內亞比索",
        "GY": "蓋亞那",
        "HK": "中華人民共和國香港特別行政區",
        "HM": "赫德島同麥克唐納群島",
        "HN": "宏都拉斯",
        "HR": "克羅埃西亞",
        "HT": "海地",
        "HU": "匈牙利",
        "IC": "加那利群島",
        "ID": "印尼",
        "IE": "愛爾蘭",
        "IL": "以色列",
        "IM": "曼島",
        "IN": "印度",
        "IO": "英屬印度洋領地",
        "IQ": "伊拉克",
        "IR": "伊朗",
        "IS": "冰島",
        "IT": "義大利",
        "JE": "澤西島",
        "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": "摩爾多瓦",
        "ME": "蒙特內哥羅",
        "MF": "法屬聖馬丁",
        "MG": "馬達加斯加",
        "MH": "馬紹爾群島",
        "MK": "馬其頓",
        "ML": "馬利",
        "MM": "緬甸",
        "MN": "蒙古",
        "MO": "中華人民共和國澳門特別行政區",
        "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": "卡達",
        "QO": "大洋洲邊疆群島",
        "RE": "留尼旺",
        "RO": "羅馬尼亞",
        "RS": "塞爾維亞",
        "RU": "俄羅斯",
        "RW": "盧安達",
        "SA": "沙烏地阿拉伯",
        "SB": "索羅門群島",
        "SC": "塞席爾",
        "SD": "蘇丹",
        "SE": "瑞典",
        "SG": "新加坡",
        "SH": "聖赫勒拿島",
        "SI": "斯洛維尼亞",
        "SJ": "斯瓦爾巴特群島同揚馬延島",
        "SK": "斯洛伐克",
        "SL": "獅子山",
        "SM": "聖馬利諾",
        "SN": "塞內加爾",
        "SO": "索馬利亞",
        "SR": "蘇利南",
        "SS": "南蘇丹",
        "ST": "聖多美同普林西比",
        "SV": "薩爾瓦多",
        "SX": "荷屬聖馬丁",
        "SY": "敘利亞",
        "SZ": "史瓦濟蘭",
        "TA": "特里斯坦達庫尼亞群島",
        "TC": "土克斯及開科斯群島",
        "TD": "查德",
        "TF": "法屬南方屬地",
        "TG": "多哥",
        "TH": "泰國",
        "TJ": "塔吉克",
        "TK": "托克勞群島",
        "TL": "東帝汶",
        "TM": "土庫曼",
        "TN": "突尼西亞",
        "TO": "東加",
        "TR": "土耳其",
        "TT": "千里達同多巴哥",
        "TV": "吐瓦魯",
        "TW": "台灣",
        "TZ": "坦尚尼亞",
        "UA": "烏克蘭",
        "UG": "烏干達",
        "UM": "美國本土外小島嶼",
        "UN": "聯合國",
        "US": "美國",
        "UY": "烏拉圭",
        "UZ": "烏茲別克",
        "VA": "梵蒂岡",
        "VC": "聖文森特同格林納丁斯",
        "VE": "委內瑞拉",
        "VG": "英屬維京群島",
        "VI": "美屬維京群島",
        "VN": "越南",
        "VU": "萬那杜",
        "WF": "瓦利斯同富圖納群島",
        "WS": "薩摩亞",
        "XK": "科索沃",
        "YE": "葉門",
        "YT": "馬約特",
        "ZA": "南非",
        "ZM": "尚比亞",
        "ZW": "辛巴威",
        "ZZ": "未知區域"
    };
  }-*/;
}
