/*
 * 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: 2014-03-01 06:57:43 +0100 (Sat, 01 Mar 2014) $
//  number=$Revision: 9852 $
//  type=Hant

/**
 * Localized names for the "zh_Hant" locale.
 */
public class LocalizedNamesImpl_zh_Hant extends LocalizedNamesImpl_zh {

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

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("013", "中美");
    namesMap.put("014", "東非");
    namesMap.put("018", "非洲南部");
    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("AC", "阿森松島");
    namesMap.put("AD", "安道爾");
    namesMap.put("AE", "阿拉伯聯合大公國");
    namesMap.put("AG", "安地卡及巴布達");
    namesMap.put("AI", "安圭拉島");
    namesMap.put("AL", "阿爾巴尼亞");
    namesMap.put("AM", "亞美尼亞");
    namesMap.put("AN", "荷屬安地列斯");
    namesMap.put("AQ", "南極洲");
    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("BI", "蒲隆地");
    namesMap.put("BJ", "貝寧");
    namesMap.put("BL", "聖巴瑟米");
    namesMap.put("BM", "百慕達");
    namesMap.put("BN", "汶萊");
    namesMap.put("BO", "玻利維亞");
    namesMap.put("BQ", "荷蘭加勒比區");
    namesMap.put("BS", "巴哈馬");
    namesMap.put("BV", "布威島");
    namesMap.put("BW", "波札那");
    namesMap.put("BY", "白俄羅斯");
    namesMap.put("BZ", "貝里斯");
    namesMap.put("CC", "可可斯群島");
    namesMap.put("CD", "剛果（金夏沙）");
    namesMap.put("CF", "中非共和國");
    namesMap.put("CG", "剛果（布拉薩）");
    namesMap.put("CK", "庫克群島");
    namesMap.put("CM", "喀麥隆");
    namesMap.put("CN", "中華人民共和國");
    namesMap.put("CO", "哥倫比亞");
    namesMap.put("CP", "克里派頓島");
    namesMap.put("CR", "哥斯大黎加");
    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("DO", "多明尼加共和國");
    namesMap.put("DZ", "阿爾及利亞");
    namesMap.put("EA", "休達與梅利利亞");
    namesMap.put("EC", "厄瓜多");
    namesMap.put("EE", "愛沙尼亞");
    namesMap.put("ER", "厄利垂亞");
    namesMap.put("ET", "衣索比亞");
    namesMap.put("EU", "歐盟");
    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("IC", "加那利群島");
    namesMap.put("ID", "印尼");
    namesMap.put("IE", "愛爾蘭");
    namesMap.put("IM", "曼島");
    namesMap.put("IO", "英屬印度洋領土");
    namesMap.put("IS", "冰島");
    namesMap.put("IT", "義大利");
    namesMap.put("JE", "澤西島");
    namesMap.put("JM", "牙買加");
    namesMap.put("JO", "約旦");
    namesMap.put("KE", "肯亞");
    namesMap.put("KG", "吉爾吉斯");
    namesMap.put("KI", "吉里巴斯");
    namesMap.put("KM", "科摩羅群島");
    namesMap.put("KN", "聖克里斯多福及尼維斯");
    namesMap.put("KP", "北韓");
    namesMap.put("KR", "南韓");
    namesMap.put("KY", "開曼群島");
    namesMap.put("KZ", "哈薩克");
    namesMap.put("LA", "寮國");
    namesMap.put("LC", "聖露西亞");
    namesMap.put("LK", "斯里蘭卡");
    namesMap.put("LR", "賴比瑞亞");
    namesMap.put("LS", "賴索扥");
    namesMap.put("LU", "盧森堡");
    namesMap.put("LV", "拉脫維亞");
    namesMap.put("LY", "利比亞");
    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("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("MY", "馬來西亞");
    namesMap.put("MZ", "莫三比克");
    namesMap.put("NA", "納米比亞");
    namesMap.put("NC", "新喀里多尼亞群島");
    namesMap.put("NE", "尼日");
    namesMap.put("NF", "諾福克島");
    namesMap.put("NG", "奈及利亞");
    namesMap.put("NL", "荷蘭");
    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("PL", "波蘭");
    namesMap.put("PM", "聖皮埃爾和密克隆群島");
    namesMap.put("PN", "皮特肯群島");
    namesMap.put("PS", "巴勒斯坦自治區");
    namesMap.put("PW", "帛琉");
    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("SH", "聖赫勒拿島");
    namesMap.put("SI", "斯洛維尼亞");
    namesMap.put("SJ", "冷岸及央麥恩群島");
    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("TT", "千里達及托巴哥");
    namesMap.put("TV", "吐瓦魯");
    namesMap.put("TW", "台灣");
    namesMap.put("TZ", "坦尚尼亞");
    namesMap.put("UA", "烏克蘭");
    namesMap.put("UG", "烏干達");
    namesMap.put("UM", "美國本土外小島嶼");
    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("VU", "萬那杜");
    namesMap.put("WF", "瓦利斯和富圖納群島");
    namesMap.put("WS", "薩摩亞群島");
    namesMap.put("YE", "葉門");
    namesMap.put("YT", "馬約特");
    namesMap.put("ZM", "尚比亞");
    namesMap.put("ZW", "辛巴威");
    namesMap.put("ZZ", "未知區域");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "013": "中美",
        "014": "東非",
        "018": "非洲南部",
        "021": "北美",
        "029": "加勒比海",
        "030": "東亞",
        "034": "南亞",
        "035": "東南亞",
        "039": "南歐",
        "053": "澳洲與紐西蘭",
        "054": "美拉尼西亞",
        "057": "密克羅尼西亞",
        "061": "玻里尼西亞",
        "142": "亞洲",
        "143": "中亞",
        "145": "西亞",
        "150": "歐洲",
        "151": "東歐",
        "154": "北歐",
        "155": "西歐",
        "AC": "阿森松島",
        "AD": "安道爾",
        "AE": "阿拉伯聯合大公國",
        "AG": "安地卡及巴布達",
        "AI": "安圭拉島",
        "AL": "阿爾巴尼亞",
        "AM": "亞美尼亞",
        "AN": "荷屬安地列斯",
        "AQ": "南極洲",
        "AS": "美屬薩摩亞群島",
        "AT": "奧地利",
        "AU": "澳洲",
        "AW": "阿路巴",
        "AX": "奧蘭群島",
        "AZ": "亞塞拜然",
        "BA": "波士尼亞與赫塞格維納",
        "BB": "巴貝多",
        "BD": "孟加拉",
        "BE": "比利時",
        "BF": "布吉納法索",
        "BG": "保加利亞",
        "BI": "蒲隆地",
        "BJ": "貝寧",
        "BL": "聖巴瑟米",
        "BM": "百慕達",
        "BN": "汶萊",
        "BO": "玻利維亞",
        "BQ": "荷蘭加勒比區",
        "BS": "巴哈馬",
        "BV": "布威島",
        "BW": "波札那",
        "BY": "白俄羅斯",
        "BZ": "貝里斯",
        "CC": "可可斯群島",
        "CD": "剛果（金夏沙）",
        "CF": "中非共和國",
        "CG": "剛果（布拉薩）",
        "CK": "庫克群島",
        "CM": "喀麥隆",
        "CN": "中華人民共和國",
        "CO": "哥倫比亞",
        "CP": "克里派頓島",
        "CR": "哥斯大黎加",
        "CV": "維德角",
        "CW": "庫拉索",
        "CX": "聖誕島",
        "CY": "賽普勒斯",
        "CZ": "捷克共和國",
        "DE": "德國",
        "DG": "迪亞哥加西亞島",
        "DJ": "吉布地",
        "DK": "丹麥",
        "DO": "多明尼加共和國",
        "DZ": "阿爾及利亞",
        "EA": "休達與梅利利亞",
        "EC": "厄瓜多",
        "EE": "愛沙尼亞",
        "ER": "厄利垂亞",
        "ET": "衣索比亞",
        "EU": "歐盟",
        "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": "克羅埃西亞",
        "IC": "加那利群島",
        "ID": "印尼",
        "IE": "愛爾蘭",
        "IM": "曼島",
        "IO": "英屬印度洋領土",
        "IS": "冰島",
        "IT": "義大利",
        "JE": "澤西島",
        "JM": "牙買加",
        "JO": "約旦",
        "KE": "肯亞",
        "KG": "吉爾吉斯",
        "KI": "吉里巴斯",
        "KM": "科摩羅群島",
        "KN": "聖克里斯多福及尼維斯",
        "KP": "北韓",
        "KR": "南韓",
        "KY": "開曼群島",
        "KZ": "哈薩克",
        "LA": "寮國",
        "LC": "聖露西亞",
        "LK": "斯里蘭卡",
        "LR": "賴比瑞亞",
        "LS": "賴索扥",
        "LU": "盧森堡",
        "LV": "拉脫維亞",
        "LY": "利比亞",
        "MC": "摩納哥",
        "MD": "摩爾多瓦",
        "ME": "蒙特內哥羅",
        "MF": "法屬聖馬丁",
        "MG": "馬達加斯加",
        "MH": "馬紹爾群島",
        "MK": "馬其頓",
        "ML": "馬利",
        "MM": "緬甸",
        "MO": "中華人民共和國澳門特別行政區",
        "MP": "北馬里亞納群島",
        "MQ": "馬丁尼克島",
        "MR": "茅利塔尼亞",
        "MS": "蒙塞拉特島",
        "MT": "馬爾他",
        "MU": "模里西斯",
        "MV": "馬爾地夫",
        "MW": "馬拉威",
        "MY": "馬來西亞",
        "MZ": "莫三比克",
        "NA": "納米比亞",
        "NC": "新喀里多尼亞群島",
        "NE": "尼日",
        "NF": "諾福克島",
        "NG": "奈及利亞",
        "NL": "荷蘭",
        "NP": "尼泊爾",
        "NR": "諾魯",
        "NU": "紐威島",
        "NZ": "紐西蘭",
        "OM": "阿曼王國",
        "PA": "巴拿馬",
        "PE": "秘魯",
        "PF": "法屬玻里尼西亞",
        "PG": "巴布亞紐幾內亞",
        "PH": "菲律賓",
        "PL": "波蘭",
        "PM": "聖皮埃爾和密克隆群島",
        "PN": "皮特肯群島",
        "PS": "巴勒斯坦自治區",
        "PW": "帛琉",
        "QA": "卡達",
        "QO": "大洋洲邊疆群島",
        "RE": "留尼旺",
        "RO": "羅馬尼亞",
        "RS": "塞爾維亞",
        "RU": "俄羅斯",
        "RW": "盧安達",
        "SA": "沙烏地阿拉伯",
        "SB": "索羅門群島",
        "SC": "塞席爾",
        "SD": "蘇丹",
        "SH": "聖赫勒拿島",
        "SI": "斯洛維尼亞",
        "SJ": "冷岸及央麥恩群島",
        "SL": "獅子山",
        "SM": "聖馬利諾",
        "SN": "塞內加爾",
        "SO": "索馬利亞",
        "SR": "蘇利南",
        "SS": "南蘇丹",
        "ST": "聖多美及普林西比",
        "SV": "薩爾瓦多",
        "SX": "荷屬聖馬丁",
        "SY": "敘利亞",
        "SZ": "史瓦濟蘭",
        "TA": "特里斯坦達庫尼亞群島",
        "TC": "土克斯及開科斯群島",
        "TD": "查德",
        "TF": "法屬南方屬地",
        "TG": "多哥共和國",
        "TH": "泰國",
        "TJ": "塔吉克",
        "TK": "托克勞群島",
        "TL": "東帝汶",
        "TM": "土庫曼",
        "TN": "突尼西亞",
        "TO": "東加",
        "TT": "千里達及托巴哥",
        "TV": "吐瓦魯",
        "TW": "台灣",
        "TZ": "坦尚尼亞",
        "UA": "烏克蘭",
        "UG": "烏干達",
        "UM": "美國本土外小島嶼",
        "US": "美國",
        "UY": "烏拉圭",
        "UZ": "烏茲別克",
        "VA": "梵蒂岡",
        "VC": "聖文森及格瑞那丁",
        "VE": "委內瑞拉",
        "VG": "英屬維京群島",
        "VI": "美屬維京群島",
        "VU": "萬那杜",
        "WF": "瓦利斯和富圖納群島",
        "WS": "薩摩亞群島",
        "YE": "葉門",
        "YT": "馬約特",
        "ZM": "尚比亞",
        "ZW": "辛巴威",
        "ZZ": "未知區域"
    };
  }-*/;
}
