# -*- coding: utf-8 -*-
# Copyright (C) 2015 Mag. Christian Tanzer All rights reserved
# Glasauergasse 32, A--1130 Wien, Austria. tanzer@swing.co.at
# #*** <License> ************************************************************#
# This module is part of the package GTW.OMP.PAP.E164.
#
# This module is licensed under the terms of the BSD 3-Clause License
# <http://www.c-tanzer.at/license/bsd_3c.html>.
# #*** </License> ***********************************************************#
#
#++
# Name
#    GTW.OMP.PAP.E164.cc_data
#
# Purpose
#    Provide international telephone country codes as assigned by E.164
#
# Revision Dates
#    24-Jul-2015 (CT) Creation
#    ««revision-date»»···
#--

from   __future__ import division, print_function
from   __future__ import absolute_import, unicode_literals

from   _GTW                import GTW
import _GTW._OMP._PAP._E164

### 24-Jul-2015 12:04
### Codes taken from::
###
###     http://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.164D-11-2011-PDF-E.pdf
###
### Additional infos::
###
###     https://en.wikipedia.org/wiki/List_of_country_calling_codes
###

cc_map = \
    {   "1" : "North America (CA, US, AG, AI, AS, BB, BM, BS, DM, DO, GD, GU, JM, KN, KY, LC, MP, MS, PR, SX, TC, TT, VC, VG, VI)"
    ,  "20" : "Egypt (Arab Republic of)"
    , "211" : "South Sudan (Republic of)"
    , "212" : "Morocco (Kingdom of)"
    , "213" : "Algeria (People's Democratic Republic of)"
    , "216" : "Tunisia"
    , "218" : "Libya (Socialist People's Libyan Arab Jamahiriya)"
    , "220" : "Gambia (Republic of the)"
    , "221" : "Senegal (Republic of)"
    , "222" : "Mauritania (Islamic Republic of)"
    , "223" : "Mali (Republic of)"
    , "224" : "Guinea (Republic of)"
    , "225" : "Côte d'Ivoire (Republic of)"
    , "226" : "Burkina Faso"
    , "227" : "Niger (Republic of the)"
    , "228" : "Togolese Republic"
    , "229" : "Benin (Republic of)"
    , "230" : "Mauritius (Republic of)"
    , "231" : "Liberia (Republic of)"
    , "232" : "Sierra Leone"
    , "233" : "Ghana"
    , "234" : "Nigeria (Federal Republic of)"
    , "235" : "Chad (Republic of)"
    , "236" : "Central African Republic"
    , "237" : "Cameroon (Republic of)"
    , "238" : "Cape Verde (Republic of)"
    , "239" : "Sao Tome and Principe (Democratic Republic of)"
    , "240" : "Equatorial Guinea (Republic of)"
    , "241" : "Gabonese Republic"
    , "242" : "Congo (Republic of the)"
    , "243" : "Democratic Republic of the Congo"
    , "244" : "Angola (Republic of)"
    , "245" : "Guinea-Bissau (Republic of)"
    , "246" : "Diego Garcia"
    , "247" : "Saint Helena, Ascension and Tristan da Cunha"
    , "248" : "Seychelles (Republic of)"
    , "249" : "Sudan (Republic of the)"
    , "250" : "Rwanda (Republic of)"
    , "251" : "Ethiopia (Federal Democratic Republic of)"
    , "252" : "Somali Democratic Republic"
    , "253" : "Djibouti (Republic of)"
    , "254" : "Kenya (Republic of)"
    , "255" : "Tanzania (United Republic of)"
    , "256" : "Uganda (Republic of)"
    , "257" : "Burundi (Republic of)"
    , "258" : "Mozambique (Republic of)"
    , "260" : "Zambia (Republic of)"
    , "261" : "Madagascar (Republic of)"
    , "262" : "French Departments and Territories in the Indian Ocean"
    , "263" : "Zimbabwe (Republic of)"
    , "264" : "Namibia (Republic of)"
    , "265" : "Malawi"
    , "266" : "Lesotho (Kingdom of)"
    , "267" : "Botswana (Republic of)"
    , "268" : "Swaziland (Kingdom of)"
    , "269" : "Comoros (Union of the)"
    ,  "27" : "South Africa (Republic of)"
    , "290" : "Saint Helena, Ascension and Tristan da Cunha"
    , "291" : "Eritrea"
    , "297" : "Aruba"
    , "298" : "Faroe Islands"
    , "299" : "Greenland (Denmark)"
    ,  "30" : "Greece"
    ,  "31" : "Netherlands (Kingdom of the)"
    ,  "32" : "Belgium"
    ,  "33" : "France"
    ,  "34" : "Spain"
    , "350" : "Gibraltar"
    , "351" : "Portugal"
    , "352" : "Luxembourg"
    , "353" : "Ireland"
    , "354" : "Iceland"
    , "355" : "Albania (Republic of)"
    , "356" : "Malta"
    , "357" : "Cyprus (Republic of)"
    , "358" : "Finland"
    , "359" : "Bulgaria (Republic of)"
    ,  "36" : "Hungary (Republic of)"
    , "370" : "Lithuania (Republic of)"
    , "371" : "Latvia (Republic of)"
    , "372" : "Estonia (Republic of)"
    , "373" : "Moldova (Republic of)"
    , "374" : "Armenia (Republic of)"
    , "375" : "Belarus (Republic of)"
    , "376" : "Andorra (Principality of)"
    , "377" : "Monaco (Principality of)"
    , "378" : "San Marino (Republic of)"
    , "379" : "Vatican City State"
    , "380" : "Ukraine"
    , "381" : "Serbia (Republic of)"
    , "382" : "Montenegro (Republic of)"
    , "385" : "Croatia (Republic of)"
    , "386" : "Slovenia (Republic of)"
    , "387" : "Bosnia and Herzegovina"
    , "388" : "Group of countries, shared code"
    , "389" : "The Former Yugoslav Republic of Macedonia"
    ,  "39" : "Italy, Vatican"
    ,  "40" : "Romania"
    ,  "41" : "Switzerland (Confederation of)"
    , "420" : "Czech Republic"
    , "421" : "Slovak Republic"
    , "423" : "Liechtenstein (Principality of)"
    ,  "43" : "Austria"
    ,  "44" : "United Kingdom of Great Britain and Northern Ireland"
    ,  "45" : "Denmark"
    ,  "46" : "Sweden"
    ,  "47" : "Norway"
    ,  "48" : "Poland (Republic of)"
    ,  "49" : "Germany (Federal Republic of)"
    , "500" : "Falkland Islands (Malvinas)"
    , "501" : "Belize"
    , "502" : "Guatemala (Republic of)"
    , "503" : "El Salvador (Republic of)"
    , "504" : "Honduras (Republic of)"
    , "505" : "Nicaragua"
    , "506" : "Costa Rica"
    , "507" : "Panama (Republic of)"
    , "508" : "Saint Pierre and Miquelon (Collectivité territoriale de la République française)"
    , "509" : "Haiti (Republic of)"
    ,  "51" : "Peru"
    ,  "52" : "Mexico"
    ,  "53" : "Cuba"
    ,  "54" : "Argentine Republic"
    ,  "55" : "Brazil (Federative Republic of)"
    ,  "56" : "Chile"
    ,  "57" : "Colombia (Republic of)"
    ,  "58" : "Venezuela (Bolivarian Republic of)"
    , "590" : "Guadeloupe (French Department of)"
    , "591" : "Bolivia (Plurinational State of)"
    , "592" : "Guyana"
    , "593" : "Ecuador"
    , "594" : "French Guiana (French Department of)"
    , "595" : "Paraguay (Republic of)"
    , "596" : "Martinique (French Department of)"
    , "597" : "Suriname (Republic of)"
    , "598" : "Uruguay (Eastern Republic of)"
    , "599" : "Bonaire, Curaçao, Saint Eustatius and Saba"
    ,  "60" : "Malaysia"
    ,  "61" : "Australia"
    ,  "62" : "Indonesia (Republic of)"
    ,  "63" : "Philippines (Republic of the)"
    ,  "64" : "New Zealand"
    ,  "65" : "Singapore (Republic of)"
    ,  "66" : "Thailand"
    , "670" : "Democratic Republic of Timor-Leste"
    , "672" : "Australian External Territories"
    , "673" : "Brunei Darussalam"
    , "674" : "Nauru (Republic of)"
    , "675" : "Papua New Guinea"
    , "676" : "Tonga (Kingdom of)"
    , "677" : "Solomon Islands"
    , "678" : "Vanuatu (Republic of)"
    , "679" : "Fiji (Republic of)"
    , "680" : "Palau (Republic of)"
    , "681" : "Wallis and Futuna (Territoire français d'outre-mer)"
    , "682" : "Cook Islands"
    , "683" : "Niue"
    , "685" : "Samoa (Independent State of)"
    , "686" : "Kiribati (Republic of)"
    , "687" : "New Caledonia (Territoire français d'outre-mer)"
    , "688" : "Tuvalu"
    , "689" : "French Polynesia (Territoire français d'outre-mer)"
    , "690" : "Tokelau"
    , "691" : "Micronesia (Federated States of)"
    , "692" : "Marshall Islands (Republic of the)"
    ,   "7" : "Russian Federation, Kazakhstan"
    ,  "81" : "Japan"
    ,  "82" : "Korea (Republic of)"
    ,  "84" : "Viet Nam (Socialist Republic of)"
    , "850" : "Democratic People's Republic of Korea"
    , "852" : "Hong Kong, China"
    , "853" : "Macao, China"
    , "855" : "Cambodia (Kingdom of)"
    , "856" : "Lao People's Democratic Republic"
    ,  "86" : "China (People's Republic of)"
    , "870" : "Inmarsat SNAC"
    , "880" : "Bangladesh (People's Republic of)"
    , "881" : "Global Mobile Satellite System (GMSS), shared code"
    , "886" : "Taiwan, China"
    ,  "90" : "Turkey"
    ,  "91" : "India (Republic of)"
    ,  "92" : "Pakistan (Islamic Republic of)"
    ,  "93" : "Afghanistan"
    ,  "94" : "Sri Lanka (Democratic Socialist Republic of)"
    ,  "95" : "Myanmar (the Republic of the Union of)"
    , "960" : "Maldives (Republic of)"
    , "961" : "Lebanon"
    , "962" : "Jordan (Hashemite Kingdom of)"
    , "963" : "Syrian Arab Republic"
    , "964" : "Iraq (Republic of)"
    , "965" : "Kuwait (State of)"
    , "966" : "Saudi Arabia (Kingdom of)"
    , "967" : "Yemen (Republic of)"
    , "968" : "Oman (Sultanate of)"
    , "971" : "United Arab Emirates"
    , "972" : "Israel (State of)"
    , "973" : "Bahrain (Kingdom of)"
    , "974" : "Qatar (State of)"
    , "975" : "Bhutan (Kingdom of)"
    , "976" : "Mongolia"
    , "977" : "Nepal (Federal Democratic Republic of)"
    ,  "98" : "Iran (Islamic Republic of)"
    , "992" : "Tajikistan (Republic of)"
    , "993" : "Turkmenistan"
    , "994" : "Azerbaijani Republic"
    , "995" : "Georgia"
    , "996" : "Kyrgyz Republic"
    , "998" : "Uzbekistan (Republic of)"
    }

