<?php

use MediaWiki\Extension\CLDR\CountryNames;
use MediaWiki\Registration\ExtensionRegistry;

class GeoTarget {

	// Countries are ISO 3166-1
	// First level of subdivisions is ISO 3166-2, sourced from MaxMind GeoLite2-City-Locations-en
	// at https://dev.maxmind.com/geoip/geoip2/geolite2/

	// XXX: perhaps it could be a good idea to get rid of hardcoded countries and regions list
	// and use some geo-library or API to fetch that data and store it in cache, either on the fly
	// or as a maintenance script. Options to consider:
	// - https://github.com/MenaraSolutions/geographer ( cities > 10,000 population )
	// - GeoNames API together with https://github.com/Aternus/geonames-client
	// - GeoNames data dumps (https://download.geonames.org/export/dump/) with extractor script
	// - Alternative geo database in SQL format https://github.com/x88/i18nGeoNamesDB

	/**
	 * @var CNCountry[]|null
	 */
	public static $countries = null;

	/**
	 * Return all of the available countries for geotargeting
	 * TODO: Move this out of CentralNoticeDB (or rename the class)
	 *
	 * @param string $languageCode fetch country names in this language,
	 *  if CLDR is available.
	 *
	 * @return CNCountry[]
	 */
	public static function getCountriesList( $languageCode = 'en' ) {
		if ( self::$countries === null ) {

			$countries = [
				'AF' => [
					'name' => 'Afghanistan',
					'regions' => [
						'KAN' => 'Kandahar',
						'KAB' => 'Kabul',
						'NAN' => 'Nangarhar',
						'HER' => 'Herat',
						'PAR' => 'Parwan',
					]
				],
				'AL' => [
					'name' => 'Albania',
					'regions' => [
						'12' => 'Qarku i Vlores',
						'05' => 'Qarku i Gjirokastres',
						'06' => 'Qarku i Korces',
						'09' => 'Qarku i Dibres',
						'03' => 'Qarku i Elbasanit',
						'08' => 'Qarku i Lezhes',
						'01' => 'Qarku i Beratit',
						'11' => 'Tirana',
						'10' => 'Qarku i Shkodres',
						'04' => 'Qarku i Fierit',
						'02' => 'Qarku i Durresit',
					]
				],
				'DZ' => [
					'name' => 'Algeria',
					'regions' => [
						'35' => 'Boumerdes',
						'07' => 'Biskra',
						'42' => 'Tipaza',
						'48' => 'Relizane',
						'33' => 'Illizi',
						'31' => 'Oran',
						'30' => 'Ouargla',
						'13' => 'Tlemcen',
						'15' => 'Tizi Ouzou',
						'38' => 'Tissemsilt',
						'37' => 'Tindouf',
						'01' => 'Adrar',
						'14' => 'Tiaret',
						'43' => 'Mila',
						'22' => 'Sidi Bel Abbès',
						'12' => 'Tébessa',
						'05' => 'Batna',
						'41' => 'Souk Ahras',
						'11' => 'Tamanrasset',
						'21' => 'Skikda',
						'18' => 'Jijel',
						'10' => 'Bouira',
						'27' => 'Mostaganem',
						'09' => 'Blida',
						'29' => 'Mascara',
						'23' => 'Annaba',
						'02' => 'Chlef',
						'28' => 'M\'Sila',
						'06' => 'Béjaïa',
						'19' => 'Sétif',
						'34' => 'Bordj Bou Arréridj',
						'20' => 'Saida',
						'16' => 'Algiers',
						'39' => 'El Oued',
						'04' => 'Oum el Bouaghi',
						'24' => 'Guelma',
						'45' => 'Naama',
						'44' => 'Aïn Defla',
						'17' => 'Djelfa',
						'26' => 'Medea',
						'03' => 'Laghouat',
						'40' => 'Khenchela',
						'46' => 'Aïn Témouchent',
						'25' => 'Constantine',
						'47' => 'Ghardaia',
						'36' => 'El Tarf',
						'32' => 'El Bayadh',
						'08' => 'Béchar',
					]
				],
				'AS' => [
					'name' => 'American Samoa',
					'regions' => [
						'W' => 'Western District',
						'M' => 'Manu\'a District',
						'S' => 'Swains Island',
						'E' => 'Eastern District',
						'R' => 'Rose Island',
					]
				],
				'AD' => [
					'name' => 'Andorra',
					'regions' => [
						'02' => 'Canillo',
						'06' => 'Sant Julià de Loria',
						'07' => 'Andorra la Vella',
						'04' => 'La Massana',
						'05' => 'Ordino',
						'08' => 'Escaldes-Engordany',
						'03' => 'Encamp',
					]
				],
				'AO' => [
					'name' => 'Angola',
					'regions' => [
						'LSU' => 'Lunda Sul',
						'LNO' => 'Luanda Norte',
						'MOX' => 'Moxico',
						'LUA' => 'Luanda Province',
						'UIG' => 'Uíge',
						'ZAI' => 'Zaire',
						'BGO' => 'Bengo Province',
						'CNO' => 'Cuanza Norte Province',
						'MAL' => 'Malanje Province',
						'CAB' => 'Cabinda',
						'CUS' => 'Kwanza Sul',
						'CNN' => 'Cunene Province',
						'NAM' => 'Namibe Province',
						'CCU' => 'Cuando Cobango',
						'HUI' => 'Huíla',
						'BGU' => 'Benguela',
						'BIE' => 'Bíe',
						'HUA' => 'Huambo',
					]
				],
				'AI' => [
					'name' => 'Anguilla',
					'regions' => []
				],
				'AQ' => [
					'name' => 'Antarctica',
					'regions' => []
				],
				'AG' => [
					'name' => 'Antigua and Barbuda',
					'regions' => [
						'04' => 'Parish of Saint John',
						'11' => 'Redonda',
						'03' => 'Parish of Saint George',
						'05' => 'Parish of Saint Mary',
						'06' => 'Parish of Saint Paul',
						'08' => 'Parish of Saint Philip',
						'10' => 'Barbuda',
						'07' => 'Parish of Saint Peter',
					]
				],
				'AR' => [
					'name' => 'Argentina',
					'regions' => [
						'B' => 'Buenos Aires',
						'N' => 'Misiones',
						'C' => 'Buenos Aires F.D.',
						'E' => 'Entre Rios',
						'S' => 'Santa Fe',
						'W' => 'Corrientes',
						'H' => 'Chaco',
						'P' => 'Formosa',
						'Q' => 'Neuquen',
						'Y' => 'Jujuy',
						'T' => 'Tucuman',
						'X' => 'Cordoba',
						'R' => 'Rio Negro',
						'G' => 'Santiago del Estero',
						'M' => 'Mendoza',
						'J' => 'San Juan',
						'L' => 'La Pampa',
						'Z' => 'Santa Cruz',
						'V' => 'Tierra del Fuego',
						'U' => 'Chubut',
						'K' => 'Catamarca',
						'D' => 'San Luis',
						'A' => 'Salta',
						'F' => 'La Rioja',
					]
				],
				'AM' => [
					'name' => 'Armenia',
					'regions' => [
						'VD' => 'Vayots Dzor',
						'AR' => 'Ararat',
						'SU' => 'Syunik',
						'ER' => 'Yerevan',
						'AV' => 'Armavir',
						'KT' => 'Kotayk',
						'LO' => 'Lori',
						'GR' => 'Gegharkunik',
						'AG' => 'Aragatsotn',
						'TV' => 'Tavush',
						'SH' => 'Shirak',
					]
				],
				'AW' => [
					'name' => 'Aruba',
					'regions' => []
				],
				'AU' => [
					'name' => 'Australia',
					'regions' => [
						'WA' => 'Western Australia',
						'SA' => 'South Australia',
						'NT' => 'Northern Territory',
						'QLD' => 'Queensland',
						'NSW' => 'New South Wales',
						'TAS' => 'Tasmania',
						'VIC' => 'Victoria',
						'ACT' => 'Australian Capital Territory',
					]
				],
				'AT' => [
					'name' => 'Austria',
					'regions' => [
						'3' => 'Lower Austria',
						'5' => 'Salzburg',
						'6' => 'Styria',
						'2' => 'Carinthia',
						'4' => 'Upper Austria',
						'1' => 'Burgenland',
						'7' => 'Tyrol',
						'8' => 'Vorarlberg',
						'9' => 'Vienna',
					]
				],
				'AZ' => [
					'name' => 'Azerbaijan',
					'regions' => [
						'NX' => 'Nakhichevan',
						'ZAQ' => 'Zaqatala Rayon',
						'SM' => 'Sumqayit City',
						'QUS' => 'Qusar Rayon',
						'QAX' => 'Qakh Rayon',
						'TOV' => 'Tovuz Rayon',
						'ABS' => 'Absheron Rayon',
						'GA' => 'Ganja City',
						'BA' => 'Baku City',
						'AGS' => 'Aghdash Rayon',
					]
				],
				'BS' => [
					'name' => 'Bahamas',
					'regions' => [
						'WG' => 'West Grand Bahama District',
						'MI' => 'Moore\'s Island District',
						'EG' => 'East Grand Bahama District',
						'SW' => 'Spanish Wells District',
						'SO' => 'South Abaco District',
						'CE' => 'Central Eleuthera District',
						'NP' => 'New Providence District',
						'CO' => 'Central Abaco District',
						'HT' => 'Hope Town District',
						'FP' => 'City of Freeport District',
						'HI' => 'Harbour Island',
						'NO' => 'North Abaco District',
						'BY' => 'Berry Islands District',
						'CS' => 'Central Andros District',
						'NS' => 'North Andros District',
						'BI' => 'Bimini',
						'GC' => 'Grand Cay District',
					]
				],
				'BH' => [
					'name' => 'Bahrain',
					'regions' => [
						'13' => 'Manama',
						'15' => 'Muharraq',
						'14' => 'Southern Governorate',
						'17' => 'Northern',
					]
				],
				'BD' => [
					'name' => 'Bangladesh',
					'regions' => [
						'F' => 'Rangpur Division',
						'C' => 'Dhaka Division',
						'G' => 'Sylhet Division',
						'B' => 'Chittagong',
						'H' => 'Mymensingh Division',
						'E' => 'Rajshahi Division',
						'D' => 'Khulna Division',
						'A' => 'Barisal Division',
					]
				],
				'BB' => [
					'name' => 'Barbados',
					'regions' => [
						'01' => 'Christ Church',
						'02' => 'Saint Andrew',
						'07' => 'Saint Lucy',
						'03' => 'Saint George',
						'04' => 'Saint James',
						'08' => 'Saint Michael',
					]
				],
				'BY' => [
					'name' => 'Belarus',
					'regions' => [
						'HR' => 'Grodnenskaya',
						'MI' => 'Minsk',
						'HO' => 'Homyel’ Voblasc’',
						'VI' => 'Vitebsk',
						'MA' => 'Mogilev',
						'BR' => 'Brest',
						'HM' => 'Minsk City',
					]
				],
				'BE' => [
					'name' => 'Belgium',
					'regions' => [
						'VLG' => 'Flanders',
						'WAL' => 'Wallonia',
						'BRU' => 'Brussels Capital',
					]
				],
				'BZ' => [
					'name' => 'Belize',
					'regions' => [
						'CY' => 'Cayo District',
						'BZ' => 'Belize District',
						'SC' => 'Stann Creek District',
						'OW' => 'Orange Walk District',
						'CZL' => 'Corozal District',
					]
				],
				'BJ' => [
					'name' => 'Benin',
					'regions' => [
						'CO' => 'Collines Department',
						'OU' => 'Ouémé',
						'BO' => 'Borgou Department',
						'AQ' => 'Atlantique Department',
						'AK' => 'Atakora Department',
						'AL' => 'Alibori',
						'MO' => 'Mono',
						'PL' => 'Plateau Department',
						'KO' => 'Kouffo Department',
						'DO' => 'Donga',
						'LI' => 'Littoral',
						'ZO' => 'Zou Department',
					]
				],
				'BM' => [
					'name' => 'Bermuda',
					'regions' => [
						'WA' => 'Warwick Parish',
						'HA' => 'Hamilton',
						'SA' => 'Sandys Parish',
						'GC' => 'Saint George',
						'PG' => 'Paget',
						'HC' => 'Hamilton city',
						'SH' => 'Southampton Parish',
						'PB' => 'Pembroke Parish',
					]
				],
				'BT' => [
					'name' => 'Bhutan',
					'regions' => [
						'24' => 'Wangdue Phodrang Dzongkhag',
						'32' => 'Trongsa Dzongkhag',
						'15' => 'Thimphu Dzongkhag',
						'TY' => 'Trashi Yangste',
						'22' => 'Dagana',
						'31' => 'Sarpang Dzongkhag',
						'23' => 'Punakha Dzongkhag',
						'11' => 'Paro',
						'42' => 'Mongar',
						'44' => 'Lhuntse',
						'13' => 'Haa',
						'GA' => 'Gasa',
						'21' => 'Tsirang Dzongkhag',
						'12' => 'Chukha',
						'33' => 'Bumthang Dzongkhag',
						'41' => 'Trashigang Dzongkhag',
						'43' => 'Pemagatshel',
						'45' => 'Samdrup Jongkhar',
					]
				],
				'BO' => [
					'name' => 'Bolivia',
					'regions' => [
						'B' => 'El Beni',
						'T' => 'Departamento de Tarija',
						'H' => 'Departamento de Chuquisaca',
						'S' => 'Departamento de Santa Cruz',
						'C' => 'Departamento de Cochabamba',
						'P' => 'Departamento de Potosi',
						'N' => 'Departamento de Pando',
						'O' => 'Oruro',
						'L' => 'Departamento de La Paz',
					]
				],
				'BA' => [
					'name' => 'Bosnia and Herzegovina',
					'regions' => [
						'SRP' => 'Republika Srpska',
						'BIH' => 'Federation of B&H',
						'BRC' => 'Brčko',
					]
				],
				'BW' => [
					'name' => 'Botswana',
					'regions' => [
						'KG' => 'Kgalagadi District',
						'SE' => 'South-East',
						'CE' => 'Central District',
						'KW' => 'Kweneng District',
						'KL' => 'Kgatleng District',
						'NW' => 'North-West',
						'NE' => 'North-East',
						'LO' => 'Lobatse',
						'CH' => 'Chobe District',
						'SO' => 'Ngwaketsi',
						'GH' => 'Ghanzi District',
						'GA' => 'Gaborone',
						'FR' => 'City of Francistown',
						'JW' => 'Jwaneng',
					]
				],
				'BV' => [
					'name' => 'Bouvet Island',
					'regions' => []
				],
				'BR' => [
					'name' => 'Brazil',
					'regions' => [
						'PE' => 'Pernambuco',
						'TO' => 'Tocantins',
						'MA' => 'Maranhao',
						'PA' => 'Para',
						'RN' => 'Rio Grande do Norte',
						'PB' => 'Paraíba',
						'CE' => 'Ceara',
						'AL' => 'Alagoas',
						'PI' => 'Piaui',
						'BA' => 'Bahia',
						'AP' => 'Amapa',
						'SE' => 'Sergipe',
						'AM' => 'Amazonas',
						'SP' => 'Sao Paulo',
						'SC' => 'Santa Catarina',
						'PR' => 'Parana',
						'RJ' => 'Rio de Janeiro',
						'ES' => 'Espirito Santo',
						'MG' => 'Minas Gerais',
						'RS' => 'Rio Grande do Sul',
						'GO' => 'Goias',
						'MT' => 'Mato Grosso',
						'MS' => 'Mato Grosso do Sul',
						'DF' => 'Federal District',
						'AC' => 'Acre',
						'RO' => 'Rondonia',
						'RR' => 'Roraima',
					]
				],
				'IO' => [
					'name' => 'British Indian Ocean Territory',
					'regions' => []
				],
				'BN' => [
					'name' => 'Brunei Darussalam',
					'regions' => [
						'TU' => 'Tutong',
						'BE' => 'Belait',
						'BM' => 'Brunei-Muara District',
						'TE' => 'Temburong',
					]
				],
				'BG' => [
					'name' => 'Bulgaria',
					'regions' => [
						'03' => 'Varna',
						'02' => 'Burgas',
						'21' => 'Oblast Smolyan',
						'23' => 'Sofia',
						'16' => 'Plovdiv',
						'17' => 'Oblast Razgrad',
						'28' => 'Oblast Yambol',
						'01' => 'Blagoevgrad',
						'11' => 'Lovech',
						'06' => 'Oblast Vratsa',
						'08' => 'Oblast Dobrich',
						'22' => 'Sofia-Capital',
						'19' => 'Oblast Silistra',
						'05' => 'Oblast Vidin',
						'18' => 'Oblast Ruse',
						'13' => 'Pazardzhik',
						'04' => 'Oblast Veliko Tarnovo',
						'20' => 'Oblast Sliven',
						'25' => 'Oblast Targovishte',
						'07' => 'Gabrovo',
						'26' => 'Haskovo',
						'24' => 'Oblast Stara Zagora',
						'10' => 'Oblast Kyustendil',
						'27' => 'Oblast Shumen',
						'15' => 'Oblast Pleven',
						'09' => 'Oblast Kardzhali',
						'14' => 'Pernik',
						'12' => 'Oblast Montana',
					]
				],
				'BF' => [
					'name' => 'Burkina Faso',
					'regions' => [
						'11' => 'Plateau-Central',
						'04' => 'Centre-Est',
						'10' => 'Nord',
						'03' => 'Centre',
						'06' => 'Centre-Ouest',
						'05' => 'Centre-Nord',
						'12' => 'Sahel',
						'13' => 'Sud-Ouest',
						'08' => 'Est',
						'01' => 'Boucle du Mouhoun',
						'09' => 'Hauts-Bassins',
						'02' => 'Cascades Region',
					]
				],
				'BI' => [
					'name' => 'Burundi',
					'regions' => [
						'MA' => 'Makamba Province',
						'BR' => 'Bururi Province',
						'RM' => 'Rumonge',
						'MW' => 'Mwaro',
						'BL' => 'Bujumbura Rural Province',
						'BM' => 'Bujumbura Mairie Province',
						'MU' => 'Muramvya Province',
						'GI' => 'Gitega Province',
						'RY' => 'Ruyigi Province',
						'CA' => 'Cankuzo Province',
						'KR' => 'Karuzi Province',
						'BB' => 'Bubanza Province',
						'CI' => 'Cibitoke Province',
						'NG' => 'Ngozi Province',
						'KY' => 'Kayanza Province',
						'MY' => 'Muyinga Province',
						'KI' => 'Kirundo Province',
						'RT' => 'Rutana Province',
					]
				],
				'KH' => [
					'name' => 'Cambodia',
					'regions' => [
						'12' => 'Phnom Penh',
						'21' => 'Takeo',
						'20' => 'Svay Rieng',
						'19' => 'Stung Treng',
						'11' => 'Mondolkiri',
						'14' => 'Prey Veng',
						'15' => 'Pursat',
						'17' => 'Siem Reap',
						'8' => 'Kandal',
						'5' => 'Kampong Speu',
						'22' => 'Otar Meanchey',
						'25' => 'Tboung Khmum',
						'1' => 'Banteay Meanchey',
						'24' => 'Pailin',
						'23' => 'Kep',
						'9' => 'Koh Kong',
						'10' => 'Kratie',
						'7' => 'Kampot',
						'6' => 'Kampong Thom',
						'18' => 'Preah Sihanouk',
						'4' => 'Kampong Chhnang',
						'3' => 'Kampong Cham',
						'16' => 'Ratanakiri',
						'2' => 'Battambang',
					]
				],
				'CM' => [
					'name' => 'Cameroon',
					'regions' => [
						'ES' => 'East',
						'CE' => 'Centre',
						'AD' => 'Adamaoua Region',
						'SU' => 'South',
						'SW' => 'South-West Region',
						'LT' => 'Littoral',
						'NW' => 'North-West Region',
						'OU' => 'West Region',
					]
				],
				'CA' => [
					'name' => 'Canada',
					'regions' => [
						'BC' => 'British Columbia',
						'AB' => 'Alberta',
						'ON' => 'Ontario',
						'QC' => 'Quebec',
						'SK' => 'Saskatchewan',
						'PE' => 'Prince Edward Island',
						'NB' => 'New Brunswick',
						'MB' => 'Manitoba',
						'NS' => 'Nova Scotia',
						'NU' => 'Nunavut',
						'NL' => 'Newfoundland and Labrador',
						'NT' => 'Northwest Territories',
						'YT' => 'Yukon',
					]
				],
				'CV' => [
					'name' => 'Cape Verde',
					'regions' => [
						'BR' => 'Brava',
						'MA' => 'Maio',
						'RB' => 'Ribeira Brava',
						'TA' => 'Tarrafal',
						'TS' => 'Tarrafal de São Nicolau',
						'SD' => 'São Domingos',
						'SL' => 'Sal',
						'BV' => 'Boa Vista',
						'RG' => 'Ribeira Grande',
						'PR' => 'Praia',
						'PN' => 'Porto Novo',
						'MO' => 'Mosteiros',
						'PA' => 'Paul',
						'SS' => 'São Salvador do Mundo',
						'SO' => 'São Lourenço dos Órgãos',
						'SV' => 'São Vicente',
						'SM' => 'São Miguel',
						'CF' => 'Santa Catarina do Fogo',
						'RS' => 'Ribeira Grande de Santiago',
						'CA' => 'Santa Catarina',
					]
				],
				'KY' => [
					'name' => 'Cayman Islands',
					'regions' => []
				],
				'CF' => [
					'name' => 'Central African Republic',
					'regions' => [
						'HM' => 'Haut-Mbomou',
						'MB' => 'Mbomou',
						'VK' => 'Vakaga',
						'HK' => 'Haute-Kotto',
						'UK' => 'Ouaka',
						'BB' => 'Bamingui-Bangoran',
						'BK' => 'Basse-Kotto',
						'OP' => 'Ouham-Pendé',
						'SE' => 'Sangha-Mbaéré',
						'LB' => 'Lobaye',
						'KB' => 'Nana-Grébizi',
						'AC' => 'Ouham',
						'KG' => 'Kémo',
						'MP' => 'Ombella-M\'Poko',
						'HS' => 'Mambéré-Kadéï',
						'NM' => 'Nana-Mambéré',
						'BGF' => 'Bangui',
					]
				],
				'TD' => [
					'name' => 'Chad',
					'regions' => [
						'EO' => 'Ennedi-Ouest',
						'WF' => 'Wadi Fira Region',
						'SA' => 'Salamat Region',
						'OD' => 'Ouadaï',
						'KA' => 'Kanem Region',
						'MO' => 'Mayo-Kebbi Ouest',
						'LC' => 'Lac Region',
						'MC' => 'Moyen-Chari Region',
						'BG' => 'Barh el Gazel',
						'TA' => 'Tandjilé',
						'CB' => 'Chari-Baguirmi Region',
						'GR' => 'Guéra',
						'HL' => 'Hadjer-Lamis',
						'MA' => 'Mandoul',
						'BO' => 'Borkou Region',
						'ME' => 'Mayo-Kebbi Est',
						'LO' => 'Logone Occidental Region',
						'LR' => 'Logone Oriental Region',
						'BA' => 'Batha Region',
						'TI' => 'Tibesti Region',
						'EE' => 'Ennedi-Est',
					]
				],
				'CL' => [
					'name' => 'Chile',
					'regions' => [
						'LI' => 'O\'Higgins Region',
						'BI' => 'Region del Biobio',
						'RM' => 'Santiago Metropolitan',
						'VS' => 'Region de Valparaiso',
						'AR' => 'Region de la Araucania',
						'CO' => 'Coquimbo Region',
						'AT' => 'Atacama',
						'LR' => 'Los Ríos Region',
						'AN' => 'Antofagasta',
						'ML' => 'Maule Region',
						'NB' => 'Ñuble',
						'LL' => 'Los Lagos Region',
						'MA' => 'Region of Magallanes',
						'AI' => 'Aysén',
						'TA' => 'Tarapacá',
						'AP' => 'Region de Arica y Parinacota',
					]
				],
				'CN' => [
					'name' => 'China',
					'regions' => [
						'XZ' => 'Tibet',
						'GS' => 'Gansu',
						'YN' => 'Yunnan',
						'QH' => 'Qinghai',
						'XJ' => 'Xinjiang',
						'JS' => 'Jiangsu',
						'GZ' => 'Guizhou',
						'AH' => 'Anhui',
						'SD' => 'Shandong',
						'SC' => 'Sichuan',
						'HN' => 'Hunan',
						'HE' => 'Hebei',
						'HA' => 'Henan',
						'ZJ' => 'Zhejiang',
						'LN' => 'Liaoning',
						'HB' => 'Hubei',
						'SX' => 'Shanxi',
						'GD' => 'Guangdong',
						'FJ' => 'Fujian',
						'JX' => 'Jiangxi',
						'GX' => 'Guangxi',
						'NX' => 'Ningxia Hui Autonomous Region',
						'SH' => 'Shanghai',
						'TJ' => 'Tianjin',
						'SN' => 'Shaanxi',
						'NM' => 'Inner Mongolia Autonomous Region',
						'HI' => 'Hainan',
						'BJ' => 'Beijing',
						'CQ' => 'Chongqing',
						'JL' => 'Jilin',
						'HL' => 'Heilongjiang',
					]
				],
				'CX' => [
					'name' => 'Christmas Island',
					'regions' => []
				],
				'CC' => [
					'name' => 'Cocos (Keeling) Islands',
					'regions' => []
				],
				'CO' => [
					'name' => 'Colombia',
					'regions' => [
						'CUN' => 'Cundinamarca',
						'VAC' => 'Departamento del Valle del Cauca',
						'ANT' => 'Antioquia',
						'SAN' => 'Departamento de Santander',
						'CAS' => 'Departamento de Casanare',
						'VAU' => 'Departamento del Vaupes',
						'HUI' => 'Departamento del Huila',
						'MET' => 'Departamento del Meta',
						'NSA' => 'Departamento de Norte de Santander',
						'CAL' => 'Departamento de Caldas',
						'BOY' => 'Departamento de Boyaca',
						'CES' => 'Departamento del Cesar',
						'COR' => 'Departamento de Cordoba',
						'DC' => 'Bogota D.C.',
						'BOL' => 'Departamento de Bolivar',
						'NAR' => 'Departamento de Narino',
						'SUC' => 'Departamento de Sucre',
						'ARA' => 'Departamento de Arauca',
						'MAG' => 'Departamento del Magdalena',
						'CHO' => 'Departamento del Choco',
						'ATL' => 'Atlántico',
						'CAQ' => 'Departamento del Caqueta',
						'PUT' => 'Departamento del Putumayo',
						'RIS' => 'Departamento de Risaralda',
						'CAU' => 'Departamento del Cauca',
						'SAP' => 'San Andres y Providencia',
						'QUI' => 'Quindio Department',
						'LAG' => 'Departamento de La Guajira',
						'AMA' => 'Amazonas',
						'GUA' => 'Departamento del Guainia',
						'VID' => 'Departamento del Vichada',
						'TOL' => 'Departamento de Tolima',
						'GUV' => 'Departamento del Guaviare',
					]
				],
				'KM' => [
					'name' => 'Comoros',
					'regions' => [
						'M' => 'Mohéli',
						'A' => 'Ndzuwani',
						'G' => 'Grande Comore',
					]
				],
				'CD' => [
					'name' => 'Congo, Democratic Republic of the',
					'regions' => [
						'TO' => 'Tshopo',
						'SU' => 'Sud-Ubangi',
						'HL' => 'Haut-Lomami',
						'LO' => 'Lomami',
						'KE' => 'Kasaï-Oriental',
						'MO' => 'Mongala',
						'KS' => 'Kasai',
						'SA' => 'Sankuru',
						'TA' => 'Tanganyika',
						'MA' => 'Maniema',
						'HU' => 'Haut-Uele',
						'NK' => 'Nord Kivu',
						'IT' => 'Ituri',
						'SK' => 'South Kivu Province',
						'TU' => 'Tshuapa',
						'BU' => 'Bas-Uele',
						'HK' => 'Haut-Katanga',
						'BC' => 'Bas-Congo',
						'EQ' => 'Équateur',
						'KN' => 'Kinshasa City',
						'KL' => 'Kwilu',
						'MN' => 'Mai-Ndombe',
					]
				],
				'CG' => [
					'name' => 'Congo',
					'regions' => [
						'2' => 'Lékoumou',
						'16' => 'Pointe-Noire',
						'13' => 'Sangha',
						'8' => 'Cuvette',
						'9' => 'Niari',
						'7' => 'Likouala',
						'15' => 'Cuvette-Ouest',
						'14' => 'Plateaux',
						'5' => 'Kouilou',
						'BZV' => 'Brazzaville',
					]
				],
				'CK' => [
					'name' => 'Cook Islands',
					'regions' => [
						'PE' => 'Penrhyn',
						'AT' => 'Atiu',
						'MK' => 'Manihiki',
						'MG' => 'Mangaia',
						'RR' => 'Rarotonga',
						'AI' => 'Aitutaki',
						'PA' => 'Palmerston',
						'MT' => 'Mitiaro',
						'PU' => 'Pukapuka',
						'RK' => 'Rakahanga',
					]
				],
				'CR' => [
					'name' => 'Costa Rica',
					'regions' => [
						'A' => 'Provincia de Alajuela',
						'SJ' => 'Provincia de San Jose',
						'G' => 'Provincia de Guanacaste',
						'P' => 'Provincia de Puntarenas',
						'C' => 'Provincia de Cartago',
						'L' => 'Provincia de Limon',
						'H' => 'Provincia de Heredia',
					]
				],
				'CI' => [
					'name' => 'Côte d\'Ivoire',
					'regions' => [
						'YM' => 'Yamoussoukro Autonomous District',
						'LC' => 'Lacs',
						'ZZ' => 'Zanzan',
						'BS' => 'Bas-Sassandra',
						'AB' => 'Abidjan',
						'GD' => 'Goh-Djiboua',
						'DN' => 'Denguele',
						'WR' => 'Woroba',
						'MG' => 'Montagnes',
						'SV' => 'Savanes',
						'CM' => 'Comoe',
						'SM' => 'Sassandra-Marahoue',
						'LG' => 'Lagunes',
						'VB' => 'Vallee du Bandama',
					]
				],
				'HR' => [
					'name' => 'Croatia',
					'regions' => [
						'16' => 'Vukovar-Sirmium',
						'17' => 'Split-Dalmatia',
						'18' => 'Istria',
						'08' => 'Primorsko-Goranska Zupanija',
						'02' => 'Krapinsko-Zagorska Zupanija',
						'01' => 'Zagreb County',
						'13' => 'Zadarska Zupanija',
						'15' => 'Sibensko-Kninska Zupanija',
						'21' => 'City of Zagreb',
						'06' => 'Koprivnicko-Krizevacka Zupanija',
						'04' => 'Karlovacka Zupanija',
						'10' => 'Viroviticko-Podravska Zupanija',
						'14' => 'Osjecko-Baranjska Zupanija',
						'05' => 'Varazdinska Zupanija',
						'11' => 'Pozesko-Slavonska Zupanija',
						'07' => 'Bjelovarsko-Bilogorska Zupanija',
						'03' => 'Sisacko-Moslavacka Zupanija',
						'12' => 'Slavonski Brod-Posavina',
						'19' => 'Dubrovacko-Neretvanska Zupanija',
						'09' => 'Licko-Senjska Zupanija',
						'20' => 'Megimurska Zupanija',
					]
				],
				'CU' => [
					'name' => 'Cuba',
					'regions' => [
						'04' => 'Provincia de Matanzas',
						'11' => 'Provincia de Holguin',
						'09' => 'Provincia de Camagueey',
						'05' => 'Provincia de Villa Clara',
						'13' => 'Provincia de Santiago de Cuba',
						'03' => 'Havana',
						'16' => 'Mayabeque',
						'14' => 'Provincia de Guantanamo',
						'99' => 'Municipio Especial Isla de la Juventud',
					]
				],
				'CY' => [
					'name' => 'Cyprus',
					'regions' => [
						'02' => 'Limassol',
						'05' => 'Pafos',
						'01' => 'Nicosia',
						'04' => 'Ammochostos',
						'03' => 'Larnaka',
						'06' => 'Keryneia',
					]
				],
				'CZ' => [
					'name' => 'Czech Republic',
					'regions' => [
						'52' => 'Kralovehradecky kraj',
						'20' => 'Central Bohemia',
						'71' => 'Olomoucky kraj',
						'64' => 'South Moravian',
						'41' => 'Karlovarsky kraj',
						'72' => 'Zlín',
						'31' => 'Jihocesky kraj',
						'42' => 'Ustecky kraj',
						'63' => 'Kraj Vysocina',
						'32' => 'Plzensky kraj',
						'80' => 'Moravskoslezsky kraj',
						'51' => 'Liberecky kraj',
						'53' => 'Pardubicky kraj',
						'10' => 'Hlavni mesto Praha',
					]
				],
				'DK' => [
					'name' => 'Denmark',
					'regions' => [
						'82' => 'Central Jutland',
						'85' => 'Zealand',
						'81' => 'North Denmark',
						'83' => 'South Denmark',
						'84' => 'Capital Region',
					]
				],
				'DJ' => [
					'name' => 'Djibouti',
					'regions' => [
						'TA' => 'Tadjourah',
						'OB' => 'Obock',
						'DJ' => 'Djibouti',
						'DI' => 'Dikhil',
						'AS' => 'Ali Sabieh Region',
						'AR' => 'Arta Region',
					]
				],
				'DM' => [
					'name' => 'Dominica',
					'regions' => [
						'08' => 'Saint Mark',
						'06' => 'Saint Joseph',
						'04' => 'Saint George',
						'03' => 'Saint David',
						'05' => 'Saint John',
						'07' => 'Saint Luke',
						'10' => 'Saint Paul',
						'02' => 'Saint Andrew',
						'11' => 'Saint Peter',
						'09' => 'Saint Patrick',
					]
				],
				'DO' => [
					'name' => 'Dominican Republic',
					'regions' => [
						'19' => 'Provincia de Hermanas Mirabal',
						'32' => 'Provincia de Santo Domingo',
						'03' => 'Provincia de Baoruco',
						'01' => 'Nacional',
						'25' => 'Provincia de Santiago',
						'09' => 'Provincia Espaillat',
						'05' => 'Provincia de Dajabon',
						'13' => 'Provincia de La Vega',
						'18' => 'Puerto Plata',
						'08' => 'Provincia de El Seibo',
						'04' => 'Provincia de Barahona',
						'20' => 'Samaná',
						'23' => 'Provincia de San Pedro de Macoris',
						'21' => 'Provincia de San Cristobal',
						'31' => 'Provincia de San Jose de Ocoa',
						'06' => 'Provincia Duarte',
						'15' => 'Provincia de Monte Cristi',
						'11' => 'Provincia de La Altagracia',
						'26' => 'Provincia de Santiago Rodriguez',
						'29' => 'Provincia de Monte Plata',
						'22' => 'Provincia de San Juan',
						'07' => 'Provincia de Elias Pina',
						'16' => 'Provincia de Pedernales',
						'14' => 'Provincia Maria Trinidad Sanchez',
						'30' => 'Provincia de Hato Mayor',
						'27' => 'Provincia de Valverde',
						'24' => 'Provincia Sanchez Ramirez',
						'12' => 'Provincia de La Romana',
						'10' => 'Provincia de Independencia',
						'02' => 'Provincia de Azua',
						'28' => 'Provincia de Monsenor Nouel',
						'17' => 'Provincia de Peravia',
					]
				],
				'EC' => [
					'name' => 'Ecuador',
					'regions' => [
						'O' => 'Provincia de El Oro',
						'Z' => 'Provincia de Zamora-Chinchipe',
						'G' => 'Provincia del Guayas',
						'L' => 'Provincia de Loja',
						'R' => 'Provincia de Los Rios',
						'P' => 'Provincia de Pichincha',
						'C' => 'Provincia del Carchi',
						'N' => 'Provincia de Napo',
						'Y' => 'Provincia del Pastaza',
						'U' => 'Provincia de Sucumbios',
						'SD' => 'Provincia de Santo Domingo de los Tsachilas',
						'T' => 'Provincia del Tungurahua',
						'SE' => 'Provincia de Santa Elena',
						'M' => 'Provincia de Manabi',
						'I' => 'Provincia de Imbabura',
						'X' => 'Provincia de Cotopaxi',
						'B' => 'Provincia de Bolivar',
						'H' => 'Provincia del Chimborazo',
						'W' => 'Provincia de Galapagos',
						'A' => 'Provincia del Azuay',
						'S' => 'Provincia de Morona-Santiago',
						'F' => 'Provincia del Canar',
						'E' => 'Provincia de Esmeraldas',
					]
				],
				'EG' => [
					'name' => 'Egypt',
					'regions' => [
						'GH' => 'Gharbia',
						'KB' => 'Qalyubia',
						'DK' => 'Dakahlia',
						'MNF' => 'Monufia',
						'SHG' => 'Sohag',
						'FYM' => 'Faiyum',
						'ALX' => 'Alexandria',
						'C' => 'Cairo Governorate',
						'JS' => 'South Sinai',
						'SIN' => 'North Sinai',
						'KN' => 'Qena',
						'KFS' => 'Kafr el-Sheikh',
						'MN' => 'Minya',
						'BH' => 'Beheira',
						'SHR' => 'Sharqia',
						'GZ' => 'Giza',
						'ASN' => 'Aswan',
						'MT' => 'Matruh',
						'DT' => 'Damietta Governorate',
						'PTS' => 'Port Said',
						'BNS' => 'Beni Suweif',
						'AST' => 'Asyut',
						'SUZ' => 'Suez',
						'LX' => 'Luxor',
						'IS' => 'Ismailia Governorate',
						'BA' => 'Red Sea',
					]
				],
				'SV' => [
					'name' => 'El Salvador',
					'regions' => [
						'LI' => 'Departamento de La Libertad',
						'US' => 'Departamento de Usulutan',
						'SS' => 'Departamento de San Salvador',
						'SO' => 'Departamento de Sonsonate',
						'CU' => 'Departamento de Cuscatlan',
						'SA' => 'Departamento de Santa Ana',
						'SM' => 'Departamento de San Miguel',
						'PA' => 'Departamento de La Paz',
						'MO' => 'Departamento de Morazan',
						'CH' => 'Departamento de Chalatenango',
						'UN' => 'Departamento de La Union',
						'CA' => 'Departamento de Cabanas',
						'AH' => 'Departamento de Ahuachapan',
					]
				],
				'GQ' => [
					'name' => 'Equatorial Guinea',
					'regions' => [
						'BN' => 'Bioko Norte',
						'AN' => 'Annobon',
						'WN' => 'Wele-Nzas',
						'KN' => 'Kié-Ntem',
						'CS' => 'Centro Sur',
						'BS' => 'Bioko Sur',
						'LI' => 'Litoral',
					]
				],
				'ER' => [
					'name' => 'Eritrea',
					'regions' => [
						'SK' => 'Northern Red Sea',
						'AN' => 'Anseba Region',
						'DK' => 'Southern Red Sea Region',
						'GB' => 'Gash-Barka Region',
						'MA' => 'Maekel Region',
						'DU' => 'Debub Region',
					]
				],
				'EE' => [
					'name' => 'Estonia',
					'regions' => [
						'67' => 'Pärnumaa',
						'59' => 'Lääne-Virumaa',
						'86' => 'Võrumaa',
						'78' => 'Tartu',
						'44' => 'Ida-Virumaa',
						'84' => 'Viljandimaa',
						'70' => 'Raplamaa',
						'37' => 'Harjumaa',
						'65' => 'Põlvamaa',
						'74' => 'Saare',
						'82' => 'Valgamaa',
						'51' => 'Järvamaa',
						'57' => 'Lääne',
						'49' => 'Jõgevamaa',
						'39' => 'Hiiumaa',
					]
				],
				'ET' => [
					'name' => 'Ethiopia',
					'regions' => [
						'SO' => 'Somali',
						'OR' => 'Oromiya',
						'HA' => 'Harari Region',
						'AM' => 'Amhara',
						'GA' => 'Gambela',
						'AF' => 'Afar Region',
						'DD' => 'Dire Dawa',
						'SN' => 'Southern Nations, Nationalities, and People\'s Region',
						'BE' => 'Bīnshangul Gumuz',
						'TI' => 'Tigray',
						'AA' => 'Addis Ababa',
					]
				],
				'FK' => [
					'name' => 'Falkland Islands (Malvinas)',
					'regions' => []
				],
				'FO' => [
					'name' => 'Faroe Islands',
					'regions' => []
				],
				'FJ' => [
					'name' => 'Fiji',
					'regions' => [
						'C' => 'Central',
						'W' => 'Western',
						'R' => 'Rotuma',
						'E' => 'Eastern',
					]
				],
				'FI' => [
					'name' => 'Finland',
					'regions' => [
						'12' => 'Ostrobothnia',
						'06' => 'Tavastia Proper',
						'19' => 'Finland Proper',
						'11' => 'Pirkanmaa',
						'14' => 'Northern Ostrobothnia',
						'10' => 'Lapland',
						'03' => 'Southern Ostrobothnia',
						'07' => 'Central Ostrobothnia',
						'13' => 'North Karelia',
						'05' => 'Kainuu',
						'09' => 'Kymenlaakso',
						'16' => 'Päijänne Tavastia',
						'08' => 'Central Finland',
						'18' => 'Uusimaa',
						'15' => 'Northern Savo',
						'04' => 'Southern Savonia',
						'17' => 'Satakunta',
						'02' => 'South Karelia',
					]
				],
				'FR' => [
					'name' => 'France',
					'regions' => [
						'NAQ' => 'Nouvelle-Aquitaine',
						'HDF' => 'Hauts-de-France',
						'GES' => 'Grand Est',
						'COR' => 'Corsica',
						'CVL' => 'Centre-Val de Loire',
						'ARA' => 'Auvergne-Rhone-Alpes',
						'PDL' => 'Pays de la Loire',
						'NOR' => 'Normandy',
						'BRE' => 'Brittany',
						'IDF' => 'Île-de-France',
						'BFC' => 'Bourgogne-Franche-Comte',
						'PAC' => 'Provence-Alpes-Côte d\'Azur',
						'OCC' => 'Occitanie',
					]
				],
				'GF' => [
					'name' => 'French Guiana',
					'regions' => []
				],
				'PF' => [
					'name' => 'French Polynesia',
					'regions' => [
						'S' => 'Leeward Islands',
						'V' => 'Iles du Vent',
						'T' => 'Iles Tuamotu-Gambier',
						'M' => 'Iles Marquises',
					]
				],
				'TF' => [
					'name' => 'French Southern Territories',
					'regions' => []
				],
				'GA' => [
					'name' => 'Gabon',
					'regions' => [
						'8' => 'Ogooué-Maritime',
						'9' => 'Woleu-Ntem',
						'3' => 'Moyen-Ogooué',
						'4' => 'Ngouni',
						'5' => 'Nyanga',
						'6' => 'Ogooué-Ivindo',
						'1' => 'Estuaire',
						'7' => 'Ogooué-Lolo',
						'2' => 'Haut-Ogooué',
					]
				],
				'GM' => [
					'name' => 'Gambia',
					'regions' => [
						'B' => 'Banjul',
						'U' => 'Upper River',
						'L' => 'Lower River Division',
						'M' => 'Central River',
						'N' => 'North Bank',
						'W' => 'West Coast',
					]
				],
				'GE' => [
					'name' => 'Georgia',
					'regions' => [
						'SZ' => 'Samegrelo and Zemo Svaneti',
						'MM' => 'Mtskheta-Mtianeti',
						'SK' => 'Shida Kartli',
						'TB' => 'K\'alak\'i T\'bilisi',
						'AB' => 'Abkhazia',
						'GU' => 'Guria',
						'RL' => 'Racha-Lechkhumi and Kvemo Svaneti',
						'IM' => 'Imereti',
						'AJ' => 'Ajaria',
					]
				],
				'DE' => [
					'name' => 'Germany',
					'regions' => [
						'SN' => 'Saxony',
						'HE' => 'Hesse',
						'BW' => 'Baden-Württemberg Region',
						'BY' => 'Bavaria',
						'RP' => 'Rheinland-Pfalz',
						'NW' => 'North Rhine-Westphalia',
						'BB' => 'Brandenburg',
						'MV' => 'Mecklenburg-Vorpommern',
						'ST' => 'Saxony-Anhalt',
						'TH' => 'Thuringia',
						'SH' => 'Schleswig-Holstein',
						'NI' => 'Lower Saxony',
						'SL' => 'Saarland',
						'HH' => 'Hamburg',
						'BE' => 'Land Berlin',
						'HB' => 'Bremen',
					]
				],
				'GH' => [
					'name' => 'Ghana',
					'regions' => [
						'NP' => 'Northern Region',
						'UW' => 'Upper West Region',
						'AA' => 'Greater Accra Region',
						'BA' => 'Brong-Ahafo',
						'WP' => 'Western Region',
						'CP' => 'Central Region',
						'UE' => 'Upper East Region',
						'AH' => 'Ashanti Region',
						'EP' => 'Eastern Region',
						'TV' => 'Volta Region',
					]
				],
				'GI' => [
					'name' => 'Gibraltar',
					'regions' => []
				],
				'GR' => [
					'name' => 'Greece',
					'regions' => [
						'E' => 'Thessaly',
						'F' => 'Ionian Islands',
						'G' => 'West Greece',
						'J' => 'Peloponnese',
						'I' => 'Attica',
						'H' => 'Central Greece',
						'K' => 'North Aegean',
						'M' => 'Crete',
						'L' => 'South Aegean',
						'D' => 'Epirus',
						'C' => 'West Macedonia',
						'B' => 'Central Macedonia',
						'A' => 'East Macedonia and Thrace',
						'69' => 'Mount Athos',
					]
				],
				'GL' => [
					'name' => 'Greenland',
					'regions' => [
						'AV' => 'Avannaata',
						'QE' => 'Qeqqata',
						'QT' => 'Qeqertalik',
						'KU' => 'Kujalleq',
						'SM' => 'Sermersooq',
					]
				],
				'GD' => [
					'name' => 'Grenada',
					'regions' => [
						'05' => 'Saint Mark',
						'06' => 'Saint Patrick',
						'01' => 'Saint Andrew',
						'03' => 'Saint George',
						'02' => 'Saint David',
						'10' => 'Carriacou and Petite Martinique',
						'04' => 'Saint John',
					]
				],
				'GP' => [
					'name' => 'Guadeloupe',
					'regions' => []
				],
				'GU' => [
					'name' => 'Guam',
					'regions' => []
				],
				'GT' => [
					'name' => 'Guatemala',
					'regions' => [
						'ZA' => 'Departamento de Zacapa',
						'GU' => 'Departamento de Guatemala',
						'TO' => 'Departamento de Totonicapan',
						'SA' => 'Departamento de Sacatepequez',
						'SR' => 'Departamento de Santa Rosa',
						'ES' => 'Departamento de Escuintla',
						'QC' => 'Departamento del Quiche',
						'SO' => 'Departamento de Solola',
						'SU' => 'Suchitepeque',
						'PE' => 'Departamento del Peten',
						'QZ' => 'Departamento de Quetzaltenango',
						'BV' => 'Departamento de Baja Verapaz',
						'RE' => 'Departamento de Retalhuleu',
						'AV' => 'Departamento de Alta Verapaz',
						'IZ' => 'Departamento de Izabal',
						'JA' => 'Departamento de Jalapa',
						'HU' => 'Departamento de Huehuetenango',
						'JU' => 'Departamento de Jutiapa',
						'CQ' => 'Departamento de Chiquimula',
						'PR' => 'Departamento de El Progreso',
						'CM' => 'Departamento de Chimaltenango',
					]
				],
				'GW' => [
					'name' => 'Guinea-Bissau',
					'regions' => [
						'TO' => 'Tombali',
						'GA' => 'Gabu',
						'CA' => 'Cacheu Region',
						'BA' => 'Bafata',
						'QU' => 'Quinara',
						'BL' => 'Bolama',
						'OI' => 'Oio Region',
						'BS' => 'Bissau',
					]
				],
				'GN' => [
					'name' => 'Guinea',
					'regions' => [
						'B' => 'Boke Region',
						'N' => 'Nzerekore Region',
						'M' => 'Mamou Region',
						'L' => 'Labe Region',
						'K' => 'Kankan Region',
						'D' => 'Kindia',
						'F' => 'Faranah',
						'C' => 'Conakry Region',
					]
				],
				'GY' => [
					'name' => 'Guyana',
					'regions' => [
						'ES' => 'Essequibo Islands-West Demerara Region',
						'EB' => 'East Berbice-Corentyne Region',
						'PT' => 'Potaro-Siparuni Region',
						'UD' => 'Upper Demerara-Berbice Region',
						'BA' => 'Barima-Waini Region',
						'UT' => 'Upper Takutu-Upper Essequibo Region',
						'DE' => 'Demerara-Mahaica Region',
						'CU' => 'Cuyuni-Mazaruni Region',
						'PM' => 'Pomeroon-Supenaam Region',
					]
				],
				'HT' => [
					'name' => 'Haiti',
					'regions' => [
						'OU' => 'Departement de l\'Ouest',
						'NI' => 'Departement de Nippes',
						'GA' => 'Grandans',
						'CE' => 'Centre',
						'AR' => 'Departement de l\'Artibonite',
						'SD' => 'Sud',
						'ND' => 'Nord',
					]
				],
				'HM' => [
					'name' => 'Heard Island and McDonald Islands',
					'regions' => []
				],
				'VA' => [
					'name' => 'Holy See (Vatican City State)',
					'regions' => []
				],
				'HN' => [
					'name' => 'Honduras',
					'regions' => [
						'CR' => 'Departamento de Cortes',
						'CL' => 'Departamento de Colon',
						'AT' => 'Departamento de Atlantida',
						'FM' => 'Departamento de Francisco Morazan',
						'SB' => 'Departamento de Santa Barbara',
						'CM' => 'Departamento de Comayagua',
						'CP' => 'Departamento de Copan',
						'VA' => 'Departamento de Valle',
						'IB' => 'Bay Islands',
						'GD' => 'Departamento de Gracias a Dios',
						'LE' => 'Departamento de Lempira',
						'OC' => 'Departamento de Ocotepeque',
						'YO' => 'Departamento de Yoro',
						'OL' => 'Departamento de Olancho',
						'EP' => 'Departamento de El Paraiso',
						'CH' => 'Departamento de Choluteca',
						'LP' => 'Departamento de La Paz',
					]
				],
				'HK' => [
					'name' => 'Hong Kong',
					'regions' => [
						'NTW' => 'Tsuen Wan District',
						'NYL' => 'Yuen Long District',
						'KYT' => 'Yau Tsim Mong',
						'KWT' => 'Wong Tai Sin',
						'HSO' => 'Southern',
						'HWC' => 'Wan Chai',
						'HEA' => 'Eastern',
						'NTM' => 'Tuen Mun',
						'NKT' => 'Kwai Tsing',
						'KKC' => 'Kowloon City',
						'NSK' => 'Sai Kung District',
						'NST' => 'Sha Tin',
						'NTP' => 'Tai Po District',
						'HCW' => 'Central and Western District',
						'NIS' => 'Islands District',
						'NNO' => 'North',
						'KSS' => 'Sham Shui Po',
						'KKT' => 'Kwun Tong',
					]
				],
				'HU' => [
					'name' => 'Hungary',
					'regions' => [
						'SZ' => 'Szabolcs-Szatmár-Bereg',
						'HB' => 'Hajdú-Bihar',
						'BE' => 'Bekes',
						'HE' => 'Heves megye',
						'JN' => 'Jász-Nagykun-Szolnok',
						'BZ' => 'Borsod-Abaúj-Zemplén',
						'CS' => 'Csongrad megye',
						'BK' => 'Bács-Kiskun',
						'BA' => 'Baranya',
						'PE' => 'Pest megye',
						'SO' => 'Somogy megye',
						'GS' => 'Győr-Moson-Sopron',
						'TO' => 'Tolna megye',
						'VE' => 'Veszprem megye',
						'FE' => 'Fejér',
						'ZA' => 'Zala',
						'NO' => 'Nograd megye',
						'KE' => 'Komárom-Esztergom',
						'VA' => 'Vas',
						'BU' => 'Budapest',
					]
				],
				'IS' => [
					'name' => 'Iceland',
					'regions' => [
						'7' => 'East',
						'8' => 'South',
						'5' => 'Northwest',
						'6' => 'Northeast',
						'2' => 'Southern Peninsula',
						'3' => 'West',
						'1' => 'Capital Region',
						'4' => 'Westfjords',
					]
				],
				'IN' => [
					'name' => 'India',
					'regions' => [
						'JK' => 'Jammu and Kashmir',
						'AR' => 'Arunachal Pradesh',
						'HP' => 'Himachal Pradesh',
						'MH' => 'Maharashtra',
						'HR' => 'Haryana',
						'KA' => 'Karnataka',
						'WB' => 'West Bengal',
						'TG' => 'Telangana',
						'GJ' => 'Gujarat',
						'KL' => 'Kerala',
						'AP' => 'Andhra Pradesh',
						'UP' => 'Uttar Pradesh',
						'TN' => 'Tamil Nadu',
						'PY' => 'Union Territory of Puducherry',
						'MP' => 'Madhya Pradesh',
						'GA' => 'Goa',
						'UT' => 'Uttarakhand',
						'AS' => 'Assam',
						'RJ' => 'Rajasthan',
						'ML' => 'Meghalaya',
						'MN' => 'Manipur',
						'BR' => 'Bihar',
						'PB' => 'Punjab',
						'OR' => 'Odisha',
						'CT' => 'Chhattisgarh',
						'SK' => 'Sikkim',
						'JH' => 'Jharkhand',
						'TR' => 'Tripura',
						'DN' => 'Dadra and Nagar Haveli',
						'MZ' => 'Mizoram',
						'AN' => 'Andaman and Nicobar',
						'DL' => 'National Capital Territory of Delhi',
						'NL' => 'Nagaland',
						'DD' => 'Daman and Diu',
						'LD' => 'Lakshadweep',
						'CH' => 'Chandigarh',
					]
				],
				'ID' => [
					'name' => 'Indonesia',
					'regions' => [
						'SU' => 'North Sumatra',
						'AC' => 'Aceh',
						'YO' => 'Yogyakarta',
						'JT' => 'Central Java',
						'SN' => 'South Sulawesi',
						'BA' => 'Bali',
						'JI' => 'East Java',
						'SA' => 'North Sulawesi',
						'PA' => 'Papua',
						'MU' => 'North Maluku',
						'LA' => 'Lampung',
						'KI' => 'East Kalimantan',
						'JB' => 'West Java',
						'KU' => 'North Kalimantan',
						'KR' => 'Riau Islands',
						'BT' => 'Banten',
						'RI' => 'Riau',
						'BB' => 'Bangka–Belitung Islands',
						'NB' => 'West Nusa Tenggara',
						'PB' => 'West Papua',
						'SB' => 'West Sumatra',
						'NT' => 'East Nusa Tenggara',
						'KB' => 'West Kalimantan',
						'KT' => 'Central Kalimantan',
						'JK' => 'Jakarta',
						'KS' => 'South Kalimantan',
						'SS' => 'South Sumatra',
						'SR' => 'West Sulawesi',
						'ST' => 'Central Sulawesi',
						'JA' => 'Jambi',
						'BE' => 'Bengkulu',
						'SG' => 'Southeast Sulawesi',
						'GO' => 'Gorontalo',
						'MA' => 'Maluku',
					]
				],
				'IR' => [
					'name' => 'Iran',
					'regions' => [
						'07' => 'Ostan-e Tehran',
						'11' => 'Zanjan',
						'25' => 'Yazd',
						'01' => 'East Azerbaijan',
						'31' => 'Ostan-e Khorasan-e Shomali',
						'14' => 'Fars',
						'21' => 'Māzandarān',
						'16' => 'Ostan-e Kordestan',
						'19' => 'Ostan-e Gilan',
						'30' => 'Razavi Khorasan',
						'22' => 'Markazi',
						'24' => 'Ostan-e Hamadan',
						'23' => 'Hormozgan',
						'02' => 'West Azerbaijan Province',
						'10' => 'Khuzestan',
						'20' => 'Ostan-e Lorestan',
						'17' => 'Ostan-e Kermanshah',
						'15' => 'Kerman',
						'32' => 'Alborz',
						'05' => 'Ilam Province',
						'06' => 'Bushehr',
						'08' => 'Chaharmahal and Bakhtiari',
						'03' => 'Ostan-e Ardabil',
						'04' => 'Isfahan',
						'28' => 'Ostan-e Qazvin',
						'13' => 'Sistan and Baluchestan',
					]
				],
				'IQ' => [
					'name' => 'Iraq',
					'regions' => [
						'SD' => 'Salah ad Din',
						'SU' => 'Muhafazat as Sulaymaniyah',
						'DI' => 'Diyālá',
						'KI' => 'Kirkuk',
						'KA' => 'Muhafazat Karbala\'',
						'AR' => 'Muhafazat Arbil',
						'WA' => 'Muhafazat Wasit',
						'DA' => 'Dihok',
						'BG' => 'Baghdad',
						'BB' => 'Muhafazat Babil',
						'MU' => 'Muhafazat al Muthanna',
						'DQ' => 'Dhi Qar',
						'AN' => 'Anbar',
						'NA' => 'An Najaf',
						'NI' => 'Nineveh',
						'QA' => 'Muhafazat al Qadisiyah',
						'BA' => 'Basra',
						'MA' => 'Maysan',
					]
				],
				'IE' => [
					'name' => 'Ireland',
					'regions' => [
						'U' => 'Ulster',
						'C' => 'Connaught',
						'M' => 'Munster',
						'L' => 'Leinster',
					]
				],
				'IL' => [
					'name' => 'Israel',
					'regions' => [
						'JM' => 'Jerusalem',
						'M' => 'Central District',
						'Z' => 'Northern District',
						'D' => 'Southern District',
						'HA' => 'Haifa',
						'TA' => 'Tel Aviv',
					]
				],
				'IT' => [
					'name' => 'Italy',
					'regions' => [
						'88' => 'Sardinia',
						'78' => 'Calabria',
						'82' => 'Sicily',
						'75' => 'Apulia',
						'77' => 'Basilicate',
						'72' => 'Campania',
						'34' => 'Veneto',
						'45' => 'Emilia-Romagna',
						'36' => 'Friuli Venezia Giulia',
						'25' => 'Lombardy',
						'42' => 'Liguria',
						'21' => 'Piedmont',
						'32' => 'Trentino-Alto Adige',
						'62' => 'Latium',
						'52' => 'Tuscany',
						'65' => 'Abruzzo',
						'57' => 'The Marches',
						'67' => 'Molise',
						'23' => 'Aosta Valley',
						'55' => 'Umbria',
					]
				],
				'JM' => [
					'name' => 'Jamaica',
					'regions' => [
						'03' => 'Saint Thomas',
						'10' => 'Westmoreland',
						'02' => 'Saint Andrew',
						'07' => 'Trelawny',
						'11' => 'Saint Elizabeth',
						'04' => 'Portland',
						'14' => 'Saint Catherine',
						'13' => 'Clarendon',
						'05' => 'Saint Mary',
						'06' => 'Parish of Saint Ann',
						'01' => 'Kingston',
						'08' => 'Saint James',
						'12' => 'Manchester',
						'09' => 'Hanover',
					]
				],
				'JP' => [
					'name' => 'Japan',
					'regions' => [
						'30' => 'Wakayama',
						'14' => 'Kanagawa',
						'28' => 'Hyōgo',
						'10' => 'Gunma',
						'15' => 'Niigata',
						'06' => 'Yamagata',
						'21' => 'Gifu',
						'40' => 'Fukuoka',
						'08' => 'Ibaraki',
						'11' => 'Saitama',
						'31' => 'Tottori',
						'47' => 'Okinawa',
						'23' => 'Aichi',
						'24' => 'Mie',
						'25' => 'Shiga',
						'26' => 'Kyoto',
						'43' => 'Kumamoto',
						'32' => 'Shimane',
						'27' => 'Ōsaka',
						'35' => 'Yamaguchi',
						'13' => 'Tokyo',
						'29' => 'Nara',
						'19' => 'Yamanashi',
						'07' => 'Fukushima-ken',
						'33' => 'Okayama',
						'22' => 'Shizuoka',
						'09' => 'Tochigi',
						'17' => 'Ishikawa',
						'37' => 'Kagawa',
						'44' => 'Oita',
						'41' => 'Saga',
						'16' => 'Toyama',
						'20' => 'Nagano',
						'18' => 'Fukui',
						'36' => 'Tokushima',
						'12' => 'Chiba',
						'46' => 'Kagoshima',
						'34' => 'Hiroshima',
						'39' => 'Kochi',
						'42' => 'Nagasaki',
						'45' => 'Miyazaki',
						'38' => 'Ehime',
						'01' => 'Hokkaido',
						'02' => 'Aomori',
						'05' => 'Akita',
						'04' => 'Miyagi',
						'03' => 'Iwate',
					]
				],
				'JO' => [
					'name' => 'Jordan',
					'regions' => [
						'JA' => 'Jerash',
						'MD' => 'Madaba',
						'IR' => 'Irbid',
						'AT' => 'Tafielah',
						'AZ' => 'Zarqa',
						'KA' => 'Karak',
						'MN' => 'Ma’an',
						'AM' => 'Amman Governorate',
						'MA' => 'Mafraq',
						'AQ' => 'Aqaba',
						'BA' => 'Balqa',
						'AJ' => 'Ajloun',
					]
				],
				'KZ' => [
					'name' => 'Kazakhstan',
					'regions' => [
						'ZAP' => 'West Kazakhstan',
						'AKT' => 'Aktyubinskaya Oblast\'',
						'KAR' => 'Karaganda',
						'MAN' => 'Mangistauskaya Oblast\'',
						'ATY' => 'Atyrau Oblysy',
						'VOS' => 'East Kazakhstan',
						'ZHA' => 'Zhambyl Oblysy',
						'YUZ' => 'South Kazakhstan',
						'ALM' => 'Almaty Oblysy',
						'SEV' => 'North Kazakhstan',
						'SHY' => 'Shymkent',
						'KZY' => 'Qyzylorda Oblysy',
						'KUS' => 'Qostanay Oblysy',
						'PAV' => 'Pavlodar Region',
						'AKM' => 'Aqmola Oblysy',
						'BAY' => 'Baikonur',
						'AST' => 'Nur-Sultan',
						'ALA' => 'Almaty',
					]
				],
				'KE' => [
					'name' => 'Kenya',
					'regions' => [
						'30' => 'Nairobi Province',
						'02' => 'Bomet District',
						'13' => 'Kiambu District',
						'36' => 'Nyeri District',
						'29' => 'Murang\'a District',
						'31' => 'Nakuru District',
						'32' => 'Nandi South District',
						'28' => 'Mombasa District',
						'26' => 'Meru',
						'17' => 'Kisumu',
						'24' => 'Mandera District',
						'14' => 'Kilifi District',
						'22' => 'Machakos District',
						'16' => 'Kisii District',
						'15' => 'Kirinyaga District',
						'34' => 'Nyamira District',
						'12' => 'Kericho District',
						'10' => 'Kajiado District',
						'07' => 'Garissa District',
						'06' => 'Embu District',
						'44' => 'Uasin Gishu',
						'19' => 'Kwale District',
					]
				],
				'KI' => [
					'name' => 'Kiribati',
					'regions' => [
						'G' => 'Gilbert Islands',
						'L' => 'Line Islands',
						'P' => 'Phoenix Islands',
					]
				],
				'KW' => [
					'name' => 'Kuwait',
					'regions' => [
						'JA' => 'Muhafazat al Jahra\'',
						'KU' => 'Al Asimah',
						'FA' => 'Al Farwaniyah',
						'HA' => 'Hawalli',
						'AH' => 'Al Aḩmadī',
						'MU' => 'Mubārak al Kabīr',
					]
				],
				'KG' => [
					'name' => 'Kyrgyzstan',
					'regions' => [
						'Y' => 'Issyk-Kul',
						'C' => 'Chuyskaya Oblast\'',
						'J' => 'Jalal-Abad oblast',
						'T' => 'Talas',
						'N' => 'Naryn oblast',
						'O' => 'Osh Oblasty',
						'GB' => 'Gorod Bishkek',
						'B' => 'Batken',
					]
				],
				'LA' => [
					'name' => 'Lao People\'s Democratic Republic',
					'regions' => [
						'VT' => 'Vientiane Prefecture',
						'XI' => 'Xiangkhouang',
						'HO' => 'Houaphan',
						'SV' => 'Khoueng Savannakhet',
						'SL' => 'Salavan',
						'PH' => 'Khoueng Phongsali',
						'CH' => 'Champasak',
						'OU' => 'Khoueng Oudomxai',
						'XA' => 'Xaignabouli',
						'VI' => 'Vientiane Province',
						'BL' => 'Bolikhamsai',
						'KH' => 'Khammouan',
						'LP' => 'Luang Prabang Province',
						'LM' => 'Louangnamtha',
						'BK' => 'Bokeo',
					]
				],
				'LV' => [
					'name' => 'Latvia',
					'regions' => [
						'VMR' => 'Valmiera',
						'089' => 'Saulkrastu Novads',
						'110' => 'Zilupes Novads',
						'051' => 'Ķegums',
						'054' => 'Limbazu novads',
						'109' => 'Vilanu Novads',
						'107' => 'Viesites Novads',
						'VEN' => 'Ventspils',
						'102' => 'Varaklanu Novads',
						'037' => 'Inčukalns',
						'101' => 'Valka',
						'097' => 'Talsi Municipality',
						'100' => 'Vainodes Novads',
						'106' => 'Ventspils Municipality',
						'031' => 'Garkalne',
						'095' => 'Stopinu Novads',
						'048' => 'Krimulda',
						'099' => 'Tukuma novads',
						'041' => 'Jelgavas novads',
						'098' => 'Tervetes Novads',
						'077' => 'Rezeknes Novads',
						'096' => 'Strencu Novads',
						'012' => 'Babīte',
						'094' => 'Smiltenes Novads',
						'029' => 'Engure',
						'093' => 'Skrundas Novads',
						'092' => 'Skriveru Novads',
						'105' => 'Vecumnieku Novads',
						'025' => 'Daugavpils municipality',
						'091' => 'Siguldas Novads',
						'002' => 'Aizkraukles novads',
						'059' => 'Madona Municipality',
						'088' => 'Saldus Municipality',
						'087' => 'Salaspils Novads',
						'086' => 'Salacgrivas Novads',
						'084' => 'Rujienas Novads',
						'081' => 'Rucavas Novads',
						'080' => 'Ropazu Novads',
						'079' => 'Rojas Novads',
						'RIX' => 'Riga',
						'073' => 'Preili Municipality',
						'REZ' => 'Rezekne',
						'052' => 'Ķekava',
						'075' => 'Priekuli Municipality',
						'074' => 'Priekule',
						'072' => 'Plavinu Novads',
						'071' => 'Pavilostas Novads',
						'090' => 'Sejas Novads',
						'069' => 'Ozolnieku Novads',
						'068' => 'Olaine',
						'067' => 'Ogre',
						'050' => 'Kuldigas novads',
						'065' => 'Nereta',
						'064' => 'Naukšēni',
						'063' => 'Mersraga Novads',
						'032' => 'Grobiņa',
						'060' => 'Mazsalaca',
						'019' => 'Burtnieki',
						'061' => 'Mālpils',
						'058' => 'Ludzas novads',
						'057' => 'Lubāna',
						'056' => 'Līvāni',
						'055' => 'Līgatne',
						'LPX' => 'Liepaja',
						'022' => 'Cesu Novads',
						'053' => 'Lielvārde',
						'047' => 'Kraslavas novads',
						'046' => 'Koknese',
						'045' => 'Kocēni',
						'003' => 'Aizpute',
						'044' => 'Karsava',
						'043' => 'Kandava',
						'JUR' => 'Jurmala',
						'JEL' => 'Jelgava',
						'042' => 'Jēkabpils Municipality',
						'039' => 'Jaunpiebalga',
						'062' => 'Mārupe',
						'038' => 'Jaunjelgava',
						'035' => 'Ikšķile',
						'034' => 'Lecava',
						'033' => 'Gulbenes novads',
						'020' => 'Carnikava',
						'030' => 'Ērgļi',
						'027' => 'Dundaga',
						'076' => 'Raunas Novads',
						'026' => 'Dobeles novads',
						'DGV' => 'Daugavpils',
						'024' => 'Dagda',
						'021' => 'Cesvaine',
						'018' => 'Brocēni',
						'010' => 'Auces',
						'016' => 'Bauskas Novads',
						'015' => 'Balvu Novads',
						'011' => 'Ādaži',
						'013' => 'Baldone',
						'007' => 'Aluksnes Novads',
						'006' => 'Alsunga',
						'005' => 'Aloja',
						'004' => 'Aknīste',
					]
				],
				'LB' => [
					'name' => 'Lebanon',
					'regions' => [
						'AS' => 'Mohafazat Liban-Nord',
						'BI' => 'Mohafazat Beqaa',
						'JA' => 'South Governorate',
						'JL' => 'Mohafazat Mont-Liban',
						'BH' => 'Mohafazat Baalbek-Hermel',
						'AK' => 'Mohafazat Aakkar',
						'NA' => 'Mohafazat Nabatiye',
						'BA' => 'Beyrouth',
					]
				],
				'LS' => [
					'name' => 'Lesotho',
					'regions' => [
						'D' => 'Berea',
						'G' => 'Quthing',
						'C' => 'Leribe',
						'J' => 'Mokhotlong',
						'A' => 'Maseru',
						'E' => 'Mafeteng District',
						'B' => 'Butha-Buthe',
						'K' => 'Thaba-Tseka',
						'F' => 'Mohale\'s Hoek District',
						'H' => 'Qacha\'s Nek',
					]
				],
				'LR' => [
					'name' => 'Liberia',
					'regions' => [
						'GK' => 'Grand Kru County',
						'LO' => 'Lofa County',
						'BM' => 'Bomi County',
						'RG' => 'River Gee County',
						'GP' => 'Gbarpolu County',
						'NI' => 'Nimba County',
						'CM' => 'Grand Cape Mount County',
						'RI' => 'River Cess County',
						'MO' => 'Montserrado County',
						'MG' => 'Margibi County',
						'SI' => 'Sinoe County',
						'BG' => 'Bong County',
						'GB' => 'Grand Bassa County',
					]
				],
				'LY' => [
					'name' => 'Libyan Arab Jamahiriya',
					'regions' => [
						'BU' => 'Al Butnan',
						'JA' => 'Al Jabal al Akhdar',
						'DR' => 'Darnah',
						'BA' => 'Sha\'biyat Banghazi',
						'KF' => 'Al Kufrah',
						'MJ' => 'Al Marj',
						'WA' => 'Al Wahat',
						'NQ' => 'An Nuqat al Khams',
						'JU' => 'Al Jufrah',
						'TB' => 'Tripoli',
						'SR' => 'Surt',
						'NL' => 'Nalut',
						'MQ' => 'Murzuq',
						'MI' => 'Sha\'biyat Misratah',
						'ZA' => 'Az Zawiyah',
						'GT' => 'Ghat',
						'JG' => 'Jabal al Gharbi',
						'WD' => 'Wadi al Hayat',
						'MB' => 'Al Marqab',
						'JI' => 'Al Jafarah',
						'WS' => 'Wadi ash Shati\'',
					]
				],
				'LI' => [
					'name' => 'Liechtenstein',
					'regions' => [
						'11' => 'Vaduz',
						'10' => 'Triesenberg',
						'09' => 'Triesen',
						'08' => 'Schellenberg',
						'04' => 'Mauren',
						'07' => 'Schaan',
						'06' => 'Ruggell',
						'05' => 'Planken',
						'02' => 'Eschen',
						'03' => 'Gamprin',
						'01' => 'Balzers',
					]
				],
				'LT' => [
					'name' => 'Lithuania',
					'regions' => [
						'KU' => 'Kaunas',
						'TE' => 'Telsiai',
						'KL' => 'Klaipėda County',
						'VL' => 'Vilnius',
						'UT' => 'Utena',
						'SA' => 'Siauliai',
						'MR' => 'Marijampolė County',
						'AL' => 'Alytus',
						'TA' => 'Tauragė County',
						'PN' => 'Panevėžys',
					]
				],
				'LU' => [
					'name' => 'Luxembourg',
					'regions' => [
						'GR' => 'Grevenmacher',
						'CL' => 'Clervaux',
						'WI' => 'Wiltz',
						'RM' => 'Remich',
						'LU' => 'Luxembourg',
						'DI' => 'Diekirch',
						'RD' => 'Redange',
						'VD' => 'Vianden',
						'ES' => 'Esch-sur-Alzette',
						'CA' => 'Capellen',
						'ME' => 'Mersch',
						'EC' => 'Echternach',
					]
				],
				'MO' => [
					'name' => 'Macao',
					'regions' => []
				],
				'MK' => [
					'name' => 'Macedonia, Republic of',
					'regions' => [
						'14' => 'Vinica',
						'12' => 'Opstina Vevcani',
						'13' => 'Veles',
						'76' => 'Tetovo',
						'69' => 'Sveti Nikole',
						'72' => 'Strumica',
						'71' => 'Struga',
						'70' => 'Opstina Stip',
						'38' => 'Opstina Karpos',
						'67' => 'Rosoman',
						'66' => 'Resen',
						'64' => 'Opstina Radovis',
						'62' => 'Prilep',
						'58' => 'Ohrid',
						'56' => 'Novo Selo',
						'26' => 'Opstina Dojran',
						'54' => 'Negotino',
						'25' => 'Demir Hisar',
						'47' => 'Kumanovo',
						'45' => 'Opstina Krivogastani',
						'44' => 'Kriva Palanka',
						'43' => 'Kratovo',
						'42' => 'Opstina Kocani',
						'40' => 'Opstina Kicevo',
						'04' => 'Bitola',
						'36' => 'Kavadarci',
						'06' => 'Bogovinje',
						'30' => 'Opstina Zelino',
						'19' => 'Gostivar',
						'18' => 'Gevgelija',
						'23' => 'Opstina Delcevo',
						'21' => 'Debar',
						'52' => 'Makedonski Brod',
						'07' => 'Bosilovo',
						'05' => 'Bogdanci',
						'03' => 'Berovo',
						'57' => 'Oslomej',
					]
				],
				'MG' => [
					'name' => 'Madagascar',
					'regions' => []
				],
				'MW' => [
					'name' => 'Malawi',
					'regions' => [
						'N' => 'Northern Region',
						'C' => 'Central Region',
						'S' => 'Southern Region',
					]
				],
				'MY' => [
					'name' => 'Malaysia',
					'regions' => [
						'02' => 'Kedah',
						'06' => 'Pahang',
						'08' => 'Perak',
						'10' => 'Selangor',
						'01' => 'Johor',
						'11' => 'Terengganu',
						'13' => 'Sarawak',
						'12' => 'Sabah',
						'15' => 'Labuan',
						'03' => 'Kelantan',
						'04' => 'Melaka',
						'05' => 'Negeri Sembilan',
						'07' => 'Penang',
						'14' => 'Kuala Lumpur',
						'09' => 'Perlis',
						'16' => 'Putrajaya',
					]
				],
				'MV' => [
					'name' => 'Maldives',
					'regions' => [
						'26' => 'Kaafu Atoll',
						'20' => 'Baa Atholhu',
						'17' => 'Dhaalu Atholhu',
						'27' => 'Gaafu Alifu Atholhu',
						'28' => 'Gaafu Dhaalu Atholhu',
						'29' => 'Gnyaviyani Atoll',
						'07' => 'Haa Alifu Atholhu',
						'23' => 'Haa Dhaalu Atholhu',
						'03' => 'Lhaviyani Atholhu',
						'12' => 'Meemu Atholhu',
						'13' => 'Raa Atoll',
						'24' => 'Shaviyani Atholhu',
						'08' => 'Thaa Atholhu',
						'05' => 'Laamu Atholhu',
						'02' => 'Northern Ari Atoll',
					]
				],
				'ML' => [
					'name' => 'Mali',
					'regions' => [
						'6' => 'Tombouctou',
						'7' => 'Gao',
						'3' => 'Sikasso',
						'4' => 'Ségou',
						'2' => 'Koulikoro',
						'1' => 'Kayes',
						'8' => 'Kidal',
						'5' => 'Mopti',
						'BKO' => 'Bamako Region',
					]
				],
				'MT' => [
					'name' => 'Malta',
					'regions' => [
						'28' => 'Marsaxlokk',
						'68' => 'Iz-Zurrieq',
						'67' => 'Iz-Zejtun',
						'66' => 'Haz-Zebbug',
						'64' => 'Haz-Zabbar',
						'62' => 'Ix-Xewkija',
						'61' => 'Ix-Xaghra',
						'60' => 'Il-Belt Valletta',
						'59' => 'Ta\' Xbiex',
						'58' => 'Tarxien',
						'56' => 'Tas-Sliema',
						'55' => 'Is-Siggiewi',
						'54' => 'Saint Venera',
						'53' => 'Saint Lucia',
						'51' => 'Saint Paul’s Bay',
						'52' => 'Sannat',
						'50' => 'Saint Lawrence',
						'48' => 'Saint Julian',
						'47' => 'Safi',
						'39' => 'Paola',
						'45' => 'Victoria',
						'46' => 'Ir-Rabat',
						'44' => 'Il-Qrendi',
						'43' => 'Qormi',
						'42' => 'Il-Qala',
						'41' => 'Tal-Pieta',
						'38' => 'In-Naxxar',
						'37' => 'In-Nadur',
						'36' => 'Il-Munxar',
						'35' => 'L-Imtarfa',
						'34' => 'L-Imsida',
						'33' => 'L-Imqabba',
						'32' => 'Il-Mosta',
						'31' => 'L-Imgarr',
						'30' => 'Il-Mellieha',
						'29' => 'L-Imdina',
						'27' => 'Marsaskala',
						'65' => 'Iz-Zebbug',
						'26' => 'Il-Marsa',
						'57' => 'Is-Swieqi',
						'25' => 'Luqa',
						'20' => 'L-Isla',
						'19' => 'L-Iklin',
						'24' => 'Lija',
						'22' => 'Ta\' Kercem',
						'21' => 'Il-Kalkara',
						'12' => 'Il-Gzira',
						'09' => 'Il-Furjana',
						'03' => 'Il-Birgu',
						'18' => 'Il-Hamrun',
						'11' => 'Il-Gudja',
						'17' => 'Hal Ghaxaq',
						'16' => 'L-Ghasri',
						'15' => 'Hal Gharghur',
						'14' => 'L-Gharb',
						'13' => 'Ghajnsielem',
						'07' => 'Dingli',
						'06' => 'Bormla',
						'05' => 'Birzebbuga',
						'04' => 'Birkirkara',
						'02' => 'Balzan',
						'01' => 'Attard',
						'49' => 'Saint John',
						'08' => 'Il-Fgura',
						'10' => 'Il-Fontana',
						'40' => 'Pembroke',
					]
				],
				'MH' => [
					'name' => 'Marshall Islands',
					'regions' => [
						'MAJ' => 'Majuro Atoll',
						'KWA' => 'Kwajalein Atoll',
					]
				],
				'MQ' => [
					'name' => 'Martinique',
					'regions' => []
				],
				'MR' => [
					'name' => 'Mauritania',
					'regions' => [
						'09' => 'Tagant',
						'10' => 'Guidimaka',
						'06' => 'Trarza',
						'01' => 'Hodh Ech Chargi',
						'03' => 'Assaba',
						'04' => 'Gorgol',
						'11' => 'Tiris Zemmour',
						'02' => 'Hodh El Gharbi',
						'05' => 'Brakna',
						'12' => 'Inchiri',
						'15' => 'Nouakchott Sud',
						'13' => 'Nouakchott Ouest',
						'14' => 'Nouakchott Nord',
					]
				],
				'MU' => [
					'name' => 'Mauritius',
					'regions' => [
						'MO' => 'Moka District',
						'PW' => 'Plaines Wilhems District',
						'PA' => 'Pamplemousses District',
						'RR' => 'Riviere du Rempart District',
						'BL' => 'Black River District',
						'SA' => 'Savanne District',
						'FL' => 'Flacq District',
						'GP' => 'Grand Port District',
						'AG' => 'Agalega Islands',
						'PL' => 'Port Louis District',
						'RO' => 'Rodrigues',
						'CC' => 'Cargados Carajos',
					]
				],
				'YT' => [
					'name' => 'Mayotte',
					'regions' => []
				],
				'MX' => [
					'name' => 'Mexico',
					'regions' => [
						'TAM' => 'Tamaulipas',
						'SLP' => 'San Luis Potosí',
						'MEX' => 'Estado de Mexico',
						'GRO' => 'Guerrero',
						'VER' => 'Veracruz',
						'OAX' => 'Oaxaca',
						'HID' => 'Hidalgo',
						'PUE' => 'Puebla',
						'MOR' => 'Morelos',
						'YUC' => 'Yucatán',
						'CHP' => 'Chiapas',
						'CMX' => 'Mexico City',
						'TLA' => 'Tlaxcala',
						'TAB' => 'Tabasco',
						'NLE' => 'Nuevo León',
						'ROO' => 'Quintana Roo',
						'QUE' => 'Querétaro',
						'CAM' => 'Campeche',
						'SON' => 'Sonora',
						'ZAC' => 'Zacatecas',
						'CHH' => 'Chihuahua',
						'SIN' => 'Sinaloa',
						'JAL' => 'Jalisco',
						'COA' => 'Coahuila',
						'BCN' => 'Baja California',
						'MIC' => 'Michoacán',
						'GUA' => 'Guanajuato',
						'NAY' => 'Nayarit',
						'COL' => 'Colima',
						'BCS' => 'Baja California Sur',
						'DUR' => 'Durango',
						'AGU' => 'Aguascalientes',
					]
				],
				'FM' => [
					'name' => 'Micronesia',
					'regions' => [
						'TRK' => 'State of Chuuk',
						'YAP' => 'State of Yap',
						'KSA' => 'State of Kosrae',
						'PNI' => 'State of Pohnpei',
					]
				],
				'MD' => [
					'name' => 'Moldova, Republic of',
					'regions' => [
						'ED' => 'Raionul Edineţ',
						'GA' => 'Gagauzia',
						'ST' => 'Strășeni',
						'CA' => 'Cahul',
						'UN' => 'Ungheni',
						'SN' => 'Unitatea Teritoriala din Stinga Nistrului',
						'TE' => 'Teleneşti',
						'CU' => 'Chișinău Municipality',
						'SV' => 'Raionul Stefan Voda',
						'SO' => 'Raionul Soroca',
						'SD' => 'Şoldăneşti',
						'RI' => 'Rîşcani',
						'RE' => 'Rezina',
						'SI' => 'Sîngerei',
						'OR' => 'Orhei',
						'OC' => 'Raionul Ocniţa',
						'AN' => 'Anenii Noi',
						'NI' => 'Nisporeni',
						'FA' => 'Făleşti',
						'HI' => 'Hînceşti',
						'IA' => 'Ialoveni',
						'LE' => 'Leova',
						'BR' => 'Briceni',
						'DU' => 'Raionul Dubasari',
						'CS' => 'Raionul Causeni',
						'GL' => 'Glodeni',
						'FL' => 'Floreşti',
						'DR' => 'Drochia',
						'DO' => 'Donduşeni',
						'CR' => 'Criuleni',
						'CM' => 'Cimişlia',
						'CT' => 'Cantemir',
						'CL' => 'Raionul Calarasi',
						'BD' => 'Bender Municipality',
						'BS' => 'Basarabeasca',
						'BA' => 'Municipiul Balti',
					]
				],
				'MC' => [
					'name' => 'Moldova',
					'regions' => []
				],
				'MN' => [
					'name' => 'Mongolia',
					'regions' => [
						'057' => 'Dzavhan Aymag',
						'046' => 'Uvs Aymag',
						'065' => 'Govi-Altay Aymag',
						'041' => 'Hovsgol Aymag',
						'043' => 'Hovd',
						'071' => 'Bayan-OElgiy Aymag',
						'063' => 'East Gobi Aymag',
						'1' => 'Ulaanbaatar Hot',
						'067' => 'Bulgan',
						'073' => 'Arhangay Aymag',
						'059' => 'Middle Govĭ',
						'049' => 'Selenge Aymag',
						'053' => 'Ömnögovĭ',
						'039' => 'Hentiy Aymag',
						'047' => 'Central Aimak',
						'061' => 'East Aimak',
						'051' => 'Suhbaatar Aymag',
						'055' => 'Övörhangay',
						'064' => 'Govi-Sumber',
						'069' => 'Bayanhongor Aymag',
					]
				],
				'ME' => [
					'name' => 'Montenegro',
					'regions' => [
						'17' => 'Opstina Rozaje',
						'21' => 'Opstina Zabljak',
						'20' => 'Ulcinj',
						'19' => 'Tivat',
						'02' => 'Bar',
						'07' => 'Danilovgrad',
						'18' => 'Opstina Savnik',
						'10' => 'Kotor',
						'16' => 'Podgorica',
						'15' => 'Opstina Pluzine',
						'14' => 'Pljevlja',
						'13' => 'Opstina Plav',
						'05' => 'Budva',
						'12' => 'Opstina Niksic',
						'11' => 'Mojkovac',
						'09' => 'Opstina Kolasin',
						'03' => 'Berane',
						'08' => 'Herceg Novi',
						'22' => 'Gusinje',
						'06' => 'Cetinje',
						'04' => 'Bijelo Polje',
						'01' => 'Andrijevica',
					]
				],
				'MS' => [
					'name' => 'Montserrat',
					'regions' => []
				],
				'MA' => [
					'name' => 'Morocco',
					'regions' => [
						'08' => 'Draa-Tafilalet',
						'02' => 'Oriental',
						'07' => 'Marrakesh-Safi',
						'09' => 'Souss-Massa',
						'06' => 'Casablanca-Settat',
						'04' => 'Rabat-Sale-Kenitra',
						'01' => 'Tanger-Tetouan-Al Hoceima',
						'03' => 'Fes-Meknes',
						'11' => 'Laayoune-Sakia El Hamra',
						'10' => 'Guelmim-Oued Noun',
						'05' => 'Beni Mellal-Khenifra',
						'12' => 'Dakhla-Oued Ed-Dahab',
					]
				],
				'MZ' => [
					'name' => 'Mozambique',
					'regions' => [
						'I' => 'Inhambane Province',
						'T' => 'Tete',
						'L' => 'Maputo Province',
						'Q' => 'Provincia de Zambezia',
						'P' => 'Cabo Delgado Province',
						'N' => 'Nampula',
						'MPM' => 'Cidade de Maputo',
						'A' => 'Niassa Province',
						'B' => 'Manica Province',
						'G' => 'Gaza Province',
						'S' => 'Sofala Province',
					]
				],
				'MM' => [
					'name' => 'Myanmar',
					'regions' => [
						'03' => 'Magway Region',
						'05' => 'Tanintharyi Region',
						'16' => 'Rakhine State',
						'01' => 'Sagaing Region',
						'06' => 'Rangoon',
						'13' => 'Kayin State',
						'15' => 'Mon State',
						'04' => 'Mandalay Region',
						'12' => 'Kayah State',
						'18' => 'Nay Pyi Taw',
						'14' => 'Chin State',
					]
				],
				'NA' => [
					'name' => 'Namibia',
					'regions' => [
						'CA' => 'Zambezi Region',
						'KH' => 'Khomas',
						'OT' => 'Oshikoto',
						'ER' => 'Erongo',
						'KE' => 'Kavango East',
						'HA' => 'Hardap',
						'OD' => 'Otjozondjupa',
						'OW' => 'Ohangwena',
						'ON' => 'Oshana',
						'KA' => 'Karas',
						'KW' => 'Kavango West',
						'KU' => 'Kunene',
						'OS' => 'Omusati',
					]
				],
				'NR' => [
					'name' => 'Nauru',
					'regions' => [
						'01' => 'Aiwo',
						'13' => 'Uaboe',
						'03' => 'Anetan',
						'05' => 'Baiti',
						'10' => 'Ijuw',
						'09' => 'Ewa',
						'02' => 'Anabar',
						'14' => 'Yaren',
						'07' => 'Buada',
						'06' => 'Boe',
						'11' => 'Meneng',
						'12' => 'Nibok',
					]
				],
				'NP' => [
					'name' => 'Nepal',
					'regions' => [
						'2' => 'Mid Western',
						'1' => 'Central Region',
						'3' => 'Western Region',
						'4' => 'Eastern Region',
						'5' => 'Far Western',
					]
				],
				'AN' => [
					'name' => 'Netherlands Antilles',
					'regions' => []
				],
				'NL' => [
					'name' => 'Netherlands',
					'regions' => [
						'OV' => 'Provincie Overijssel',
						'GE' => 'Provincie Gelderland',
						'ZH' => 'South Holland',
						'DR' => 'Provincie Drenthe',
						'FR' => 'Friesland',
						'NH' => 'North Holland',
						'NB' => 'North Brabant',
						'ZE' => 'Provincie Zeeland',
						'GR' => 'Groningen',
						'UT' => 'Provincie Utrecht',
						'FL' => 'Provincie Flevoland',
						'LI' => 'Limburg',
					]
				],
				'NC' => [
					'name' => 'New Caledonia',
					'regions' => [
						'L' => 'Loyalty Islands',
						'N' => 'North Province',
						'S' => 'South Province',
					]
				],
				'NZ' => [
					'name' => 'New Zealand',
					'regions' => [
						'STL' => 'Southland',
						'CAN' => 'Canterbury',
						'WKO' => 'Waikato',
						'WTC' => 'West Coast',
						'HKB' => 'Hawke\'s Bay',
						'AUK' => 'Auckland',
						'WGN' => 'Wellington',
						'TKI' => 'Taranaki',
						'MWT' => 'Manawatu-Wanganui',
						'NTL' => 'Northland',
						'BOP' => 'Bay of Plenty',
						'GIS' => 'Gisborne',
						'TAS' => 'Tasman',
						'MBH' => 'Marlborough',
						'OTA' => 'Otago',
						'NSN' => 'Nelson',
						'CIT' => 'Chatham Islands',
					]
				],
				'NI' => [
					'name' => 'Nicaragua',
					'regions' => [
						'NS' => 'Departamento de Nueva Segovia',
						'RI' => 'Departamento de Rivas',
						'MN' => 'Departamento de Managua',
						'MD' => 'Departamento de Madriz',
						'MT' => 'Departamento de Matagalpa',
						'MS' => 'Departamento de Masaya',
						'GR' => 'Departamento de Granada',
						'LE' => 'Departamento de Leon',
						'CA' => 'Departamento de Carazo',
						'JI' => 'Departamento de Jinotega',
						'ES' => 'Departamento de Esteli',
						'CI' => 'Departamento de Chinandega',
						'BO' => 'Departamento de Boaco',
						'AN' => 'North Atlantic Autonomous Region (RAAN)',
					]
				],
				'NE' => [
					'name' => 'Niger',
					'regions' => [
						'5' => 'Tahoua',
						'7' => 'Zinder',
						'1' => 'Agadez',
						'4' => 'Maradi',
						'6' => 'Tillaberi Region',
						'8' => 'Niamey',
						'2' => 'Diffa',
						'3' => 'Dosso Region',
					]
				],
				'NG' => [
					'name' => 'Nigeria',
					'regions' => [
						'KD' => 'Kaduna State',
						'AD' => 'Adamawa',
						'BY' => 'Bayelsa State',
						'LA' => 'Lagos',
						'TA' => 'Taraba State',
						'AK' => 'Akwa Ibom State',
						'IM' => 'Imo State',
						'KE' => 'Kebbi',
						'NI' => 'Niger State',
						'RI' => 'Rivers State',
						'GO' => 'Gombe State',
						'OY' => 'Oyo State',
						'OS' => 'Osun State',
						'AN' => 'Anambra',
						'OG' => 'Ogun State',
						'CR' => 'Cross River State',
						'EN' => 'Enugu State',
						'BE' => 'Benue State',
						'KO' => 'Kogi State',
						'PL' => 'Plateau State',
						'SO' => 'Sokoto State',
						'KT' => 'Katsina State',
						'KN' => 'Kano State',
						'EK' => 'Ekiti State',
						'KW' => 'Kwara State',
						'JI' => 'Jigawa State',
						'FC' => 'FCT',
						'ZA' => 'Zamfara State',
						'YO' => 'Yobe State',
						'DE' => 'Delta',
						'ED' => 'Edo',
						'BA' => 'Bauchi',
						'ON' => 'Ondo State',
						'EB' => 'Ebonyi State',
						'AB' => 'Abia State',
						'NA' => 'Nasarawa State',
					]
				],
				'NU' => [
					'name' => 'Niue',
					'regions' => []
				],
				'NF' => [
					'name' => 'Norfolk Island',
					'regions' => []
				],
				'KP' => [
					'name' => 'North Korea',
					'regions' => [
						'04' => 'Chagang-do',
					]
				],
				'MP' => [
					'name' => 'Northern Mariana Islands',
					'regions' => [
						'R' => 'Rota',
						'T' => 'Tinian',
						'N' => 'Northern Islands',
						'S' => 'Saipan',
					]
				],
				'NO' => [
					'name' => 'Norway',
					'regions' => [
						'20' => 'Finnmark',
						'19' => 'Troms',
						'14' => 'Sogn og Fjordane',
						'12' => 'Hordaland',
						'02' => 'Akershus',
						'11' => 'Rogaland',
						'15' => 'Møre og Romsdal',
						'05' => 'Oppland',
						'06' => 'Buskerud',
						'50' => 'Trøndelag',
						'18' => 'Nordland',
						'10' => 'Vest-Agder',
						'04' => 'Hedmark',
						'08' => 'Telemark',
						'09' => 'Aust-Agder',
						'01' => 'Østfold',
						'07' => 'Vestfold',
						'03' => 'Oslo County',
					]
				],
				'OM' => [
					'name' => 'Oman',
					'regions' => [
						'MA' => 'Muscat',
						'SJ' => 'Southeastern Governorate',
						'BS' => 'Al Batinah North Governorate',
						'DA' => 'Ad Dakhiliyah',
						'ZU' => 'Dhofar',
						'SS' => 'Northeastern Governorate',
						'MU' => 'Musandam',
						'ZA' => 'Az Zahirah',
						'WU' => 'Muhafazat al Wusta',
						'BJ' => 'Al Batinah South',
						'BU' => 'Al Buraimi',
					]
				],
				'PK' => [
					'name' => 'Pakistan',
					'regions' => [
						'BA' => 'Balochistan',
						'PB' => 'Punjab',
						'TA' => 'Federally Administered Tribal Areas',
						'SD' => 'Sindh',
						'KP' => 'Khyber Pakhtunkhwa',
						'JK' => 'Azad Kashmir',
						'IS' => 'Islamabad',
						'GB' => 'Gilgit-Baltistan',
					]
				],
				'PW' => [
					'name' => 'Palau',
					'regions' => [
						'150' => 'State of Koror',
						'214' => 'State of Ngaraard',
						'010' => 'State of Angaur',
						'227' => 'State of Ngeremlengui',
						'226' => 'State of Ngchesar',
						'228' => 'State of Ngiwal',
						'224' => 'State of Ngatpang',
						'218' => 'State of Ngarchelong',
						'370' => 'State of Sonsorol',
						'100' => 'State of Kayangel',
						'350' => 'State of Peleliu',
						'004' => 'State of Airai',
						'002' => 'State of Aimeliik',
						'222' => 'State of Ngardmau',
					]
				],
				'PS' => [
					'name' => 'Palestinian Territory',
					'regions' => [
						'RFH' => 'Rafah',
						'DEB' => 'Deir Al Balah',
						'KYS' => 'Khan Yunis Governorate',
						'GZA' => 'Gaza',
						'TKM' => 'Tulkarm',
						'SLT' => 'Salfit',
						'RBH' => 'Ramallah',
						'NBS' => 'Nablus',
						'JEN' => 'Jenin',
						'HBN' => 'Al Khalil',
						'BTH' => 'Bethlehem',
						'JRH' => 'Jericho',
						'JEM' => 'Al Quds',
					]
				],
				'PA' => [
					'name' => 'Panama',
					'regions' => [
						'4' => 'Provincia de Chiriqui',
						'10' => 'Panama Oeste',
						'9' => 'Provincia de Veraguas',
						'8' => 'Provincia de Panama',
						'NB' => 'Ngoebe-Bugle',
						'KY' => 'Guna Yala',
						'3' => 'Provincia de Colon',
						'2' => 'Provincia de Cocle',
						'7' => 'Provincia de Los Santos',
						'5' => 'Provincia del Darien',
						'6' => 'Provincia de Herrera',
						'1' => 'Provincia de Bocas del Toro',
						'EM' => 'Embera-Wounaan',
					]
				],
				'PG' => [
					'name' => 'Papua New Guinea',
					'regions' => [
						'ESW' => 'East Sepik Province',
						'EPW' => 'Enga Province',
						'SAN' => 'West Sepik Province',
						'HLA' => 'Hela',
						'EBR' => 'East New Britain Province',
						'NCD' => 'National Capital',
						'NPP' => 'Northern Province',
						'NSB' => 'Bougainville',
						'GPK' => 'Gulf Province',
						'WHM' => 'Western Highlands Province',
						'NIK' => 'New Ireland',
						'JWK' => 'Jiwaka',
						'SHM' => 'Southern Highlands Province',
						'MPM' => 'Madang Province',
						'MRL' => 'Manus Province',
						'MPL' => 'Morobe Province',
						'CPK' => 'Chimbu Province',
						'WBK' => 'West New Britain Province',
						'CPM' => 'Central Province',
						'EHG' => 'Eastern Highlands Province',
						'WPD' => 'Western Province',
						'MBA' => 'Milne Bay Province',
					]
				],
				'PY' => [
					'name' => 'Paraguay',
					'regions' => [
						'11' => 'Departamento Central',
						'12' => 'Departamento de Neembucu',
						'15' => 'Departamento de Presidente Hayes',
						'13' => 'Departamento del Amambay',
						'8' => 'Departamento de Misiones',
						'10' => 'Departamento del Alto Parana',
						'9' => 'Departamento de Paraguari',
						'3' => 'Departamento de la Cordillera',
						'7' => 'Departamento de Itapua',
						'2' => 'Departamento de San Pedro',
						'19' => 'Departamento de Boqueron',
						'14' => 'Departamento de Canindeyu',
						'16' => 'Departamento de Alto Paraguay',
						'5' => 'Departamento de Caaguazu',
						'1' => 'Departamento de Concepcion',
						'6' => 'Departamento de Caazapa',
						'ASU' => 'Asuncion',
					]
				],
				'PE' => [
					'name' => 'Peru',
					'regions' => [
						'ANC' => 'Ancash',
						'TUM' => 'Tumbes',
						'LAL' => 'La Libertad',
						'SAM' => 'Region de San Martin',
						'PIU' => 'Piura',
						'CAJ' => 'Cajamarca',
						'UCA' => 'Ucayali',
						'LAM' => 'Lambayeque',
						'AMA' => 'Amazonas',
						'LOR' => 'Loreto',
						'HUC' => 'Region de Huanuco',
						'LIM' => 'Lima region',
						'PAS' => 'Pasco',
						'MDD' => 'Madre de Dios',
						'TAC' => 'Tacna',
						'ICA' => 'Ica',
						'AYA' => 'Ayacucho',
						'PUN' => 'Puno',
						'MOQ' => 'Departamento de Moquegua',
						'LMA' => 'Lima',
						'CAL' => 'Callao',
						'APU' => 'Apurimac',
						'HUV' => 'Huancavelica',
						'JUN' => 'Junin',
						'CUS' => 'Cusco',
						'ARE' => 'Arequipa',
					]
				],
				'PH' => [
					'name' => 'Philippines',
					'regions' => [
						'09' => 'Zamboanga Peninsula',
						'01' => 'Ilocos',
						'06' => 'Western Visayas',
						'03' => 'Central Luzon',
						'40' => 'Calabarzon',
						'08' => 'Eastern Visayas',
						'07' => 'Central Visayas',
						'10' => 'Northern Mindanao',
						'12' => 'Soccsksargen',
						'02' => 'Cagayan Valley',
						'13' => 'Caraga',
						'11' => 'Davao',
						'00' => 'Metro Manila',
						'05' => 'Bicol',
						'41' => 'Mimaropa',
						'14' => 'Autonomous Region in Muslim Mindanao',
						'15' => 'Cordillera',
					]
				],
				'PN' => [
					'name' => 'Pitcairn',
					'regions' => []
				],
				'PL' => [
					'name' => 'Poland',
					'regions' => [
						'WN' => 'Warmia-Masuria',
						'LU' => 'Lublin',
						'MZ' => 'Mazovia',
						'PK' => 'Subcarpathian',
						'SK' => 'Świętokrzyskie',
						'MA' => 'Lesser Poland',
						'LD' => 'Łódź Voivodeship',
						'PD' => 'Podlasie',
						'SL' => 'Silesia',
						'WP' => 'Greater Poland',
						'LB' => 'Lubusz',
						'PM' => 'Pomerania',
						'KP' => 'Kujawsko-Pomorskie',
						'DS' => 'Lower Silesia',
						'ZP' => 'West Pomerania',
						'OP' => 'Opole Voivodeship',
					]
				],
				'PT' => [
					'name' => 'Portugal',
					'regions' => [
						'05' => 'Castelo Branco',
						'02' => 'Beja',
						'07' => 'Évora',
						'11' => 'Lisbon',
						'08' => 'Faro',
						'14' => 'Santarém',
						'15' => 'Setúbal',
						'12' => 'Portalegre',
						'10' => 'Leiria',
						'30' => 'Madeira',
						'09' => 'Guarda',
						'18' => 'Viseu',
						'03' => 'Braga',
						'13' => 'Porto',
						'04' => 'Bragança',
						'01' => 'Aveiro',
						'06' => 'Coimbra',
						'17' => 'Vila Real',
						'16' => 'Viana do Castelo',
						'20' => 'Azores',
					]
				],
				'PR' => [
					'name' => 'Puerto Rico',
					'regions' => []
				],
				'QA' => [
					'name' => 'Qatar',
					'regions' => [
						'US' => 'Baladiyat Umm Salal',
						'MS' => 'Baladiyat ash Shamal',
						'SH' => 'Al-Shahaniya',
						'ZA' => 'Baladiyat az Za\'ayin',
						'RA' => 'Baladiyat ar Rayyan',
						'WA' => 'Al Wakrah',
						'KH' => 'Baladiyat al Khawr wa adh Dhakhirah',
						'DA' => 'Baladiyat ad Dawhah',
					]
				],
				'RE' => [
					'name' => 'Reunion',
					'regions' => []
				],
				'RO' => [
					'name' => 'Romania',
					'regions' => [
						'AB' => 'Judetul Alba',
						'BV' => 'Judetul Brasov',
						'TR' => 'Teleorman',
						'HR' => 'Harghita',
						'SJ' => 'Judetul Salaj',
						'CV' => 'Covasna',
						'HD' => 'Hunedoara',
						'BT' => 'Judetul Botosani',
						'IF' => 'Ilfov',
						'CJ' => 'Judetul Cluj',
						'AR' => 'Arad',
						'AG' => 'Arges',
						'MM' => 'Maramureş',
						'MH' => 'Judetul Mehedinti',
						'NT' => 'Judetul Neamt',
						'GR' => 'Giurgiu',
						'VN' => 'Vrancea',
						'CT' => 'Constanta',
						'SM' => 'Satu Mare',
						'SV' => 'Suceava',
						'VS' => 'Vaslui',
						'TM' => 'Judetul Timis',
						'PH' => 'Prahova',
						'IS' => 'Judetul Iasi',
						'DB' => 'Judetul Dambovita',
						'BH' => 'Bihor',
						'BR' => 'Judetul Braila',
						'OT' => 'Olt',
						'IL' => 'Judetul Ialomita',
						'MS' => 'Judetul Mures',
						'CS' => 'Judetul Caras-Severin',
						'TL' => 'Tulcea',
						'GJ' => 'Gorj',
						'BC' => 'Judetul Bacau',
						'VL' => 'Judetul Valcea',
						'GL' => 'Judetul Galati',
						'SB' => 'Judetul Sibiu',
						'BZ' => 'Judetul Buzau',
						'BN' => 'Judetul Bistrita-Nasaud',
						'DJ' => 'Dolj',
						'CL' => 'Judetul Calarasi',
						'B' => 'Bucuresti',
					]
				],
				'RU' => [
					'name' => 'Russian Federation',
					'regions' => [
						'TVE' => 'Tver’ Oblast',
						'RYA' => 'Ryazan Oblast',
						'VLA' => 'Vladimirskaya Oblast\'',
						'SE' => 'North Ossetia',
						'ROS' => 'Rostov',
						'ME' => 'Mariy-El Republic',
						'MOS' => 'Moscow Oblast',
						'KIR' => 'Kirovskaya Oblast\'',
						'ORL' => 'Orel Oblast',
						'CHE' => 'Chelyabinsk',
						'BA' => 'Bashkortostan Republic',
						'KLU' => 'Kaluzhskaya Oblast\'',
						'BRY' => 'Bryansk Oblast',
						'VGG' => 'Volgograd Oblast',
						'SAM' => 'Samara Oblast',
						'KO' => 'Komi',
						'TAM' => 'Tambovskaya Oblast\'',
						'STA' => 'Stavropol’ Kray',
						'KRS' => 'Kurskaya Oblast\'',
						'KGD' => 'Kaliningradskaya Oblast\'',
						'PNZ' => 'Penzenskaya Oblast\'',
						'MOW' => 'Moscow',
						'SPE' => 'St.-Petersburg',
						'TA' => 'Tatarstan Republic',
						'MUR' => 'Murmansk',
						'NIZ' => 'Nizhny Novgorod Oblast',
						'IVA' => 'Ivanovskaya Oblast\'',
						'TUL' => 'Tul\'skaya Oblast\'',
						'LIP' => 'Lipetsk Oblast',
						'DA' => 'Dagestan',
						'KDA' => 'Krasnodarskiy Kray',
						'SAR' => 'Saratovskaya Oblast',
						'PER' => 'Perm Krai',
						'MO' => 'Mordoviya Republic',
						'ORE' => 'Orenburg Oblast',
						'SMO' => 'Smolenskaya Oblast\'',
						'YAR' => 'Yaroslavskaya Oblast\'',
						'UD' => 'Udmurtiya Republic',
						'CU' => 'Chuvashia',
						'AD' => 'Adygeya Republic',
						'VLG' => 'Vologodskaya Oblast\'',
						'LEN' => 'Leningradskaya Oblast\'',
						'VOR' => 'Voronezhskaya Oblast\'',
						'BEL' => 'Belgorod Oblast',
						'AST' => 'Astrakhanskaya Oblast\'',
						'KOS' => 'Kostroma Oblast',
						'SVE' => 'Sverdlovskaya Oblast\'',
						'ARK' => 'Arkhangelskaya',
						'PSK' => 'Pskov Oblast',
						'KC' => 'Karachayevo-Cherkesiya Republic',
						'ULY' => 'Ulyanovsk Oblast',
						'KL' => 'Kalmykiya Republic',
						'KB' => 'Kabardino-Balkariya Republic',
						'KR' => 'Karelia',
						'NGR' => 'Novgorod Oblast',
						'CE' => 'Chechnya',
						'NEN' => 'Nenets',
						'IN' => 'Ingushetiya Republic',
						'KEM' => 'Kemerovo Oblast',
						'TOM' => 'Tomsk Oblast',
						'ALT' => 'Altai Krai',
						'TYU' => 'Tyumen’ Oblast',
						'KYA' => 'Krasnoyarskiy Kray',
						'NVS' => 'Novosibirsk Oblast',
						'YAN' => 'Yamalo-Nenets',
						'KK' => 'Khakasiya Republic',
						'KHM' => 'Khanty-Mansia',
						'OMS' => 'Omskaya Oblast\'',
						'AL' => 'Altai',
						'IRK' => 'Irkutsk Oblast',
						'KGN' => 'Kurgan Oblast',
						'TY' => 'Republic of Tyva',
						'PRI' => 'Primorskiy (Maritime) Kray',
						'AMU' => 'Amur Oblast',
						'BU' => 'Buryatiya Republic',
						'ZAB' => 'Transbaikal Territory',
						'SA' => 'Sakha',
						'KHA' => 'Khabarovsk',
						'YEV' => 'Jewish Autonomous Oblast',
						'KAM' => 'Kamchatka',
						'SAK' => 'Sakhalin Oblast',
						'MAG' => 'Magadan Oblast',
						'CHU' => 'Chukotka',
					]
				],
				'RW' => [
					'name' => 'Rwanda',
					'regions' => [
						'03' => 'Northern Province',
						'01' => 'Kigali',
						'05' => 'Southern Province',
					]
				],
				'SH' => [
					'name' => 'Saint Helena',
					'regions' => [
						'AC' => 'Ascension',
						'TA' => 'Tristan da Cunha',
						'HL' => 'Saint Helena',
					]
				],
				'KN' => [
					'name' => 'Saint Kitts and Nevis',
					'regions' => [
						'15' => 'Trinity Palmetto Point',
						'06' => 'Saint John Capesterre',
						'02' => 'Saint Anne Sandy Point',
						'13' => 'Middle Island',
						'01' => 'Christ Church Nichola Town',
						'09' => 'Saint Paul Capesterre',
						'05' => 'Saint James Windward',
						'11' => 'Saint Peter Basseterre',
						'12' => 'Saint Thomas Lowland',
						'10' => 'Saint Paul Charlestown',
						'08' => 'Saint Mary Cayon',
						'07' => 'Saint John Figtree',
						'03' => 'Saint George Basseterre',
					]
				],
				'LC' => [
					'name' => 'Saint Lucia',
					'regions' => [
						'11' => 'Vieux-Fort',
						'10' => 'Soufriere',
						'08' => 'Micoud',
						'06' => 'Gros-Islet',
						'07' => 'Laborie',
						'05' => 'Dennery',
						'03' => 'Choiseul',
						'02' => 'Castries',
						'12' => 'Canaries',
						'01' => 'Anse-la-Raye',
					]
				],
				'PM' => [
					'name' => 'Saint Pierre and Miquelon',
					'regions' => [
						'P' => 'Commune de Saint-Pierre',
						'M' => 'Miquelon-Langlade',
					]
				],
				'VC' => [
					'name' => 'Saint Vincent and the Grenadines',
					'regions' => [
						'06' => 'Grenadines',
						'05' => 'Parish of Saint Patrick',
						'02' => 'Parish of Saint Andrew',
						'01' => 'Parish of Charlotte',
						'04' => 'Parish of Saint George',
						'03' => 'Parish of Saint David',
					]
				],
				'WS' => [
					'name' => 'Samoa',
					'regions' => [
						'VF' => 'Va\'a-o-Fonoti',
						'FA' => 'Fa\'asaleleaga',
						'SA' => 'Satupa\'itea',
						'GI' => 'Gagaifomauga',
						'GE' => 'Gaga\'emauga',
						'AL' => 'Aiga-i-le-Tai',
						'AT' => 'Atua',
						'AA' => 'A\'ana',
						'TU' => 'Tuamasaga',
						'VS' => 'Vaisigano',
					]
				],
				'SM' => [
					'name' => 'San Marino',
					'regions' => [
						'09' => 'Serravalle',
						'07' => 'Castello di San Marino Citta',
						'02' => 'Chiesanuova',
						'08' => 'Castello di Montegiardino',
						'05' => 'Castello di Fiorentino',
						'04' => 'Castello di Faetano',
						'06' => 'Castello di Borgo Maggiore',
						'01' => 'Castello di Acquaviva',
					]
				],
				'ST' => [
					'name' => 'Sao Tome and Principe',
					'regions' => [
						'S' => 'São Tomé Island',
						'P' => 'Principe',
					]
				],
				'SA' => [
					'name' => 'Saudi Arabia',
					'regions' => [
						'03' => 'Al Madinah al Munawwarah',
						'05' => 'Al-Qassim',
						'02' => 'Makkah Province',
						'04' => 'Eastern Province',
						'07' => 'Tabuk',
						'12' => 'Al Jawf',
						'09' => 'Jizan',
						'08' => 'Northern Borders',
						'10' => 'Najran',
						'14' => '\'Asir',
						'06' => 'Hai\'l Region',
						'01' => 'Ar Riyāḑ',
						'11' => 'Al Bahah',
					]
				],
				'SN' => [
					'name' => 'Senegal',
					'regions' => [
						'ZG' => 'Ziguinchor',
						'DK' => 'Dakar',
						'TH' => 'Region de Thies',
						'SE' => 'Region de Sedhiou',
						'FK' => 'Fatick',
						'MT' => 'Matam',
						'SL' => 'Saint-Louis',
						'KE' => 'Region de Kedougou',
						'DB' => 'Diourbel',
						'KL' => 'Kaolack',
						'KD' => 'Kolda',
						'LG' => 'Louga',
						'TC' => 'Tambacounda',
						'KA' => 'Region de Kaffrine',
					]
				],
				'CS' => [
					'name' => 'Serbia and Montenegro',
					'regions' => []
				],
				'RS' => [
					'name' => 'Serbia',
					'regions' => [
						'VO' => 'Vojvodina',
						'00' => 'Belgrade',
						'15' => 'Zajecar',
						'11' => 'Branicevo',
						'18' => 'Raska',
						'24' => 'Pcinja',
						'14' => 'Bor',
						'19' => 'Rasina',
						'09' => 'Kolubara',
						'12' => 'Sumadija',
						'20' => 'Nisava',
						'13' => 'Pomoravlje',
						'10' => 'Podunavlje',
						'21' => 'Toplica',
						'16' => 'Zlatibor',
						'22' => 'Pirot',
						'17' => 'Morava',
						'23' => 'Jablanica',
						'08' => 'Macva',
					]
				],
				'SC' => [
					'name' => 'Seychelles',
					'regions' => [
						'16' => 'English River',
						'23' => 'Takamaka',
						'21' => 'Port Glaud',
						'11' => 'Cascade',
						'10' => 'Bel Ombre',
						'08' => 'Beau Vallon',
						'05' => 'Anse Royale',
						'02' => 'Anse Boileau',
						'18' => 'Mont Fleuri',
						'01' => 'Anse-aux-Pins',
						'06' => 'Baie Lazare',
						'15' => 'Inner Islands',
					]
				],
				'SL' => [
					'name' => 'Sierra Leone',
					'regions' => [
						'NW' => 'North West',
						'N' => 'Northern Province',
						'W' => 'Western Area',
						'S' => 'Southern Province',
						'E' => 'Eastern Province',
					]
				],
				'SG' => [
					'name' => 'Singapore',
					'regions' => []
				],
				'SK' => [
					'name' => 'Slovakia',
					'regions' => [
						'PV' => 'Presov',
						'KI' => 'Kosice',
						'BC' => 'Banska Bystrica',
						'TA' => 'Trnava',
						'ZI' => 'Zilina',
						'NI' => 'Nitra',
						'BL' => 'Bratislava',
						'TC' => 'Trencin',
					]
				],
				'SI' => [
					'name' => 'Slovenia',
					'regions' => [
						'193' => 'Obcina Zuzemberk',
						'036' => 'Idrija',
						'147' => 'Obcina Ziri',
						'179' => 'Obcina Sodrazica',
						'135' => 'Videm',
						'153' => 'Cerkvenjak',
						'163' => 'Jezersko',
						'160' => 'Obcina Hoce-Slivnica',
						'207' => 'Gorje',
						'146' => 'Obcina Zelezniki',
						'204' => 'Sveta Trojica v Slovenskih Goricah',
						'113' => 'Slovenska Bistrica',
						'198' => 'Makole',
						'055' => 'Kungota',
						'052' => 'Kranj',
						'191' => 'Obcina Zetale',
						'194' => 'Obcina Smartno pri Litiji',
						'143' => 'Obcina Zavrc',
						'190' => 'Obcina Zalec',
						'039' => 'Obcina Ivancna Gorica',
						'142' => 'Zagorje ob Savi',
						'141' => 'Vuzenica',
						'140' => 'Vrhnika',
						'019' => 'Obcina Divaca',
						'189' => 'Vransko',
						'201' => 'Obcina Rence-Vogrsko',
						'117' => 'Obcina Sencur',
						'139' => 'Vojnik',
						'001' => 'Obcina Ajdovscina',
						'008' => 'Brezovica',
						'182' => 'Obcina Sveti Andraz v Slovenskih Goricah',
						'137' => 'Vitanje',
						'136' => 'Vipava',
						'017' => 'Obcina Crnomelj',
						'188' => 'Obcina Verzej',
						'118' => 'Obcina Sentilj',
						'130' => 'Trebnje',
						'134' => 'Obcina Velike Lasce',
						'187' => 'Velika Polana',
						'087' => 'Obcina Ormoz',
						'032' => 'Grosuplje',
						'060' => 'Litija',
						'085' => 'Mestna Obcina Novo mesto',
						'132' => 'Obcina Turnisce',
						'186' => 'Trzin',
						'131' => 'Obcina Trzic',
						'185' => 'Obcina Trnovska vas',
						'084' => 'Nova Gorica',
						'050' => 'Koper',
						'199' => 'Mokronog-Trebelno',
						'129' => 'Trbovlje',
						'025' => 'Dravograd',
						'126' => 'Obcina Sostanj',
						'205' => 'Obcina Sveti Tomaz',
						'128' => 'Obcina Tolmin',
						'133' => 'Velenje',
						'010' => 'Obcina Tisina',
						'011' => 'Celje',
						'184' => 'Tabor',
						'181' => 'Sveta Ana',
						'110' => 'Sevnica',
						'144' => 'Obcina Zrece',
						'127' => 'Obcina Store',
						'115' => 'Obcina Starse',
						'065' => 'Obcina Loska Dolina',
						'048' => 'Obcina Kocevje',
						'049' => 'Komen',
						'043' => 'Kamnik',
						'006' => 'Obcina Bovec',
						'202' => 'Obcina Sredisce ob Dravi',
						'029' => 'Gornja Radgona',
						'026' => 'Duplek',
						'159' => 'Hajdina',
						'180' => 'Obcina Solcava',
						'071' => 'Medvode',
						'112' => 'Slovenj Gradec',
						'125' => 'Obcina Smartno ob Paki',
						'057' => 'Obcina Lasko',
						'124' => 'Obcina Smarje pri Jelsah',
						'114' => 'Slovenske Konjice',
						'195' => 'Obcina Apace',
						'123' => 'Obcina Skofljica',
						'122' => 'Škofja Loka',
						'150' => 'Bloke',
						'111' => 'Obcina Sezana',
						'105' => 'Obcina Rogasovci',
						'211' => 'Obcina Sentrupert',
						'120' => 'Sentjur',
						'119' => 'Obcina Sentjernej',
						'054' => 'Obcina Krsko',
						'183' => 'Obcina Sempeter-Vrtojba',
						'109' => 'Obcina Semic',
						'090' => 'Piran',
						'033' => 'Obcina Salovci',
						'108' => 'Obcina Ruse',
						'037' => 'Ig',
						'106' => 'Obcina Rogaska Slatina',
						'044' => 'Kanal',
						'177' => 'Ribnica na Pohorju',
						'104' => 'Ribnica',
						'209' => 'Obcina Recica ob Savinji',
						'103' => 'Obcina Ravne na Koroskem',
						'053' => 'Kranjska Gora',
						'013' => 'Cerknica',
						'067' => 'Obcina Luce',
						'102' => 'Radovljica',
						'158' => 'Grad',
						'023' => 'Obcina Domzale',
						'101' => 'Radlje ob Dravi',
						'100' => 'Radenci',
						'099' => 'Obcina Radece',
						'098' => 'Obcina Race-Fram',
						'097' => 'Puconci',
						'069' => 'Obcina Majsperk',
						'096' => 'Ptuj',
						'078' => 'Moravske Toplice',
						'155' => 'Dobrna',
						'092' => 'Obcina Podcetrtek',
						'175' => 'Prevalje',
						'094' => 'Postojna',
						'072' => 'Obcina Menges',
						'027' => 'Gorenja Vas-Poljane',
						'095' => 'Preddvor',
						'174' => 'Prebold',
						'173' => 'Polzela',
						'200' => 'Obcina Poljcane',
						'024' => 'Dornava',
						'093' => 'Podvelka',
						'066' => 'Obcina Loski Potok',
						'082' => 'Naklo',
						'172' => 'Podlehnik',
						'061' => 'Ljubljana',
						'091' => 'Pivka',
						'009' => 'Obcina Brezice',
						'089' => 'Pesnica',
						'206' => 'Obcina Smarjeske Toplice',
						'088' => 'Osilnica',
						'171' => 'Oplotnica',
						'086' => 'Odranci',
						'081' => 'Muta',
						'080' => 'Murska Sobota',
						'079' => 'Mozirje',
						'192' => 'Obcina Zirovnica',
						'076' => 'Mislinja',
						'170' => 'Obcina Mirna Pec',
						'212' => 'Mirna',
						'075' => 'Miren-Kostanjevica',
						'169' => 'Obcina Miklavz na Dravskem Polju',
						'074' => 'Obcina Mezica',
						'073' => 'Metlika',
						'035' => 'Hrpelje-Kozina',
						'168' => 'Markovci',
						'070' => 'Maribor',
						'068' => 'Lukovica',
						'167' => 'Lovrenc na Pohorju',
						'045' => 'Obcina Kidricevo',
						'208' => 'Log–Dragomer',
						'063' => 'Ljutomer',
						'062' => 'Ljubno',
						'002' => 'Beltinci',
						'059' => 'Lendava',
						'058' => 'Lenart',
						'056' => 'Kuzma',
						'166' => 'Obcina Krizevci',
						'077' => 'Obcina Moravce',
						'051' => 'Kozje',
						'197' => 'Kostanjevica na Krki',
						'083' => 'Nazarje',
						'007' => 'Brda',
						'047' => 'Kobilje',
						'046' => 'Obcina Kobarid',
						'038' => 'Ilirska Bistrica',
						'042' => 'Obcina Jursinci',
						'210' => 'Sveti Jurij v Slovenskih Goricah',
						'116' => 'Obcina Sveti Jurij ob Scavnici',
						'041' => 'Jesenice',
						'040' => 'Izola',
						'034' => 'Hrastnik',
						'064' => 'Logatec',
						'162' => 'Horjul',
						'161' => 'Hodos',
						'012' => 'Cerklje na Gorenjskem',
						'031' => 'Gornji Petrovci',
						'030' => 'Gornji Grad',
						'014' => 'Cerkno',
						'028' => 'Obcina Gorisnica',
						'203' => 'Obcina Straza',
						'151' => 'Obcina Braslovce',
						'021' => 'Dobrova-Polhov Gradec',
						'022' => 'Dol pri Ljubljani',
						'157' => 'Dolenjske Toplice',
						'156' => 'Dobrovnik',
						'154' => 'Dobje',
						'018' => 'Destrnik',
						'016' => 'Obcina Crna na Koroskem',
						'015' => 'Obcina Crensovci',
						'152' => 'Cankova',
						'005' => 'Borovnica',
						'004' => 'Bohinj',
						'003' => 'Obcina Bled',
						'178' => 'Selnica ob Dravi',
						'149' => 'Bistrica ob Sotli',
						'148' => 'Benedikt',
						'176' => 'Obcina Razkrizje',
						'213' => 'Ankaran',
						'196' => 'Cirkulane',
						'164' => 'Komenda',
						'165' => 'Kostel',
						'107' => 'Rogatec',
					]
				],
				'SB' => [
					'name' => 'Solomon Islands',
					'regions' => [
						'CE' => 'Central Province',
						'CT' => 'Honiara',
						'GU' => 'Guadalcanal Province',
						'WE' => 'Western Province',
						'IS' => 'Isabel Province',
						'ML' => 'Malaita Province',
						'RB' => 'Rennell and Bellona',
						'TE' => 'Temotu Province',
						'MK' => 'Makira-Ulawa Province',
					]
				],
				'SO' => [
					'name' => 'Somalia',
					'regions' => [
						'BK' => 'Bakool',
						'BN' => 'Banaadir',
						'SH' => 'Lower Shabeelle',
						'SD' => 'Middle Shabele',
						'WO' => 'Woqooyi Galbeed',
						'GE' => 'Gedo',
						'MU' => 'Mudug',
						'GA' => 'Galguduud',
						'SA' => 'Sanaag',
						'TO' => 'Togdheer',
						'JD' => 'Middle Juba',
						'BR' => 'Bari',
						'HI' => 'Hiiraan',
						'BY' => 'Bay',
						'SO' => 'Sool',
						'AW' => 'Awdal',
					]
				],
				'ZA' => [
					'name' => 'South Africa',
					'regions' => [
						'GT' => 'Gauteng',
						'NW' => 'Province of North West',
						'FS' => 'Orange Free State',
						'MP' => 'Mpumalanga',
						'NL' => 'KwaZulu-Natal',
						'WC' => 'Western Cape',
						'EC' => 'Eastern Cape',
						'LP' => 'Limpopo',
						'NC' => 'Northern Cape',
					]
				],
				'KR' => [
					'name' => 'South Korea',
					'regions' => [
						'30' => 'Daejeon',
						'42' => 'Gangwon-do',
						'11' => 'Seoul',
						'47' => 'Gyeongsangbuk-do',
						'41' => 'Gyeonggi-do',
						'46' => 'Jeollanam-do',
						'43' => 'North Chungcheong',
						'44' => 'Chungcheongnam-do',
						'45' => 'Jeollabuk-do',
						'31' => 'Ulsan',
						'27' => 'Daegu',
						'26' => 'Busan',
						'48' => 'Gyeongsangnam-do',
						'29' => 'Gwangju',
						'28' => 'Incheon',
						'49' => 'Jeju-do',
						'50' => 'Sejong-si',
					]
				],
				'SS' => [
					'name' => 'South Sudan',
					'regions' => []
				],
				'ES' => [
					'name' => 'Spain',
					'regions' => [
						'AN' => 'Andalusia',
						'EX' => 'Extremadura',
						'MC' => 'Murcia',
						'VC' => 'Valencia',
						'CM' => 'Castille-La Mancha',
						'CN' => 'Canary Islands',
						'IB' => 'Balearic Islands',
						'ML' => 'Melilla',
						'PV' => 'Basque Country',
						'AR' => 'Aragon',
						'NC' => 'Navarre',
						'MD' => 'Madrid',
						'CL' => 'Castille and León',
						'CT' => 'Catalonia',
						'GA' => 'Galicia',
						'CB' => 'Cantabria',
						'AS' => 'Principality of Asturias',
						'RI' => 'La Rioja',
						'CE' => 'Ceuta',
					]
				],
				'LK' => [
					'name' => 'Sri Lanka',
					'regions' => [
						'1' => 'Western Province',
						'6' => 'North Western Province',
						'8' => 'Province of Uva',
						'3' => 'Southern Province',
						'2' => 'Central Province',
						'4' => 'Northern Province',
						'9' => 'Sabaragamuwa Province',
						'7' => 'North Central Province',
					]
				],
				'SD' => [
					'name' => 'Sudan',
					'regions' => [
						'NO' => 'Northern',
						'DN' => 'Northern Darfur',
						'KS' => 'Southern Kordofan',
						'SI' => 'Sinnār',
						'NW' => 'White Nile',
						'KA' => 'Kassala',
						'RS' => 'Red Sea',
						'DC' => 'Central Darfur',
						'DE' => 'Eastern Darfur',
						'KN' => 'North Kordofan',
						'GK' => 'West Kordofan State',
						'GD' => 'Al Qaḑārif',
						'KH' => 'Khartoum',
						'DW' => 'Western Darfur',
						'NB' => 'Blue Nile',
						'DS' => 'Southern Darfur',
					]
				],
				'SR' => [
					'name' => 'Suriname',
					'regions' => [
						'WA' => 'Distrikt Wanica',
						'NI' => 'Distrikt Nickerie',
						'CR' => 'Distrikt Coronie',
						'PR' => 'Distrikt Para',
						'PM' => 'Distrikt Paramaribo',
						'CM' => 'Distrikt Commewijne',
						'MA' => 'Distrikt Marowijne',
						'SA' => 'Distrikt Saramacca',
						'BR' => 'Distrikt Brokopondo',
						'SI' => 'Distrikt Sipaliwini',
					]
				],
				'SJ' => [
					'name' => 'Svalbard and Jan Mayen',
					'regions' => [
						'21' => 'Svalbard',
						'22' => 'Jan Mayen',
					]
				],
				'SZ' => [
					'name' => 'Swaziland',
					'regions' => [
						'SH' => 'Shiselweni District',
						'HH' => 'Hhohho',
						'MA' => 'Manzini',
						'LU' => 'Lubombo District',
					]
				],
				'SE' => [
					'name' => 'Sweden',
					'regions' => [
						'BD' => 'Norrbotten',
						'AC' => 'Västerbotten',
						'C' => 'Uppsala',
						'T' => 'Örebro',
						'Z' => 'Jämtland',
						'O' => 'Västra Götaland',
						'M' => 'Skåne',
						'F' => 'Jönköping',
						'E' => 'Östergötland',
						'D' => 'Södermanland',
						'H' => 'Kalmar',
						'G' => 'Kronoberg',
						'I' => 'Gotland',
						'U' => 'Västmanland',
						'K' => 'Blekinge',
						'N' => 'Halland',
						'X' => 'Gävleborg',
						'W' => 'Dalarna',
						'AB' => 'Stockholm',
						'Y' => 'Västernorrland',
						'S' => 'Värmland',
					]
				],
				'CH' => [
					'name' => 'Switzerland',
					'regions' => [
						'BL' => 'Basel-Landschaft',
						'BE' => 'Bern',
						'SG' => 'Saint Gallen',
						'AG' => 'Aargau',
						'ZH' => 'Zurich',
						'GR' => 'Grisons',
						'ZG' => 'Zug',
						'SO' => 'Solothurn',
						'VS' => 'Valais',
						'TG' => 'Thurgau',
						'GL' => 'Glarus',
						'VD' => 'Vaud',
						'SZ' => 'Schwyz',
						'LU' => 'Lucerne',
						'NW' => 'Nidwalden',
						'SH' => 'Schaffhausen',
						'AI' => 'Appenzell Innerrhoden',
						'AR' => 'Appenzell Ausserrhoden',
						'FR' => 'Fribourg',
						'TI' => 'Ticino',
						'JU' => 'Jura',
						'GE' => 'Geneva',
						'NE' => 'Neuchâtel',
						'UR' => 'Uri',
						'OW' => 'Obwalden',
						'BS' => 'Basel-City',
					]
				],
				'SY' => [
					'name' => 'Syrian Arab Republic',
					'regions' => [
						'HM' => 'Hama Governorate',
						'HL' => 'Aleppo Governorate',
						'DI' => 'Damascus Governorate',
						'LA' => 'Latakia Governorate',
						'SU' => 'As-Suwayda Governorate',
					]
				],
				'TW' => [
					'name' => 'Taiwan',
					'regions' => [
						'YUN' => 'Yunlin',
						'HUA' => 'Hualien',
						'CHA' => 'Changhua',
						'TTT' => 'Taitung',
						'TPE' => 'Taipei City',
						'TAO' => 'Taoyuan',
						'TXG' => 'Taichung City',
						'ILA' => 'Yilan',
						'PIF' => 'Pingtung',
						'TNN' => 'Tainan',
						'NWT' => 'New Taipei',
						'CYQ' => 'Chiayi County',
						'NAN' => 'Nantou',
						'MIA' => 'Miaoli',
						'KHH' => 'Kaohsiung',
						'HSZ' => 'Hsinchu County',
						'PEN' => 'Penghu County',
						'KIN' => 'Kinmen County',
						'LIE' => 'Lienchiang',
						'HSQ' => 'Hsinchu',
						'KEE' => 'Keelung',
						'CYI' => 'Chiayi',
					]
				],
				'TJ' => [
					'name' => 'Tajikistan',
					'regions' => [
						'KT' => 'Viloyati Khatlon',
						'SU' => 'Viloyati Sughd',
						'RA' => 'Republican Subordination',
						'GB' => 'Gorno-Badakhshan',
						'DU' => 'Dushanbe',
					]
				],
				'TZ' => [
					'name' => 'Tanzania',
					'regions' => [
						'15' => 'Zanzibar Urban/West',
						'06' => 'Pemba North',
						'27' => 'Geita',
						'25' => 'Tanga',
						'24' => 'Tabora',
						'20' => 'Rukwa',
						'30' => 'Simiyu',
						'23' => 'Singida',
						'22' => 'Shinyanga',
						'29' => 'Njombe',
						'18' => 'Mwanza',
						'13' => 'Mara',
						'28' => 'Katavi',
						'09' => 'Kilimanjaro',
						'16' => 'Morogoro',
						'14' => 'Mbeya',
						'04' => 'Iringa',
						'11' => 'Zanzibar Central/South',
						'19' => 'Pwani',
						'08' => 'Kigoma',
						'07' => 'Zanzibar North',
						'03' => 'Dodoma',
						'02' => 'Dar es Salaam Region',
						'10' => 'Pemba South',
						'05' => 'Kagera',
						'26' => 'Manyara',
						'01' => 'Arusha',
						'21' => 'Ruvuma',
						'17' => 'Mtwara',
						'12' => 'Lindi',
					]
				],
				'TH' => [
					'name' => 'Thailand',
					'regions' => [
						'58' => 'Changwat Mae Hong Son',
						'77' => 'Changwat Prachuap Khiri Khan',
						'57' => 'Changwat Chiang Rai',
						'64' => 'Changwat Sukhothai',
						'76' => 'Changwat Phetchaburi',
						'84' => 'Changwat Surat Thani',
						'92' => 'Changwat Trang',
						'80' => 'Changwat Nakhon Si Thammarat',
						'83' => 'Phuket',
						'63' => 'Changwat Tak',
						'50' => 'Chiang Mai Province',
						'62' => 'Changwat Kamphaeng Phet',
						'70' => 'Changwat Ratchaburi',
						'85' => 'Changwat Ranong',
						'56' => 'Changwat Phayao',
						'86' => 'Changwat Chumphon',
						'82' => 'Changwat Phangnga',
						'52' => 'Changwat Lampang',
						'54' => 'Changwat Phrae',
						'51' => 'Changwat Lamphun',
						'81' => 'Changwat Krabi',
						'71' => 'Changwat Kanchanaburi',
						'75' => 'Changwat Samut Songkhram',
						'30' => 'Changwat Nakhon Ratchasima',
						'34' => 'Changwat Ubon Ratchathani',
						'36' => 'Changwat Chaiyaphum',
						'40' => 'Changwat Khon Kaen',
						'48' => 'Changwat Nakhon Phanom',
						'43' => 'Changwat Nong Khai',
						'90' => 'Changwat Songkhla',
						'60' => 'Changwat Nakhon Sawan',
						'96' => 'Changwat Narathiwat',
						'35' => 'Changwat Yasothon',
						'95' => 'Changwat Yala',
						'18' => 'Changwat Chai Nat',
						'27' => 'Changwat Sa Kaeo',
						'53' => 'Changwat Uttaradit',
						'33' => 'Changwat Si Sa Ket',
						'61' => 'Changwat Uthai Thani',
						'14' => 'Changwat Phra Nakhon Si Ayutthaya',
						'41' => 'Changwat Udon Thani',
						'23' => 'Changwat Trat',
						'13' => 'Changwat Pathum Thani',
						'46' => 'Changwat Kalasin',
						'93' => 'Changwat Phatthalung',
						'10' => 'Bangkok',
						'45' => 'Changwat Roi Et',
						'32' => 'Changwat Surin',
						'72' => 'Changwat Suphan Buri',
						'20' => 'Changwat Chon Buri',
						'17' => 'Changwat Sing Buri',
						'39' => 'Changwat Nong Bua Lamphu',
						'38' => 'Changwat Bueng Kan',
						'47' => 'Changwat Sakon Nakhon',
						'91' => 'Changwat Satun',
						'31' => 'Changwat Buri Ram',
						'19' => 'Changwat Saraburi',
						'74' => 'Changwat Samut Sakhon',
						'11' => 'Changwat Samut Prakan',
						'73' => 'Changwat Nakhon Pathom',
						'21' => 'Changwat Rayong',
						'25' => 'Changwat Prachin Buri',
						'65' => 'Changwat Phitsanulok',
						'66' => 'Changwat Phichit',
						'67' => 'Changwat Phetchabun',
						'94' => 'Changwat Pattani',
						'15' => 'Changwat Ang Thong',
						'12' => 'Changwat Nonthaburi',
						'26' => 'Changwat Nakhon Nayok',
						'55' => 'Changwat Nan',
						'49' => 'Changwat Mukdahan',
						'44' => 'Changwat Maha Sarakham',
						'16' => 'Changwat Lop Buri',
						'42' => 'Changwat Loei',
						'22' => 'Changwat Chanthaburi',
						'24' => 'Changwat Chachoengsao',
						'37' => 'Changwat Amnat Charoen',
					]
				],
				'TL' => [
					'name' => 'Timor-Leste',
					'regions' => [
						'VI' => 'Viqueque',
						'CO' => 'Cova Lima',
						'MF' => 'Manufahi',
						'OE' => 'Oecusse',
						'MT' => 'Manatuto',
						'BO' => 'Bobonaro',
						'LI' => 'Liquiçá',
						'AN' => 'Ainaro',
						'DI' => 'Dili',
						'BA' => 'Baucau',
						'LA' => 'Lautém',
						'ER' => 'Ermera',
						'AL' => 'Aileu',
					]
				],
				'TG' => [
					'name' => 'Togo',
					'regions' => [
						'C' => 'Centrale',
						'S' => 'Savanes',
						'M' => 'Maritime',
						'P' => 'Plateaux',
						'K' => 'Kara',
					]
				],
				'TK' => [
					'name' => 'Tokelau',
					'regions' => [
						'F' => 'Fakaofo',
						'N' => 'Nukunonu',
						'A' => 'Atafu',
					]
				],
				'TO' => [
					'name' => 'Tonga',
					'regions' => [
						'01' => 'ʻEua',
						'04' => 'Tongatapu',
						'05' => 'Vava\'u',
						'03' => 'Niuas',
					]
				],
				'TT' => [
					'name' => 'Trinidad and Tobago',
					'regions' => [
						'SIP' => 'Siparia',
						'PRT' => 'Princes Town',
						'SFO' => 'San Fernando',
						'TUP' => 'Tunapuna/Piarco',
						'SGE' => 'Sangre Grande',
						'TOB' => 'Tobago',
						'SJL' => 'San Juan/Laventille',
						'POS' => 'Port of Spain',
						'MRC' => 'Mayaro',
						'CTT' => 'Couva-Tabaquite-Talparo',
						'PTF' => 'Point Fortin',
						'DMN' => 'Diego Martin',
						'PED' => 'Penal/Debe',
						'CHA' => 'Chaguanas',
						'ARI' => 'Borough of Arima',
					]
				],
				'TN' => [
					'name' => 'Tunisia',
					'regions' => [
						'22' => 'Gouvernorat de Zaghouan',
						'32' => 'Gouvernorat de Jendouba',
						'14' => 'Manouba',
						'81' => 'Gouvernorat de Gabes',
						'11' => 'Gouvernorat de Tunis',
						'23' => 'Gouvernorat de Bizerte',
						'72' => 'Gouvernorat de Tozeur',
						'83' => 'Tataouine',
						'42' => 'Gouvernorat de Kasserine',
						'21' => 'Gouvernorat de Nabeul',
						'33' => 'Gouvernorat de Kef',
						'51' => 'Gouvernorat de Sousse',
						'34' => 'Gouvernorat de Siliana',
						'43' => 'Gouvernorat de Sidi Bouzid',
						'52' => 'Gouvernorat de Monastir',
						'61' => 'Gouvernorat de Sfax',
						'13' => 'Gouvernorat de Ben Arous',
						'31' => 'Gouvernorat de Beja',
						'73' => 'Gouvernorat de Kebili',
						'71' => 'Gafsa',
						'82' => 'Gouvernorat de Medenine',
						'53' => 'Gouvernorat de Mahdia',
						'12' => 'Gouvernorat de l\'Ariana',
						'41' => 'Kairouan',
					]
				],
				'TR' => [
					'name' => 'Turkey',
					'regions' => [
						'66' => 'Yozgat',
						'31' => 'Hatay',
						'09' => 'Aydın',
						'06' => 'Ankara',
						'32' => 'Isparta',
						'65' => 'Van',
						'64' => 'Uşak',
						'35' => 'Izmir',
						'50' => 'Nevsehir',
						'63' => 'Şanlıurfa',
						'45' => 'Manisa',
						'62' => 'Tunceli',
						'33' => 'Mersin',
						'03' => 'Afyonkarahisar',
						'58' => 'Sivas',
						'73' => 'Şırnak',
						'43' => 'Kütahya',
						'56' => 'Siirt',
						'01' => 'Adana',
						'42' => 'Konya',
						'20' => 'Denizli',
						'04' => 'Ağrı',
						'80' => 'Osmaniye',
						'47' => 'Mardin',
						'27' => 'Gaziantep',
						'51' => 'Nigde',
						'49' => 'Muş',
						'48' => 'Muğla',
						'38' => 'Kayseri',
						'07' => 'Antalya',
						'44' => 'Malatya',
						'17' => 'Canakkale',
						'40' => 'Kırşehir',
						'71' => 'Kırıkkale',
						'79' => 'Kilis',
						'23' => 'Elazığ',
						'70' => 'Karaman',
						'02' => 'Adiyaman',
						'46' => 'Kahramanmaraş',
						'76' => 'Iğdır',
						'25' => 'Erzurum',
						'21' => 'Diyarbakir',
						'30' => 'Hakkâri',
						'26' => 'Eskişehir',
						'24' => 'Erzincan',
						'10' => 'Balıkesir',
						'15' => 'Burdur',
						'11' => 'Bilecik',
						'13' => 'Bitlis',
						'12' => 'Bingöl',
						'72' => 'Batman',
						'68' => 'Aksaray',
						'67' => 'Zonguldak',
						'60' => 'Tokat',
						'34' => 'Istanbul',
						'61' => 'Trabzon',
						'16' => 'Bursa',
						'41' => 'Kocaeli',
						'77' => 'Yalova',
						'55' => 'Samsun',
						'39' => 'Kırklareli',
						'22' => 'Edirne',
						'52' => 'Ordu',
						'59' => 'Tekirdağ',
						'19' => 'Çorum',
						'57' => 'Sinop',
						'53' => 'Rize',
						'05' => 'Amasya',
						'37' => 'Kastamonu',
						'36' => 'Kars',
						'54' => 'Sakarya',
						'78' => 'Karabuek',
						'29' => 'Guemueshane',
						'14' => 'Bolu',
						'28' => 'Giresun',
						'81' => 'Duezce',
						'18' => 'Çankırı',
						'69' => 'Bayburt',
						'74' => 'Bartın',
						'08' => 'Artvin',
						'75' => 'Ardahan',
					]
				],
				'TM' => [
					'name' => 'Turkmenistan',
					'regions' => [
						'S' => 'Ashgabat',
						'B' => 'Balkan',
						'D' => 'Dasoguz Welayaty',
						'M' => 'Mary',
						'L' => 'Lebap',
					]
				],
				'TC' => [
					'name' => 'Turks and Caicos Islands',
					'regions' => []
				],
				'TV' => [
					'name' => 'Tuvalu',
					'regions' => [
						'NUI' => 'Nui',
						'FUN' => 'Funafuti',
						'VAI' => 'Vaitupu',
						'NKL' => 'Nukulaelae',
						'NMA' => 'Nanumea',
						'NMG' => 'Nanumanga',
						'NIT' => 'Niutao',
						'NKF' => 'Nukufetau',
					]
				],
				'UG' => [
					'name' => 'Uganda',
					'regions' => [
						'C' => 'Central Region',
						'W' => 'Western Region',
						'E' => 'Eastern Region',
						'N' => 'Northern Region',
					]
				],
				'UA' => [
					'name' => 'Ukraine',
					'regions' => [
						'59' => 'Sums\'ka Oblast\'',
						'14' => 'Donets\'ka Oblast\'',
						'48' => 'Mykolayivs\'ka Oblast\'',
						'43' => 'Autonomous Republic of Crimea',
						'71' => 'Cherkas\'ka Oblast\'',
						'46' => 'L\'vivs\'ka Oblast\'',
						'35' => 'Kirovohrads\'ka Oblast\'',
						'63' => 'Kharkivs\'ka Oblast\'',
						'18' => 'Zhytomyrs\'ka Oblast\'',
						'05' => 'Vinnyts\'ka Oblast\'',
						'07' => 'Volyns\'ka Oblast\'',
						'12' => 'Dnipropetrovsk',
						'53' => 'Poltavs\'ka Oblast\'',
						'56' => 'Rivnens\'ka Oblast\'',
						'61' => 'Ternopil\'s\'ka Oblast\'',
						'23' => 'Zaporizhia',
						'26' => 'Ivano-Frankivs\'ka Oblast\'',
						'51' => 'Odesa',
						'21' => 'Transcarpathia',
						'32' => 'Kyiv',
						'77' => 'Chernivtsi Oblast\'',
						'65' => 'Khersons\'ka Oblast\'',
						'74' => 'Chernihiv',
						'40' => 'Sebastopol City',
						'68' => 'Khmel\'nyts\'ka Oblast\'',
						'09' => 'Luhans\'ka Oblast\'',
						'30' => 'Kyiv City',
					]
				],
				'AE' => [
					'name' => 'United Arab Emirates',
					'regions' => [
						'RK' => 'Ra\'s al Khaymah',
						'UQ' => 'Umm al Qaywayn',
						'SH' => 'Sharjah',
						'DU' => 'Dubai',
						'FU' => 'Fujairah',
						'AZ' => 'Abu Dhabi',
						'AJ' => 'Ajman',
					]
				],
				'GB' => [
					'name' => 'United Kingdom',
					'regions' => [
						'WLS' => 'Wales',
						'ENG' => 'England',
						'SCT' => 'Scotland',
						'NIR' => 'Northern Ireland',
					]
				],
				'UM' => [
					'name' => 'United States Minor Outlying Islands',
					'regions' => []
				],
				'US' => [
					'name' => 'United States',
					'regions' => [
						'TX' => 'Texas',
						'AL' => 'Alabama',
						'VA' => 'Virginia',
						'AR' => 'Arkansas',
						'DE' => 'Delaware',
						'FL' => 'Florida',
						'GA' => 'Georgia',
						'IN' => 'Indiana',
						'MD' => 'Maryland',
						'KY' => 'Kentucky',
						'KS' => 'Kansas',
						'MO' => 'Missouri',
						'NC' => 'North Carolina',
						'OH' => 'Ohio',
						'OK' => 'Oklahoma',
						'SC' => 'South Carolina',
						'TN' => 'Tennessee',
						'DC' => 'District of Columbia',
						'IL' => 'Illinois',
						'LA' => 'Louisiana',
						'MS' => 'Mississippi',
						'NJ' => 'New Jersey',
						'PA' => 'Pennsylvania',
						'WV' => 'West Virginia',
						'CT' => 'Connecticut',
						'IA' => 'Iowa',
						'MA' => 'Massachusetts',
						'ME' => 'Maine',
						'MI' => 'Michigan',
						'MN' => 'Minnesota',
						'NE' => 'Nebraska',
						'NY' => 'New York',
						'SD' => 'South Dakota',
						'WI' => 'Wisconsin',
						'ND' => 'North Dakota',
						'NH' => 'New Hampshire',
						'RI' => 'Rhode Island',
						'VT' => 'Vermont',
						'AZ' => 'Arizona',
						'CA' => 'California',
						'NM' => 'New Mexico',
						'UT' => 'Utah',
						'CO' => 'Colorado',
						'NV' => 'Nevada',
						'AK' => 'Alaska',
						'ID' => 'Idaho',
						'MT' => 'Montana',
						'OR' => 'Oregon',
						'WA' => 'Washington',
						'WY' => 'Wyoming',
						'HI' => 'Hawaii',
					]
				],
				'UY' => [
					'name' => 'Uruguay',
					'regions' => [
						'DU' => 'Departamento de Durazno',
						'RV' => 'Departamento de Rivera',
						'TT' => 'Departamento de Treinta y Tres',
						'CL' => 'Cerro Largo',
						'FS' => 'Departamento de Flores',
						'CO' => 'Colonia',
						'TA' => 'Departamento de Tacuarembo',
						'FD' => 'Florida',
						'MO' => 'Departamento de Montevideo',
						'CA' => 'Canelones',
						'SJ' => 'Departamento de San Jose',
						'MA' => 'Maldonado',
						'SA' => 'Departamento de Salto',
						'RO' => 'Departamento de Rocha',
						'PA' => 'Departamento de Paysandu',
						'RN' => 'Departamento de Rio Negro',
						'LA' => 'Lavalleja',
						'SO' => 'Soriano',
						'AR' => 'Artigas',
					]
				],
				'UZ' => [
					'name' => 'Uzbekistan',
					'regions' => [
						'QR' => 'Karakalpakstan',
						'SA' => 'Samarqand Viloyati',
						'QA' => 'Qashqadaryo',
						'SU' => 'Surxondaryo Viloyati',
						'XO' => 'Xorazm Viloyati',
						'TK' => 'Toshkent Shahri',
						'NW' => 'Navoiy Province',
						'FA' => 'Fergana',
						'JI' => 'Jizzakh Province',
						'SI' => 'Sirdaryo',
						'TO' => 'Toshkent Viloyati',
						'NG' => 'Namangan',
					]
				],
				'VU' => [
					'name' => 'Vanuatu',
					'regions' => [
						'TOB' => 'Torba Province',
						'SEE' => 'Shefa Province',
						'MAP' => 'Malampa Province',
						'SAM' => 'Sanma Province',
						'PAM' => 'Penama Province',
						'TAE' => 'Tafea Province',
					]
				],
				'VE' => [
					'name' => 'Venezuela',
					'regions' => [
						'A' => 'Distrito Federal',
						'X' => 'Vargas',
						'G' => 'Carabobo',
						'T' => 'Estado Trujillo',
						'B' => 'Anzoátegui',
						'E' => 'Barinas',
						'J' => 'Guárico',
						'D' => 'Aragua',
						'P' => 'Portuguesa',
						'S' => 'Táchira',
						'Y' => 'Delta Amacuro',
						'I' => 'Falcón',
						'L' => 'Mérida',
						'H' => 'Cojedes',
						'V' => 'Zulia',
						'N' => 'Monagas',
						'M' => 'Miranda',
						'O' => 'Nueva Esparta',
						'U' => 'Yaracuy',
						'F' => 'Bolívar',
						'Z' => 'Amazonas',
						'R' => 'Sucre',
						'W' => 'Dependencias Federales',
						'K' => 'Lara',
						'C' => 'Apure',
					]
				],
				'VN' => [
					'name' => 'Vietnam',
					'regions' => [
						'22' => 'Tinh Nghe An',
						'56' => 'Tinh Bac Ninh',
						'06' => 'Tinh Yen Bai',
						'39' => 'Tinh GJong Nai',
						'43' => 'Tinh Ba Ria-Vung Tau',
						'73' => 'Hậu Giang',
						'70' => 'Tinh Vinh Phuc',
						'HN' => 'Hanoi',
						'27' => 'Tinh Quang Nam',
						'49' => 'Tinh Vinh Long',
						'68' => 'Tinh Phu Tho',
						'13' => 'Tinh Quang Ninh',
						'32' => 'Tinh Phu Yen',
						'07' => 'Tinh Tuyen Quang',
						'20' => 'Tinh Thai Binh',
						'51' => 'Tinh Tra Vinh',
						'37' => 'Tây Ninh Province',
						'46' => 'Tinh Tien Giang',
						'SG' => 'Ho Chi Minh',
						'57' => 'Tinh Binh Duong',
						'21' => 'Tinh Thanh Hoa',
						'01' => 'Tinh Lai Chau',
						'50' => 'Tinh Ben Tre',
						'69' => 'Tinh Thai Nguyen',
						'23' => 'Tinh Ha Tinh',
						'41' => 'Long An',
						'29' => 'Quảng Ngãi Province',
						'05' => 'Tinh Son La',
						'52' => 'Tinh Soc Trang',
						'02' => 'Tinh Lao Cai',
						'47' => 'Tinh Kien Giang',
						'31' => 'Tinh Binh GJinh',
						'24' => 'Tinh Quang Binh',
						'25' => 'Tinh Quang Tri',
						'30' => 'Gia Lai',
						'26' => 'Tinh Thua Thien-Hue',
						'63' => 'Tinh Ha Nam',
						'40' => 'Tinh Binh Thuan',
						'36' => 'Tinh Ninh Thuan',
						'18' => 'Tinh Ninh Binh',
						'34' => 'Tinh Khanh Hoa',
						'67' => 'Tinh Nam GJinh',
						'53' => 'Tinh Bac Kan',
						'54' => 'Tinh Bac Giang',
						'44' => 'An Giang',
						'09' => 'Tinh Lang Son',
						'HP' => 'Haiphong',
						'28' => 'Kon Tum',
						'66' => 'Tinh Hung Yen',
						'DN' => 'Da Nang',
						'14' => 'Tinh Hoa Binh',
						'61' => 'Tinh Hai Duong',
						'03' => 'Tinh Ha Giang',
						'35' => 'Tinh Lam GJong',
						'72' => 'Dak Nong',
						'58' => 'Tinh Binh Phuoc',
						'71' => 'Tinh Dien Bien',
						'45' => 'Tinh GJong Thap',
						'04' => 'Tinh Cao Bang',
						'CT' => 'Can Tho',
						'59' => 'Tinh Ca Mau',
						'33' => 'Đắk Lắk',
						'55' => 'Tinh Bac Lieu',
					]
				],
				'VG' => [
					'name' => 'Virgin Islands, British',
					'regions' => []
				],
				'VI' => [
					'name' => 'Virgin Islands, U.S.',
					'regions' => [
						'T' => 'Saint Thomas Island',
						'C' => 'Saint Croix Island',
						'J' => 'Saint John Island',
					]
				],
				'WF' => [
					'name' => 'Wallis and Futuna',
					'regions' => [
						'UV' => 'Uvea',
						'SG' => 'Sigave',
						'AL' => 'Alo',
					]
				],
				'EH' => [
					'name' => 'Western Sahara',
					'regions' => []
				],
				'YE' => [
					'name' => 'Yemen',
					'regions' => [
						'AB' => 'Muhafazat Abyan',
						'DH' => 'Dhamār',
						'SN' => 'Sanaa',
						'LA' => 'Laḩij',
						'IB' => 'Ibb',
						'HJ' => 'Ḩajjah',
						'SU' => 'Soqatra',
						'AM' => 'Omran',
						'SH' => 'Shabwah',
						'HU' => 'Al Hudaydah',
						'TA' => 'Ta‘izz',
						'HD' => 'Muhafazat Hadramawt',
						'MW' => 'Al Mahwit',
						'DA' => 'Aḑ Ḑāli‘',
						'RA' => 'Raymah',
						'AD' => 'Aden',
						'MA' => 'Ma’rib',
						'SD' => 'Şa‘dah',
					]
				],
				'ZM' => [
					'name' => 'Zambia',
					'regions' => [
						'01' => 'Western Province',
						'04' => 'Luapula Province',
						'05' => 'Northern Province',
						'08' => 'Copperbelt',
						'10' => 'Muchinga',
						'07' => 'Southern Province',
						'09' => 'Lusaka Province',
						'02' => 'Central Province',
						'03' => 'Eastern Province',
					]
				],
				'ZW' => [
					'name' => 'Zimbabwe',
					'regions' => [
						'MN' => 'Matabeleland North',
						'MA' => 'Manicaland',
						'ME' => 'Mashonaland East Province',
						'HA' => 'Harare',
						'MS' => 'Matabeleland South Province',
						'MW' => 'Mashonaland West',
						'BU' => 'Bulawayo',
					]
				]
			];

			// And we need to add MaxMind specific countries: http://www.maxmind.com/en/iso3166
			$countries['EU'] = [
				'name' => wfMessage( 'centralnotice-country-eu' )->inContentLanguage()->text(),
				'regions' => []
			];
			$countries['AP'] = [
				'name' => wfMessage( 'centralnotice-country-ap' )->inContentLanguage()->text(),
				'regions' => []
			];
			$countries['A1'] = [
				'name' => wfMessage( 'centralnotice-country-a1' )->inContentLanguage()->text(),
				'regions' => []
			];
			$countries['A2'] = [
				'name' => wfMessage( 'centralnotice-country-a2' )->inContentLanguage()->text(),
				'regions' => []
			];
			$countries['O1'] = [
				'name' => wfMessage( 'centralnotice-country-o1' )->inContentLanguage()->text(),
				'regions' => []
			];

			// We will also add country 'XX' which is a MW specific 'fake' country for when GeoIP
			// does not return any results at all or when something else odd has happened (IE: we
			// fail to parse the country.)
			$countries['XX'] = [
				'name' => wfMessage( 'centralnotice-country-unknown' )->inContentLanguage()->text(),
				'regions' => []
			];
			if ( ExtensionRegistry::getInstance()->isLoaded( 'CLDR' ) ) {
				$cldrNames = CountryNames::getNames( $languageCode );
			} else {
				$cldrNames = [];
			}
			foreach ( $countries as $code => $country ) {
				asort( $country['regions'] );
				if ( isset( $cldrNames[$code] ) ) {
					$country['name'] = $cldrNames[$code];
				}
				self::$countries[$code] = new CNCountry( $country['name'], $country['regions'] );
			}

			asort( self::$countries );

		}

		return self::$countries;
	}

	/**
	 * Returns list of non prefixed region codes for a given country.
	 *
	 * @param string $countryCode
	 * @return string[]
	 */
	public static function getRegionsList( $countryCode ) {
		$countries = self::getCountriesList();
		if ( !isset( $countries[$countryCode] ) ) {
			return [];
		}

		return $countries[$countryCode]->getRegions();
	}

	/**
	 * Returns a string that uniquely represents a region and country. Changes
	 * should be synchronized with the code that sets uniqueRegionCode in
	 * ext.centralNotice.display/chooser.js's makeAvailableCampaigns function.
	 *
	 * @param string $countryCode
	 * @param string $regionCode
	 * @return string
	 */
	public static function makeUniqueRegionCode( $countryCode, $regionCode ) {
		return $countryCode . '_' . $regionCode;
	}
}
