text: # -*- coding: utf-8 -*-
  import json
  import urllib.request
  import urllib.parse
  import re
  
  
  class countries:
  
      def __init__(self, core, client):
          core.addCommandHandler("pais", self, chelp="Muestra información de un país. Uso: pais <código del país>",
          alias=["país", "country"])
  
      def pais(self, bot, cli, ev):
          if len(ev.splitd) == 0:
              cli.msg(ev.target, "\00304Error\003: Faltan parametros")
              return 0
          p = " ".join(ev.splitd)
          if len(p) > 3:
              try:
                  p = self.getcountries()[p.lower()]
              except:
                  cli.msg(ev.target, "País no encontrado. Intente con el código del país?")
                  return
          try:
              r = urllib.request.urlopen("http://restcountries.eu/rest/v1/alpha/{0}".format(p)).read().decode('utf-8', 'replace')
          except urllib.error.HTTPError:
              cli.msg(ev.target, "País no encontrado?")
              
          resp = json.loads(r)
  
          currs = []
          for i in resp['currencies']:
              currs.append(self.getcurrs()[i] + " (" + i + ")")
          
          langs = []
          for i in resp['languages']:
              langs.append(self.getlangs()[i])
          
          if resp['timezones'] == None:
              resp['timezones'] = ['N/A']
  
          resp['region'] = self.getregion(resp['region'])
          wd = urllib.request.urlopen("https://www.wikidata.org/w/api.php?action=wbgetentities&sites=eswiki&titles={0}&languages=es&normalize=&props=claims&format=json".format(urllib.parse.quote_plus(self.countryfromcode()[p.upper()]))).read().decode('utf-8', 'replace')
          wd = json.loads(wd)
          presi = ""
          gobi = ""
          e = wd['entities'][list(wd['entities'].keys())[0]]
          presimark = "Presidente"
          for i in e['claims']:
  
              if i == "P30":
                  prop = e['claims']['P30'][0]['mainsnak']['datavalue']['value']['numeric-id']
                  wprop = urllib.request.urlopen("https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q{0}&languages=es&props=labels&format=json".format(prop)).read().decode('utf-8', 'replace')
                  resp['region'] = json.loads(wprop)["entities"]["Q" + str(prop)]['labels']['es']['value']
              elif i == "P35":
                  prop = e['claims']['P35'][0]['mainsnak']['datavalue']['value']['numeric-id']
                  wprop = urllib.request.urlopen("https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q{0}&languages=es&props=labels&format=json".format(prop)).read().decode('utf-8', 'replace')
                  presi = json.loads(wprop)["entities"]["Q" + str(prop)]['labels']['es']['value']
                  try:
                      prop = e['claims']['P35'][0]['qualifiers']['P39'][0]['datavalue']['value']['numeric-id']
                  except:
                      continue
                  wprop = urllib.request.urlopen("https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q{0}&languages=es&props=labels&format=json".format(prop)).read().decode('utf-8', 'replace')
                  presimark = json.loads(wprop)["entities"]["Q" + str(prop)]['labels']['es']['value']
              elif i == "P122":
                  prop = e['claims']['P122'][0]['mainsnak']['datavalue']['value']['numeric-id']
                  wprop = urllib.request.urlopen("https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q{0}&languages=es&props=labels&format=json".format(prop)).read().decode('utf-8', 'replace')
                  gobi = json.loads(wprop)["entities"]["Q" + str(prop)]['labels']['es']['value']
              elif i == "P1082":
                  resp['population'] = int(e['claims']['P1082'][0]['mainsnak']['datavalue']['value']['amount'][1:])
              else:
                  pass
                              
          send = "\002{1}\002: Continente: \002{0}\002, Capital: \002{2}\002, moneda: \002{3}\002, población: \002{4}\002".format(resp['region'], resp['translations']['es'], resp['capital'], ", ".join(currs), "{0:,}".format(resp['population']).replace(",", "."))
          send = send + ", superficie: \002{0}\002 km²".format("{0:,}".format(resp['area']).replace(",", "."))
          send = send + ", idiomas: \002{0}\002, zonas horarias: \002{1}\002".format(", ".join(langs), ", ".join(resp['timezones']))
          send = send + ", código telefónico: \002{0}\002".format(", ".join(resp['callingCodes']))
          if presi != "":
              send = send + ", {1}: \002{0}\002".format(presi, presimark)
          
          if gobi != "":
              send = send + ", Forma de gobierno: \002{0}\002".format(gobi)
          cli.msg(ev.target, send)
      
      def getregion(self, r):
          if r == "Europe":
              return "Europa"
          return r
      
      def getcurrs(self):
          return {"AED": "Dirham de los Emiratos Árabes Unidos",
              "AFN": "Afgani afgano",
              "ALL": "Lek albanés",
              "AMD": "Dram armenio",
              "ANG": "Florín antillano neerlandés",
              "AOA": "angoleño",
              "ARS": "Peso argentino",
              "AUD": "Dólar australiano",
              "AWG": "Florín arubeño",
              "AZM": "Manat azerbaiyano",
              "BAM": "Marco convertible de Bosnia-Herzegovina ",
              "BBD": "Dólar de Barbados",
              "BDT": "Taka de Bangladés",
              "BGN": "Lev búlgaro",
              "BHD": "Dinar bahreiní",
              "BIF": "Franco burundés",
              "BMD": "Dólar de Bermuda",
              "BND": "Dólar de Brunéi",
              "BOB": "Boliviano",
              "BOV": "Boliviano con mantenimiento de valor respecto al dólar estadounidense",
              "BRL": "Real brasileño",
              "BSD": "Dólar bahameño",
              "BTN": "Ngultrum de Bután",
              "BWP": "Pula de Botsuana",
              "BYR": "Rublo bielorruso",
              "BZD": "Dólar de Belice",
              "CAD": "Dólar canadiense",
              "CDF": "Franco congoleño, o congolés",
              "CHF": "Franco suizo",
              "CLF": "Unidades de fomento chilenas (código de fondos)",
              "CLP": "Peso chileno",
              "CNY": "Yuan chino",
              "COP": "Peso colombiano",
              "COU": "Unidad de valor real colombiana (añadida al COP)",
              "CRC": "Colón costarricense",
              "CUP": "Peso cubano",
              "CUC": "Peso cubano convertible",
              "CVE": "Escudo caboverdiano",
              "CZK": "Koruna checa",
              "DJF": "Franco yibutiano",
              "DKK": "Corona danesa",
              "DOP": "Peso dominicano",
              "DZD": "Dinar algerino",
              "EGP": "Libra egipcia",
              "ERN": "Nakfa eritreo",
              "ETB": "Birr etíope",
              "EUR": "Euro",
              "FJD": "Dólar fiyiano",
              "FKP": "Libra malvinense",
              "GBP": "Libra esterlina (libra de Gran Bretaña)",
              "GEL": "Lari georgiano",
              "GHS": "Cedi ghanés",
              "GIP": "Libra de Gibraltar",
              "GMD": "Dalasi gambiano",
              "GNF": "Franco guineano",
              "GTQ": "Quetzal guatemalteco",
              "GYD": "Dólar guyanés",
              "HKD": "Dólar de Hong Kong",
              "HNL": "Lempira hondureño",
              "HRK": "Kuna croata",
              "HTG": "Gourde haitiano",
              "HUF": "Forint húngaro ",
              "IDR": "Rupiah indonesia",
              "ILS": "Nuevo shéquel israelí",
              "INR": "Rupia india",
              "IQD": "Dinar iraquí",
              "IRR": "Rial iraní",
              "ISK": "Króna islandesa",
              "JMD": "Dólar jamaicano",
              "JOD": "Dinar jordano",
              "JPY": "Yen japonés",
              "KES": "Chelín keniata",
              "KGS": "Som kirguís (de Kirguistán)",
              "KHR": "Riel camboyano",
              "KMF": "Franco comoriano (de Comoras)",
              "KPW": "Won norcoreano",
              "KRW": "Won surcoreano",
              "KWD": "Dinar kuwaití",
              "KYD": "Dólar caimano (de Islas Caimán)",
              "KZT": "Tenge kazajo",
              "LAK": "Kip lao",
              "LBP": "Libra libanesa",
              "LKR": "Rupia de Sri Lanka",
              "LRD": "Dólar liberiano",
              "LSL": "Loti lesotense",
              "LTL": "Litas lituano",
              "LVL": "Lat letón",
              "LYD": "Dinar libio",
              "MAD": "Dirham marroquí",
              "MDL": "Leu moldavo",
              "MGA": "Ariary malgache",
              "MKD": "Denar macedonio",
              "MMK": "Kyat birmano",
              "MNT": "Tughrik mongol",
              "MOP": "Pataca de Macao",
              "MRO": "Ouguiya mauritana",
              "MUR": "Rupia mauricia",
              "MVR": "Rufiyaa maldiva",
              "MWK": "Kwacha malauí",
              "MXN": "Peso mexicano",
              "MXV": "Unidad de Inversión (UDI) mexicana (código de fondos)",
              "MYR": "Ringgit malayo",
              "MZN": "Metical mozambiqueño",
              "NAD": "Dólar namibio",
              "NGN": "Naira nigeriana",
              "NIO": "Córdoba nicaragüense",
              "NOK": "Corona noruega",
              "NPR": "Rupia nepalesa",
              "NZD": "Dólar neozelandés",
              "OMR": "Rial omaní",
              "PAB": "Balboa panameña",
              "PEN": "Nuevo sol peruano",
              "PGK": "Kina de Papúa Nueva Guinea",
              "PHP": "Peso filipino",
              "PKR": "Rupia pakistaní",
              "PLN": "zloty polaco",
              "PYG": "Guaraní paraguayo",
              "QAR": "Rial qatarí",
              "RON": "Leu rumano",
              "RUB": "Rublo ruso",
              "RWF": "Franco ruandés",
              "SAR": "Riyal saudí",
              "SBD": "Dólar de las Islas Salomón",
              "SCR": "Rupia de Seychelles",
              "SDG": "Dinar sudanés",
              "SEK": "Corona sueca",
              "SGD": "Dólar de Singapur",
              "SHP": "Libra de Santa Helena",
              "SLL": "Leone de Sierra Leona",
              "SOS": "Chelín somalí",
              "SRD": "Dólar surinamés",
              "STD": "Dobra de Santo Tomé y Príncipe",
              "SYP": "Libra siria",
              "SZL": "Lilangeni suazi",
              "THB": "Baht tailandés",
              "TJS": "Somoni tayik (de Tayikistán)",
              "TMT": "Manat turcomano",
              "TND": "Dinar tunecino",
              "TOP": "Pa'anga tongano",
              "TRY": "Lira turca",
              "TTD": "Dólar de Trinidad y Tobago",
              "TWD": "Dólar taiwanés",
              "TZS": "Chelín tanzano",
              "UAH": "Grivna ucraniana",
              "UGX": "Chelín ugandés",
              "USD": "Dólar estadounidense",
              "USN": "Dólar estadounidense (Siguiente día) (código de fondos)",
              "USS": "Dólar estadounidense (Mismo día) (código de fondos)",
              "UYU": "Peso uruguayo",
              "UZS": "Som uzbeko",
              "VEF": "Bolívar fuerte venezolano",
              "VND": "Dong vietnamita",
              "VUV": "Vatu vanuatense",
              "WST": "Tala samoana",
              "XAF": "Franco CFA de África Central",
              "XAG": "Onza de plata",
              "XAU": "Onza de oro",
              "XBA": "European Composite Unit (EURCO) (unidad del mercado de bonos)",
              "XBB": "European Monetary Unit (E.M.U.-6) (unidad del mercado de bonos)",
              "XBC": "European Unit of Account 9 (E.U.A.-9) (unidad del mercado de bonos)",
              "XBD": "European Unit of Account 17 (E.U.A.-17) (unidad del mercado de bonos)",
              "XCD": "Dólar del Caribe Oriental",
              "XDR": "Derechos Especiales de Giro (Fondo Monetario Internacional)",
              "XFO": "Franco de oro (Special settlement currency)",
              "XFU": "Franco Unión Internacional de Ferrocarriles (Special settlement currency)",
              "XOF": "Franco CFA de África Occidental",
              "XPD": "Onza de paladio",
              "XPF": "Franco CFP",
              "XPT": "Onza de platino",
              "XTS": "Reservado para pruebas",
              "XXX": "Sin divisa",
              "YER": "Rial yemení (de Yemen)",
              "ZAR": "Rand sudafricano",
              "ZMK": "Kwacha zambiano",
              "ZWL": "Dólar zimbabuense"}
          
      def getlangs(self):
          return {'aa': 'afar',
              'ab': 'abjaso',
              'ae': 'avéstico',
              'af': 'afrikaans',
              'ak': 'akano',
              'am': 'amárico',
              'an': 'aragonés',
              'ar': 'árabe',
              'as': 'asamés',
              'av': 'avar',
              'ay': 'aimara',
              'az': 'azerí',
              'ba': 'baskir',
              'be': 'bielorruso',
              'bg': 'búlgaro',
              'bh': 'bhojpurí',
              'bi': 'bislama',
              'bm': 'bambara',
              'bn': 'bengalí',
              'bo': 'tibetano',
              'br': 'bretón',
              'bs': 'bosnio',
              'ca': 'catalán',
              'ce': 'checheno',
              'ch': 'chamorro',
              'co': 'corso',
              'cr': 'cree',
              'cs': 'checo',
              'cu': 'eslavo eclesiástico antiguo',
              'cv': 'chuvasio',
              'cy': 'galés',
              'da': 'danés',
              'de': 'alemán',
              'dv': 'maldivo',
              'dz': 'dzongkha',
              'ee': 'ewe',
              'el': 'griego',
              'en': 'inglés',
              'eo': 'esperanto',
              'es': 'español',
              'et': 'estonio',
              'eu': 'euskera',
              'fa': 'persa',
              'ff': 'fula',
              'fi': 'finés',
              'fj': 'fiyiano',
              'fo': 'feroés',
              'fr': 'francés',
              'fy': 'frisón',
              'ga': 'irlandés',
              'gd': 'gaélico escocés',
              'gl': 'gallego',
              'gn': 'guaraní',
              'gu': 'guyaratí',
              'gv': 'manés',
              'ha': 'hausa',
              'he': 'hebreo',
              'hi': 'hindi',
              'ho': 'hiri motu',
              'hr': 'croata',
              'ht': 'haitiano',
              'hu': 'húngaro',
              'hy': 'armenio',
              'hz': 'herero',
              'ia': 'interlingua',
              'id': 'indonesio',
              'ie': 'occidental',
              'ig': 'igbo',
              'ii': 'yi de Sichuán',
              'ik': 'inupiaq',
              'io': 'ido',
              'is': 'islandés',
              'it': 'italiano',
              'iu': 'inuktitut',
              'ja': 'japonés',
              'jv': 'javanés',
              'ka': 'georgiano',
              'kg': 'kongo',
              'ki': 'kikuyu',
              'kj': 'kuanyama',
              'kk': 'kazajo',
              'kl': 'groenlandés',
              'km': 'camboyano',
              'kn': 'canarés',
              'ko': 'coreano',
              'kr': 'kanuri',
              'ks': 'cachemiro',
              'ku': 'kurdo',
              'kv': 'komi',
              'kw': 'córnico',
              'ky': 'kirguís',
              'la': 'latín',
              'lb': 'luxemburgués',
              'lg': 'luganda',
              'li': 'limburgués',
              'ln': 'lingala',
              'lo': 'lao',
              'lt': 'lituano',
              'lu': 'luba-katanga',
              'lv': 'letón',
              'mg': 'malgache',
              'mh': 'marshalés',
              'mi': 'maorí',
              'mk': 'macedonio',
              'ml': 'malayalam',
              'mn': 'mongol',
              'mr': 'maratí',
              'ms': 'malayo',
              'mt': 'maltés',
              'my': 'birmano',
              'na': 'nauruano',
              'nb': 'noruego bokmål',
              'nd': 'ndebele del norte',
              'ne': 'nepalí',
              'ng': 'ndonga',
              'nl': 'neerlandés',
              'nn': 'nynorsk',
              'no': 'noruego',
              'nr': 'ndebele del sur',
              'nv': 'navajo',
              'ny': 'chichewa',
              'oc': 'occitano',
              'oj': 'ojibwa',
              'om': 'oromo',
              'or': 'oriya',
              'os': 'osético',
              'pa': 'panyabí',
              'pi': 'pali',
              'pl': 'polaco',
              'ps': 'pastú',
              'pt': 'portugués',
              'qu': 'quechua',
              'rm': 'romanche',
              'rn': 'kirundi',
              'ro': 'rumano',
              'ru': 'ruso',
              'rw': 'ruandés',
              'sa': 'sánscrito',
              'sc': 'sardo',
              'sd': 'sindhi',
              'se': 'sami septentrional',
              'sg': 'sango',
              'si': 'cingalés',
              'sk': 'eslovaco',
              'sl': 'esloveno',
              'sm': 'samoano',
              'sn': 'shona',
              'so': 'somalí',
              'sq': 'albanés',
              'sr': 'serbio',
              'ss': 'suazi',
              'st': 'sesotho',
              'su': 'sundanés',
              'sv': 'sueco',
              'sw': 'suajili',
              'ta': 'tamil',
              'te': 'telugú',
              'tg': 'tayiko',
              'th': 'tailandés',
              'ti': 'tigriña',
              'tk': 'turcomano',
              'tl': 'tagalo',
              'tn': 'setsuana',
              'to': 'tongano',
              'tr': 'turco',
              'ts': 'tsonga',
              'tt': 'tártaro',
              'tw': 'twi',
              'ty': 'tahitiano',
              'ug': 'uigur',
              'uk': 'ucraniano',
              'ur': 'urdu',
              'uz': 'uzbeko',
              've': 'venda',
              'vi': 'vietnamita',
              'vo': 'volapük',
              'wa': 'valón',
              'wo': 'wolof',
              'xh': 'xhosa',
              'yi': 'yídish',
              'yo': 'yoruba',
              'za': 'chuan',
              'zh': 'chino',
              'zu': 'zulú'}
      
      def getcountries(self):
          return {
              'país desconocido': 'UNK',
              'afganistán': 'AF',
              'afganistan': 'AF',
              'albania': 'AL',
              'alemania': 'DE',
              'algeria': 'DZ',
              'andorra': 'AD',
              'angola': 'AO',
              'anguila': 'AI',
              'antártida': 'AQ',
              'antartida': 'AQ',
              'antigua y barbuda': 'AG',
              'antillas neerlandesas': 'AN',
              'arabia saudita': 'SA',
              'argentina': 'AR',
              'armenia': 'AM',
              'aruba': 'AW',
              'australia': 'AU',
              'austria': 'AT',
              'azerbayán': 'AZ',
              'azerbayan': 'AZ',
              'bélgica': 'BE',
              'belgica': 'BE',
              'bahamas': 'BS',
              'bahrein': 'BH',
              'bangladesh': 'BD',
              'barbados': 'BB',
              'belice': 'BZ',
              'benín': 'BJ',
              'benin': 'BJ',
              'bhután': 'BT',
              'bhutan': 'BT',
              'bielorrusia': 'BY',
              'birmania': 'MM',
              'bolivia': 'BO',
              'bosnia y herzegovina': 'BA',
              'botsuana': 'BW',
              'brasil': 'BR',
              'brazil': 'BR',
              'brunéi': 'BN',
              'brunei': 'BN',
              'bulgaria': 'BG',
              'burkina faso': 'BF',
              'burundi': 'BI',
              'cabo verde': 'CV',
              'camboya': 'KH',
              'camerún': 'CM',
              'camerun': 'CM',
              'canadá': 'CA',
              'canada': 'CA',
              'chad': 'TD',
              'chile': 'CL',
              'china': 'CN',
              'chipre': 'CY',
              'ciudad del vaticano': 'VA',
              'colombia': 'CO',
              'comoras': 'KM',
              'congo': 'CG',
              'congo': 'CD',
              'corea del norte': 'KP',
              'corea del sur': 'KR',
              'costa de marfil': 'CI',
              'costa rica': 'CR',
              'croacia': 'HR',
              'cuba': 'CU',
              'dinamarca': 'DK',
              'dominica': 'DM',
              'ecuador': 'EC',
              'egipto': 'EG',
              'el salvador': 'SV',
              'emiratos árabes unidos': 'AE',
              'emiratos arabes unidos': 'AE',
              'eritrea': 'ER',
              'eslovaquia': 'SK',
              'eslovenia': 'SI',
              'españa': 'ES',
              'estados unidos de américa': 'US',
              'estados unidos de america': 'US',
              'estados unidos': 'US',
              'estonia': 'EE',
              'etiopía': 'ET',
              'etiopia': 'ET',
              'filipinas': 'PH',
              'finlandia': 'FI',
              'fiyi': 'FJ',
              'francia': 'FR',
              'gabón': 'GA',
              'gabon': 'GA',
              'gambia': 'GM',
              'georgia': 'GE',
              'ghana': 'GH',
              'gibraltar': 'GI',
              'granada': 'GD',
              'grecia': 'GR',
              'groenlandia': 'GL',
              'guadalupe': 'GP',
              'guam': 'GU',
              'guatemala': 'GT',
              'guayana francesa': 'GF',
              'guernsey': 'GG',
              'guinea': 'GN',
              'guinea ecuatorial': 'GQ',
              'guinea-bissau': 'GW',
              'guyana': 'GY',
              'haití': 'HT',
              'haiti': 'HT',
              'honduras': 'HN',
              'hong kong': 'HK',
              'hungría': 'HU',
              'india': 'IN',
              'indonesia': 'ID',
              'irán': 'IR',
              'iran': 'IR',
              'irak': 'IQ',
              'irlanda': 'IE',
              'isla bouvet': 'BV',
              'isla de man': 'IM',
              'isla de navidad': 'CX',
              'isla norfolk': 'NF',
              'islandia': 'IS',
              'islas bermudas': 'BM',
              'islas caimán': 'KY',
              'islas caiman': 'KY',
              'islas cocos (keeling)': 'CC',
              'islas cocos': 'CC',
              'islas keeling': 'CC',
              'islas cook': 'CK',
              'islas de åland': 'AX',
              'islas de aland': 'AX',
              'islas feroe': 'FO',
              'islas georgias del sur y sandwich del sur': 'GS',
              'islas heard y mcdonald': 'HM',
              'islas maldivas': 'MV',
              'islas malvinas': 'FK',
              'islas marianas del norte': 'MP',
              'islas marshall': 'MH',
              'islas pitcairn': 'PN',
              'islas salomón': 'SB',
              'islas salomon': 'SB',
              'islas turcas y caicos': 'TC',
              'islas ultramarinas menores de estados unidos': 'UM',
              'islas vírgenes británicas': 'VG',
              'islas virgenes britanicas': 'VG',
              'islas vírgenes de los estados unidos': 'VI',
              'islas virgenes de los estados unidos': 'VI',
              'israel': 'IL',
              'italia': 'IT',
              'jamaica': 'JM',
              'japón': 'JP',
              'japon': 'JP',
              'jersey': 'JE',
              'jordania': 'JO',
              'kazajistán': 'KZ',
              'kazajistan': 'KZ',
              'kenia': 'KE',
              'kirgizstán': 'KG',
              'kirgizstan': 'KG',
              'kiribati': 'KI',
              'kuwait': 'KW',
              'líbano': 'LB',
              'libano': 'LB',
              'laos': 'LA',
              'lesoto': 'LS',
              'letonia': 'LV',
              'liberia': 'LR',
              'libia': 'LY',
              'liechtenstein': 'LI',
              'lituania': 'LT',
              'luxemburgo': 'LU',
              'méxico': 'MX',
              'mexico': 'MX',
              'mónaco': 'MC',
              'monaco': 'MC',
              'macao': 'MO',
              'macedônia': 'MK',
              'macedonia': 'MK',
              'madagascar': 'MG',
              'malasia': 'MY',
              'malawi': 'MW',
              'mali': 'ML',
              'malta': 'MT',
              'marruecos': 'MA',
              'martinica': 'MQ',
              'mauricio': 'MU',
              'mauritania': 'MR',
              'mayotte': 'YT',
              'micronesia': 'FM',
              'moldavia': 'MD',
              'mongolia': 'MN',
              'montenegro': 'ME',
              'montserrat': 'MS',
              'mozambique': 'MZ',
              'namibia': 'NA',
              'nauru': 'NR',
              'nepal': 'NP',
              'nicaragua': 'NI',
              'niger': 'NE',
              'nigeria': 'NG',
              'niue': 'NU',
              'noruega': 'NO',
              'nueva caledonia': 'NC',
              'nueva zelanda': 'NZ',
              'omán': 'OM',
              'oman': 'OM',
              'países bajos': 'NL',
              'paises bajos': 'NL',
              'pakistán': 'PK',
              'pakistan': 'PK',
              'palau': 'PW',
              'palestina': 'PS',
              'panamá': 'PA',
              'papúa nueva guinea': 'PG',
              'papua nueva guinea': 'PG',
              'paraguay': 'PY',
              'perú': 'PE',
              'peru': 'PE',
              'polinesia francesa': 'PF',
              'polonia': 'PL',
              'portugal': 'PT',
              'puerto rico': 'PR',
              'qatar': 'QA',
              'reino unido': 'GB',
              'república centroafricana': 'CF',
              'republica centroafricana': 'CF',
              'república checa': 'CZ',
              'republica checa': 'CZ',
              'república dominicana': 'DO',
              'republica dominicana': 'DO',
              'reunión': 'RE',
              'reunion': 'RE',
              'ruanda': 'RW',
              'rumanía': 'RO',
              'rumania': 'RO',
              'rusia': 'RU',
              'sahara occidental': 'EH',
              'samoa': 'WS',
              'samoa americana': 'AS',
              'san bartolomé': 'BL',
              'san cristóbal y nieves': 'KN',
              'san cristobal y nieves': 'KN',
              'san marino': 'SM',
              'san martín (francia)': 'MF',
              'san martin (francia)': 'MF',
              'san pedro y miquelón': 'PM',
              'san pedro y miquelon': 'PM',
              'san vicente y las granadinas': 'VC',
              'santa elena': 'SH',
              'santa lucía': 'LC',
              'santa lucia': 'LC',
              'santo tomé y príncipe': 'ST',
              'santo tome y príncipe': 'ST',
              'senegal': 'SN',
              'serbia': 'RS',
              'seychelles': 'SC',
              'sierra leona': 'SL',
              'singapur': 'SG',
              'siria': 'SY',
              'somalia': 'SO',
              'sri lanka': 'LK',
              'sudáfrica': 'ZA',
              'sudafrica': 'ZA',
              'sudán': 'SD',
              'sudan': 'SD',
              'suecia': 'SE',
              'suiza': 'CH',
              'surinám': 'SR',
              'svalbard y jan mayen': 'SJ',
              'swazilandia': 'SZ',
              'tadjikistán': 'TJ',
              'tailandia': 'TH',
              'taiwán': 'TW',
              'taiwan': 'TW',
              'tanzania': 'TZ',
              'territorio británico del océano Índico': 'IO',
              'territorio británico del oceano Índico': 'IO',
              'territorios australes y antárticas franceses': 'TF',
              'territorios australes y antarticas franceses': 'TF',
              'timor oriental': 'TL',
              'togo': 'TG',
              'tokelau': 'TK',
              'tonga': 'TO',
              'trinidad y tobago': 'TT',
              'tunez': 'TN',
              'turkmenistán': 'TM',
              'turkmenistan': 'TM',
              'turquía': 'TR',
              'turquia': 'TR',
              'tuvalu': 'TV',
              'ucrania': 'UA',
              'uganda': 'UG',
              'uruguay': 'UY',
              'uzbekistán': 'UZ',
              'uzbekistan': 'UZ',
              'vanuatu': 'VU',
              'venezuela': 'VE',
              'vietnam': 'VN',
              'wallis y futuna': 'WF',
              'yemen': 'YE',
              'yibuti': 'DJ',
              'zambia': 'ZM',
              'zimbabue': 'ZW'}
      
      def countryfromcode(self):
          return {
              "AFG": "Afganistán",
              "ALA": "Åland",
              "ALB": "Albania",
              "DEU": "Alemania",
              "AND": "Andorra",
              "AGO": "Angola",
              "AIA": "Anguila",
              "ATA": "Antártida",
              "ATG": "Antigua y Barbuda",
              "SAU": "Arabia Saudita",
              "DZA": "Argelia",
              "ARG": "Argentina",
              "ARM": "Armenia",
              "ABW": "Aruba",
              "AUS": "Australia",
              "AUT": "Austria",
              "AZE": "Azerbaiyán",
              "BHS": "Bahamas",
              "BGD": "Bangladés",
              "BRB": "Barbados",
              "BHR": "Baréin",
              "BEL": "Bélgica",
              "BLZ": "Belice",
              "BEN": "Benín",
              "BMU": "Bermudas",
              "BLR": "Bielorrusia",
              "MMR": "Bielorrusia",
              "BOL": "Bolivia",
              "BIH": "Bosnia y Herzegovina",
              "BWA": "Botsuana",
              "BRA": "Brasil",
              "BRN": "Brunéi",
              "BGR": "Bulgaria",
              "BFA": "Burkina Faso",
              "BDI": "Burundi",
              "BTN": "Bután",
              "CPV": "Cabo Verde",
              "KHM": "Camboya",
              "CMR": "Camerún",
              "CAN": "Canadá",
              "QAT": "Catar",
              "BES": "Bonaire, San Eustaquio y Saba",
              "TCD": "Chad",
              "CHL": "Chile",
              "CHN": "China",
              "CYP": "Chipre",
              "COL": "Colombia",
              "COM": "Comoras",
              "PRK": "Corea del Norte",
              "KOR": "Corea del Sur",
              "CIV": "Costa de Marfil",
              "CRI": "Costa Rica",
              "HRV": "Croacia",
              "CUB": "Cuba",
              "CUW": "Curazao",
              "DNK": "Dinamarca",
              "DMA": "Dominica",
              "ECU": "Ecuador",
              "EGY": "Egipto",
              "SLV": "El Salvador",
              "ARE": "Emiratos Árabes Unidos",
              "ERI": "Eritrea",
              "SVK": "Eslovaquia",
              "SVN": "Eslovenia",
              "ESP": "España",
              "USA": "Estados Unidos",
              "EST": "Estonia",
              "ETH": "Etiopía",
              "PHL": "Filipinas",
              "FIN": "Finlandia",
              "FJI": "Fiyi",
              "FRA": "Francia",
              "GAB": "Gabón",
              "GMB": "Gambia",
              "GEO": "Georgia",
              "GHA": "Ghana",
              "GIB": "Gibraltar",
              "GRD": "Granada",
              "GRC": "Grecia",
              "GRL": "Groenlandia",
              "GLP": "Guadalupe",
              "GUM": "Guam",
              "GTM": "Guatemala",
              "GUF": "Guayana Francesa",
              "GGY": "Guernsey",
              "GIN": "Guinea",
              "GNB": "Guinea-Bisáu",
              "GNQ": "Guinea Ecuatorial",
              "GUY": "Guyana",
              "HTI": "Haití",
              "HND": "Honduras",
              "HKG": "Hong Kong",
              "HUN": "Hungría",
              "IND": "India",
              "IDN": "Indonesia",
              "IRQ": "Irak",
              "IRN": "Irán",
              "IRL": "Irlanda",
              "BVT": "Isla Bouvet",
              "IMN": "Isla de Man",
              "CXR": "Isla de Navidad",
              "NFK": "Isla Norfolk",
              "ISL": "Islandia",
              "CYM": "Islas Caimán",
              "CCK": "Islas Cocos",
              "COK": "Islas Cook",
              "FRO": "Islas Feroe",
              "SGS": "Georgia del sur y las islas sandwich del sur",
              "HMD": "Isla Heard e Islas McDonald",
              "FLK": "Islas Malvinas",
              "MNP": "Islas Marianas del Norte",
              "MHL": "Islas Marshall",
              "PCN": "Pitcairn",
              "SLB": "Islas Salomón",
              "TCA": "Islas Turcas y Caicos",
              "UMI": "Islas de Ultramar Menores de Estados Unidos",
              "ISR": "Israel",
              "ITA": "Italia",
              "JAM": "Jamaica",
              "JPN": "Japón",
              "JEY": "Jersey",
              "JOR": "Jordania",
              "KAZ": "Kazajistán",
              "KEN": "Kenia",
              "KGZ": "Kirguistán",
              "KIR": "Kiribati",
              "KWT": "Kuwait",
              "LAO": "Laos",
              "LSO": "Lesoto",
              "LVA": "Letonia",
              "LBN": "Líbano",
              "LBR": "Liberia",
              "LBY": "Libia",
              "LIE": "Liechtenstein",
              "LTU": "Lituania",
              "LUX": "Luxemburgo",
              "MAC": "Macao",
              "MDG": "Madagascar",
              "MYS": "Malasia",
              "MWI": "Malaui",
              "MDV": "Maldivas",
              "MLI": "Malí",
              "MLT": "Malta",
              "MAR": "Marruecos",
              "MTQ": "Martinica",
              "MUS": "Mauricio",
              "MRT": "Mauritania",
              "MYT": "Mayotte",
              "MEX": "México",
              "FSM": "Micronesia",
              "MDA": "Moldavia",
              "MCO": "Mónaco",
              "MNG": "Mongolia",
              "MNE": "Montenegro",
              "MSR": "Montserrat",
              "MOZ": "Mozambique",
              "NAM": "Namibia",
              "NRU": "Nauru",
              "NPL": "Nepal",
              "NIC": "Nicaragua",
              "NER": "Nígeria",
              "NGA": "Nigeria",
              "NIU": "Niue",
              "NOR": "Noruega",
              "NCL": "Nueva Caledonia",
              "NZL": "Nueva Zelanda",
              "OMN": "Omán",
              "NLD": "Países Bajos",
              "PAK": "Pakistán",
              "PLW": "Palaos",
              "PSE": "Palestina",
              "PAN": "Panamá",
              "PNG": "Papúa Nueva Guinea",
              "PRY": "Paraguay",
              "PER": "Perú",
              "PYF": "Polinesia Francesa",
              "POL": "Polonia",
              "PRT": "Portugal",
              "PRI": "Puerto Rico",
              "GBR": "Reino Unido",
              "CAF": "República Centroafricana",
              "CZE": "República Checa",
              "MKD": "Macedonia",
              "COG": "República del Congo",
              "COD": "República Democrática del Congo",
              "DOM": "República Dominicana",
              "REU": "Reunión",
              "RWA": "Ruanda",
              "ROU": "Rumania",
              "RUS": "Rusia",
              "ESH": "Sahara Occidental",
              "WSM": "Samoa",
              "ASM": "Samoa Americana",
              "BLM": "San Bartolomé",
              "KNA": "San Cristóbal y Nieves",
              "SMR": "San Marino",
              "SPM": "San Pedro y Miquelón",
              "VCT": "San Vicente y las Granadinas",
              "SHN": "Santa Helena, Ascensión y Tristán de Acuña",
              "LCA": "Santa Lucía",
              "STP": "Santo Tomé y Príncipe",
              "SEN": "Senegal",
              "SRB": "Serbia",
              "SYC": "Seychelles",
              "SLE": "Sierra leona",
              "SGP": "Singapur",
              "SYR": "Siria",
              "SOM": "Somalia",
              "LKA": "Sri Lanka",
              "SWZ": "Suazilandia",
              "ZAF": "Sudáfrica",
              "SDN": "Sudán",
              "SSD": "Sudán del Sur",
              "SWE": "Suecia",
              "CHE": "Suiza",
              "SUR": "Surinam",
              "SJM": "Svalbard y Jan Mayen",
              "THA": "Tailandia",
              "TWN": "Taiwán",
              "TZA": "Tanzania",
              "TJK": "Tayikistán",
              "TLS": "Timor-Leste",
              "TGO": "Togo",
              "TKL": "Tokelau",
              "TON": "Tonga",
              "TTO": "Trinidad y Tobago",
              "TUN": "Túnez",
              "TKM": "Turkmenistán",
              "TUR": "Turquía",
              "TUV": "Tuvalu",
              "UKR": "Ucrania",
              "UGA": "Uganda",
              "URY": "Uruguay",
              "UZB": "Uzbekistán",
              "VUT": "Vanuatu",
              "VAT": "Vaticano",
              "VEN": "Venezuela",
              "VNM": "VietNam",
              "WLF": "Wallis y Futuna",
              "YEM": "Yemen",
              "DJI": "Yibuti",
              "ZMB": "Zambia",
              "ZWE": "Zimbabue",
              "BD": "bangladesh",
              "BE": "bélgica",
              "BF": "burkina faso",
              "BG": "bulgaria",
              "BA": "bosnia y herzegovina",
              "BB": "barbados",
              "WF": "wallis y futuna",
              "BL": "san bartolomé",
              "BM": "islas bermudas",
              "BN": "brunei",
              "BO": "bolivia",
              "JP": "japón",
              "BI": "burundi",
              "BJ": "benin",
              "BT": "bhután",
              "JM": "jamaica",
              "BV": "isla bouvet",
              "JO": "jordania",
              "WS": "samoa",
              "BR": "brasil",
              "BS": "bahamas",
              "JE": "jersey",
              "BY": "bielorrusia",
              "BZ": "belice",
              "RU": "rusia",
              "RW": "ruanda",
              "RS": "serbia",
              "LT": "lituania",
              "RE": "reunión",
              "TM": "turkmenistan",
              "TJ": "tadjikistán",
              "RO": "rumania",
              "LS": "lesoto",
              "GW": "guinea-bissau",
              "GU": "guam",
              "GT": "guatemala",
              "GS": "islas georgias del sur y sandwich del sur",
              "GR": "grecia",
              "GQ": "guinea ecuatorial",
              "GP": "guadalupe",
              "BH": "bahrein",
              "GY": "guyana",
              "GG": "guernsey",
              "GF": "guayana francesa",
              "GE": "georgia",
              "GD": "granada",
              "GB": "reino unido",
              "GA": "gabon",
              "SV": "el salvador",
              "GN": "guinea",
              "GM": "gambia",
              "GL": "groenlandia",
              "KW": "kuwait",
              "GI": "gibraltar",
              "GH": "ghana",
              "OM": "omán",
              "BW": "botsuana",
              "HR": "croacia",
              "HT": "haití",
              "HU": "hungría",
              "HK": "hong kong",
              "HN": "honduras",
              "HM": "islas heard y mcdonald",
              "CR": "costa rica",
              "VE": "venezuela",
              "PR": "puerto rico",
              "PS": "palestina",
              "PW": "palau",
              "PT": "portugal",
              "SJ": "svalbard y jan mayen",
              "VG": "islas virgenes britanicas",
              "AI": "anguila",
              "PA": "panamá",
              "PF": "polinesia francesa",
              "PG": "papua nueva guinea",
              "PE": "perú",
              "PK": "pakistán",
              "PH": "filipinas",
              "PN": "islas pitcairn",
              "PL": "polonia",
              "PM": "san pedro y miquelon",
              "ZM": "zambia",
              "EH": "sahara occidental",
              "EE": "estonia",
              "EG": "egipto",
              "ZA": "sudáfrica",
              "EC": "ecuador",
              "IT": "italia",
              "VN": "vietnam",
              "KZ": "kazajistán",
              "ET": "etiopia",
              "ZW": "zimbabue",
              "SA": "arabia saudita",
              "ES": "españa",
              "ER": "eritrea",
              "ME": "montenegro",
              "MD": "moldavia",
              "MG": "madagascar",
              "MF": "san martin (francia)",
              "MA": "marruecos",
              "MC": "monaco",
              "UZ": "uzbekistan",
              "LV": "letonia",
              "ML": "mali",
              "MO": "macao",
              "MN": "mongolia",
              "MH": "islas marshall",
              "MK": "macedonia",
              "UM": "islas ultramarinas menores de estados unidos",
              "MT": "malta",
              "MW": "malawi",
              "MV": "islas maldivas",
              "MQ": "martinica",
              "MP": "islas marianas del norte",
              "MS": "montserrat",
              "MR": "mauritania",
              "IM": "isla de man",
              "UG": "uganda",
              "MY": "malasia",
              "MX": "méxico",
              "IL": "israel",
              "FR": "francia",
              "IO": "territorio británico del oceano Índico",
              "SH": "santa elena",
              "FI": "finlandia",
              "FJ": "fiyi",
              "FK": "islas malvinas",
              "FM": "micronesia",
              "FO": "islas feroe",
              "NI": "nicaragua",
              "NL": "países bajos",
              "NO": "noruega",
              "NA": "namibia",
              "VU": "vanuatu",
              "NC": "nueva caledonia",
              "NE": "niger",
              "NF": "isla norfolk",
              "NG": "nigeria",
              "NZ": "nueva zelanda",
              "NP": "nepal",
              "NR": "nauru",
              "NU": "niue",
              "CK": "islas cook",
              "CI": "costa de marfil",
              "CH": "suiza",
              "CO": "colombia",
              "CN": "china",
              "CM": "camerun",
              "CL": "chile",
              "CC": "islas keeling",
              "CA": "canada",
              "LB": "libano",
              "CF": "república centroafricana",
              "CD": "congo",
              "CZ": "república checa",
              "CY": "chipre",
              "CX": "isla de navidad",
              "UY": "uruguay",
              "PY": "paraguay",
              "UNK": "país desconocido",
              "CV": "cabo verde",
              "CU": "cuba",
              "SZ": "swazilandia",
              "SY": "siria",
              "KG": "kirgizstan",
              "KE": "kenia",
              "SR": "surinám",
              "KI": "kiribati",
              "KH": "camboya",
              "KN": "san cristobal y nieves",
              "KM": "comoras",
              "ST": "santo tomé y príncipe",
              "SK": "eslovaquia",
              "KR": "corea del sur",
              "SI": "eslovenia",
              "KP": "corea del norte",
              "SO": "somalia",
              "SN": "senegal",
              "SM": "San Marino",
              "SL": "sierra leona",
              "SC": "seychelles",
              "SB": "islas salomon",
              "KY": "islas caimán",
              "SG": "singapur",
              "MM": "birmania",
              "SE": "suecia",
              "SD": "sudán",
              "DO": "Republica Dominicana",
              "DM": "dominica",
              "DJ": "yibuti",
              "DK": "dinamarca",
              "DE": "alemania",
              "YE": "yemen",
              "DZ": "algeria",
              "US": "estados unidos",
              "YT": "mayotte",
              "MU": "mauricio",
              "TZ": "tanzania",
              "LC": "santa lucia",
              "LA": "laos",
              "TV": "tuvalu",
              "TW": "taiwán",
              "TT": "trinidad y tobago",
              "TR": "turquía",
              "LK": "sri lanka",
              "LI": "liechtenstein",
              "TN": "tunez",
              "TO": "tonga",
              "TL": "timor oriental",
              "LU": "luxemburgo",
              "LR": "liberia",
              "TK": "tokelau",
              "TH": "tailandia",
              "TF": "territorios australes y antarticas franceses",
              "TG": "togo",
              "TD": "chad",
              "TC": "islas turcas y caicos",
              "LY": "libia",
              "VA": "ciudad del vaticano",
              "VC": "san vicente y las granadinas",
              "AE": "emiratos árabes unidos",
              "AD": "andorra",
              "AG": "antigua y barbuda",
              "AF": "afganistan",
              "IQ": "irak",
              "VI": "islas virgenes de los estados unidos",
              "IS": "islandia",
              "IR": "irán",
              "AM": "armenia",
              "AL": "albania",
              "AO": "angola",
              "AN": "antillas neerlandesas",
              "AQ": "antartida",
              "AS": "samoa americana",
              "AR": "argentina",
              "AU": "australia",
              "AT": "austria",
              "AW": "aruba",
              "IN": "india",
              "AX": "islas de åland",
              "AZ": "azerbayan",
              "IE": "irlanda",
              "ID": "indonesia",
              "UA": "ucrania",
              "QA": "qatar",
              "MZ": "mozambique"}
  