cc_no_country_map = \
    { "210" : "Spare code"
    , "214" : "Spare code"
    , "215" : "Spare code"
    , "217" : "Spare code"
    , "219" : "Spare code"
    , "259" : "Spare code"
    , "280" : "Spare code"
    , "281" : "Spare code"
    , "282" : "Spare code"
    , "283" : "Spare code"
    , "284" : "Spare code"
    , "285" : "Spare code"
    , "286" : "Spare code"
    , "287" : "Spare code"
    , "288" : "Spare code"
    , "289" : "Spare code"
    , "292" : "Spare code"
    , "293" : "Spare code"
    , "294" : "Spare code"
    , "295" : "Spare code"
    , "296" : "Spare code"
    , "383" : "Spare code"
    , "384" : "Spare code"
    , "422" : "Spare code"
    , "424" : "Spare code"
    , "425" : "Spare code"
    , "426" : "Spare code"
    , "427" : "Spare code"
    , "428" : "Spare code"
    , "429" : "Spare code"
    , "671" : "Spare code"
    , "684" : "Spare code"
    , "693" : "Spare code"
    , "694" : "Spare code"
    , "695" : "Spare code"
    , "696" : "Spare code"
    , "697" : "Spare code"
    , "698" : "Spare code"
    , "699" : "Spare code"
    , "800" : "International Freephone Service"
    , "801" : "Spare code"
    , "802" : "Spare code"
    , "803" : "Spare code"
    , "804" : "Spare code"
    , "805" : "Spare code"
    , "806" : "Spare code"
    , "807" : "Spare code"
    , "808" : "International Shared Cost Service (ISCS)"
    , "809" : "Spare code"
    , "830" : "Spare code"
    , "831" : "Spare code"
    , "832" : "Spare code"
    , "833" : "Spare code"
    , "834" : "Spare code"
    , "835" : "Spare code"
    , "836" : "Spare code"
    , "837" : "Spare code"
    , "838" : "Spare code"
    , "839" : "Spare code"
    , "851" : "Spare code"
    , "854" : "Spare code"
    , "857" : "Spare code"
    , "858" : "Spare code"
    , "859" : "Spare code"
    , "871" : "Spare code"
    , "872" : "Spare code"
    , "873" : "Spare code"
    , "874" : "Spare code"
    , "875" : "Reserved - Maritime Mobile Service Applications"
    , "876" : "Reserved - Maritime Mobile Service Applications"
    , "877" : "Reserved - Maritime Mobile Service Applications"
    , "878" : "Universal Personal Telecommunication Service (UPT)"
    , "879" : "Reserved for national non-commercial purposes"
    , "882" : "International Networks, shared code"
    , "883" : "International Networks, shared code p,"
    , "884" : "Spare code"
    , "885" : "Spare code"
    , "887" : "Spare code"
    , "888" : "Telecommunications for Disaster Relief (TDR)"
    , "889" : "Spare code"
    , "890" : "Spare code"
    , "891" : "Spare code"
    , "892" : "Spare code"
    , "893" : "Spare code"
    , "894" : "Spare code"
    , "895" : "Spare code"
    , "896" : "Spare code"
    , "897" : "Spare code"
    , "898" : "Spare code"
    , "899" : "Spare code"
    , "969" : "Reserved - reservation currently under investigation"
    , "970" : "Reserved"
    , "978" : "Spare code"
    , "979" : "International Premium Rate Service (IPRS)"
    , "990" : "Spare code"
    , "991" : "Trial of a proposed new international telecommunication public correspondence service, shared code"
    , "997" : "Spare code"
    }

if __name__ != "__main__" :
    GTW.OMP.PAP.E164._Export ("*")
### __END__ GTW.OMP.PAP.E164.cc_data
