/*
 * 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-02-13 05:14:13 +0100 (Thu, 13 Feb 2014) $
//  number=$Revision: 9728 $
//  type=ses

/**
 * Localized names for the "ses" locale.
 */
public class LocalizedNamesImpl_ses extends LocalizedNamesImpl {

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("AD", "Andoora");
    namesMap.put("AE", "Laaraw Imaarawey Margantey");
    namesMap.put("AF", "Afgaanistan");
    namesMap.put("AG", "Antigua nda Barbuuda");
    namesMap.put("AI", "Angiiya");
    namesMap.put("AL", "Albaani");
    namesMap.put("AM", "Armeeni");
    namesMap.put("AN", "Hollandu Antiiyey Laboo");
    namesMap.put("AO", "Angoola");
    namesMap.put("AR", "Argentine");
    namesMap.put("AS", "Ameriki Samoa");
    namesMap.put("AT", "Otriši");
    namesMap.put("AU", "Ostraali");
    namesMap.put("AW", "Aruuba");
    namesMap.put("AZ", "Azerbaayijaŋ");
    namesMap.put("BA", "Bosni nda Herzegovine");
    namesMap.put("BB", "Barbaados");
    namesMap.put("BD", "Bangladeši");
    namesMap.put("BE", "Belgiiki");
    namesMap.put("BF", "Burkina faso");
    namesMap.put("BG", "Bulgaari");
    namesMap.put("BH", "Bahareen");
    namesMap.put("BJ", "Beniŋ");
    namesMap.put("BN", "Bruunee");
    namesMap.put("BO", "Boolivi");
    namesMap.put("BR", "Breezil");
    namesMap.put("BT", "Buutaŋ");
    namesMap.put("BW", "Botswaana");
    namesMap.put("BY", "Biloriši");
    namesMap.put("BZ", "Beliizi");
    namesMap.put("CA", "Kanaada");
    namesMap.put("CD", "Kongoo demookaratiki laboo");
    namesMap.put("CF", "Centraafriki koyra");
    namesMap.put("CG", "Kongoo");
    namesMap.put("CH", "Swisu");
    namesMap.put("CI", "Kudwar");
    namesMap.put("CK", "Kuuk gungey");
    namesMap.put("CL", "Šiili");
    namesMap.put("CM", "Kameruun");
    namesMap.put("CN", "Šiin");
    namesMap.put("CO", "Kolombi");
    namesMap.put("CR", "Kosta rika");
    namesMap.put("CU", "Kuuba");
    namesMap.put("CV", "Kapuver gungey");
    namesMap.put("CY", "Šiipur");
    namesMap.put("CZ", "Cek labo");
    namesMap.put("DE", "Almaaɲe");
    namesMap.put("DJ", "Jibuuti");
    namesMap.put("DK", "Danemark");
    namesMap.put("DM", "Doominiki");
    namesMap.put("DO", "Doominiki laboo");
    namesMap.put("DZ", "Alžeeri");
    namesMap.put("EC", "Ekwateer");
    namesMap.put("EE", "Estooni");
    namesMap.put("EG", "Misra");
    namesMap.put("ER", "Eritree");
    namesMap.put("ES", "Espaaɲe");
    namesMap.put("ET", "Ecioopi");
    namesMap.put("FI", "Finlandu");
    namesMap.put("FK", "Kalkan gungey");
    namesMap.put("FM", "Mikronezi");
    namesMap.put("FR", "Faransi");
    namesMap.put("GA", "Gaabon");
    namesMap.put("GB", "Albaasalaama Marganta");
    namesMap.put("GD", "Grenaada");
    namesMap.put("GE", "Gorgi");
    namesMap.put("GF", "Faransi Guyaan");
    namesMap.put("GH", "Gaana");
    namesMap.put("GL", "Grinland");
    namesMap.put("GM", "Gambi");
    namesMap.put("GN", "Gine");
    namesMap.put("GP", "Gwadeluup");
    namesMap.put("GQ", "Ginee Ekwatorial");
    namesMap.put("GT", "Gwatemaala");
    namesMap.put("GW", "Gine-Bisso");
    namesMap.put("GY", "Guyaane");
    namesMap.put("HR", "Krwaasi");
    namesMap.put("HU", "Hungaari");
    namesMap.put("ID", "Indoneezi");
    namesMap.put("IE", "Irlandu");
    namesMap.put("IL", "Israyel");
    namesMap.put("IN", "Indu laboo");
    namesMap.put("IO", "Britiši Indu teekoo laama");
    namesMap.put("IQ", "Iraak");
    namesMap.put("IR", "Iraan");
    namesMap.put("IS", "Ayceland");
    namesMap.put("IT", "Itaali");
    namesMap.put("JM", "Jamaayik");
    namesMap.put("JO", "Urdun");
    namesMap.put("JP", "Jaapoŋ");
    namesMap.put("KE", "Keeniya");
    namesMap.put("KH", "Kamboogi");
    namesMap.put("KI", "Kiribaati");
    namesMap.put("KM", "Komoor");
    namesMap.put("KN", "Seŋ Kitts nda Nevis");
    namesMap.put("KP", "Kooree, Gurma");
    namesMap.put("KR", "Kooree, Hawsa");
    namesMap.put("KW", "Kuweet");
    namesMap.put("KY", "Kayman gungey");
    namesMap.put("KZ", "Kaazakstan");
    namesMap.put("LA", "Laawos");
    namesMap.put("LB", "Lubnaan");
    namesMap.put("LC", "Seŋ Lussia");
    namesMap.put("LK", "Srilanka");
    namesMap.put("LS", "Leesoto");
    namesMap.put("LT", "Lituaani");
    namesMap.put("LV", "Letooni");
    namesMap.put("LY", "Liibi");
    namesMap.put("MA", "Maarok");
    namesMap.put("MC", "Monako");
    namesMap.put("MD", "Moldovi");
    namesMap.put("MH", "Maršal gungey");
    namesMap.put("MK", "Maacedooni");
    namesMap.put("ML", "Maali");
    namesMap.put("MM", "Maynamar");
    namesMap.put("MN", "Mongooli");
    namesMap.put("MP", "Mariana Gurma Gungey");
    namesMap.put("MQ", "Martiniiki");
    namesMap.put("MR", "Mooritaani");
    namesMap.put("MU", "Mooris gungey");
    namesMap.put("MV", "Maldiivu");
    namesMap.put("MW", "Malaawi");
    namesMap.put("MX", "Mexiki");
    namesMap.put("MY", "Maleezi");
    namesMap.put("MZ", "Mozambik");
    namesMap.put("NA", "Naamibi");
    namesMap.put("NC", "Kaaledooni Taagaa");
    namesMap.put("NE", "Nižer");
    namesMap.put("NF", "Norfolk Gungoo");
    namesMap.put("NG", "Naajiriia");
    namesMap.put("NI", "Nikaragwa");
    namesMap.put("NL", "Hollandu");
    namesMap.put("NO", "Norveej");
    namesMap.put("NP", "Neepal");
    namesMap.put("NZ", "Zeelandu Taaga");
    namesMap.put("OM", "Omaan");
    namesMap.put("PE", "Peeru");
    namesMap.put("PF", "Faransi Polineezi");
    namesMap.put("PG", "Papua Ginee Taaga");
    namesMap.put("PH", "Filipine");
    namesMap.put("PK", "Paakistan");
    namesMap.put("PL", "Poloɲe");
    namesMap.put("PM", "Seŋ Piyer nda Mikelon");
    namesMap.put("PN", "Pitikarin");
    namesMap.put("PR", "Porto Riko");
    namesMap.put("PS", "Palestine Dangay nda Gaaza");
    namesMap.put("PT", "Portugaal");
    namesMap.put("PW", "Palu");
    namesMap.put("PY", "Paraguwey");
    namesMap.put("QA", "Kataar");
    namesMap.put("RE", "Reenioŋ");
    namesMap.put("RO", "Rumaani");
    namesMap.put("RU", "Iriši laboo");
    namesMap.put("SA", "Saudiya");
    namesMap.put("SB", "Solomon Gungey");
    namesMap.put("SC", "Seešel");
    namesMap.put("SD", "Suudaŋ");
    namesMap.put("SE", "Sweede");
    namesMap.put("SG", "Singapur");
    namesMap.put("SH", "Seŋ Helena");
    namesMap.put("SI", "Sloveeni");
    namesMap.put("SK", "Slovaaki");
    namesMap.put("SL", "Seera Leon");
    namesMap.put("SO", "Somaali");
    namesMap.put("SR", "Surinaam");
    namesMap.put("ST", "Sao Tome nda Prinsipe");
    namesMap.put("SV", "Salvador laboo");
    namesMap.put("SY", "Suuria");
    namesMap.put("TC", "Turk nda Kayikos Gungey");
    namesMap.put("TD", "Caadu");
    namesMap.put("TH", "Taayiland");
    namesMap.put("TJ", "Taažikistan");
    namesMap.put("TL", "Timoor hawsa");
    namesMap.put("TM", "Turkmenistaŋ");
    namesMap.put("TN", "Tunizi");
    namesMap.put("TR", "Turki");
    namesMap.put("TT", "Trinidad nda Tobaago");
    namesMap.put("TW", "Taayiwan");
    namesMap.put("TZ", "Tanzaani");
    namesMap.put("UA", "Ukreen");
    namesMap.put("US", "Ameriki Laabu Margantey");
    namesMap.put("UY", "Uruguwey");
    namesMap.put("UZ", "Uzbeekistan");
    namesMap.put("VA", "Vaatikan Laama");
    namesMap.put("VC", "Seŋvinsaŋ nda Grenadine");
    namesMap.put("VE", "Veneezuyeela");
    namesMap.put("VG", "Britiši Virgin gungey");
    namesMap.put("VI", "Ameerik Virgin Gungey");
    namesMap.put("VN", "Vietnaam");
    namesMap.put("VU", "Vanautu");
    namesMap.put("WF", "Wallis nda Futuna");
    namesMap.put("YE", "Yaman");
    namesMap.put("YT", "Mayooti");
    namesMap.put("ZA", "Hawsa Afriki Laboo");
    namesMap.put("ZM", "Zambi");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "AD": "Andoora",
        "AE": "Laaraw Imaarawey Margantey",
        "AF": "Afgaanistan",
        "AG": "Antigua nda Barbuuda",
        "AI": "Angiiya",
        "AL": "Albaani",
        "AM": "Armeeni",
        "AN": "Hollandu Antiiyey Laboo",
        "AO": "Angoola",
        "AR": "Argentine",
        "AS": "Ameriki Samoa",
        "AT": "Otriši",
        "AU": "Ostraali",
        "AW": "Aruuba",
        "AZ": "Azerbaayijaŋ",
        "BA": "Bosni nda Herzegovine",
        "BB": "Barbaados",
        "BD": "Bangladeši",
        "BE": "Belgiiki",
        "BF": "Burkina faso",
        "BG": "Bulgaari",
        "BH": "Bahareen",
        "BJ": "Beniŋ",
        "BN": "Bruunee",
        "BO": "Boolivi",
        "BR": "Breezil",
        "BT": "Buutaŋ",
        "BW": "Botswaana",
        "BY": "Biloriši",
        "BZ": "Beliizi",
        "CA": "Kanaada",
        "CD": "Kongoo demookaratiki laboo",
        "CF": "Centraafriki koyra",
        "CG": "Kongoo",
        "CH": "Swisu",
        "CI": "Kudwar",
        "CK": "Kuuk gungey",
        "CL": "Šiili",
        "CM": "Kameruun",
        "CN": "Šiin",
        "CO": "Kolombi",
        "CR": "Kosta rika",
        "CU": "Kuuba",
        "CV": "Kapuver gungey",
        "CY": "Šiipur",
        "CZ": "Cek labo",
        "DE": "Almaaɲe",
        "DJ": "Jibuuti",
        "DK": "Danemark",
        "DM": "Doominiki",
        "DO": "Doominiki laboo",
        "DZ": "Alžeeri",
        "EC": "Ekwateer",
        "EE": "Estooni",
        "EG": "Misra",
        "ER": "Eritree",
        "ES": "Espaaɲe",
        "ET": "Ecioopi",
        "FI": "Finlandu",
        "FK": "Kalkan gungey",
        "FM": "Mikronezi",
        "FR": "Faransi",
        "GA": "Gaabon",
        "GB": "Albaasalaama Marganta",
        "GD": "Grenaada",
        "GE": "Gorgi",
        "GF": "Faransi Guyaan",
        "GH": "Gaana",
        "GL": "Grinland",
        "GM": "Gambi",
        "GN": "Gine",
        "GP": "Gwadeluup",
        "GQ": "Ginee Ekwatorial",
        "GT": "Gwatemaala",
        "GW": "Gine-Bisso",
        "GY": "Guyaane",
        "HR": "Krwaasi",
        "HU": "Hungaari",
        "ID": "Indoneezi",
        "IE": "Irlandu",
        "IL": "Israyel",
        "IN": "Indu laboo",
        "IO": "Britiši Indu teekoo laama",
        "IQ": "Iraak",
        "IR": "Iraan",
        "IS": "Ayceland",
        "IT": "Itaali",
        "JM": "Jamaayik",
        "JO": "Urdun",
        "JP": "Jaapoŋ",
        "KE": "Keeniya",
        "KH": "Kamboogi",
        "KI": "Kiribaati",
        "KM": "Komoor",
        "KN": "Seŋ Kitts nda Nevis",
        "KP": "Kooree, Gurma",
        "KR": "Kooree, Hawsa",
        "KW": "Kuweet",
        "KY": "Kayman gungey",
        "KZ": "Kaazakstan",
        "LA": "Laawos",
        "LB": "Lubnaan",
        "LC": "Seŋ Lussia",
        "LK": "Srilanka",
        "LS": "Leesoto",
        "LT": "Lituaani",
        "LV": "Letooni",
        "LY": "Liibi",
        "MA": "Maarok",
        "MC": "Monako",
        "MD": "Moldovi",
        "MH": "Maršal gungey",
        "MK": "Maacedooni",
        "ML": "Maali",
        "MM": "Maynamar",
        "MN": "Mongooli",
        "MP": "Mariana Gurma Gungey",
        "MQ": "Martiniiki",
        "MR": "Mooritaani",
        "MU": "Mooris gungey",
        "MV": "Maldiivu",
        "MW": "Malaawi",
        "MX": "Mexiki",
        "MY": "Maleezi",
        "MZ": "Mozambik",
        "NA": "Naamibi",
        "NC": "Kaaledooni Taagaa",
        "NE": "Nižer",
        "NF": "Norfolk Gungoo",
        "NG": "Naajiriia",
        "NI": "Nikaragwa",
        "NL": "Hollandu",
        "NO": "Norveej",
        "NP": "Neepal",
        "NZ": "Zeelandu Taaga",
        "OM": "Omaan",
        "PE": "Peeru",
        "PF": "Faransi Polineezi",
        "PG": "Papua Ginee Taaga",
        "PH": "Filipine",
        "PK": "Paakistan",
        "PL": "Poloɲe",
        "PM": "Seŋ Piyer nda Mikelon",
        "PN": "Pitikarin",
        "PR": "Porto Riko",
        "PS": "Palestine Dangay nda Gaaza",
        "PT": "Portugaal",
        "PW": "Palu",
        "PY": "Paraguwey",
        "QA": "Kataar",
        "RE": "Reenioŋ",
        "RO": "Rumaani",
        "RU": "Iriši laboo",
        "SA": "Saudiya",
        "SB": "Solomon Gungey",
        "SC": "Seešel",
        "SD": "Suudaŋ",
        "SE": "Sweede",
        "SG": "Singapur",
        "SH": "Seŋ Helena",
        "SI": "Sloveeni",
        "SK": "Slovaaki",
        "SL": "Seera Leon",
        "SO": "Somaali",
        "SR": "Surinaam",
        "ST": "Sao Tome nda Prinsipe",
        "SV": "Salvador laboo",
        "SY": "Suuria",
        "TC": "Turk nda Kayikos Gungey",
        "TD": "Caadu",
        "TH": "Taayiland",
        "TJ": "Taažikistan",
        "TL": "Timoor hawsa",
        "TM": "Turkmenistaŋ",
        "TN": "Tunizi",
        "TR": "Turki",
        "TT": "Trinidad nda Tobaago",
        "TW": "Taayiwan",
        "TZ": "Tanzaani",
        "UA": "Ukreen",
        "US": "Ameriki Laabu Margantey",
        "UY": "Uruguwey",
        "UZ": "Uzbeekistan",
        "VA": "Vaatikan Laama",
        "VC": "Seŋvinsaŋ nda Grenadine",
        "VE": "Veneezuyeela",
        "VG": "Britiši Virgin gungey",
        "VI": "Ameerik Virgin Gungey",
        "VN": "Vietnaam",
        "VU": "Vanautu",
        "WF": "Wallis nda Futuna",
        "YE": "Yaman",
        "YT": "Mayooti",
        "ZA": "Hawsa Afriki Laboo",
        "ZM": "Zambi"
    };
  }-*/;
}
