Documentation for this module may be created at ಮಾಡ್ಯೂಲ್:Country alias/doc

-- This module returns the country name or the flag name for a country,
-- based on the three-letter IOC/CGA/FINA alias.

--[[
The following country code is used for multiple countries:
  ANG (workaround: added ANG_CGF)

The following names have different names/flags based on sport
	Great Britain (and N.I.)		 GBR, GBsoR_WCA (latter added to add text in parens)
	Hong Kong						 HKG, HKG_CGF (latter added to keep colonial flag)
	Individual Olympic Athletes      IOA, IOA_2000 (IOA changed to Independent Olympic Athletes in 2012)
    
The following names occur twice due to CGF/IOC/FINA/IAAF differences
    Anguilla                         AIA, ANG_CGF
    Antigua and Barbuda              ANT, ATG
    Bahrain                          BRN, BHR, BHN
    Curaçao                          CUR, CUW
    Faroe Islands                    FAR, FRO
    Guernsey						 GGY, GUE
    Iran                             IRI, IRN
    Ireland                          IRE, IRL - IRE is *only* for CGF apps
    Jersey							 JER, JEY
    Lebanon                          LBN, LIB
    Montserrat                       MNT, MSR
    Nicaragua                        NCA, NIC
    Oman                             OMA, OMN
    Refugee Olympic Team             ROA, ROT
    Romania                          ROM, ROU
    Saint Helena                     SHE, SHN
    Saint Vincent and the Grenadines SVG, VIN
    Sarawak                          SAR, SWK
    Singapore                        SGP, SIN
    South Africa                     RSA, SAF
    Tonga                            TGA, TON
    Trinidad and Tobago              TRI, TTO
    Turks and Caicos Islands         TCI, TKS, TCA

Oddity that needs to be revisited
	French Polynesia                 PYF, TAH - TAH has been converted to Tahiti per SILENCE
]]

