from enum import Enum


class CountryCodes(Enum):
    Aland_Islands = "AX"
    Albania = "AL"
    Algeria = "DZ"
    American_Samoa = "AS"
    Andorra = "AD"
    Angola = "AO"
    Anguilla = "AI"
    Antarctica = "AQ"
    Antigua_and_Barbuda = "AG"
    Argentina = "AR"
    Armenia = "AM"
    Aruba = "AW"
    Australia = "AU"
    Austria = "AT"
    Azerbaijan = "AZ"
    Bahamas = "BS"
    Bahrain = "BH"
    Bangladesh = "BD"
    Barbados = "BB"
    Belarus = "BY"
    Belgium = "BE"
    Belize = "BZ"
    Benin = "BJ"
    Bermuda = "BM"
    Bhutan = "BT"
    Bolivia = "BO"
    Bonaire_Sint_Eustatius_and_Saba = "BQ"
    Bosnia_and_Herzegovina = "BA"
    Botswana = "BW"
    Bouvet_Island = "BV"
    Brazil = "BR"
    British_Indian_Ocean_Territory = "IO"
    Brunei_Darussalam = "BN"
    Bulgaria = "BG"
    Burkina_Faso = "BF"
    Burundi = "BI"
    Cambodia = "KH"
    Cameroon = "CM"
    Canada = "CA"
    Cape_Verde = "CV"
    Cayman_Islands = "KY"
    Central_African_Republic = "CF"
    Chad = "TD"
    Chile = "CL"
    China = "CN"
    Christmas_Island = "CX"
    Cocos_Keeling_Islands = "CC"
    Colombia = "CO"
    Comoros = "KM"
    Congo = "CG"
    Congo_The_Democratic_Republic_of = "CD"
    Cook_Islands = "CK"
    Costa_Rica = "CR"
    IvoryCoast = "CI"
    Croatia = "HR"
    Cuba = "CU"
    Curaçao = "CW"
    Cyprus = "CY"
    Czechia = "CZ"
    Denmark = "DK"
    Djibouti = "DJ"
    Dominica = "DM"
    Dominican_Republic = "DO"
    Ecuador = "EC"
    Egypt = "EG"
    El_Salvador = "SV"
    Equatorial_Guinea = "GQ"
    Eritrea = "ER"
    Estonia = "EE"
    Ethiopia = "ET"
    Falkland_Islands_Malvinas = "FK"
    Faroe_Islands = "FO"
    Fiji = "FJ"
    Finland = "FI"
    France = "FR"
    French_Guiana = "GF"
    French_Polynesia = "PF"
    French_Southern_Territories = "TF"
    Gabon = "GA"
    Gambia = "GM"
    Georgia = "GE"
    Germany = "DE"
    Ghana = "GH"
    Gibraltar = "GI"
    Greece = "GR"
    Greenland = "GL"
    Grenada = "GD"
    Guadeloupe = "GP"
    Guam = "GU"
    Guatemala = "GT"
    Guernsey = "GG"
    Guinea = "GN"
    Guinea_Bissau = "GW"
    Guyana = "GY"
    Haiti = "HT"
    Heard_and_Mc_Donald_Islands = "HM"
    Holy_See_Vatican_City_State = "VA"
    Honduras = "HN"
    Hong_Kong = "HK"
    Hungary = "HU"
    Iceland = "IS"
    India = "IN"
    Indonesia = "ID"
    Iran_Islamic_Republic_of = "IR"
    Iraq = "IQ"
    Ireland = "IE"
    Isle_of_Man = "IM"
    Israel = "IL"
    Italy = "IT"
    Jamaica = "JM"
    Japan = "JP"
    Jersey = "JE"
    Jordan = "JO"
    Kazakstan = "KZ"
    Kenya = "KE"
    Kiribati = "KI"
    Korea_Democratic_Peoples_Republic_of = "KP"
    Korea_Republic_of = "KR"
    Kosovo = "XK"
    Kuwait = "KW"
    Kyrgyzstan = "KG"
    Lao_Peoples_Democratic_Republic = "LA"
    Latvia = "LV"
    Lebanon = "LB"
    Lesotho = "LS"
    Liberia = "LR"
    Libyan_Arab_Jamahiriya = "LY"
    Liechtenstein = "LI"
    Lithuania = "LT"
    Luxembourg = "LU"
    Macao = "MO"
    Macedonia_The_Former_Yugoslav_Republic_Of = "MK"
    Madagascar = "MG"
    Malawi = "MW"
    Malaysia = "MY"
    Maldives = "MV"
    Mali = "ML"
    Malta = "MT"
    Marshall_Islands = "MH"
    Martinique = "MQ"
    Mauritania = "MR"
    Mauritius = "MU"
    Mayotte = "YT"
    Mexico = "MX"
    Micronesia_Federated_States_of = "FM"
    Moldova_Republic_of = "MD"
    Monaco = "MC"
    Mongolia = "MN"
    Montenegro = "ME"
    Montserrat = "MS"
    Morocco = "MA"
    Mozambique = "MZ"
    Myanmar = "MM"
    Namibia = "NA"
    Nauru = "NR"
    Nepal = "NP"
    Netherlands = "NL"
    Netherlands_Antilles = "AN"
    New_Caledonia = "NC"
    New_Zealand = "NZ"
    Nicaragua = "NI"
    Niger = "NE"
    Nigeria = "NG"
    Niue = "NU"
    Norfolk_Island = "NF"
    Northern_Mariana_Islands = "MP"
    Norway = "NO"
    Oman = "OM"
    Pakistan = "PK"
    Palau = "PW"
    Palestinian_Territory_Occupied = "PS"
    Panama = "PA"
    Papua_New_Guinea = "PG"
    Paraguay = "PY"
    Peru = "PE"
    Philippines = "PH"
    Pitcairn = "PN"
    Poland = "PL"
    Portugal = "PT"
    Puerto_Rico = "PR"
    Qatar = "QA"
    Republic_of_Serbia = "RS"
    Reunion = "RE"
    Romania = "RO"
    Russia_Federation = "RU"
    Rwanda = "RW"
    Saint_Barthélemy = "BL"
    Saint_Helena = "SH"
    Saint_Kitts_and_Nevis = "KN"
    Saint_Lucia = "LC"
    Saint_Martin = "MF"
    Saint_Pierre_and_Miquelon = "PM"
    Saint_Vincent_and_the_Grenadines = "VC"
    Samoa = "WS"
    San_Marino = "SM"
    Sao_Tome_and_Principe = "ST"
    Saudi_Arabia = "SA"
    Senegal = "SN"
    Serbia_and_Montenegro = "CS"
    Seychelles = "SC"
    Sierra_Leone = "SL"
    Singapore = "SG"
    Sint_Maarten = "SX"
    Slovakia = "SK"
    Slovenia = "SI"
    Solomon_Islands = "SB"
    Somalia = "SO"
    South_Africa = "ZA"
    South_Georgia_and_The_South_Sandwich_Islands = "GS"
    South_Sudan = "SS"
    Spain = "ES"
    Sri_Lanka = "LK"
    Sudan = "SD"
    Suriname = "SR"
    Svalbard_and_Jan_Mayen = "SJ"
    Swaziland = "SZ"
    Sweden = "SE"
    Switzerland = "CH"
    Syrian_Arab_Republic = "SY"
    Taiwan_Province_of_China = "TW"
    Tajikistan = "TJ"
    Tanzania_United_Republic_of = "TZ"
    Thailand = "TH"
    Timor_Leste = "TL"
    Togo = "TG"
    Tokelau = "TK"
    Tonga = "TO"
    Trinidad_and_Tobago = "TT"
    Tunisia = "TN"
    Turkey = "TR"
    Turkish_Rep_N_Cyprus = "XT"
    Turkmenistan = "TM"
    Turks_and_Caicos_Islands = "TC"
    Tuvalu = "TV"
    Uganda = "UG"
    Ukraine = "UA"
    United_Arab_Emirates = "AE"
    United_Kingdom = "GB"
    United_States = "US"
    United_States_Minor_Outlying_Islands = "UM"
    Uruguay = "UY"
    Uzbekistan = "UZ"
    Vanuatu = "VU"
    Venezuela = "VE"
    Vietnam = "VN"
    Virgin_Islands_British = "VG"
    Virgin_Islands_US = "VI"
    Wallis_and_Futuna = "WF"
    Western_Sahara = "EH"
    Yemen = "YE"
    Zambia = "ZM"
    Zimbabwe = "ZW"


def create(value: str) -> CountryCodes:
    for country in CountryCodes:
        if country.value == value:
            return country
