/*
 * Defines the valid international currency symbols according to ISO 4217.
 * This is used in monetary.c(monetary_check).
 *
 * If you find something missing or wrong, please go to the URL
 * http://www.gnu.org/software/libc/bugs.html and follow
 * instructions there to file a bug report.
 *
 * !!! The list has to be sorted !!!
 */
DEFINE_INT_CURR("AED")		/* United Arab Emirates Dirham  */
DEFINE_INT_CURR("AFN")		/* Afghanistan Afgani  */
DEFINE_INT_CURR("ALL")		/* Albanian Lek  */
DEFINE_INT_CURR("AMD")		/* Armenia Dram  */
DEFINE_INT_CURR("ANG")		/* Netherlands Antilles  */
DEFINE_INT_CURR("AOA")		/* Angolan Kwanza  */
DEFINE_INT_CURR("ARS")		/* Argentine Peso  */
DEFINE_INT_CURR("AUD")		/* Australian Dollar  */
DEFINE_INT_CURR("AWG")		/* Aruba Guilder  */
DEFINE_INT_CURR("AZM")		/* Azerbaijan Manat  */
DEFINE_INT_CURR("BAM")		/* Bosnian and Herzegovina Convertible Mark  */
DEFINE_INT_CURR("BBD")		/* Barbados Dollar  */
DEFINE_INT_CURR("BDT")		/* Bangladesh Taka  */
DEFINE_INT_CURR("BGN")		/* Bulgarian Lev  */
DEFINE_INT_CURR("BHD")		/* Bahraini Dinar  */
DEFINE_INT_CURR("BIF")		/* Burundi Franc  */
DEFINE_INT_CURR("BMD")		/* Burmudian Dollar  */
DEFINE_INT_CURR("BND")		/* Brunei Dollar  */
DEFINE_INT_CURR("BOB")		/* Bolivian Boliviano  */
DEFINE_INT_CURR("BRL")		/* Brazil Cruzeiro  */
DEFINE_INT_CURR("BSD")		/* Bahamas Dollar  */
DEFINE_INT_CURR("BTN")		/* Bhutan Ngultrum  */
DEFINE_INT_CURR("BWP")		/* Botswana Pula  */
DEFINE_INT_CURR("BYR")		/* Belarus Ruble  */
DEFINE_INT_CURR("BZD")		/* Belize Dollar  */
DEFINE_INT_CURR("CAD")		/* Canadian Dollar  */
DEFINE_INT_CURR("CDF")		/* Congo Dem.Rep. Franc  */
DEFINE_INT_CURR("CHF")		/* Swiss Franc (Liechtenstein)  */
DEFINE_INT_CURR("CLP")		/* Chilean Peso  */
DEFINE_INT_CURR("CNY")		/* China Yuan Renminbi  */
DEFINE_INT_CURR("COP")		/* Colombian Peso  */
DEFINE_INT_CURR("CRC")		/* Costa Rican Colon  */
DEFINE_INT_CURR("CUP")		/* Cuban Peso  */
DEFINE_INT_CURR("CVE")		/* Cape Verde Escudo  */
DEFINE_INT_CURR("CYP")		/* Cypriot Pound  */
DEFINE_INT_CURR("CZK")		/* Czech Koruna  */
DEFINE_INT_CURR("DJF")		/* Djibouti Franc  */
DEFINE_INT_CURR("DKK")		/* Danish Krone (Faroe Islands, Greenland)  */
DEFINE_INT_CURR("DOP")		/* Dominican Republic  */
DEFINE_INT_CURR("DZD")		/* Algerian Dinar  */
DEFINE_INT_CURR("EEK")		/* Estonian Kroon  */
DEFINE_INT_CURR("EGP")		/* Egyptian Pound  */
DEFINE_INT_CURR("ERN")		/* Eritrean Nakfa  */
DEFINE_INT_CURR("ETB")		/* Ethiopian Birr  */
DEFINE_INT_CURR("EUR")		/* European Union Euro  */
DEFINE_INT_CURR("FJD")		/* Fiji Dollar  */
DEFINE_INT_CURR("FKP")		/* Falkland Islands Pound (Malvinas)  */
DEFINE_INT_CURR("GBP")		/* British Pound  */
DEFINE_INT_CURR("GEL")		/* Georgia Lari  */
DEFINE_INT_CURR("GHC")		/* Ghana Cedi  */
DEFINE_INT_CURR("GIP")		/* Gibraltar Pound  */
DEFINE_INT_CURR("GMD")		/* Gambian Dalasi  */
DEFINE_INT_CURR("GNF")		/* Guinea Franc  */
DEFINE_INT_CURR("GTQ")		/* Guatemala Quetzal  */
DEFINE_INT_CURR("GYD")		/* Guyana Dollar  */
DEFINE_INT_CURR("HKD")		/* Hong Kong Dollar  */
DEFINE_INT_CURR("HNL")		/* Honduras Lempira  */
DEFINE_INT_CURR("HRK")		/* Croatia Kuna  */
DEFINE_INT_CURR("HTG")		/* Haiti Gourde  */
DEFINE_INT_CURR("HUF")		/* Hungarian Forint  */
DEFINE_INT_CURR("IDR")		/* Indonesia Rupiah  */
DEFINE_INT_CURR("ILS")		/* Israeli Shekel  */
DEFINE_INT_CURR("IMP")		/* Isle of Man Pounds  */
DEFINE_INT_CURR("INR")		/* Indian Rupee (Bhutan)  */
DEFINE_INT_CURR("IQD")		/* Iraqi Dinar  */
DEFINE_INT_CURR("IRR")		/* Iranian Rial  */
DEFINE_INT_CURR("ISK")		/* Iceland Krona  */
DEFINE_INT_CURR("JEP")		/* Jersey Pound  */
DEFINE_INT_CURR("JMD")		/* Jamaican Dollar  */
DEFINE_INT_CURR("JOD")		/* Jordanian Dinar  */
DEFINE_INT_CURR("JPY")		/* Japanese Yen  */
DEFINE_INT_CURR("KES")		/* Kenyan Shilling  */
DEFINE_INT_CURR("KGS")		/* Kyrgyzstan Som  */
DEFINE_INT_CURR("KHR")		/* Democratic Kampuchea Riel  */
DEFINE_INT_CURR("KMF")		/* Comoros Franc  */
DEFINE_INT_CURR("KPW")		/* Democratic People's of Korea Won  */
DEFINE_INT_CURR("KRW")		/* Republic of Korea Won  */
DEFINE_INT_CURR("KWD")		/* Kuwaiti Dinar  */
DEFINE_INT_CURR("KYD")		/* Cayman Islands  */
DEFINE_INT_CURR("KZT")		/* Kazakhstan Tenge  */
DEFINE_INT_CURR("LAK")		/* Lao People's Democratic Republic New Kip  */
DEFINE_INT_CURR("LBP")		/* Lebanese Pound  */
DEFINE_INT_CURR("LKR")		/* Sri Lankan Rupee  */
DEFINE_INT_CURR("LRD")		/* Liberian Dollar  */
DEFINE_INT_CURR("LSL")		/* Lesotho Maloti  */
DEFINE_INT_CURR("LTL")		/* Lithuanian Litas  */
DEFINE_INT_CURR("LVL")		/* Latvia Lat  */
DEFINE_INT_CURR("LYD")		/* Libyan Arab Jamahiriya Dinar  */
DEFINE_INT_CURR("MAD")		/* Moroccan Dirham  */
DEFINE_INT_CURR("MDL")		/* Moldova Lei  */
DEFINE_INT_CURR("MGA")		/* Madagasy Ariary  */
DEFINE_INT_CURR("MKD")		/* Macedonia Denar  */
DEFINE_INT_CURR("MMK")		/* Myanmar Kyat  */
DEFINE_INT_CURR("MNT")		/* Mongolia Tugrik  */
DEFINE_INT_CURR("MOP")		/* Macau Pataca  */
DEFINE_INT_CURR("MRO")		/* Mauritania Ouguiya  */
DEFINE_INT_CURR("MTL")		/* Maltese Lira  */
DEFINE_INT_CURR("MUR")		/* Mauritius Rupee  */
DEFINE_INT_CURR("MVR")		/* Maldives Rupee  */
DEFINE_INT_CURR("MWK")		/* Malawi Kwacha  */
DEFINE_INT_CURR("MXN")		/* Mexican Peso  */
DEFINE_INT_CURR("MYR")		/* Malaysian Ringgit  */
DEFINE_INT_CURR("MZM")		/* Mozambique Metical  */
DEFINE_INT_CURR("NAD")		/* Namibia Dollar  */
DEFINE_INT_CURR("NGN")		/* Nigeria Naira  */
DEFINE_INT_CURR("NIO")		/* Nicaragua Cordoba Oro  */
DEFINE_INT_CURR("NOK")		/* Norwegian Krone  */
DEFINE_INT_CURR("NPR")		/* Nepalese Rupee  */
DEFINE_INT_CURR("NZD")		/* New Zealand Dollar  */
DEFINE_INT_CURR("OMR")		/* Omani Rial  */
DEFINE_INT_CURR("PAB")		/* Panamaniam Balboa  */
DEFINE_INT_CURR("PEN")		/* Peruvian New Sol  */
DEFINE_INT_CURR("PGK")		/* Papau New Guinea Kina  */
DEFINE_INT_CURR("PHP")		/* Philippines Peso  */
DEFINE_INT_CURR("PKR")		/* Pakistan Rupee  */
DEFINE_INT_CURR("PLN")		/* Polish Zloty  */
DEFINE_INT_CURR("PYG")		/* Paraguay Guarani  */
DEFINE_INT_CURR("QAR")		/* Qatar Rial  */
DEFINE_INT_CURR("ROL")		/* Romanian Leu  */
DEFINE_INT_CURR("RON")		/* Romanian New Leu  */
DEFINE_INT_CURR("RSD")		/* Serbian Dinars  */
DEFINE_INT_CURR("RUB")		/* Russian Ruble  */
DEFINE_INT_CURR("RWF")		/* Rwanda Franc  */
DEFINE_INT_CURR("SAR")		/* Saudi Arabia Riyal  */
DEFINE_INT_CURR("SBD")		/* Solomon Islands Dollar  */
DEFINE_INT_CURR("SCR")		/* Seychelles Rupee  */
DEFINE_INT_CURR("SDD")		/* Sudanese Dinars  */
DEFINE_INT_CURR("SEK")		/* Swedish Krona  */
DEFINE_INT_CURR("SGD")		/* Singapore Dollar  */
DEFINE_INT_CURR("SHP")		/* St. Helena Pound  */
DEFINE_INT_CURR("SIT")		/* Slovenian Tolar  */
DEFINE_INT_CURR("SKK")		/* Slovakian Koruna  */
DEFINE_INT_CURR("SLL")		/* Sierra Leone Leone  */
DEFINE_INT_CURR("SOS")		/* Somalia Schilling  */
DEFINE_INT_CURR("SPL")		/* Seborga Luigini  */
DEFINE_INT_CURR("SRG")		/* Suriname Guilder  */
DEFINE_INT_CURR("STD")		/* Sao Tome and Principe Dobra  */
DEFINE_INT_CURR("SVC")		/* El Salvador Colon  */
DEFINE_INT_CURR("SYP")		/* Syrian Arab Republic Pound  */
DEFINE_INT_CURR("SZL")		/* Swaziland Lilangeni  */
DEFINE_INT_CURR("THB")		/* Thai Baht  */
DEFINE_INT_CURR("TJS")		/* Tajikistani Somoni  */
DEFINE_INT_CURR("TMM")		/* Turkmenistan Manet  */
DEFINE_INT_CURR("TND")		/* Tunisian Dinar  */
DEFINE_INT_CURR("TOP")		/* Tonga Pa'Anga  */
DEFINE_INT_CURR("TRY")		/* New Turkish Lira  */
DEFINE_INT_CURR("TTD")		/* Trinidad and Tobago  */
DEFINE_INT_CURR("TVD")		/* Tuvalu Dollars  */
DEFINE_INT_CURR("TWD")		/* Taiwan, Province of China Dollar  */
DEFINE_INT_CURR("TZS")		/* United Republic of Tanzania Shilling  */
DEFINE_INT_CURR("UAH")		/* Ukraine Hryvna  */
DEFINE_INT_CURR("UGX")		/* Ugandan Shilling  */
DEFINE_INT_CURR("USD")		/* United States Dollar  */
DEFINE_INT_CURR("UYU")		/* Uruguay Peso Uruguayo  */
DEFINE_INT_CURR("UZS")		/* Uzbekistan Sum  */
DEFINE_INT_CURR("VEB")		/* Venezuelan Bolivar  */
DEFINE_INT_CURR("VND")		/* Viet Nam Dong  */
DEFINE_INT_CURR("VUV")		/* Vanuatu Vatu  */
DEFINE_INT_CURR("WST")		/* Samoa Tala  */
DEFINE_INT_CURR("XAF")		/* Central African Franc (United Republic of Cameroon, Central African Republic, Chad, Congo, Gabon)  */
DEFINE_INT_CURR("XCD")		/* East Caribbean Dollar (Antiqua, Dominica, Grenada, Montserrat, St. Kitts-Nevis-Anguilla, Saint Lucia, Saint Vincent and the Grenadines)  */
DEFINE_INT_CURR("XDR")		/* International Monetary Fund  */
DEFINE_INT_CURR("XOF")		/* West African Franc (Benin, Ivory Coast, Niger, Senegal, Togo, Upper Volta)  */
DEFINE_INT_CURR("XPF")		/* French polynesia, New Caledonia, Wallis and Futuna Islands  */
DEFINE_INT_CURR("YER")		/* Yemeni Rial  */
DEFINE_INT_CURR("ZAR")		/* South Africa Rand (Lesotho, Namibia)  */
DEFINE_INT_CURR("ZMK")		/* Zambian Kwacha  */
DEFINE_INT_CURR("ZWD")		/* Zimbabwe Dollar  */