local countries = {
	EXA = {                             -- example for testing
		name = "Example Country",
		{1951, "Flag1951.svg"},         -- year <= 1951
		{1995, "Flag1995.svg"},         -- 1951 < year <= 1995
		"Flag of test.svg",             -- otherwise
		["Paralympics"] = "Paralympics.svg",
		["Summer Olympics"] = {
			[1948] = "SO1948.svg",
			[1952] = "SO1952.svg",
			[1980] = "SO1980.svg",
		},
		["Winter Olympics"] = {
			[1956] = "WO1956.svg",
			[1964] = "WO1964.svg",
		},
	},
	ADN = {
		name = "Aden",
		"Flag of the Colony of Aden.svg",
	},
	AFG = {
		name = "Afghanistan",
		{1973, "Flag of Afghanistan (1931–1973).svg"},
		{1978, "Flag of Afghanistan (1974–1978).svg"},
		{1987, "Flag of Afghanistan (1980–1987).svg"},
		{1992, "Flag of Afghanistan (1987–1992).svg"},
		{1996, "Flag of Afghanistan (1992–2001).svg"},
		{2003, "Flag of Afghanistan (2002–2004).svg"},
		"Flag of Afghanistan.svg",
	},
	AHO = {
		name = "Netherlands Antilles",
		{1982, "Flag of the Netherlands Antilles (1959–1986).svg"},
		{2010, "Flag of the Netherlands Antilles (1986–2010).svg"},
		"Flag of the Netherlands.svg",
		["Pan American Games"] = {
			[2011] = "Flag of PASO.svg",
		},
	},
	AIA = {
		name = "Anguilla",
		"Flag of Anguilla.svg",
	},
	ALB = {
		name = "Albania",
		{1992, "Flag of Albania (1946–1992).svg"},
		"Flag of Albania.svg",
	},
	ALG = {
		name = "Algeria",
		"Flag of Algeria.svg",
	},
	ANA = {
		name = "Authorised Neutral Athletes",
		"ANA flag (2017).svg",
	},
	AND = {
		name = "Andorra",
		"Flag of Andorra.svg",
		["Summer Olympics"] = {
			[1980] = "Olympic flag.svg",
		},
	},
	ANG = {
		name = "Angola",
		"Flag of Angola.svg",
	},
	ANG_CGF = {
		name = "Anguilla",
		"Flag of Anguilla.svg",
	},
	ANT = {
		name = "Antigua and Barbuda",
		{1966, "Missing Blue Ensign.svg"},
		"Flag of Antigua and Barbuda.svg",
	},
	ANZ = {
		name = "Australasia",
		"Flag of Australasian team for Olympic games.svg",
	},
	AOI = {
		name = "Independent Olympic Athletes",
		"Olympic flag.svg",
	},
	ARG = {
		name = "Argentina",
		"Flag of Argentina.svg",
	},
	ARM = {
		name = "Armenia",
		"Flag of Armenia.svg",
	},
	ART = {
		name = "Athlete Refugee Team",
		"IAAF flag (2017).svg",
		["Asian Indoor and Martial Arts Games"] = {
			[2017] = "Olympic flag.svg",
		},
	},
	ARU = {
		name = "Aruba",
		"Flag of Aruba.svg",
	},
	ASA = {
		name = "American Samoa",
		"Flag of American Samoa.svg",
	},
	ATG = {
		name = "Antigua and Barbuda",
		{1966, "Missing Blue Ensign.svg"},
		"Flag of Antigua and Barbuda.svg",
	},
	AUS = {
		name = "Australia",
		{1900, "Flag of the United Kingdom.svg"},
		{1909, "Flag of Australia (1903–1908).svg"},
		"Flag of Australia.svg",
		["Summer Olympics"] = {
			[1980] = "Olympic flag.svg",
		},
	},
	AUT = {
		name = "Austria",
		{1912, "Flag of the Habsburg Monarchy.svg"},
		"Flag of Austria.svg",
	},
	AZE = {
		name = "Azerbaijan",
		"Flag of Azerbaijan.svg",
	},
	BAH = {
		name = "Bahamas",
		{1923, "Flag of the Bahamas (1904–1923).svg"},
		{1953, "Flag of the Bahamas (1923–1953).svg"},
		{1964, "Flag of the Bahamas (1953–1964).svg"},
		{1972, "Flag of the Bahamas (1964–1973).png"},
		"Flag of the Bahamas.svg",
	},
	BAN = {
		name = "Bangladesh",
		"Flag of Bangladesh.svg",
	},
	BAR = {
		name = "Barbados",
		{1966, "Flag of Barbados (1870–1966).svg"},
		"Flag of Barbados.svg",
	},
	BDI = {
		name = "Burundi",
		"Flag of Burundi.svg",
	},
	BEL = {
		name = "Belgium",
		"Flag of Belgium (civil).svg",
		["Summer Olympics"] = {
			[1980] = "Olympic flag.svg",
		},
	},
	BEN = {
		name = "Benin",
		{1990, "Flag of Benin (1975–1990).svg"},
		"Flag of Benin.svg",
	},
	BER = {
		name = "Bermuda",
		{1999, "Flag of Bermuda (1910–1999).svg"},
		"Flag of Bermuda.svg",
	},
	BGU = {
		name = "British Guiana",
		{1906, "Flag of British Guiana (1875–1906).svg"},
		{1919, "Flag of British Guiana (1906–1919).svg"},
		{1955, "Flag of British Guiana (1919–1955).svg"},
		"Flag of British Guiana (1955–1966).svg",
	},
	BHN = {
		name = "Bahrain",
		{2001, "Flag of Bahrain (1972–2002).svg"},
		"Flag of Bahrain.svg",
	},
	BHR = {
		name = "Bahrain",
		{2001, "Flag of Bahrain (1972–2002).svg"},
		"Flag of Bahrain.svg",
	},
	BHU = {
		name = "Bhutan",
		"Flag of Bhutan.svg",
	},
	BIH = {
		name = "Bosnia and Herzegovina",
		{1998, "Flag of Bosnia and Herzegovina (1992–1998).svg"},
		"Flag of Bosnia and Herzegovina.svg",
	},
	BIR = {
		name = "Burma",
		{1973, "Flag of Burma (1948–1974).svg"},
		{2010, "Flag of Myanmar (1974–2010).svg"},
		"Flag of Myanmar.svg",
	},
	BIZ = {
		name = "Belize",
		{1981, "Flag of British Honduras (1919-1981).svg"},
		"Flag of Belize.svg",
	},
	BLR = {
		name = "Belarus",
		{1991, "Flag of Byelorussian SSR.svg"},
		{1994, "Flag of Belarus (1918, 1991-1995).svg"},
		{2012, "Flag of Belarus (1995-2012).svg"},
		"Flag of Belarus.svg",
	},
	BNB = {
		name = "British North Borneo",
		"Flag of North Borneo (1948-1963).svg",
	},
	BOH = {
		name = "Bohemia",
		"Flag of Bohemia.svg",
		["Summer Olympics"] = {
			[1912] = "Bohemian Olympic Flag (1912).png",
		},
	},
	BOL = {
		name = "Bolivia",
		"Flag of Bolivia.svg",
	},
	BOT = {
		name = "Botswana",
		"Flag of Botswana.svg",
	},
	BRA = {
		name = "Brazil",
		{1960, "Flag of Brazil (1889-1960).svg"},
		{1968, "Flag of Brazil (1960-1968).svg"},
		{1992, "Flag of Brazil (1968-1992).svg"},
		"Flag of Brazil.svg",
	},
	BRN = {
		name = "Bahrain",
		{2001, "Flag of Bahrain (1972-2002).svg"},
		"Flag of Bahrain.svg",
	},
	BRU = {
		name = "Brunei",
		"Flag of Brunei.svg",
	},
	BUL = {
		name = "Bulgaria",
		{1946, "Flag of Bulgaria.svg"},
		{1948, "Flag of Bulgaria (1946-1948).svg"},
		{1967, "Flag of Bulgaria (1948-1967).svg"},
		{1971, "Flag of Bulgaria (1967-1971).svg"},
		{1990, "Flag of Bulgaria (1971-1990).svg"},
		"Flag of Bulgaria.svg",
	},
	BUR = {
		name = "Burkina Faso",
		"Flag of Burkina Faso.svg",
	},
	BWI = {
		name = "British West Indies",
		"Flag of the West Indies Federation.svg",
	},
	CAF = {
		name = "Central African Republic",
		"Flag of the Central African Republic.svg",
	},
	CAM = {
		name = "Cambodia",
		{1970, "Flag of Cambodia.svg"},
		{1975, "Flag of the Khmer Republic.svg"},
		{1989, "Flag of the People's Republic of Kampuchea.svg"},
		{1991, "Flag of the State of Cambodia.svg"},
		{1993, "Flag of Cambodia under UNTAC.svg"},
		"Flag of Cambodia.svg",
	},
	CAN = {
		name = "Canada",
		{1921, "Canadian Red Ensign (1868-1921).svg"},
		{1957, "Canadian Red Ensign (1921-1957).svg"},
		{1965, "Canadian Red Ensign (1957-1965).svg"},
		"Flag of Canada.svg",
		["Summer Olympics"] = {
			[1936] = "Canadian Red Ensign 1921-1957 (with disc).svg",
		},
	},
	CAY = {
		name = "Cayman Islands",
		{1999, "Flag of the Cayman Islands (pre-1999).svg"},
		"Flag of the Cayman Islands.svg",
	},
	CEY = {
		name = "Ceylon",
		{1948, "British Ceylon flag.svg"},
		{1951, "Flag of Ceylon (1948-1951).svg"},
		{1971, "Flag of Ceylon (1951-1972).svg"},
		"Flag of Sri Lanka.svg",
	},
	CGO = {
		name = "Congo",
		{1988, "Flag of the People's Republic of Congo.svg"},
		"Flag of the Republic of the Congo.svg",
	},
	CHA = {
		name = "Chad",
		"Flag of Chad.svg",
	},
	CHI = {
		name = "Chile",
		"Flag of Chile.svg",
	},
	CHN = {
		name = "China",
		"Flag of the People's Republic of China.svg",
	},
	CIV = {
		name = "Ivory Coast",
		"Flag of Côte d'Ivoire.svg",
	},
	CMR = {
		name = "Cameroon",
		{1975, "Flag of Cameroon (1961-1975).svg"},
		"Flag of Cameroon.svg",
	},
	COD = {
		name = "Democratic Republic of the Congo",
		{1971, "Flag of Congo-Kinshasa (1966-1971).svg"},
		{1996, "Flag of Zaire.svg"},
		{2003, "Flag of the Democratic Republic of the Congo (1997-2003).svg"},
		{2006, "Flag of the Democratic Republic of the Congo (2003-2006).svg"},
		"Flag of the Democratic Republic of the Congo.svg",
	},
	COK = {
		name = "Cook Islands",
		{1979, "Flag of the Cook Islands (1973-1979).svg"},
		"Flag of the Cook Islands.svg",
	},
	COL = {
		name = "Colombia",
		"Flag of Colombia.svg",
	},
	COM = {
		name = "Comoros",
		{1996, "Flag of the Comoros (1992-1996).svg"},
		{2001, "Flag of the Comoros (1996-2001).svg"},
		"Flag of the Comoros.svg",
	},
	COR = {
		name = "Korea",
		"Unification flag of Korea.svg",
		["Winter Olympics"] = {
			[2018] = "Unification flag of Korea (pre 2006).svg",
		},
	},
	CPV = {
		name = "Cape Verde",
		"Flag of Cape Verde.svg",
	},
	CRC = {
		name = "Costa Rica",
		"Flag of Costa Rica.svg",
	},
	CRO = {
		name = "Croatia",
		"Flag of Croatia.svg",
	},
	CUB = {
		name = "Cuba",
		"Flag of Cuba.svg",
	},
	CUR = {
		name = "Curaçao",
		"Flag of Curaçao.svg",
	},
	CUW = {
		name = "Curaçao",
		"Flag of Curaçao.svg",
	},
	CYP = {
		name = "Cyprus",
		{2006, "Flag of Cyprus (1960-2006).svg"},
		"Flag of Cyprus.svg",
	},
	CZE = {
		name = "Czech Republic",
		"Flag of the Czech Republic.svg",
	},
	DAH = {
		name = "Dahomey",
		"Flag of Benin.svg",
	},
	DEN = {
		name = "Denmark",
		"Flag of Denmark.svg",
		["Summer Olympics"] = {
			[1980] = "Olympic flag.svg",
		},
	},
	DJI = {
		name = "Djibouti",
		"Flag of Djibouti.svg",
	},
	DMA = {
		name = "Dominica",
		{1965, "Flag of Dominica 1955-1965.svg"},
		{1978, "Flag of Dominica (1965-1978).svg"},
		{1981, "Flag of Dominica (1978-1981).svg"},
		{1988, "Flag of Dominica (1981-1988).svg"},
		{1990, "Flag of Dominica (1988-1990).svg"},
		"Flag of Dominica.svg",
	},
	DOM = {
		name = "Dominican Republic",
		"Flag of the Dominican Republic.svg",
	},
	ECU = {
		name = "Ecuador",
		"Flag of Ecuador.svg",
	},
	EGY = {
		name = "Egypt",
		{1922, "Flag of Egypt (1882-1922).svg"},
		{1952, "Flag of Egypt (1922–1958).svg"},
		{1958, "Flag of Egypt (1952-1958).svg"},
		{1971, "Flag of the United Arab Republic.svg"},
		{1984, "Flag of Egypt (1972-1984).svg"},
		"Flag of Egypt.svg",
	},
	ENG = {
		name = "England",
		"Flag of England.svg",
	},
	ERI = {
		name = "Eritrea",
		"Flag of Eritrea.svg",
	},
	ESA = {
		name = "El Salvador",
		"Flag of El Salvador.svg",
	},
	ESP = {
		name = "Spain",
		{1931, "Flag of Spain (1785-1873 and 1875-1931).svg"},
		{1939, "Flag of Spain (1931 - 1939).svg"},
		{1977, "Flag of Spain (1945–1977).svg"},
		{1981, "Flag of Spain (1977 - 1981).svg"},
		"Flag of Spain.svg",
		["Summer Olympics"] = {
			[1980] = "Olympic flag.svg",
		},
	},
	EST = {
		name = "Estonia",
		"Flag of Estonia.svg",
	},
	ETH = {
		name = "Ethiopia",
		{1974, "Flag of Ethiopia (1897-1936; 1941-1974).svg"},
		{1975, "Flag of Ethiopia (1974-1975).svg"},
		{1987, "Flag of Ethiopia (1975–1987).svg"},
		{1991, "Flag of Ethiopia (1987–1991).svg"},
		{1996, "Flag of Ethiopia (1991-1996).svg"},
		"Flag of Ethiopia.svg",
	},
	EUA = {
		name = "United Team of Germany",
		{1959, "Flag of Germany.svg"},
		"Flag of the German Olympic Team (1960-1968).svg",
	},
	EUN = {
		name = "Unified Team",
		"Olympic flag.svg",
		["Winter Paralympics"] = "Paralympic flag (1988-1994).svg",
		["Paralympics"] = "Paralympic flag (1988-1994).svg",
		["Summer Paralympics"] = "Paralympic flag (1988-1994).svg",
	},
	FAI = {
		name = "Falkland Islands",
		{1999, "Flag of the Falkland Islands (1948-1999).svg"},
		"Flag of the Falkland Islands.svg",
	},
	FAR = {
		name = "Faroe Islands",
		"Flag of the Faroe Islands.svg",
	},
	FIJ = {
		name = "Fiji",
		{1970, "Flag of Fiji 1924-1970.svg"},
		"Flag of Fiji.svg",
	},
	FIN = {
		name = "Finland",
		{1912, "Flag of Russia.svg"},
		"Flag of Finland.svg",
	},
	FINA = {
		name = "FINA Independent Athletes",
		"FINA logo cropped.jpg"
	},
	FRA = {
		name = "France",
		"Flag of France.svg",
		["Summer Olympics"] = {
			[1980] = "Olympic flag.svg",
		},
	},
	FRG = {
		name = "West Germany",
		{1959, "Flag of Germany.svg"},
		{1968, "Flag of the German Olympic Team (1960-1968).svg"},
		"Flag of Germany.svg",
	},
	FRN = {
		name = "Rhodesia and Nyasaland",
		"Flag of the Federation of Rhodesia and Nyasaland.svg",
	},
	FRO = {
		name = "Faroe Islands",
		"Flag of the Faroe Islands.svg",
	},
	FSA = {
		name = "Federation of South Arabia",
		"Flag of the Federation of South Arabia.svg",
	},
	FSM = {
		name = "Federated States of Micronesia",
		"Flag of the Federated States of Micronesia.svg",
	},
	GAB = {
		name = "Gabon",
		"Flag of Gabon.svg",
	},
	GAM = {
		name = "The Gambia",
		"Flag of The Gambia.svg",
	},
	GBR = {
		name = "Great Britain",
		"Flag of the United Kingdom.svg",
		["Summer Olympics"] = {
			[1980] = "Olympic flag.svg",
		},
	},
	GBR_WCA = {
		name = "Great Britain and Northern Ireland",
		"Flag of the United Kingdom.svg",
	},
	GBS = {
		name = "Guinea-Bissau",
		"Flag of Guinea-Bissau.svg",
	},
	GCO = {
		name = "Gold Coast",
		"Flag of the Gold Coast.svg",
	},
	GDR = {
		name = "East Germany",
		{1959, "Flag of East Germany.svg"},
		{1968, "Flag of the German Olympic Team (1960-1968).svg"},
		"Flag of East Germany.svg",
	},
	GEO = {
		name = "Georgia",
		{2003, "Flag of Georgia (1990–2004).svg"},
		"Flag of Georgia.svg",
	},
	GEQ = {
		name = "Equatorial Guinea",
		"Flag of Equatorial Guinea.svg",
	},
	GER = {
		name = "Germany",
		{1912, "Flag of the German Empire.svg"},
		{1932, "Flag of Germany (3-2 aspect ratio).svg"},
		{1945, "Flag of the German Reich (1935–1945).svg"},
		"Flag of Germany.svg",
	},
	GGY = {
		name = "Guernsey",
		{1985, "Flag of Guernsey (1936).svg"},
		"Flag of Guernsey.svg",
	},
	GHA = {
		name = "Ghana",
		{1960, "Flag of the Gold Coast.svg"},
		{1962, "Flag of the Union of African States (1961-1962).svg"},
		{1966, "Flag of Ghana (1964-1966).svg"},
		"Flag of Ghana.svg",
	},
	GIB = {
		name = "Gibraltar",
		{1981, "Government Ensign of Gibraltar 1939-1999.svg"},
		"Flag of Gibraltar.svg",
	},
	GRE = {
		name = "Greece",
		{1969, "Flag of Greece (1828-1978).svg"},
		{1975, "Flag of Greece (1970-1975).svg"},
		{1978, "Flag of Greece (1828-1978).svg"},
		"Flag of Greece.svg",
	},
	GRN = {
		name = "Grenada",
		{1974, "Flag of Grenada 1967.svg"},
		"Flag of Grenada.svg",
	},
	GUA = {
		name = "Guatemala",
		"Flag of Guatemala.svg",
	},
	GUE = {
		name = "Guernsey",
		{1985, "Flag of Guernsey (1936).svg"},
		"Flag of Guernsey.svg",
	},
	GUI = {
		name = "Guinea",
		"Flag of Guinea.svg",
	},
	GUM = {
		name = "Guam",
		"Flag of Guam.svg",
	},
	GUY = {
		name = "Guyana",
		{1906, "Flag of British Guiana (1875–1906).svg"},
		{1919, "Flag of British Guiana (1906-1919).svg"},
		{1955, "Flag of British Guiana (1919-1955).svg"},
		{1966, "Flag of British Guiana (1955–1966).svg"},
		"Flag of Guyana.svg",
	},
	HAI = {
		name = "Haiti",
		{1963, "Flag of Haiti.svg"},
		{1986, "Flag of Haiti (1964–1986).svg"},
		"Flag of Haiti.svg",
	},
	HBR = {
		name = "British Honduras",
		"Flag of British Honduras.svg",
	},
	HKG = {
		name = "Hong Kong",
		{1955, "Flag of Hong Kong (1876–1941 and 1945–1955).svg"},
		{1959, "Flag of Hong Kong (1955–1959).svg"},
		{1997, "Flag of Hong Kong (1959–1997).svg"},
		"Flag of Hong Kong.svg",
	},
	HKG_CGF = {
		name = "Hong Kong",
		{1955, "Flag of Hong Kong 1876.svg"},
		{1959, "Flag of Hong Kong 1955.svg"},
		"Flag of Hong Kong (1959-1997).svg"
	},
	HON = {
		name = "Honduras",
		"Flag of Honduras.svg",
	},
	HUN = {
		name = "Hungary",
		{1918, "Flag of Hungary (1867-1918).svg"},
		{1946, "Flag of Hungary (1915-1918, 1919-1946; 3-2 aspect ratio).svg"},
		{1949, "Flag of Hungary (1946-1949, 1956-1957).svg"},
		{1955, "Flag of Hungary (1949-1956).svg"},
		{1957, "Flag of Hungary (1946-1949, 1956-1957).svg"},
		"Flag of Hungary.svg",
	},
	IFS = {
		name = "Irish Free State",
		"Flag of Ireland.svg",
	},
	IAA = {
		name = "Independent Asian Athletes",
		"Olympic flag.svg",
	},
	INA = {
		name = "Indonesia",
		"Flag of Indonesia.svg",
	},
	IND = {
		name = "India",
		{1946, "British Raj Red Ensign.svg"},
		{2012, "Flag of India.svg"},
		"Flag of India.svg",
	},
	IOA = {
		name = "Independent Olympic Athletes",
		"Olympic flag.svg",
	},
	IOA_2000 = {
		name = "Individual Olympic Athletes",
		"Olympic flag.svg",
	},
	IOC = {
		name = "Athletes from Kuwait",
		"Olympic flag.svg",
	},
	IOM = {
		name = "Isle of Man",
		"Flag of the Isle of Man.svg",
	},
	IOP = {
		name = "Independent Olympic Participants",
		"Olympic flag.svg",
	},
	['IOP, IOA, OAR'] = {
		name = "Independent Olympians",
		"Olympic flag.svg",
	},
	IPA = {
		name = "Individual Paralympic Athletes",
		"Paralympic flag.svg",
	},
	IPP = {
		name = "Independent Paralympic Participants",
		"Paralympic flag (1988-1994).svg",
	},
	IRE = {
		name = "Ireland",
		"Green harp flag of Ireland.svg",
	},
	IRI = {
		name = "Iran",
		{1932, "Early 20th Century Qajar Flag.svg"},
		{1964, "State Flag of Iran (1933-1964).svg"},
		{1980, "State Flag of Iran (1964-1980).svg"},
		"Flag of Iran.svg",
		["Summer Olympics"] = {
			[1964] = "State Flag of Iran (1964-1980).svg",
		},
	},
	IRL = {
		name = "Ireland",
		"Flag of Ireland.svg",
		["Summer Olympics"] = {
			[1980] = "Olympic flag.svg",
		},
	},
	IRN = {
		name = "Iran",
		{1932, "Early 20th Century Qajar Flag.svg"},
		{1964, "State Flag of Iran (1933-1964).svg"},
		{1980, "State Flag of Iran (1964-1980).svg"},
		"Flag of Iran.svg",
		["Summer Olympics"] = {
			[1964] = "State Flag of Iran (1964-1980).svg",
		},
	},
	IRQ = {
		name = "Iraq",
		{1959, "Flag of Iraq (1921–1959).svg"},
		{1963, "Flag of Iraq (1959-1963).svg"},
		{1991, "Flag of Iraq (1963-1991); Flag of Syria (1963-1972).svg"},
		{2003, "Flag of Iraq (1991-2004).svg"},
		{2007, "Flag of Iraq (2004-2008).svg"},
		"Flag of Iraq.svg",
	},
	ISL = {
		name = "Iceland",
		{1915, "Flag of Denmark.svg"},
		{1944, "Light Blue Flag of Iceland.svg"},
		"Flag of Iceland.svg",
	},
	ISR = {
		name = "Israel",
		"Flag of Israel.svg",
	},
	ISV = {
		name = "Virgin Islands",
		"Flag of the United States Virgin Islands.svg",
	},
	ITA = {
		name = "Italy",
		{1946, "Flag of Italy (1861-1946).svg"},
		{2002, "Flag of Italy.svg"},
		{2006, "Flag of Italy (2003–2006).svg"},
		"Flag of Italy.svg",
		["Summer Olympics"] = {
			[1980] = "Olympic flag.svg",
		},
	},
	IVB = {
		name = "British Virgin Islands",
		"Flag of the British Virgin Islands.svg",
	},
	JAM = {
		name = "Jamaica",
		{1957, "Flag of Jamaica (1906-1957).svg"},
		{1962, "Flag of Jamaica (1957-1962).svg"},
		"Flag of Jamaica.svg",
	},
	JER = {
		name = "Jersey",
		{1980, "Flag of Jersey (pre 1981).svg"},
		"Flag of Jersey.svg",
	},
	JEY = {
		name = "Jersey",
		{1980, "Flag of Jersey (pre 1981).svg"},
		"Flag of Jersey.svg",
	},
	JOR = {
		name = "Jordan",
		"Flag of Jordan.svg",
	},
	JPN = {
		name = "Japan",
		{1999, "Flag of Japan (1870-1999).svg"},
		"Flag of Japan.svg",
	},
	KAZ = {
		name = "Kazakhstan",
		"Flag of Kazakhstan.svg",
	},
	KEN = {
		name = "Kenya",
		{1963, "Flag of British East Africa.svg"},
		"Flag of Kenya.svg",
	},
	KGZ = {
		name = "Kyrgyzstan",
		"Flag of Kyrgyzstan.svg",
	},
	KHM = {
		name = "Khmer Republic",
		"Flag of the Khmer Republic.svg",
	},
	KIR = {
		name = "Kiribati",
		"Flag of Kiribati.svg",
	},
	KOR = {
		name = "South Korea",
		{1947, "Flag of South Korea (1945-1948).svg"},
	    {1949, "Flag of South Korea (1948-1949).svg"},
	    {1983, "Flag of South Korea (1949-1984).png"}, -- flag changed in Feb '84
	    {1997, "Flag of South Korea (1984-1997).svg"},
	    {2011, "Flag of South Korea (1997-2011).svg"},
	    "Flag of South Korea.svg"
	},
	KOS = {
		name = "Kosovo",
		"Flag of Kosovo.svg",
	},
	KSA = {
		name = "Saudi Arabia",
		{1973, "Flag of Saudi Arabia (1938-1973).svg"},
		"Flag of Saudi Arabia.svg",
	},
	KUW = {
		name = "Kuwait",
		"Flag of Kuwait.svg",
	},
	LAO = {
		name = "Laos",
		{1975, "Flag of Laos (1952-1975).svg"},
		"Flag of Laos.svg",
	},
	LAT = {
		name = "Latvia",
		"Flag of Latvia.svg",
	},
	LBA = {
		name = "Libya",
		{1968, "Flag of Libya (1951).svg"},
		{1972, "Flag of Libya (1969–1972).svg"},
		{1977, "Flag of Libya (1972–1977).svg"},
		{2011, "Flag of Libya (1977-2011).svg"},
		"Flag of Libya.svg",
	},
	LBN = {
		name = "Lebanon",
		"Flag of Lebanon.svg",
	},
	LBR = {
		name = "Liberia",
		"Flag of Liberia.svg",
	},
	LCA = {
		name = "Saint Lucia",
		{1967, "Flag of Saint Lucia (1939-1967).svg"},
		{1979, "Flag of Saint Lucia (1967-1979).svg"},
		{2002, "Flag of Saint Lucia (1979-2002).svg"},
		"Flag of Saint Lucia.svg",
	},
	LES = {
		name = "Lesotho",
		{1987, "Flag of Lesotho (1966).svg"},
		{2006, "Flag of Lesotho (1987-2006).svg"},
		"Flag of Lesotho.svg",
	},
	LIB = {
		name = "Lebanon",
		"Flag of Lebanon.svg",
	},
	LIE = {
		name = "Liechtenstein",
		{1921, "Flag of Liechtenstein (1852-1921).svg"},
		{1937, "Flag of Liechtenstein (1921-1937).svg"},
		"Flag of Liechtenstein.svg",
	},
	LTU = {
		name = "Lithuania",
		{1940, "Flag of Lithuania (1918-1940).svg"},
		{2004, "Flag of Lithuania (1988-2004).svg"},
		"Flag of Lithuania.svg",
	},
	LUX = {
		name = "Luxembourg",
		"Flag of Luxembourg.svg",
		["Summer Olympics"] = {
			[1980] = "Olympic flag.svg",
		},
	},
	MAC = {
		name = "Macau",
		{1999, "Bandeira do Leal Senado.svg"},
		"Flag of Macau.svg",
	},
	MAD = {
		name = "Madagascar",
		"Flag of Madagascar.svg",
	},
	MAL = {
		name = "Malaya",
		"Flag of Malaya.svg",
	},
	MAR = {
		name = "Morocco",
		"Flag of Morocco.svg",
	},
	MAS = {
		name = "Malaysia",
		{1963, "Flag of Malaya.svg"},
		"Flag of Malaysia.svg",
	},
	MAW = {
		name = "Malawi",
		{2009, "Flag of Malawi.svg"},
		{2012, "Flag of Malawi (2010-2012).svg"},
		"Flag of Malawi.svg",
		["Summer Olympics"] = {
			[2012] = "Flag of Malawi.svg",
		},
	},
	MDA = {
		name = "Moldova",
		"Flag of Moldova.svg",
	},
	MDV = {
		name = "Maldives",
		"Flag of Maldives.svg",
	},
	MEX = {
		name = "Mexico",
		{1916, "Flag of Mexico (1893-1916).svg"},
		{1934, "Flag of the United Mexican States (1916-1934).svg"},
		{1968, "Flag of Mexico (1934-1968).svg"},
		"Flag of Mexico.svg",
	},
	MGL = {
		name = "Mongolia",
		{1991, "Flag of the People's Republic of Mongolia (1940-1992).svg"},
		"Flag of Mongolia.svg",
		["Winter Olympics"] = {
			[1992] = "Flag of the People's Republic of Mongolia (1940-1992).svg",
		},
	},
	MHL = {
		name = "Marshall Islands",
		"Flag of the Marshall Islands.svg",
	},
	MIX = {
		name = "Mixed-NOCs",
		"Olympic flag.svg",
	},
	MKD = {
		name = "Macedonia",
		"Flag of Macedonia.svg",
	},
	MLI = {
		name = "Mali",
		"Flag of Mali.svg",
	},
	MLT = {
		name = "Malta",
		{1943, "Flag of Malta (1923-1943).svg"},
		{1964, "Flag of Malta (1943-1964).svg"},
		"Flag of Malta.svg",
	},
	MNE = {
		name = "Montenegro",
		"Flag of Montenegro.svg",
	},
	MNT = {
		name = "Montserrat",
		"Flag of Montserrat.svg",
	},
	MON = {
		name = "Monaco",
		"Flag of Monaco.svg",
	},
	MOZ = {
		name = "Mozambique",
		{1983, "Flag of Mozambique (1975-1983).svg"},
		"Flag of Mozambique.svg",
	},
	MRI = {
		name = "Mauritius",
		{1923, "Flag of Mauritius 1906.svg"},
		{1968, "Flag of Mauritius 1923.svg"},
		"Flag of Mauritius.svg",
	},
	MSR = {
		name = "Montserrat",
		"Flag of Montserrat.svg",
	},
	MTN = {
		name = "Mauritania",
		{2016, "Flag of Mauritania (1959–2017).svg"},
		"Flag of Mauritania.svg",
	},
	MYA = {
		name = "Myanmar",
		{1973, "Flag of Burma (1948-1974).svg"},
		{2010, "Flag of Myanmar (1974-2010).svg"},
		"Flag of Myanmar.svg",
	},
	NAM = {
		name = "Namibia",
		"Flag of Namibia.svg",
	},
	NBO = {
		name = "North Borneo",
		"Flag of North Borneo (1948-1963).svg",
	},
	NCA = {
		name = "Nicaragua",
		"Flag of Nicaragua.svg",
	},
	NCL = {
		name = "New Caledonia",
		"Flag of New Caledonia.svg",
		["Asian Indoor and Martial Arts Games"] = {
			[2017] = "Flag of France.svg",
		},
	},
	NED = {
		name = "Netherlands",
		"Flag of the Netherlands.svg",
		["Summer Olympics"] = {
			[1980] = "Olympic flag.svg",
		},
	},
	NEP = {
		name = "Nepal",
		"Flag of Nepal.svg",
	},
	NEW = {
		name = "Newfoundland",
		"Newfoundland Red Ensign.png",
	},
	NFI = {
		name = "Norfolk Island",
		"Flag of Norfolk Island.svg",
	},
	NGR = {
		name = "Nigeria",
		{1960, "Flag of British Colonial Nigeria.svg"},
		"Flag of Nigeria.svg",
	},
	NIC = {
		name = "Nicaragua",
		"Flag of Nicaragua.svg",
	},
	NIG = {
		name = "Niger",
		"Flag of Niger.svg",
	},
	NIR = {
		name = "Northern Ireland",
		"Ulster banner.svg",
	},
	NIU = {
		name = "Niue",
		"Flag of Niue.svg",
	},
	NMI = {
		name = "Northern Mariana Islands",
		"Flag of the Northern Mariana Islands.svg",
	},
	NOR = {
		name = "Norway",
		"Flag of Norway.svg",
	},
	NPA = {
		name = "Neutral Paralympic Athletes",
		"Paralympic flag.svg",
	},
	NRH = {
		name = "Northern Rhodesia",
		"Flag of Northern Rhodesia (1939-1953).svg",
	},
	NRU = {
		name = "Nauru",
		"Flag of Nauru.svg",
	},
	NZL = {
		name = "New Zealand",
		"Flag of New Zealand.svg",
		["Summer Olympics"] = {
			[1980] = "Flag of New Zealand Olympic Committee (1979-1994).svg",
		},
	},
	OAR = {
		name = "Olympic Athletes from Russia",
		"Olympic flag.svg",
	},
	OMA = {
		name = "Oman",
		{1995, "Flag of Oman (1970-1995).svg"},
		"Flag of Oman.svg",
	},
	OMN = {
		name = "Oman",
		{1995, "Flag of Oman (1970-1995).svg"},
		"Flag of Oman.svg",
	},
	PAK = {
		name = "Pakistan",
		"Flag of Pakistan.svg",
	},
	PAN = {
		name = "Panama",
		"Flag of Panama.svg",
	},
	PAR = {
		name = "Paraguay",
		{1954, "Flag of Paraguay (1842-1954).svg"},
		{1988, "Flag of Paraguay (1954-1988).svg"},
		{1990, "Flag of Paraguay (1988-1990).svg"},
		{2013, "Flag of Paraguay (1990-2013).svg"},
		"Flag of Paraguay.svg",
	},
	PER = {
		name = "Peru",
		{1950, "Flag of Peru (1825-1950).svg"},
		"Flag of Peru.svg",
	},
	PHI = {
		name = "Philippines",
		{1936, "Flag of the Philippines (1919-1936).svg"},
		{1984, "Flag of the Philippines (navy blue).svg"},
		{1986, "Flag_of_the_Philippines_(light_blue).svg"},
		{1997, "Flag of the Philippines (navy blue).svg"},
		"Flag of the Philippines.svg",
		["Asian Games"] = {
			[1986] = "Flag of the Philippines (navy blue).svg",
		},
	},
	PLE = {
		name = "Palestine",
		"Flag of Palestine.svg",
	},
	PLW = {
		name = "Palau",
		"Flag of Palau.svg",
	},
	PNG = {
		name = "Papua New Guinea",
		{1965, "Flag of the Territory of New Guinea.svg"},
		{1970, "Flag of Papua New Guinea 1965.svg"},
		"Flag of Papua New Guinea.svg",
	},
	POL = {
		name = "Poland",
		{1928, "Flag of Poland (1919-1928).svg"},
		{1979, "Flag of Poland (1928-1980).svg"},
		"Flag of Poland.svg",
	},
	POR = {
		name = "Portugal",
		"Flag of Portugal.svg",
		["Summer Olympics"] = {
			[1980] = "Flag of Portugal-1980-Olympics.svg",
		},
	},
	PRK = {
		name = "North Korea",
		{1947, "Flag of the Provisional People's Committee for North Korea.svg"},
		{1991, "Flag of North Korea (1948–1992).svg"},
		"Flag of North Korea.svg",
	},
	PUR = {
		name = "Puerto Rico",
		{1951, "Puerto Rico Azul Celeste.png"},
		{1995, "Flag of Puerto Rico (1952-1995).svg"},
		"Flag of Puerto Rico.svg",
		["Summer Olympics"] = {
			[1948] = "Puerto rico national sport flag.svg",
			[1952] = "Puerto rico national sport flag.svg",
			[1980] = "Olympic flag.svg",
		},
	},
	PYF = {
		name = "French Polynesia",
		"Flag of French Polynesia.svg",
	},
	QAT = {
		name = "Qatar",
		"Flag of Qatar.svg",
	},
	RHO = {
		name = "Rhodesia",
		{1953, "Flag of Southern Rhodesia.svg"},
		{1963, "Flag of the Federation of Rhodesia and Nyasaland.svg"},
		{1968, "Flag of Rhodesia (1964).svg"},
		"Flag of Rhodesia.svg",
	},
	ROA = {
		name = "Refugee Olympic Team",
		"Olympic flag.svg",
	},
	ROC = {
		name = "Republic of China",
		{1928, "Flag of the Republic of China (1912-1928).svg"},
		"Flag of the Republic of China.svg",
	},
	ROM = {
		name = "Romania",
		{1948, "Flag of Romania.svg"},
		{1952, "Flag of Romania (1948-1952).svg"},
		{1965, "Flag of Romania (1952-1965).svg"},
		{1989, "Flag of Romania (1965-1989).svg"},
		"Flag of Romania.svg",
	},
	ROT = {
		name = "Refugee Olympic Team",
		"Olympic flag.svg",
	},
	ROU = {
		name = "Romania",
		{1948, "Flag of Romania.svg"},
		{1952, "Flag of Romania (1948-1952).svg"},
		{1965, "Flag of Romania (1952-1965).svg"},
		{1989, "Flag of Romania (1965-1989).svg"},
		"Flag of Romania.svg",
	},
	RSA = {
		name = "South Africa",
		{1912, "Flag of the United Kingdom.svg"},
		{1928, "Red Ensign of South Africa (1912-1928).svg"},
		{1994, "Flag of South Africa (1928-1994).svg"},
		"Flag of South Africa.svg",
		["Winter Olympics"] = {
			[1994] = "South African Olympic Flag 1994.gif",
		},
		["Summer Olympics"] = {
			[1992] = "South African Olympic Flag.svg",
		},
	},
	RU1 = {
		name = "Russian Empire",
		"Flag of Russia.svg",
	},
	RUS = {
		name = "Russia",
		"Flag of Russia.svg",
	},
	RWA = {
		name = "Rwanda",
		{1961, "Flag of Rwanda (1959-1961).svg"},
		{2001, "Flag of Rwanda (1962-2001).svg"},
		"Flag of Rwanda.svg",
	},
	SAA = {
		name = "Saar",
		"Flag of Saar (1947–1956).svg",
	},
	SAF = {
		name = "South Africa",
		{1912, "Flag of the United Kingdom.svg"},
		{1928, "Red Ensign of South Africa (1912-1928).svg"},
		{1994, "Flag of South Africa (1928-1994).svg"},
		"Flag of South Africa.svg",
		["Winter Olympics"] = {
			[1994] = "South African Olympic Flag 1994.gif",
		},
		["Summer Olympics"] = {
			[1992] = "South African Olympic Flag.svg",
		},
	},
	SAM = {
		name = "Samoa",
		"Flag of Samoa.svg",
	},
	SAR = {
		name = "Sarawak",
		"Flag of the Crown Colony of Sarawak (1946).svg",
	},
	SCG = {
		name = "Serbia and Montenegro",
		"Flag of Serbia and Montenegro.svg",
	},
	SCN = {
		name = "Saint Christopher-Nevis-Anguilla",
		"Flag of Saint Christopher-Nevis-Anguilla.svg",
	},
	SCO = {
		name = "Scotland",
		"Flag of Scotland.svg",
	},
	SEN = {
		name = "Senegal",
		"Flag of Senegal.svg",
	},
	SEY = {
		name = "Seychelles",
		{1996, "Flag of the Seychelles (1977-1996).svg"},
		"Flag of Seychelles.svg",
	},
	SGP = {
		name = "Singapore",
		{1959, "Flag of Singapore (1946-1959).svg"},
		"Flag of Singapore.svg",
	},
	SHE = {
		name = "Saint Helena",
		{1984, "Flag of Saint Helena (1874-1984).svg"},
		"Flag of Saint Helena.svg",
	},
	SHN = {
		name = "Saint Helena",
		{1984, "Flag of Saint Helena (1874-1984).svg"},
		"Flag of Saint Helena.svg",
	},
	SIN = {
		name = "Singapore",
		{1959, "Flag of Singapore (1946-1959).svg"},
		"Flag of Singapore.svg",
	},
	SKN = {
		name = "Saint Kitts and Nevis",
		{1983, "Flag of Saint Christopher-Nevis-Anguilla.svg"},
		"Flag of Saint Kitts and Nevis.svg",
	},
	SLE = {
		name = "Sierra Leone",
		{1961, "Flag of Sierra Leone 1916-1961.gif"},
		"Flag of Sierra Leone.svg",
	},
	SLO = {
		name = "Slovenia",
		"Flag of Slovenia.svg",
	},
	SMR = {
		name = "San Marino",
		{2010, "Flag of San Marino (before 2011).svg"},
		"Flag of San Marino.svg",
		["Summer Olympics"] = {
			[1980] = "Olympic flag.svg",
		},
	},
	SOL = {
		name = "Solomon Islands",
		"Flag of the Solomon Islands.svg",
	},
	SOM = {
		name = "Somalia",
		"Flag of Somalia.svg",
	},
	SRB = {
		name = "Serbia",
		{1918, "State Flag of Serbia (1882-1918).svg"},
		{1944, "Flag of Serbia, 1941-1944.svg"},
		{1992, "Flag of SR Serbia.svg"},
		{2004, "Flag of Serbia (1992-2004).svg"},
		{2010, "Flag of Serbia (2004-2010).svg"},
		"Flag of Serbia.svg",
	},
	SRH = {
		name = "Southern Rhodesia",
		"Flag of Southern Rhodesia.svg",
	},
	SRI = {
		name = "Sri Lanka",
		{1948, "British Ceylon flag.svg"},
		{1951, "Flag of Ceylon (1948-1951).svg"},
		{1971, "Flag of Ceylon (1951-1972).svg"},
		"Flag of Sri Lanka.svg",
	},
	SSD = {
		name = "South Sudan",
		"Flag of South Sudan.svg",
	},
	STP = {
		name = "São Tomé and Príncipe",
		"Flag of Sao Tome and Principe.svg",
	},
	SUD = {
		name = "Sudan",
		{1970, "Flag of Sudan (1956-1970).svg"},
		"Flag of Sudan.svg",
	},
	SUI = {
		name = "Switzerland",
		"Flag of Switzerland.svg",
		["Summer Olympics"] = {
			[1980] = "Olympic flag.svg",
		},
	},
	SUR = {
		name = "Suriname",
		{1975, "Flag of Dutch Guyana.svg"},
		"Flag of Suriname.svg",
	},
	SVG = {
		name = "Saint Vincent and the Grenadines",
		{1979, "Flag of Saint Vincent and the Grenadines (1907-1979).svg"},
		{1984, "Flag of Saint Vincent and the Grenadines (1979-1985).svg"},
		{1985, "Flag of Saint Vincent and the Grenadines (1985).svg"},
		"Flag of Saint Vincent and the Grenadines.svg",
	},
	SVK = {
		name = "Slovakia",
		"Flag of Slovakia.svg",
	},
	SWE = {
		name = "Sweden",
		{1905, "Swedish civil ensign (1844–1905).svg"},
		"Flag of Sweden.svg",
	},
	SWK = {
		name = "Sarawak",
		"Flag of the Crown Colony of Sarawak (1946).svg",
	},
	SWZ = {
		name = "Swaziland",
		"Flag of Swaziland.svg",
	},
	SYR = {
		name = "Syria",
		{1958, "Flag of Syria (1932-1958; 1961-1963).svg"},
		{1961, "Flag of the United Arab Republic.svg"},
		{1963, "Flag of Syria (1932-1958; 1961-1963).svg"},
		{1972, "Flag of Iraq (1963-1991); Flag of Syria (1963-1972).svg"},
		{1980, "Flag of Syria (1972-1980).svg"},
		"Flag of Syria.svg",
	},
	TAG = {
		name = "Tanganyika",
		"Flag of Tanganyika.svg",
	},
	TAH = {
		name = "Tahiti",
		"Flag of French Polynesia.svg",
	},
	TAN = {
		name = "Tanzania",
		{1964, "Flag of Tanganyika.svg"},
		"Flag of Tanzania.svg",
	},
	TCA = {
		name = "Turks and Caicos Islands",
		"Flag of the Turks and Caicos Islands.svg",
	},
	TCH = {
		name = "Czechoslovakia",
		"Flag of Czechoslovakia.svg",
	},
	TCI = {
		name = "Turks and Caicos Islands",
		"Flag of the Turks and Caicos Islands.svg",
	},
	TGA = {
		name = "Tonga",
		"Flag of Tonga.svg",
	},
	THA = {
		name = "Thailand",
		"Flag of Thailand.svg",
	},
	TJK = {
		name = "Tajikistan",
		"Flag of Tajikistan.svg",
	},
	TKL = {
		name = "Tokelau",
		"Flag of Tokelau.svg",
	},
	TKM = {
		name = "Turkmenistan",
		{1973, "Flag of Turkmen SSR (1956).svg"},
		{1991, "Flag of the Turkmen SSR.svg"},
		{1997, "Flag of Turkmenistan (1992-1997).svg"},
		{2001, "Flag of Turkmenistan (1997-2001).svg"},
		"Flag of Turkmenistan.svg",
	},
	TKS = {
		name = "Turks and Caicos Islands",
		"Flag of the Turks and Caicos Islands.svg",
	},
	TLS = {
		name = "East Timor",
		"Flag of East Timor.svg",
	},
	TOG = {
		name = "Togo",
		"Flag of Togo.svg",
	},
	TON = {
		name = "Tonga",
		"Flag of Tonga.svg",
	},
	TPE = {
		name = "Chinese Taipei",
		{1979, "Flag of the Republic of China.svg"},
		"Flag of Chinese Taipei for Olympic games.svg",
		["Olympics"] = "Flag of Chinese Taipei for Olympic games.svg",
		["Summer Olympics"] = "Flag of Chinese Taipei for Olympic games.svg",
		["Winter Olympics"] = "Flag of Chinese Taipei for Olympic games.svg",
		["Asian Para Games"] = "Chinese Taipei Paralympic Flag.svg",
		["Summer Paralympics"] = "Chinese Taipei Paralympic Flag.svg",
		["Universiade"] = "Flag of Chinese Taipei for Universiade.svg",
		["Summer Universiade"] = "Flag of Chinese Taipei for Universiade.svg",
		["Winter Universiade"] = "Flag of Chinese Taipei for Universiade.svg",
	},
	TRI = {
		name = "Trinidad and Tobago",
		{1958, "Flag of Trinidad and Tobago 1889-1958.svg"},
		"Flag of Trinidad and Tobago.svg",
	},
	TTO = {
		name = "Trinidad and Tobago",
		{1958, "Flag of Trinidad and Tobago 1889-1958.svg"},
		"Flag of Trinidad and Tobago.svg",
	},
	TUN = {
		name = "Tunisia",
		{1999, "Pre-1999 Flag of Tunisia.svg"},
		"Flag of Tunisia.svg",
	},
	TUR = {
		name = "Turkey",
		{1936, "Flag of the Ottoman Empire.svg"},
		"Flag of Turkey.svg",
	},
	TUV = {
		name = "Tuvalu",
		"Flag of Tuvalu.svg",
	},
	UAE = {
		name = "United Arab Emirates",
		"Flag of the United Arab Emirates.svg",
	},
	UAR = {
		name = "United Arab Republic",
		"Flag of the United Arab Republic.svg",
	},
	UGA = {
		name = "Uganda",
		{1962, "Flag of the Uganda Protectorate.svg"},
		"Flag of Uganda.svg",
	},
	UKR = {
		name = "Ukraine",
		"Flag of Ukraine.svg",
	},
	URS = {
		name = "Soviet Union",
        {1936, "Flag of the Soviet Union (1924–1936).svg"},
		{1955, "Flag of the Soviet Union (1936–1955).svg"},
		{1980, "Flag of the Soviet Union (1955–1980).svg"},
		"Flag of the Soviet Union.svg",
	},
	URU = {
		name = "Uruguay",
		"Flag of Uruguay.svg",
	},
	USA = {
		name = "United States",
		{1896, "US flag 44 stars.svg"},
		{1908, "US flag 45 stars.svg"},
		{1912, "US flag 46 stars.svg"},
		{1959, "US flag 48 stars.svg"},
		{1960, "US flag 49 stars.svg"},
		"Flag of the United States.svg",
		["Summer Olympics"] = {
			[1912] = "US flag 48 stars.svg",
		},
	},
	UZB = {
		name = "Uzbekistan",
		"Flag of Uzbekistan.svg",
	},
	VAN = {
		name = "Vanuatu",
		"Flag of Vanuatu.svg",
	},
	VEN = {
		name = "Venezuela",
		{1930, "Flag of Venezuela (1905-1930).svg"},
		{1954, "Flag of Venezuela (1930-1954).svg"},
		{2006, "Flag of Venezuela (1954-2006).png"},
		"Flag of Venezuela.svg",
	},
	VIE = {
		name = "Vietnam",
		{1975, "Flag of South Vietnam.svg"},
		"Flag of Vietnam.svg",
	},
	VIN = {
		name = "Saint Vincent and the Grenadines",
		{1979, "Flag of Saint Vincent and the Grenadines (1907-1979).svg"},
		{1984, "Flag of Saint Vincent and the Grenadines (1979-1985).svg"},
		{1985, "Flag of Saint Vincent and the Grenadines (1985).svg"},
		"Flag of Saint Vincent and the Grenadines.svg",
	},
	VNM = {
		name = "South Vietnam",
		{1975, "Flag of South Vietnam.svg"},
		"Flag of Vietnam.svg",
	},
	VOL = {
		name = "Upper Volta",
		"Flag of Upper Volta.svg",
	},
	WAL = {
		name = "Wales",
		{1952, "Flag of Wales 2.svg"},
		{1959, "Flag of Wales (1953-1959).svg"},
		"Flag of Wales 2.svg",
	},
	WLF = {
		name = "Wallis and Futuna",
		"Flag of Wallis and Futuna.svg",
	},
	WSM = {
		name = "Western Samoa",
		"Flag of Samoa.svg",
	},
	YAR = {
		name = "North Yemen",
		"Flag of North Yemen.svg",
	},
	YEM = {
		name = "Yemen",
		"Flag of Yemen.svg",
	},
	YMD = {
		name = "South Yemen",
		"Flag of South Yemen.svg",
	},
	YUG = {
		name = "Yugoslavia",
		{1941, "Flag of the Kingdom of Yugoslavia.svg"},
		{1946, "Flag of the Democratic Federal Yugoslavia.svg"},
		{1992, "Flag of SFR Yugoslavia.svg"},
		{2002, "Flag of Serbia and Montenegro.svg"},
		"Flag of SFR Yugoslavia.svg",
	},
	ZAI = {
		name = "Zaire",
		"Flag of Zaire.svg",
	},
	ZAM = {
		name = "Zambia",
		{1953, "Flag of Northern Rhodesia (1939-1953).svg"},
		{1963, "Flag of the Federation of Rhodesia and Nyasaland.svg"},
		{1996, "Flag of Zambia (1964-1996).svg"},
		"Flag of Zambia.svg",
	},
	ZIM = {
		name = "Zimbabwe",
		{1953, "Flag of Southern Rhodesia.svg"},
		{1963, "Flag of the Federation of Rhodesia and Nyasaland.svg"},
		{1968, "Flag of Rhodesia (1964).svg"},
		{1978, "Flag of Rhodesia.svg"},
		{1979, "Flag of Zimbabwe Rhodesia.svg"},
		"Flag of Zimbabwe.svg",
	},
	ZZX = {
		name = "Mixed team",
		"Olympic flag.svg",
	},
}

