isocountry-0.3.2/.cargo_vcs_info.json0000644000000001121376423444500133200ustar { "git": { "sha1": "f23ea4d9b858d77e39828641ac94d932522b0972" } } isocountry-0.3.2/.gitignore000064400000000000000000000000501376422043400140500ustar 00000000000000.idea /target **/*.rs.bk Cargo.lock isocountry-0.3.2/Cargo.toml0000644000000020301376423444500113170ustar # THIS FILE IS AUTOMATICALLY GENERATED BY CARGO # # When uploading crates to the registry Cargo will automatically # "normalize" Cargo.toml files for maximal compatibility # with all versions of Cargo and also rewrite `path` dependencies # to registry (e.g., crates.io) dependencies # # If you believe there's an error in this file please file an # issue against the rust-lang/cargo repository. If you're # editing this file be aware that the upstream Cargo.toml # will likely look very different (and much more reasonable) [package] edition = "2018" name = "isocountry" version = "0.3.2" authors = ["Bree (formerly Brett) "] description = "ISO 3166-1 enumeration for Rust" homepage = "https://github.com/sifton/isocountry-rs" documentation = "http://docs.rs/isocountry" readme = "Readme.md" keywords = ["iso3166", "iso3166-1", "country", "countrycode", "region"] license = "MIT" repository = "https://github.com/sifton/isocountry-rs.git" [dependencies.serde] version = "1" [dependencies.thiserror] version = "1" isocountry-0.3.2/Cargo.toml.orig000064400000000000000000000007741376423436000147670ustar 00000000000000[package] name = "isocountry" version = "0.3.2" authors = ["Bree (formerly Brett) "] description = "ISO 3166-1 enumeration for Rust" documentation = "http://docs.rs/isocountry" homepage = "https://github.com/sifton/isocountry-rs" license = "MIT" keywords = ["iso3166", "iso3166-1", "country", "countrycode", "region"] readme = "Readme.md" repository = "https://github.com/sifton/isocountry-rs.git" edition = "2018" [dependencies] thiserror = "1" serde = "1" isocountry-0.3.2/LICENSE000064400000000000000000000021031376422043400130660ustar 00000000000000MIT License Copyright (c) 2018 Brett Russell Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. isocountry-0.3.2/Readme.md000064400000000000000000000006521376422043400136070ustar 00000000000000# isocountry-rs Provides an enumeration, `CountryCode`, of all [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1)-defined countries. Each `CountryCode` can be converted to and from its `alpha-2` and `alpha-3` representations, as well as its numeric code. Further, the English names of each `CountryCode`, as defined by ISO 3166-1, can also be obtained. `isocountry-rs` follows the `stable` release of Rust. isocountry-0.3.2/src/alpha2.rs000064400000000000000000000235641376422124100144000ustar 00000000000000// MIT License // //Copyright (c) 2018 Brett Russell // //Permission is hereby granted, free of charge, to any person obtaining a copy //of this software and associated documentation files (the "Software"), to deal //in the Software without restriction, including without limitation the rights //to use, copy, modify, merge, publish, distribute, sublicense, and/or sell //copies of the Software, and to permit persons to whom the Software is //furnished to do so, subject to the following conditions: // //The above copyright notice and this permission notice shall be included in all //copies or substantial portions of the Software. // //THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR //IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, //FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE //AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER //LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, //OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE //SOFTWARE. pub const ISO_A2_AFG: &str = "AF"; pub const ISO_A2_ALA: &str = "AX"; pub const ISO_A2_ALB: &str = "AL"; pub const ISO_A2_DZA: &str = "DZ"; pub const ISO_A2_ASM: &str = "AS"; pub const ISO_A2_AND: &str = "AD"; pub const ISO_A2_AGO: &str = "AO"; pub const ISO_A2_AIA: &str = "AI"; pub const ISO_A2_ATA: &str = "AQ"; pub const ISO_A2_ATG: &str = "AG"; pub const ISO_A2_ARG: &str = "AR"; pub const ISO_A2_ARM: &str = "AM"; pub const ISO_A2_ABW: &str = "AW"; pub const ISO_A2_AUS: &str = "AU"; pub const ISO_A2_AUT: &str = "AT"; pub const ISO_A2_AZE: &str = "AZ"; pub const ISO_A2_BHS: &str = "BS"; pub const ISO_A2_BHR: &str = "BH"; pub const ISO_A2_BGD: &str = "BD"; pub const ISO_A2_BRB: &str = "BB"; pub const ISO_A2_BLR: &str = "BY"; pub const ISO_A2_BEL: &str = "BE"; pub const ISO_A2_BLZ: &str = "BZ"; pub const ISO_A2_BEN: &str = "BJ"; pub const ISO_A2_BMU: &str = "BM"; pub const ISO_A2_BTN: &str = "BT"; pub const ISO_A2_BOL: &str = "BO"; pub const ISO_A2_BES: &str = "BQ"; pub const ISO_A2_BIH: &str = "BA"; pub const ISO_A2_BWA: &str = "BW"; pub const ISO_A2_BVT: &str = "BV"; pub const ISO_A2_BRA: &str = "BR"; pub const ISO_A2_IOT: &str = "IO"; pub const ISO_A2_BRN: &str = "BN"; pub const ISO_A2_BGR: &str = "BG"; pub const ISO_A2_BFA: &str = "BF"; pub const ISO_A2_BDI: &str = "BI"; pub const ISO_A2_CPV: &str = "CV"; pub const ISO_A2_KHM: &str = "KH"; pub const ISO_A2_CMR: &str = "CM"; pub const ISO_A2_CAN: &str = "CA"; pub const ISO_A2_CYM: &str = "KY"; pub const ISO_A2_CAF: &str = "CF"; pub const ISO_A2_TCD: &str = "TD"; pub const ISO_A2_CHL: &str = "CL"; pub const ISO_A2_CHN: &str = "CN"; pub const ISO_A2_CXR: &str = "CX"; pub const ISO_A2_CCK: &str = "CC"; pub const ISO_A2_COL: &str = "CO"; pub const ISO_A2_COM: &str = "KM"; pub const ISO_A2_COG: &str = "CG"; pub const ISO_A2_COD: &str = "CD"; pub const ISO_A2_COK: &str = "CK"; pub const ISO_A2_CRI: &str = "CR"; pub const ISO_A2_CIV: &str = "CI"; pub const ISO_A2_HRV: &str = "HR"; pub const ISO_A2_CUB: &str = "CU"; pub const ISO_A2_CUW: &str = "CW"; pub const ISO_A2_CYP: &str = "CY"; pub const ISO_A2_CZE: &str = "CZ"; pub const ISO_A2_DNK: &str = "DK"; pub const ISO_A2_DJI: &str = "DJ"; pub const ISO_A2_DMA: &str = "DM"; pub const ISO_A2_DOM: &str = "DO"; pub const ISO_A2_ECU: &str = "EC"; pub const ISO_A2_EGY: &str = "EG"; pub const ISO_A2_SLV: &str = "SV"; pub const ISO_A2_GNQ: &str = "GQ"; pub const ISO_A2_ERI: &str = "ER"; pub const ISO_A2_EST: &str = "EE"; pub const ISO_A2_ETH: &str = "ET"; pub const ISO_A2_FLK: &str = "FK"; pub const ISO_A2_FRO: &str = "FO"; pub const ISO_A2_FJI: &str = "FJ"; pub const ISO_A2_FIN: &str = "FI"; pub const ISO_A2_FRA: &str = "FR"; pub const ISO_A2_GUF: &str = "GF"; pub const ISO_A2_PYF: &str = "PF"; pub const ISO_A2_ATF: &str = "TF"; pub const ISO_A2_GAB: &str = "GA"; pub const ISO_A2_GMB: &str = "GM"; pub const ISO_A2_GEO: &str = "GE"; pub const ISO_A2_DEU: &str = "DE"; pub const ISO_A2_GHA: &str = "GH"; pub const ISO_A2_GIB: &str = "GI"; pub const ISO_A2_GRC: &str = "GR"; pub const ISO_A2_GRL: &str = "GL"; pub const ISO_A2_GRD: &str = "GD"; pub const ISO_A2_GLP: &str = "GP"; pub const ISO_A2_GUM: &str = "GU"; pub const ISO_A2_GTM: &str = "GT"; pub const ISO_A2_GGY: &str = "GG"; pub const ISO_A2_GIN: &str = "GN"; pub const ISO_A2_GNB: &str = "GW"; pub const ISO_A2_GUY: &str = "GY"; pub const ISO_A2_HTI: &str = "HT"; pub const ISO_A2_HMD: &str = "HM"; pub const ISO_A2_VAT: &str = "VA"; pub const ISO_A2_HND: &str = "HN"; pub const ISO_A2_HKG: &str = "HK"; pub const ISO_A2_HUN: &str = "HU"; pub const ISO_A2_ISL: &str = "IS"; pub const ISO_A2_IND: &str = "IN"; pub const ISO_A2_IDN: &str = "ID"; pub const ISO_A2_IRN: &str = "IR"; pub const ISO_A2_IRQ: &str = "IQ"; pub const ISO_A2_IRL: &str = "IE"; pub const ISO_A2_IMN: &str = "IM"; pub const ISO_A2_ISR: &str = "IL"; pub const ISO_A2_ITA: &str = "IT"; pub const ISO_A2_JAM: &str = "JM"; pub const ISO_A2_JPN: &str = "JP"; pub const ISO_A2_JEY: &str = "JE"; pub const ISO_A2_JOR: &str = "JO"; pub const ISO_A2_KAZ: &str = "KZ"; pub const ISO_A2_KEN: &str = "KE"; pub const ISO_A2_KIR: &str = "KI"; pub const ISO_A2_PRK: &str = "KP"; pub const ISO_A2_KOR: &str = "KR"; pub const ISO_A2_KWT: &str = "KW"; pub const ISO_A2_KGZ: &str = "KG"; pub const ISO_A2_LAO: &str = "LA"; pub const ISO_A2_LVA: &str = "LV"; pub const ISO_A2_LBN: &str = "LB"; pub const ISO_A2_LSO: &str = "LS"; pub const ISO_A2_LBR: &str = "LR"; pub const ISO_A2_LBY: &str = "LY"; pub const ISO_A2_LIE: &str = "LI"; pub const ISO_A2_LTU: &str = "LT"; pub const ISO_A2_LUX: &str = "LU"; pub const ISO_A2_MAC: &str = "MO"; pub const ISO_A2_MKD: &str = "MK"; pub const ISO_A2_MDG: &str = "MG"; pub const ISO_A2_MWI: &str = "MW"; pub const ISO_A2_MYS: &str = "MY"; pub const ISO_A2_MDV: &str = "MV"; pub const ISO_A2_MLI: &str = "ML"; pub const ISO_A2_MLT: &str = "MT"; pub const ISO_A2_MHL: &str = "MH"; pub const ISO_A2_MTQ: &str = "MQ"; pub const ISO_A2_MRT: &str = "MR"; pub const ISO_A2_MUS: &str = "MU"; pub const ISO_A2_MYT: &str = "YT"; pub const ISO_A2_MEX: &str = "MX"; pub const ISO_A2_FSM: &str = "FM"; pub const ISO_A2_MDA: &str = "MD"; pub const ISO_A2_MCO: &str = "MC"; pub const ISO_A2_MNG: &str = "MN"; pub const ISO_A2_MNE: &str = "ME"; pub const ISO_A2_MSR: &str = "MS"; pub const ISO_A2_MAR: &str = "MA"; pub const ISO_A2_MOZ: &str = "MZ"; pub const ISO_A2_MMR: &str = "MM"; pub const ISO_A2_NAM: &str = "NA"; pub const ISO_A2_NRU: &str = "NR"; pub const ISO_A2_NPL: &str = "NP"; pub const ISO_A2_NLD: &str = "NL"; pub const ISO_A2_NCL: &str = "NC"; pub const ISO_A2_NZL: &str = "NZ"; pub const ISO_A2_NIC: &str = "NI"; pub const ISO_A2_NER: &str = "NE"; pub const ISO_A2_NGA: &str = "NG"; pub const ISO_A2_NIU: &str = "NU"; pub const ISO_A2_NFK: &str = "NF"; pub const ISO_A2_MNP: &str = "MP"; pub const ISO_A2_NOR: &str = "NO"; pub const ISO_A2_OMN: &str = "OM"; pub const ISO_A2_PAK: &str = "PK"; pub const ISO_A2_PLW: &str = "PW"; pub const ISO_A2_PSE: &str = "PS"; pub const ISO_A2_PAN: &str = "PA"; pub const ISO_A2_PNG: &str = "PG"; pub const ISO_A2_PRY: &str = "PY"; pub const ISO_A2_PER: &str = "PE"; pub const ISO_A2_PHL: &str = "PH"; pub const ISO_A2_PCN: &str = "PN"; pub const ISO_A2_POL: &str = "PL"; pub const ISO_A2_PRT: &str = "PT"; pub const ISO_A2_PRI: &str = "PR"; pub const ISO_A2_QAT: &str = "QA"; pub const ISO_A2_REU: &str = "RE"; pub const ISO_A2_ROU: &str = "RO"; pub const ISO_A2_RUS: &str = "RU"; pub const ISO_A2_RWA: &str = "RW"; pub const ISO_A2_BLM: &str = "BL"; pub const ISO_A2_SHN: &str = "SH"; pub const ISO_A2_KNA: &str = "KN"; pub const ISO_A2_LCA: &str = "LC"; pub const ISO_A2_MAF: &str = "MF"; pub const ISO_A2_SPM: &str = "PM"; pub const ISO_A2_VCT: &str = "VC"; pub const ISO_A2_WSM: &str = "WS"; pub const ISO_A2_SMR: &str = "SM"; pub const ISO_A2_STP: &str = "ST"; pub const ISO_A2_SAU: &str = "SA"; pub const ISO_A2_SEN: &str = "SN"; pub const ISO_A2_SRB: &str = "RS"; pub const ISO_A2_SYC: &str = "SC"; pub const ISO_A2_SLE: &str = "SL"; pub const ISO_A2_SGP: &str = "SG"; pub const ISO_A2_SXM: &str = "SX"; pub const ISO_A2_SVK: &str = "SK"; pub const ISO_A2_SVN: &str = "SI"; pub const ISO_A2_SLB: &str = "SB"; pub const ISO_A2_SOM: &str = "SO"; pub const ISO_A2_ZAF: &str = "ZA"; pub const ISO_A2_SGS: &str = "GS"; pub const ISO_A2_SSD: &str = "SS"; pub const ISO_A2_ESP: &str = "ES"; pub const ISO_A2_LKA: &str = "LK"; pub const ISO_A2_SDN: &str = "SD"; pub const ISO_A2_SUR: &str = "SR"; pub const ISO_A2_SJM: &str = "SJ"; pub const ISO_A2_SWZ: &str = "SZ"; pub const ISO_A2_SWE: &str = "SE"; pub const ISO_A2_CHE: &str = "CH"; pub const ISO_A2_SYR: &str = "SY"; pub const ISO_A2_TWN: &str = "TW"; pub const ISO_A2_TJK: &str = "TJ"; pub const ISO_A2_TZA: &str = "TZ"; pub const ISO_A2_THA: &str = "TH"; pub const ISO_A2_TLS: &str = "TL"; pub const ISO_A2_TGO: &str = "TG"; pub const ISO_A2_TKL: &str = "TK"; pub const ISO_A2_TON: &str = "TO"; pub const ISO_A2_TTO: &str = "TT"; pub const ISO_A2_TUN: &str = "TN"; pub const ISO_A2_TUR: &str = "TR"; pub const ISO_A2_TKM: &str = "TM"; pub const ISO_A2_TCA: &str = "TC"; pub const ISO_A2_TUV: &str = "TV"; pub const ISO_A2_UGA: &str = "UG"; pub const ISO_A2_UKR: &str = "UA"; pub const ISO_A2_ARE: &str = "AE"; pub const ISO_A2_GBR: &str = "GB"; pub const ISO_A2_USA: &str = "US"; pub const ISO_A2_UMI: &str = "UM"; pub const ISO_A2_URY: &str = "UY"; pub const ISO_A2_UZB: &str = "UZ"; pub const ISO_A2_VUT: &str = "VU"; pub const ISO_A2_VEN: &str = "VE"; pub const ISO_A2_VNM: &str = "VN"; pub const ISO_A2_VGB: &str = "VG"; pub const ISO_A2_VIR: &str = "VI"; pub const ISO_A2_WLF: &str = "WF"; pub const ISO_A2_ESH: &str = "EH"; pub const ISO_A2_YEM: &str = "YE"; pub const ISO_A2_ZMB: &str = "ZM"; pub const ISO_A2_ZWE: &str = "ZW"; isocountry-0.3.2/src/alpha3.rs000064400000000000000000000241551376422124100143760ustar 00000000000000// MIT License // //Copyright (c) 2018 Brett Russell // //Permission is hereby granted, free of charge, to any person obtaining a copy //of this software and associated documentation files (the "Software"), to deal //in the Software without restriction, including without limitation the rights //to use, copy, modify, merge, publish, distribute, sublicense, and/or sell //copies of the Software, and to permit persons to whom the Software is //furnished to do so, subject to the following conditions: // //The above copyright notice and this permission notice shall be included in all //copies or substantial portions of the Software. // //THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR //IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, //FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE //AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER //LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, //OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE //SOFTWARE. pub const ISO_A3_AFG: &str = "AFG"; pub const ISO_A3_ALA: &str = "ALA"; pub const ISO_A3_ALB: &str = "ALB"; pub const ISO_A3_DZA: &str = "DZA"; pub const ISO_A3_ASM: &str = "ASM"; pub const ISO_A3_AND: &str = "AND"; pub const ISO_A3_AGO: &str = "AGO"; pub const ISO_A3_AIA: &str = "AIA"; pub const ISO_A3_ATA: &str = "ATA"; pub const ISO_A3_ATG: &str = "ATG"; pub const ISO_A3_ARG: &str = "ARG"; pub const ISO_A3_ARM: &str = "ARM"; pub const ISO_A3_ABW: &str = "ABW"; pub const ISO_A3_AUS: &str = "AUS"; pub const ISO_A3_AUT: &str = "AUT"; pub const ISO_A3_AZE: &str = "AZE"; pub const ISO_A3_BHS: &str = "BHS"; pub const ISO_A3_BHR: &str = "BHR"; pub const ISO_A3_BGD: &str = "BGD"; pub const ISO_A3_BRB: &str = "BRB"; pub const ISO_A3_BLR: &str = "BLR"; pub const ISO_A3_BEL: &str = "BEL"; pub const ISO_A3_BLZ: &str = "BLZ"; pub const ISO_A3_BEN: &str = "BEN"; pub const ISO_A3_BMU: &str = "BMU"; pub const ISO_A3_BTN: &str = "BTN"; pub const ISO_A3_BOL: &str = "BOL"; pub const ISO_A3_BES: &str = "BES"; pub const ISO_A3_BIH: &str = "BIH"; pub const ISO_A3_BWA: &str = "BWA"; pub const ISO_A3_BVT: &str = "BVT"; pub const ISO_A3_BRA: &str = "BRA"; pub const ISO_A3_IOT: &str = "IOT"; pub const ISO_A3_BRN: &str = "BRN"; pub const ISO_A3_BGR: &str = "BGR"; pub const ISO_A3_BFA: &str = "BFA"; pub const ISO_A3_BDI: &str = "BDI"; pub const ISO_A3_CPV: &str = "CPV"; pub const ISO_A3_KHM: &str = "KHM"; pub const ISO_A3_CMR: &str = "CMR"; pub const ISO_A3_CAN: &str = "CAN"; pub const ISO_A3_CYM: &str = "CYM"; pub const ISO_A3_CAF: &str = "CAF"; pub const ISO_A3_TCD: &str = "TCD"; pub const ISO_A3_CHL: &str = "CHL"; pub const ISO_A3_CHN: &str = "CHN"; pub const ISO_A3_CXR: &str = "CXR"; pub const ISO_A3_CCK: &str = "CCK"; pub const ISO_A3_COL: &str = "COL"; pub const ISO_A3_COM: &str = "COM"; pub const ISO_A3_COG: &str = "COG"; pub const ISO_A3_COD: &str = "COD"; pub const ISO_A3_COK: &str = "COK"; pub const ISO_A3_CRI: &str = "CRI"; pub const ISO_A3_CIV: &str = "CIV"; pub const ISO_A3_HRV: &str = "HRV"; pub const ISO_A3_CUB: &str = "CUB"; pub const ISO_A3_CUW: &str = "CUW"; pub const ISO_A3_CYP: &str = "CYP"; pub const ISO_A3_CZE: &str = "CZE"; pub const ISO_A3_DNK: &str = "DNK"; pub const ISO_A3_DJI: &str = "DJI"; pub const ISO_A3_DMA: &str = "DMA"; pub const ISO_A3_DOM: &str = "DOM"; pub const ISO_A3_ECU: &str = "ECU"; pub const ISO_A3_EGY: &str = "EGY"; pub const ISO_A3_SLV: &str = "SLV"; pub const ISO_A3_GNQ: &str = "GNQ"; pub const ISO_A3_ERI: &str = "ERI"; pub const ISO_A3_EST: &str = "EST"; pub const ISO_A3_ETH: &str = "ETH"; pub const ISO_A3_FLK: &str = "FLK"; pub const ISO_A3_FRO: &str = "FRO"; pub const ISO_A3_FJI: &str = "FJI"; pub const ISO_A3_FIN: &str = "FIN"; pub const ISO_A3_FRA: &str = "FRA"; pub const ISO_A3_GUF: &str = "GUF"; pub const ISO_A3_PYF: &str = "PYF"; pub const ISO_A3_ATF: &str = "ATF"; pub const ISO_A3_GAB: &str = "GAB"; pub const ISO_A3_GMB: &str = "GMB"; pub const ISO_A3_GEO: &str = "GEO"; pub const ISO_A3_DEU: &str = "DEU"; pub const ISO_A3_GHA: &str = "GHA"; pub const ISO_A3_GIB: &str = "GIB"; pub const ISO_A3_GRC: &str = "GRC"; pub const ISO_A3_GRL: &str = "GRL"; pub const ISO_A3_GRD: &str = "GRD"; pub const ISO_A3_GLP: &str = "GLP"; pub const ISO_A3_GUM: &str = "GUM"; pub const ISO_A3_GTM: &str = "GTM"; pub const ISO_A3_GGY: &str = "GGY"; pub const ISO_A3_GIN: &str = "GIN"; pub const ISO_A3_GNB: &str = "GNB"; pub const ISO_A3_GUY: &str = "GUY"; pub const ISO_A3_HTI: &str = "HTI"; pub const ISO_A3_HMD: &str = "HMD"; pub const ISO_A3_VAT: &str = "VAT"; pub const ISO_A3_HND: &str = "HND"; pub const ISO_A3_HKG: &str = "HKG"; pub const ISO_A3_HUN: &str = "HUN"; pub const ISO_A3_ISL: &str = "ISL"; pub const ISO_A3_IND: &str = "IND"; pub const ISO_A3_IDN: &str = "IDN"; pub const ISO_A3_IRN: &str = "IRN"; pub const ISO_A3_IRQ: &str = "IRQ"; pub const ISO_A3_IRL: &str = "IRL"; pub const ISO_A3_IMN: &str = "IMN"; pub const ISO_A3_ISR: &str = "ISR"; pub const ISO_A3_ITA: &str = "ITA"; pub const ISO_A3_JAM: &str = "JAM"; pub const ISO_A3_JPN: &str = "JPN"; pub const ISO_A3_JEY: &str = "JEY"; pub const ISO_A3_JOR: &str = "JOR"; pub const ISO_A3_KAZ: &str = "KAZ"; pub const ISO_A3_KEN: &str = "KEN"; pub const ISO_A3_KIR: &str = "KIR"; pub const ISO_A3_PRK: &str = "PRK"; pub const ISO_A3_KOR: &str = "KOR"; pub const ISO_A3_KWT: &str = "KWT"; pub const ISO_A3_KGZ: &str = "KGZ"; pub const ISO_A3_LAO: &str = "LAO"; pub const ISO_A3_LVA: &str = "LVA"; pub const ISO_A3_LBN: &str = "LBN"; pub const ISO_A3_LSO: &str = "LSO"; pub const ISO_A3_LBR: &str = "LBR"; pub const ISO_A3_LBY: &str = "LBY"; pub const ISO_A3_LIE: &str = "LIE"; pub const ISO_A3_LTU: &str = "LTU"; pub const ISO_A3_LUX: &str = "LUX"; pub const ISO_A3_MAC: &str = "MAC"; pub const ISO_A3_MKD: &str = "MKD"; pub const ISO_A3_MDG: &str = "MDG"; pub const ISO_A3_MWI: &str = "MWI"; pub const ISO_A3_MYS: &str = "MYS"; pub const ISO_A3_MDV: &str = "MDV"; pub const ISO_A3_MLI: &str = "MLI"; pub const ISO_A3_MLT: &str = "MLT"; pub const ISO_A3_MHL: &str = "MHL"; pub const ISO_A3_MTQ: &str = "MTQ"; pub const ISO_A3_MRT: &str = "MRT"; pub const ISO_A3_MUS: &str = "MUS"; pub const ISO_A3_MYT: &str = "MYT"; pub const ISO_A3_MEX: &str = "MEX"; pub const ISO_A3_FSM: &str = "FSM"; pub const ISO_A3_MDA: &str = "MDA"; pub const ISO_A3_MCO: &str = "MCO"; pub const ISO_A3_MNG: &str = "MNG"; pub const ISO_A3_MNE: &str = "MNE"; pub const ISO_A3_MSR: &str = "MSR"; pub const ISO_A3_MAR: &str = "MAR"; pub const ISO_A3_MOZ: &str = "MOZ"; pub const ISO_A3_MMR: &str = "MMR"; pub const ISO_A3_NAM: &str = "NAM"; pub const ISO_A3_NRU: &str = "NRU"; pub const ISO_A3_NPL: &str = "NPL"; pub const ISO_A3_NLD: &str = "NLD"; pub const ISO_A3_NCL: &str = "NCL"; pub const ISO_A3_NZL: &str = "NZL"; pub const ISO_A3_NIC: &str = "NIC"; pub const ISO_A3_NER: &str = "NER"; pub const ISO_A3_NGA: &str = "NGA"; pub const ISO_A3_NIU: &str = "NIU"; pub const ISO_A3_NFK: &str = "NFK"; pub const ISO_A3_MNP: &str = "MNP"; pub const ISO_A3_NOR: &str = "NOR"; pub const ISO_A3_OMN: &str = "OMN"; pub const ISO_A3_PAK: &str = "PAK"; pub const ISO_A3_PLW: &str = "PLW"; pub const ISO_A3_PSE: &str = "PSE"; pub const ISO_A3_PAN: &str = "PAN"; pub const ISO_A3_PNG: &str = "PNG"; pub const ISO_A3_PRY: &str = "PRY"; pub const ISO_A3_PER: &str = "PER"; pub const ISO_A3_PHL: &str = "PHL"; pub const ISO_A3_PCN: &str = "PCN"; pub const ISO_A3_POL: &str = "POL"; pub const ISO_A3_PRT: &str = "PRT"; pub const ISO_A3_PRI: &str = "PRI"; pub const ISO_A3_QAT: &str = "QAT"; pub const ISO_A3_REU: &str = "REU"; pub const ISO_A3_ROU: &str = "ROU"; pub const ISO_A3_RUS: &str = "RUS"; pub const ISO_A3_RWA: &str = "RWA"; pub const ISO_A3_BLM: &str = "BLM"; pub const ISO_A3_SHN: &str = "SHN"; pub const ISO_A3_KNA: &str = "KNA"; pub const ISO_A3_LCA: &str = "LCA"; pub const ISO_A3_MAF: &str = "MAF"; pub const ISO_A3_SPM: &str = "SPM"; pub const ISO_A3_VCT: &str = "VCT"; pub const ISO_A3_WSM: &str = "WSM"; pub const ISO_A3_SMR: &str = "SMR"; pub const ISO_A3_STP: &str = "STP"; pub const ISO_A3_SAU: &str = "SAU"; pub const ISO_A3_SEN: &str = "SEN"; pub const ISO_A3_SRB: &str = "SRB"; pub const ISO_A3_SYC: &str = "SYC"; pub const ISO_A3_SLE: &str = "SLE"; pub const ISO_A3_SGP: &str = "SGP"; pub const ISO_A3_SXM: &str = "SXM"; pub const ISO_A3_SVK: &str = "SVK"; pub const ISO_A3_SVN: &str = "SVN"; pub const ISO_A3_SLB: &str = "SLB"; pub const ISO_A3_SOM: &str = "SOM"; pub const ISO_A3_ZAF: &str = "ZAF"; pub const ISO_A3_SGS: &str = "SGS"; pub const ISO_A3_SSD: &str = "SSD"; pub const ISO_A3_ESP: &str = "ESP"; pub const ISO_A3_LKA: &str = "LKA"; pub const ISO_A3_SDN: &str = "SDN"; pub const ISO_A3_SUR: &str = "SUR"; pub const ISO_A3_SJM: &str = "SJM"; pub const ISO_A3_SWZ: &str = "SWZ"; pub const ISO_A3_SWE: &str = "SWE"; pub const ISO_A3_CHE: &str = "CHE"; pub const ISO_A3_SYR: &str = "SYR"; pub const ISO_A3_TWN: &str = "TWN"; pub const ISO_A3_TJK: &str = "TJK"; pub const ISO_A3_TZA: &str = "TZA"; pub const ISO_A3_THA: &str = "THA"; pub const ISO_A3_TLS: &str = "TLS"; pub const ISO_A3_TGO: &str = "TGO"; pub const ISO_A3_TKL: &str = "TKL"; pub const ISO_A3_TON: &str = "TON"; pub const ISO_A3_TTO: &str = "TTO"; pub const ISO_A3_TUN: &str = "TUN"; pub const ISO_A3_TUR: &str = "TUR"; pub const ISO_A3_TKM: &str = "TKM"; pub const ISO_A3_TCA: &str = "TCA"; pub const ISO_A3_TUV: &str = "TUV"; pub const ISO_A3_UGA: &str = "UGA"; pub const ISO_A3_UKR: &str = "UKR"; pub const ISO_A3_ARE: &str = "ARE"; pub const ISO_A3_GBR: &str = "GBR"; pub const ISO_A3_USA: &str = "USA"; pub const ISO_A3_UMI: &str = "UMI"; pub const ISO_A3_URY: &str = "URY"; pub const ISO_A3_UZB: &str = "UZB"; pub const ISO_A3_VUT: &str = "VUT"; pub const ISO_A3_VEN: &str = "VEN"; pub const ISO_A3_VNM: &str = "VNM"; pub const ISO_A3_VGB: &str = "VGB"; pub const ISO_A3_VIR: &str = "VIR"; pub const ISO_A3_WLF: &str = "WLF"; pub const ISO_A3_ESH: &str = "ESH"; pub const ISO_A3_YEM: &str = "YEM"; pub const ISO_A3_ZMB: &str = "ZMB"; pub const ISO_A3_ZWE: &str = "ZWE"; isocountry-0.3.2/src/full.rs000064400000000000000000000312421376422124100141630ustar 00000000000000// MIT License // //Copyright (c) 2018 Brett Russell // //Permission is hereby granted, free of charge, to any person obtaining a copy //of this software and associated documentation files (the "Software"), to deal //in the Software without restriction, including without limitation the rights //to use, copy, modify, merge, publish, distribute, sublicense, and/or sell //copies of the Software, and to permit persons to whom the Software is //furnished to do so, subject to the following conditions: // //The above copyright notice and this permission notice shall be included in all //copies or substantial portions of the Software. // //THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR //IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, //FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE //AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER //LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, //OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE //SOFTWARE. pub const ISO_FULL_AFG: &str = "Afghanistan"; pub const ISO_FULL_ALA: &str = "Åland Islands"; pub const ISO_FULL_ALB: &str = "Albania"; pub const ISO_FULL_DZA: &str = "Algeria"; pub const ISO_FULL_ASM: &str = "American Samoa"; pub const ISO_FULL_AND: &str = "Andorra"; pub const ISO_FULL_AGO: &str = "Angola"; pub const ISO_FULL_AIA: &str = "Anguilla"; pub const ISO_FULL_ATA: &str = "Antarctica"; pub const ISO_FULL_ATG: &str = "Antigua and Barbuda"; pub const ISO_FULL_ARG: &str = "Argentina"; pub const ISO_FULL_ARM: &str = "Armenia"; pub const ISO_FULL_ABW: &str = "Aruba"; pub const ISO_FULL_AUS: &str = "Australia"; pub const ISO_FULL_AUT: &str = "Austria"; pub const ISO_FULL_AZE: &str = "Azerbaijan"; pub const ISO_FULL_BHS: &str = "Bahamas"; pub const ISO_FULL_BHR: &str = "Bahrain"; pub const ISO_FULL_BGD: &str = "Bangladesh"; pub const ISO_FULL_BRB: &str = "Barbados"; pub const ISO_FULL_BLR: &str = "Belarus"; pub const ISO_FULL_BEL: &str = "Belgium"; pub const ISO_FULL_BLZ: &str = "Belize"; pub const ISO_FULL_BEN: &str = "Benin"; pub const ISO_FULL_BMU: &str = "Bermuda"; pub const ISO_FULL_BTN: &str = "Bhutan"; pub const ISO_FULL_BOL: &str = "Bolivia (Plurinational State of)"; pub const ISO_FULL_BES: &str = "Bonaire, Sint Eustatius and Saba"; pub const ISO_FULL_BIH: &str = "Bosnia and Herzegovina"; pub const ISO_FULL_BWA: &str = "Botswana"; pub const ISO_FULL_BVT: &str = "Bouvet Island"; pub const ISO_FULL_BRA: &str = "Brazil"; pub const ISO_FULL_IOT: &str = "British Indian Ocean Territory"; pub const ISO_FULL_BRN: &str = "Brunei Darussalam"; pub const ISO_FULL_BGR: &str = "Bulgaria"; pub const ISO_FULL_BFA: &str = "Burkina Faso"; pub const ISO_FULL_BDI: &str = "Burundi"; pub const ISO_FULL_CPV: &str = "Cabo Verde"; pub const ISO_FULL_KHM: &str = "Cambodia"; pub const ISO_FULL_CMR: &str = "Cameroon"; pub const ISO_FULL_CAN: &str = "Canada"; pub const ISO_FULL_CYM: &str = "Cayman Islands"; pub const ISO_FULL_CAF: &str = "Central African Republic"; pub const ISO_FULL_TCD: &str = "Chad"; pub const ISO_FULL_CHL: &str = "Chile"; pub const ISO_FULL_CHN: &str = "China"; pub const ISO_FULL_CXR: &str = "Christmas Island"; pub const ISO_FULL_CCK: &str = "Cocos (Keeling) Islands"; pub const ISO_FULL_COL: &str = "Colombia"; pub const ISO_FULL_COM: &str = "Comoros"; pub const ISO_FULL_COG: &str = "Congo"; pub const ISO_FULL_COD: &str = "Congo (Democratic Republic of the)"; pub const ISO_FULL_COK: &str = "Cook Islands"; pub const ISO_FULL_CRI: &str = "Costa Rica"; pub const ISO_FULL_CIV: &str = "Côte d'Ivoire"; pub const ISO_FULL_HRV: &str = "Croatia"; pub const ISO_FULL_CUB: &str = "Cuba"; pub const ISO_FULL_CUW: &str = "Curaçao"; pub const ISO_FULL_CYP: &str = "Cyprus"; pub const ISO_FULL_CZE: &str = "Czechia"; pub const ISO_FULL_DNK: &str = "Denmark"; pub const ISO_FULL_DJI: &str = "Djibouti"; pub const ISO_FULL_DMA: &str = "Dominica"; pub const ISO_FULL_DOM: &str = "Dominican Republic"; pub const ISO_FULL_ECU: &str = "Ecuador"; pub const ISO_FULL_EGY: &str = "Egypt"; pub const ISO_FULL_SLV: &str = "El Salvador"; pub const ISO_FULL_GNQ: &str = "Equatorial Guinea"; pub const ISO_FULL_ERI: &str = "Eritrea"; pub const ISO_FULL_EST: &str = "Estonia"; pub const ISO_FULL_ETH: &str = "Ethiopia"; pub const ISO_FULL_FLK: &str = "Falkland Islands (Malvinas)"; pub const ISO_FULL_FRO: &str = "Faroe Islands"; pub const ISO_FULL_FJI: &str = "Fiji"; pub const ISO_FULL_FIN: &str = "Finland"; pub const ISO_FULL_FRA: &str = "France"; pub const ISO_FULL_GUF: &str = "French Guiana"; pub const ISO_FULL_PYF: &str = "French Polynesia"; pub const ISO_FULL_ATF: &str = "French Southern Territories"; pub const ISO_FULL_GAB: &str = "Gabon"; pub const ISO_FULL_GMB: &str = "Gambia"; pub const ISO_FULL_GEO: &str = "Georgia"; pub const ISO_FULL_DEU: &str = "Germany"; pub const ISO_FULL_GHA: &str = "Ghana"; pub const ISO_FULL_GIB: &str = "Gibraltar"; pub const ISO_FULL_GRC: &str = "Greece"; pub const ISO_FULL_GRL: &str = "Greenland"; pub const ISO_FULL_GRD: &str = "Grenada"; pub const ISO_FULL_GLP: &str = "Guadeloupe"; pub const ISO_FULL_GUM: &str = "Guam"; pub const ISO_FULL_GTM: &str = "Guatemala"; pub const ISO_FULL_GGY: &str = "Guernsey"; pub const ISO_FULL_GIN: &str = "Guinea"; pub const ISO_FULL_GNB: &str = "Guinea-Bissau"; pub const ISO_FULL_GUY: &str = "Guyana"; pub const ISO_FULL_HTI: &str = "Haiti"; pub const ISO_FULL_HMD: &str = "Heard Island and McDonald Islands"; pub const ISO_FULL_VAT: &str = "Holy See"; pub const ISO_FULL_HND: &str = "Honduras"; pub const ISO_FULL_HKG: &str = "Hong Kong"; pub const ISO_FULL_HUN: &str = "Hungary"; pub const ISO_FULL_ISL: &str = "Iceland"; pub const ISO_FULL_IND: &str = "India"; pub const ISO_FULL_IDN: &str = "Indonesia"; pub const ISO_FULL_IRN: &str = "Iran (Islamic Republic of)"; pub const ISO_FULL_IRQ: &str = "Iraq"; pub const ISO_FULL_IRL: &str = "Ireland"; pub const ISO_FULL_IMN: &str = "Isle of Man"; pub const ISO_FULL_ISR: &str = "Israel"; pub const ISO_FULL_ITA: &str = "Italy"; pub const ISO_FULL_JAM: &str = "Jamaica"; pub const ISO_FULL_JPN: &str = "Japan"; pub const ISO_FULL_JEY: &str = "Jersey"; pub const ISO_FULL_JOR: &str = "Jordan"; pub const ISO_FULL_KAZ: &str = "Kazakhstan"; pub const ISO_FULL_KEN: &str = "Kenya"; pub const ISO_FULL_KIR: &str = "Kiribati"; pub const ISO_FULL_PRK: &str = "Korea (Democratic People's Republic of)"; pub const ISO_FULL_KOR: &str = "Korea (Republic of)"; pub const ISO_FULL_KWT: &str = "Kuwait"; pub const ISO_FULL_KGZ: &str = "Kyrgyzstan"; pub const ISO_FULL_LAO: &str = "Lao People's Democratic Republic"; pub const ISO_FULL_LVA: &str = "Latvia"; pub const ISO_FULL_LBN: &str = "Lebanon"; pub const ISO_FULL_LSO: &str = "Lesotho"; pub const ISO_FULL_LBR: &str = "Liberia"; pub const ISO_FULL_LBY: &str = "Libya"; pub const ISO_FULL_LIE: &str = "Liechtenstein"; pub const ISO_FULL_LTU: &str = "Lithuania"; pub const ISO_FULL_LUX: &str = "Luxembourg"; pub const ISO_FULL_MAC: &str = "Macao"; pub const ISO_FULL_MKD: &str = "Macedonia (the former Yugoslav Republic of)"; pub const ISO_FULL_MDG: &str = "Madagascar"; pub const ISO_FULL_MWI: &str = "Malawi"; pub const ISO_FULL_MYS: &str = "Malaysia"; pub const ISO_FULL_MDV: &str = "Maldives"; pub const ISO_FULL_MLI: &str = "Mali"; pub const ISO_FULL_MLT: &str = "Malta"; pub const ISO_FULL_MHL: &str = "Marshall Islands"; pub const ISO_FULL_MTQ: &str = "Martinique"; pub const ISO_FULL_MRT: &str = "Mauritania"; pub const ISO_FULL_MUS: &str = "Mauritius"; pub const ISO_FULL_MYT: &str = "Mayotte"; pub const ISO_FULL_MEX: &str = "Mexico"; pub const ISO_FULL_FSM: &str = "Micronesia (Federated States of)"; pub const ISO_FULL_MDA: &str = "Moldova (Republic of)"; pub const ISO_FULL_MCO: &str = "Monaco"; pub const ISO_FULL_MNG: &str = "Mongolia"; pub const ISO_FULL_MNE: &str = "Montenegro"; pub const ISO_FULL_MSR: &str = "Montserrat"; pub const ISO_FULL_MAR: &str = "Morocco"; pub const ISO_FULL_MOZ: &str = "Mozambique"; pub const ISO_FULL_MMR: &str = "Myanmar"; pub const ISO_FULL_NAM: &str = "Namibia"; pub const ISO_FULL_NRU: &str = "Nauru"; pub const ISO_FULL_NPL: &str = "Nepal"; pub const ISO_FULL_NLD: &str = "Netherlands"; pub const ISO_FULL_NCL: &str = "New Caledonia"; pub const ISO_FULL_NZL: &str = "New Zealand"; pub const ISO_FULL_NIC: &str = "Nicaragua"; pub const ISO_FULL_NER: &str = "Niger"; pub const ISO_FULL_NGA: &str = "Nigeria"; pub const ISO_FULL_NIU: &str = "Niue"; pub const ISO_FULL_NFK: &str = "Norfolk Island"; pub const ISO_FULL_MNP: &str = "Northern Mariana Islands"; pub const ISO_FULL_NOR: &str = "Norway"; pub const ISO_FULL_OMN: &str = "Oman"; pub const ISO_FULL_PAK: &str = "Pakistan"; pub const ISO_FULL_PLW: &str = "Palau"; pub const ISO_FULL_PSE: &str = "Palestine, State of"; pub const ISO_FULL_PAN: &str = "Panama"; pub const ISO_FULL_PNG: &str = "Papua New Guinea"; pub const ISO_FULL_PRY: &str = "Paraguay"; pub const ISO_FULL_PER: &str = "Peru"; pub const ISO_FULL_PHL: &str = "Philippines"; pub const ISO_FULL_PCN: &str = "Pitcairn"; pub const ISO_FULL_POL: &str = "Poland"; pub const ISO_FULL_PRT: &str = "Portugal"; pub const ISO_FULL_PRI: &str = "Puerto Rico"; pub const ISO_FULL_QAT: &str = "Qatar"; pub const ISO_FULL_REU: &str = "Réunion"; pub const ISO_FULL_ROU: &str = "Romania"; pub const ISO_FULL_RUS: &str = "Russian Federation"; pub const ISO_FULL_RWA: &str = "Rwanda"; pub const ISO_FULL_BLM: &str = "Saint Barthélemy"; pub const ISO_FULL_SHN: &str = "Saint Helena, Ascension and Tristan da Cunha"; pub const ISO_FULL_KNA: &str = "Saint Kitts and Nevis"; pub const ISO_FULL_LCA: &str = "Saint Lucia"; pub const ISO_FULL_MAF: &str = "Saint Martin (French part)"; pub const ISO_FULL_SPM: &str = "Saint Pierre and Miquelon"; pub const ISO_FULL_VCT: &str = "Saint Vincent and the Grenadines"; pub const ISO_FULL_WSM: &str = "Samoa"; pub const ISO_FULL_SMR: &str = "San Marino"; pub const ISO_FULL_STP: &str = "Sao Tome and Principe"; pub const ISO_FULL_SAU: &str = "Saudi Arabia"; pub const ISO_FULL_SEN: &str = "Senegal"; pub const ISO_FULL_SRB: &str = "Serbia"; pub const ISO_FULL_SYC: &str = "Seychelles"; pub const ISO_FULL_SLE: &str = "Sierra Leone"; pub const ISO_FULL_SGP: &str = "Singapore"; pub const ISO_FULL_SXM: &str = "Sint Maarten (Dutch part)"; pub const ISO_FULL_SVK: &str = "Slovakia"; pub const ISO_FULL_SVN: &str = "Slovenia"; pub const ISO_FULL_SLB: &str = "Solomon Islands"; pub const ISO_FULL_SOM: &str = "Somalia"; pub const ISO_FULL_ZAF: &str = "South Africa"; pub const ISO_FULL_SGS: &str = "South Georgia and the South Sandwich Islands"; pub const ISO_FULL_SSD: &str = "South Sudan"; pub const ISO_FULL_ESP: &str = "Spain"; pub const ISO_FULL_LKA: &str = "Sri Lanka"; pub const ISO_FULL_SDN: &str = "Sudan"; pub const ISO_FULL_SUR: &str = "Suriname"; pub const ISO_FULL_SJM: &str = "Svalbard and Jan Mayen"; pub const ISO_FULL_SWZ: &str = "Swaziland"; pub const ISO_FULL_SWE: &str = "Sweden"; pub const ISO_FULL_CHE: &str = "Switzerland"; pub const ISO_FULL_SYR: &str = "Syrian Arab Republic"; pub const ISO_FULL_TWN: &str = "Taiwan, Province of China"; pub const ISO_FULL_TJK: &str = "Tajikistan"; pub const ISO_FULL_TZA: &str = "Tanzania, United Republic of"; pub const ISO_FULL_THA: &str = "Thailand"; pub const ISO_FULL_TLS: &str = "Timor-Leste"; pub const ISO_FULL_TGO: &str = "Togo"; pub const ISO_FULL_TKL: &str = "Tokelau"; pub const ISO_FULL_TON: &str = "Tonga"; pub const ISO_FULL_TTO: &str = "Trinidad and Tobago"; pub const ISO_FULL_TUN: &str = "Tunisia"; pub const ISO_FULL_TUR: &str = "Turkey"; pub const ISO_FULL_TKM: &str = "Turkmenistan"; pub const ISO_FULL_TCA: &str = "Turks and Caicos Islands"; pub const ISO_FULL_TUV: &str = "Tuvalu"; pub const ISO_FULL_UGA: &str = "Uganda"; pub const ISO_FULL_UKR: &str = "Ukraine"; pub const ISO_FULL_ARE: &str = "United Arab Emirates"; pub const ISO_FULL_GBR: &str = "United Kingdom of Great Britain and Northern Ireland"; pub const ISO_FULL_USA: &str = "United States of America"; pub const ISO_FULL_UMI: &str = "United States Minor Outlying Islands"; pub const ISO_FULL_URY: &str = "Uruguay"; pub const ISO_FULL_UZB: &str = "Uzbekistan"; pub const ISO_FULL_VUT: &str = "Vanuatu"; pub const ISO_FULL_VEN: &str = "Venezuela (Bolivarian Republic of)"; pub const ISO_FULL_VNM: &str = "Viet Nam"; pub const ISO_FULL_VGB: &str = "Virgin Islands (British)"; pub const ISO_FULL_VIR: &str = "Virgin Islands (U.S.)"; pub const ISO_FULL_WLF: &str = "Wallis and Futuna"; pub const ISO_FULL_ESH: &str = "Western Sahara"; pub const ISO_FULL_YEM: &str = "Yemen"; pub const ISO_FULL_ZMB: &str = "Zambia"; pub const ISO_FULL_ZWE: &str = "Zimbabwe"; isocountry-0.3.2/src/lib.rs000064400000000000000000002255411376423421500140030ustar 00000000000000// MIT License // //Copyright (c) 2018 Brett Russell // //Permission is hereby granted, free of charge, to any person obtaining a copy //of this software and associated documentation files (the "Software"), to deal //in the Software without restriction, including without limitation the rights //to use, copy, modify, merge, publish, distribute, sublicense, and/or sell //copies of the Software, and to permit persons to whom the Software is //furnished to do so, subject to the following conditions: // //The above copyright notice and this permission notice shall be included in all //copies or substantial portions of the Software. // //THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR //IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, //FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE //AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER //LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, //OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE //SOFTWARE. use std::fmt::{self, Display}; use serde::{Serialize, Serializer, Deserialize, Deserializer}; use serde::de::{self, Visitor}; use thiserror::Error; /// Two-character uppercase ISO 3166-1 strings for each country pub mod alpha2; /// Three-character uppercase ISO 3166-1 strings for each country pub mod alpha3; /// English short name ISO 3166-1 strings for each country pub mod full; /// Unsigned ISO 3166-1 integer IDs for each country pub mod numeric; mod sorted_arrays; #[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)] /// An enumeration of all ISO-3166-1 country codes pub enum CountryCode { /// Afghanistan AFG, /// Åland Islands ALA, /// Albania ALB, /// Algeria DZA, /// American Samoa ASM, /// Andorra AND, /// Angola AGO, /// Anguilla AIA, /// Antarctica ATA, /// Antigua and Barbuda ATG, /// Argentina ARG, /// Armenia ARM, /// Aruba ABW, /// Australia AUS, /// Austria AUT, /// Azerbaijan AZE, /// Bahamas BHS, /// Bahrain BHR, /// Bangladesh BGD, /// Barbados BRB, /// Belarus BLR, /// Belgium BEL, /// Belize BLZ, /// Benin BEN, /// Bermuda BMU, /// Bhutan BTN, /// Bolivia (Plurinational State of) BOL, /// Bonaire, Sint Eustatius and Saba BES, /// Bosnia and Herzegovina BIH, /// Botswana BWA, /// Bouvet Island BVT, /// Brazil BRA, /// British Indian Ocean Territory IOT, /// Brunei Darussalam BRN, /// Bulgaria BGR, /// Burkina Faso BFA, /// Burundi BDI, /// Cabo Verde CPV, /// Cambodia KHM, /// Cameroon CMR, /// Canada CAN, /// Cayman Islands CYM, /// Central African Republic CAF, /// Chad TCD, /// Chile CHL, /// China CHN, /// Christmas Island CXR, /// Cocos (Keeling) Islands CCK, /// Colombia COL, /// Comoros COM, /// Congo COG, /// Congo (Democratic Republic of the) COD, /// Cook Islands COK, /// Costa Rica CRI, /// Côte d'Ivoire CIV, /// Croatia HRV, /// Cuba CUB, /// Curaçao CUW, /// Cyprus CYP, /// Czechia CZE, /// Denmark DNK, /// Djibouti DJI, /// Dominica DMA, /// Dominican Republic DOM, /// Ecuador ECU, /// Egypt EGY, /// El Salvador SLV, /// Equatorial Guinea GNQ, /// Eritrea ERI, /// Estonia EST, /// Ethiopia ETH, /// Falkland Islands (Malvinas) FLK, /// Faroe Islands FRO, /// Fiji FJI, /// Finland FIN, /// France FRA, /// French Guiana GUF, /// French Polynesia PYF, /// French Southern Territories ATF, /// Gabon GAB, /// Gambia GMB, /// Georgia GEO, /// Germany DEU, /// Ghana GHA, /// Gibraltar GIB, /// Greece GRC, /// Greenland GRL, /// Grenada GRD, /// Guadeloupe GLP, /// Guam GUM, /// Guatemala GTM, /// Guernsey GGY, /// Guinea GIN, /// Guinea-Bissau GNB, /// Guyana GUY, /// Haiti HTI, /// Heard Island and McDonald Islands HMD, /// Holy See VAT, /// Honduras HND, /// Hong Kong HKG, /// Hungary HUN, /// Iceland ISL, /// India IND, /// Indonesia IDN, /// Iran (Islamic Republic of) IRN, /// Iraq IRQ, /// Ireland IRL, /// Isle of Man IMN, /// Israel ISR, /// Italy ITA, /// Jamaica JAM, /// Japan JPN, /// Jersey JEY, /// Jordan JOR, /// Kazakhstan KAZ, /// Kenya KEN, /// Kiribati KIR, /// Korea (Democratic People's Republic of) PRK, /// Korea (Republic of) KOR, /// Kuwait KWT, /// Kyrgyzstan KGZ, /// Lao People's Democratic Republic LAO, /// Latvia LVA, /// Lebanon LBN, /// Lesotho LSO, /// Liberia LBR, /// Libya LBY, /// Liechtenstein LIE, /// Lithuania LTU, /// Luxembourg LUX, /// Macao MAC, /// Macedonia (the former Yugoslav Republic of) MKD, /// Madagascar MDG, /// Malawi MWI, /// Malaysia MYS, /// Maldives MDV, /// Mali MLI, /// Malta MLT, /// Marshall Islands MHL, /// Martinique MTQ, /// Mauritania MRT, /// Mauritius MUS, /// Mayotte MYT, /// Mexico MEX, /// Micronesia (Federated States of) FSM, /// Moldova (Republic of) MDA, /// Monaco MCO, /// Mongolia MNG, /// Montenegro MNE, /// Montserrat MSR, /// Morocco MAR, /// Mozambique MOZ, /// Myanmar MMR, /// Namibia NAM, /// Nauru NRU, /// Nepal NPL, /// Netherlands NLD, /// New Caledonia NCL, /// New Zealand NZL, /// Nicaragua NIC, /// Niger NER, /// Nigeria NGA, /// Niue NIU, /// Norfolk Island NFK, /// Northern Mariana Islands MNP, /// Norway NOR, /// Oman OMN, /// Pakistan PAK, /// Palau PLW, /// Palestine, State of PSE, /// Panama PAN, /// Papua New Guinea PNG, /// Paraguay PRY, /// Peru PER, /// Philippines PHL, /// Pitcairn PCN, /// Poland POL, /// Portugal PRT, /// Puerto Rico PRI, /// Qatar QAT, /// Réunion REU, /// Romania ROU, /// Russian Federation RUS, /// Rwanda RWA, /// Saint Barthélemy BLM, /// Saint Helena, Ascension and Tristan da Cunha SHN, /// Saint Kitts and Nevis KNA, /// Saint Lucia LCA, /// Saint Martin (French part) MAF, /// Saint Pierre and Miquelon SPM, /// Saint Vincent and the Grenadines VCT, /// Samoa WSM, /// San Marino SMR, /// Sao Tome and Principe STP, /// Saudi Arabia SAU, /// Senegal SEN, /// Serbia SRB, /// Seychelles SYC, /// Sierra Leone SLE, /// Singapore SGP, /// Sint Maarten (Dutch part) SXM, /// Slovakia SVK, /// Slovenia SVN, /// Solomon Islands SLB, /// Somalia SOM, /// South Africa ZAF, /// South Georgia and the South Sandwich Islands SGS, /// South Sudan SSD, /// Spain ESP, /// Sri Lanka LKA, /// Sudan SDN, /// Suriname SUR, /// Svalbard and Jan Mayen SJM, /// Swaziland SWZ, /// Sweden SWE, /// Switzerland CHE, /// Syrian Arab Republic SYR, /// Taiwan, Province of China TWN, /// Tajikistan TJK, /// Tanzania, United Republic of TZA, /// Thailand THA, /// Timor-Leste TLS, /// Togo TGO, /// Tokelau TKL, /// Tonga TON, /// Trinidad and Tobago TTO, /// Tunisia TUN, /// Turkey TUR, /// Turkmenistan TKM, /// Turks and Caicos Islands TCA, /// Tuvalu TUV, /// Uganda UGA, /// Ukraine UKR, /// United Arab Emirates ARE, /// United Kingdom of Great Britain and Northern Ireland GBR, /// United States of America USA, /// United States Minor Outlying Islands UMI, /// Uruguay URY, /// Uzbekistan UZB, /// Vanuatu VUT, /// Venezuela (Bolivarian Republic of) VEN, /// Viet Nam VNM, /// Virgin Islands (British) VGB, /// Virgin Islands (U.S.) VIR, /// Wallis and Futuna WLF, /// Western Sahara ESH, /// Yemen YEM, /// Zambia ZMB, /// Zimbabwe ZWE, } /// Errors that might arise when converting raw data into CountryCode #[derive(Debug, Error, PartialEq)] pub enum CountryCodeParseErr { #[error("invalid alpha-2 country code string: {}", unknown)] InvalidAlpha2 { unknown: String }, #[error("invalid alpha-3 country code string: {}", unknown)] InvalidAlpha3 { unknown: String }, #[error("invalid ID (integer) country code: {}", unknown)] InvalidID { unknown: u32 }, } const NUM_COUNTRY_CODES: usize = 249; impl CountryCode { /// Returns the ISO 3166-1 English short name pub fn name(&self) -> &'static str { use self::CountryCode::*; use full::*; match *self { AFG => ISO_FULL_AFG, ALA => ISO_FULL_ALA, ALB => ISO_FULL_ALB, DZA => ISO_FULL_DZA, ASM => ISO_FULL_ASM, AND => ISO_FULL_AND, AGO => ISO_FULL_AGO, AIA => ISO_FULL_AIA, ATA => ISO_FULL_ATA, ATG => ISO_FULL_ATG, ARG => ISO_FULL_ARG, ARM => ISO_FULL_ARM, ABW => ISO_FULL_ABW, AUS => ISO_FULL_AUS, AUT => ISO_FULL_AUT, AZE => ISO_FULL_AZE, BHS => ISO_FULL_BHS, BHR => ISO_FULL_BHR, BGD => ISO_FULL_BGD, BRB => ISO_FULL_BRB, BLR => ISO_FULL_BLR, BEL => ISO_FULL_BEL, BLZ => ISO_FULL_BLZ, BEN => ISO_FULL_BEN, BMU => ISO_FULL_BMU, BTN => ISO_FULL_BTN, BOL => ISO_FULL_BOL, BES => ISO_FULL_BES, BIH => ISO_FULL_BIH, BWA => ISO_FULL_BWA, BVT => ISO_FULL_BVT, BRA => ISO_FULL_BRA, IOT => ISO_FULL_IOT, BRN => ISO_FULL_BRN, BGR => ISO_FULL_BGR, BFA => ISO_FULL_BFA, BDI => ISO_FULL_BDI, CPV => ISO_FULL_CPV, KHM => ISO_FULL_KHM, CMR => ISO_FULL_CMR, CAN => ISO_FULL_CAN, CYM => ISO_FULL_CYM, CAF => ISO_FULL_CAF, TCD => ISO_FULL_TCD, CHL => ISO_FULL_CHL, CHN => ISO_FULL_CHN, CXR => ISO_FULL_CXR, CCK => ISO_FULL_CCK, COL => ISO_FULL_COL, COM => ISO_FULL_COM, COG => ISO_FULL_COG, COD => ISO_FULL_COD, COK => ISO_FULL_COK, CRI => ISO_FULL_CRI, CIV => ISO_FULL_CIV, HRV => ISO_FULL_HRV, CUB => ISO_FULL_CUB, CUW => ISO_FULL_CUW, CYP => ISO_FULL_CYP, CZE => ISO_FULL_CZE, DNK => ISO_FULL_DNK, DJI => ISO_FULL_DJI, DMA => ISO_FULL_DMA, DOM => ISO_FULL_DOM, ECU => ISO_FULL_ECU, EGY => ISO_FULL_EGY, SLV => ISO_FULL_SLV, GNQ => ISO_FULL_GNQ, ERI => ISO_FULL_ERI, EST => ISO_FULL_EST, ETH => ISO_FULL_ETH, FLK => ISO_FULL_FLK, FRO => ISO_FULL_FRO, FJI => ISO_FULL_FJI, FIN => ISO_FULL_FIN, FRA => ISO_FULL_FRA, GUF => ISO_FULL_GUF, PYF => ISO_FULL_PYF, ATF => ISO_FULL_ATF, GAB => ISO_FULL_GAB, GMB => ISO_FULL_GMB, GEO => ISO_FULL_GEO, DEU => ISO_FULL_DEU, GHA => ISO_FULL_GHA, GIB => ISO_FULL_GIB, GRC => ISO_FULL_GRC, GRL => ISO_FULL_GRL, GRD => ISO_FULL_GRD, GLP => ISO_FULL_GLP, GUM => ISO_FULL_GUM, GTM => ISO_FULL_GTM, GGY => ISO_FULL_GGY, GIN => ISO_FULL_GIN, GNB => ISO_FULL_GNB, GUY => ISO_FULL_GUY, HTI => ISO_FULL_HTI, HMD => ISO_FULL_HMD, VAT => ISO_FULL_VAT, HND => ISO_FULL_HND, HKG => ISO_FULL_HKG, HUN => ISO_FULL_HUN, ISL => ISO_FULL_ISL, IND => ISO_FULL_IND, IDN => ISO_FULL_IDN, IRN => ISO_FULL_IRN, IRQ => ISO_FULL_IRQ, IRL => ISO_FULL_IRL, IMN => ISO_FULL_IMN, ISR => ISO_FULL_ISR, ITA => ISO_FULL_ITA, JAM => ISO_FULL_JAM, JPN => ISO_FULL_JPN, JEY => ISO_FULL_JEY, JOR => ISO_FULL_JOR, KAZ => ISO_FULL_KAZ, KEN => ISO_FULL_KEN, KIR => ISO_FULL_KIR, PRK => ISO_FULL_PRK, KOR => ISO_FULL_KOR, KWT => ISO_FULL_KWT, KGZ => ISO_FULL_KGZ, LAO => ISO_FULL_LAO, LVA => ISO_FULL_LVA, LBN => ISO_FULL_LBN, LSO => ISO_FULL_LSO, LBR => ISO_FULL_LBR, LBY => ISO_FULL_LBY, LIE => ISO_FULL_LIE, LTU => ISO_FULL_LTU, LUX => ISO_FULL_LUX, MAC => ISO_FULL_MAC, MKD => ISO_FULL_MKD, MDG => ISO_FULL_MDG, MWI => ISO_FULL_MWI, MYS => ISO_FULL_MYS, MDV => ISO_FULL_MDV, MLI => ISO_FULL_MLI, MLT => ISO_FULL_MLT, MHL => ISO_FULL_MHL, MTQ => ISO_FULL_MTQ, MRT => ISO_FULL_MRT, MUS => ISO_FULL_MUS, MYT => ISO_FULL_MYT, MEX => ISO_FULL_MEX, FSM => ISO_FULL_FSM, MDA => ISO_FULL_MDA, MCO => ISO_FULL_MCO, MNG => ISO_FULL_MNG, MNE => ISO_FULL_MNE, MSR => ISO_FULL_MSR, MAR => ISO_FULL_MAR, MOZ => ISO_FULL_MOZ, MMR => ISO_FULL_MMR, NAM => ISO_FULL_NAM, NRU => ISO_FULL_NRU, NPL => ISO_FULL_NPL, NLD => ISO_FULL_NLD, NCL => ISO_FULL_NCL, NZL => ISO_FULL_NZL, NIC => ISO_FULL_NIC, NER => ISO_FULL_NER, NGA => ISO_FULL_NGA, NIU => ISO_FULL_NIU, NFK => ISO_FULL_NFK, MNP => ISO_FULL_MNP, NOR => ISO_FULL_NOR, OMN => ISO_FULL_OMN, PAK => ISO_FULL_PAK, PLW => ISO_FULL_PLW, PSE => ISO_FULL_PSE, PAN => ISO_FULL_PAN, PNG => ISO_FULL_PNG, PRY => ISO_FULL_PRY, PER => ISO_FULL_PER, PHL => ISO_FULL_PHL, PCN => ISO_FULL_PCN, POL => ISO_FULL_POL, PRT => ISO_FULL_PRT, PRI => ISO_FULL_PRI, QAT => ISO_FULL_QAT, REU => ISO_FULL_REU, ROU => ISO_FULL_ROU, RUS => ISO_FULL_RUS, RWA => ISO_FULL_RWA, BLM => ISO_FULL_BLM, SHN => ISO_FULL_SHN, KNA => ISO_FULL_KNA, LCA => ISO_FULL_LCA, MAF => ISO_FULL_MAF, SPM => ISO_FULL_SPM, VCT => ISO_FULL_VCT, WSM => ISO_FULL_WSM, SMR => ISO_FULL_SMR, STP => ISO_FULL_STP, SAU => ISO_FULL_SAU, SEN => ISO_FULL_SEN, SRB => ISO_FULL_SRB, SYC => ISO_FULL_SYC, SLE => ISO_FULL_SLE, SGP => ISO_FULL_SGP, SXM => ISO_FULL_SXM, SVK => ISO_FULL_SVK, SVN => ISO_FULL_SVN, SLB => ISO_FULL_SLB, SOM => ISO_FULL_SOM, ZAF => ISO_FULL_ZAF, SGS => ISO_FULL_SGS, SSD => ISO_FULL_SSD, ESP => ISO_FULL_ESP, LKA => ISO_FULL_LKA, SDN => ISO_FULL_SDN, SUR => ISO_FULL_SUR, SJM => ISO_FULL_SJM, SWZ => ISO_FULL_SWZ, SWE => ISO_FULL_SWE, CHE => ISO_FULL_CHE, SYR => ISO_FULL_SYR, TWN => ISO_FULL_TWN, TJK => ISO_FULL_TJK, TZA => ISO_FULL_TZA, THA => ISO_FULL_THA, TLS => ISO_FULL_TLS, TGO => ISO_FULL_TGO, TKL => ISO_FULL_TKL, TON => ISO_FULL_TON, TTO => ISO_FULL_TTO, TUN => ISO_FULL_TUN, TUR => ISO_FULL_TUR, TKM => ISO_FULL_TKM, TCA => ISO_FULL_TCA, TUV => ISO_FULL_TUV, UGA => ISO_FULL_UGA, UKR => ISO_FULL_UKR, ARE => ISO_FULL_ARE, GBR => ISO_FULL_GBR, USA => ISO_FULL_USA, UMI => ISO_FULL_UMI, URY => ISO_FULL_URY, UZB => ISO_FULL_UZB, VUT => ISO_FULL_VUT, VEN => ISO_FULL_VEN, VNM => ISO_FULL_VNM, VGB => ISO_FULL_VGB, VIR => ISO_FULL_VIR, WLF => ISO_FULL_WLF, ESH => ISO_FULL_ESH, YEM => ISO_FULL_YEM, ZMB => ISO_FULL_ZMB, ZWE => ISO_FULL_ZWE, } } /// Returns the ISO 3166-1 numeric ID pub fn numeric_id(&self) -> u32 { use self::CountryCode::*; use numeric::*; match *self { AFG => ISO_NUM_AFG, ALA => ISO_NUM_ALA, ALB => ISO_NUM_ALB, DZA => ISO_NUM_DZA, ASM => ISO_NUM_ASM, AND => ISO_NUM_AND, AGO => ISO_NUM_AGO, AIA => ISO_NUM_AIA, ATA => ISO_NUM_ATA, ATG => ISO_NUM_ATG, ARG => ISO_NUM_ARG, ARM => ISO_NUM_ARM, ABW => ISO_NUM_ABW, AUS => ISO_NUM_AUS, AUT => ISO_NUM_AUT, AZE => ISO_NUM_AZE, BHS => ISO_NUM_BHS, BHR => ISO_NUM_BHR, BGD => ISO_NUM_BGD, BRB => ISO_NUM_BRB, BLR => ISO_NUM_BLR, BEL => ISO_NUM_BEL, BLZ => ISO_NUM_BLZ, BEN => ISO_NUM_BEN, BMU => ISO_NUM_BMU, BTN => ISO_NUM_BTN, BOL => ISO_NUM_BOL, BES => ISO_NUM_BES, BIH => ISO_NUM_BIH, BWA => ISO_NUM_BWA, BVT => ISO_NUM_BVT, BRA => ISO_NUM_BRA, IOT => ISO_NUM_IOT, BRN => ISO_NUM_BRN, BGR => ISO_NUM_BGR, BFA => ISO_NUM_BFA, BDI => ISO_NUM_BDI, CPV => ISO_NUM_CPV, KHM => ISO_NUM_KHM, CMR => ISO_NUM_CMR, CAN => ISO_NUM_CAN, CYM => ISO_NUM_CYM, CAF => ISO_NUM_CAF, TCD => ISO_NUM_TCD, CHL => ISO_NUM_CHL, CHN => ISO_NUM_CHN, CXR => ISO_NUM_CXR, CCK => ISO_NUM_CCK, COL => ISO_NUM_COL, COM => ISO_NUM_COM, COG => ISO_NUM_COG, COD => ISO_NUM_COD, COK => ISO_NUM_COK, CRI => ISO_NUM_CRI, CIV => ISO_NUM_CIV, HRV => ISO_NUM_HRV, CUB => ISO_NUM_CUB, CUW => ISO_NUM_CUW, CYP => ISO_NUM_CYP, CZE => ISO_NUM_CZE, DNK => ISO_NUM_DNK, DJI => ISO_NUM_DJI, DMA => ISO_NUM_DMA, DOM => ISO_NUM_DOM, ECU => ISO_NUM_ECU, EGY => ISO_NUM_EGY, SLV => ISO_NUM_SLV, GNQ => ISO_NUM_GNQ, ERI => ISO_NUM_ERI, EST => ISO_NUM_EST, ETH => ISO_NUM_ETH, FLK => ISO_NUM_FLK, FRO => ISO_NUM_FRO, FJI => ISO_NUM_FJI, FIN => ISO_NUM_FIN, FRA => ISO_NUM_FRA, GUF => ISO_NUM_GUF, PYF => ISO_NUM_PYF, ATF => ISO_NUM_ATF, GAB => ISO_NUM_GAB, GMB => ISO_NUM_GMB, GEO => ISO_NUM_GEO, DEU => ISO_NUM_DEU, GHA => ISO_NUM_GHA, GIB => ISO_NUM_GIB, GRC => ISO_NUM_GRC, GRL => ISO_NUM_GRL, GRD => ISO_NUM_GRD, GLP => ISO_NUM_GLP, GUM => ISO_NUM_GUM, GTM => ISO_NUM_GTM, GGY => ISO_NUM_GGY, GIN => ISO_NUM_GIN, GNB => ISO_NUM_GNB, GUY => ISO_NUM_GUY, HTI => ISO_NUM_HTI, HMD => ISO_NUM_HMD, VAT => ISO_NUM_VAT, HND => ISO_NUM_HND, HKG => ISO_NUM_HKG, HUN => ISO_NUM_HUN, ISL => ISO_NUM_ISL, IND => ISO_NUM_IND, IDN => ISO_NUM_IDN, IRN => ISO_NUM_IRN, IRQ => ISO_NUM_IRQ, IRL => ISO_NUM_IRL, IMN => ISO_NUM_IMN, ISR => ISO_NUM_ISR, ITA => ISO_NUM_ITA, JAM => ISO_NUM_JAM, JPN => ISO_NUM_JPN, JEY => ISO_NUM_JEY, JOR => ISO_NUM_JOR, KAZ => ISO_NUM_KAZ, KEN => ISO_NUM_KEN, KIR => ISO_NUM_KIR, PRK => ISO_NUM_PRK, KOR => ISO_NUM_KOR, KWT => ISO_NUM_KWT, KGZ => ISO_NUM_KGZ, LAO => ISO_NUM_LAO, LVA => ISO_NUM_LVA, LBN => ISO_NUM_LBN, LSO => ISO_NUM_LSO, LBR => ISO_NUM_LBR, LBY => ISO_NUM_LBY, LIE => ISO_NUM_LIE, LTU => ISO_NUM_LTU, LUX => ISO_NUM_LUX, MAC => ISO_NUM_MAC, MKD => ISO_NUM_MKD, MDG => ISO_NUM_MDG, MWI => ISO_NUM_MWI, MYS => ISO_NUM_MYS, MDV => ISO_NUM_MDV, MLI => ISO_NUM_MLI, MLT => ISO_NUM_MLT, MHL => ISO_NUM_MHL, MTQ => ISO_NUM_MTQ, MRT => ISO_NUM_MRT, MUS => ISO_NUM_MUS, MYT => ISO_NUM_MYT, MEX => ISO_NUM_MEX, FSM => ISO_NUM_FSM, MDA => ISO_NUM_MDA, MCO => ISO_NUM_MCO, MNG => ISO_NUM_MNG, MNE => ISO_NUM_MNE, MSR => ISO_NUM_MSR, MAR => ISO_NUM_MAR, MOZ => ISO_NUM_MOZ, MMR => ISO_NUM_MMR, NAM => ISO_NUM_NAM, NRU => ISO_NUM_NRU, NPL => ISO_NUM_NPL, NLD => ISO_NUM_NLD, NCL => ISO_NUM_NCL, NZL => ISO_NUM_NZL, NIC => ISO_NUM_NIC, NER => ISO_NUM_NER, NGA => ISO_NUM_NGA, NIU => ISO_NUM_NIU, NFK => ISO_NUM_NFK, MNP => ISO_NUM_MNP, NOR => ISO_NUM_NOR, OMN => ISO_NUM_OMN, PAK => ISO_NUM_PAK, PLW => ISO_NUM_PLW, PSE => ISO_NUM_PSE, PAN => ISO_NUM_PAN, PNG => ISO_NUM_PNG, PRY => ISO_NUM_PRY, PER => ISO_NUM_PER, PHL => ISO_NUM_PHL, PCN => ISO_NUM_PCN, POL => ISO_NUM_POL, PRT => ISO_NUM_PRT, PRI => ISO_NUM_PRI, QAT => ISO_NUM_QAT, REU => ISO_NUM_REU, ROU => ISO_NUM_ROU, RUS => ISO_NUM_RUS, RWA => ISO_NUM_RWA, BLM => ISO_NUM_BLM, SHN => ISO_NUM_SHN, KNA => ISO_NUM_KNA, LCA => ISO_NUM_LCA, MAF => ISO_NUM_MAF, SPM => ISO_NUM_SPM, VCT => ISO_NUM_VCT, WSM => ISO_NUM_WSM, SMR => ISO_NUM_SMR, STP => ISO_NUM_STP, SAU => ISO_NUM_SAU, SEN => ISO_NUM_SEN, SRB => ISO_NUM_SRB, SYC => ISO_NUM_SYC, SLE => ISO_NUM_SLE, SGP => ISO_NUM_SGP, SXM => ISO_NUM_SXM, SVK => ISO_NUM_SVK, SVN => ISO_NUM_SVN, SLB => ISO_NUM_SLB, SOM => ISO_NUM_SOM, ZAF => ISO_NUM_ZAF, SGS => ISO_NUM_SGS, SSD => ISO_NUM_SSD, ESP => ISO_NUM_ESP, LKA => ISO_NUM_LKA, SDN => ISO_NUM_SDN, SUR => ISO_NUM_SUR, SJM => ISO_NUM_SJM, SWZ => ISO_NUM_SWZ, SWE => ISO_NUM_SWE, CHE => ISO_NUM_CHE, SYR => ISO_NUM_SYR, TWN => ISO_NUM_TWN, TJK => ISO_NUM_TJK, TZA => ISO_NUM_TZA, THA => ISO_NUM_THA, TLS => ISO_NUM_TLS, TGO => ISO_NUM_TGO, TKL => ISO_NUM_TKL, TON => ISO_NUM_TON, TTO => ISO_NUM_TTO, TUN => ISO_NUM_TUN, TUR => ISO_NUM_TUR, TKM => ISO_NUM_TKM, TCA => ISO_NUM_TCA, TUV => ISO_NUM_TUV, UGA => ISO_NUM_UGA, UKR => ISO_NUM_UKR, ARE => ISO_NUM_ARE, GBR => ISO_NUM_GBR, USA => ISO_NUM_USA, UMI => ISO_NUM_UMI, URY => ISO_NUM_URY, UZB => ISO_NUM_UZB, VUT => ISO_NUM_VUT, VEN => ISO_NUM_VEN, VNM => ISO_NUM_VNM, VGB => ISO_NUM_VGB, VIR => ISO_NUM_VIR, WLF => ISO_NUM_WLF, ESH => ISO_NUM_ESH, YEM => ISO_NUM_YEM, ZMB => ISO_NUM_ZMB, ZWE => ISO_NUM_ZWE, } } /// Returns the uppercase two-character ISO 3166-1 string pub fn alpha2(&self) -> &'static str { use self::CountryCode::*; use alpha2::*; match *self { AFG => ISO_A2_AFG, ALA => ISO_A2_ALA, ALB => ISO_A2_ALB, DZA => ISO_A2_DZA, ASM => ISO_A2_ASM, AND => ISO_A2_AND, AGO => ISO_A2_AGO, AIA => ISO_A2_AIA, ATA => ISO_A2_ATA, ATG => ISO_A2_ATG, ARG => ISO_A2_ARG, ARM => ISO_A2_ARM, ABW => ISO_A2_ABW, AUS => ISO_A2_AUS, AUT => ISO_A2_AUT, AZE => ISO_A2_AZE, BHS => ISO_A2_BHS, BHR => ISO_A2_BHR, BGD => ISO_A2_BGD, BRB => ISO_A2_BRB, BLR => ISO_A2_BLR, BEL => ISO_A2_BEL, BLZ => ISO_A2_BLZ, BEN => ISO_A2_BEN, BMU => ISO_A2_BMU, BTN => ISO_A2_BTN, BOL => ISO_A2_BOL, BES => ISO_A2_BES, BIH => ISO_A2_BIH, BWA => ISO_A2_BWA, BVT => ISO_A2_BVT, BRA => ISO_A2_BRA, IOT => ISO_A2_IOT, BRN => ISO_A2_BRN, BGR => ISO_A2_BGR, BFA => ISO_A2_BFA, BDI => ISO_A2_BDI, CPV => ISO_A2_CPV, KHM => ISO_A2_KHM, CMR => ISO_A2_CMR, CAN => ISO_A2_CAN, CYM => ISO_A2_CYM, CAF => ISO_A2_CAF, TCD => ISO_A2_TCD, CHL => ISO_A2_CHL, CHN => ISO_A2_CHN, CXR => ISO_A2_CXR, CCK => ISO_A2_CCK, COL => ISO_A2_COL, COM => ISO_A2_COM, COG => ISO_A2_COG, COD => ISO_A2_COD, COK => ISO_A2_COK, CRI => ISO_A2_CRI, CIV => ISO_A2_CIV, HRV => ISO_A2_HRV, CUB => ISO_A2_CUB, CUW => ISO_A2_CUW, CYP => ISO_A2_CYP, CZE => ISO_A2_CZE, DNK => ISO_A2_DNK, DJI => ISO_A2_DJI, DMA => ISO_A2_DMA, DOM => ISO_A2_DOM, ECU => ISO_A2_ECU, EGY => ISO_A2_EGY, SLV => ISO_A2_SLV, GNQ => ISO_A2_GNQ, ERI => ISO_A2_ERI, EST => ISO_A2_EST, ETH => ISO_A2_ETH, FLK => ISO_A2_FLK, FRO => ISO_A2_FRO, FJI => ISO_A2_FJI, FIN => ISO_A2_FIN, FRA => ISO_A2_FRA, GUF => ISO_A2_GUF, PYF => ISO_A2_PYF, ATF => ISO_A2_ATF, GAB => ISO_A2_GAB, GMB => ISO_A2_GMB, GEO => ISO_A2_GEO, DEU => ISO_A2_DEU, GHA => ISO_A2_GHA, GIB => ISO_A2_GIB, GRC => ISO_A2_GRC, GRL => ISO_A2_GRL, GRD => ISO_A2_GRD, GLP => ISO_A2_GLP, GUM => ISO_A2_GUM, GTM => ISO_A2_GTM, GGY => ISO_A2_GGY, GIN => ISO_A2_GIN, GNB => ISO_A2_GNB, GUY => ISO_A2_GUY, HTI => ISO_A2_HTI, HMD => ISO_A2_HMD, VAT => ISO_A2_VAT, HND => ISO_A2_HND, HKG => ISO_A2_HKG, HUN => ISO_A2_HUN, ISL => ISO_A2_ISL, IND => ISO_A2_IND, IDN => ISO_A2_IDN, IRN => ISO_A2_IRN, IRQ => ISO_A2_IRQ, IRL => ISO_A2_IRL, IMN => ISO_A2_IMN, ISR => ISO_A2_ISR, ITA => ISO_A2_ITA, JAM => ISO_A2_JAM, JPN => ISO_A2_JPN, JEY => ISO_A2_JEY, JOR => ISO_A2_JOR, KAZ => ISO_A2_KAZ, KEN => ISO_A2_KEN, KIR => ISO_A2_KIR, PRK => ISO_A2_PRK, KOR => ISO_A2_KOR, KWT => ISO_A2_KWT, KGZ => ISO_A2_KGZ, LAO => ISO_A2_LAO, LVA => ISO_A2_LVA, LBN => ISO_A2_LBN, LSO => ISO_A2_LSO, LBR => ISO_A2_LBR, LBY => ISO_A2_LBY, LIE => ISO_A2_LIE, LTU => ISO_A2_LTU, LUX => ISO_A2_LUX, MAC => ISO_A2_MAC, MKD => ISO_A2_MKD, MDG => ISO_A2_MDG, MWI => ISO_A2_MWI, MYS => ISO_A2_MYS, MDV => ISO_A2_MDV, MLI => ISO_A2_MLI, MLT => ISO_A2_MLT, MHL => ISO_A2_MHL, MTQ => ISO_A2_MTQ, MRT => ISO_A2_MRT, MUS => ISO_A2_MUS, MYT => ISO_A2_MYT, MEX => ISO_A2_MEX, FSM => ISO_A2_FSM, MDA => ISO_A2_MDA, MCO => ISO_A2_MCO, MNG => ISO_A2_MNG, MNE => ISO_A2_MNE, MSR => ISO_A2_MSR, MAR => ISO_A2_MAR, MOZ => ISO_A2_MOZ, MMR => ISO_A2_MMR, NAM => ISO_A2_NAM, NRU => ISO_A2_NRU, NPL => ISO_A2_NPL, NLD => ISO_A2_NLD, NCL => ISO_A2_NCL, NZL => ISO_A2_NZL, NIC => ISO_A2_NIC, NER => ISO_A2_NER, NGA => ISO_A2_NGA, NIU => ISO_A2_NIU, NFK => ISO_A2_NFK, MNP => ISO_A2_MNP, NOR => ISO_A2_NOR, OMN => ISO_A2_OMN, PAK => ISO_A2_PAK, PLW => ISO_A2_PLW, PSE => ISO_A2_PSE, PAN => ISO_A2_PAN, PNG => ISO_A2_PNG, PRY => ISO_A2_PRY, PER => ISO_A2_PER, PHL => ISO_A2_PHL, PCN => ISO_A2_PCN, POL => ISO_A2_POL, PRT => ISO_A2_PRT, PRI => ISO_A2_PRI, QAT => ISO_A2_QAT, REU => ISO_A2_REU, ROU => ISO_A2_ROU, RUS => ISO_A2_RUS, RWA => ISO_A2_RWA, BLM => ISO_A2_BLM, SHN => ISO_A2_SHN, KNA => ISO_A2_KNA, LCA => ISO_A2_LCA, MAF => ISO_A2_MAF, SPM => ISO_A2_SPM, VCT => ISO_A2_VCT, WSM => ISO_A2_WSM, SMR => ISO_A2_SMR, STP => ISO_A2_STP, SAU => ISO_A2_SAU, SEN => ISO_A2_SEN, SRB => ISO_A2_SRB, SYC => ISO_A2_SYC, SLE => ISO_A2_SLE, SGP => ISO_A2_SGP, SXM => ISO_A2_SXM, SVK => ISO_A2_SVK, SVN => ISO_A2_SVN, SLB => ISO_A2_SLB, SOM => ISO_A2_SOM, ZAF => ISO_A2_ZAF, SGS => ISO_A2_SGS, SSD => ISO_A2_SSD, ESP => ISO_A2_ESP, LKA => ISO_A2_LKA, SDN => ISO_A2_SDN, SUR => ISO_A2_SUR, SJM => ISO_A2_SJM, SWZ => ISO_A2_SWZ, SWE => ISO_A2_SWE, CHE => ISO_A2_CHE, SYR => ISO_A2_SYR, TWN => ISO_A2_TWN, TJK => ISO_A2_TJK, TZA => ISO_A2_TZA, THA => ISO_A2_THA, TLS => ISO_A2_TLS, TGO => ISO_A2_TGO, TKL => ISO_A2_TKL, TON => ISO_A2_TON, TTO => ISO_A2_TTO, TUN => ISO_A2_TUN, TUR => ISO_A2_TUR, TKM => ISO_A2_TKM, TCA => ISO_A2_TCA, TUV => ISO_A2_TUV, UGA => ISO_A2_UGA, UKR => ISO_A2_UKR, ARE => ISO_A2_ARE, GBR => ISO_A2_GBR, USA => ISO_A2_USA, UMI => ISO_A2_UMI, URY => ISO_A2_URY, UZB => ISO_A2_UZB, VUT => ISO_A2_VUT, VEN => ISO_A2_VEN, VNM => ISO_A2_VNM, VGB => ISO_A2_VGB, VIR => ISO_A2_VIR, WLF => ISO_A2_WLF, ESH => ISO_A2_ESH, YEM => ISO_A2_YEM, ZMB => ISO_A2_ZMB, ZWE => ISO_A2_ZWE, } } /// Returns the uppercase three-character ISO 3166-1 string pub fn alpha3(&self) -> &'static str { use self::CountryCode::*; use alpha3::*; match *self { AFG => ISO_A3_AFG, ALA => ISO_A3_ALA, ALB => ISO_A3_ALB, DZA => ISO_A3_DZA, ASM => ISO_A3_ASM, AND => ISO_A3_AND, AGO => ISO_A3_AGO, AIA => ISO_A3_AIA, ATA => ISO_A3_ATA, ATG => ISO_A3_ATG, ARG => ISO_A3_ARG, ARM => ISO_A3_ARM, ABW => ISO_A3_ABW, AUS => ISO_A3_AUS, AUT => ISO_A3_AUT, AZE => ISO_A3_AZE, BHS => ISO_A3_BHS, BHR => ISO_A3_BHR, BGD => ISO_A3_BGD, BRB => ISO_A3_BRB, BLR => ISO_A3_BLR, BEL => ISO_A3_BEL, BLZ => ISO_A3_BLZ, BEN => ISO_A3_BEN, BMU => ISO_A3_BMU, BTN => ISO_A3_BTN, BOL => ISO_A3_BOL, BES => ISO_A3_BES, BIH => ISO_A3_BIH, BWA => ISO_A3_BWA, BVT => ISO_A3_BVT, BRA => ISO_A3_BRA, IOT => ISO_A3_IOT, BRN => ISO_A3_BRN, BGR => ISO_A3_BGR, BFA => ISO_A3_BFA, BDI => ISO_A3_BDI, CPV => ISO_A3_CPV, KHM => ISO_A3_KHM, CMR => ISO_A3_CMR, CAN => ISO_A3_CAN, CYM => ISO_A3_CYM, CAF => ISO_A3_CAF, TCD => ISO_A3_TCD, CHL => ISO_A3_CHL, CHN => ISO_A3_CHN, CXR => ISO_A3_CXR, CCK => ISO_A3_CCK, COL => ISO_A3_COL, COM => ISO_A3_COM, COG => ISO_A3_COG, COD => ISO_A3_COD, COK => ISO_A3_COK, CRI => ISO_A3_CRI, CIV => ISO_A3_CIV, HRV => ISO_A3_HRV, CUB => ISO_A3_CUB, CUW => ISO_A3_CUW, CYP => ISO_A3_CYP, CZE => ISO_A3_CZE, DNK => ISO_A3_DNK, DJI => ISO_A3_DJI, DMA => ISO_A3_DMA, DOM => ISO_A3_DOM, ECU => ISO_A3_ECU, EGY => ISO_A3_EGY, SLV => ISO_A3_SLV, GNQ => ISO_A3_GNQ, ERI => ISO_A3_ERI, EST => ISO_A3_EST, ETH => ISO_A3_ETH, FLK => ISO_A3_FLK, FRO => ISO_A3_FRO, FJI => ISO_A3_FJI, FIN => ISO_A3_FIN, FRA => ISO_A3_FRA, GUF => ISO_A3_GUF, PYF => ISO_A3_PYF, ATF => ISO_A3_ATF, GAB => ISO_A3_GAB, GMB => ISO_A3_GMB, GEO => ISO_A3_GEO, DEU => ISO_A3_DEU, GHA => ISO_A3_GHA, GIB => ISO_A3_GIB, GRC => ISO_A3_GRC, GRL => ISO_A3_GRL, GRD => ISO_A3_GRD, GLP => ISO_A3_GLP, GUM => ISO_A3_GUM, GTM => ISO_A3_GTM, GGY => ISO_A3_GGY, GIN => ISO_A3_GIN, GNB => ISO_A3_GNB, GUY => ISO_A3_GUY, HTI => ISO_A3_HTI, HMD => ISO_A3_HMD, VAT => ISO_A3_VAT, HND => ISO_A3_HND, HKG => ISO_A3_HKG, HUN => ISO_A3_HUN, ISL => ISO_A3_ISL, IND => ISO_A3_IND, IDN => ISO_A3_IDN, IRN => ISO_A3_IRN, IRQ => ISO_A3_IRQ, IRL => ISO_A3_IRL, IMN => ISO_A3_IMN, ISR => ISO_A3_ISR, ITA => ISO_A3_ITA, JAM => ISO_A3_JAM, JPN => ISO_A3_JPN, JEY => ISO_A3_JEY, JOR => ISO_A3_JOR, KAZ => ISO_A3_KAZ, KEN => ISO_A3_KEN, KIR => ISO_A3_KIR, PRK => ISO_A3_PRK, KOR => ISO_A3_KOR, KWT => ISO_A3_KWT, KGZ => ISO_A3_KGZ, LAO => ISO_A3_LAO, LVA => ISO_A3_LVA, LBN => ISO_A3_LBN, LSO => ISO_A3_LSO, LBR => ISO_A3_LBR, LBY => ISO_A3_LBY, LIE => ISO_A3_LIE, LTU => ISO_A3_LTU, LUX => ISO_A3_LUX, MAC => ISO_A3_MAC, MKD => ISO_A3_MKD, MDG => ISO_A3_MDG, MWI => ISO_A3_MWI, MYS => ISO_A3_MYS, MDV => ISO_A3_MDV, MLI => ISO_A3_MLI, MLT => ISO_A3_MLT, MHL => ISO_A3_MHL, MTQ => ISO_A3_MTQ, MRT => ISO_A3_MRT, MUS => ISO_A3_MUS, MYT => ISO_A3_MYT, MEX => ISO_A3_MEX, FSM => ISO_A3_FSM, MDA => ISO_A3_MDA, MCO => ISO_A3_MCO, MNG => ISO_A3_MNG, MNE => ISO_A3_MNE, MSR => ISO_A3_MSR, MAR => ISO_A3_MAR, MOZ => ISO_A3_MOZ, MMR => ISO_A3_MMR, NAM => ISO_A3_NAM, NRU => ISO_A3_NRU, NPL => ISO_A3_NPL, NLD => ISO_A3_NLD, NCL => ISO_A3_NCL, NZL => ISO_A3_NZL, NIC => ISO_A3_NIC, NER => ISO_A3_NER, NGA => ISO_A3_NGA, NIU => ISO_A3_NIU, NFK => ISO_A3_NFK, MNP => ISO_A3_MNP, NOR => ISO_A3_NOR, OMN => ISO_A3_OMN, PAK => ISO_A3_PAK, PLW => ISO_A3_PLW, PSE => ISO_A3_PSE, PAN => ISO_A3_PAN, PNG => ISO_A3_PNG, PRY => ISO_A3_PRY, PER => ISO_A3_PER, PHL => ISO_A3_PHL, PCN => ISO_A3_PCN, POL => ISO_A3_POL, PRT => ISO_A3_PRT, PRI => ISO_A3_PRI, QAT => ISO_A3_QAT, REU => ISO_A3_REU, ROU => ISO_A3_ROU, RUS => ISO_A3_RUS, RWA => ISO_A3_RWA, BLM => ISO_A3_BLM, SHN => ISO_A3_SHN, KNA => ISO_A3_KNA, LCA => ISO_A3_LCA, MAF => ISO_A3_MAF, SPM => ISO_A3_SPM, VCT => ISO_A3_VCT, WSM => ISO_A3_WSM, SMR => ISO_A3_SMR, STP => ISO_A3_STP, SAU => ISO_A3_SAU, SEN => ISO_A3_SEN, SRB => ISO_A3_SRB, SYC => ISO_A3_SYC, SLE => ISO_A3_SLE, SGP => ISO_A3_SGP, SXM => ISO_A3_SXM, SVK => ISO_A3_SVK, SVN => ISO_A3_SVN, SLB => ISO_A3_SLB, SOM => ISO_A3_SOM, ZAF => ISO_A3_ZAF, SGS => ISO_A3_SGS, SSD => ISO_A3_SSD, ESP => ISO_A3_ESP, LKA => ISO_A3_LKA, SDN => ISO_A3_SDN, SUR => ISO_A3_SUR, SJM => ISO_A3_SJM, SWZ => ISO_A3_SWZ, SWE => ISO_A3_SWE, CHE => ISO_A3_CHE, SYR => ISO_A3_SYR, TWN => ISO_A3_TWN, TJK => ISO_A3_TJK, TZA => ISO_A3_TZA, THA => ISO_A3_THA, TLS => ISO_A3_TLS, TGO => ISO_A3_TGO, TKL => ISO_A3_TKL, TON => ISO_A3_TON, TTO => ISO_A3_TTO, TUN => ISO_A3_TUN, TUR => ISO_A3_TUR, TKM => ISO_A3_TKM, TCA => ISO_A3_TCA, TUV => ISO_A3_TUV, UGA => ISO_A3_UGA, UKR => ISO_A3_UKR, ARE => ISO_A3_ARE, GBR => ISO_A3_GBR, USA => ISO_A3_USA, UMI => ISO_A3_UMI, URY => ISO_A3_URY, UZB => ISO_A3_UZB, VUT => ISO_A3_VUT, VEN => ISO_A3_VEN, VNM => ISO_A3_VNM, VGB => ISO_A3_VGB, VIR => ISO_A3_VIR, WLF => ISO_A3_WLF, ESH => ISO_A3_ESH, YEM => ISO_A3_YEM, ZMB => ISO_A3_ZMB, ZWE => ISO_A3_ZWE, } } /// Attempts to determine the ISO 3166-1 CountryCode for the given two-character string, /// assuming it is in upper-case characters pub fn for_alpha2(value: &str) -> Result { use CountryCode::*; use alpha2::*; match value { ISO_A2_AFG => Ok(AFG), ISO_A2_ALA => Ok(ALA), ISO_A2_ALB => Ok(ALB), ISO_A2_DZA => Ok(DZA), ISO_A2_ASM => Ok(ASM), ISO_A2_AND => Ok(AND), ISO_A2_AGO => Ok(AGO), ISO_A2_AIA => Ok(AIA), ISO_A2_ATA => Ok(ATA), ISO_A2_ATG => Ok(ATG), ISO_A2_ARG => Ok(ARG), ISO_A2_ARM => Ok(ARM), ISO_A2_ABW => Ok(ABW), ISO_A2_AUS => Ok(AUS), ISO_A2_AUT => Ok(AUT), ISO_A2_AZE => Ok(AZE), ISO_A2_BHS => Ok(BHS), ISO_A2_BHR => Ok(BHR), ISO_A2_BGD => Ok(BGD), ISO_A2_BRB => Ok(BRB), ISO_A2_BLR => Ok(BLR), ISO_A2_BEL => Ok(BEL), ISO_A2_BLZ => Ok(BLZ), ISO_A2_BEN => Ok(BEN), ISO_A2_BMU => Ok(BMU), ISO_A2_BTN => Ok(BTN), ISO_A2_BOL => Ok(BOL), ISO_A2_BES => Ok(BES), ISO_A2_BIH => Ok(BIH), ISO_A2_BWA => Ok(BWA), ISO_A2_BVT => Ok(BVT), ISO_A2_BRA => Ok(BRA), ISO_A2_IOT => Ok(IOT), ISO_A2_BRN => Ok(BRN), ISO_A2_BGR => Ok(BGR), ISO_A2_BFA => Ok(BFA), ISO_A2_BDI => Ok(BDI), ISO_A2_CPV => Ok(CPV), ISO_A2_KHM => Ok(KHM), ISO_A2_CMR => Ok(CMR), ISO_A2_CAN => Ok(CAN), ISO_A2_CYM => Ok(CYM), ISO_A2_CAF => Ok(CAF), ISO_A2_TCD => Ok(TCD), ISO_A2_CHL => Ok(CHL), ISO_A2_CHN => Ok(CHN), ISO_A2_CXR => Ok(CXR), ISO_A2_CCK => Ok(CCK), ISO_A2_COL => Ok(COL), ISO_A2_COM => Ok(COM), ISO_A2_COG => Ok(COG), ISO_A2_COD => Ok(COD), ISO_A2_COK => Ok(COK), ISO_A2_CRI => Ok(CRI), ISO_A2_CIV => Ok(CIV), ISO_A2_HRV => Ok(HRV), ISO_A2_CUB => Ok(CUB), ISO_A2_CUW => Ok(CUW), ISO_A2_CYP => Ok(CYP), ISO_A2_CZE => Ok(CZE), ISO_A2_DNK => Ok(DNK), ISO_A2_DJI => Ok(DJI), ISO_A2_DMA => Ok(DMA), ISO_A2_DOM => Ok(DOM), ISO_A2_ECU => Ok(ECU), ISO_A2_EGY => Ok(EGY), ISO_A2_SLV => Ok(SLV), ISO_A2_GNQ => Ok(GNQ), ISO_A2_ERI => Ok(ERI), ISO_A2_EST => Ok(EST), ISO_A2_ETH => Ok(ETH), ISO_A2_FLK => Ok(FLK), ISO_A2_FRO => Ok(FRO), ISO_A2_FJI => Ok(FJI), ISO_A2_FIN => Ok(FIN), ISO_A2_FRA => Ok(FRA), ISO_A2_GUF => Ok(GUF), ISO_A2_PYF => Ok(PYF), ISO_A2_ATF => Ok(ATF), ISO_A2_GAB => Ok(GAB), ISO_A2_GMB => Ok(GMB), ISO_A2_GEO => Ok(GEO), ISO_A2_DEU => Ok(DEU), ISO_A2_GHA => Ok(GHA), ISO_A2_GIB => Ok(GIB), ISO_A2_GRC => Ok(GRC), ISO_A2_GRL => Ok(GRL), ISO_A2_GRD => Ok(GRD), ISO_A2_GLP => Ok(GLP), ISO_A2_GUM => Ok(GUM), ISO_A2_GTM => Ok(GTM), ISO_A2_GGY => Ok(GGY), ISO_A2_GIN => Ok(GIN), ISO_A2_GNB => Ok(GNB), ISO_A2_GUY => Ok(GUY), ISO_A2_HTI => Ok(HTI), ISO_A2_HMD => Ok(HMD), ISO_A2_VAT => Ok(VAT), ISO_A2_HND => Ok(HND), ISO_A2_HKG => Ok(HKG), ISO_A2_HUN => Ok(HUN), ISO_A2_ISL => Ok(ISL), ISO_A2_IND => Ok(IND), ISO_A2_IDN => Ok(IDN), ISO_A2_IRN => Ok(IRN), ISO_A2_IRQ => Ok(IRQ), ISO_A2_IRL => Ok(IRL), ISO_A2_IMN => Ok(IMN), ISO_A2_ISR => Ok(ISR), ISO_A2_ITA => Ok(ITA), ISO_A2_JAM => Ok(JAM), ISO_A2_JPN => Ok(JPN), ISO_A2_JEY => Ok(JEY), ISO_A2_JOR => Ok(JOR), ISO_A2_KAZ => Ok(KAZ), ISO_A2_KEN => Ok(KEN), ISO_A2_KIR => Ok(KIR), ISO_A2_PRK => Ok(PRK), ISO_A2_KOR => Ok(KOR), ISO_A2_KWT => Ok(KWT), ISO_A2_KGZ => Ok(KGZ), ISO_A2_LAO => Ok(LAO), ISO_A2_LVA => Ok(LVA), ISO_A2_LBN => Ok(LBN), ISO_A2_LSO => Ok(LSO), ISO_A2_LBR => Ok(LBR), ISO_A2_LBY => Ok(LBY), ISO_A2_LIE => Ok(LIE), ISO_A2_LTU => Ok(LTU), ISO_A2_LUX => Ok(LUX), ISO_A2_MAC => Ok(MAC), ISO_A2_MKD => Ok(MKD), ISO_A2_MDG => Ok(MDG), ISO_A2_MWI => Ok(MWI), ISO_A2_MYS => Ok(MYS), ISO_A2_MDV => Ok(MDV), ISO_A2_MLI => Ok(MLI), ISO_A2_MLT => Ok(MLT), ISO_A2_MHL => Ok(MHL), ISO_A2_MTQ => Ok(MTQ), ISO_A2_MRT => Ok(MRT), ISO_A2_MUS => Ok(MUS), ISO_A2_MYT => Ok(MYT), ISO_A2_MEX => Ok(MEX), ISO_A2_FSM => Ok(FSM), ISO_A2_MDA => Ok(MDA), ISO_A2_MCO => Ok(MCO), ISO_A2_MNG => Ok(MNG), ISO_A2_MNE => Ok(MNE), ISO_A2_MSR => Ok(MSR), ISO_A2_MAR => Ok(MAR), ISO_A2_MOZ => Ok(MOZ), ISO_A2_MMR => Ok(MMR), ISO_A2_NAM => Ok(NAM), ISO_A2_NRU => Ok(NRU), ISO_A2_NPL => Ok(NPL), ISO_A2_NLD => Ok(NLD), ISO_A2_NCL => Ok(NCL), ISO_A2_NZL => Ok(NZL), ISO_A2_NIC => Ok(NIC), ISO_A2_NER => Ok(NER), ISO_A2_NGA => Ok(NGA), ISO_A2_NIU => Ok(NIU), ISO_A2_NFK => Ok(NFK), ISO_A2_MNP => Ok(MNP), ISO_A2_NOR => Ok(NOR), ISO_A2_OMN => Ok(OMN), ISO_A2_PAK => Ok(PAK), ISO_A2_PLW => Ok(PLW), ISO_A2_PSE => Ok(PSE), ISO_A2_PAN => Ok(PAN), ISO_A2_PNG => Ok(PNG), ISO_A2_PRY => Ok(PRY), ISO_A2_PER => Ok(PER), ISO_A2_PHL => Ok(PHL), ISO_A2_PCN => Ok(PCN), ISO_A2_POL => Ok(POL), ISO_A2_PRT => Ok(PRT), ISO_A2_PRI => Ok(PRI), ISO_A2_QAT => Ok(QAT), ISO_A2_REU => Ok(REU), ISO_A2_ROU => Ok(ROU), ISO_A2_RUS => Ok(RUS), ISO_A2_RWA => Ok(RWA), ISO_A2_BLM => Ok(BLM), ISO_A2_SHN => Ok(SHN), ISO_A2_KNA => Ok(KNA), ISO_A2_LCA => Ok(LCA), ISO_A2_MAF => Ok(MAF), ISO_A2_SPM => Ok(SPM), ISO_A2_VCT => Ok(VCT), ISO_A2_WSM => Ok(WSM), ISO_A2_SMR => Ok(SMR), ISO_A2_STP => Ok(STP), ISO_A2_SAU => Ok(SAU), ISO_A2_SEN => Ok(SEN), ISO_A2_SRB => Ok(SRB), ISO_A2_SYC => Ok(SYC), ISO_A2_SLE => Ok(SLE), ISO_A2_SGP => Ok(SGP), ISO_A2_SXM => Ok(SXM), ISO_A2_SVK => Ok(SVK), ISO_A2_SVN => Ok(SVN), ISO_A2_SLB => Ok(SLB), ISO_A2_SOM => Ok(SOM), ISO_A2_ZAF => Ok(ZAF), ISO_A2_SGS => Ok(SGS), ISO_A2_SSD => Ok(SSD), ISO_A2_ESP => Ok(ESP), ISO_A2_LKA => Ok(LKA), ISO_A2_SDN => Ok(SDN), ISO_A2_SUR => Ok(SUR), ISO_A2_SJM => Ok(SJM), ISO_A2_SWZ => Ok(SWZ), ISO_A2_SWE => Ok(SWE), ISO_A2_CHE => Ok(CHE), ISO_A2_SYR => Ok(SYR), ISO_A2_TWN => Ok(TWN), ISO_A2_TJK => Ok(TJK), ISO_A2_TZA => Ok(TZA), ISO_A2_THA => Ok(THA), ISO_A2_TLS => Ok(TLS), ISO_A2_TGO => Ok(TGO), ISO_A2_TKL => Ok(TKL), ISO_A2_TON => Ok(TON), ISO_A2_TTO => Ok(TTO), ISO_A2_TUN => Ok(TUN), ISO_A2_TUR => Ok(TUR), ISO_A2_TKM => Ok(TKM), ISO_A2_TCA => Ok(TCA), ISO_A2_TUV => Ok(TUV), ISO_A2_UGA => Ok(UGA), ISO_A2_UKR => Ok(UKR), ISO_A2_ARE => Ok(ARE), ISO_A2_GBR => Ok(GBR), ISO_A2_USA => Ok(USA), ISO_A2_UMI => Ok(UMI), ISO_A2_URY => Ok(URY), ISO_A2_UZB => Ok(UZB), ISO_A2_VUT => Ok(VUT), ISO_A2_VEN => Ok(VEN), ISO_A2_VNM => Ok(VNM), ISO_A2_VGB => Ok(VGB), ISO_A2_VIR => Ok(VIR), ISO_A2_WLF => Ok(WLF), ISO_A2_ESH => Ok(ESH), ISO_A2_YEM => Ok(YEM), ISO_A2_ZMB => Ok(ZMB), ISO_A2_ZWE => Ok(ZWE), x => Err(CountryCodeParseErr::InvalidAlpha2 { unknown: String::from(x), }), } } /// Attempts to determine the ISO 3166-1 CountryCode for the given two-character string, /// making no assumption as to the case-ness of the input pub fn for_alpha2_caseless(value: &str) -> Result { let uppercase = value.to_uppercase(); CountryCode::for_alpha2(uppercase.as_ref()) } /// Attempts to determine the ISO 3166-1 CountryCode for the given three-character string, /// assuming it is in upper-case characters pub fn for_alpha3(value: &str) -> Result { use CountryCode::*; use alpha3::*; match value { ISO_A3_AFG => Ok(AFG), ISO_A3_ALA => Ok(ALA), ISO_A3_ALB => Ok(ALB), ISO_A3_DZA => Ok(DZA), ISO_A3_ASM => Ok(ASM), ISO_A3_AND => Ok(AND), ISO_A3_AGO => Ok(AGO), ISO_A3_AIA => Ok(AIA), ISO_A3_ATA => Ok(ATA), ISO_A3_ATG => Ok(ATG), ISO_A3_ARG => Ok(ARG), ISO_A3_ARM => Ok(ARM), ISO_A3_ABW => Ok(ABW), ISO_A3_AUS => Ok(AUS), ISO_A3_AUT => Ok(AUT), ISO_A3_AZE => Ok(AZE), ISO_A3_BHS => Ok(BHS), ISO_A3_BHR => Ok(BHR), ISO_A3_BGD => Ok(BGD), ISO_A3_BRB => Ok(BRB), ISO_A3_BLR => Ok(BLR), ISO_A3_BEL => Ok(BEL), ISO_A3_BLZ => Ok(BLZ), ISO_A3_BEN => Ok(BEN), ISO_A3_BMU => Ok(BMU), ISO_A3_BTN => Ok(BTN), ISO_A3_BOL => Ok(BOL), ISO_A3_BES => Ok(BES), ISO_A3_BIH => Ok(BIH), ISO_A3_BWA => Ok(BWA), ISO_A3_BVT => Ok(BVT), ISO_A3_BRA => Ok(BRA), ISO_A3_IOT => Ok(IOT), ISO_A3_BRN => Ok(BRN), ISO_A3_BGR => Ok(BGR), ISO_A3_BFA => Ok(BFA), ISO_A3_BDI => Ok(BDI), ISO_A3_CPV => Ok(CPV), ISO_A3_KHM => Ok(KHM), ISO_A3_CMR => Ok(CMR), ISO_A3_CAN => Ok(CAN), ISO_A3_CYM => Ok(CYM), ISO_A3_CAF => Ok(CAF), ISO_A3_TCD => Ok(TCD), ISO_A3_CHL => Ok(CHL), ISO_A3_CHN => Ok(CHN), ISO_A3_CXR => Ok(CXR), ISO_A3_CCK => Ok(CCK), ISO_A3_COL => Ok(COL), ISO_A3_COM => Ok(COM), ISO_A3_COG => Ok(COG), ISO_A3_COD => Ok(COD), ISO_A3_COK => Ok(COK), ISO_A3_CRI => Ok(CRI), ISO_A3_CIV => Ok(CIV), ISO_A3_HRV => Ok(HRV), ISO_A3_CUB => Ok(CUB), ISO_A3_CUW => Ok(CUW), ISO_A3_CYP => Ok(CYP), ISO_A3_CZE => Ok(CZE), ISO_A3_DNK => Ok(DNK), ISO_A3_DJI => Ok(DJI), ISO_A3_DMA => Ok(DMA), ISO_A3_DOM => Ok(DOM), ISO_A3_ECU => Ok(ECU), ISO_A3_EGY => Ok(EGY), ISO_A3_SLV => Ok(SLV), ISO_A3_GNQ => Ok(GNQ), ISO_A3_ERI => Ok(ERI), ISO_A3_EST => Ok(EST), ISO_A3_ETH => Ok(ETH), ISO_A3_FLK => Ok(FLK), ISO_A3_FRO => Ok(FRO), ISO_A3_FJI => Ok(FJI), ISO_A3_FIN => Ok(FIN), ISO_A3_FRA => Ok(FRA), ISO_A3_GUF => Ok(GUF), ISO_A3_PYF => Ok(PYF), ISO_A3_ATF => Ok(ATF), ISO_A3_GAB => Ok(GAB), ISO_A3_GMB => Ok(GMB), ISO_A3_GEO => Ok(GEO), ISO_A3_DEU => Ok(DEU), ISO_A3_GHA => Ok(GHA), ISO_A3_GIB => Ok(GIB), ISO_A3_GRC => Ok(GRC), ISO_A3_GRL => Ok(GRL), ISO_A3_GRD => Ok(GRD), ISO_A3_GLP => Ok(GLP), ISO_A3_GUM => Ok(GUM), ISO_A3_GTM => Ok(GTM), ISO_A3_GGY => Ok(GGY), ISO_A3_GIN => Ok(GIN), ISO_A3_GNB => Ok(GNB), ISO_A3_GUY => Ok(GUY), ISO_A3_HTI => Ok(HTI), ISO_A3_HMD => Ok(HMD), ISO_A3_VAT => Ok(VAT), ISO_A3_HND => Ok(HND), ISO_A3_HKG => Ok(HKG), ISO_A3_HUN => Ok(HUN), ISO_A3_ISL => Ok(ISL), ISO_A3_IND => Ok(IND), ISO_A3_IDN => Ok(IDN), ISO_A3_IRN => Ok(IRN), ISO_A3_IRQ => Ok(IRQ), ISO_A3_IRL => Ok(IRL), ISO_A3_IMN => Ok(IMN), ISO_A3_ISR => Ok(ISR), ISO_A3_ITA => Ok(ITA), ISO_A3_JAM => Ok(JAM), ISO_A3_JPN => Ok(JPN), ISO_A3_JEY => Ok(JEY), ISO_A3_JOR => Ok(JOR), ISO_A3_KAZ => Ok(KAZ), ISO_A3_KEN => Ok(KEN), ISO_A3_KIR => Ok(KIR), ISO_A3_PRK => Ok(PRK), ISO_A3_KOR => Ok(KOR), ISO_A3_KWT => Ok(KWT), ISO_A3_KGZ => Ok(KGZ), ISO_A3_LAO => Ok(LAO), ISO_A3_LVA => Ok(LVA), ISO_A3_LBN => Ok(LBN), ISO_A3_LSO => Ok(LSO), ISO_A3_LBR => Ok(LBR), ISO_A3_LBY => Ok(LBY), ISO_A3_LIE => Ok(LIE), ISO_A3_LTU => Ok(LTU), ISO_A3_LUX => Ok(LUX), ISO_A3_MAC => Ok(MAC), ISO_A3_MKD => Ok(MKD), ISO_A3_MDG => Ok(MDG), ISO_A3_MWI => Ok(MWI), ISO_A3_MYS => Ok(MYS), ISO_A3_MDV => Ok(MDV), ISO_A3_MLI => Ok(MLI), ISO_A3_MLT => Ok(MLT), ISO_A3_MHL => Ok(MHL), ISO_A3_MTQ => Ok(MTQ), ISO_A3_MRT => Ok(MRT), ISO_A3_MUS => Ok(MUS), ISO_A3_MYT => Ok(MYT), ISO_A3_MEX => Ok(MEX), ISO_A3_FSM => Ok(FSM), ISO_A3_MDA => Ok(MDA), ISO_A3_MCO => Ok(MCO), ISO_A3_MNG => Ok(MNG), ISO_A3_MNE => Ok(MNE), ISO_A3_MSR => Ok(MSR), ISO_A3_MAR => Ok(MAR), ISO_A3_MOZ => Ok(MOZ), ISO_A3_MMR => Ok(MMR), ISO_A3_NAM => Ok(NAM), ISO_A3_NRU => Ok(NRU), ISO_A3_NPL => Ok(NPL), ISO_A3_NLD => Ok(NLD), ISO_A3_NCL => Ok(NCL), ISO_A3_NZL => Ok(NZL), ISO_A3_NIC => Ok(NIC), ISO_A3_NER => Ok(NER), ISO_A3_NGA => Ok(NGA), ISO_A3_NIU => Ok(NIU), ISO_A3_NFK => Ok(NFK), ISO_A3_MNP => Ok(MNP), ISO_A3_NOR => Ok(NOR), ISO_A3_OMN => Ok(OMN), ISO_A3_PAK => Ok(PAK), ISO_A3_PLW => Ok(PLW), ISO_A3_PSE => Ok(PSE), ISO_A3_PAN => Ok(PAN), ISO_A3_PNG => Ok(PNG), ISO_A3_PRY => Ok(PRY), ISO_A3_PER => Ok(PER), ISO_A3_PHL => Ok(PHL), ISO_A3_PCN => Ok(PCN), ISO_A3_POL => Ok(POL), ISO_A3_PRT => Ok(PRT), ISO_A3_PRI => Ok(PRI), ISO_A3_QAT => Ok(QAT), ISO_A3_REU => Ok(REU), ISO_A3_ROU => Ok(ROU), ISO_A3_RUS => Ok(RUS), ISO_A3_RWA => Ok(RWA), ISO_A3_BLM => Ok(BLM), ISO_A3_SHN => Ok(SHN), ISO_A3_KNA => Ok(KNA), ISO_A3_LCA => Ok(LCA), ISO_A3_MAF => Ok(MAF), ISO_A3_SPM => Ok(SPM), ISO_A3_VCT => Ok(VCT), ISO_A3_WSM => Ok(WSM), ISO_A3_SMR => Ok(SMR), ISO_A3_STP => Ok(STP), ISO_A3_SAU => Ok(SAU), ISO_A3_SEN => Ok(SEN), ISO_A3_SRB => Ok(SRB), ISO_A3_SYC => Ok(SYC), ISO_A3_SLE => Ok(SLE), ISO_A3_SGP => Ok(SGP), ISO_A3_SXM => Ok(SXM), ISO_A3_SVK => Ok(SVK), ISO_A3_SVN => Ok(SVN), ISO_A3_SLB => Ok(SLB), ISO_A3_SOM => Ok(SOM), ISO_A3_ZAF => Ok(ZAF), ISO_A3_SGS => Ok(SGS), ISO_A3_SSD => Ok(SSD), ISO_A3_ESP => Ok(ESP), ISO_A3_LKA => Ok(LKA), ISO_A3_SDN => Ok(SDN), ISO_A3_SUR => Ok(SUR), ISO_A3_SJM => Ok(SJM), ISO_A3_SWZ => Ok(SWZ), ISO_A3_SWE => Ok(SWE), ISO_A3_CHE => Ok(CHE), ISO_A3_SYR => Ok(SYR), ISO_A3_TWN => Ok(TWN), ISO_A3_TJK => Ok(TJK), ISO_A3_TZA => Ok(TZA), ISO_A3_THA => Ok(THA), ISO_A3_TLS => Ok(TLS), ISO_A3_TGO => Ok(TGO), ISO_A3_TKL => Ok(TKL), ISO_A3_TON => Ok(TON), ISO_A3_TTO => Ok(TTO), ISO_A3_TUN => Ok(TUN), ISO_A3_TUR => Ok(TUR), ISO_A3_TKM => Ok(TKM), ISO_A3_TCA => Ok(TCA), ISO_A3_TUV => Ok(TUV), ISO_A3_UGA => Ok(UGA), ISO_A3_UKR => Ok(UKR), ISO_A3_ARE => Ok(ARE), ISO_A3_GBR => Ok(GBR), ISO_A3_USA => Ok(USA), ISO_A3_UMI => Ok(UMI), ISO_A3_URY => Ok(URY), ISO_A3_UZB => Ok(UZB), ISO_A3_VUT => Ok(VUT), ISO_A3_VEN => Ok(VEN), ISO_A3_VNM => Ok(VNM), ISO_A3_VGB => Ok(VGB), ISO_A3_VIR => Ok(VIR), ISO_A3_WLF => Ok(WLF), ISO_A3_ESH => Ok(ESH), ISO_A3_YEM => Ok(YEM), ISO_A3_ZMB => Ok(ZMB), ISO_A3_ZWE => Ok(ZWE), x => Err(CountryCodeParseErr::InvalidAlpha3 { unknown: String::from(x), }), } } /// Attempts to determine the ISO 3166-1 CountryCode for the given three-character string, /// making no assumption as to the case-ness of the input pub fn for_alpha3_caseless(value: &str) -> Result { let uppercase = value.to_uppercase(); CountryCode::for_alpha3(uppercase.as_ref()) } /// Attempts to determine the ISO 3166-1 CountryCode for the given unsigned integer pub fn for_id(value: u32) -> Result { use CountryCode::*; use numeric::*; match value { ISO_NUM_AFG => Ok(AFG), ISO_NUM_ALA => Ok(ALA), ISO_NUM_ALB => Ok(ALB), ISO_NUM_DZA => Ok(DZA), ISO_NUM_ASM => Ok(ASM), ISO_NUM_AND => Ok(AND), ISO_NUM_AGO => Ok(AGO), ISO_NUM_AIA => Ok(AIA), ISO_NUM_ATA => Ok(ATA), ISO_NUM_ATG => Ok(ATG), ISO_NUM_ARG => Ok(ARG), ISO_NUM_ARM => Ok(ARM), ISO_NUM_ABW => Ok(ABW), ISO_NUM_AUS => Ok(AUS), ISO_NUM_AUT => Ok(AUT), ISO_NUM_AZE => Ok(AZE), ISO_NUM_BHS => Ok(BHS), ISO_NUM_BHR => Ok(BHR), ISO_NUM_BGD => Ok(BGD), ISO_NUM_BRB => Ok(BRB), ISO_NUM_BLR => Ok(BLR), ISO_NUM_BEL => Ok(BEL), ISO_NUM_BLZ => Ok(BLZ), ISO_NUM_BEN => Ok(BEN), ISO_NUM_BMU => Ok(BMU), ISO_NUM_BTN => Ok(BTN), ISO_NUM_BOL => Ok(BOL), ISO_NUM_BES => Ok(BES), ISO_NUM_BIH => Ok(BIH), ISO_NUM_BWA => Ok(BWA), ISO_NUM_BVT => Ok(BVT), ISO_NUM_BRA => Ok(BRA), ISO_NUM_IOT => Ok(IOT), ISO_NUM_BRN => Ok(BRN), ISO_NUM_BGR => Ok(BGR), ISO_NUM_BFA => Ok(BFA), ISO_NUM_BDI => Ok(BDI), ISO_NUM_CPV => Ok(CPV), ISO_NUM_KHM => Ok(KHM), ISO_NUM_CMR => Ok(CMR), ISO_NUM_CAN => Ok(CAN), ISO_NUM_CYM => Ok(CYM), ISO_NUM_CAF => Ok(CAF), ISO_NUM_TCD => Ok(TCD), ISO_NUM_CHL => Ok(CHL), ISO_NUM_CHN => Ok(CHN), ISO_NUM_CXR => Ok(CXR), ISO_NUM_CCK => Ok(CCK), ISO_NUM_COL => Ok(COL), ISO_NUM_COM => Ok(COM), ISO_NUM_COG => Ok(COG), ISO_NUM_COD => Ok(COD), ISO_NUM_COK => Ok(COK), ISO_NUM_CRI => Ok(CRI), ISO_NUM_CIV => Ok(CIV), ISO_NUM_HRV => Ok(HRV), ISO_NUM_CUB => Ok(CUB), ISO_NUM_CUW => Ok(CUW), ISO_NUM_CYP => Ok(CYP), ISO_NUM_CZE => Ok(CZE), ISO_NUM_DNK => Ok(DNK), ISO_NUM_DJI => Ok(DJI), ISO_NUM_DMA => Ok(DMA), ISO_NUM_DOM => Ok(DOM), ISO_NUM_ECU => Ok(ECU), ISO_NUM_EGY => Ok(EGY), ISO_NUM_SLV => Ok(SLV), ISO_NUM_GNQ => Ok(GNQ), ISO_NUM_ERI => Ok(ERI), ISO_NUM_EST => Ok(EST), ISO_NUM_ETH => Ok(ETH), ISO_NUM_FLK => Ok(FLK), ISO_NUM_FRO => Ok(FRO), ISO_NUM_FJI => Ok(FJI), ISO_NUM_FIN => Ok(FIN), ISO_NUM_FRA => Ok(FRA), ISO_NUM_GUF => Ok(GUF), ISO_NUM_PYF => Ok(PYF), ISO_NUM_ATF => Ok(ATF), ISO_NUM_GAB => Ok(GAB), ISO_NUM_GMB => Ok(GMB), ISO_NUM_GEO => Ok(GEO), ISO_NUM_DEU => Ok(DEU), ISO_NUM_GHA => Ok(GHA), ISO_NUM_GIB => Ok(GIB), ISO_NUM_GRC => Ok(GRC), ISO_NUM_GRL => Ok(GRL), ISO_NUM_GRD => Ok(GRD), ISO_NUM_GLP => Ok(GLP), ISO_NUM_GUM => Ok(GUM), ISO_NUM_GTM => Ok(GTM), ISO_NUM_GGY => Ok(GGY), ISO_NUM_GIN => Ok(GIN), ISO_NUM_GNB => Ok(GNB), ISO_NUM_GUY => Ok(GUY), ISO_NUM_HTI => Ok(HTI), ISO_NUM_HMD => Ok(HMD), ISO_NUM_VAT => Ok(VAT), ISO_NUM_HND => Ok(HND), ISO_NUM_HKG => Ok(HKG), ISO_NUM_HUN => Ok(HUN), ISO_NUM_ISL => Ok(ISL), ISO_NUM_IND => Ok(IND), ISO_NUM_IDN => Ok(IDN), ISO_NUM_IRN => Ok(IRN), ISO_NUM_IRQ => Ok(IRQ), ISO_NUM_IRL => Ok(IRL), ISO_NUM_IMN => Ok(IMN), ISO_NUM_ISR => Ok(ISR), ISO_NUM_ITA => Ok(ITA), ISO_NUM_JAM => Ok(JAM), ISO_NUM_JPN => Ok(JPN), ISO_NUM_JEY => Ok(JEY), ISO_NUM_JOR => Ok(JOR), ISO_NUM_KAZ => Ok(KAZ), ISO_NUM_KEN => Ok(KEN), ISO_NUM_KIR => Ok(KIR), ISO_NUM_PRK => Ok(PRK), ISO_NUM_KOR => Ok(KOR), ISO_NUM_KWT => Ok(KWT), ISO_NUM_KGZ => Ok(KGZ), ISO_NUM_LAO => Ok(LAO), ISO_NUM_LVA => Ok(LVA), ISO_NUM_LBN => Ok(LBN), ISO_NUM_LSO => Ok(LSO), ISO_NUM_LBR => Ok(LBR), ISO_NUM_LBY => Ok(LBY), ISO_NUM_LIE => Ok(LIE), ISO_NUM_LTU => Ok(LTU), ISO_NUM_LUX => Ok(LUX), ISO_NUM_MAC => Ok(MAC), ISO_NUM_MKD => Ok(MKD), ISO_NUM_MDG => Ok(MDG), ISO_NUM_MWI => Ok(MWI), ISO_NUM_MYS => Ok(MYS), ISO_NUM_MDV => Ok(MDV), ISO_NUM_MLI => Ok(MLI), ISO_NUM_MLT => Ok(MLT), ISO_NUM_MHL => Ok(MHL), ISO_NUM_MTQ => Ok(MTQ), ISO_NUM_MRT => Ok(MRT), ISO_NUM_MUS => Ok(MUS), ISO_NUM_MYT => Ok(MYT), ISO_NUM_MEX => Ok(MEX), ISO_NUM_FSM => Ok(FSM), ISO_NUM_MDA => Ok(MDA), ISO_NUM_MCO => Ok(MCO), ISO_NUM_MNG => Ok(MNG), ISO_NUM_MNE => Ok(MNE), ISO_NUM_MSR => Ok(MSR), ISO_NUM_MAR => Ok(MAR), ISO_NUM_MOZ => Ok(MOZ), ISO_NUM_MMR => Ok(MMR), ISO_NUM_NAM => Ok(NAM), ISO_NUM_NRU => Ok(NRU), ISO_NUM_NPL => Ok(NPL), ISO_NUM_NLD => Ok(NLD), ISO_NUM_NCL => Ok(NCL), ISO_NUM_NZL => Ok(NZL), ISO_NUM_NIC => Ok(NIC), ISO_NUM_NER => Ok(NER), ISO_NUM_NGA => Ok(NGA), ISO_NUM_NIU => Ok(NIU), ISO_NUM_NFK => Ok(NFK), ISO_NUM_MNP => Ok(MNP), ISO_NUM_NOR => Ok(NOR), ISO_NUM_OMN => Ok(OMN), ISO_NUM_PAK => Ok(PAK), ISO_NUM_PLW => Ok(PLW), ISO_NUM_PSE => Ok(PSE), ISO_NUM_PAN => Ok(PAN), ISO_NUM_PNG => Ok(PNG), ISO_NUM_PRY => Ok(PRY), ISO_NUM_PER => Ok(PER), ISO_NUM_PHL => Ok(PHL), ISO_NUM_PCN => Ok(PCN), ISO_NUM_POL => Ok(POL), ISO_NUM_PRT => Ok(PRT), ISO_NUM_PRI => Ok(PRI), ISO_NUM_QAT => Ok(QAT), ISO_NUM_REU => Ok(REU), ISO_NUM_ROU => Ok(ROU), ISO_NUM_RUS => Ok(RUS), ISO_NUM_RWA => Ok(RWA), ISO_NUM_BLM => Ok(BLM), ISO_NUM_SHN => Ok(SHN), ISO_NUM_KNA => Ok(KNA), ISO_NUM_LCA => Ok(LCA), ISO_NUM_MAF => Ok(MAF), ISO_NUM_SPM => Ok(SPM), ISO_NUM_VCT => Ok(VCT), ISO_NUM_WSM => Ok(WSM), ISO_NUM_SMR => Ok(SMR), ISO_NUM_STP => Ok(STP), ISO_NUM_SAU => Ok(SAU), ISO_NUM_SEN => Ok(SEN), ISO_NUM_SRB => Ok(SRB), ISO_NUM_SYC => Ok(SYC), ISO_NUM_SLE => Ok(SLE), ISO_NUM_SGP => Ok(SGP), ISO_NUM_SXM => Ok(SXM), ISO_NUM_SVK => Ok(SVK), ISO_NUM_SVN => Ok(SVN), ISO_NUM_SLB => Ok(SLB), ISO_NUM_SOM => Ok(SOM), ISO_NUM_ZAF => Ok(ZAF), ISO_NUM_SGS => Ok(SGS), ISO_NUM_SSD => Ok(SSD), ISO_NUM_ESP => Ok(ESP), ISO_NUM_LKA => Ok(LKA), ISO_NUM_SDN => Ok(SDN), ISO_NUM_SUR => Ok(SUR), ISO_NUM_SJM => Ok(SJM), ISO_NUM_SWZ => Ok(SWZ), ISO_NUM_SWE => Ok(SWE), ISO_NUM_CHE => Ok(CHE), ISO_NUM_SYR => Ok(SYR), ISO_NUM_TWN => Ok(TWN), ISO_NUM_TJK => Ok(TJK), ISO_NUM_TZA => Ok(TZA), ISO_NUM_THA => Ok(THA), ISO_NUM_TLS => Ok(TLS), ISO_NUM_TGO => Ok(TGO), ISO_NUM_TKL => Ok(TKL), ISO_NUM_TON => Ok(TON), ISO_NUM_TTO => Ok(TTO), ISO_NUM_TUN => Ok(TUN), ISO_NUM_TUR => Ok(TUR), ISO_NUM_TKM => Ok(TKM), ISO_NUM_TCA => Ok(TCA), ISO_NUM_TUV => Ok(TUV), ISO_NUM_UGA => Ok(UGA), ISO_NUM_UKR => Ok(UKR), ISO_NUM_ARE => Ok(ARE), ISO_NUM_GBR => Ok(GBR), ISO_NUM_USA => Ok(USA), ISO_NUM_UMI => Ok(UMI), ISO_NUM_URY => Ok(URY), ISO_NUM_UZB => Ok(UZB), ISO_NUM_VUT => Ok(VUT), ISO_NUM_VEN => Ok(VEN), ISO_NUM_VNM => Ok(VNM), ISO_NUM_VGB => Ok(VGB), ISO_NUM_VIR => Ok(VIR), ISO_NUM_WLF => Ok(WLF), ISO_NUM_ESH => Ok(ESH), ISO_NUM_YEM => Ok(YEM), ISO_NUM_ZMB => Ok(ZMB), ISO_NUM_ZWE => Ok(ZWE), x => Err(CountryCodeParseErr::InvalidID { unknown: x }), } } /// Returns an array of all CountryCode variants, sorted in ascending lexicographic order /// by the full name of the corresponding country pub fn as_array() -> &'static [CountryCode; NUM_COUNTRY_CODES] { &sorted_arrays::CODES_SORTED_DEFAULT } /// Returns an array of all CountryCode variants, sorted in ascending lexicographic order /// by the alpha-2 code for the corresponding country pub fn as_array_alpha2() -> &'static [CountryCode; NUM_COUNTRY_CODES] { &sorted_arrays::CODES_SORTED_ALPHA2 } /// Returns an iterator over all CountryCode variants, sorted in ascending lexicographic order /// by the alpha-3 code for the corresponding country pub fn as_array_alpha3() -> &'static [CountryCode; NUM_COUNTRY_CODES] { &sorted_arrays::CODES_SORTED_ALPHA3 } /// Returns an iterator over all CountryCode variants, sorted in ascending order /// by the numeric code for the corresponding country pub fn as_array_numeric() -> &'static [CountryCode; NUM_COUNTRY_CODES] { &sorted_arrays::CODES_SORTED_NUMERIC_ID } /// Returns an iterator over all CountryCode variants, sorted in ascending lexicographic order /// by the full name of the corresponding country pub fn iter() -> impl Iterator { sorted_arrays::CODES_SORTED_DEFAULT.iter() } /// Returns an iterator over all CountryCode variants, sorted in ascending lexicographic order /// by the alpha-2 code for the corresponding country pub fn iter_alpha2() -> impl Iterator { sorted_arrays::CODES_SORTED_ALPHA2.iter() } /// Returns an iterator over all CountryCode variants, sorted in ascending lexicographic order /// by the alpha-3 code for the corresponding country pub fn iter_alpha3() -> impl Iterator { sorted_arrays::CODES_SORTED_ALPHA3.iter() } /// Returns an iterator over all CountryCode variants, sorted in ascending order /// by the numeric code for the corresponding country pub fn iter_numeric() -> impl Iterator { sorted_arrays::CODES_SORTED_NUMERIC_ID.iter() } /// Returns the number of unique ISO 3166-1 defined country codes currently supported by this /// library. pub fn num_country_codes() -> usize { NUM_COUNTRY_CODES } } impl Into for CountryCode { fn into(self) -> u32 { self.numeric_id() } } impl Display for CountryCode { fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> { f.write_str(self.name()) } } struct CountryCodeVisitor; impl Serialize for CountryCode { fn serialize(&self, serializer: S) -> Result where S: Serializer { serializer.collect_str(self.alpha2()) } } impl<'de> Deserialize<'de> for CountryCode { fn deserialize(deserializer: D) -> Result where D: Deserializer<'de> { deserializer.deserialize_str(CountryCodeVisitor) } } impl<'de> Visitor<'de> for CountryCodeVisitor { type Value = CountryCode; fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { write!(formatter, "an ISO 3166-1 compliant alpha-2 country code") } fn visit_str(self, v: &str) -> Result where E: de::Error, { match CountryCode::for_alpha2_caseless(v) { Ok(x) => Ok(x), Err(_) => Err(de::Error::invalid_value(de::Unexpected::Str(v), &self)), } } fn visit_borrowed_str(self, v: &'de str) -> Result where E: de::Error, { match CountryCode::for_alpha2_caseless(v) { Ok(x) => Ok(x), Err(_) => Err(de::Error::invalid_value(de::Unexpected::Str(v), &self)), } } } isocountry-0.3.2/src/numeric.rs000064400000000000000000000231331376422043400146660ustar 00000000000000// MIT License // //Copyright (c) 2018 Brett Russell // //Permission is hereby granted, free of charge, to any person obtaining a copy //of this software and associated documentation files (the "Software"), to deal //in the Software without restriction, including without limitation the rights //to use, copy, modify, merge, publish, distribute, sublicense, and/or sell //copies of the Software, and to permit persons to whom the Software is //furnished to do so, subject to the following conditions: // //The above copyright notice and this permission notice shall be included in all //copies or substantial portions of the Software. // //THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR //IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, //FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE //AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER //LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, //OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE //SOFTWARE. pub const ISO_NUM_AFG: u32 = 4; pub const ISO_NUM_ALA: u32 = 248; pub const ISO_NUM_ALB: u32 = 8; pub const ISO_NUM_DZA: u32 = 12; pub const ISO_NUM_ASM: u32 = 16; pub const ISO_NUM_AND: u32 = 20; pub const ISO_NUM_AGO: u32 = 24; pub const ISO_NUM_AIA: u32 = 660; pub const ISO_NUM_ATA: u32 = 10; pub const ISO_NUM_ATG: u32 = 28; pub const ISO_NUM_ARG: u32 = 32; pub const ISO_NUM_ARM: u32 = 51; pub const ISO_NUM_ABW: u32 = 533; pub const ISO_NUM_AUS: u32 = 36; pub const ISO_NUM_AUT: u32 = 40; pub const ISO_NUM_AZE: u32 = 31; pub const ISO_NUM_BHS: u32 = 44; pub const ISO_NUM_BHR: u32 = 48; pub const ISO_NUM_BGD: u32 = 50; pub const ISO_NUM_BRB: u32 = 52; pub const ISO_NUM_BLR: u32 = 112; pub const ISO_NUM_BEL: u32 = 56; pub const ISO_NUM_BLZ: u32 = 84; pub const ISO_NUM_BEN: u32 = 204; pub const ISO_NUM_BMU: u32 = 60; pub const ISO_NUM_BTN: u32 = 64; pub const ISO_NUM_BOL: u32 = 68; pub const ISO_NUM_BES: u32 = 535; pub const ISO_NUM_BIH: u32 = 70; pub const ISO_NUM_BWA: u32 = 72; pub const ISO_NUM_BVT: u32 = 74; pub const ISO_NUM_BRA: u32 = 76; pub const ISO_NUM_IOT: u32 = 86; pub const ISO_NUM_BRN: u32 = 96; pub const ISO_NUM_BGR: u32 = 100; pub const ISO_NUM_BFA: u32 = 854; pub const ISO_NUM_BDI: u32 = 108; pub const ISO_NUM_CPV: u32 = 132; pub const ISO_NUM_KHM: u32 = 116; pub const ISO_NUM_CMR: u32 = 120; pub const ISO_NUM_CAN: u32 = 124; pub const ISO_NUM_CYM: u32 = 136; pub const ISO_NUM_CAF: u32 = 140; pub const ISO_NUM_TCD: u32 = 148; pub const ISO_NUM_CHL: u32 = 152; pub const ISO_NUM_CHN: u32 = 156; pub const ISO_NUM_CXR: u32 = 162; pub const ISO_NUM_CCK: u32 = 166; pub const ISO_NUM_COL: u32 = 170; pub const ISO_NUM_COM: u32 = 174; pub const ISO_NUM_COG: u32 = 178; pub const ISO_NUM_COD: u32 = 180; pub const ISO_NUM_COK: u32 = 184; pub const ISO_NUM_CRI: u32 = 188; pub const ISO_NUM_CIV: u32 = 384; pub const ISO_NUM_HRV: u32 = 191; pub const ISO_NUM_CUB: u32 = 192; pub const ISO_NUM_CUW: u32 = 531; pub const ISO_NUM_CYP: u32 = 196; pub const ISO_NUM_CZE: u32 = 203; pub const ISO_NUM_DNK: u32 = 208; pub const ISO_NUM_DJI: u32 = 262; pub const ISO_NUM_DMA: u32 = 212; pub const ISO_NUM_DOM: u32 = 214; pub const ISO_NUM_ECU: u32 = 218; pub const ISO_NUM_EGY: u32 = 818; pub const ISO_NUM_SLV: u32 = 222; pub const ISO_NUM_GNQ: u32 = 226; pub const ISO_NUM_ERI: u32 = 232; pub const ISO_NUM_EST: u32 = 233; pub const ISO_NUM_ETH: u32 = 231; pub const ISO_NUM_FLK: u32 = 238; pub const ISO_NUM_FRO: u32 = 234; pub const ISO_NUM_FJI: u32 = 242; pub const ISO_NUM_FIN: u32 = 246; pub const ISO_NUM_FRA: u32 = 250; pub const ISO_NUM_GUF: u32 = 254; pub const ISO_NUM_PYF: u32 = 258; pub const ISO_NUM_ATF: u32 = 260; pub const ISO_NUM_GAB: u32 = 266; pub const ISO_NUM_GMB: u32 = 270; pub const ISO_NUM_GEO: u32 = 268; pub const ISO_NUM_DEU: u32 = 276; pub const ISO_NUM_GHA: u32 = 288; pub const ISO_NUM_GIB: u32 = 292; pub const ISO_NUM_GRC: u32 = 300; pub const ISO_NUM_GRL: u32 = 304; pub const ISO_NUM_GRD: u32 = 308; pub const ISO_NUM_GLP: u32 = 312; pub const ISO_NUM_GUM: u32 = 316; pub const ISO_NUM_GTM: u32 = 320; pub const ISO_NUM_GGY: u32 = 831; pub const ISO_NUM_GIN: u32 = 324; pub const ISO_NUM_GNB: u32 = 624; pub const ISO_NUM_GUY: u32 = 328; pub const ISO_NUM_HTI: u32 = 332; pub const ISO_NUM_HMD: u32 = 334; pub const ISO_NUM_VAT: u32 = 336; pub const ISO_NUM_HND: u32 = 340; pub const ISO_NUM_HKG: u32 = 344; pub const ISO_NUM_HUN: u32 = 348; pub const ISO_NUM_ISL: u32 = 352; pub const ISO_NUM_IND: u32 = 356; pub const ISO_NUM_IDN: u32 = 360; pub const ISO_NUM_IRN: u32 = 364; pub const ISO_NUM_IRQ: u32 = 368; pub const ISO_NUM_IRL: u32 = 372; pub const ISO_NUM_IMN: u32 = 833; pub const ISO_NUM_ISR: u32 = 376; pub const ISO_NUM_ITA: u32 = 380; pub const ISO_NUM_JAM: u32 = 388; pub const ISO_NUM_JPN: u32 = 392; pub const ISO_NUM_JEY: u32 = 832; pub const ISO_NUM_JOR: u32 = 400; pub const ISO_NUM_KAZ: u32 = 398; pub const ISO_NUM_KEN: u32 = 404; pub const ISO_NUM_KIR: u32 = 296; pub const ISO_NUM_PRK: u32 = 408; pub const ISO_NUM_KOR: u32 = 410; pub const ISO_NUM_KWT: u32 = 414; pub const ISO_NUM_KGZ: u32 = 417; pub const ISO_NUM_LAO: u32 = 418; pub const ISO_NUM_LVA: u32 = 428; pub const ISO_NUM_LBN: u32 = 422; pub const ISO_NUM_LSO: u32 = 426; pub const ISO_NUM_LBR: u32 = 430; pub const ISO_NUM_LBY: u32 = 434; pub const ISO_NUM_LIE: u32 = 438; pub const ISO_NUM_LTU: u32 = 440; pub const ISO_NUM_LUX: u32 = 442; pub const ISO_NUM_MAC: u32 = 446; pub const ISO_NUM_MKD: u32 = 807; pub const ISO_NUM_MDG: u32 = 450; pub const ISO_NUM_MWI: u32 = 454; pub const ISO_NUM_MYS: u32 = 458; pub const ISO_NUM_MDV: u32 = 462; pub const ISO_NUM_MLI: u32 = 466; pub const ISO_NUM_MLT: u32 = 470; pub const ISO_NUM_MHL: u32 = 584; pub const ISO_NUM_MTQ: u32 = 474; pub const ISO_NUM_MRT: u32 = 478; pub const ISO_NUM_MUS: u32 = 480; pub const ISO_NUM_MYT: u32 = 175; pub const ISO_NUM_MEX: u32 = 484; pub const ISO_NUM_FSM: u32 = 583; pub const ISO_NUM_MDA: u32 = 498; pub const ISO_NUM_MCO: u32 = 492; pub const ISO_NUM_MNG: u32 = 496; pub const ISO_NUM_MNE: u32 = 499; pub const ISO_NUM_MSR: u32 = 500; pub const ISO_NUM_MAR: u32 = 504; pub const ISO_NUM_MOZ: u32 = 508; pub const ISO_NUM_MMR: u32 = 104; pub const ISO_NUM_NAM: u32 = 516; pub const ISO_NUM_NRU: u32 = 520; pub const ISO_NUM_NPL: u32 = 524; pub const ISO_NUM_NLD: u32 = 528; pub const ISO_NUM_NCL: u32 = 540; pub const ISO_NUM_NZL: u32 = 554; pub const ISO_NUM_NIC: u32 = 558; pub const ISO_NUM_NER: u32 = 562; pub const ISO_NUM_NGA: u32 = 566; pub const ISO_NUM_NIU: u32 = 570; pub const ISO_NUM_NFK: u32 = 574; pub const ISO_NUM_MNP: u32 = 580; pub const ISO_NUM_NOR: u32 = 578; pub const ISO_NUM_OMN: u32 = 512; pub const ISO_NUM_PAK: u32 = 586; pub const ISO_NUM_PLW: u32 = 585; pub const ISO_NUM_PSE: u32 = 275; pub const ISO_NUM_PAN: u32 = 591; pub const ISO_NUM_PNG: u32 = 598; pub const ISO_NUM_PRY: u32 = 600; pub const ISO_NUM_PER: u32 = 604; pub const ISO_NUM_PHL: u32 = 608; pub const ISO_NUM_PCN: u32 = 612; pub const ISO_NUM_POL: u32 = 616; pub const ISO_NUM_PRT: u32 = 620; pub const ISO_NUM_PRI: u32 = 630; pub const ISO_NUM_QAT: u32 = 634; pub const ISO_NUM_REU: u32 = 638; pub const ISO_NUM_ROU: u32 = 642; pub const ISO_NUM_RUS: u32 = 643; pub const ISO_NUM_RWA: u32 = 646; pub const ISO_NUM_BLM: u32 = 652; pub const ISO_NUM_SHN: u32 = 654; pub const ISO_NUM_KNA: u32 = 659; pub const ISO_NUM_LCA: u32 = 662; pub const ISO_NUM_MAF: u32 = 663; pub const ISO_NUM_SPM: u32 = 666; pub const ISO_NUM_VCT: u32 = 670; pub const ISO_NUM_WSM: u32 = 882; pub const ISO_NUM_SMR: u32 = 674; pub const ISO_NUM_STP: u32 = 678; pub const ISO_NUM_SAU: u32 = 682; pub const ISO_NUM_SEN: u32 = 686; pub const ISO_NUM_SRB: u32 = 688; pub const ISO_NUM_SYC: u32 = 690; pub const ISO_NUM_SLE: u32 = 694; pub const ISO_NUM_SGP: u32 = 702; pub const ISO_NUM_SXM: u32 = 534; pub const ISO_NUM_SVK: u32 = 703; pub const ISO_NUM_SVN: u32 = 705; pub const ISO_NUM_SLB: u32 = 90; pub const ISO_NUM_SOM: u32 = 706; pub const ISO_NUM_ZAF: u32 = 710; pub const ISO_NUM_SGS: u32 = 239; pub const ISO_NUM_SSD: u32 = 728; pub const ISO_NUM_ESP: u32 = 724; pub const ISO_NUM_LKA: u32 = 144; pub const ISO_NUM_SDN: u32 = 729; pub const ISO_NUM_SUR: u32 = 740; pub const ISO_NUM_SJM: u32 = 744; pub const ISO_NUM_SWZ: u32 = 748; pub const ISO_NUM_SWE: u32 = 752; pub const ISO_NUM_CHE: u32 = 756; pub const ISO_NUM_SYR: u32 = 760; pub const ISO_NUM_TWN: u32 = 158; pub const ISO_NUM_TJK: u32 = 762; pub const ISO_NUM_TZA: u32 = 834; pub const ISO_NUM_THA: u32 = 764; pub const ISO_NUM_TLS: u32 = 626; pub const ISO_NUM_TGO: u32 = 768; pub const ISO_NUM_TKL: u32 = 772; pub const ISO_NUM_TON: u32 = 776; pub const ISO_NUM_TTO: u32 = 780; pub const ISO_NUM_TUN: u32 = 788; pub const ISO_NUM_TUR: u32 = 792; pub const ISO_NUM_TKM: u32 = 795; pub const ISO_NUM_TCA: u32 = 796; pub const ISO_NUM_TUV: u32 = 798; pub const ISO_NUM_UGA: u32 = 800; pub const ISO_NUM_UKR: u32 = 804; pub const ISO_NUM_ARE: u32 = 784; pub const ISO_NUM_GBR: u32 = 826; pub const ISO_NUM_USA: u32 = 840; pub const ISO_NUM_UMI: u32 = 581; pub const ISO_NUM_URY: u32 = 858; pub const ISO_NUM_UZB: u32 = 860; pub const ISO_NUM_VUT: u32 = 548; pub const ISO_NUM_VEN: u32 = 862; pub const ISO_NUM_VNM: u32 = 704; pub const ISO_NUM_VGB: u32 = 92; pub const ISO_NUM_VIR: u32 = 850; pub const ISO_NUM_WLF: u32 = 876; pub const ISO_NUM_ESH: u32 = 732; pub const ISO_NUM_YEM: u32 = 887; pub const ISO_NUM_ZMB: u32 = 894; pub const ISO_NUM_ZWE: u32 = 716; isocountry-0.3.2/src/sorted_arrays.rs000064400000000000000000000500671376423372300161200ustar 00000000000000// MIT License // //Copyright (c) 2018 Brett Russell // //Permission is hereby granted, free of charge, to any person obtaining a copy //of this software and associated documentation files (the "Software"), to deal //in the Software without restriction, including without limitation the rights //to use, copy, modify, merge, publish, distribute, sublicense, and/or sell //copies of the Software, and to permit persons to whom the Software is //furnished to do so, subject to the following conditions: // //The above copyright notice and this permission notice shall be included in all //copies or substantial portions of the Software. // //THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR //IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, //FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE //AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER //LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, //OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE //SOFTWARE. use super::{CountryCode, NUM_COUNTRY_CODES}; // These are sorted in ascending lexicographic order by the full name of the corresponding // country as given by ISO 3166-1. pub const CODES_SORTED_DEFAULT: [CountryCode; NUM_COUNTRY_CODES] = [ CountryCode::AFG, CountryCode::ALA, CountryCode::ALB, CountryCode::DZA, CountryCode::ASM, CountryCode::AND, CountryCode::AGO, CountryCode::AIA, CountryCode::ATA, CountryCode::ATG, CountryCode::ARG, CountryCode::ARM, CountryCode::ABW, CountryCode::AUS, CountryCode::AUT, CountryCode::AZE, CountryCode::BHS, CountryCode::BHR, CountryCode::BGD, CountryCode::BRB, CountryCode::BLR, CountryCode::BEL, CountryCode::BLZ, CountryCode::BEN, CountryCode::BMU, CountryCode::BTN, CountryCode::BOL, CountryCode::BES, CountryCode::BIH, CountryCode::BWA, CountryCode::BVT, CountryCode::BRA, CountryCode::IOT, CountryCode::BRN, CountryCode::BGR, CountryCode::BFA, CountryCode::BDI, CountryCode::CPV, CountryCode::KHM, CountryCode::CMR, CountryCode::CAN, CountryCode::CYM, CountryCode::CAF, CountryCode::TCD, CountryCode::CHL, CountryCode::CHN, CountryCode::CXR, CountryCode::CCK, CountryCode::COL, CountryCode::COM, CountryCode::COG, CountryCode::COD, CountryCode::COK, CountryCode::CRI, CountryCode::CIV, CountryCode::HRV, CountryCode::CUB, CountryCode::CUW, CountryCode::CYP, CountryCode::CZE, CountryCode::DNK, CountryCode::DJI, CountryCode::DMA, CountryCode::DOM, CountryCode::ECU, CountryCode::EGY, CountryCode::SLV, CountryCode::GNQ, CountryCode::ERI, CountryCode::EST, CountryCode::ETH, CountryCode::FLK, CountryCode::FRO, CountryCode::FJI, CountryCode::FIN, CountryCode::FRA, CountryCode::GUF, CountryCode::PYF, CountryCode::ATF, CountryCode::GAB, CountryCode::GMB, CountryCode::GEO, CountryCode::DEU, CountryCode::GHA, CountryCode::GIB, CountryCode::GRC, CountryCode::GRL, CountryCode::GRD, CountryCode::GLP, CountryCode::GUM, CountryCode::GTM, CountryCode::GGY, CountryCode::GIN, CountryCode::GNB, CountryCode::GUY, CountryCode::HTI, CountryCode::HMD, CountryCode::VAT, CountryCode::HND, CountryCode::HKG, CountryCode::HUN, CountryCode::ISL, CountryCode::IND, CountryCode::IDN, CountryCode::IRN, CountryCode::IRQ, CountryCode::IRL, CountryCode::IMN, CountryCode::ISR, CountryCode::ITA, CountryCode::JAM, CountryCode::JPN, CountryCode::JEY, CountryCode::JOR, CountryCode::KAZ, CountryCode::KEN, CountryCode::KIR, CountryCode::PRK, CountryCode::KOR, CountryCode::KWT, CountryCode::KGZ, CountryCode::LAO, CountryCode::LVA, CountryCode::LBN, CountryCode::LSO, CountryCode::LBR, CountryCode::LBY, CountryCode::LIE, CountryCode::LTU, CountryCode::LUX, CountryCode::MAC, CountryCode::MKD, CountryCode::MDG, CountryCode::MWI, CountryCode::MYS, CountryCode::MDV, CountryCode::MLI, CountryCode::MLT, CountryCode::MHL, CountryCode::MTQ, CountryCode::MRT, CountryCode::MUS, CountryCode::MYT, CountryCode::MEX, CountryCode::FSM, CountryCode::MDA, CountryCode::MCO, CountryCode::MNG, CountryCode::MNE, CountryCode::MSR, CountryCode::MAR, CountryCode::MOZ, CountryCode::MMR, CountryCode::NAM, CountryCode::NRU, CountryCode::NPL, CountryCode::NLD, CountryCode::NCL, CountryCode::NZL, CountryCode::NIC, CountryCode::NER, CountryCode::NGA, CountryCode::NIU, CountryCode::NFK, CountryCode::MNP, CountryCode::NOR, CountryCode::OMN, CountryCode::PAK, CountryCode::PLW, CountryCode::PSE, CountryCode::PAN, CountryCode::PNG, CountryCode::PRY, CountryCode::PER, CountryCode::PHL, CountryCode::PCN, CountryCode::POL, CountryCode::PRT, CountryCode::PRI, CountryCode::QAT, CountryCode::REU, CountryCode::ROU, CountryCode::RUS, CountryCode::RWA, CountryCode::BLM, CountryCode::SHN, CountryCode::KNA, CountryCode::LCA, CountryCode::MAF, CountryCode::SPM, CountryCode::VCT, CountryCode::WSM, CountryCode::SMR, CountryCode::STP, CountryCode::SAU, CountryCode::SEN, CountryCode::SRB, CountryCode::SYC, CountryCode::SLE, CountryCode::SGP, CountryCode::SXM, CountryCode::SVK, CountryCode::SVN, CountryCode::SLB, CountryCode::SOM, CountryCode::ZAF, CountryCode::SGS, CountryCode::SSD, CountryCode::ESP, CountryCode::LKA, CountryCode::SDN, CountryCode::SUR, CountryCode::SJM, CountryCode::SWZ, CountryCode::SWE, CountryCode::CHE, CountryCode::SYR, CountryCode::TWN, CountryCode::TJK, CountryCode::TZA, CountryCode::THA, CountryCode::TLS, CountryCode::TGO, CountryCode::TKL, CountryCode::TON, CountryCode::TTO, CountryCode::TUN, CountryCode::TUR, CountryCode::TKM, CountryCode::TCA, CountryCode::TUV, CountryCode::UGA, CountryCode::UKR, CountryCode::ARE, CountryCode::GBR, CountryCode::USA, CountryCode::UMI, CountryCode::URY, CountryCode::UZB, CountryCode::VUT, CountryCode::VEN, CountryCode::VNM, CountryCode::VGB, CountryCode::VIR, CountryCode::WLF, CountryCode::ESH, CountryCode::YEM, CountryCode::ZMB, CountryCode::ZWE]; pub const CODES_SORTED_NUMERIC_ID: [CountryCode; NUM_COUNTRY_CODES] = [ CountryCode::AFG, CountryCode::ALB, CountryCode::ATA, CountryCode::DZA, CountryCode::ASM, CountryCode::AND, CountryCode::AGO, CountryCode::ATG, CountryCode::AZE, CountryCode::ARG, CountryCode::AUS, CountryCode::AUT, CountryCode::BHS, CountryCode::BHR, CountryCode::BGD, CountryCode::ARM, CountryCode::BRB, CountryCode::BEL, CountryCode::BMU, CountryCode::BTN, CountryCode::BOL, CountryCode::BIH, CountryCode::BWA, CountryCode::BVT, CountryCode::BRA, CountryCode::BLZ, CountryCode::IOT, CountryCode::SLB, CountryCode::VGB, CountryCode::BRN, CountryCode::BGR, CountryCode::MMR, CountryCode::BDI, CountryCode::BLR, CountryCode::KHM, CountryCode::CMR, CountryCode::CAN, CountryCode::CPV, CountryCode::CYM, CountryCode::CAF, CountryCode::LKA, CountryCode::TCD, CountryCode::CHL, CountryCode::CHN, CountryCode::TWN, CountryCode::CXR, CountryCode::CCK, CountryCode::COL, CountryCode::COM, CountryCode::MYT, CountryCode::COG, CountryCode::COD, CountryCode::COK, CountryCode::CRI, CountryCode::HRV, CountryCode::CUB, CountryCode::CYP, CountryCode::CZE, CountryCode::BEN, CountryCode::DNK, CountryCode::DMA, CountryCode::DOM, CountryCode::ECU, CountryCode::SLV, CountryCode::GNQ, CountryCode::ETH, CountryCode::ERI, CountryCode::EST, CountryCode::FRO, CountryCode::FLK, CountryCode::SGS, CountryCode::FJI, CountryCode::FIN, CountryCode::ALA, CountryCode::FRA, CountryCode::GUF, CountryCode::PYF, CountryCode::ATF, CountryCode::DJI, CountryCode::GAB, CountryCode::GEO, CountryCode::GMB, CountryCode::PSE, CountryCode::DEU, CountryCode::GHA, CountryCode::GIB, CountryCode::KIR, CountryCode::GRC, CountryCode::GRL, CountryCode::GRD, CountryCode::GLP, CountryCode::GUM, CountryCode::GTM, CountryCode::GIN, CountryCode::GUY, CountryCode::HTI, CountryCode::HMD, CountryCode::VAT, CountryCode::HND, CountryCode::HKG, CountryCode::HUN, CountryCode::ISL, CountryCode::IND, CountryCode::IDN, CountryCode::IRN, CountryCode::IRQ, CountryCode::IRL, CountryCode::ISR, CountryCode::ITA, CountryCode::CIV, CountryCode::JAM, CountryCode::JPN, CountryCode::KAZ, CountryCode::JOR, CountryCode::KEN, CountryCode::PRK, CountryCode::KOR, CountryCode::KWT, CountryCode::KGZ, CountryCode::LAO, CountryCode::LBN, CountryCode::LSO, CountryCode::LVA, CountryCode::LBR, CountryCode::LBY, CountryCode::LIE, CountryCode::LTU, CountryCode::LUX, CountryCode::MAC, CountryCode::MDG, CountryCode::MWI, CountryCode::MYS, CountryCode::MDV, CountryCode::MLI, CountryCode::MLT, CountryCode::MTQ, CountryCode::MRT, CountryCode::MUS, CountryCode::MEX, CountryCode::MCO, CountryCode::MNG, CountryCode::MDA, CountryCode::MNE, CountryCode::MSR, CountryCode::MAR, CountryCode::MOZ, CountryCode::OMN, CountryCode::NAM, CountryCode::NRU, CountryCode::NPL, CountryCode::NLD, CountryCode::CUW, CountryCode::ABW, CountryCode::SXM, CountryCode::BES, CountryCode::NCL, CountryCode::VUT, CountryCode::NZL, CountryCode::NIC, CountryCode::NER, CountryCode::NGA, CountryCode::NIU, CountryCode::NFK, CountryCode::NOR, CountryCode::MNP, CountryCode::UMI, CountryCode::FSM, CountryCode::MHL, CountryCode::PLW, CountryCode::PAK, CountryCode::PAN, CountryCode::PNG, CountryCode::PRY, CountryCode::PER, CountryCode::PHL, CountryCode::PCN, CountryCode::POL, CountryCode::PRT, CountryCode::GNB, CountryCode::TLS, CountryCode::PRI, CountryCode::QAT, CountryCode::REU, CountryCode::ROU, CountryCode::RUS, CountryCode::RWA, CountryCode::BLM, CountryCode::SHN, CountryCode::KNA, CountryCode::AIA, CountryCode::LCA, CountryCode::MAF, CountryCode::SPM, CountryCode::VCT, CountryCode::SMR, CountryCode::STP, CountryCode::SAU, CountryCode::SEN, CountryCode::SRB, CountryCode::SYC, CountryCode::SLE, CountryCode::SGP, CountryCode::SVK, CountryCode::VNM, CountryCode::SVN, CountryCode::SOM, CountryCode::ZAF, CountryCode::ZWE, CountryCode::ESP, CountryCode::SSD, CountryCode::SDN, CountryCode::ESH, CountryCode::SUR, CountryCode::SJM, CountryCode::SWZ, CountryCode::SWE, CountryCode::CHE, CountryCode::SYR, CountryCode::TJK, CountryCode::THA, CountryCode::TGO, CountryCode::TKL, CountryCode::TON, CountryCode::TTO, CountryCode::ARE, CountryCode::TUN, CountryCode::TUR, CountryCode::TKM, CountryCode::TCA, CountryCode::TUV, CountryCode::UGA, CountryCode::UKR, CountryCode::MKD, CountryCode::EGY, CountryCode::GBR, CountryCode::GGY, CountryCode::JEY, CountryCode::IMN, CountryCode::TZA, CountryCode::USA, CountryCode::VIR, CountryCode::BFA, CountryCode::URY, CountryCode::UZB, CountryCode::VEN, CountryCode::WLF, CountryCode::WSM, CountryCode::YEM, CountryCode::ZMB ]; pub const CODES_SORTED_ALPHA2: [CountryCode; NUM_COUNTRY_CODES] = [ CountryCode::AND, CountryCode::ARE, CountryCode::AFG, CountryCode::ATG, CountryCode::AIA, CountryCode::ALB, CountryCode::ARM, CountryCode::AGO, CountryCode::ATA, CountryCode::ARG, CountryCode::ASM, CountryCode::AUT, CountryCode::AUS, CountryCode::ABW, CountryCode::ALA, CountryCode::AZE, CountryCode::BIH, CountryCode::BRB, CountryCode::BGD, CountryCode::BEL, CountryCode::BFA, CountryCode::BGR, CountryCode::BHR, CountryCode::BDI, CountryCode::BEN, CountryCode::BLM, CountryCode::BMU, CountryCode::BRN, CountryCode::BOL, CountryCode::BES, CountryCode::BRA, CountryCode::BHS, CountryCode::BTN, CountryCode::BVT, CountryCode::BWA, CountryCode::BLR, CountryCode::BLZ, CountryCode::CAN, CountryCode::CCK, CountryCode::COD, CountryCode::CAF, CountryCode::COG, CountryCode::CHE, CountryCode::CIV, CountryCode::COK, CountryCode::CHL, CountryCode::CMR, CountryCode::CHN, CountryCode::COL, CountryCode::CRI, CountryCode::CUB, CountryCode::CPV, CountryCode::CUW, CountryCode::CXR, CountryCode::CYP, CountryCode::CZE, CountryCode::DEU, CountryCode::DJI, CountryCode::DNK, CountryCode::DMA, CountryCode::DOM, CountryCode::DZA, CountryCode::ECU, CountryCode::EST, CountryCode::EGY, CountryCode::ESH, CountryCode::ERI, CountryCode::ESP, CountryCode::ETH, CountryCode::FIN, CountryCode::FJI, CountryCode::FLK, CountryCode::FSM, CountryCode::FRO, CountryCode::FRA, CountryCode::GAB, CountryCode::GBR, CountryCode::GRD, CountryCode::GEO, CountryCode::GUF, CountryCode::GGY, CountryCode::GHA, CountryCode::GIB, CountryCode::GRL, CountryCode::GMB, CountryCode::GIN, CountryCode::GLP, CountryCode::GNQ, CountryCode::GRC, CountryCode::SGS, CountryCode::GTM, CountryCode::GUM, CountryCode::GNB, CountryCode::GUY, CountryCode::HKG, CountryCode::HMD, CountryCode::HND, CountryCode::HRV, CountryCode::HTI, CountryCode::HUN, CountryCode::IDN, CountryCode::IRL, CountryCode::ISR, CountryCode::IMN, CountryCode::IND, CountryCode::IOT, CountryCode::IRQ, CountryCode::IRN, CountryCode::ISL, CountryCode::ITA, CountryCode::JEY, CountryCode::JAM, CountryCode::JOR, CountryCode::JPN, CountryCode::KEN, CountryCode::KGZ, CountryCode::KHM, CountryCode::KIR, CountryCode::COM, CountryCode::KNA, CountryCode::PRK, CountryCode::KOR, CountryCode::KWT, CountryCode::CYM, CountryCode::KAZ, CountryCode::LAO, CountryCode::LBN, CountryCode::LCA, CountryCode::LIE, CountryCode::LKA, CountryCode::LBR, CountryCode::LSO, CountryCode::LTU, CountryCode::LUX, CountryCode::LVA, CountryCode::LBY, CountryCode::MAR, CountryCode::MCO, CountryCode::MDA, CountryCode::MNE, CountryCode::MAF, CountryCode::MDG, CountryCode::MHL, CountryCode::MKD, CountryCode::MLI, CountryCode::MMR, CountryCode::MNG, CountryCode::MAC, CountryCode::MNP, CountryCode::MTQ, CountryCode::MRT, CountryCode::MSR, CountryCode::MLT, CountryCode::MUS, CountryCode::MDV, CountryCode::MWI, CountryCode::MEX, CountryCode::MYS, CountryCode::MOZ, CountryCode::NAM, CountryCode::NCL, CountryCode::NER, CountryCode::NFK, CountryCode::NGA, CountryCode::NIC, CountryCode::NLD, CountryCode::NOR, CountryCode::NPL, CountryCode::NRU, CountryCode::NIU, CountryCode::NZL, CountryCode::OMN, CountryCode::PAN, CountryCode::PER, CountryCode::PYF, CountryCode::PNG, CountryCode::PHL, CountryCode::PAK, CountryCode::POL, CountryCode::SPM, CountryCode::PCN, CountryCode::PRI, CountryCode::PSE, CountryCode::PRT, CountryCode::PLW, CountryCode::PRY, CountryCode::QAT, CountryCode::REU, CountryCode::ROU, CountryCode::SRB, CountryCode::RUS, CountryCode::RWA, CountryCode::SAU, CountryCode::SLB, CountryCode::SYC, CountryCode::SDN, CountryCode::SWE, CountryCode::SGP, CountryCode::SHN, CountryCode::SVN, CountryCode::SJM, CountryCode::SVK, CountryCode::SLE, CountryCode::SMR, CountryCode::SEN, CountryCode::SOM, CountryCode::SUR, CountryCode::SSD, CountryCode::STP, CountryCode::SLV, CountryCode::SXM, CountryCode::SYR, CountryCode::SWZ, CountryCode::TCA, CountryCode::TCD, CountryCode::ATF, CountryCode::TGO, CountryCode::THA, CountryCode::TJK, CountryCode::TKL, CountryCode::TLS, CountryCode::TKM, CountryCode::TUN, CountryCode::TON, CountryCode::TUR, CountryCode::TTO, CountryCode::TUV, CountryCode::TWN, CountryCode::TZA, CountryCode::UKR, CountryCode::UGA, CountryCode::UMI, CountryCode::USA, CountryCode::URY, CountryCode::UZB, CountryCode::VAT, CountryCode::VCT, CountryCode::VEN, CountryCode::VGB, CountryCode::VIR, CountryCode::VNM, CountryCode::VUT, CountryCode::WLF, CountryCode::WSM, CountryCode::YEM, CountryCode::MYT, CountryCode::ZAF, CountryCode::ZMB, CountryCode::ZWE ]; pub const CODES_SORTED_ALPHA3: [CountryCode; NUM_COUNTRY_CODES] = [ CountryCode::ABW, CountryCode::AFG, CountryCode::AGO, CountryCode::AIA, CountryCode::ALA, CountryCode::ALB, CountryCode::AND, CountryCode::ARE, CountryCode::ARG, CountryCode::ARM, CountryCode::ASM, CountryCode::ATA, CountryCode::ATF, CountryCode::ATG, CountryCode::AUS, CountryCode::AUT, CountryCode::AZE, CountryCode::BDI, CountryCode::BEL, CountryCode::BEN, CountryCode::BES, CountryCode::BFA, CountryCode::BGD, CountryCode::BGR, CountryCode::BHR, CountryCode::BHS, CountryCode::BIH, CountryCode::BLM, CountryCode::BLR, CountryCode::BLZ, CountryCode::BMU, CountryCode::BOL, CountryCode::BRA, CountryCode::BRB, CountryCode::BRN, CountryCode::BTN, CountryCode::BVT, CountryCode::BWA, CountryCode::CAF, CountryCode::CAN, CountryCode::CCK, CountryCode::CHE, CountryCode::CHL, CountryCode::CHN, CountryCode::CIV, CountryCode::CMR, CountryCode::COD, CountryCode::COG, CountryCode::COK, CountryCode::COL, CountryCode::COM, CountryCode::CPV, CountryCode::CRI, CountryCode::CUB, CountryCode::CUW, CountryCode::CXR, CountryCode::CYM, CountryCode::CYP, CountryCode::CZE, CountryCode::DEU, CountryCode::DJI, CountryCode::DMA, CountryCode::DNK, CountryCode::DOM, CountryCode::DZA, CountryCode::ECU, CountryCode::EGY, CountryCode::ERI, CountryCode::ESH, CountryCode::ESP, CountryCode::EST, CountryCode::ETH, CountryCode::FIN, CountryCode::FJI, CountryCode::FLK, CountryCode::FRA, CountryCode::FRO, CountryCode::FSM, CountryCode::GAB, CountryCode::GBR, CountryCode::GEO, CountryCode::GGY, CountryCode::GHA, CountryCode::GIB, CountryCode::GIN, CountryCode::GLP, CountryCode::GMB, CountryCode::GNB, CountryCode::GNQ, CountryCode::GRC, CountryCode::GRD, CountryCode::GRL, CountryCode::GTM, CountryCode::GUF, CountryCode::GUM, CountryCode::GUY, CountryCode::HKG, CountryCode::HMD, CountryCode::HND, CountryCode::HRV, CountryCode::HTI, CountryCode::HUN, CountryCode::IDN, CountryCode::IMN, CountryCode::IND, CountryCode::IOT, CountryCode::IRL, CountryCode::IRN, CountryCode::IRQ, CountryCode::ISL, CountryCode::ISR, CountryCode::ITA, CountryCode::JAM, CountryCode::JEY, CountryCode::JOR, CountryCode::JPN, CountryCode::KAZ, CountryCode::KEN, CountryCode::KGZ, CountryCode::KHM, CountryCode::KIR, CountryCode::KNA, CountryCode::KOR, CountryCode::KWT, CountryCode::LAO, CountryCode::LBN, CountryCode::LBR, CountryCode::LBY, CountryCode::LCA, CountryCode::LIE, CountryCode::LKA, CountryCode::LSO, CountryCode::LTU, CountryCode::LUX, CountryCode::LVA, CountryCode::MAC, CountryCode::MAF, CountryCode::MAR, CountryCode::MCO, CountryCode::MDA, CountryCode::MDG, CountryCode::MDV, CountryCode::MEX, CountryCode::MHL, CountryCode::MKD, CountryCode::MLI, CountryCode::MLT, CountryCode::MMR, CountryCode::MNE, CountryCode::MNG, CountryCode::MNP, CountryCode::MOZ, CountryCode::MRT, CountryCode::MSR, CountryCode::MTQ, CountryCode::MUS, CountryCode::MWI, CountryCode::MYS, CountryCode::MYT, CountryCode::NAM, CountryCode::NCL, CountryCode::NER, CountryCode::NFK, CountryCode::NGA, CountryCode::NIC, CountryCode::NIU, CountryCode::NLD, CountryCode::NOR, CountryCode::NPL, CountryCode::NRU, CountryCode::NZL, CountryCode::OMN, CountryCode::PAK, CountryCode::PAN, CountryCode::PCN, CountryCode::PER, CountryCode::PHL, CountryCode::PLW, CountryCode::PNG, CountryCode::POL, CountryCode::PRI, CountryCode::PRK, CountryCode::PRT, CountryCode::PRY, CountryCode::PSE, CountryCode::PYF, CountryCode::QAT, CountryCode::REU, CountryCode::ROU, CountryCode::RUS, CountryCode::RWA, CountryCode::SAU, CountryCode::SDN, CountryCode::SEN, CountryCode::SGP, CountryCode::SGS, CountryCode::SHN, CountryCode::SJM, CountryCode::SLB, CountryCode::SLE, CountryCode::SLV, CountryCode::SMR, CountryCode::SOM, CountryCode::SPM, CountryCode::SRB, CountryCode::SSD, CountryCode::STP, CountryCode::SUR, CountryCode::SVK, CountryCode::SVN, CountryCode::SWE, CountryCode::SWZ, CountryCode::SXM, CountryCode::SYC, CountryCode::SYR, CountryCode::TCA, CountryCode::TCD, CountryCode::TGO, CountryCode::THA, CountryCode::TJK, CountryCode::TKL, CountryCode::TKM, CountryCode::TLS, CountryCode::TON, CountryCode::TTO, CountryCode::TUN, CountryCode::TUR, CountryCode::TUV, CountryCode::TWN, CountryCode::TZA, CountryCode::UGA, CountryCode::UKR, CountryCode::UMI, CountryCode::URY, CountryCode::USA, CountryCode::UZB, CountryCode::VAT, CountryCode::VCT, CountryCode::VEN, CountryCode::VGB, CountryCode::VIR, CountryCode::VNM, CountryCode::VUT, CountryCode::WLF, CountryCode::WSM, CountryCode::YEM, CountryCode::ZAF, CountryCode::ZMB, CountryCode::ZWE ];