local function strip_to_nil(text)
	-- If text is a string, return its trimmed content, or nil if empty.
	-- Otherwise return text (which may, for example, be nil).
	if type(text) == 'string' then
		text = text:match('(%S.-)%s*$')
	end
	return text
end

local function yes(parameter)
	-- Return true if parameter should be interpreted as "yes".
	return ({ y = true, yes = true, on = true })[parameter]
end

local function getFlag(args, country)
	-- Return name of flag selected from country data (nil if none defined).
	local year = tonumber(args.year)
	local games = strip_to_nil(args.games)
	if games then
		local gdata = country[games]
		if gdata then
			if type(gdata) == 'string' then
				return gdata
			end
			if gdata[year] then
				return gdata[year]
			end
		end
	end
	for _, item in ipairs(country) do
		if type(item) == 'string' then
			return item
		end
		if year and year <= item[1] then
			return item[2]
		end
	end
end

local function main(frame)
	local args = frame.args
	local alias = args.alias
	local country = countries[alias]
	local function quit(message)
		if args.error then
			return args.error
		end
		error(message)
	end
	if not country then
		return quit('Invalid country alias: ' .. tostring(alias))
	end
	if yes(args.flag) then
		return getFlag(args, country) or quit('No flag defined for ' .. alias)
	else
		return country.name or quit('No name defined for ' .. alias)
	end
end

return { main = main }