Example #1
0
        public LocationsSource(AsmInfo asminfo)
        {
            this.asminfo = asminfo;
            this.file = asminfo.GetSerializePath(Constants.LocationListFilename);

            try {
                list = GetStoredList();
            } catch {
                Controller.SplashQueue.Enqueue("Building location list"); // report fallthrough
                list = LocationListData.GetStandardList();
            }

            // sort keys
            List<string> keylist = new List<string>();
            foreach (string name in list.Keys) {
                keylist.Add(name);
            }
            keylist.Sort();

            locations_list = keylist;
        }
Example #2
0
 public static LocationList GetStandardList()
 {
     LocationList list = new LocationList();
     list.Add("A Coruna (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 43, 19, 48,
             PositionDirection.West, 8, 25, 12));
     list.Add("Aachen (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 50, 46, 12,
             PositionDirection.East, 6, 5, 24));
     list.Add("Aba (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 5, 6, 0,
             PositionDirection.East, 7, 21, 0));
     list.Add("Abadan (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 30, 19, 48,
             PositionDirection.East, 48, 16, 48));
     list.Add("Abakaliki (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 6, 19, 12,
             PositionDirection.East, 8, 6, 35));
     list.Add("Abeokuta (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 7, 9, 36,
             PositionDirection.East, 3, 21, 0));
     list.Add("Abha (Sau)", "Asia/Riyadh",
         new Position(PositionDirection.North, 18, 13, 48,
             PositionDirection.East, 42, 30, 0));
     list.Add("Abidjan (Ivo)", "Africa/Abidjan",
         new Position(PositionDirection.North, 5, 19, 48,
             PositionDirection.West, 4, 1, 48));
     list.Add("Abomey-Calavi (Ben)", "Africa/Porto-Novo",
         new Position(PositionDirection.North, 6, 26, 24,
             PositionDirection.East, 2, 21, 36));
     list.Add("Abu Dhabi (UAE)", "Asia/Dubai",
         new Position(PositionDirection.North, 24, 28, 48,
             PositionDirection.East, 54, 22, 12));
     list.Add("Abuja (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 9, 3, 36,
             PositionDirection.East, 7, 29, 24));
     list.Add("Acapulco (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 16, 51, 0,
             PositionDirection.West, 99, 55, 12));
     list.Add("Acarigua (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 9, 34, 48,
             PositionDirection.West, 69, 12, 0));
     list.Add("Accra (Gha)", "Africa/Accra",
         new Position(PositionDirection.North, 5, 33, 36,
             PositionDirection.West, 0, 12, 0));
     list.Add("Ad Diwaniyah (Ira)", "Asia/Baghdad",
         new Position(PositionDirection.North, 31, 59, 24,
             PositionDirection.East, 44, 55, 48));
     list.Add("Ad Du'ayn (Sud)", "Africa/Khartoum",
         new Position(PositionDirection.North, 11, 25, 48,
             PositionDirection.East, 26, 9, 36));
     list.Add("Adana (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 37, 0, 0,
             PositionDirection.East, 35, 19, 12));
     list.Add("Adapazari (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 40, 47, 24,
             PositionDirection.East, 30, 24, 36));
     list.Add("Addis Abeba (Eth)", "Africa/Addis_Ababa",
         new Position(PositionDirection.North, 9, 1, 47,
             PositionDirection.East, 38, 44, 24));
     list.Add("Adelaide (Aus)", "Australia/Adelaide",
         new Position(PositionDirection.South, 34, 55, 48,
             PositionDirection.East, 138, 36, 0));
     list.Add("Aden (Yem)", "Asia/Aden",
         new Position(PositionDirection.North, 0, 0, 0,
             PositionDirection.East, 99, 59, 24));
     list.Add("Ado (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 7, 37, 48,
             PositionDirection.East, 5, 13, 12));
     list.Add("Agadir (Mor)", "Africa/Casablanca",
         new Position(PositionDirection.North, 30, 25, 12,
             PositionDirection.West, 9, 36, 36));
     list.Add("Agartala (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 23, 50, 24,
             PositionDirection.East, 91, 16, 12));
     list.Add("Ageo (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 57, 0,
             PositionDirection.East, 139, 36, 36));
     list.Add("Agra (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 27, 11, 24,
             PositionDirection.East, 78, 0, 36));
     list.Add("Aguascalientes (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 21, 52, 48,
             PositionDirection.West, 102, 18, 0));
     list.Add("Ahmadabad (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 23, 1, 48,
             PositionDirection.East, 72, 34, 48));
     list.Add("Ahmadnagar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 19, 6, 0,
             PositionDirection.East, 74, 44, 24));
     list.Add("Ahvaz (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 31, 16, 48,
             PositionDirection.East, 48, 43, 12));
     list.Add("Aizawl (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 23, 42, 36,
             PositionDirection.East, 92, 42, 36));
     list.Add("Ajman (UAE)", "Asia/Dubai",
         new Position(PositionDirection.North, 25, 25, 12,
             PositionDirection.East, 55, 25, 48));
     list.Add("Ajmer (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 26, 27, 0,
             PositionDirection.East, 74, 38, 24));
     list.Add("Akashi (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 39, 35,
             PositionDirection.East, 134, 58, 47));
     list.Add("Akita (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 39, 42, 36,
             PositionDirection.East, 140, 6, 36));
     list.Add("Akola (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 20, 42, 36,
             PositionDirection.East, 77, 0, 0));
     list.Add("Akrehamn-Vedavagen (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 15, 36,
             PositionDirection.East, 5, 12, 0));
     list.Add("Akron (USA)", "America/New_York",
         new Position(PositionDirection.North, 41, 4, 48,
             PositionDirection.West, 81, 31, 12));
     list.Add("Aksu (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 41, 9, 0,
             PositionDirection.East, 80, 15, 0));
     list.Add("Akure (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 7, 15, 0,
             PositionDirection.East, 5, 11, 24));
     list.Add("Al 'Aziziyah (Lib)", "Africa/Tripoli",
         new Position(PositionDirection.North, 32, 31, 48,
             PositionDirection.East, 13, 1, 12));
     list.Add("Al 'AziziyahHudaydah (Yem)", "Asia/Aden",
         new Position(PositionDirection.North, 0, 0, 0,
             PositionDirection.East, 99, 59, 24));
     list.Add("Al 'AziziyahJubayl (Sau)", "Asia/Riyadh",
         new Position(PositionDirection.North, 27, 0, 36,
             PositionDirection.East, 49, 39, 0));
     list.Add("Al Ain (UAE)", "Asia/Dubai",
         new Position(PositionDirection.North, 24, 13, 48,
             PositionDirection.East, 55, 44, 24));
     list.Add("Al Fasir (Sud)", "Africa/Khartoum",
         new Position(PositionDirection.North, 13, 37, 48,
             PositionDirection.East, 25, 21, 0));
     list.Add("Al Hillah (Ira)", "Asia/Baghdad",
         new Position(PositionDirection.North, 32, 28, 47,
             PositionDirection.East, 44, 25, 48));
     list.Add("Al Khums (Lib)", "Africa/Tripoli",
         new Position(PositionDirection.North, 32, 39, 35,
             PositionDirection.East, 14, 15, 36));
     list.Add("Al Khurtum Bahri (Sud)", "Africa/Khartoum",
         new Position(PositionDirection.North, 15, 38, 24,
             PositionDirection.East, 32, 31, 12));
     list.Add("Al Qadarif (Sud)", "Africa/Khartoum",
         new Position(PositionDirection.North, 14, 2, 24,
             PositionDirection.East, 35, 22, 48));
     list.Add("Al-Jilfah (Alg)", "Africa/Algiers",
         new Position(PositionDirection.North, 34, 40, 48,
             PositionDirection.East, 3, 15, 0));
     list.Add("Al-Kharj (Sau)", "Asia/Riyadh",
         new Position(PositionDirection.North, 24, 9, 0,
             PositionDirection.East, 47, 18, 36));
     list.Add("Al-Ladiqiyah (Syr)", "Asia/Damascus",
         new Position(PositionDirection.North, 35, 32, 24,
             PositionDirection.East, 35, 46, 48));
     list.Add("Al-Mubarraz (Sau)", "Asia/Riyadh",
         new Position(PositionDirection.North, 25, 25, 48,
             PositionDirection.East, 49, 34, 12));
     list.Add("Al-Ubayyid (Sud)", "Africa/Khartoum",
         new Position(PositionDirection.North, 13, 11, 24,
             PositionDirection.East, 30, 13, 12));
     list.Add("Alacant (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 38, 21, 0,
             PositionDirection.West, 0, 28, 48));
     list.Add("Albuquerque (USA)", "America/Denver",
         new Position(PositionDirection.North, 35, 7, 11,
             PositionDirection.West, 106, 37, 12));
     list.Add("Alcala de Henares (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 40, 28, 48,
             PositionDirection.West, 3, 22, 12));
     list.Add("Aleppo (Syr)", "Asia/Damascus",
         new Position(PositionDirection.North, 36, 13, 47,
             PositionDirection.East, 37, 10, 12));
     list.Add("Alesund (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 62, 28, 48,
             PositionDirection.East, 6, 12, 0));
     list.Add("Alexandria (Egy)", "Africa/Cairo",
         new Position(PositionDirection.North, 31, 13, 12,
             PositionDirection.East, 29, 57, 0));
     list.Add("Algard-Figgjo (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 58, 46, 12,
             PositionDirection.East, 5, 51, 0));
     list.Add("Algiers (Alg)", "Africa/Algiers",
         new Position(PositionDirection.North, 36, 46, 12,
             PositionDirection.East, 3, 2, 24));
     list.Add("Aligarh (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 27, 53, 24,
             PositionDirection.East, 78, 3, 36));
     list.Add("Allahabad (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 25, 27, 0,
             PositionDirection.East, 81, 50, 24));
     list.Add("Almaty (Kaz)", "Asia/Almaty",
         new Position(PositionDirection.North, 43, 19, 12,
             PositionDirection.East, 76, 55, 12));
     list.Add("Alor Setar (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 6, 6, 36,
             PositionDirection.East, 100, 22, 12));
     list.Add("Alta (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 69, 58, 48,
             PositionDirection.East, 23, 16, 12));
     list.Add("Alvorada (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 30, 1, 12,
             PositionDirection.West, 51, 5, 24));
     list.Add("Alwar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 27, 33, 36,
             PositionDirection.East, 76, 36, 0));
     list.Add("Amagasaki (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 42, 36,
             PositionDirection.East, 135, 24, 36));
     list.Add("Amarah (Ira)", "Asia/Baghdad",
         new Position(PositionDirection.North, 31, 50, 24,
             PositionDirection.East, 47, 9, 0));
     list.Add("Ambattur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 13, 6, 36,
             PositionDirection.East, 80, 10, 12));
     list.Add("Ambon (Ind)", "Asia/Jayapura",
         new Position(PositionDirection.South, 3, 42, 0,
             PositionDirection.East, 128, 9, 36));
     list.Add("Americana (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 22, 45, 0,
             PositionDirection.West, 47, 19, 48));
     list.Add("Amman (Jor)", "Asia/Amman",
         new Position(PositionDirection.North, 31, 57, 0,
             PositionDirection.East, 35, 55, 48));
     list.Add("Amot-Geithus (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 54, 0,
             PositionDirection.East, 9, 54, 0));
     list.Add("Ampang Jaya (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 3, 9, 0,
             PositionDirection.East, 101, 46, 12));
     list.Add("Amravati (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 20, 57, 0,
             PositionDirection.East, 77, 45, 36));
     list.Add("Amritsar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 31, 38, 24,
             PositionDirection.East, 74, 52, 12));
     list.Add("Amsterdam (Net)", "Europe/Amsterdam",
         new Position(PositionDirection.North, 52, 22, 12,
             PositionDirection.East, 4, 53, 24));
     list.Add("Anaheim (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 33, 50, 24,
             PositionDirection.West, 117, 52, 12));
     list.Add("Ananindeua (Bra)", "America/Belem",
         new Position(PositionDirection.South, 1, 22, 48,
             PositionDirection.West, 48, 22, 48));
     list.Add("Anantapur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 14, 42, 0,
             PositionDirection.East, 77, 35, 24));
     list.Add("Anapolis (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 16, 19, 12,
             PositionDirection.West, 48, 57, 36));
     list.Add("Anchorage (USA)", "America/Anchorage",
         new Position(PositionDirection.North, 61, 10, 48,
             PositionDirection.West, 149, 11, 24));
     list.Add("Andijon (Uzb)", "Asia/Tashkent",
         new Position(PositionDirection.North, 40, 47, 24,
             PositionDirection.East, 72, 20, 24));
     list.Add("Angarsk (Rus)", "Asia/Irkutsk",
         new Position(PositionDirection.North, 52, 34, 12,
             PositionDirection.East, 103, 54, 36));
     list.Add("Angeles (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 15, 9, 0,
             PositionDirection.East, 120, 33, 0));
     list.Add("Ankara (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 39, 55, 48,
             PositionDirection.East, 32, 51, 0));
     list.Add("Annabah (Alg)", "Africa/Algiers",
         new Position(PositionDirection.North, 36, 54, 36,
             PositionDirection.East, 7, 45, 36));
     list.Add("Anqing (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 30, 30, 0,
             PositionDirection.East, 117, 3, 0));
     list.Add("Ansan (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 37, 21, 0,
             PositionDirection.East, 126, 51, 36));
     list.Add("Anshan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 41, 7, 12,
             PositionDirection.East, 122, 57, 0));
     list.Add("Anshun (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 26, 15, 0,
             PositionDirection.East, 105, 55, 48));
     list.Add("Antalya (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 36, 53, 24,
             PositionDirection.East, 30, 42, 36));
     list.Add("Antananarivo (Mad)", "Indian/Antananarivo",
         new Position(PositionDirection.South, 18, 53, 24,
             PositionDirection.East, 47, 30, 36));
     list.Add("Antipolo (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 14, 35, 24,
             PositionDirection.East, 121, 10, 48));
     list.Add("Antofagasta (Chi)", "America/Santiago",
         new Position(PositionDirection.South, 23, 39, 0,
             PositionDirection.West, 70, 23, 24));
     list.Add("Antwerp (Bel)", "Europe/Brussels",
         new Position(PositionDirection.North, 51, 13, 12,
             PositionDirection.East, 4, 25, 12));
     list.Add("Anyang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 36, 4, 48,
             PositionDirection.East, 114, 21, 0));
     list.Add("Anyang (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 37, 23, 24,
             PositionDirection.East, 126, 55, 12));
     list.Add("Aomori (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 40, 49, 48,
             PositionDirection.East, 140, 44, 24));
     list.Add("Aparecida de Goiania (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 16, 49, 12,
             PositionDirection.West, 49, 14, 24));
     list.Add("Apodaca (Mex)", "America/Monterrey",
         new Position(PositionDirection.North, 25, 46, 12,
             PositionDirection.West, 100, 10, 48));
     list.Add("Aqtobe (Kaz)", "Asia/Aqtobe",
         new Position(PositionDirection.North, 50, 16, 48,
             PositionDirection.East, 57, 10, 12));
     list.Add("Ar Rayyan (Qat)", "Asia/Qatar",
         new Position(PositionDirection.North, 25, 19, 12,
             PositionDirection.East, 51, 22, 12));
     list.Add("Ar-Russayfah (Jor)", "Asia/Amman",
         new Position(PositionDirection.North, 32, 1, 12,
             PositionDirection.East, 36, 1, 12));
     list.Add("Aracaju (Bra)", "America/Maceio",
         new Position(PositionDirection.South, 10, 54, 36,
             PositionDirection.West, 37, 4, 12));
     list.Add("Arak (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 34, 4, 48,
             PositionDirection.East, 49, 42, 0));
     list.Add("Ardabil (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 38, 15, 0,
             PositionDirection.East, 48, 18, 0));
     list.Add("Arendal (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 58, 27, 36,
             PositionDirection.East, 8, 45, 36));
     list.Add("Arequipa (Per)", "America/Lima",
         new Position(PositionDirection.South, 16, 23, 24,
             PositionDirection.West, 71, 31, 48));
     list.Add("Arhus (Den)", "Europe/Copenhagen",
         new Position(PositionDirection.North, 56, 9, 0,
             PositionDirection.East, 10, 13, 12));
     list.Add("Arkhangelsk (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 64, 34, 11,
             PositionDirection.East, 40, 31, 48));
     list.Add("Arlington (USA)", "America/Chicago",
         new Position(PositionDirection.North, 32, 41, 23,
             PositionDirection.West, 97, 7, 48));
     list.Add("Armenia (Col)", "America/Bogota",
         new Position(PositionDirection.North, 4, 31, 48,
             PositionDirection.West, 75, 41, 24));
     list.Add("Arrah (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 25, 33, 36,
             PositionDirection.East, 84, 39, 36));
     list.Add("Arusha (Tan)", "Africa/Dar_es_Salaam",
         new Position(PositionDirection.South, 3, 21, 36,
             PositionDirection.East, 36, 40, 12));
     list.Add("Aryanah (Tun)", "Africa/Tunis",
         new Position(PositionDirection.North, 36, 52, 48,
             PositionDirection.East, 10, 10, 48));
     list.Add("As (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 40, 12,
             PositionDirection.East, 10, 46, 48));
     list.Add("As Sib (Oma)", "Asia/Muscat",
         new Position(PositionDirection.North, 23, 40, 12,
             PositionDirection.East, 58, 11, 24));
     list.Add("Asaba (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 6, 12, 0,
             PositionDirection.East, 6, 43, 12));
     list.Add("Asahikawa (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 43, 46, 12,
             PositionDirection.East, 142, 21, 36));
     list.Add("Asansol (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 23, 41, 24,
             PositionDirection.East, 86, 58, 48));
     list.Add("Asgabat (Tur)", "Asia/Ashgabat",
         new Position(PositionDirection.North, 37, 57, 0,
             PositionDirection.East, 58, 22, 48));
     list.Add("Ashdod (Isr)", "Asia/Tel_Aviv",
         new Position(PositionDirection.North, 31, 48, 0,
             PositionDirection.East, 34, 38, 24));
     list.Add("Ashiaman (Gha)", "Africa/Accra",
         new Position(PositionDirection.North, 5, 42, 0,
             PositionDirection.West, 0, 19, 48));
     list.Add("Askim (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 34, 48,
             PositionDirection.East, 11, 9, 36));
     list.Add("Askoy (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 60, 24, 0,
             PositionDirection.East, 5, 10, 48));
     list.Add("Asmara (Eri)", "Africa/Asmara",
         new Position(PositionDirection.North, 15, 19, 48,
             PositionDirection.East, 38, 56, 24));
     list.Add("Astana (Kaz)", "Asia/Almaty",
         new Position(PositionDirection.North, 51, 10, 12,
             PositionDirection.East, 71, 28, 12));
     list.Add("Astrakhan (Rus)", "Europe/Volgograd",
         new Position(PositionDirection.North, 46, 21, 0,
             PositionDirection.East, 48, 3, 0));
     list.Add("Asuncion (Par)", "America/Asuncion",
         new Position(PositionDirection.South, 25, 18, 0,
             PositionDirection.West, 57, 37, 48));
     list.Add("Aswan (Egy)", "Africa/Cairo",
         new Position(PositionDirection.North, 24, 4, 48,
             PositionDirection.East, 32, 55, 12));
     list.Add("Asyut (Egy)", "Africa/Cairo",
         new Position(PositionDirection.North, 27, 11, 24,
             PositionDirection.East, 31, 10, 48));
     list.Add("Athens (Gre)", "Europe/Athens",
         new Position(PositionDirection.North, 37, 58, 48,
             PositionDirection.East, 23, 43, 48));
     list.Add("Atlanta (USA)", "Asia/Tbilisi",
         new Position(PositionDirection.North, 33, 45, 36,
             PositionDirection.West, 84, 25, 12));
     list.Add("Atsugi (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 27, 0,
             PositionDirection.East, 139, 21, 36));
     list.Add("Auckland (NZ)", "Pacific/Auckland",
         new Position(PositionDirection.South, 36, 51, 0,
             PositionDirection.East, 174, 45, 36));
     list.Add("Augsburg (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 48, 21, 36,
             PositionDirection.East, 10, 53, 24));
     list.Add("Aurangabad (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 19, 53, 24,
             PositionDirection.East, 75, 19, 12));
     list.Add("Aurora (USA)", "America/Denver",
         new Position(PositionDirection.North, 39, 42, 36,
             PositionDirection.West, 104, 43, 48));
     list.Add("Austin (USA)", "America/Chicago",
         new Position(PositionDirection.North, 30, 18, 36,
             PositionDirection.West, 97, 45, 0));
     list.Add("Avadi (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 13, 7, 12,
             PositionDirection.East, 80, 6, 36));
     list.Add("Babol (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 36, 31, 48,
             PositionDirection.East, 52, 42, 0));
     list.Add("Babrujsk (Bel)", "Europe/Minsk",
         new Position(PositionDirection.North, 53, 7, 48,
             PositionDirection.East, 29, 11, 24));
     list.Add("Bacolod (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 10, 37, 48,
             PositionDirection.East, 122, 58, 12));
     list.Add("Bacoor (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 14, 27, 36,
             PositionDirection.East, 120, 56, 24));
     list.Add("Badalona (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 41, 27, 0,
             PositionDirection.East, 2, 14, 24));
     list.Add("Bafoussam (Cam)", "Africa/Douala",
         new Position(PositionDirection.North, 5, 29, 24,
             PositionDirection.East, 10, 24, 36));
     list.Add("Bagdad (Ira)", "Asia/Baghdad",
         new Position(PositionDirection.North, 33, 19, 48,
             PositionDirection.East, 44, 26, 24));
     list.Add("Bago (Mya)", "Asia/Rangoon",
         new Position(PositionDirection.North, 17, 19, 47,
             PositionDirection.East, 96, 30, 0));
     list.Add("Baguio (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 16, 25, 48,
             PositionDirection.East, 120, 34, 12));
     list.Add("Bahawalpur (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 29, 23, 24,
             PositionDirection.East, 71, 40, 12));
     list.Add("Bahia Blanca (Arg)", "America/Argentina/Buenos_Aires",
         new Position(PositionDirection.South, 38, 43, 12,
             PositionDirection.West, 62, 16, 48));
     list.Add("Baicheng (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 45, 37, 12,
             PositionDirection.East, 122, 49, 12));
     list.Add("Bakersfield (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 35, 21, 36,
             PositionDirection.West, 119, 0, 0));
     list.Add("Baku (Aze)", "Asia/Baku",
         new Position(PositionDirection.North, 40, 23, 24,
             PositionDirection.East, 49, 51, 36));
     list.Add("Balikesir (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 39, 39, 0,
             PositionDirection.East, 27, 52, 48));
     list.Add("Balikpapan (Ind)", "Asia/Pontianak",
         new Position(PositionDirection.South, 1, 15, 36,
             PositionDirection.East, 116, 49, 48));
     list.Add("Bally (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 39, 0,
             PositionDirection.East, 88, 21, 0));
     list.Add("Baltimore (USA)", "America/New_York",
         new Position(PositionDirection.North, 39, 18, 0,
             PositionDirection.West, 76, 36, 36));
     list.Add("Bamako (Mal)", "Africa/Bamako",
         new Position(PositionDirection.North, 12, 39, 0,
             PositionDirection.West, 7, 59, 24));
     list.Add("Bamenda (Cam)", "Africa/Douala",
         new Position(PositionDirection.North, 5, 57, 36,
             PositionDirection.East, 10, 9, 0));
     list.Add("Banda Aceh (Ind)", "Asia/Pontianak",
         new Position(PositionDirection.North, 5, 33, 0,
             PositionDirection.East, 95, 19, 12));
     list.Add("Bandar Abbas (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 27, 15, 0,
             PositionDirection.East, 56, 15, 0));
     list.Add("Bandar Lampung (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 5, 26, 24,
             PositionDirection.East, 105, 16, 12));
     list.Add("Bandung (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 54, 36,
             PositionDirection.East, 107, 36, 0));
     list.Add("Bangalore (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 12, 58, 12,
             PositionDirection.East, 77, 33, 36));
     list.Add("Bangkok (Tha)", "Asia/Bangkok",
         new Position(PositionDirection.North, 13, 43, 48,
             PositionDirection.East, 100, 30, 0));
     list.Add("Bangui (Cen)", "Africa/Bangui",
         new Position(PositionDirection.North, 4, 21, 36,
             PositionDirection.East, 18, 33, 36));
     list.Add("Banja Luka (Bos)", "Europe/Sarajevo",
         new Position(PositionDirection.North, 44, 46, 48,
             PositionDirection.East, 17, 11, 24));
     list.Add("Banjarmasin (Ind)", "Asia/Makassar",
         new Position(PositionDirection.South, 3, 19, 48,
             PositionDirection.East, 114, 35, 24));
     list.Add("Banqiao (Tai)", "Asia/Taipei",
         new Position(PositionDirection.North, 25, 1, 12,
             PositionDirection.East, 121, 26, 24));
     list.Add("Baoding (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 38, 52, 12,
             PositionDirection.East, 115, 28, 48));
     list.Add("Baoji (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 34, 22, 48,
             PositionDirection.East, 107, 9, 0));
     list.Add("Baotou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 40, 36, 0,
             PositionDirection.East, 110, 3, 0));
     list.Add("Baqubah (Ira)", "Asia/Baghdad",
         new Position(PositionDirection.North, 33, 44, 24,
             PositionDirection.East, 44, 39, 0));
     list.Add("Baranagar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 38, 24,
             PositionDirection.East, 88, 22, 12));
     list.Add("Barcelona (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 41, 24, 0,
             PositionDirection.East, 2, 10, 12));
     list.Add("Barcelona (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 10, 7, 48,
             PositionDirection.West, 64, 43, 12));
     list.Add("Barddhaman (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 23, 14, 24,
             PositionDirection.East, 87, 51, 36));
     list.Add("Bareli (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 28, 21, 36,
             PositionDirection.East, 79, 24, 36));
     list.Add("Bari (Ita)", "Europe/Rome",
         new Position(PositionDirection.North, 41, 7, 12,
             PositionDirection.East, 16, 52, 12));
     list.Add("Barinas (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 8, 36, 0,
             PositionDirection.West, 70, 15, 0));
     list.Add("Barisal (Ban)", "Asia/Dhaka",
         new Position(PositionDirection.North, 22, 42, 0,
             PositionDirection.East, 90, 22, 12));
     list.Add("Barnaul (Rus)", "Asia/Omsk",
         new Position(PositionDirection.North, 53, 21, 36,
             PositionDirection.East, 83, 45, 0));
     list.Add("Barquisimeto (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 10, 3, 0,
             PositionDirection.West, 69, 18, 0));
     list.Add("Barranquilla (Col)", "America/Bogota",
         new Position(PositionDirection.North, 10, 57, 36,
             PositionDirection.West, 74, 48, 0));
     list.Add("Barueri (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 29, 24,
             PositionDirection.West, 46, 51, 36));
     list.Add("Baruta (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 10, 25, 48,
             PositionDirection.West, 66, 52, 47));
     list.Add("Basra (Ira)", "Asia/Baghdad",
         new Position(PositionDirection.North, 30, 31, 48,
             PositionDirection.East, 47, 49, 12));
     list.Add("Bata (Equ)", "Africa/Malabo",
         new Position(PositionDirection.North, 1, 52, 12,
             PositionDirection.East, 9, 45, 36));
     list.Add("Batam (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.North, 1, 1, 48,
             PositionDirection.East, 103, 55, 12));
     list.Add("Batangas (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 13, 46, 48,
             PositionDirection.East, 121, 1, 12));
     list.Add("Bathinda (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 30, 10, 12,
             PositionDirection.East, 74, 58, 12));
     list.Add("Batman (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 37, 53, 24,
             PositionDirection.East, 41, 7, 48));
     list.Add("Batnah (Alg)", "Africa/Algiers",
         new Position(PositionDirection.North, 35, 34, 12,
             PositionDirection.East, 6, 10, 12));
     list.Add("Baton Rouge (USA)", "America/Chicago",
         new Position(PositionDirection.North, 30, 27, 0,
             PositionDirection.West, 91, 7, 48));
     list.Add("Bauchi (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 10, 18, 36,
             PositionDirection.East, 9, 50, 24));
     list.Add("Bauru (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 22, 19, 48,
             PositionDirection.West, 49, 4, 48));
     list.Add("Beihai (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 21, 28, 48,
             PositionDirection.East, 109, 6, 0));
     list.Add("Beijing (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 39, 55, 48,
             PositionDirection.East, 116, 24, 0));
     list.Add("Beira (Moz)", "Africa/Maputo",
         new Position(PositionDirection.South, 19, 49, 48,
             PositionDirection.East, 34, 50, 24));
     list.Add("Beirut (Leb)", "Asia/Beirut",
         new Position(PositionDirection.North, 33, 53, 24,
             PositionDirection.East, 35, 30, 0));
     list.Add("Bekasi (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 13, 12,
             PositionDirection.East, 106, 58, 12));
     list.Add("Belem (Bra)", "America/Belem",
         new Position(PositionDirection.South, 1, 26, 24,
             PositionDirection.West, 48, 30, 0));
     list.Add("Belfast (UK)", "Europe/London",
         new Position(PositionDirection.North, 54, 36, 0,
             PositionDirection.West, 5, 55, 48));
     list.Add("Belford Roxo (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 22, 45, 0,
             PositionDirection.West, 43, 25, 12));
     list.Add("Belgaum (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 15, 51, 36,
             PositionDirection.East, 74, 30, 0));
     list.Add("Belgorod (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 50, 36, 36,
             PositionDirection.East, 36, 35, 24));
     list.Add("Belgrade (Ser)", "Europe/Belgrade",
         new Position(PositionDirection.North, 0, 0, 0,
             PositionDirection.East, 99, 59, 24));
     list.Add("Bellary (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 15, 8, 24,
             PositionDirection.East, 76, 54, 36));
     list.Add("Bello (Col)", "America/Bogota",
         new Position(PositionDirection.North, 6, 19, 48,
             PositionDirection.West, 75, 34, 12));
     list.Add("Belo Horizonte (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 19, 55, 12,
             PositionDirection.West, 43, 56, 24));
     list.Add("Bengbu (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 32, 57, 0,
             PositionDirection.East, 117, 19, 48));
     list.Add("Benghazi (Lib)", "Africa/Tripoli",
         new Position(PositionDirection.North, 32, 7, 11,
             PositionDirection.East, 20, 4, 12));
     list.Add("Bengkulu (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 3, 48, 0,
             PositionDirection.East, 102, 15, 0));
     list.Add("Beni Suef (Egy)", "Africa/Cairo",
         new Position(PositionDirection.North, 29, 4, 48,
             PositionDirection.East, 31, 5, 24));
     list.Add("Benin (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 6, 20, 24,
             PositionDirection.East, 5, 37, 12));
     list.Add("Benoni (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 26, 9, 0,
             PositionDirection.East, 28, 19, 48));
     list.Add("Benxi (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 41, 19, 48,
             PositionDirection.East, 123, 45, 0));
     list.Add("Bergen (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 60, 22, 48,
             PositionDirection.East, 5, 20, 24));
     list.Add("Berlin (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 52, 31, 12,
             PositionDirection.East, 13, 22, 48));
     list.Add("Bertoua (Cam)", "Africa/Douala",
         new Position(PositionDirection.North, 4, 34, 48,
             PositionDirection.East, 13, 40, 48));
     list.Add("Betim (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 19, 58, 12,
             PositionDirection.West, 44, 11, 24));
     list.Add("Bhagalpur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 25, 15, 36,
             PositionDirection.East, 86, 58, 48));
     list.Add("Bhalswa Jahangirpur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 28, 44, 24,
             PositionDirection.East, 77, 10, 12));
     list.Add("Bharatpur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 27, 13, 48,
             PositionDirection.East, 77, 29, 24));
     list.Add("Bhatpara (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 53, 24,
             PositionDirection.East, 88, 25, 12));
     list.Add("Bhavnagar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 21, 47, 24,
             PositionDirection.East, 72, 7, 47));
     list.Add("Bhilai (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 21, 12, 36,
             PositionDirection.East, 81, 22, 48));
     list.Add("Bhilwara (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 25, 21, 0,
             PositionDirection.East, 74, 37, 48));
     list.Add("Bhiwandi (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 19, 18, 0,
             PositionDirection.East, 73, 3, 0));
     list.Add("Bhiwani (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 28, 48, 36,
             PositionDirection.East, 76, 7, 12));
     list.Add("Bhopal (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 23, 14, 24,
             PositionDirection.East, 77, 24, 0));
     list.Add("Bhubaneswar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 20, 16, 12,
             PositionDirection.East, 85, 50, 24));
     list.Add("Bialystok (Pol)", "Europe/Warsaw",
         new Position(PositionDirection.North, 53, 8, 24,
             PositionDirection.East, 23, 9, 36));
     list.Add("Bidar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 17, 55, 12,
             PositionDirection.East, 77, 31, 12));
     list.Add("Bidhannagar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 34, 12,
             PositionDirection.East, 88, 25, 12));
     list.Add("Bielefeld (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 52, 1, 48,
             PositionDirection.East, 8, 31, 47));
     list.Add("Bien Hoa (Vie)", "Asia/Ho_Chi_Minh",
         new Position(PositionDirection.North, 10, 57, 0,
             PositionDirection.East, 106, 49, 12));
     list.Add("Bihar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 25, 12, 36,
             PositionDirection.East, 85, 31, 12));
     list.Add("Bijapur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 16, 49, 47,
             PositionDirection.East, 75, 42, 36));
     list.Add("Bikaner (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 28, 1, 48,
             PositionDirection.East, 73, 19, 12));
     list.Add("Bila Tserkva (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 49, 46, 48,
             PositionDirection.East, 30, 7, 12));
     list.Add("Bilaspur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 5, 24,
             PositionDirection.East, 82, 9, 0));
     list.Add("Bilbao (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 43, 15, 0,
             PositionDirection.West, 2, 55, 48));
     list.Add("Binangonan (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 14, 28, 48,
             PositionDirection.East, 121, 11, 24));
     list.Add("Binjai (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.North, 3, 36, 0,
             PositionDirection.East, 98, 28, 48));
     list.Add("Birmingham (UK)", "Europe/London",
         new Position(PositionDirection.North, 52, 28, 48,
             PositionDirection.West, 1, 54, 36));
     list.Add("Birmingham (USA)", "America/Chicago",
         new Position(PositionDirection.North, 33, 31, 48,
             PositionDirection.West, 86, 48, 0));
     list.Add("Biskek (Kyr)", "Asia/Bishkek",
         new Position(PositionDirection.North, 42, 52, 12,
             PositionDirection.East, 74, 34, 12));
     list.Add("Biskrah (Alg)", "Africa/Algiers",
         new Position(PositionDirection.North, 34, 51, 36,
             PositionDirection.East, 5, 43, 48));
     list.Add("Bissau (Gui)", "Africa/Bissau",
         new Position(PositionDirection.North, 11, 52, 12,
             PositionDirection.West, 15, 36, 0));
     list.Add("Biysk (Rus)", "Asia/Omsk",
         new Position(PositionDirection.North, 52, 31, 48,
             PositionDirection.East, 85, 10, 12));
     list.Add("Blagoveshchensk (Rus)", "Asia/Yakutsk",
         new Position(PositionDirection.North, 50, 16, 12,
             PositionDirection.East, 127, 31, 48));
     list.Add("Blantyre (Mal)", "Africa/Blantyre",
         new Position(PositionDirection.South, 15, 47, 24,
             PositionDirection.East, 34, 59, 24));
     list.Add("Bloemfontein (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 29, 9, 0,
             PositionDirection.East, 26, 13, 48));
     list.Add("Blumenau (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 26, 55, 12,
             PositionDirection.West, 49, 5, 24));
     list.Add("Boa Vista (Bra)", "America/Boa_Vista",
         new Position(PositionDirection.North, 2, 49, 48,
             PositionDirection.West, 60, 39, 36));
     list.Add("Bobo Dioulasso (Bur)", "Africa/Ouagadougou",
         new Position(PositionDirection.North, 11, 10, 48,
             PositionDirection.West, 4, 17, 24));
     list.Add("Bochum (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 51, 28, 48,
             PositionDirection.East, 7, 12, 0));
     list.Add("Bodo (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 67, 17, 24,
             PositionDirection.East, 14, 22, 12));
     list.Add("Bogor (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 34, 48,
             PositionDirection.East, 106, 47, 24));
     list.Add("Bogora (Ban)", "Asia/Dhaka",
         new Position(PositionDirection.North, 24, 50, 24,
             PositionDirection.East, 89, 22, 12));
     list.Add("Bogota (Col)", "America/Bogota",
         new Position(PositionDirection.North, 4, 37, 48,
             PositionDirection.West, 74, 5, 24));
     list.Add("Bojong Gede (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 28, 48,
             PositionDirection.East, 107, 46, 48));
     list.Add("Bokaro (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 23, 46, 48,
             PositionDirection.East, 85, 57, 36));
     list.Add("Boksburg (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 26, 16, 12,
             PositionDirection.East, 28, 13, 48));
     list.Add("Bologna (Ita)", "Europe/Rome",
         new Position(PositionDirection.North, 44, 30, 0,
             PositionDirection.East, 11, 20, 24));
     list.Add("Boma (Con)", "Africa/Kinshasa",
         new Position(PositionDirection.South, 5, 51, 0,
             PositionDirection.East, 13, 3, 0));
     list.Add("Bombay (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 18, 57, 36,
             PositionDirection.East, 72, 49, 12));
     list.Add("Bommanahalli (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 13, 0, 36,
             PositionDirection.East, 77, 37, 48));
     list.Add("Bonn (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 50, 43, 48,
             PositionDirection.East, 7, 6, 0));
     list.Add("Bordeaux (Fra)", "Europe/Paris",
         new Position(PositionDirection.North, 44, 50, 24,
             PositionDirection.West, 0, 34, 48));
     list.Add("Borujerd (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 33, 55, 12,
             PositionDirection.East, 48, 48, 0));
     list.Add("Boston (USA)", "America/New_York",
         new Position(PositionDirection.North, 42, 20, 24,
             PositionDirection.West, 71, 1, 12));
     list.Add("Botshabelo (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 29, 13, 48,
             PositionDirection.East, 26, 43, 48));
     list.Add("Bouake (Ivo)", "Africa/Abidjan",
         new Position(PositionDirection.North, 7, 41, 24,
             PositionDirection.West, 5, 1, 48));
     list.Add("Bradford (UK)", "Europe/London",
         new Position(PositionDirection.North, 53, 48, 0,
             PositionDirection.West, 1, 45, 0));
     list.Add("Brahmapur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 19, 19, 12,
             PositionDirection.East, 84, 48, 0));
     list.Add("Braila (Rom)", "Europe/Bucharest",
         new Position(PositionDirection.North, 45, 16, 48,
             PositionDirection.East, 27, 58, 12));
     list.Add("Brakpan (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 26, 17, 24,
             PositionDirection.East, 28, 22, 12));
     list.Add("Brandbu-Jaren (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 60, 25, 48,
             PositionDirection.East, 10, 28, 12));
     list.Add("Brasilia (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 15, 46, 48,
             PositionDirection.West, 47, 54, 36));
     list.Add("Brasov (Rom)", "Europe/Bucharest",
         new Position(PositionDirection.North, 45, 39, 36,
             PositionDirection.East, 25, 36, 36));
     list.Add("Bratislava (Svk)", "Europe/Bratislava",
         new Position(PositionDirection.North, 48, 9, 36,
             PositionDirection.East, 17, 7, 48));
     list.Add("Bratsk (Rus)", "Asia/Irkutsk",
         new Position(PositionDirection.North, 56, 18, 0,
             PositionDirection.East, 101, 42, 36));
     list.Add("Brazzaville (Con)", "Africa/Brazzaville",
         new Position(PositionDirection.South, 4, 15, 0,
             PositionDirection.East, 15, 15, 36));
     list.Add("Brebes (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 51, 36,
             PositionDirection.East, 109, 1, 48));
     list.Add("Bremen (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 53, 4, 48,
             PositionDirection.East, 8, 48, 36));
     list.Add("Brest (Bel)", "Europe/Minsk",
         new Position(PositionDirection.North, 52, 7, 12,
             PositionDirection.East, 23, 40, 48));
     list.Add("Brisbane (Aus)", "Australia/Brisbane",
         new Position(PositionDirection.South, 27, 27, 36,
             PositionDirection.East, 153, 1, 12));
     list.Add("Bristol (UK)", "Europe/London",
         new Position(PositionDirection.North, 51, 27, 36,
             PositionDirection.West, 2, 36, 0));
     list.Add("Brno (Cze)", "Europe/Prague",
         new Position(PositionDirection.North, 49, 12, 0,
             PositionDirection.East, 16, 36, 36));
     list.Add("Bronnoysund (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 65, 28, 12,
             PositionDirection.East, 12, 13, 12));
     list.Add("Brumunddal (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 60, 53, 24,
             PositionDirection.East, 10, 55, 48));
     list.Add("Brunswick (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 52, 16, 12,
             PositionDirection.East, 10, 30, 36));
     list.Add("Brussels (Bel)", "Europe/Brussels",
         new Position(PositionDirection.North, 50, 49, 48,
             PositionDirection.East, 4, 19, 48));
     list.Add("Bryansk (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 53, 15, 36,
             PositionDirection.East, 34, 25, 12));
     list.Add("Bryne (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 58, 43, 48,
             PositionDirection.East, 5, 39, 0));
     list.Add("Bucaramanga (Col)", "America/Bogota",
         new Position(PositionDirection.North, 7, 7, 48,
             PositionDirection.West, 73, 7, 48));
     list.Add("Bucharest (Rom)", "Europe/Bucharest",
         new Position(PositionDirection.North, 44, 26, 24,
             PositionDirection.East, 26, 6, 0));
     list.Add("Budapest (Hun)", "Europe/Budapest",
         new Position(PositionDirection.North, 47, 30, 36,
             PositionDirection.East, 19, 4, 48));
     list.Add("Buenaventura (Col)", "America/Bogota",
         new Position(PositionDirection.North, 3, 53, 24,
             PositionDirection.West, 77, 2, 24));
     list.Add("Buenavista (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 19, 33, 0,
             PositionDirection.West, 99, 3, 0));
     list.Add("Buenos Aires (Arg)", "America/Argentina/Buenos_Aires",
         new Position(PositionDirection.South, 34, 36, 36,
             PositionDirection.West, 58, 22, 12));
     list.Add("Buffalo (USA)", "America/New_York",
         new Position(PositionDirection.North, 42, 53, 24,
             PositionDirection.West, 78, 51, 36));
     list.Add("Buhoro (Uzb)", "Asia/Tashkent",
         new Position(PositionDirection.North, 39, 46, 12,
             PositionDirection.East, 64, 25, 12));
     list.Add("Bujumbura (Bur)", "Africa/Bujumbura",
         new Position(PositionDirection.South, 3, 22, 12,
             PositionDirection.East, 29, 21, 0));
     list.Add("Bukavu (Con)", "Africa/Lubumbashi",
         new Position(PositionDirection.South, 2, 30, 36,
             PositionDirection.East, 28, 50, 24));
     list.Add("Bukit Mertajam (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 5, 22, 12,
             PositionDirection.East, 100, 27, 36));
     list.Add("Bulandshahr (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 28, 24, 36,
             PositionDirection.East, 77, 51, 0));
     list.Add("Bulawayo (Zim)", "Africa/Harare",
         new Position(PositionDirection.South, 20, 10, 12,
             PositionDirection.East, 28, 34, 48));
     list.Add("Bur Sudan (Sud)", "Africa/Khartoum",
         new Position(PositionDirection.North, 19, 37, 48,
             PositionDirection.East, 37, 7, 12));
     list.Add("Buraydah (Sau)", "Asia/Riyadh",
         new Position(PositionDirection.North, 26, 22, 12,
             PositionDirection.East, 43, 58, 12));
     list.Add("Burhanpur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 21, 19, 48,
             PositionDirection.East, 76, 13, 12));
     list.Add("Bursa (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 40, 12, 0,
             PositionDirection.East, 29, 4, 48));
     list.Add("Butuan (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 8, 55, 48,
             PositionDirection.East, 125, 31, 12));
     list.Add("Bydgoszcz (Pol)", "Europe/Warsaw",
         new Position(PositionDirection.North, 53, 7, 12,
             PositionDirection.East, 18, 0, 36));
     list.Add("Cabanatuan (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 15, 30, 0,
             PositionDirection.East, 120, 58, 12));
     list.Add("Cabimas (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 10, 25, 48,
             PositionDirection.West, 71, 27, 0));
     list.Add("Cabinda (Ang)", "Africa/Luanda",
         new Position(PositionDirection.South, 5, 33, 36,
             PositionDirection.East, 12, 11, 24));
     list.Add("Cachoeiro de Itapemirim (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 20, 51, 0,
             PositionDirection.West, 41, 7, 48));
     list.Add("Cagayan (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 8, 26, 59,
             PositionDirection.East, 124, 40, 12));
     list.Add("Cainta (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 14, 34, 48,
             PositionDirection.East, 121, 7, 12));
     list.Add("Cairo (Egy)", "Africa/Cairo",
         new Position(PositionDirection.North, 30, 3, 36,
             PositionDirection.East, 31, 15, 0));
     list.Add("Calabar (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 4, 57, 36,
             PositionDirection.East, 8, 19, 48));
     list.Add("Calamba (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 14, 12, 36,
             PositionDirection.East, 121, 9, 0));
     list.Add("Calcutta (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 34, 12,
             PositionDirection.East, 88, 21, 36));
     list.Add("Calgary (Can)", "America/Edmonton",
         new Position(PositionDirection.North, 51, 3, 0,
             PositionDirection.West, 114, 3, 36));
     list.Add("Cali (Col)", "America/Bogota",
         new Position(PositionDirection.North, 3, 26, 24,
             PositionDirection.West, 76, 31, 12));
     list.Add("Camacari (Bra)", "America/Bahia",
         new Position(PositionDirection.South, 12, 42, 0,
             PositionDirection.West, 38, 19, 48));
     list.Add("Camaguey (Cub)", "America/Havana",
         new Position(PositionDirection.North, 21, 24, 0,
             PositionDirection.West, 77, 54, 36));
     list.Add("Campeche (Mex)", "America/Merida",
         new Position(PositionDirection.North, 19, 51, 0,
             PositionDirection.West, 90, 31, 48));
     list.Add("Campina Grande (Bra)", "America/Fortaleza",
         new Position(PositionDirection.South, 7, 13, 48,
             PositionDirection.West, 35, 52, 48));
     list.Add("Campinas (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 22, 54, 36,
             PositionDirection.West, 47, 4, 48));
     list.Add("Campo Grande (Bra)", "America/Campo_Grande",
         new Position(PositionDirection.South, 20, 27, 0,
             PositionDirection.West, 54, 37, 48));
     list.Add("Campos (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 21, 45, 0,
             PositionDirection.West, 41, 20, 24));
     list.Add("Can Tho (Vie)", "Asia/Ho_Chi_Minh",
         new Position(PositionDirection.North, 10, 1, 48,
             PositionDirection.East, 105, 46, 48));
     list.Add("Canberra (Aus)", "Australia/Canberra",
         new Position(PositionDirection.South, 35, 18, 36,
             PositionDirection.East, 149, 7, 48));
     list.Add("Cancun (Mex)", "America/Cancun",
         new Position(PositionDirection.North, 21, 10, 12,
             PositionDirection.West, 86, 49, 48));
     list.Add("Cangzhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 38, 19, 12,
             PositionDirection.East, 116, 52, 12));
     list.Add("Canoas (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 29, 55, 12,
             PositionDirection.West, 51, 10, 48));
     list.Add("Cape Town (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 33, 55, 48,
             PositionDirection.East, 18, 27, 36));
     list.Add("Capiata (Par)", "America/Asuncion",
         new Position(PositionDirection.South, 25, 21, 0,
             PositionDirection.West, 57, 25, 12));
     list.Add("Caracas (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 10, 32, 24,
             PositionDirection.West, 66, 55, 48));
     list.Add("Carapicuiba (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 31, 12,
             PositionDirection.West, 46, 50, 24));
     list.Add("Cardiff (UK)", "Europe/London",
         new Position(PositionDirection.North, 51, 28, 48,
             PositionDirection.West, 3, 10, 48));
     list.Add("Cariacica (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 20, 13, 48,
             PositionDirection.West, 40, 22, 12));
     list.Add("Carrefour (Hai)", "America/Port-au-Prince",
         new Position(PositionDirection.North, 18, 31, 48,
             PositionDirection.West, 72, 25, 12));
     list.Add("Cartagena (Col)", "America/Bogota",
         new Position(PositionDirection.North, 10, 24, 0,
             PositionDirection.West, 75, 30, 0));
     list.Add("Cartagena (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 37, 36, 36,
             PositionDirection.West, 0, 58, 48));
     list.Add("Caruaru (Bra)", "America/Recife",
         new Position(PositionDirection.South, 8, 16, 47,
             PositionDirection.West, 35, 58, 47));
     list.Add("Casablanca (Mor)", "Africa/Casablanca",
         new Position(PositionDirection.North, 33, 36, 0,
             PositionDirection.West, 7, 37, 12));
     list.Add("Cascavel (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 24, 57, 36,
             PositionDirection.West, 53, 27, 36));
     list.Add("Catania (Ita)", "Europe/Rome",
         new Position(PositionDirection.North, 37, 30, 0,
             PositionDirection.East, 15, 4, 48));
     list.Add("Caucaia (Bra)", "America/Fortaleza",
         new Position(PositionDirection.South, 3, 44, 24,
             PositionDirection.West, 38, 40, 12));
     list.Add("Caxias do Sul (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 29, 10, 48,
             PositionDirection.West, 51, 10, 12));
     list.Add("Cebu (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 10, 19, 12,
             PositionDirection.East, 123, 54, 0));
     list.Add("Celaya (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 20, 31, 12,
             PositionDirection.West, 100, 49, 12));
     list.Add("Chandigarh (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 30, 45, 0,
             PositionDirection.East, 76, 46, 48));
     list.Add("Chandler (USA)", "America/Phoenix",
         new Position(PositionDirection.North, 33, 17, 59,
             PositionDirection.West, 111, 52, 12));
     list.Add("Chandrapur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 19, 57, 36,
             PositionDirection.East, 79, 18, 0));
     list.Add("Changchun (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 43, 52, 12,
             PositionDirection.East, 125, 21, 0));
     list.Add("Changde (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 29, 1, 48,
             PositionDirection.East, 111, 40, 48));
     list.Add("Changji (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 44, 1, 12,
             PositionDirection.East, 87, 19, 12));
     list.Add("Changsha (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 28, 12, 0,
             PositionDirection.East, 112, 58, 12));
     list.Add("Changweon (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 35, 16, 12,
             PositionDirection.East, 128, 37, 12));
     list.Add("Changzhi (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 35, 13, 12,
             PositionDirection.East, 111, 45, 0));
     list.Add("Changzhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 31, 46, 48,
             PositionDirection.East, 119, 58, 12));
     list.Add("Chaoyang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 41, 33, 0,
             PositionDirection.East, 120, 25, 12));
     list.Add("Chaozhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 23, 40, 12,
             PositionDirection.East, 116, 38, 24));
     list.Add("Charlotte (USA)", "America/New_York",
         new Position(PositionDirection.North, 35, 12, 0,
             PositionDirection.West, 80, 49, 48));
     list.Add("Chattagam (Ban)", "Asia/Dhaka",
         new Position(PositionDirection.North, 22, 19, 48,
             PositionDirection.East, 91, 48, 36));
     list.Add("Cheboksary (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 56, 7, 48,
             PositionDirection.East, 47, 15, 0));
     list.Add("Cheju (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 33, 30, 36,
             PositionDirection.East, 126, 31, 12));
     list.Add("Chelyabinsk (Rus)", "Asia/Yekaterinburg",
         new Position(PositionDirection.North, 55, 9, 0,
             PositionDirection.East, 61, 25, 48));
     list.Add("Chemnitz (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 50, 49, 48,
             PositionDirection.East, 12, 55, 12));
     list.Add("Chengde (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 40, 57, 36,
             PositionDirection.East, 117, 55, 48));
     list.Add("Chengdu (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 30, 40, 12,
             PositionDirection.East, 104, 4, 12));
     list.Add("Cheonan (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 36, 48, 36,
             PositionDirection.East, 127, 9, 36));
     list.Add("Cheongjin (NKo)", "Asia/Pyongyang",
         new Position(PositionDirection.North, 41, 46, 48,
             PositionDirection.East, 129, 46, 48));
     list.Add("Cheongju (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 36, 38, 24,
             PositionDirection.East, 127, 30, 0));
     list.Add("Cheonju (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 35, 49, 48,
             PositionDirection.East, 127, 8, 24));
     list.Add("Cherepovets (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 59, 7, 48,
             PositionDirection.East, 37, 54, 0));
     list.Add("Cherkasy (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 49, 25, 48,
             PositionDirection.East, 32, 4, 12));
     list.Add("Chernihiv (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 51, 30, 0,
             PositionDirection.East, 31, 18, 0));
     list.Add("Chernivtsi (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 48, 18, 0,
             PositionDirection.East, 25, 55, 48));
     list.Add("Chesapeake (USA)", "America/New_York",
         new Position(PositionDirection.North, 36, 40, 48,
             PositionDirection.West, 76, 18, 36));
     list.Add("Chhapra (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 25, 46, 48,
             PositionDirection.East, 84, 43, 12));
     list.Add("Chiba (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 36, 36,
             PositionDirection.East, 140, 6, 36));
     list.Add("Chicago (USA)", "America/Chicago",
         new Position(PositionDirection.North, 41, 50, 24,
             PositionDirection.West, 87, 40, 48));
     list.Add("Chiclayo (Per)", "America/Lima",
         new Position(PositionDirection.South, 6, 45, 36,
             PositionDirection.West, 79, 50, 24));
     list.Add("Chifeng (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 42, 16, 12,
             PositionDirection.East, 118, 57, 0));
     list.Add("Chigasaki (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 19, 48,
             PositionDirection.East, 139, 24, 36));
     list.Add("Chihuahua (Mex)", "America/Chihuahua",
         new Position(PositionDirection.North, 28, 37, 48,
             PositionDirection.West, 106, 4, 48));
     list.Add("Chimalhuacan (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 19, 26, 24,
             PositionDirection.West, 98, 57, 36));
     list.Add("Chimbote (Per)", "America/Lima",
         new Position(PositionDirection.South, 9, 4, 12,
             PositionDirection.West, 78, 36, 0));
     list.Add("Chimoio (Moz)", "Africa/Maputo",
         new Position(PositionDirection.South, 19, 7, 12,
             PositionDirection.East, 33, 28, 12));
     list.Add("Chiniot (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 31, 43, 12,
             PositionDirection.East, 72, 58, 48));
     list.Add("Chinju (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 35, 11, 23,
             PositionDirection.East, 128, 4, 48));
     list.Add("Chisinau (Mol)", "Europe/Chisinau",
         new Position(PositionDirection.North, 47, 1, 48,
             PositionDirection.East, 28, 49, 48));
     list.Add("Chita (Rus)", "Asia/Yakutsk",
         new Position(PositionDirection.North, 52, 3, 0,
             PositionDirection.East, 113, 27, 36));
     list.Add("Chitungwiza (Zim)", "Africa/Harare",
         new Position(PositionDirection.South, 18, 0, 0,
             PositionDirection.East, 31, 6, 0));
     list.Add("Chofu (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 39, 0,
             PositionDirection.East, 139, 33, 0));
     list.Add("Chongqing (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 29, 34, 12,
             PositionDirection.East, 106, 34, 48));
     list.Add("Christchurch (NZ)", "Pacific/Auckland",
         new Position(PositionDirection.South, 43, 31, 48,
             PositionDirection.East, 172, 38, 24));
     list.Add("Chula Vista (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 32, 37, 48,
             PositionDirection.West, 117, 2, 24));
     list.Add("Chuzhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 32, 17, 59,
             PositionDirection.East, 118, 18, 0));
     list.Add("Ciampea (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 33, 0,
             PositionDirection.East, 106, 41, 24));
     list.Add("Cibadak (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 53, 24,
             PositionDirection.East, 106, 46, 48));
     list.Add("Cibinong (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 26, 24,
             PositionDirection.East, 106, 50, 24));
     list.Add("Cibitung (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 16, 12,
             PositionDirection.East, 107, 4, 48));
     list.Add("Cikupa (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 13, 48,
             PositionDirection.East, 106, 31, 12));
     list.Add("Cilacap (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 7, 20, 24,
             PositionDirection.East, 109, 0, 0));
     list.Add("Cilegon (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 5, 56, 24,
             PositionDirection.East, 106, 0, 0));
     list.Add("Cileungsi (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 24, 0,
             PositionDirection.East, 106, 57, 0));
     list.Add("Cimahi (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 49, 48,
             PositionDirection.East, 107, 28, 48));
     list.Add("Cincinnati (USA)", "America/New_York",
         new Position(PositionDirection.North, 39, 8, 24,
             PositionDirection.West, 84, 30, 36));
     list.Add("Ciputat (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 13, 48,
             PositionDirection.East, 106, 40, 48));
     list.Add("Cirebon (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 42, 36,
             PositionDirection.East, 108, 33, 36));
     list.Add("Ciudad Bolivar (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 8, 6, 0,
             PositionDirection.West, 63, 36, 0));
     list.Add("Ciudad Guayana (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 8, 22, 11,
             PositionDirection.West, 62, 37, 12));
     list.Add("Ciudad del Este (Par)", "America/Asuncion",
         new Position(PositionDirection.South, 25, 25, 12,
             PositionDirection.West, 54, 37, 48));
     list.Add("Cleveland (USA)", "America/New_York",
         new Position(PositionDirection.North, 41, 28, 48,
             PositionDirection.West, 81, 40, 48));
     list.Add("Cluj-Napoca (Rom)", "Europe/Bucharest",
         new Position(PositionDirection.North, 46, 46, 48,
             PositionDirection.East, 23, 35, 24));
     list.Add("Coacalco (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 19, 37, 48,
             PositionDirection.West, 99, 6, 36));
     list.Add("Coatzacoalcos (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 18, 8, 24,
             PositionDirection.West, 94, 25, 12));
     list.Add("Cochabamba (Bol)", "America/La_Paz",
         new Position(PositionDirection.South, 17, 22, 48,
             PositionDirection.West, 66, 10, 12));
     list.Add("Cologne (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 50, 57, 0,
             PositionDirection.East, 6, 58, 12));
     list.Add("Colombo (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 25, 17, 24,
             PositionDirection.West, 49, 14, 24));
     list.Add("Colombo (Sri)", "Asia/Colombo",
         new Position(PositionDirection.North, 6, 55, 48,
             PositionDirection.East, 79, 51, 0));
     list.Add("Colorado Springs (USA)", "America/Denver",
         new Position(PositionDirection.North, 38, 51, 36,
             PositionDirection.West, 104, 45, 36));
     list.Add("Columbus (USA)", "America/New_York",
         new Position(PositionDirection.North, 39, 59, 24,
             PositionDirection.West, 82, 59, 24));
     list.Add("Conakry (Gui)", "Africa/Conakry",
         new Position(PositionDirection.North, 9, 33, 0,
             PositionDirection.West, 13, 40, 12));
     list.Add("Concepcion (Chi)", "America/Santiago",
         new Position(PositionDirection.South, 36, 49, 48,
             PositionDirection.West, 73, 3, 0));
     list.Add("Constanta (Rom)", "Europe/Bucharest",
         new Position(PositionDirection.North, 44, 10, 48,
             PositionDirection.East, 28, 37, 48));
     list.Add("Constantine (Alg)", "Africa/Algiers",
         new Position(PositionDirection.North, 36, 21, 36,
             PositionDirection.East, 6, 36, 0));
     list.Add("Contagem (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 19, 54, 36,
             PositionDirection.West, 44, 6, 0));
     list.Add("Copenhagen (Den)", "Europe/Copenhagen",
         new Position(PositionDirection.North, 55, 40, 12,
             PositionDirection.East, 12, 34, 48));
     list.Add("Cordoba (Arg)", "America/Argentina/Cordoba",
         new Position(PositionDirection.South, 31, 24, 0,
             PositionDirection.West, 64, 11, 24));
     list.Add("Cordoba (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 37, 52, 48,
             PositionDirection.West, 4, 46, 12));
     list.Add("Coro (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 11, 25, 12,
             PositionDirection.West, 69, 40, 48));
     list.Add("Corpus Christi (USA)", "America/Chicago",
         new Position(PositionDirection.North, 27, 42, 36,
             PositionDirection.West, 97, 17, 24));
     list.Add("Corrientes (Arg)", "America/Argentina/Cordoba",
         new Position(PositionDirection.South, 27, 29, 24,
             PositionDirection.West, 58, 48, 36));
     list.Add("Corum (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 40, 33, 36,
             PositionDirection.East, 34, 57, 36));
     list.Add("Cotonou (Ben)", "Africa/Porto-Novo",
         new Position(PositionDirection.North, 6, 21, 36,
             PositionDirection.East, 2, 26, 24));
     list.Add("Coventry (UK)", "Europe/London",
         new Position(PositionDirection.North, 52, 25, 12,
             PositionDirection.West, 1, 30, 0));
     list.Add("Cracow (Pol)", "Europe/Warsaw",
         new Position(PositionDirection.North, 50, 3, 36,
             PositionDirection.East, 19, 57, 36));
     list.Add("Craiova (Rom)", "Europe/Bucharest",
         new Position(PositionDirection.North, 44, 19, 48,
             PositionDirection.East, 23, 49, 12));
     list.Add("Cuautitlan Izcalli (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 19, 39, 0,
             PositionDirection.West, 99, 15, 0));
     list.Add("Cucuta (Col)", "America/Bogota",
         new Position(PositionDirection.North, 7, 52, 48,
             PositionDirection.West, 72, 30, 36));
     list.Add("Cuenca (Ecu)", "America/Guayaquil",
         new Position(PositionDirection.South, 2, 54, 0,
             PositionDirection.West, 79, 0, 36));
     list.Add("Cuernavaca (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 18, 55, 12,
             PositionDirection.West, 99, 15, 0));
     list.Add("Cuiaba (Bra)", "America/Cuiaba",
         new Position(PositionDirection.South, 15, 36, 36,
             PositionDirection.West, 56, 5, 24));
     list.Add("Culiacan (Mex)", "America/Mazatlan",
         new Position(PositionDirection.North, 24, 48, 0,
             PositionDirection.West, 107, 23, 24));
     list.Add("Cumana (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 10, 27, 0,
             PositionDirection.West, 64, 10, 48));
     list.Add("Curitiba (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 25, 25, 12,
             PositionDirection.West, 49, 17, 24));
     list.Add("Curug (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 15, 0,
             PositionDirection.East, 106, 33, 0));
     list.Add("Cusco (Per)", "America/Lima",
         new Position(PositionDirection.South, 13, 31, 12,
             PositionDirection.West, 71, 59, 23));
     list.Add("Czestochowa (Pol)", "Europe/Warsaw",
         new Position(PositionDirection.North, 50, 48, 36,
             PositionDirection.East, 19, 7, 48));
     list.Add("Da Nang (Vie)", "Asia/Ho_Chi_Minh",
         new Position(PositionDirection.North, 16, 4, 12,
             PositionDirection.East, 108, 12, 36));
     list.Add("Dadiangas (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 6, 6, 0,
             PositionDirection.East, 125, 15, 0));
     list.Add("Daegu (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 35, 52, 11,
             PositionDirection.East, 128, 36, 0));
     list.Add("Dahuk (Ira)", "Asia/Baghdad",
         new Position(PositionDirection.North, 36, 51, 0,
             PositionDirection.East, 43, 1, 12));
     list.Add("Daipo (Chi)", "Asia/Hong_Kong",
         new Position(PositionDirection.North, 22, 27, 0,
             PositionDirection.East, 114, 9, 36));
     list.Add("Dakar (Sen)", "Africa/Dakar",
         new Position(PositionDirection.North, 14, 43, 12,
             PositionDirection.West, 17, 28, 48));
     list.Add("Dalian (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 38, 55, 12,
             PositionDirection.East, 121, 39, 0));
     list.Add("Daliang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 22, 50, 24,
             PositionDirection.East, 113, 15, 0));
     list.Add("Dallas (USA)", "America/Chicago",
         new Position(PositionDirection.North, 32, 47, 24,
             PositionDirection.West, 96, 46, 12));
     list.Add("Daloa (Ivo)", "Africa/Abidjan",
         new Position(PositionDirection.North, 6, 53, 24,
             PositionDirection.West, 6, 27, 0));
     list.Add("Damanhoor (Egy)", "Africa/Cairo",
         new Position(PositionDirection.North, 31, 2, 24,
             PositionDirection.East, 30, 28, 12));
     list.Add("Damascus (Syr)", "Asia/Damascus",
         new Position(PositionDirection.North, 33, 30, 0,
             PositionDirection.East, 36, 19, 12));
     list.Add("Damietta (Egy)", "Africa/Cairo",
         new Position(PositionDirection.North, 31, 25, 12,
             PositionDirection.East, 31, 49, 12));
     list.Add("Damman (Sau)", "Asia/Riyadh",
         new Position(PositionDirection.North, 26, 25, 48,
             PositionDirection.East, 50, 6, 0));
     list.Add("Dandong (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 40, 7, 48,
             PositionDirection.East, 124, 24, 0));
     list.Add("Dar es Salaam (Tan)", "Africa/Dar_es_Salaam",
         new Position(PositionDirection.South, 6, 49, 12,
             PositionDirection.East, 39, 16, 48));
     list.Add("Darbhanga (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 26, 9, 36,
             PositionDirection.East, 85, 52, 48));
     list.Add("Dasarahalli (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 13, 0, 36,
             PositionDirection.East, 77, 29, 24));
     list.Add("Dasmarinas (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 14, 19, 48,
             PositionDirection.East, 120, 55, 48));
     list.Add("Dasoguz (Tur)", "Asia/Ashgabat",
         new Position(PositionDirection.North, 41, 51, 0,
             PositionDirection.East, 59, 57, 36));
     list.Add("Datong (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 40, 4, 48,
             PositionDirection.East, 113, 18, 0));
     list.Add("Davanagere (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 14, 27, 36,
             PositionDirection.East, 75, 55, 12));
     list.Add("Davao (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 7, 6, 36,
             PositionDirection.East, 125, 37, 48));
     list.Add("Dayr az-Zawr (Syr)", "Asia/Damascus",
         new Position(PositionDirection.North, 35, 19, 48,
             PositionDirection.East, 40, 7, 48));
     list.Add("Dehiwala-Mount Lavinia (Sri)", "Asia/Colombo",
         new Position(PositionDirection.North, 6, 51, 0,
             PositionDirection.East, 79, 52, 12));
     list.Add("Dehra Dun (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 30, 20, 24,
             PositionDirection.East, 78, 3, 0));
     list.Add("Delhi (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 28, 40, 12,
             PositionDirection.East, 77, 12, 36));
     list.Add("Delmas (Hai)", "America/Port-au-Prince",
         new Position(PositionDirection.North, 18, 33, 0,
             PositionDirection.West, 72, 16, 48));
     list.Add("Den Haag (Net)", "Europe/Amsterdam",
         new Position(PositionDirection.North, 52, 4, 12,
             PositionDirection.East, 4, 18, 0));
     list.Add("Denizli (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 37, 46, 48,
             PositionDirection.East, 29, 4, 48));
     list.Add("Denpasar (Ind)", "Asia/Makassar",
         new Position(PositionDirection.South, 8, 39, 0,
             PositionDirection.East, 115, 13, 12));
     list.Add("Denver (USA)", "America/Denver",
         new Position(PositionDirection.North, 39, 46, 12,
             PositionDirection.West, 104, 52, 12));
     list.Add("Deoli (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 28, 29, 24,
             PositionDirection.East, 77, 13, 12));
     list.Add("Depok (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 23, 24,
             PositionDirection.East, 106, 49, 48));
     list.Add("Dera Ghazi Khan (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 30, 3, 36,
             PositionDirection.East, 70, 38, 24));
     list.Add("Derby (UK)", "Europe/London",
         new Position(PositionDirection.North, 52, 55, 12,
             PositionDirection.West, 1, 30, 0));
     list.Add("Detroit (USA)", "America/Detroit",
         new Position(PositionDirection.North, 42, 22, 48,
             PositionDirection.West, 83, 6, 0));
     list.Add("Dewas (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 58, 12,
             PositionDirection.East, 76, 3, 0));
     list.Add("Dezful (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 32, 22, 48,
             PositionDirection.East, 48, 28, 12));
     list.Add("Dezhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 37, 27, 0,
             PositionDirection.East, 116, 18, 0));
     list.Add("Dhaka (Ban)", "Asia/Dhaka",
         new Position(PositionDirection.North, 23, 42, 0,
             PositionDirection.East, 90, 23, 24));
     list.Add("Dhanbad (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 23, 48, 0,
             PositionDirection.East, 86, 25, 12));
     list.Add("Dhule (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 20, 54, 0,
             PositionDirection.East, 74, 46, 12));
     list.Add("Diadema (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 41, 24,
             PositionDirection.West, 46, 36, 36));
     list.Add("Dire Dawa (Eth)", "Africa/Addis_Ababa",
         new Position(PositionDirection.North, 9, 35, 24,
             PositionDirection.East, 41, 51, 36));
     list.Add("Divinopolis (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 20, 9, 0,
             PositionDirection.West, 44, 54, 0));
     list.Add("Diyarbakir (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 37, 55, 12,
             PositionDirection.East, 40, 13, 48));
     list.Add("Djibouti (Dji)", "Africa/Djibouti",
         new Position(PositionDirection.North, 11, 35, 24,
             PositionDirection.East, 43, 9, 0));
     list.Add("Djougou (Ben)", "Africa/Porto-Novo",
         new Position(PositionDirection.North, 9, 42, 0,
             PositionDirection.East, 1, 40, 48));
     list.Add("Dniprodzerzhynsk (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 48, 30, 0,
             PositionDirection.East, 34, 37, 11));
     list.Add("Dnipropetrovsk (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 48, 27, 0,
             PositionDirection.East, 34, 58, 47));
     list.Add("Doha (Qat)", "Asia/Qatar",
         new Position(PositionDirection.North, 25, 18, 0,
             PositionDirection.East, 51, 30, 36));
     list.Add("Donetsk (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 48, 0, 0,
             PositionDirection.East, 37, 49, 12));
     list.Add("Dongchang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 41, 43, 48,
             PositionDirection.East, 125, 55, 48));
     list.Add("Dongguan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 23, 3, 0,
             PositionDirection.East, 113, 43, 48));
     list.Add("Dongying (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 37, 30, 0,
             PositionDirection.East, 118, 31, 12));
     list.Add("Dortmund (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 51, 30, 36,
             PositionDirection.East, 7, 28, 48));
     list.Add("Douala (Cam)", "Africa/Douala",
         new Position(PositionDirection.North, 4, 3, 35,
             PositionDirection.East, 9, 42, 36));
     list.Add("Drammen (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 45, 0,
             PositionDirection.East, 10, 12, 0));
     list.Add("Dresden (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 51, 3, 0,
             PositionDirection.East, 13, 44, 24));
     list.Add("Drobak (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 40, 12,
             PositionDirection.East, 10, 39, 0));
     list.Add("Dubai (UAE)", "Asia/Dubai",
         new Position(PositionDirection.North, 25, 16, 12,
             PositionDirection.East, 55, 19, 48));
     list.Add("Dublin (Ire)", "Europe/Dublin",
         new Position(PositionDirection.North, 53, 19, 48,
             PositionDirection.West, 6, 15, 0));
     list.Add("Duisburg (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 51, 25, 48,
             PositionDirection.East, 6, 45, 0));
     list.Add("Duque de Caxias (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 22, 46, 12,
             PositionDirection.West, 43, 18, 36));
     list.Add("Durango (Mex)", "America/Monterrey",
         new Position(PositionDirection.North, 24, 1, 48,
             PositionDirection.West, 104, 40, 12));
     list.Add("Durban (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 29, 52, 12,
             PositionDirection.East, 30, 59, 24));
     list.Add("Durg (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 21, 12, 0,
             PositionDirection.East, 81, 16, 48));
     list.Add("Durgapur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 23, 30, 0,
             PositionDirection.East, 87, 18, 36));
     list.Add("Durham (USA)", "America/New_York",
         new Position(PositionDirection.North, 35, 58, 47,
             PositionDirection.West, 78, 54, 36));
     list.Add("Dushanbe (Taj)", "Asia/Dushanbe",
         new Position(PositionDirection.North, 38, 34, 12,
             PositionDirection.East, 68, 46, 48));
     list.Add("Dusseldorf (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 51, 14, 24,
             PositionDirection.East, 6, 47, 24));
     list.Add("Dzerzhinsk (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 56, 14, 24,
             PositionDirection.East, 43, 27, 36));
     list.Add("Dzokhar Gala (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 43, 18, 36,
             PositionDirection.East, 45, 42, 0));
     list.Add("East London (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 32, 58, 12,
             PositionDirection.East, 27, 52, 12));
     list.Add("Ecatepec (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 19, 36, 0,
             PositionDirection.West, 99, 3, 0));
     list.Add("Edinburgh (UK)", "Europe/London",
         new Position(PositionDirection.North, 55, 57, 0,
             PositionDirection.West, 3, 13, 12));
     list.Add("Edmonton (Can)", "America/Edmonton",
         new Position(PositionDirection.North, 53, 34, 12,
             PositionDirection.West, 113, 32, 24));
     list.Add("Egersund (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 58, 27, 36,
             PositionDirection.East, 6, 0, 36));
     list.Add("Eindhoven (Net)", "Europe/Amsterdam",
         new Position(PositionDirection.North, 51, 26, 24,
             PositionDirection.East, 5, 28, 12));
     list.Add("El Alto (Bol)", "America/La_Paz",
         new Position(PositionDirection.South, 16, 30, 0,
             PositionDirection.West, 68, 10, 12));
     list.Add("El Faiyum (Egy)", "Africa/Cairo",
         new Position(PositionDirection.North, 29, 18, 36,
             PositionDirection.East, 30, 50, 24));
     list.Add("El Mahalla el Kubra (Egy)", "Africa/Cairo",
         new Position(PositionDirection.North, 30, 58, 12,
             PositionDirection.East, 31, 10, 12));
     list.Add("El Mansura (Egy)", "Africa/Cairo",
         new Position(PositionDirection.North, 31, 2, 24,
             PositionDirection.East, 31, 22, 48));
     list.Add("El Paso (USA)", "America/Chicago",
         new Position(PositionDirection.North, 31, 51, 0,
             PositionDirection.West, 106, 26, 24));
     list.Add("El Tigre (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 8, 53, 24,
             PositionDirection.West, 64, 15, 36));
     list.Add("El Zagazig (Egy)", "Africa/Cairo",
         new Position(PositionDirection.North, 30, 34, 48,
             PositionDirection.East, 31, 30, 0));
     list.Add("Elazig (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 38, 40, 48,
             PositionDirection.East, 39, 13, 48));
     list.Add("Elche (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 38, 16, 12,
             PositionDirection.West, 0, 40, 48));
     list.Add("Eldoret (Ken)", "Africa/Nairobi",
         new Position(PositionDirection.North, 0, 31, 12,
             PositionDirection.East, 35, 16, 12));
     list.Add("Elverum (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 60, 53, 24,
             PositionDirection.East, 11, 32, 24));
     list.Add("Emalahleni (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 25, 51, 36,
             PositionDirection.East, 29, 13, 12));
     list.Add("Embu (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 38, 24,
             PositionDirection.West, 46, 50, 24));
     list.Add("Ensenada (Mex)", "America/Tijuana",
         new Position(PositionDirection.North, 31, 52, 12,
             PositionDirection.West, 116, 37, 12));
     list.Add("Enugu (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 6, 26, 24,
             PositionDirection.East, 7, 30, 36));
     list.Add("Equator", "UTC",
         new Position(PositionDirection.North, 0, 0, 0,
             PositionDirection.East, 0, 0, 0));
     list.Add("Erzurum (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 39, 54, 36,
             PositionDirection.East, 41, 17, 24));
     list.Add("Esenyurt (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 41, 1, 48,
             PositionDirection.East, 28, 40, 12));
     list.Add("Esfahan (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 32, 40, 48,
             PositionDirection.East, 51, 40, 48));
     list.Add("Eskisehir (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 39, 47, 24,
             PositionDirection.East, 30, 31, 12));
     list.Add("Eslamshahr (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 35, 32, 24,
             PositionDirection.East, 51, 12, 0));
     list.Add("Espoo (Fin)", "Europe/Helsinki",
         new Position(PositionDirection.North, 60, 12, 36,
             PositionDirection.East, 24, 39, 36));
     list.Add("Essen (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 51, 28, 12,
             PositionDirection.East, 7, 0, 0));
     list.Add("Etawah (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 26, 46, 48,
             PositionDirection.East, 79, 0, 36));
     list.Add("Faisalabad (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 31, 24, 36,
             PositionDirection.East, 73, 6, 36));
     list.Add("Fallujah (Ira)", "Asia/Baghdad",
         new Position(PositionDirection.North, 33, 21, 0,
             PositionDirection.East, 43, 46, 48));
     list.Add("Faridabad (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 28, 22, 48,
             PositionDirection.East, 77, 18, 0));
     list.Add("Farrukhabad (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 27, 24, 0,
             PositionDirection.East, 79, 34, 12));
     list.Add("Fauske (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 67, 15, 0,
             PositionDirection.East, 15, 24, 0));
     list.Add("Feira de Santana (Bra)", "America/Bahia",
         new Position(PositionDirection.South, 12, 15, 0,
             PositionDirection.West, 38, 58, 12));
     list.Add("Fengshan (Tai)", "Asia/Taipei",
         new Position(PositionDirection.North, 22, 37, 48,
             PositionDirection.East, 120, 21, 0));
     list.Add("Fetsund (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 55, 48,
             PositionDirection.East, 11, 10, 12));
     list.Add("Fevik (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 58, 22, 48,
             PositionDirection.East, 8, 41, 59));
     list.Add("Fez (Mor)", "Africa/Casablanca",
         new Position(PositionDirection.North, 34, 2, 59,
             PositionDirection.West, 5, 0, 0));
     list.Add("Firozabad (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 27, 9, 0,
             PositionDirection.East, 78, 23, 24));
     list.Add("Flekkefjord (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 58, 18, 36,
             PositionDirection.East, 6, 40, 48));
     list.Add("Florence (Ita)", "Europe/Rome",
         new Position(PositionDirection.North, 43, 46, 48,
             PositionDirection.East, 11, 14, 24));
     list.Add("Florianopolis (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 27, 36, 0,
             PositionDirection.West, 48, 32, 24));
     list.Add("Floridablanca (Col)", "America/Bogota",
         new Position(PositionDirection.North, 7, 3, 36,
             PositionDirection.West, 73, 5, 24));
     list.Add("Floro (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 61, 36, 0,
             PositionDirection.East, 5, 1, 48));
     list.Add("Forde (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 36, 36,
             PositionDirection.East, 5, 28, 12));
     list.Add("Formosa (Arg)", "America/Argentina/Cordoba",
         new Position(PositionDirection.South, 26, 10, 48,
             PositionDirection.West, 58, 10, 48));
     list.Add("Fort Wayne (USA)", "America/Chicago",
         new Position(PositionDirection.North, 41, 4, 12,
             PositionDirection.West, 85, 8, 24));
     list.Add("Fort Worth (USA)", "America/Chicago",
         new Position(PositionDirection.North, 32, 45, 0,
             PositionDirection.West, 97, 20, 24));
     list.Add("Fortaleza (Bra)", "America/Fortaleza",
         new Position(PositionDirection.South, 3, 46, 48,
             PositionDirection.West, 38, 35, 24));
     list.Add("Foshan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 23, 1, 48,
             PositionDirection.East, 113, 7, 12));
     list.Add("Foz do Iguacu (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 25, 33, 0,
             PositionDirection.West, 54, 34, 48));
     list.Add("Franca (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 20, 31, 48,
             PositionDirection.West, 47, 23, 24));
     list.Add("Frankfurt (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 50, 7, 12,
             PositionDirection.East, 8, 40, 48));
     list.Add("Freetown (Sie)", "Africa/Freetown",
         new Position(PositionDirection.North, 8, 29, 24,
             PositionDirection.West, 13, 14, 24));
     list.Add("Freiburg (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 47, 59, 24,
             PositionDirection.East, 7, 51, 0));
     list.Add("Fresno (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 36, 46, 48,
             PositionDirection.West, 119, 47, 24));
     list.Add("Fuchu (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 40, 12,
             PositionDirection.East, 139, 28, 47));
     list.Add("Fuji (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 10, 12,
             PositionDirection.East, 138, 41, 24));
     list.Add("Fujisawa (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 19, 48,
             PositionDirection.East, 139, 28, 12));
     list.Add("Fukui (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 36, 4, 48,
             PositionDirection.East, 136, 13, 12));
     list.Add("Fukuoka (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 33, 35, 24,
             PositionDirection.East, 130, 24, 36));
     list.Add("Fukushima (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 37, 45, 0,
             PositionDirection.East, 140, 28, 12));
     list.Add("Fukuyama (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 30, 0,
             PositionDirection.East, 133, 22, 12));
     list.Add("Funabashi (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 42, 0,
             PositionDirection.East, 139, 59, 24));
     list.Add("Fushun (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 41, 52, 12,
             PositionDirection.East, 123, 52, 48));
     list.Add("Fuxin (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 42, 0, 36,
             PositionDirection.East, 121, 39, 0));
     list.Add("Fuzhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 26, 4, 48,
             PositionDirection.East, 119, 18, 0));
     list.Add("Gaborone (Bot)", "Africa/Gaborone",
         new Position(PositionDirection.South, 24, 39, 0,
             PositionDirection.East, 25, 54, 36));
     list.Add("Galati (Rom)", "Europe/Bucharest",
         new Position(PositionDirection.North, 45, 26, 24,
             PositionDirection.East, 28, 2, 24));
     list.Add("Ganca (Aze)", "Asia/Baku",
         new Position(PositionDirection.North, 40, 40, 48,
             PositionDirection.East, 46, 21, 0));
     list.Add("Gandhinagar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 23, 18, 0,
             PositionDirection.East, 72, 37, 47));
     list.Add("Ganganagar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 29, 55, 48,
             PositionDirection.East, 73, 51, 36));
     list.Add("Ganzhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 25, 57, 0,
             PositionDirection.East, 114, 55, 48));
     list.Add("Gaoxiong (Tai)", "Asia/Taipei",
         new Position(PositionDirection.North, 22, 37, 48,
             PositionDirection.East, 120, 16, 12));
     list.Add("Garland (USA)", "America/Chicago",
         new Position(PositionDirection.North, 32, 54, 35,
             PositionDirection.West, 96, 37, 48));
     list.Add("Garoua (Cam)", "Africa/Douala",
         new Position(PositionDirection.North, 9, 18, 0,
             PositionDirection.East, 13, 23, 24));
     list.Add("Gaya (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 24, 48, 36,
             PositionDirection.East, 85, 0, 0));
     list.Add("Gaza (Pal)", "Asia/Gaza",
         new Position(PositionDirection.North, 31, 31, 48,
             PositionDirection.East, 34, 26, 23));
     list.Add("Gaziantep (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 37, 4, 12,
             PositionDirection.East, 37, 23, 24));
     list.Add("Gboko (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 7, 19, 48,
             PositionDirection.East, 9, 0, 0));
     list.Add("Gdansk (Pol)", "Europe/Warsaw",
         new Position(PositionDirection.North, 54, 21, 36,
             PositionDirection.East, 18, 38, 24));
     list.Add("Gdynia (Pol)", "Europe/Warsaw",
         new Position(PositionDirection.North, 54, 31, 12,
             PositionDirection.East, 18, 31, 48));
     list.Add("Gelsenkirchen (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 51, 30, 36,
             PositionDirection.East, 7, 6, 36));
     list.Add("General Escobedo (Mex)", "America/Monterrey",
         new Position(PositionDirection.North, 25, 49, 12,
             PositionDirection.West, 100, 19, 48));
     list.Add("Genoa (Ita)", "Europe/Rome",
         new Position(PositionDirection.North, 44, 25, 12,
             PositionDirection.East, 8, 55, 48));
     list.Add("Gent (Bel)", "Europe/Brussels",
         new Position(PositionDirection.North, 51, 3, 0,
             PositionDirection.East, 3, 43, 12));
     list.Add("Georgetown (Guy)", "America/Guyana",
         new Position(PositionDirection.North, 6, 47, 24,
             PositionDirection.West, 58, 9, 36));
     list.Add("Ghaziabad (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 28, 39, 36,
             PositionDirection.East, 77, 24, 36));
     list.Add("Gifu (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 25, 12,
             PositionDirection.East, 136, 45, 35));
     list.Add("Gijon (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 43, 31, 48,
             PositionDirection.West, 5, 40, 12));
     list.Add("Gilbert (USA)", "America/Phoenix",
         new Position(PositionDirection.North, 33, 19, 48,
             PositionDirection.West, 111, 45, 36));
     list.Add("Giza (Egy)", "Africa/Cairo",
         new Position(PositionDirection.North, 30, 0, 36,
             PositionDirection.East, 31, 12, 36));
     list.Add("Gjovik (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 60, 47, 24,
             PositionDirection.East, 10, 39, 0));
     list.Add("Glasgow (UK)", "Europe/London",
         new Position(PositionDirection.North, 55, 52, 12,
             PositionDirection.West, 4, 16, 11));
     list.Add("Glendale (USA)", "America/Phoenix",
         new Position(PositionDirection.North, 33, 34, 48,
             PositionDirection.West, 112, 12, 0));
     list.Add("Goiania (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 16, 43, 11,
             PositionDirection.West, 49, 15, 36));
     list.Add("Gold Coast (Aus)", "Australia/Brisbane",
         new Position(PositionDirection.South, 28, 4, 12,
             PositionDirection.East, 153, 26, 24));
     list.Add("Gomez Palacio (Mex)", "America/Monterrey",
         new Position(PositionDirection.North, 25, 34, 12,
             PositionDirection.West, 103, 30, 0));
     list.Add("Gondar (Eth)", "Africa/Addis_Ababa",
         new Position(PositionDirection.North, 12, 36, 36,
             PositionDirection.East, 37, 27, 36));
     list.Add("Gorakhpur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 26, 45, 36,
             PositionDirection.East, 83, 21, 36));
     list.Add("Gorgan (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 36, 49, 48,
             PositionDirection.East, 54, 28, 48));
     list.Add("Goteborg (Swe)", "Europe/Stockholm",
         new Position(PositionDirection.North, 57, 43, 12,
             PositionDirection.East, 12, 0, 36));
     list.Add("Governador Valadares (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 18, 52, 12,
             PositionDirection.West, 41, 58, 12));
     list.Add("Granada (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 37, 10, 12,
             PositionDirection.West, 3, 35, 24));
     list.Add("Gravatai (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 29, 57, 0,
             PositionDirection.West, 50, 59, 24));
     list.Add("Graz (Aus)", "Europe/Vienna",
         new Position(PositionDirection.North, 47, 4, 48,
             PositionDirection.East, 15, 25, 12));
     list.Add("Greensboro (USA)", "America/New_York",
         new Position(PositionDirection.North, 36, 4, 48,
             PositionDirection.West, 79, 49, 48));
     list.Add("Grimstad (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 58, 21, 0,
             PositionDirection.East, 8, 36, 0));
     list.Add("Guacara (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 10, 14, 24,
             PositionDirection.West, 67, 53, 24));
     list.Add("Guadalajara (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 20, 40, 12,
             PositionDirection.West, 103, 21, 0));
     list.Add("Guadalupe (Mex)", "America/Monterrey",
         new Position(PositionDirection.North, 25, 40, 48,
             PositionDirection.West, 100, 15, 36));
     list.Add("Guangyuan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 32, 25, 48,
             PositionDirection.East, 105, 52, 12));
     list.Add("Guangzhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 23, 7, 12,
             PositionDirection.East, 113, 15, 0));
     list.Add("Guantanamo (Cub)", "America/Havana",
         new Position(PositionDirection.North, 20, 9, 0,
             PositionDirection.West, 75, 13, 12));
     list.Add("Guarenas (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 10, 28, 12,
             PositionDirection.West, 66, 37, 12));
     list.Add("Guaruja (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 24, 0, 0,
             PositionDirection.West, 46, 16, 12));
     list.Add("Guarulhos (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 27, 36,
             PositionDirection.West, 46, 29, 24));
     list.Add("Guatemala (Gua)", "America/Guatemala",
         new Position(PositionDirection.North, 14, 37, 48,
             PositionDirection.West, 90, 33, 0));
     list.Add("Guatire (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 10, 28, 12,
             PositionDirection.West, 66, 31, 48));
     list.Add("Guayaquil (Ecu)", "America/Guayaquil",
         new Position(PositionDirection.South, 2, 12, 36,
             PositionDirection.West, 79, 54, 0));
     list.Add("Guekedou (Gui)", "Africa/Conakry",
         new Position(PositionDirection.North, 8, 33, 36,
             PositionDirection.West, 10, 9, 0));
     list.Add("Guilin (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 25, 16, 48,
             PositionDirection.East, 110, 16, 48));
     list.Add("Guiyang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 26, 34, 48,
             PositionDirection.East, 106, 43, 12));
     list.Add("Gujranwala (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 32, 9, 35,
             PositionDirection.East, 74, 10, 48));
     list.Add("Gujrat (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 32, 34, 48,
             PositionDirection.East, 74, 4, 12));
     list.Add("Gulbarga (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 17, 20, 24,
             PositionDirection.East, 76, 49, 12));
     list.Add("Guntur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 16, 18, 35,
             PositionDirection.East, 80, 26, 24));
     list.Add("Guwahati (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 26, 11, 24,
             PositionDirection.East, 91, 45, 0));
     list.Add("Gwalior (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 26, 13, 48,
             PositionDirection.East, 78, 10, 12));
     list.Add("Ha'il (Sau)", "Asia/Riyadh",
         new Position(PositionDirection.North, 27, 31, 48,
             PositionDirection.East, 41, 42, 0));
     list.Add("Hachinohe (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 40, 31, 12,
             PositionDirection.East, 141, 31, 48));
     list.Add("Hachioji (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 39, 35,
             PositionDirection.East, 139, 19, 48));
     list.Add("Haeju (NKo)", "Asia/Pyongyang",
         new Position(PositionDirection.North, 38, 2, 24,
             PositionDirection.East, 125, 42, 36));
     list.Add("Hafar Al 'AziziyahBatin (Sau)", "Asia/Riyadh",
         new Position(PositionDirection.North, 28, 25, 48,
             PositionDirection.East, 45, 57, 36));
     list.Add("Hai Phong (Vie)", "Asia/Ho_Chi_Minh",
         new Position(PositionDirection.North, 20, 51, 36,
             PositionDirection.East, 106, 40, 48));
     list.Add("Haibowan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 39, 39, 36,
             PositionDirection.East, 106, 48, 0));
     list.Add("Haifa (Isr)", "Asia/Tel_Aviv",
         new Position(PositionDirection.North, 32, 49, 12,
             PositionDirection.East, 34, 59, 24));
     list.Add("Haikou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 20, 3, 0,
             PositionDirection.East, 110, 19, 12));
     list.Add("Hailar (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 49, 13, 48,
             PositionDirection.East, 119, 42, 36));
     list.Add("Hakodate (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 41, 48, 0,
             PositionDirection.East, 140, 44, 24));
     list.Add("Halden (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 7, 48,
             PositionDirection.East, 11, 22, 12));
     list.Add("Halifax (Can)", "America/Halifax",
         new Position(PositionDirection.North, 44, 40, 12,
             PositionDirection.West, 63, 36, 36));
     list.Add("Halle (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 51, 28, 48,
             PositionDirection.East, 11, 57, 36));
     list.Add("Hamadan (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 34, 46, 12,
             PositionDirection.East, 48, 34, 48));
     list.Add("Hamah (Syr)", "Asia/Damascus",
         new Position(PositionDirection.North, 35, 9, 0,
             PositionDirection.East, 36, 43, 48));
     list.Add("Hamamatsu (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 43, 12,
             PositionDirection.East, 137, 43, 47));
     list.Add("Hamar (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 60, 48, 36,
             PositionDirection.East, 11, 4, 48));
     list.Add("Hamburg (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 53, 33, 0,
             PositionDirection.East, 10, 0, 0));
     list.Add("Hamhung (NKo)", "Asia/Pyongyang",
         new Position(PositionDirection.North, 39, 54, 36,
             PositionDirection.East, 127, 32, 24));
     list.Add("Hamilton (Can)", "America/Toronto",
         new Position(PositionDirection.North, 43, 15, 36,
             PositionDirection.West, 79, 51, 0));
     list.Add("Hamis Musayt (Sau)", "Asia/Riyadh",
         new Position(PositionDirection.North, 18, 18, 36,
             PositionDirection.East, 42, 43, 48));
     list.Add("Hammerfest (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 70, 40, 48,
             PositionDirection.East, 23, 42, 36));
     list.Add("Han Yunis (Pal)", "Asia/Gaza",
         new Position(PositionDirection.North, 31, 21, 0,
             PositionDirection.East, 34, 17, 24));
     list.Add("Handan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 36, 34, 48,
             PositionDirection.East, 114, 28, 48));
     list.Add("Hangu (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 39, 13, 48,
             PositionDirection.East, 117, 46, 48));
     list.Add("Hangzhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 30, 15, 0,
             PositionDirection.East, 120, 10, 12));
     list.Add("Hanoi (Vie)", "Asia/Ho_Chi_Minh",
         new Position(PositionDirection.North, 21, 1, 48,
             PositionDirection.East, 105, 50, 24));
     list.Add("Hanover (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 52, 24, 0,
             PositionDirection.East, 9, 43, 48));
     list.Add("Haora (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 34, 48,
             PositionDirection.East, 88, 19, 48));
     list.Add("Hapur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 28, 43, 48,
             PositionDirection.East, 77, 46, 12));
     list.Add("Harare (Zim)", "Africa/Harare",
         new Position(PositionDirection.South, 17, 49, 12,
             PositionDirection.East, 31, 3, 0));
     list.Add("Harbin (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 45, 45, 0,
             PositionDirection.East, 126, 39, 0));
     list.Add("Hargeysa (Som)", "Africa/Mogadishu",
         new Position(PositionDirection.North, 9, 33, 36,
             PositionDirection.East, 44, 3, 36));
     list.Add("Harstad (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 68, 48, 36,
             PositionDirection.East, 16, 31, 12));
     list.Add("Haugesund (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 25, 12,
             PositionDirection.East, 5, 16, 12));
     list.Add("Havanna (Cub)", "America/Havana",
         new Position(PositionDirection.North, 23, 7, 48,
             PositionDirection.West, 82, 23, 24));
     list.Add("Hebi (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 35, 57, 0,
             PositionDirection.East, 114, 13, 12));
     list.Add("Hebron (Pal)", "Asia/Gaza",
         new Position(PositionDirection.North, 31, 32, 24,
             PositionDirection.East, 35, 5, 24));
     list.Add("Hefei (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 31, 51, 0,
             PositionDirection.East, 117, 16, 48));
     list.Add("Hegang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 47, 24, 0,
             PositionDirection.East, 130, 22, 12));
     list.Add("Helsinki (Fin)", "Europe/Helsinki",
         new Position(PositionDirection.North, 60, 10, 12,
             PositionDirection.East, 24, 56, 24));
     list.Add("Henderson (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 36, 1, 48,
             PositionDirection.West, 115, 0, 0));
     list.Add("Hengshui (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 37, 43, 12,
             PositionDirection.East, 115, 42, 0));
     list.Add("Hengyang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 26, 53, 24,
             PositionDirection.East, 112, 37, 12));
     list.Add("Herat (Afg)", "Asia/Kabul",
         new Position(PositionDirection.North, 34, 21, 0,
             PositionDirection.East, 62, 10, 48));
     list.Add("Hermosillo (Mex)", "America/Hermosillo",
         new Position(PositionDirection.North, 29, 4, 12,
             PositionDirection.West, 110, 58, 12));
     list.Add("Heze (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 35, 13, 47,
             PositionDirection.East, 115, 27, 0));
     list.Add("Hialeah (USA)", "America/New_York",
         new Position(PositionDirection.North, 25, 51, 36,
             PositionDirection.West, 80, 18, 0));
     list.Add("Higashiosaka (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 40, 12,
             PositionDirection.East, 135, 35, 24));
     list.Add("Himeji (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 49, 48,
             PositionDirection.East, 134, 41, 24));
     list.Add("Hims (Syr)", "Asia/Damascus",
         new Position(PositionDirection.North, 34, 43, 47,
             PositionDirection.East, 36, 43, 12));
     list.Add("Hirakata (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 48, 36,
             PositionDirection.East, 135, 39, 36));
     list.Add("Hiratsuka (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 19, 48,
             PositionDirection.East, 139, 21, 0));
     list.Add("Hiroshima (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 23, 24,
             PositionDirection.East, 132, 26, 24));
     list.Add("Hisar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 29, 10, 12,
             PositionDirection.East, 75, 43, 12));
     list.Add("Ho Chi Minh City (Vie)", "Asia/Ho_Chi_Minh",
         new Position(PositionDirection.North, 10, 46, 48,
             PositionDirection.East, 106, 41, 24));
     list.Add("Hofuf (Sau)", "Asia/Riyadh",
         new Position(PositionDirection.North, 25, 21, 0,
             PositionDirection.East, 49, 34, 48));
     list.Add("Hohhot (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 40, 49, 12,
             PositionDirection.East, 111, 38, 24));
     list.Add("Holguin (Cub)", "America/Havana",
         new Position(PositionDirection.North, 20, 53, 24,
             PositionDirection.West, 76, 15, 0));
     list.Add("Holmestrand (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 30, 0,
             PositionDirection.East, 10, 18, 36));
     list.Add("Homjel (Bel)", "Europe/Minsk",
         new Position(PositionDirection.North, 52, 25, 48,
             PositionDirection.East, 30, 59, 24));
     list.Add("Hommelvik (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 63, 25, 12,
             PositionDirection.East, 10, 48, 0));
     list.Add("Hommersak (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 58, 55, 48,
             PositionDirection.East, 5, 51, 0));
     list.Add("Honefoss (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 60, 11, 24,
             PositionDirection.East, 10, 13, 48));
     list.Add("Honolulu (USA)", "Pacific/Honolulu",
         new Position(PositionDirection.North, 21, 19, 12,
             PositionDirection.West, 157, 48, 0));
     list.Add("Horlivka (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 48, 18, 0,
             PositionDirection.East, 38, 3, 0));
     list.Add("Horten (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 25, 12,
             PositionDirection.East, 10, 28, 12));
     list.Add("Hortolandia (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 22, 51, 0,
             PositionDirection.West, 47, 15, 36));
     list.Add("Hospet (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 15, 16, 48,
             PositionDirection.East, 76, 22, 12));
     list.Add("Houston (USA)", "America/Chicago",
         new Position(PositionDirection.North, 29, 46, 12,
             PositionDirection.West, 95, 23, 24));
     list.Add("Hrodna (Bel)", "Europe/Minsk",
         new Position(PositionDirection.North, 53, 40, 12,
             PositionDirection.East, 23, 49, 48));
     list.Add("Huaibei (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 33, 57, 0,
             PositionDirection.East, 116, 45, 0));
     list.Add("Huainan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 32, 37, 48,
             PositionDirection.East, 116, 58, 48));
     list.Add("Huaiyin (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 33, 34, 48,
             PositionDirection.East, 119, 1, 48));
     list.Add("Huambo (Ang)", "Africa/Luanda",
         new Position(PositionDirection.South, 12, 46, 12,
             PositionDirection.East, 15, 44, 24));
     list.Add("Huancayo (Per)", "America/Lima",
         new Position(PositionDirection.South, 12, 4, 12,
             PositionDirection.West, 75, 12, 36));
     list.Add("Huanggang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 23, 40, 48,
             PositionDirection.East, 117, 0, 0));
     list.Add("Huangshi (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 30, 13, 12,
             PositionDirection.East, 115, 6, 0));
     list.Add("Hubli (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 15, 21, 36,
             PositionDirection.East, 75, 7, 48));
     list.Add("Hue (Vie)", "Asia/Ho_Chi_Minh",
         new Position(PositionDirection.North, 16, 28, 48,
             PositionDirection.East, 107, 34, 48));
     list.Add("Huicheng (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 22, 31, 12,
             PositionDirection.East, 113, 1, 12));
     list.Add("Huizhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 23, 4, 48,
             PositionDirection.East, 114, 24, 0));
     list.Add("Hulan Ergi (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 47, 12, 36,
             PositionDirection.East, 123, 36, 36));
     list.Add("Hungnam (NKo)", "Asia/Pyongyang",
         new Position(PositionDirection.North, 39, 49, 48,
             PositionDirection.East, 127, 37, 12));
     list.Add("Hyderabad (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 17, 23, 59,
             PositionDirection.East, 78, 28, 48));
     list.Add("Hyderabad (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 25, 22, 48,
             PositionDirection.East, 68, 22, 12));
     list.Add("Iasi (Rom)", "Europe/Bucharest",
         new Position(PositionDirection.North, 47, 10, 12,
             PositionDirection.East, 27, 34, 12));
     list.Add("Ibadan (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 7, 22, 48,
             PositionDirection.East, 3, 55, 48));
     list.Add("Ibague (Col)", "America/Bogota",
         new Position(PositionDirection.North, 4, 27, 0,
             PositionDirection.West, 75, 14, 24));
     list.Add("Ibaraki (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 48, 36,
             PositionDirection.East, 135, 34, 12));
     list.Add("Ibb (Yem)", "Asia/Aden",
         new Position(PositionDirection.North, 0, 0, 0,
             PositionDirection.East, 99, 59, 24));
     list.Add("Ica (Per)", "America/Lima",
         new Position(PositionDirection.South, 14, 3, 36,
             PositionDirection.West, 75, 45, 0));
     list.Add("Ichalkaranji (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 16, 41, 24,
             PositionDirection.East, 74, 27, 36));
     list.Add("Ichihara (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 31, 48,
             PositionDirection.East, 140, 5, 24));
     list.Add("Ichikawa (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 43, 12,
             PositionDirection.East, 139, 55, 48));
     list.Add("Ife (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 7, 28, 48,
             PositionDirection.East, 4, 33, 36));
     list.Add("Ijebu Ode (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 6, 49, 12,
             PositionDirection.East, 3, 55, 12));
     list.Add("Iksan (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 35, 56, 23,
             PositionDirection.East, 126, 57, 0));
     list.Add("Ilesha (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 7, 37, 48,
             PositionDirection.East, 4, 44, 24));
     list.Add("Iligan (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 8, 10, 12,
             PositionDirection.East, 124, 13, 12));
     list.Add("Ilobu (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 7, 50, 24,
             PositionDirection.East, 4, 28, 48));
     list.Add("Iloilo (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 10, 41, 24,
             PositionDirection.East, 122, 33, 0));
     list.Add("Ilorin (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 8, 29, 24,
             PositionDirection.East, 4, 33, 0));
     list.Add("Imperatriz (Bra)", "America/Fortaleza",
         new Position(PositionDirection.South, 5, 31, 12,
             PositionDirection.West, 47, 29, 24));
     list.Add("Imphal (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 24, 47, 24,
             PositionDirection.East, 93, 56, 24));
     list.Add("Imus (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 14, 25, 48,
             PositionDirection.East, 120, 56, 24));
     list.Add("Incheon (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 37, 28, 48,
             PositionDirection.East, 126, 38, 24));
     list.Add("Indaiatuba (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 5, 24,
             PositionDirection.West, 47, 12, 36));
     list.Add("Indianapolis (USA)", "America/Chicago",
         new Position(PositionDirection.North, 39, 46, 48,
             PositionDirection.West, 86, 9, 0));
     list.Add("Indore (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 43, 12,
             PositionDirection.East, 75, 51, 36));
     list.Add("Indre Arna (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 60, 25, 12,
             PositionDirection.East, 5, 28, 48));
     list.Add("Ipatinga (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 19, 28, 48,
             PositionDirection.West, 42, 31, 12));
     list.Add("Ipoh (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 4, 36, 0,
             PositionDirection.East, 101, 4, 12));
     list.Add("Iquique (Chi)", "America/Santiago",
         new Position(PositionDirection.South, 20, 13, 48,
             PositionDirection.West, 70, 8, 24));
     list.Add("Iquitos (Per)", "America/Lima",
         new Position(PositionDirection.South, 3, 45, 0,
             PositionDirection.West, 73, 12, 0));
     list.Add("Irapuato (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 20, 40, 48,
             PositionDirection.West, 101, 21, 36));
     list.Add("Irbid (Jor)", "Asia/Amman",
         new Position(PositionDirection.North, 32, 32, 59,
             PositionDirection.East, 35, 51, 0));
     list.Add("Irbil (Ira)", "Asia/Baghdad",
         new Position(PositionDirection.North, 36, 10, 48,
             PositionDirection.East, 44, 0, 36));
     list.Add("Irkutsk (Rus)", "Asia/Irkutsk",
         new Position(PositionDirection.North, 52, 19, 48,
             PositionDirection.East, 104, 14, 24));
     list.Add("Irvine (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 33, 39, 35,
             PositionDirection.West, 117, 48, 0));
     list.Add("Isesaki (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 36, 19, 12,
             PositionDirection.East, 139, 11, 59));
     list.Add("Islamabad (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 33, 43, 12,
             PositionDirection.East, 73, 3, 36));
     list.Add("Ismailia (Egy)", "Africa/Cairo",
         new Position(PositionDirection.North, 30, 35, 24,
             PositionDirection.East, 32, 15, 36));
     list.Add("Istanbul (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 41, 6, 0,
             PositionDirection.East, 29, 0, 0));
     list.Add("Itabuna (Bra)", "America/Bahia",
         new Position(PositionDirection.South, 14, 47, 24,
             PositionDirection.West, 39, 16, 48));
     list.Add("Itagui (Col)", "America/Bogota",
         new Position(PositionDirection.North, 6, 10, 12,
             PositionDirection.West, 75, 37, 12));
     list.Add("Itapevi (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 33, 0,
             PositionDirection.West, 46, 56, 24));
     list.Add("Itaquaquecetuba (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 28, 12,
             PositionDirection.West, 46, 21, 0));
     list.Add("Ivano-Frankivsk (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 48, 55, 12,
             PositionDirection.East, 24, 42, 36));
     list.Add("Ivanovo (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 57, 0, 36,
             PositionDirection.East, 40, 59, 24));
     list.Add("Iwaki (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 37, 3, 0,
             PositionDirection.East, 140, 52, 48));
     list.Add("Ixtapaluca (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 19, 19, 12,
             PositionDirection.West, 98, 52, 48));
     list.Add("Izhevsk (Rus)", "Europe/Samara",
         new Position(PositionDirection.North, 56, 51, 0,
             PositionDirection.East, 53, 13, 48));
     list.Add("Izmir (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 38, 25, 48,
             PositionDirection.East, 27, 9, 0));
     list.Add("Izmit (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 40, 46, 12,
             PositionDirection.East, 29, 55, 48));
     list.Add("Jabaliya (Pal)", "Asia/Gaza",
         new Position(PositionDirection.North, 31, 31, 48,
             PositionDirection.East, 34, 29, 24));
     list.Add("Jabalpur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 23, 10, 12,
             PositionDirection.East, 79, 56, 24));
     list.Add("Jaboatao (Bra)", "America/Recife",
         new Position(PositionDirection.South, 8, 6, 35,
             PositionDirection.West, 35, 1, 12));
     list.Add("Jacarei (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 18, 0,
             PositionDirection.West, 45, 57, 36));
     list.Add("Jacksonville (USA)", "America/New_York",
         new Position(PositionDirection.North, 30, 19, 48,
             PositionDirection.West, 81, 39, 36));
     list.Add("Jaipur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 26, 55, 12,
             PositionDirection.East, 75, 48, 0));
     list.Add("Jakarta (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 10, 48,
             PositionDirection.East, 106, 49, 48));
     list.Add("Jakutskaj (Rus)", "Asia/Yakutsk",
         new Position(PositionDirection.North, 62, 1, 48,
             PositionDirection.East, 129, 43, 47));
     list.Add("Jalandhar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 31, 19, 48,
             PositionDirection.East, 75, 34, 12));
     list.Add("Jalgaon (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 21, 0, 36,
             PositionDirection.East, 75, 33, 36));
     list.Add("Jalingo (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 8, 54, 0,
             PositionDirection.East, 11, 21, 36));
     list.Add("Jalna (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 19, 51, 0,
             PositionDirection.East, 75, 52, 48));
     list.Add("Jambi (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 1, 35, 24,
             PositionDirection.East, 103, 36, 36));
     list.Add("Jammu (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 32, 42, 36,
             PositionDirection.East, 74, 51, 0));
     list.Add("Jamnagar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 28, 12,
             PositionDirection.East, 70, 4, 11));
     list.Add("Jamshedpur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 47, 24,
             PositionDirection.East, 86, 12, 0));
     list.Add("Jeddah (Sau)", "Asia/Riyadh",
         new Position(PositionDirection.North, 21, 30, 0,
             PositionDirection.East, 39, 10, 12));
     list.Add("Jember (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 8, 10, 12,
             PositionDirection.East, 113, 41, 24));
     list.Add("Jersey City (USA)", "America/New_York",
         new Position(PositionDirection.North, 40, 42, 36,
             PositionDirection.West, 74, 3, 36));
     list.Add("Jerusalem (Isr)", "Asia/Tel_Aviv",
         new Position(PositionDirection.North, 31, 46, 48,
             PositionDirection.East, 35, 13, 12));
     list.Add("Jessheim (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 60, 9, 0,
             PositionDirection.East, 11, 10, 48));
     list.Add("Jessor (Ban)", "Asia/Dhaka",
         new Position(PositionDirection.North, 23, 10, 12,
             PositionDirection.East, 89, 12, 36));
     list.Add("Jhang (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 31, 16, 48,
             PositionDirection.East, 72, 19, 11));
     list.Add("Jhansi (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 25, 27, 0,
             PositionDirection.East, 78, 33, 36));
     list.Add("Jiamusi (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 46, 49, 48,
             PositionDirection.East, 130, 21, 0));
     list.Add("Jiangmen (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 22, 34, 48,
             PositionDirection.East, 113, 4, 48));
     list.Add("Jiaojiang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 28, 40, 48,
             PositionDirection.East, 121, 27, 0));
     list.Add("Jiaozuo (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 35, 15, 0,
             PositionDirection.East, 113, 13, 12));
     list.Add("Jiaxing (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 30, 46, 12,
             PositionDirection.East, 120, 45, 0));
     list.Add("Jiayi (Tai)", "Asia/Taipei",
         new Position(PositionDirection.North, 23, 28, 48,
             PositionDirection.East, 120, 25, 48));
     list.Add("Jilin (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 43, 51, 0,
             PositionDirection.East, 126, 33, 0));
     list.Add("Jilong (Tai)", "Asia/Taipei",
         new Position(PositionDirection.North, 25, 7, 48,
             PositionDirection.East, 121, 43, 48));
     list.Add("Jimeta (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 9, 16, 48,
             PositionDirection.East, 12, 27, 0));
     list.Add("Jinan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 36, 40, 12,
             PositionDirection.East, 117, 0, 0));
     list.Add("Jincheng (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 35, 30, 0,
             PositionDirection.East, 112, 49, 48));
     list.Add("Jingdezhen (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 29, 16, 12,
             PositionDirection.East, 117, 10, 48));
     list.Add("Jining (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 35, 24, 0,
             PositionDirection.East, 116, 33, 0));
     list.Add("Jinxi (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 40, 45, 0,
             PositionDirection.East, 120, 49, 48));
     list.Add("Jinzhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 41, 7, 12,
             PositionDirection.East, 121, 6, 0));
     list.Add("Jiujiang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 29, 43, 48,
             PositionDirection.East, 115, 58, 48));
     list.Add("Jiulong (Chi)", "Asia/Hong_Kong",
         new Position(PositionDirection.North, 22, 19, 12,
             PositionDirection.East, 114, 10, 12));
     list.Add("Jixi (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 45, 18, 0,
             PositionDirection.East, 130, 58, 12));
     list.Add("Joao Pessoa (Bra)", "America/Fortaleza",
         new Position(PositionDirection.South, 7, 7, 12,
             PositionDirection.West, 34, 51, 36));
     list.Add("Jodhpur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 26, 17, 24,
             PositionDirection.East, 73, 1, 12));
     list.Add("Joetsu (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 37, 7, 12,
             PositionDirection.East, 138, 15, 0));
     list.Add("Johannesburg (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 26, 11, 24,
             PositionDirection.East, 28, 2, 24));
     list.Add("Johor Bahru (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 1, 28, 48,
             PositionDirection.East, 103, 45, 0));
     list.Add("Joinville (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 26, 19, 12,
             PositionDirection.West, 48, 50, 24));
     list.Add("Jorpeland (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 1, 12,
             PositionDirection.East, 6, 3, 0));
     list.Add("Jos (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 9, 55, 48,
             PositionDirection.East, 8, 53, 24));
     list.Add("Juarez (Mex)", "America/Chihuahua",
         new Position(PositionDirection.North, 31, 44, 24,
             PositionDirection.West, 106, 29, 24));
     list.Add("Juazeiro do Norte (Bra)", "America/Fortaleza",
         new Position(PositionDirection.South, 7, 12, 36,
             PositionDirection.West, 39, 19, 12));
     list.Add("Juba (Sud)", "Africa/Khartoum",
         new Position(PositionDirection.North, 4, 51, 0,
             PositionDirection.East, 31, 36, 0));
     list.Add("Juiz de Fora (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 21, 45, 0,
             PositionDirection.West, 43, 21, 36));
     list.Add("Jujuy (Arg)", "America/Argentina/Jujuy",
         new Position(PositionDirection.South, 24, 11, 24,
             PositionDirection.West, 65, 18, 0));
     list.Add("Juliaca (Per)", "America/Lima",
         new Position(PositionDirection.South, 15, 30, 0,
             PositionDirection.West, 70, 8, 24));
     list.Add("Jundiai (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 12, 0,
             PositionDirection.West, 46, 52, 48));
     list.Add("Kabul (Afg)", "Asia/Kabul",
         new Position(PositionDirection.North, 34, 31, 48,
             PositionDirection.East, 69, 10, 12));
     list.Add("Kabwe (Zam)", "Africa/Lusaka",
         new Position(PositionDirection.South, 14, 26, 24,
             PositionDirection.East, 28, 27, 0));
     list.Add("Kaduna (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 10, 31, 12,
             PositionDirection.East, 7, 26, 24));
     list.Add("Kaeseong (NKo)", "Asia/Pyongyang",
         new Position(PositionDirection.North, 37, 58, 12,
             PositionDirection.East, 126, 33, 36));
     list.Add("Kagoshima (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 31, 35, 24,
             PositionDirection.East, 130, 33, 36));
     list.Add("Kahramanmaras (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 37, 36, 36,
             PositionDirection.East, 36, 56, 24));
     list.Add("Kaifeng (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 34, 51, 0,
             PositionDirection.East, 114, 21, 0));
     list.Add("Kajang-Sungai Chua (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 2, 58, 48,
             PositionDirection.East, 101, 46, 12));
     list.Add("Kakinada (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 16, 57, 36,
             PositionDirection.East, 82, 14, 24));
     list.Add("Kakogawa (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 46, 12,
             PositionDirection.East, 134, 50, 24));
     list.Add("Kaliningrad (Rus)", "Europe/Kaliningrad",
         new Position(PositionDirection.North, 54, 42, 36,
             PositionDirection.East, 20, 30, 0));
     list.Add("Kaluga (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 54, 32, 24,
             PositionDirection.East, 36, 16, 12));
     list.Add("Kalyan (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 19, 15, 0,
             PositionDirection.East, 73, 9, 36));
     list.Add("Kamarhati (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 40, 12,
             PositionDirection.East, 88, 22, 12));
     list.Add("Kamoke (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 31, 58, 48,
             PositionDirection.East, 74, 12, 36));
     list.Add("Kampala (Uga)", "Africa/Kampala",
         new Position(PositionDirection.North, 0, 19, 12,
             PositionDirection.East, 32, 34, 48));
     list.Add("Kananga (Con)", "Africa/Lubumbashi",
         new Position(PositionDirection.South, 5, 53, 24,
             PositionDirection.East, 22, 24, 0));
     list.Add("Kanazawa (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 36, 33, 36,
             PositionDirection.East, 136, 38, 23));
     list.Add("Kanggye (NKo)", "Asia/Pyongyang",
         new Position(PositionDirection.North, 40, 58, 12,
             PositionDirection.East, 126, 36, 0));
     list.Add("Kano (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 12, 0, 0,
             PositionDirection.East, 8, 31, 12));
     list.Add("Kanpur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 26, 28, 12,
             PositionDirection.East, 80, 19, 48));
     list.Add("Kansas City (USA)", "America/Chicago",
         new Position(PositionDirection.North, 39, 7, 12,
             PositionDirection.West, 94, 33, 0));
     list.Add("Kapra (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 17, 22, 12,
             PositionDirection.East, 78, 28, 48));
     list.Add("Karachi (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 24, 51, 36,
             PositionDirection.East, 67, 0, 36));
     list.Add("Karaganda (Kaz)", "Asia/Almaty",
         new Position(PositionDirection.North, 49, 52, 48,
             PositionDirection.East, 73, 9, 36));
     list.Add("Karaj (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 35, 47, 59,
             PositionDirection.East, 50, 58, 12));
     list.Add("Karawang (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 18, 0,
             PositionDirection.East, 107, 16, 48));
     list.Add("Karbala (Ira)", "Asia/Baghdad",
         new Position(PositionDirection.North, 32, 36, 36,
             PositionDirection.East, 44, 1, 48));
     list.Add("Karimnagar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 18, 27, 0,
             PositionDirection.East, 79, 7, 48));
     list.Add("Karlsruhe (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 49, 0, 0,
             PositionDirection.East, 8, 24, 0));
     list.Add("Karnal (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 29, 41, 24,
             PositionDirection.East, 76, 58, 12));
     list.Add("Karnul (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 15, 49, 48,
             PositionDirection.East, 78, 1, 48));
     list.Add("Karsi (Uzb)", "Asia/Tashkent",
         new Position(PositionDirection.North, 38, 52, 12,
             PositionDirection.East, 65, 48, 0));
     list.Add("Kashan (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 33, 58, 47,
             PositionDirection.East, 51, 34, 48));
     list.Add("Kashi (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 39, 28, 48,
             PositionDirection.East, 75, 58, 12));
     list.Add("Kashiwa (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 52, 11,
             PositionDirection.East, 139, 58, 12));
     list.Add("Kassala (Sud)", "Africa/Khartoum",
         new Position(PositionDirection.North, 15, 27, 36,
             PositionDirection.East, 36, 23, 24));
     list.Add("Kasugai (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 14, 24,
             PositionDirection.East, 136, 58, 47));
     list.Add("Kasukabe (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 58, 47,
             PositionDirection.East, 139, 46, 12));
     list.Add("Kasur (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 31, 7, 12,
             PositionDirection.East, 74, 27, 0));
     list.Add("Kataka (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 20, 28, 12,
             PositionDirection.East, 85, 52, 48));
     list.Add("Kathmandu (Nep)", "Asia/Kathmandu",
         new Position(PositionDirection.North, 27, 42, 36,
             PositionDirection.East, 85, 18, 36));
     list.Add("Katihar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 25, 33, 0,
             PositionDirection.East, 87, 34, 12));
     list.Add("Katowice (Pol)", "Europe/Warsaw",
         new Position(PositionDirection.North, 50, 15, 36,
             PositionDirection.East, 19, 1, 12));
     list.Add("Kaunas (Lit)", "Europe/Vilnius",
         new Position(PositionDirection.North, 54, 54, 0,
             PositionDirection.East, 23, 54, 36));
     list.Add("Kawagoe (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 55, 12,
             PositionDirection.East, 139, 29, 24));
     list.Add("Kawaguchi (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 48, 36,
             PositionDirection.East, 139, 43, 47));
     list.Add("Kawasaki (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 31, 48,
             PositionDirection.East, 139, 41, 59));
     list.Add("Kayseri (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 38, 44, 24,
             PositionDirection.East, 35, 28, 47));
     list.Add("Kazan (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 55, 45, 0,
             PositionDirection.East, 49, 7, 48));
     list.Add("Kediri (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 7, 48, 36,
             PositionDirection.East, 112, 0, 36));
     list.Add("Kemerovo (Rus)", "Asia/Krasnoyarsk",
         new Position(PositionDirection.North, 55, 19, 48,
             PositionDirection.East, 86, 4, 48));
     list.Add("Kendari (Ind)", "Asia/Makassar",
         new Position(PositionDirection.South, 3, 58, 12,
             PositionDirection.East, 122, 35, 24));
     list.Add("Kenitra (Mor)", "Africa/Casablanca",
         new Position(PositionDirection.North, 34, 16, 12,
             PositionDirection.West, 6, 34, 48));
     list.Add("Kerman (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 30, 18, 0,
             PositionDirection.East, 57, 4, 48));
     list.Add("Kermanshah (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 34, 22, 48,
             PositionDirection.East, 47, 3, 36));
     list.Add("Khabarovsk (Rus)", "Asia/Vladivostok",
         new Position(PositionDirection.North, 48, 25, 12,
             PositionDirection.East, 135, 7, 12));
     list.Add("Kharkiv (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 49, 58, 48,
             PositionDirection.East, 36, 13, 12));
     list.Add("Khartoum (Sud)", "Africa/Khartoum",
         new Position(PositionDirection.North, 15, 34, 48,
             PositionDirection.East, 32, 31, 12));
     list.Add("Kherson (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 46, 37, 48,
             PositionDirection.East, 32, 36, 0));
     list.Add("Khmelnytskyi (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 49, 25, 12,
             PositionDirection.East, 27, 0, 0));
     list.Add("Khomeynishahr (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 32, 42, 0,
             PositionDirection.East, 51, 28, 12));
     list.Add("Khorramabad (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 33, 28, 47,
             PositionDirection.East, 48, 21, 0));
     list.Add("Khulna (Ban)", "Asia/Dhaka",
         new Position(PositionDirection.North, 22, 50, 24,
             PositionDirection.East, 89, 33, 36));
     list.Add("Kiel (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 54, 19, 12,
             PositionDirection.East, 10, 7, 12));
     list.Add("Kielce (Pol)", "Europe/Warsaw",
         new Position(PositionDirection.North, 50, 53, 24,
             PositionDirection.East, 20, 39, 0));
     list.Add("Kiev (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 50, 25, 48,
             PositionDirection.East, 30, 31, 12));
     list.Add("Kigali (Rwa)", "Africa/Kigali",
         new Position(PositionDirection.South, 1, 56, 24,
             PositionDirection.East, 30, 3, 36));
     list.Add("Kimhae (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 35, 11, 23,
             PositionDirection.East, 128, 55, 48));
     list.Add("Kimpo (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 37, 38, 24,
             PositionDirection.East, 126, 42, 0));
     list.Add("Kingston (Jam)", "America/Jamaica",
         new Position(PositionDirection.North, 17, 59, 23,
             PositionDirection.West, 76, 48, 0));
     list.Add("Kingston upon Hull (UK)", "Europe/London",
         new Position(PositionDirection.North, 53, 45, 0,
             PositionDirection.West, 0, 21, 36));
     list.Add("Kinshasa (Con)", "Africa/Kinshasa",
         new Position(PositionDirection.South, 4, 18, 35,
             PositionDirection.East, 15, 19, 12));
     list.Add("Kirkuk (Ira)", "Asia/Baghdad",
         new Position(PositionDirection.North, 35, 28, 12,
             PositionDirection.East, 44, 23, 24));
     list.Add("Kirov (Rus)", "Europe/Volgograd",
         new Position(PositionDirection.North, 58, 36, 0,
             PositionDirection.East, 49, 39, 36));
     list.Add("Kirovohrad (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 48, 30, 0,
             PositionDirection.East, 32, 15, 36));
     list.Add("Kisangani (Con)", "Africa/Lubumbashi",
         new Position(PositionDirection.North, 0, 31, 48,
             PositionDirection.East, 25, 11, 24));
     list.Add("Kisumu (Ken)", "Africa/Nairobi",
         new Position(PositionDirection.South, 0, 5, 24,
             PositionDirection.East, 34, 45, 0));
     list.Add("Kitakyushu (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 33, 52, 48,
             PositionDirection.East, 130, 51, 36));
     list.Add("Kitchener (Can)", "America/Toronto",
         new Position(PositionDirection.North, 43, 27, 36,
             PositionDirection.West, 80, 30, 0));
     list.Add("Kitwe (Zam)", "Africa/Lusaka",
         new Position(PositionDirection.South, 12, 48, 36,
             PositionDirection.East, 28, 13, 12));
     list.Add("Klang (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 3, 2, 24,
             PositionDirection.East, 101, 27, 0));
     list.Add("Kleppe-Verdalen (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 58, 46, 48,
             PositionDirection.East, 5, 38, 24));
     list.Add("Klofta (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 60, 4, 12,
             PositionDirection.East, 11, 9, 0));
     list.Add("Knarrevik-Straume (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 60, 22, 12,
             PositionDirection.East, 5, 9, 36));
     list.Add("Knarvik (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 60, 32, 24,
             PositionDirection.East, 5, 17, 24));
     list.Add("Kobe (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 40, 48,
             PositionDirection.East, 135, 10, 11));
     list.Add("Kochi (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 10, 1, 12,
             PositionDirection.East, 76, 13, 12));
     list.Add("Kochi (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 33, 33, 36,
             PositionDirection.East, 133, 32, 24));
     list.Add("Kolhapur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 16, 42, 0,
             PositionDirection.East, 74, 13, 12));
     list.Add("Kollam (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 8, 53, 24,
             PositionDirection.East, 76, 34, 48));
     list.Add("Kolwezi (Con)", "Africa/Lubumbashi",
         new Position(PositionDirection.South, 10, 42, 0,
             PositionDirection.East, 25, 39, 36));
     list.Add("Komilla (Ban)", "Asia/Dhaka",
         new Position(PositionDirection.North, 23, 27, 36,
             PositionDirection.East, 91, 10, 12));
     list.Add("Komsomolsk-na-Amure (Rus)", "Asia/Vladivostok",
         new Position(PositionDirection.North, 50, 33, 36,
             PositionDirection.East, 137, 0, 0));
     list.Add("Kongsberg (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 40, 12,
             PositionDirection.East, 9, 37, 48));
     list.Add("Kongsvinger (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 60, 12, 0,
             PositionDirection.East, 11, 59, 24));
     list.Add("Konya (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 37, 52, 48,
             PositionDirection.East, 32, 28, 47));
     list.Add("Kopervik (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 17, 24,
             PositionDirection.East, 5, 18, 36));
     list.Add("Korba (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 21, 0,
             PositionDirection.East, 82, 41, 24));
     list.Add("Koriyama (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 37, 24, 36,
             PositionDirection.East, 140, 22, 48));
     list.Add("Koshigaya (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 53, 24,
             PositionDirection.East, 139, 47, 24));
     list.Add("Kosice (Svk)", "Europe/Bratislava",
         new Position(PositionDirection.North, 48, 43, 48,
             PositionDirection.East, 21, 15, 36));
     list.Add("Kostanay (Kaz)", "Asia/Almaty",
         new Position(PositionDirection.North, 53, 13, 12,
             PositionDirection.East, 63, 37, 48));
     list.Add("Kostroma (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 57, 46, 12,
             PositionDirection.East, 40, 55, 48));
     list.Add("Kota (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 25, 10, 48,
             PositionDirection.East, 75, 49, 48));
     list.Add("Kota Bahru (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 6, 7, 12,
             PositionDirection.East, 102, 14, 24));
     list.Add("Kota Kinabalu (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 5, 58, 12,
             PositionDirection.East, 116, 4, 12));
     list.Add("Koyampattur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 11, 0, 36,
             PositionDirection.East, 76, 57, 36));
     list.Add("Koyang (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 37, 42, 0,
             PositionDirection.East, 126, 55, 48));
     list.Add("Kozhikkod (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 11, 15, 36,
             PositionDirection.East, 75, 46, 48));
     list.Add("Kragero (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 58, 52, 12,
             PositionDirection.East, 9, 24, 0));
     list.Add("Krasnodar (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 45, 1, 48,
             PositionDirection.East, 38, 58, 48));
     list.Add("Krasnokokshaisk (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 56, 38, 24,
             PositionDirection.East, 47, 52, 12));
     list.Add("Krasnoyarsk (Rus)", "Asia/Krasnoyarsk",
         new Position(PositionDirection.North, 56, 1, 12,
             PositionDirection.East, 93, 3, 36));
     list.Add("Krefeld (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 51, 19, 48,
             PositionDirection.East, 6, 33, 0));
     list.Add("Kremenchuk (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 49, 4, 12,
             PositionDirection.East, 33, 25, 12));
     list.Add("Krishnarajapura (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 12, 58, 12,
             PositionDirection.East, 77, 44, 24));
     list.Add("Kristiansand (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 58, 9, 0,
             PositionDirection.East, 7, 59, 24));
     list.Add("Kristiansund (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 63, 7, 12,
             PositionDirection.East, 7, 45, 36));
     list.Add("Krugersdorp (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 26, 5, 24,
             PositionDirection.East, 27, 46, 12));
     list.Add("Kryvyy Rih (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 47, 55, 12,
             PositionDirection.East, 33, 21, 0));
     list.Add("Kuala Lumpur (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 3, 9, 36,
             PositionDirection.East, 101, 42, 36));
     list.Add("Kuala Terengganu (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 5, 19, 48,
             PositionDirection.East, 103, 8, 24));
     list.Add("Kuantan (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 3, 49, 12,
             PositionDirection.East, 103, 20, 24));
     list.Add("Kuching (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 1, 33, 0,
             PositionDirection.East, 110, 20, 24));
     list.Add("Kukatpalle (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 17, 29, 23,
             PositionDirection.East, 78, 24, 36));
     list.Add("Kukon (Uzb)", "Asia/Tashkent",
         new Position(PositionDirection.North, 40, 32, 24,
             PositionDirection.East, 70, 56, 24));
     list.Add("Kulti (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 23, 43, 12,
             PositionDirection.East, 86, 53, 24));
     list.Add("Kumamoto (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 32, 47, 59,
             PositionDirection.East, 130, 42, 36));
     list.Add("Kumasi (Gha)", "Africa/Accra",
         new Position(PositionDirection.North, 6, 41, 24,
             PositionDirection.West, 1, 37, 48));
     list.Add("Kumi (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 36, 7, 48,
             PositionDirection.East, 128, 21, 0));
     list.Add("Kunming (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 25, 3, 0,
             PositionDirection.East, 102, 42, 0));
     list.Add("Kunpo (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 37, 21, 0,
             PositionDirection.East, 126, 57, 0));
     list.Add("Kunsan (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 35, 59, 24,
             PositionDirection.East, 126, 42, 36));
     list.Add("Kupang (Ind)", "Asia/Makassar",
         new Position(PositionDirection.South, 10, 10, 12,
             PositionDirection.East, 123, 34, 12));
     list.Add("Kurashiki (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 36, 36,
             PositionDirection.East, 133, 46, 12));
     list.Add("Kure (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 15, 0,
             PositionDirection.East, 132, 33, 36));
     list.Add("Kurgan (Rus)", "Asia/Yekaterinburg",
         new Position(PositionDirection.North, 55, 27, 0,
             PositionDirection.East, 65, 19, 48));
     list.Add("Kursk (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 51, 43, 48,
             PositionDirection.East, 36, 11, 23));
     list.Add("Kurume (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 33, 18, 36,
             PositionDirection.East, 130, 30, 35));
     list.Add("Kusti (Sud)", "Africa/Khartoum",
         new Position(PositionDirection.North, 13, 10, 12,
             PositionDirection.East, 32, 39, 35));
     list.Add("Kut (Ira)", "Asia/Baghdad",
         new Position(PositionDirection.North, 32, 30, 0,
             PositionDirection.East, 45, 49, 48));
     list.Add("Kutahya (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 39, 25, 12,
             PositionDirection.East, 29, 58, 48));
     list.Add("Kuytun (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 44, 26, 24,
             PositionDirection.East, 84, 53, 24));
     list.Add("Kvernaland (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 58, 47, 24,
             PositionDirection.East, 5, 43, 48));
     list.Add("Kwangju (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 35, 9, 35,
             PositionDirection.East, 126, 54, 36));
     list.Add("Kwangmyeong (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 37, 27, 0,
             PositionDirection.East, 126, 50, 24));
     list.Add("Kyoto (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 0, 36,
             PositionDirection.East, 135, 45, 0));
     list.Add("L'Hospitalet de Llobregat (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 41, 21, 0,
             PositionDirection.East, 2, 6, 0));
     list.Add("La Paz (Bol)", "America/La_Paz",
         new Position(PositionDirection.South, 16, 30, 0,
             PositionDirection.West, 68, 9, 0));
     list.Add("La Plata (Arg)", "America/Argentina/Buenos_Aires",
         new Position(PositionDirection.South, 34, 55, 12,
             PositionDirection.West, 57, 57, 36));
     list.Add("La Romana (Dom)", "America/Santo_Domingo",
         new Position(PositionDirection.North, 18, 25, 48,
             PositionDirection.West, 68, 58, 12));
     list.Add("Lagos (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 6, 30, 0,
             PositionDirection.East, 3, 21, 0));
     list.Add("Lahore (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 31, 33, 36,
             PositionDirection.East, 74, 21, 0));
     list.Add("Lakhnau (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 26, 51, 0,
             PositionDirection.East, 80, 55, 12));
     list.Add("Lalbahadur Nagar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 17, 25, 48,
             PositionDirection.East, 78, 30, 0));
     list.Add("Langfang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 39, 31, 12,
             PositionDirection.East, 116, 40, 48));
     list.Add("Lanzhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 36, 2, 59,
             PositionDirection.East, 103, 40, 48));
     list.Add("Laohekou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 32, 23, 24,
             PositionDirection.East, 111, 39, 36));
     list.Add("Lapu-Lapu (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 10, 19, 48,
             PositionDirection.East, 123, 57, 36));
     list.Add("Laredo (USA)", "America/Chicago",
         new Position(PositionDirection.North, 27, 31, 48,
             PositionDirection.West, 99, 29, 24));
     list.Add("Larkana (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 27, 33, 36,
             PositionDirection.East, 68, 12, 35));
     list.Add("Larvik (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 4, 12,
             PositionDirection.East, 9, 59, 24));
     list.Add("Las Palmas (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 28, 6, 0,
             PositionDirection.West, 15, 25, 48));
     list.Add("Las Vegas (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 36, 12, 36,
             PositionDirection.West, 115, 13, 12));
     list.Add("Latur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 18, 24, 36,
             PositionDirection.East, 76, 34, 48));
     list.Add("Lauro de Freitas (Bra)", "America/Bahia",
         new Position(PositionDirection.South, 12, 54, 36,
             PositionDirection.West, 38, 21, 0));
     list.Add("Leeds (UK)", "Europe/London",
         new Position(PositionDirection.North, 53, 48, 36,
             PositionDirection.West, 1, 33, 0));
     list.Add("Leicester (UK)", "Europe/London",
         new Position(PositionDirection.North, 52, 38, 24,
             PositionDirection.West, 1, 7, 47));
     list.Add("Leipzig (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 51, 21, 0,
             PositionDirection.East, 12, 24, 0));
     list.Add("Leirvik (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 48, 0,
             PositionDirection.East, 5, 29, 24));
     list.Add("Lembang (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 48, 36,
             PositionDirection.East, 107, 36, 36));
     list.Add("Leon (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 21, 7, 12,
             PositionDirection.West, 101, 41, 24));
     list.Add("Leuwiliang (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 34, 12,
             PositionDirection.East, 106, 37, 12));
     list.Add("Levanger (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 63, 45, 0,
             PositionDirection.East, 11, 19, 12));
     list.Add("Lexington (USA)", "America/New_York",
         new Position(PositionDirection.North, 38, 2, 24,
             PositionDirection.West, 84, 27, 36));
     list.Add("Liaocheng (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 36, 25, 48,
             PositionDirection.East, 115, 58, 12));
     list.Add("Liaoyang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 41, 16, 48,
             PositionDirection.East, 123, 10, 48));
     list.Add("Liaoyuan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 42, 54, 0,
             PositionDirection.East, 125, 7, 48));
     list.Add("Libreville (Gab)", "Africa/Libreville",
         new Position(PositionDirection.North, 0, 23, 24,
             PositionDirection.East, 9, 27, 0));
     list.Add("Likasi (Con)", "Africa/Lubumbashi",
         new Position(PositionDirection.South, 10, 58, 48,
             PositionDirection.East, 26, 43, 48));
     list.Add("Lille (Fra)", "Europe/Paris",
         new Position(PositionDirection.North, 50, 38, 24,
             PositionDirection.East, 3, 4, 12));
     list.Add("Lillehammer (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 61, 7, 12,
             PositionDirection.East, 10, 28, 12));
     list.Add("Lillesand (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 58, 15, 0,
             PositionDirection.East, 8, 23, 24));
     list.Add("Lilongwe (Mal)", "Africa/Blantyre",
         new Position(PositionDirection.South, 13, 58, 12,
             PositionDirection.East, 33, 47, 59));
     list.Add("Lima (Per)", "America/Lima",
         new Position(PositionDirection.South, 12, 4, 12,
             PositionDirection.West, 77, 3, 0));
     list.Add("Limeira (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 22, 33, 0,
             PositionDirection.West, 47, 24, 0));
     list.Add("Lincoln (USA)", "America/Chicago",
         new Position(PositionDirection.North, 40, 49, 12,
             PositionDirection.West, 96, 41, 24));
     list.Add("Linfen (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 36, 4, 48,
             PositionDirection.East, 111, 31, 12));
     list.Add("Linyi (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 35, 4, 48,
             PositionDirection.East, 118, 19, 48));
     list.Add("Lipa (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 13, 57, 0,
             PositionDirection.East, 121, 10, 12));
     list.Add("Lipetsk (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 52, 37, 12,
             PositionDirection.East, 39, 37, 12));
     list.Add("Lisbon (Por)", "Europe/Lisbon",
         new Position(PositionDirection.North, 38, 43, 12,
             PositionDirection.West, 9, 8, 24));
     list.Add("Liuzhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 24, 16, 48,
             PositionDirection.East, 109, 15, 0));
     list.Add("Liverpool (UK)", "Europe/London",
         new Position(PositionDirection.North, 53, 25, 12,
             PositionDirection.West, 2, 59, 24));
     list.Add("Ljubljana (Slo)", "Europe/Ljubljana",
         new Position(PositionDirection.North, 46, 3, 36,
             PositionDirection.East, 14, 30, 36));
     list.Add("Loa Janan (Ind)", "Asia/Pontianak",
         new Position(PositionDirection.South, 0, 35, 24,
             PositionDirection.East, 117, 6, 0));
     list.Add("Lodz (Pol)", "Europe/Warsaw",
         new Position(PositionDirection.North, 51, 46, 12,
             PositionDirection.East, 19, 27, 36));
     list.Add("Lome (Tog)", "Africa/Lome",
         new Position(PositionDirection.North, 6, 10, 12,
             PositionDirection.East, 1, 21, 0));
     list.Add("London (Can)", "America/Toronto",
         new Position(PositionDirection.North, 42, 58, 12,
             PositionDirection.West, 81, 14, 24));
     list.Add("London (UK)", "Europe/London",
         new Position(PositionDirection.North, 51, 31, 12,
             PositionDirection.West, 0, 6, 0));
     list.Add("Londrina (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 18, 0,
             PositionDirection.West, 51, 10, 48));
     list.Add("Long Beach (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 33, 47, 24,
             PositionDirection.West, 118, 9, 36));
     list.Add("Loni (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 28, 45, 0,
             PositionDirection.East, 77, 16, 48));
     list.Add("Lopez Mateos (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 19, 34, 12,
             PositionDirection.West, 99, 15, 36));
     list.Add("Los Angeles (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 34, 6, 36,
             PositionDirection.West, 118, 24, 36));
     list.Add("Los Mochis (Mex)", "America/Mazatlan",
         new Position(PositionDirection.North, 25, 47, 24,
             PositionDirection.West, 109, 0, 0));
     list.Add("Los Reyes (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 19, 21, 36,
             PositionDirection.West, 98, 58, 48));
     list.Add("Los Teques (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 10, 25, 12,
             PositionDirection.West, 67, 1, 12));
     list.Add("Louisville (USA)", "America/Kentucky/Louisville",
         new Position(PositionDirection.North, 38, 13, 12,
             PositionDirection.West, 85, 44, 24));
     list.Add("Loum (Cam)", "Africa/Douala",
         new Position(PositionDirection.North, 4, 43, 12,
             PositionDirection.East, 9, 43, 48));
     list.Add("Luancheng (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 37, 52, 48,
             PositionDirection.East, 114, 39, 0));
     list.Add("Luanda (Ang)", "Africa/Luanda",
         new Position(PositionDirection.South, 8, 49, 12,
             PositionDirection.East, 13, 14, 24));
     list.Add("Lubango (Ang)", "Africa/Luanda",
         new Position(PositionDirection.South, 14, 54, 36,
             PositionDirection.East, 13, 29, 24));
     list.Add("Lubbock (USA)", "America/Chicago",
         new Position(PositionDirection.North, 33, 34, 48,
             PositionDirection.West, 101, 52, 48));
     list.Add("Lubeck (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 53, 52, 12,
             PositionDirection.East, 10, 39, 36));
     list.Add("Lublin (Pol)", "Europe/Warsaw",
         new Position(PositionDirection.North, 51, 14, 24,
             PositionDirection.East, 22, 34, 12));
     list.Add("Lubumbashi (Con)", "Africa/Lubumbashi",
         new Position(PositionDirection.South, 11, 39, 36,
             PositionDirection.East, 27, 28, 48));
     list.Add("Lucena (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 13, 57, 0,
             PositionDirection.East, 121, 36, 0));
     list.Add("Ludhiana (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 30, 54, 36,
             PositionDirection.East, 75, 50, 24));
     list.Add("Luhansk (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 48, 34, 12,
             PositionDirection.East, 39, 19, 48));
     list.Add("Luohe (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 33, 34, 12,
             PositionDirection.East, 114, 1, 48));
     list.Add("Luoyang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 34, 40, 48,
             PositionDirection.East, 112, 28, 12));
     list.Add("Luqiao (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 28, 34, 48,
             PositionDirection.East, 121, 22, 48));
     list.Add("Luque (Par)", "America/Asuncion",
         new Position(PositionDirection.South, 25, 16, 12,
             PositionDirection.West, 57, 29, 24));
     list.Add("Lusaka (Zam)", "Africa/Lusaka",
         new Position(PositionDirection.South, 15, 25, 12,
             PositionDirection.East, 28, 17, 24));
     list.Add("Luxor (Egy)", "Africa/Cairo",
         new Position(PositionDirection.North, 25, 42, 0,
             PositionDirection.East, 32, 39, 0));
     list.Add("Luzhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 28, 52, 48,
             PositionDirection.East, 105, 22, 48));
     list.Add("Lvov (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 49, 49, 48,
             PositionDirection.East, 24, 0, 0));
     list.Add("Lyon (Fra)", "Europe/Paris",
         new Position(PositionDirection.North, 45, 45, 36,
             PositionDirection.East, 4, 49, 48));
     list.Add("Maanshan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 31, 43, 48,
             PositionDirection.East, 118, 28, 48));
     list.Add("Mabalacat (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 15, 13, 12,
             PositionDirection.East, 120, 34, 12));
     list.Add("Macapa (Bra)", "America/Belem",
         new Position(PositionDirection.North, 0, 2, 24,
             PositionDirection.West, 51, 3, 0));
     list.Add("Macau (Chi)", "Asia/Macau",
         new Position(PositionDirection.North, 22, 16, 12,
             PositionDirection.East, 113, 33, 36));
     list.Add("Maceio (Bra)", "America/Maceio",
         new Position(PositionDirection.South, 9, 39, 0,
             PositionDirection.West, 35, 45, 0));
     list.Add("Machala (Ecu)", "America/Guayaquil",
         new Position(PositionDirection.South, 3, 15, 36,
             PositionDirection.West, 79, 57, 36));
     list.Add("Machida (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 33, 36,
             PositionDirection.East, 139, 25, 48));
     list.Add("Madison (USA)", "America/Chicago",
         new Position(PositionDirection.North, 43, 4, 48,
             PositionDirection.West, 89, 23, 24));
     list.Add("Madras (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 13, 5, 24,
             PositionDirection.East, 80, 16, 12));
     list.Add("Madrid (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 40, 25, 12,
             PositionDirection.West, 3, 42, 36));
     list.Add("Madurai (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 9, 55, 12,
             PositionDirection.East, 78, 7, 12));
     list.Add("Maebashi (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 36, 23, 24,
             PositionDirection.East, 139, 3, 36));
     list.Add("Magdeburg (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 52, 7, 48,
             PositionDirection.East, 11, 37, 12));
     list.Add("Mage (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 22, 39, 0,
             PositionDirection.West, 43, 3, 0));
     list.Add("Magnitogorsk (Rus)", "Asia/Yekaterinburg",
         new Position(PositionDirection.North, 53, 25, 12,
             PositionDirection.East, 58, 58, 12));
     list.Add("Maheshtala (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 30, 36,
             PositionDirection.East, 88, 13, 48));
     list.Add("Mahiljow (Bel)", "Europe/Minsk",
         new Position(PositionDirection.North, 53, 54, 0,
             PositionDirection.East, 30, 19, 48));
     list.Add("Maiduguri (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 11, 51, 0,
             PositionDirection.East, 13, 9, 36));
     list.Add("Maimansingh (Ban)", "Asia/Dhaka",
         new Position(PositionDirection.North, 24, 45, 0,
             PositionDirection.East, 90, 23, 24));
     list.Add("Maisuru (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 12, 18, 36,
             PositionDirection.East, 76, 39, 0));
     list.Add("Majalaya (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 7, 3, 0,
             PositionDirection.East, 107, 45, 36));
     list.Add("Makasar (Ind)", "Asia/Makassar",
         new Position(PositionDirection.South, 5, 8, 24,
             PositionDirection.East, 119, 24, 36));
     list.Add("Makhachkala (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 42, 58, 48,
             PositionDirection.East, 47, 30, 0));
     list.Add("Makiyivka (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 48, 1, 48,
             PositionDirection.East, 37, 58, 12));
     list.Add("Malaga (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 36, 43, 12,
             PositionDirection.West, 4, 25, 12));
     list.Add("Malang (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 7, 58, 48,
             PositionDirection.East, 112, 37, 12));
     list.Add("Malard (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 35, 40, 12,
             PositionDirection.East, 50, 59, 24));
     list.Add("Malatya (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 38, 21, 36,
             PositionDirection.East, 38, 18, 36));
     list.Add("Malegaon (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 20, 33, 36,
             PositionDirection.East, 74, 31, 12));
     list.Add("Malkajgiri (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 17, 33, 0,
             PositionDirection.East, 78, 35, 24));
     list.Add("Malmo (Swe)", "Europe/Stockholm",
         new Position(PositionDirection.North, 55, 36, 36,
             PositionDirection.East, 13, 1, 12));
     list.Add("Malolos (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 14, 51, 0,
             PositionDirection.East, 120, 48, 36));
     list.Add("Malvik (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 63, 25, 48,
             PositionDirection.East, 10, 40, 48));
     list.Add("Manado (Ind)", "Asia/Makassar",
         new Position(PositionDirection.North, 1, 30, 0,
             PositionDirection.East, 124, 50, 24));
     list.Add("Managua (Nic)", "America/Managua",
         new Position(PositionDirection.North, 12, 9, 0,
             PositionDirection.West, 86, 16, 12));
     list.Add("Manaus (Bra)", "America/Manaus",
         new Position(PositionDirection.South, 3, 7, 12,
             PositionDirection.West, 60, 1, 12));
     list.Add("Manchester (UK)", "Europe/London",
         new Position(PositionDirection.North, 53, 28, 48,
             PositionDirection.West, 2, 15, 0));
     list.Add("Mandal (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 58, 1, 48,
             PositionDirection.East, 7, 26, 24));
     list.Add("Mandalay (Mya)", "Asia/Rangoon",
         new Position(PositionDirection.North, 21, 58, 48,
             PositionDirection.East, 96, 5, 24));
     list.Add("Mandaue (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 10, 19, 48,
             PositionDirection.East, 123, 55, 48));
     list.Add("Mangaluru (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 12, 52, 48,
             PositionDirection.East, 74, 50, 24));
     list.Add("Mango (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 51, 0,
             PositionDirection.East, 86, 12, 36));
     list.Add("Manila (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 14, 37, 12,
             PositionDirection.East, 120, 58, 12));
     list.Add("Manisa (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 38, 37, 48,
             PositionDirection.East, 27, 25, 48));
     list.Add("Manizales (Col)", "America/Bogota",
         new Position(PositionDirection.North, 5, 3, 36,
             PositionDirection.West, 75, 31, 12));
     list.Add("Mannheim (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 49, 30, 0,
             PositionDirection.East, 8, 28, 12));
     list.Add("Manta (Ecu)", "America/Guayaquil",
         new Position(PositionDirection.South, 0, 57, 36,
             PositionDirection.West, 80, 43, 12));
     list.Add("Manukau (NZ)", "Pacific/Auckland",
         new Position(PositionDirection.South, 37, 0, 0,
             PositionDirection.East, 174, 52, 48));
     list.Add("Maoming (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 21, 55, 12,
             PositionDirection.East, 110, 52, 12));
     list.Add("Maputo (Moz)", "Africa/Maputo",
         new Position(PositionDirection.South, 25, 57, 0,
             PositionDirection.East, 32, 34, 12));
     list.Add("Mar del Plata (Arg)", "America/Argentina/Buenos_Aires",
         new Position(PositionDirection.South, 38, 0, 0,
             PositionDirection.West, 57, 34, 48));
     list.Add("Maracaibo (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 10, 43, 48,
             PositionDirection.West, 71, 39, 36));
     list.Add("Maracanau (Bra)", "America/Fortaleza",
         new Position(PositionDirection.South, 3, 53, 24,
             PositionDirection.West, 38, 38, 24));
     list.Add("Maracay (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 10, 19, 48,
             PositionDirection.West, 67, 28, 12));
     list.Add("Mardan (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 34, 12, 0,
             PositionDirection.East, 72, 2, 24));
     list.Add("Marilia (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 22, 12, 36,
             PositionDirection.West, 49, 57, 0));
     list.Add("Maringa (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 24, 36,
             PositionDirection.West, 51, 55, 48));
     list.Add("Mariupol (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 47, 6, 0,
             PositionDirection.East, 37, 33, 0));
     list.Add("Maroua (Cam)", "Africa/Douala",
         new Position(PositionDirection.North, 10, 34, 48,
             PositionDirection.East, 14, 19, 48));
     list.Add("Marrakech (Mor)", "Africa/Casablanca",
         new Position(PositionDirection.North, 31, 37, 48,
             PositionDirection.West, 8, 0, 0));
     list.Add("Marseille (Fra)", "Europe/Paris",
         new Position(PositionDirection.North, 43, 18, 36,
             PositionDirection.East, 5, 22, 12));
     list.Add("Masan (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 35, 13, 12,
             PositionDirection.East, 128, 34, 48));
     list.Add("Maseru (Les)", "Africa/Maseru",
         new Position(PositionDirection.South, 29, 18, 36,
             PositionDirection.East, 27, 29, 24));
     list.Add("Mashhad (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 36, 16, 12,
             PositionDirection.East, 59, 34, 12));
     list.Add("Matamoros (Mex)", "America/Monterrey",
         new Position(PositionDirection.North, 25, 52, 48,
             PositionDirection.West, 97, 30, 0));
     list.Add("Mataram (Ind)", "Asia/Makassar",
         new Position(PositionDirection.South, 8, 34, 48,
             PositionDirection.East, 116, 7, 48));
     list.Add("Mathura (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 27, 30, 0,
             PositionDirection.East, 77, 40, 48));
     list.Add("Matola (Moz)", "Africa/Maputo",
         new Position(PositionDirection.South, 25, 58, 12,
             PositionDirection.East, 32, 27, 36));
     list.Add("Matruh (Oma)", "Asia/Muscat",
         new Position(PositionDirection.North, 23, 24, 36,
             PositionDirection.East, 58, 29, 24));
     list.Add("Matsudo (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 46, 48,
             PositionDirection.East, 139, 54, 0));
     list.Add("Matsumoto (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 36, 14, 24,
             PositionDirection.East, 137, 58, 12));
     list.Add("Matsuyama (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 33, 50, 24,
             PositionDirection.East, 132, 46, 12));
     list.Add("Maturin (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 9, 45, 0,
             PositionDirection.West, 63, 10, 12));
     list.Add("Mau (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 25, 57, 36,
             PositionDirection.East, 83, 33, 36));
     list.Add("Maua (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 39, 36,
             PositionDirection.West, 46, 27, 36));
     list.Add("Mawlamyine (Mya)", "Asia/Rangoon",
         new Position(PositionDirection.North, 16, 29, 23,
             PositionDirection.East, 97, 37, 48));
     list.Add("Mazar-e Sarif (Afg)", "Asia/Kabul",
         new Position(PositionDirection.North, 36, 42, 0,
             PositionDirection.East, 67, 5, 59));
     list.Add("Mazatlan (Mex)", "America/Mazatlan",
         new Position(PositionDirection.North, 23, 13, 12,
             PositionDirection.West, 106, 25, 12));
     list.Add("Mbeya (Tan)", "Africa/Dar_es_Salaam",
         new Position(PositionDirection.South, 8, 53, 24,
             PositionDirection.East, 33, 25, 48));
     list.Add("Mbuji-Mayi (Con)", "Africa/Lubumbashi",
         new Position(PositionDirection.South, 6, 7, 48,
             PositionDirection.East, 23, 35, 24));
     list.Add("Mecca (Sau)", "Asia/Riyadh",
         new Position(PositionDirection.North, 21, 25, 48,
             PositionDirection.East, 39, 49, 12));
     list.Add("Medan (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.North, 3, 35, 24,
             PositionDirection.East, 98, 40, 12));
     list.Add("Medellin (Col)", "America/Bogota",
         new Position(PositionDirection.North, 6, 17, 24,
             PositionDirection.West, 75, 32, 24));
     list.Add("Medina (Sau)", "Asia/Riyadh",
         new Position(PositionDirection.North, 24, 28, 48,
             PositionDirection.East, 39, 35, 24));
     list.Add("Meknes (Mor)", "Africa/Casablanca",
         new Position(PositionDirection.North, 33, 54, 0,
             PositionDirection.West, 5, 33, 36));
     list.Add("Melbourne (Aus)", "Australia/Melbourne",
         new Position(PositionDirection.South, 37, 48, 36,
             PositionDirection.East, 144, 57, 36));
     list.Add("Melhus (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 63, 18, 0,
             PositionDirection.East, 10, 17, 24));
     list.Add("Memphis (USA)", "America/Chicago",
         new Position(PositionDirection.North, 35, 6, 36,
             PositionDirection.West, 90, 0, 36));
     list.Add("Mendoza (Arg)", "America/Argentina/Mendoza",
         new Position(PositionDirection.South, 32, 53, 24,
             PositionDirection.West, 68, 49, 48));
     list.Add("Menia (Egy)", "Africa/Cairo",
         new Position(PositionDirection.North, 28, 5, 24,
             PositionDirection.East, 30, 45, 0));
     list.Add("Mentougou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 39, 56, 24,
             PositionDirection.East, 116, 4, 12));
     list.Add("Merida (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 20, 58, 12,
             PositionDirection.West, 89, 37, 12));
     list.Add("Merida (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 8, 24, 0,
             PositionDirection.West, 71, 7, 47));
     list.Add("Mersin (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 36, 48, 36,
             PositionDirection.East, 34, 37, 48));
     list.Add("Mesa (USA)", "America/Phoenix",
         new Position(PositionDirection.North, 33, 25, 12,
             PositionDirection.West, 111, 44, 24));
     list.Add("Messina (Ita)", "Europe/Rome",
         new Position(PositionDirection.North, 38, 11, 24,
             PositionDirection.East, 15, 33, 0));
     list.Add("Mexicali (Mex)", "America/Tijuana",
         new Position(PositionDirection.North, 32, 39, 0,
             PositionDirection.West, 115, 28, 12));
     list.Add("Mexico City (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 19, 25, 48,
             PositionDirection.West, 99, 8, 24));
     list.Add("Meycauayan (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 14, 43, 48,
             PositionDirection.East, 120, 54, 36));
     list.Add("Miami (USA)", "America/New_York",
         new Position(PositionDirection.North, 25, 46, 48,
             PositionDirection.West, 80, 12, 36));
     list.Add("Mianchang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 23, 15, 36,
             PositionDirection.East, 116, 35, 24));
     list.Add("Mianyang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 31, 28, 12,
             PositionDirection.East, 104, 46, 12));
     list.Add("Milan (Ita)", "Europe/Rome",
         new Position(PositionDirection.North, 45, 28, 48,
             PositionDirection.East, 9, 11, 24));
     list.Add("Milwaukee (USA)", "America/Chicago",
         new Position(PositionDirection.North, 43, 3, 36,
             PositionDirection.West, 87, 58, 12));
     list.Add("Mingaora (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 34, 46, 48,
             PositionDirection.East, 72, 21, 36));
     list.Add("Minna (Nig)", "Africa/Niamey",
         new Position(PositionDirection.North, 9, 37, 12,
             PositionDirection.East, 6, 33, 0));
     list.Add("Minneapolis (USA)", "America/Chicago",
         new Position(PositionDirection.North, 44, 57, 36,
             PositionDirection.West, 93, 16, 12));
     list.Add("Minsk (Bel)", "Europe/Minsk",
         new Position(PositionDirection.North, 53, 54, 36,
             PositionDirection.East, 27, 33, 0));
     list.Add("Mira Bhayandar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 19, 17, 24,
             PositionDirection.East, 72, 51, 0));
     list.Add("Mirat (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 28, 59, 24,
             PositionDirection.East, 77, 42, 0));
     list.Add("Miri (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 4, 24, 0,
             PositionDirection.East, 113, 58, 12));
     list.Add("Mirpur Khas (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 25, 31, 48,
             PositionDirection.East, 69, 0, 36));
     list.Add("Mirzapur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 25, 9, 36,
             PositionDirection.East, 82, 33, 36));
     list.Add("Misratah (Lib)", "Africa/Tripoli",
         new Position(PositionDirection.North, 32, 22, 48,
             PositionDirection.East, 15, 5, 24));
     list.Add("Mito (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 36, 22, 48,
             PositionDirection.East, 140, 28, 12));
     list.Add("Mixco (Gua)", "America/Guatemala",
         new Position(PositionDirection.North, 14, 38, 24,
             PositionDirection.West, 90, 36, 0));
     list.Add("Miyazaki (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 31, 54, 36,
             PositionDirection.East, 131, 25, 11));
     list.Add("Mo i Rana (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 66, 19, 48,
             PositionDirection.East, 14, 10, 12));
     list.Add("Moji das Cruzes (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 31, 12,
             PositionDirection.West, 46, 12, 36));
     list.Add("Mokpo (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 34, 47, 59,
             PositionDirection.East, 126, 23, 24));
     list.Add("Molde (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 62, 44, 24,
             PositionDirection.East, 7, 10, 48));
     list.Add("Mombasa (Ken)", "Africa/Nairobi",
         new Position(PositionDirection.South, 4, 2, 24,
             PositionDirection.East, 39, 39, 36));
     list.Add("Monchengladbach (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 51, 12, 0,
             PositionDirection.East, 6, 25, 12));
     list.Add("Monrovia (Lib)", "Africa/Monrovia",
         new Position(PositionDirection.North, 6, 18, 36,
             PositionDirection.West, 10, 48, 0));
     list.Add("Monteria (Col)", "America/Argentina/Cordoba",
         new Position(PositionDirection.North, 8, 45, 36,
             PositionDirection.West, 75, 53, 24));
     list.Add("Monterrey (Mex)", "America/Monterrey",
         new Position(PositionDirection.North, 25, 40, 12,
             PositionDirection.West, 100, 19, 12));
     list.Add("Montes Claros (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 16, 43, 11,
             PositionDirection.West, 43, 51, 36));
     list.Add("Montevideo (Uru)", "America/Montevideo",
         new Position(PositionDirection.South, 34, 52, 11,
             PositionDirection.West, 56, 10, 12));
     list.Add("Montgomery (USA)", "America/Chicago",
         new Position(PositionDirection.North, 32, 21, 0,
             PositionDirection.West, 86, 16, 48));
     list.Add("Montpellier (Fra)", "Europe/Paris",
         new Position(PositionDirection.North, 43, 36, 36,
             PositionDirection.East, 3, 52, 12));
     list.Add("Montreal (Can)", "America/Montreal",
         new Position(PositionDirection.North, 45, 31, 12,
             PositionDirection.West, 73, 34, 12));
     list.Add("Moradabad (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 28, 50, 24,
             PositionDirection.East, 78, 45, 36));
     list.Add("Morelia (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 19, 43, 12,
             PositionDirection.West, 101, 10, 48));
     list.Add("Morioka (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 39, 42, 0,
             PositionDirection.East, 141, 9, 0));
     list.Add("Morogoro (Tan)", "Africa/Dar_es_Salaam",
         new Position(PositionDirection.South, 6, 49, 12,
             PositionDirection.East, 37, 39, 36));
     list.Add("Moscow (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 55, 45, 0,
             PositionDirection.East, 37, 37, 12));
     list.Add("Mosjoen (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 65, 50, 24,
             PositionDirection.East, 13, 13, 12));
     list.Add("Moss (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 25, 48,
             PositionDirection.East, 10, 40, 48));
     list.Add("Mossoro (Bra)", "America/Fortaleza",
         new Position(PositionDirection.South, 5, 11, 24,
             PositionDirection.West, 37, 20, 24));
     list.Add("Mostoles (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 40, 19, 12,
             PositionDirection.West, 3, 52, 48));
     list.Add("Mosul (Ira)", "Asia/Baghdad",
         new Position(PositionDirection.North, 36, 20, 24,
             PositionDirection.East, 43, 8, 24));
     list.Add("Mudanjiang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 44, 34, 48,
             PositionDirection.East, 129, 36, 0));
     list.Add("Multan (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 30, 12, 0,
             PositionDirection.East, 71, 27, 0));
     list.Add("Munger (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 25, 23, 24,
             PositionDirection.East, 86, 28, 12));
     list.Add("Munich (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 48, 8, 24,
             PositionDirection.East, 11, 34, 48));
     list.Add("Munster (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 51, 57, 36,
             PositionDirection.East, 7, 37, 12));
     list.Add("Muqdisho (Som)", "Africa/Mogadishu",
         new Position(PositionDirection.North, 2, 2, 59,
             PositionDirection.East, 45, 19, 48));
     list.Add("Murcia (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 37, 58, 48,
             PositionDirection.West, 1, 7, 47));
     list.Add("Murmansk (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 68, 57, 35,
             PositionDirection.East, 33, 4, 48));
     list.Add("Muzaffarnagar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 29, 28, 48,
             PositionDirection.East, 77, 41, 24));
     list.Add("Muzaffarpur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 26, 7, 48,
             PositionDirection.East, 85, 22, 48));
     list.Add("Mwanza (Tan)", "Africa/Dar_es_Salaam",
         new Position(PositionDirection.South, 2, 31, 12,
             PositionDirection.East, 32, 53, 24));
     list.Add("Mwene-Ditu (Con)", "Africa/Lubumbashi",
         new Position(PositionDirection.South, 7, 0, 0,
             PositionDirection.East, 23, 26, 24));
     list.Add("Mykolayiv (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 46, 58, 12,
             PositionDirection.East, 32, 0, 0));
     list.Add("Mysen (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 33, 36,
             PositionDirection.East, 11, 19, 48));
     list.Add("N'Djamena (Cha)", "Africa/Ndjamena",
         new Position(PositionDirection.North, 12, 6, 36,
             PositionDirection.East, 15, 3, 0));
     list.Add("Naberezhnyye Chelny (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 55, 41, 24,
             PositionDirection.East, 52, 19, 12));
     list.Add("Nacala (Moz)", "Africa/Maputo",
         new Position(PositionDirection.South, 14, 33, 36,
             PositionDirection.East, 40, 40, 48));
     list.Add("Nadiad (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 42, 0,
             PositionDirection.East, 72, 51, 0));
     list.Add("Nagano (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 36, 39, 0,
             PositionDirection.East, 138, 10, 48));
     list.Add("Nagaoka (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 37, 27, 36,
             PositionDirection.East, 138, 51, 0));
     list.Add("Nagasaki (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 32, 45, 0,
             PositionDirection.East, 129, 52, 48));
     list.Add("Nagercoil (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 8, 10, 48,
             PositionDirection.East, 77, 25, 48));
     list.Add("Nagoya (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 9, 0,
             PositionDirection.East, 136, 54, 36));
     list.Add("Nagpur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 21, 9, 36,
             PositionDirection.East, 79, 4, 48));
     list.Add("Naha (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 26, 12, 36,
             PositionDirection.East, 127, 42, 0));
     list.Add("Naihati (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 54, 36,
             PositionDirection.East, 88, 25, 48));
     list.Add("Nairobi (Ken)", "Africa/Nairobi",
         new Position(PositionDirection.South, 1, 17, 24,
             PositionDirection.East, 36, 49, 12));
     list.Add("Najaf (Ira)", "Asia/Baghdad",
         new Position(PositionDirection.North, 32, 0, 0,
             PositionDirection.East, 44, 20, 24));
     list.Add("Najafabad (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 32, 40, 12,
             PositionDirection.East, 51, 21, 0));
     list.Add("Najran (Sau)", "Asia/Riyadh",
         new Position(PositionDirection.North, 17, 30, 0,
             PositionDirection.East, 44, 7, 48));
     list.Add("Nakuru (Ken)", "Africa/Nairobi",
         new Position(PositionDirection.South, 0, 16, 48,
             PositionDirection.East, 36, 4, 12));
     list.Add("Nalasopara (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 19, 25, 48,
             PositionDirection.East, 72, 46, 48));
     list.Add("Nalchik (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 43, 30, 0,
             PositionDirection.East, 43, 37, 12));
     list.Add("Namangan (Uzb)", "Asia/Tashkent",
         new Position(PositionDirection.North, 41, 0, 0,
             PositionDirection.East, 71, 40, 12));
     list.Add("Nampo (NKo)", "Asia/Pyongyang",
         new Position(PositionDirection.North, 38, 45, 36,
             PositionDirection.East, 125, 27, 0));
     list.Add("Nampula (Moz)", "Africa/Maputo",
         new Position(PositionDirection.South, 15, 7, 48,
             PositionDirection.East, 39, 14, 24));
     list.Add("Namsos (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 64, 28, 48,
             PositionDirection.East, 11, 31, 12));
     list.Add("Nanchang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 28, 40, 48,
             PositionDirection.East, 115, 52, 48));
     list.Add("Nanded (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 19, 10, 12,
             PositionDirection.East, 77, 17, 24));
     list.Add("Nangloi Jat (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 28, 40, 48,
             PositionDirection.East, 77, 4, 12));
     list.Add("Nanjing (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 32, 2, 59,
             PositionDirection.East, 118, 46, 48));
     list.Add("Nanning (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 22, 49, 12,
             PositionDirection.East, 108, 19, 12));
     list.Add("Nantes (Fra)", "Europe/Paris",
         new Position(PositionDirection.North, 47, 13, 48,
             PositionDirection.West, 1, 34, 12));
     list.Add("Nantong (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 32, 1, 12,
             PositionDirection.East, 120, 49, 12));
     list.Add("Nanyang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 33, 0, 0,
             PositionDirection.East, 112, 31, 48));
     list.Add("Naples (Ita)", "Europe/Rome",
         new Position(PositionDirection.North, 40, 51, 0,
             PositionDirection.East, 14, 16, 12));
     list.Add("Nara (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 41, 23,
             PositionDirection.East, 135, 49, 48));
     list.Add("Narayanganj (Ban)", "Asia/Dhaka",
         new Position(PositionDirection.North, 23, 37, 12,
             PositionDirection.East, 90, 30, 0));
     list.Add("Narbo (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 58, 40, 12,
             PositionDirection.East, 5, 39, 0));
     list.Add("Narsingdi (Ban)", "Asia/Dhaka",
         new Position(PositionDirection.North, 23, 55, 12,
             PositionDirection.East, 90, 43, 12));
     list.Add("Narvik (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 68, 27, 0,
             PositionDirection.East, 17, 25, 12));
     list.Add("Nashik (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 20, 0, 36,
             PositionDirection.East, 73, 46, 48));
     list.Add("Nashville (USA)", "America/Chicago",
         new Position(PositionDirection.North, 36, 10, 12,
             PositionDirection.West, 86, 46, 48));
     list.Add("Nasiriyah (Ira)", "Asia/Baghdad",
         new Position(PositionDirection.North, 31, 2, 24,
             PositionDirection.East, 46, 15, 36));
     list.Add("Nassau (Bah)", "America/Nassau",
         new Position(PositionDirection.North, 25, 3, 36,
             PositionDirection.West, 77, 19, 48));
     list.Add("Natal (Bra)", "America/Fortaleza",
         new Position(PositionDirection.South, 5, 48, 0,
             PositionDirection.West, 35, 13, 12));
     list.Add("Naucalpan (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 19, 28, 48,
             PositionDirection.West, 99, 13, 48));
     list.Add("Navi Mumbai (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 19, 6, 36,
             PositionDirection.East, 73, 3, 36));
     list.Add("Nawabshah (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 26, 14, 24,
             PositionDirection.East, 68, 24, 0));
     list.Add("Nazret (Eth)", "Africa/Addis_Ababa",
         new Position(PositionDirection.North, 8, 33, 0,
             PositionDirection.East, 39, 16, 12));
     list.Add("Ndola (Zam)", "Africa/Lusaka",
         new Position(PositionDirection.South, 12, 58, 12,
             PositionDirection.East, 28, 38, 24));
     list.Add("Neijiang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 29, 34, 48,
             PositionDirection.East, 105, 3, 0));
     list.Add("Neiva (Col)", "America/Bogota",
         new Position(PositionDirection.North, 2, 56, 24,
             PositionDirection.West, 75, 16, 12));
     list.Add("Nellur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 14, 27, 36,
             PositionDirection.East, 79, 58, 48));
     list.Add("Nesoddtangen (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 51, 36,
             PositionDirection.East, 10, 40, 12));
     list.Add("Neuquen (Arg)", "America/Argentina/Salta",
         new Position(PositionDirection.South, 38, 57, 0,
             PositionDirection.West, 68, 3, 36));
     list.Add("New Orleans (USA)", "America/Chicago",
         new Position(PositionDirection.North, 30, 4, 12,
             PositionDirection.West, 89, 55, 48));
     list.Add("New York (USA)", "America/New_York",
         new Position(PositionDirection.North, 40, 40, 12,
             PositionDirection.West, 73, 56, 24));
     list.Add("Newark (USA)", "America/New_York",
         new Position(PositionDirection.North, 40, 43, 12,
             PositionDirection.West, 74, 10, 12));
     list.Add("Newcastle (Aus)", "Australia/Sydney",
         new Position(PositionDirection.South, 32, 55, 12,
             PositionDirection.East, 151, 45, 0));
     list.Add("Neyagawa (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 47, 24,
             PositionDirection.East, 135, 38, 23));
     list.Add("Neyshabur (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 36, 13, 12,
             PositionDirection.East, 58, 49, 12));
     list.Add("Nezahualcoyotl (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 19, 24, 36,
             PositionDirection.West, 99, 1, 48));
     list.Add("Ngaoundere (Cam)", "Africa/Douala",
         new Position(PositionDirection.North, 7, 19, 12,
             PositionDirection.East, 13, 34, 48));
     list.Add("Nha Trang (Vie)", "Asia/Ho_Chi_Minh",
         new Position(PositionDirection.North, 12, 15, 0,
             PositionDirection.East, 109, 11, 24));
     list.Add("Ni Dilli (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 28, 36, 0,
             PositionDirection.East, 77, 13, 12));
     list.Add("Niamey (Nig)", "Africa/Niamey",
         new Position(PositionDirection.North, 13, 31, 12,
             PositionDirection.East, 2, 7, 12));
     list.Add("Nice (Fra)", "Europe/Paris",
         new Position(PositionDirection.North, 43, 42, 0,
             PositionDirection.East, 7, 16, 12));
     list.Add("Nicolas Romero (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 19, 37, 12,
             PositionDirection.West, 99, 18, 36));
     list.Add("Nicosia (Cyp)", "Europe/Nicosia",
         new Position(PositionDirection.North, 35, 9, 35,
             PositionDirection.East, 33, 22, 48));
     list.Add("Niigata (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 37, 55, 12,
             PositionDirection.East, 139, 2, 24));
     list.Add("Ningbo (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 29, 52, 48,
             PositionDirection.East, 121, 33, 0));
     list.Add("Nishinomiya (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 43, 47,
             PositionDirection.East, 135, 20, 24));
     list.Add("Niteroi (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 22, 54, 0,
             PositionDirection.West, 43, 7, 48));
     list.Add("Niyala (Sud)", "Africa/Khartoum",
         new Position(PositionDirection.North, 12, 3, 36,
             PositionDirection.East, 24, 53, 24));
     list.Add("Nizamabad (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 18, 40, 48,
             PositionDirection.East, 78, 6, 0));
     list.Add("Nizhnekamsk (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 55, 38, 24,
             PositionDirection.East, 51, 49, 12));
     list.Add("Nizhnevartovsk (Rus)", "Asia/Novosibirsk",
         new Position(PositionDirection.North, 60, 55, 48,
             PositionDirection.East, 76, 34, 12));
     list.Add("Nizhniy Novgorod (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 56, 19, 48,
             PositionDirection.East, 44, 0, 0));
     list.Add("Nizhniy Tagil (Rus)", "Asia/Yekaterinburg",
         new Position(PositionDirection.North, 57, 55, 12,
             PositionDirection.East, 59, 58, 12));
     list.Add("Noida (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 28, 34, 48,
             PositionDirection.East, 77, 19, 48));
     list.Add("Nonthaburi (Tha)", "Asia/Bangkok",
         new Position(PositionDirection.North, 13, 48, 0,
             PositionDirection.East, 100, 10, 48));
     list.Add("Norfolk (USA)", "America/New_York",
         new Position(PositionDirection.North, 36, 55, 12,
             PositionDirection.West, 76, 14, 24));
     list.Add("Norilsk (Rus)", "Asia/Krasnoyarsk",
         new Position(PositionDirection.North, 69, 20, 24,
             PositionDirection.East, 88, 13, 12));
     list.Add("North Dum Dum (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 38, 24,
             PositionDirection.East, 88, 24, 36));
     list.Add("North Las Vegas (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 36, 16, 12,
             PositionDirection.West, 115, 8, 24));
     list.Add("North Pole", "UTC",
         new Position(PositionDirection.North, 90, 0, 0,
             PositionDirection.East, 0, 0, 0));
     list.Add("North Shore (NZ)", "Pacific/Auckland",
         new Position(PositionDirection.South, 36, 48, 0,
             PositionDirection.East, 174, 45, 0));
     list.Add("Notodden (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 34, 12,
             PositionDirection.East, 9, 15, 36));
     list.Add("Nottingham (UK)", "Europe/London",
         new Position(PositionDirection.North, 52, 58, 12,
             PositionDirection.West, 1, 10, 48));
     list.Add("Nouakchott (Mau)", "Africa/Nouakchott",
         new Position(PositionDirection.North, 18, 5, 24,
             PositionDirection.West, 15, 58, 48));
     list.Add("Nova Iguacu (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 22, 44, 24,
             PositionDirection.West, 43, 28, 12));
     list.Add("Novo Hamburgo (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 29, 42, 36,
             PositionDirection.West, 51, 8, 24));
     list.Add("Novokuznetsk (Rus)", "Asia/Krasnoyarsk",
         new Position(PositionDirection.North, 53, 45, 0,
             PositionDirection.East, 87, 6, 0));
     list.Add("Novorossiysk (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 44, 43, 12,
             PositionDirection.East, 37, 46, 12));
     list.Add("Novosibirsk (Rus)", "Asia/Novosibirsk",
         new Position(PositionDirection.North, 55, 2, 24,
             PositionDirection.East, 82, 55, 48));
     list.Add("Nuevo Laredo (Mex)", "America/Monterrey",
         new Position(PositionDirection.North, 27, 28, 48,
             PositionDirection.West, 99, 30, 36));
     list.Add("Nukus (Uzb)", "Asia/Tashkent",
         new Position(PositionDirection.North, 42, 28, 12,
             PositionDirection.East, 59, 36, 36));
     list.Add("Numazu (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 6, 0,
             PositionDirection.East, 138, 51, 36));
     list.Add("Nurnberg (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 49, 27, 0,
             PositionDirection.East, 11, 3, 0));
     list.Add("Nzerekore (Gui)", "Africa/Conakry",
         new Position(PositionDirection.North, 7, 45, 36,
             PositionDirection.West, 8, 49, 48));
     list.Add("Oakland (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 37, 46, 12,
             PositionDirection.West, 122, 13, 12));
     list.Add("Oaxaca (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 17, 4, 12,
             PositionDirection.West, 96, 43, 12));
     list.Add("Oberhausen (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 51, 28, 12,
             PositionDirection.East, 6, 51, 36));
     list.Add("Obregon (Mex)", "America/Hermosillo",
         new Position(PositionDirection.North, 27, 28, 48,
             PositionDirection.West, 109, 55, 48));
     list.Add("Odda (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 60, 4, 12,
             PositionDirection.East, 6, 32, 24));
     list.Add("Odesa (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 46, 28, 12,
             PositionDirection.East, 30, 43, 48));
     list.Add("Ogbomosho (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 8, 7, 48,
             PositionDirection.East, 4, 14, 24));
     list.Add("Oita (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 33, 14, 24,
             PositionDirection.East, 131, 36, 0));
     list.Add("Okara (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 30, 48, 36,
             PositionDirection.East, 73, 27, 0));
     list.Add("Okayama (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 40, 12,
             PositionDirection.East, 133, 55, 11));
     list.Add("Okazaki (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 57, 36,
             PositionDirection.East, 137, 9, 36));
     list.Add("Oklahoma City (USA)", "America/Chicago",
         new Position(PositionDirection.North, 35, 28, 12,
             PositionDirection.West, 97, 30, 36));
     list.Add("Olinda (Bra)", "America/Recife",
         new Position(PositionDirection.South, 8, 0, 0,
             PositionDirection.West, 34, 51, 0));
     list.Add("Olongapo (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 14, 49, 12,
             PositionDirection.East, 120, 16, 48));
     list.Add("Omaha (USA)", "America/Chicago",
         new Position(PositionDirection.North, 41, 15, 36,
             PositionDirection.West, 96, 0, 36));
     list.Add("Omsk (Rus)", "Asia/Omsk",
         new Position(PositionDirection.North, 55, 0, 0,
             PositionDirection.East, 73, 24, 0));
     list.Add("Ondo (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 7, 5, 24,
             PositionDirection.East, 4, 50, 24));
     list.Add("Onitsha (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 6, 8, 24,
             PositionDirection.East, 6, 46, 48));
     list.Add("Oral (Kaz)", "Asia/Oral",
         new Position(PositionDirection.North, 51, 0, 0,
             PositionDirection.East, 51, 0, 0));
     list.Add("Orenburg (Rus)", "Asia/Yekaterinburg",
         new Position(PositionDirection.North, 51, 46, 48,
             PositionDirection.East, 55, 6, 0));
     list.Add("Orkanger-Fannrem (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 63, 18, 0,
             PositionDirection.East, 9, 51, 36));
     list.Add("Orlando (USA)", "America/New_York",
         new Position(PositionDirection.North, 28, 30, 0,
             PositionDirection.West, 81, 22, 12));
     list.Add("Orsk (Rus)", "Asia/Yekaterinburg",
         new Position(PositionDirection.North, 51, 12, 36,
             PositionDirection.East, 58, 37, 48));
     list.Add("Orsta (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 62, 12, 36,
             PositionDirection.East, 6, 8, 24));
     list.Add("Orumiyeh (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 37, 31, 48,
             PositionDirection.East, 45, 0, 0));
     list.Add("Oruro (Bol)", "America/La_Paz",
         new Position(PositionDirection.South, 17, 58, 48,
             PositionDirection.West, 67, 7, 12));
     list.Add("Oryol (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 52, 58, 12,
             PositionDirection.East, 36, 4, 48));
     list.Add("Os (Kyr)", "Asia/Bishkek",
         new Position(PositionDirection.North, 40, 32, 24,
             PositionDirection.East, 72, 47, 24));
     list.Add("Osaka (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 40, 48,
             PositionDirection.East, 135, 30, 0));
     list.Add("Osasco (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 31, 48,
             PositionDirection.West, 46, 46, 48));
     list.Add("Oshawa (Can)", "America/Toronto",
         new Position(PositionDirection.North, 43, 53, 24,
             PositionDirection.West, 78, 51, 36));
     list.Add("Oshogbo (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 7, 46, 12,
             PositionDirection.East, 4, 33, 36));
     list.Add("Oskemen (Kaz)", "Asia/Almaty",
         new Position(PositionDirection.North, 49, 58, 12,
             PositionDirection.East, 82, 36, 36));
     list.Add("Oslo (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 54, 36,
             PositionDirection.East, 10, 45, 0));
     list.Add("Osoyro (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 60, 11, 24,
             PositionDirection.East, 5, 27, 0));
     list.Add("Ostrava (Cze)", "Europe/Prague",
         new Position(PositionDirection.North, 49, 49, 48,
             PositionDirection.East, 18, 16, 12));
     list.Add("Ota (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 36, 17, 59,
             PositionDirection.East, 139, 22, 48));
     list.Add("Otsu (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 0, 36,
             PositionDirection.East, 135, 52, 12));
     list.Add("Ottawa (Can)", "America/Toronto",
         new Position(PositionDirection.North, 45, 25, 12,
             PositionDirection.West, 75, 42, 36));
     list.Add("Ouagadougou (Bur)", "Africa/Ouagadougou",
         new Position(PositionDirection.North, 12, 22, 12,
             PositionDirection.West, 1, 31, 48));
     list.Add("Oujda (Mor)", "Africa/Casablanca",
         new Position(PositionDirection.North, 34, 41, 23,
             PositionDirection.West, 1, 54, 36));
     list.Add("Oviedo (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 43, 21, 0,
             PositionDirection.West, 5, 49, 48));
     list.Add("Owerri (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 5, 29, 24,
             PositionDirection.East, 7, 2, 24));
     list.Add("Oyo (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 7, 51, 0,
             PositionDirection.East, 3, 55, 48));
     list.Add("Ozhukarai (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 11, 56, 24,
             PositionDirection.East, 79, 46, 12));
     list.Add("Pacet (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 45, 0,
             PositionDirection.East, 107, 3, 0));
     list.Add("Pachuca (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 20, 7, 12,
             PositionDirection.West, 98, 45, 36));
     list.Add("Padang (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 0, 57, 0,
             PositionDirection.East, 100, 21, 0));
     list.Add("Padova (Ita)", "Europe/Rome",
         new Position(PositionDirection.North, 45, 24, 36,
             PositionDirection.East, 11, 52, 12));
     list.Add("Pagadian (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 7, 50, 24,
             PositionDirection.East, 123, 30, 0));
     list.Add("Palembang (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 2, 59, 24,
             PositionDirection.East, 104, 45, 0));
     list.Add("Palermo (Ita)", "Europe/Rome",
         new Position(PositionDirection.North, 38, 7, 12,
             PositionDirection.East, 13, 21, 36));
     list.Add("Pali (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 25, 47, 24,
             PositionDirection.East, 73, 19, 12));
     list.Add("Palma (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 39, 34, 12,
             PositionDirection.East, 2, 39, 0));
     list.Add("Palmas (Bra)", "America/Araguaina",
         new Position(PositionDirection.South, 10, 16, 12,
             PositionDirection.West, 48, 18, 36));
     list.Add("Palmira (Col)", "America/Bogota",
         new Position(PositionDirection.North, 3, 32, 24,
             PositionDirection.West, 76, 18, 0));
     list.Add("Palu (Ind)", "Asia/Makassar",
         new Position(PositionDirection.South, 0, 54, 0,
             PositionDirection.East, 119, 50, 24));
     list.Add("Panama (Pan)", "America/Panama",
         new Position(PositionDirection.North, 8, 58, 12,
             PositionDirection.West, 79, 31, 48));
     list.Add("Panihati (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 41, 24,
             PositionDirection.East, 88, 22, 12));
     list.Add("Panipat (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 29, 23, 24,
             PositionDirection.East, 76, 57, 36));
     list.Add("Panjin (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 41, 10, 48,
             PositionDirection.East, 122, 3, 0));
     list.Add("Panzhihua (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 26, 34, 48,
             PositionDirection.East, 101, 40, 48));
     list.Add("Paradise (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 36, 4, 48,
             PositionDirection.West, 115, 7, 48));
     list.Add("Paramaribo (Sur)", "America/Paramaribo",
         new Position(PositionDirection.North, 5, 51, 0,
             PositionDirection.West, 55, 12, 0));
     list.Add("Parana (Arg)", "America/Argentina/Cordoba",
         new Position(PositionDirection.South, 31, 44, 24,
             PositionDirection.West, 60, 31, 12));
     list.Add("Parbhani (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 19, 16, 12,
             PositionDirection.East, 76, 45, 36));
     list.Add("Paris (Fra)", "Europe/Paris",
         new Position(PositionDirection.North, 48, 51, 36,
             PositionDirection.East, 2, 20, 24));
     list.Add("Parung (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 25, 12,
             PositionDirection.East, 106, 43, 48));
     list.Add("Pasto (Col)", "America/Bogota",
         new Position(PositionDirection.North, 1, 12, 36,
             PositionDirection.West, 77, 16, 48));
     list.Add("Pathein (Mya)", "Asia/Rangoon",
         new Position(PositionDirection.North, 16, 46, 48,
             PositionDirection.East, 94, 43, 48));
     list.Add("Patiala (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 30, 19, 12,
             PositionDirection.East, 76, 23, 24));
     list.Add("Patna (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 25, 37, 12,
             PositionDirection.East, 85, 7, 48));
     list.Add("Paulista (Bra)", "America/Recife",
         new Position(PositionDirection.South, 7, 54, 0,
             PositionDirection.West, 34, 54, 35));
     list.Add("Pavlodar (Kaz)", "Asia/Almaty",
         new Position(PositionDirection.North, 52, 18, 0,
             PositionDirection.East, 76, 57, 0));
     list.Add("Pekalongan (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 52, 48,
             PositionDirection.East, 109, 39, 36));
     list.Add("Pekan Baru (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.North, 0, 33, 36,
             PositionDirection.East, 101, 25, 48));
     list.Add("Pelotas (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 31, 45, 36,
             PositionDirection.West, 52, 20, 24));
     list.Add("Pematang Siantar (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.North, 2, 57, 36,
             PositionDirection.East, 99, 3, 36));
     list.Add("Penza (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 53, 12, 0,
             PositionDirection.East, 45, 0, 0));
     list.Add("Percut Sei Tuan (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.North, 3, 40, 48,
             PositionDirection.East, 98, 45, 0));
     list.Add("Pereira (Col)", "America/Bogota",
         new Position(PositionDirection.North, 4, 48, 36,
             PositionDirection.West, 75, 40, 48));
     list.Add("Perm (Rus)", "Asia/Yekaterinburg",
         new Position(PositionDirection.North, 58, 0, 0,
             PositionDirection.East, 56, 15, 0));
     list.Add("Perth (Aus)", "Australia/Perth",
         new Position(PositionDirection.South, 31, 57, 36,
             PositionDirection.East, 115, 50, 24));
     list.Add("Peshawar (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 34, 0, 36,
             PositionDirection.East, 71, 32, 24));
     list.Add("Petaling Jaya (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 3, 6, 0,
             PositionDirection.East, 101, 37, 12));
     list.Add("Petapa (Gua)", "America/Guatemala",
         new Position(PositionDirection.North, 14, 30, 0,
             PositionDirection.West, 90, 34, 12));
     list.Add("Petare (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 10, 31, 12,
             PositionDirection.West, 66, 49, 48));
     list.Add("Petrolina (Bra)", "America/Recife",
         new Position(PositionDirection.South, 9, 22, 48,
             PositionDirection.West, 40, 30, 36));
     list.Add("Petropavl (Kaz)", "Asia/Almaty",
         new Position(PositionDirection.North, 54, 52, 48,
             PositionDirection.East, 69, 13, 12));
     list.Add("Petropolis (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 22, 30, 36,
             PositionDirection.West, 43, 12, 0));
     list.Add("Petrozavodsk (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 61, 49, 12,
             PositionDirection.East, 34, 19, 48));
     list.Add("Philadelphia (USA)", "America/New_York",
         new Position(PositionDirection.North, 40, 0, 36,
             PositionDirection.West, 75, 7, 48));
     list.Add("Phnom Penh (Cam)", "Asia/Phnom_Penh",
         new Position(PositionDirection.North, 11, 34, 12,
             PositionDirection.East, 104, 55, 12));
     list.Add("Phoenix (USA)", "America/Phoenix",
         new Position(PositionDirection.North, 33, 32, 24,
             PositionDirection.West, 112, 4, 12));
     list.Add("Pietermaritzburg (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 29, 36, 36,
             PositionDirection.East, 30, 23, 24));
     list.Add("Pimpri (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 18, 37, 12,
             PositionDirection.East, 73, 48, 0));
     list.Add("Pingdingshan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 33, 43, 47,
             PositionDirection.East, 113, 18, 0));
     list.Add("Pingdong (Tai)", "Asia/Taipei",
         new Position(PositionDirection.North, 22, 40, 48,
             PositionDirection.East, 120, 28, 48));
     list.Add("Pingxiang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 27, 37, 12,
             PositionDirection.East, 113, 51, 0));
     list.Add("Piracicaba (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 22, 42, 36,
             PositionDirection.West, 47, 38, 24));
     list.Add("Pittsburgh (USA)", "America/New_York",
         new Position(PositionDirection.North, 40, 26, 24,
             PositionDirection.West, 79, 58, 48));
     list.Add("Piura (Per)", "America/Lima",
         new Position(PositionDirection.South, 5, 11, 24,
             PositionDirection.West, 80, 37, 48));
     list.Add("Plano (USA)", "America/Chicago",
         new Position(PositionDirection.North, 33, 2, 59,
             PositionDirection.West, 96, 45, 0));
     list.Add("Ploiesti (Rom)", "Europe/Bucharest",
         new Position(PositionDirection.North, 44, 56, 24,
             PositionDirection.East, 26, 1, 48));
     list.Add("Plovdiv (Bul)", "Europe/Sofia",
         new Position(PositionDirection.North, 42, 9, 0,
             PositionDirection.East, 24, 45, 0));
     list.Add("Plymouth (UK)", "Europe/London",
         new Position(PositionDirection.North, 50, 22, 48,
             PositionDirection.West, 4, 9, 36));
     list.Add("Pohang (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 36, 1, 48,
             PositionDirection.East, 129, 22, 12));
     list.Add("Pointe Noire (Con)", "Africa/Brazzaville",
         new Position(PositionDirection.South, 4, 46, 12,
             PositionDirection.East, 11, 52, 12));
     list.Add("Pokhara (Nep)", "Asia/Kathmandu",
         new Position(PositionDirection.North, 28, 13, 12,
             PositionDirection.East, 83, 59, 24));
     list.Add("Poltava (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 49, 34, 48,
             PositionDirection.East, 34, 34, 12));
     list.Add("Pondicherry (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 11, 56, 24,
             PositionDirection.East, 79, 49, 48));
     list.Add("Pondok Aren (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 15, 0,
             PositionDirection.East, 106, 40, 48));
     list.Add("Ponta Grossa (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 25, 5, 24,
             PositionDirection.West, 50, 9, 36));
     list.Add("Pontianak (Ind)", "Asia/Pontianak",
         new Position(PositionDirection.South, 0, 1, 12,
             PositionDirection.East, 109, 20, 24));
     list.Add("Popayan (Col)", "America/Bogota",
         new Position(PositionDirection.North, 2, 25, 12,
             PositionDirection.West, 76, 36, 36));
     list.Add("Porsgrunn (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 9, 0,
             PositionDirection.East, 9, 39, 36));
     list.Add("Port Elizabeth (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 33, 57, 36,
             PositionDirection.East, 25, 35, 24));
     list.Add("Port Harcourt (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 4, 48, 36,
             PositionDirection.East, 7, 0, 36));
     list.Add("Port Moresby (Pap)", "Pacific/Port_Moresby",
         new Position(PositionDirection.South, 9, 28, 48,
             PositionDirection.East, 147, 10, 48));
     list.Add("Port Said (Egy)", "Africa/Cairo",
         new Position(PositionDirection.North, 31, 15, 36,
             PositionDirection.East, 32, 17, 24));
     list.Add("Port-au-Prince (Hai)", "America/Port-au-Prince",
         new Position(PositionDirection.North, 18, 32, 24,
             PositionDirection.West, 72, 20, 24));
     list.Add("Portland (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 45, 32, 24,
             PositionDirection.West, 122, 39, 36));
     list.Add("Porto (Por)", "Europe/Lisbon",
         new Position(PositionDirection.North, 41, 9, 0,
             PositionDirection.West, 8, 37, 11));
     list.Add("Porto Alegre (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 30, 2, 24,
             PositionDirection.West, 51, 13, 12));
     list.Add("Porto Novo (Ben)", "Africa/Porto-Novo",
         new Position(PositionDirection.North, 6, 28, 48,
             PositionDirection.East, 2, 37, 48));
     list.Add("Porto Velho (Bra)", "America/Porto_Velho",
         new Position(PositionDirection.South, 8, 45, 36,
             PositionDirection.West, 63, 54, 36));
     list.Add("Posadas (Arg)", "America/Argentina/Cordoba",
         new Position(PositionDirection.South, 27, 24, 0,
             PositionDirection.West, 55, 54, 36));
     list.Add("Poznan (Pol)", "Europe/Warsaw",
         new Position(PositionDirection.North, 52, 24, 0,
             PositionDirection.East, 16, 53, 59));
     list.Add("Prague (Cze)", "Europe/Prague",
         new Position(PositionDirection.North, 50, 4, 48,
             PositionDirection.East, 14, 25, 48));
     list.Add("Praia Grande (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 24, 0, 0,
             PositionDirection.West, 46, 24, 0));
     list.Add("Presidente Prudente (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 22, 7, 12,
             PositionDirection.West, 51, 23, 24));
     list.Add("Pretoria (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 25, 43, 48,
             PositionDirection.East, 28, 13, 12));
     list.Add("Pristina (Kos)", "Europe/Belgrade",
         new Position(PositionDirection.North, 42, 39, 0,
             PositionDirection.East, 21, 10, 12));
     list.Add("Prokopyevsk (Rus)", "Asia/Krasnoyarsk",
         new Position(PositionDirection.North, 53, 54, 0,
             PositionDirection.East, 86, 42, 36));
     list.Add("Pucallpa (Per)", "America/Lima",
         new Position(PositionDirection.South, 8, 23, 24,
             PositionDirection.West, 74, 31, 48));
     list.Add("Pucheon (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 37, 28, 48,
             PositionDirection.East, 126, 46, 12));
     list.Add("Puebla (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 19, 3, 0,
             PositionDirection.West, 98, 13, 12));
     list.Add("Puente Alto (Chi)", "America/Santiago",
         new Position(PositionDirection.South, 33, 36, 36,
             PositionDirection.West, 70, 34, 11));
     list.Add("Puerto Cabello (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 10, 28, 12,
             PositionDirection.West, 68, 10, 12));
     list.Add("Puerto Princesa (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 9, 44, 24,
             PositionDirection.East, 118, 44, 24));
     list.Add("Puerto Vallarta (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 20, 37, 12,
             PositionDirection.West, 105, 13, 48));
     list.Add("Puerto la Cruz (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 10, 10, 12,
             PositionDirection.West, 64, 40, 48));
     list.Add("Pune (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 18, 31, 48,
             PositionDirection.East, 73, 50, 24));
     list.Add("Purnia (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 25, 46, 48,
             PositionDirection.East, 87, 28, 12));
     list.Add("Purwakarta (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 33, 0,
             PositionDirection.East, 107, 25, 48));
     list.Add("Purwokerto (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 7, 25, 48,
             PositionDirection.East, 109, 14, 24));
     list.Add("Pusan (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 35, 6, 36,
             PositionDirection.East, 129, 1, 48));
     list.Add("Putian (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 25, 25, 48,
             PositionDirection.East, 119, 1, 12));
     list.Add("Puyang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 35, 42, 0,
             PositionDirection.East, 114, 58, 48));
     list.Add("Pyeongtaek (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 36, 58, 48,
             PositionDirection.East, 127, 6, 0));
     list.Add("Pyongyang (NKo)", "Asia/Pyongyang",
         new Position(PositionDirection.North, 39, 1, 12,
             PositionDirection.East, 125, 45, 0));
     list.Add("Qandahar (Afg)", "Asia/Kabul",
         new Position(PositionDirection.North, 31, 36, 36,
             PositionDirection.East, 65, 41, 24));
     list.Add("Qazvin (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 36, 16, 12,
             PositionDirection.East, 50, 0, 0));
     list.Add("Qena (Egy)", "Africa/Cairo",
         new Position(PositionDirection.North, 26, 9, 0,
             PositionDirection.East, 32, 43, 12));
     list.Add("Qingdao (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 36, 4, 12,
             PositionDirection.East, 120, 19, 12));
     list.Add("Qinhuangdao (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 39, 55, 48,
             PositionDirection.East, 119, 37, 12));
     list.Add("Qiqihar (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 47, 21, 0,
             PositionDirection.East, 124, 0, 0));
     list.Add("Qitaihe (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 45, 48, 0,
             PositionDirection.East, 130, 51, 0));
     list.Add("Qods (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 35, 43, 47,
             PositionDirection.East, 51, 10, 48));
     list.Add("Qom (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 34, 39, 0,
             PositionDirection.East, 50, 57, 0));
     list.Add("Quanwan (Chi)", "Asia/Hong_Kong",
         new Position(PositionDirection.North, 22, 22, 12,
             PositionDirection.East, 114, 6, 36));
     list.Add("Quebec (Can)", "America/Montreal",
         new Position(PositionDirection.North, 46, 49, 12,
             PositionDirection.West, 71, 13, 48));
     list.Add("Queretaro (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 20, 35, 24,
             PositionDirection.West, 100, 24, 0));
     list.Add("Quetta (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 30, 12, 36,
             PositionDirection.East, 67, 1, 12));
     list.Add("Qui Nhon (Vie)", "Asia/Ho_Chi_Minh",
         new Position(PositionDirection.North, 13, 46, 12,
             PositionDirection.East, 109, 14, 24));
     list.Add("Quito (Ecu)", "America/Guayaquil",
         new Position(PositionDirection.South, 0, 11, 24,
             PositionDirection.West, 78, 30, 0));
     list.Add("Qutubullapur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 17, 25, 48,
             PositionDirection.East, 78, 28, 12));
     list.Add("Rabat (Mor)", "Africa/Casablanca",
         new Position(PositionDirection.North, 34, 1, 12,
             PositionDirection.West, 6, 50, 24));
     list.Add("Rach Gia (Vie)", "Asia/Ho_Chi_Minh",
         new Position(PositionDirection.North, 10, 1, 12,
             PositionDirection.East, 105, 4, 48));
     list.Add("Radom (Pol)", "Europe/Warsaw",
         new Position(PositionDirection.North, 51, 24, 0,
             PositionDirection.East, 21, 9, 36));
     list.Add("Rahim Yar Khan (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 28, 25, 12,
             PositionDirection.East, 70, 18, 0));
     list.Add("Raholt (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 60, 16, 12,
             PositionDirection.East, 11, 10, 48));
     list.Add("Raichur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 16, 12, 36,
             PositionDirection.East, 77, 21, 0));
     list.Add("Raipur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 21, 14, 24,
             PositionDirection.East, 81, 37, 48));
     list.Add("Rajamahendri (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 17, 1, 12,
             PositionDirection.East, 81, 47, 24));
     list.Add("Rajkot (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 18, 36,
             PositionDirection.East, 70, 47, 24));
     list.Add("Rajpur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 26, 24,
             PositionDirection.East, 88, 26, 24));
     list.Add("Rajshahi (Ban)", "Asia/Dhaka",
         new Position(PositionDirection.North, 24, 22, 12,
             PositionDirection.East, 88, 35, 24));
     list.Add("Raleigh (USA)", "America/New_York",
         new Position(PositionDirection.North, 35, 49, 12,
             PositionDirection.West, 78, 39, 36));
     list.Add("Ramadi (Ira)", "Asia/Baghdad",
         new Position(PositionDirection.North, 33, 25, 12,
             PositionDirection.East, 43, 18, 0));
     list.Add("Ramagundam (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 18, 48, 0,
             PositionDirection.East, 79, 27, 0));
     list.Add("Rampur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 28, 49, 12,
             PositionDirection.East, 79, 1, 12));
     list.Add("Rancagua (Chi)", "America/Santiago",
         new Position(PositionDirection.South, 34, 10, 12,
             PositionDirection.West, 70, 44, 23));
     list.Add("Ranchi (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 23, 21, 36,
             PositionDirection.East, 85, 19, 48));
     list.Add("Ranghulu (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 46, 39, 0,
             PositionDirection.East, 124, 51, 36));
     list.Add("Rangoon (Mya)", "Asia/Rangoon",
         new Position(PositionDirection.North, 16, 47, 24,
             PositionDirection.East, 96, 9, 0));
     list.Add("Rangpur (Ban)", "Asia/Dhaka",
         new Position(PositionDirection.North, 25, 44, 24,
             PositionDirection.East, 89, 15, 0));
     list.Add("Ratlam (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 23, 21, 0,
             PositionDirection.East, 75, 1, 48));
     list.Add("Raufoss (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 60, 43, 48,
             PositionDirection.East, 10, 37, 48));
     list.Add("Raurkela (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 14, 24,
             PositionDirection.East, 84, 48, 36));
     list.Add("Rawalpindi (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 33, 36, 0,
             PositionDirection.East, 73, 2, 24));
     list.Add("Recife (Bra)", "America/Recife",
         new Position(PositionDirection.South, 8, 4, 48,
             PositionDirection.West, 34, 55, 12));
     list.Add("Rengasdengklok (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 9, 0,
             PositionDirection.East, 107, 16, 48));
     list.Add("Rennes (Fra)", "Europe/Paris",
         new Position(PositionDirection.North, 48, 6, 36,
             PositionDirection.West, 1, 40, 48));
     list.Add("Reno (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 39, 32, 24,
             PositionDirection.West, 119, 49, 12));
     list.Add("Resht (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 37, 18, 0,
             PositionDirection.East, 49, 37, 48));
     list.Add("Resistencia (Arg)", "America/Argentina/Cordoba",
         new Position(PositionDirection.South, 27, 27, 36,
             PositionDirection.West, 58, 59, 24));
     list.Add("Rewa (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 24, 31, 48,
             PositionDirection.East, 81, 17, 24));
     list.Add("Reynosa (Mex)", "America/Monterrey",
         new Position(PositionDirection.North, 26, 4, 48,
             PositionDirection.West, 98, 16, 48));
     list.Add("Ribeirao Preto (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 21, 10, 12,
             PositionDirection.West, 47, 48, 0));
     list.Add("Ribeirao das Neves (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 19, 45, 36,
             PositionDirection.West, 44, 4, 48));
     list.Add("Richards Bay (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 28, 48, 0,
             PositionDirection.East, 32, 5, 24));
     list.Add("Riga (Lat)", "Europe/Riga",
         new Position(PositionDirection.North, 56, 58, 12,
             PositionDirection.East, 24, 7, 48));
     list.Add("Rio Branco (Bra)", "America/Rio_Branco",
         new Position(PositionDirection.South, 9, 58, 48,
             PositionDirection.West, 67, 49, 11));
     list.Add("Rio de Janeiro (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 22, 54, 36,
             PositionDirection.West, 43, 12, 0));
     list.Add("Rishon LeZiyyon (Isr)", "Asia/Tel_Aviv",
         new Position(PositionDirection.North, 31, 57, 36,
             PositionDirection.East, 34, 47, 59));
     list.Add("Risor (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 58, 43, 48,
             PositionDirection.East, 9, 13, 12));
     list.Add("Riverside (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 33, 56, 23,
             PositionDirection.West, 117, 24, 0));
     list.Add("Rivne (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 50, 37, 12,
             PositionDirection.East, 26, 15, 0));
     list.Add("Riyadh (Sau)", "Asia/Riyadh",
         new Position(PositionDirection.North, 24, 39, 0,
             PositionDirection.East, 46, 46, 12));
     list.Add("Rizhao (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 35, 25, 48,
             PositionDirection.East, 119, 27, 0));
     list.Add("Rohtak (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 28, 54, 0,
             PositionDirection.East, 76, 34, 48));
     list.Add("Rome (Ita)", "Europe/Rome",
         new Position(PositionDirection.North, 41, 53, 24,
             PositionDirection.East, 12, 30, 0));
     list.Add("Rongcheng (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 23, 32, 24,
             PositionDirection.East, 116, 20, 24));
     list.Add("Rosario (Arg)", "America/Argentina/Cordoba",
         new Position(PositionDirection.South, 32, 56, 23,
             PositionDirection.West, 60, 40, 12));
     list.Add("Rostov-na-Donu (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 47, 14, 24,
             PositionDirection.East, 39, 42, 36));
     list.Add("Rotnes (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 60, 3, 0,
             PositionDirection.East, 10, 52, 48));
     list.Add("Rotterdam (Net)", "Europe/Amsterdam",
         new Position(PositionDirection.North, 51, 55, 48,
             PositionDirection.East, 4, 28, 48));
     list.Add("Ryazan (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 54, 37, 12,
             PositionDirection.East, 39, 44, 24));
     list.Add("Rybinsk (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 58, 3, 0,
             PositionDirection.East, 38, 49, 48));
     list.Add("Sabadell (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 41, 33, 0,
             PositionDirection.East, 2, 6, 0));
     list.Add("Sabzevar (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 36, 13, 12,
             PositionDirection.East, 57, 37, 48));
     list.Add("Sacramento (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 38, 34, 12,
             PositionDirection.West, 121, 28, 12));
     list.Add("Sadiqabad (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 28, 18, 0,
             PositionDirection.East, 70, 7, 47));
     list.Add("Safaqis (Tun)", "Africa/Tunis",
         new Position(PositionDirection.North, 34, 45, 0,
             PositionDirection.East, 10, 43, 12));
     list.Add("Safi (Mor)", "Africa/Casablanca",
         new Position(PositionDirection.North, 32, 19, 12,
             PositionDirection.West, 9, 14, 24));
     list.Add("Saga (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 33, 15, 0,
             PositionDirection.East, 130, 18, 0));
     list.Add("Sagamihara (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 34, 48,
             PositionDirection.East, 139, 22, 48));
     list.Add("Sagar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 23, 51, 0,
             PositionDirection.East, 78, 45, 0));
     list.Add("Saharanpur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 29, 58, 12,
             PositionDirection.East, 77, 32, 24));
     list.Add("Sahiwal (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 30, 40, 12,
             PositionDirection.East, 73, 6, 36));
     list.Add("Saint Catharines-Niagara (Can)", "America/Toronto",
         new Position(PositionDirection.North, 43, 10, 48,
             PositionDirection.West, 79, 14, 24));
     list.Add("Saint Louis (USA)", "America/Chicago",
         new Position(PositionDirection.North, 38, 38, 24,
             PositionDirection.West, 90, 14, 24));
     list.Add("Saint Paul (USA)", "America/Chicago",
         new Position(PositionDirection.North, 44, 57, 0,
             PositionDirection.West, 93, 6, 0));
     list.Add("Saint Petersburg (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 59, 55, 48,
             PositionDirection.East, 30, 19, 12));
     list.Add("Saint Petersburg (USA)", "America/New_York",
         new Position(PositionDirection.North, 27, 45, 36,
             PositionDirection.West, 82, 38, 24));
     list.Add("Saitama (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 52, 11,
             PositionDirection.East, 139, 38, 23));
     list.Add("Sakai (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 34, 12,
             PositionDirection.East, 135, 28, 47));
     list.Add("Salem (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 11, 40, 12,
             PositionDirection.East, 78, 9, 36));
     list.Add("Salta (Arg)", "America/Argentina/Salta",
         new Position(PositionDirection.South, 24, 47, 24,
             PositionDirection.West, 65, 24, 36));
     list.Add("Saltillo (Mex)", "America/Monterrey",
         new Position(PositionDirection.North, 25, 25, 12,
             PositionDirection.West, 101, 0, 0));
     list.Add("Salvador (Bra)", "America/Bahia",
         new Position(PositionDirection.South, 12, 58, 12,
             PositionDirection.West, 38, 30, 0));
     list.Add("Samara (Rus)", "Europe/Samara",
         new Position(PositionDirection.North, 53, 12, 0,
             PositionDirection.East, 50, 9, 0));
     list.Add("Samarinda (Ind)", "Asia/Pontianak",
         new Position(PositionDirection.South, 0, 30, 0,
             PositionDirection.East, 117, 9, 0));
     list.Add("Samarkand (Uzb)", "Asia/Tashkent",
         new Position(PositionDirection.North, 39, 39, 36,
             PositionDirection.East, 66, 57, 0));
     list.Add("Samsun (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 41, 17, 24,
             PositionDirection.East, 36, 19, 48));
     list.Add("Samut Prakan (Tha)", "Asia/Bangkok",
         new Position(PositionDirection.North, 13, 36, 36,
             PositionDirection.East, 100, 36, 36));
     list.Add("San Antonio (USA)", "America/Chicago",
         new Position(PositionDirection.North, 29, 27, 36,
             PositionDirection.West, 98, 30, 36));
     list.Add("San Bernardo (Chi)", "America/Santiago",
         new Position(PositionDirection.South, 33, 36, 0,
             PositionDirection.West, 70, 42, 0));
     list.Add("San Cristobal (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 7, 46, 12,
             PositionDirection.West, 72, 15, 0));
     list.Add("San Diego (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 32, 48, 36,
             PositionDirection.West, 117, 8, 24));
     list.Add("San Fernando (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 15, 1, 48,
             PositionDirection.East, 120, 41, 24));
     list.Add("San Francisco (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 37, 46, 12,
             PositionDirection.West, 122, 27, 0));
     list.Add("San Jose (Cos)", "America/Costa_Rica",
         new Position(PositionDirection.North, 9, 55, 48,
             PositionDirection.West, 84, 4, 48));
     list.Add("San Jose (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 37, 18, 0,
             PositionDirection.West, 121, 51, 0));
     list.Add("San Jose del Monte (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 14, 48, 36,
             PositionDirection.East, 121, 3, 0));
     list.Add("San Juan (Arg)", "America/Argentina/San_Juan",
         new Position(PositionDirection.South, 31, 32, 24,
             PositionDirection.West, 68, 31, 48));
     list.Add("San Juan (Pue)", "America/Argentina/San_Juan",
         new Position(PositionDirection.North, 18, 26, 24,
             PositionDirection.West, 66, 7, 47));
     list.Add("San Juan Sacatepequez (Gua)", "America/Guatemala",
         new Position(PositionDirection.North, 14, 43, 12,
             PositionDirection.West, 90, 38, 24));
     list.Add("San Lorenzo (Par)", "America/Asuncion",
         new Position(PositionDirection.South, 25, 20, 24,
             PositionDirection.West, 57, 31, 12));
     list.Add("San Luis (Arg)", "America/Argentina/San_Luis",
         new Position(PositionDirection.South, 33, 18, 36,
             PositionDirection.West, 66, 20, 59));
     list.Add("San Luis Potosi (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 22, 9, 36,
             PositionDirection.West, 100, 58, 48));
     list.Add("San Miguelito (Pan)", "America/Panama",
         new Position(PositionDirection.North, 9, 1, 47,
             PositionDirection.West, 79, 30, 0));
     list.Add("San Nicolas de los Garza (Mex)", "America/Monterrey",
         new Position(PositionDirection.North, 25, 45, 0,
             PositionDirection.West, 100, 18, 0));
     list.Add("San Pablo (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 14, 4, 12,
             PositionDirection.East, 121, 19, 48));
     list.Add("San Pedro (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 14, 21, 36,
             PositionDirection.East, 121, 3, 36));
     list.Add("San Pedro Sula (Hon)", "America/Tegucigalpa",
         new Position(PositionDirection.North, 15, 28, 12,
             PositionDirection.West, 88, 1, 48));
     list.Add("San Pedro de Macoris (Dom)", "America/Santo_Domingo",
         new Position(PositionDirection.North, 18, 27, 36,
             PositionDirection.West, 69, 18, 36));
     list.Add("San Salvador (ElS)", "America/El_Salvador",
         new Position(PositionDirection.North, 13, 41, 24,
             PositionDirection.West, 89, 11, 24));
     list.Add("San'a (Yem)", "Asia/Aden",
         new Position(PositionDirection.North, 0, 0, 0,
             PositionDirection.East, 99, 59, 24));
     list.Add("Sanandaj (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 35, 17, 59,
             PositionDirection.East, 47, 1, 12));
     list.Add("Sanchong (Tai)", "Asia/Taipei",
         new Position(PositionDirection.North, 25, 4, 12,
             PositionDirection.East, 121, 28, 48));
     list.Add("Sandakan (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 5, 51, 0,
             PositionDirection.East, 118, 6, 36));
     list.Add("Sandefjord (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 8, 24,
             PositionDirection.East, 10, 12, 36));
     list.Add("Sandnessjoen (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 66, 1, 12,
             PositionDirection.East, 12, 37, 48));
     list.Add("Sangli-Miraj (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 16, 51, 36,
             PositionDirection.East, 74, 34, 12));
     list.Add("Sanmenxia (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 34, 49, 48,
             PositionDirection.East, 111, 4, 48));
     list.Add("Sanming (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 26, 13, 48,
             PositionDirection.East, 117, 34, 48));
     list.Add("Santa Ana (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 33, 44, 24,
             PositionDirection.West, 117, 52, 48));
     list.Add("Santa Catarina (Mex)", "America/Monterrey",
         new Position(PositionDirection.North, 25, 40, 12,
             PositionDirection.West, 100, 28, 12));
     list.Add("Santa Clara (Cub)", "America/Havana",
         new Position(PositionDirection.North, 22, 24, 36,
             PositionDirection.West, 79, 58, 12));
     list.Add("Santa Cruz (Bol)", "America/La_Paz",
         new Position(PositionDirection.South, 17, 46, 12,
             PositionDirection.West, 63, 12, 36));
     list.Add("Santa Cruz de Tenerife (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 28, 28, 12,
             PositionDirection.West, 16, 15, 0));
     list.Add("Santa Fe (Arg)", "America/Argentina/Cordoba",
         new Position(PositionDirection.South, 31, 36, 0,
             PositionDirection.West, 60, 41, 24));
     list.Add("Santa Luzia (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 19, 46, 48,
             PositionDirection.West, 43, 52, 12));
     list.Add("Santa Maria (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 29, 41, 24,
             PositionDirection.West, 53, 49, 48));
     list.Add("Santa Marta (Col)", "America/Bogota",
         new Position(PositionDirection.North, 11, 15, 36,
             PositionDirection.West, 74, 11, 24));
     list.Add("Santa Rosa (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 14, 18, 36,
             PositionDirection.East, 121, 6, 36));
     list.Add("Santa Teresa (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 10, 13, 48,
             PositionDirection.West, 66, 39, 36));
     list.Add("Santiago (Chi)", "America/Santiago",
         new Position(PositionDirection.South, 33, 27, 36,
             PositionDirection.West, 70, 38, 24));
     list.Add("Santiago (Dom)", "America/Santo_Domingo",
         new Position(PositionDirection.North, 19, 28, 48,
             PositionDirection.West, 70, 41, 24));
     list.Add("Santiago de Cuba (Cub)", "America/Havana",
         new Position(PositionDirection.North, 20, 0, 36,
             PositionDirection.West, 75, 49, 12));
     list.Add("Santiago del Estero (Arg)", "America/Argentina/Cordoba",
         new Position(PositionDirection.South, 27, 48, 0,
             PositionDirection.West, 64, 16, 48));
     list.Add("Santo Andre (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 39, 0,
             PositionDirection.West, 46, 31, 48));
     list.Add("Santo Domingo (Dom)", "America/Santo_Domingo",
         new Position(PositionDirection.North, 18, 28, 48,
             PositionDirection.West, 69, 54, 36));
     list.Add("Santo Domingo (Ecu)", "America/Guayaquil",
         new Position(PositionDirection.South, 0, 15, 0,
             PositionDirection.West, 79, 9, 36));
     list.Add("Santos (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 57, 0,
             PositionDirection.West, 46, 19, 48));
     list.Add("Sao Bernardo do Campo (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 42, 36,
             PositionDirection.West, 46, 32, 24));
     list.Add("Sao Carlos (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 22, 1, 12,
             PositionDirection.West, 47, 53, 24));
     list.Add("Sao Goncalo (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 22, 50, 24,
             PositionDirection.West, 43, 4, 12));
     list.Add("Sao Joao de Meriti (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 22, 48, 0,
             PositionDirection.West, 43, 21, 0));
     list.Add("Sao Jose (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 27, 35, 24,
             PositionDirection.West, 48, 37, 12));
     list.Add("Sao Jose do Rio Preto (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 20, 48, 0,
             PositionDirection.West, 49, 23, 24));
     list.Add("Sao Jose dos Campos (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 12, 0,
             PositionDirection.West, 45, 52, 48));
     list.Add("Sao Jose dos Pinhais (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 25, 34, 12,
             PositionDirection.West, 49, 10, 48));
     list.Add("Sao Leopoldo (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 29, 46, 48,
             PositionDirection.West, 51, 9, 0));
     list.Add("Sao Luis (Bra)", "America/Fortaleza",
         new Position(PositionDirection.South, 2, 30, 0,
             PositionDirection.West, 44, 18, 0));
     list.Add("Sao Paulo (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 31, 48,
             PositionDirection.West, 46, 37, 48));
     list.Add("Sao Vicente (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 57, 36,
             PositionDirection.West, 46, 23, 24));
     list.Add("Sapporo (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 43, 3, 36,
             PositionDirection.East, 141, 20, 24));
     list.Add("Sarajevo (Bos)", "Europe/Sarajevo",
         new Position(PositionDirection.North, 43, 51, 0,
             PositionDirection.East, 18, 22, 48));
     list.Add("Saransk (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 54, 10, 48,
             PositionDirection.East, 45, 10, 48));
     list.Add("Saratov (Rus)", "Europe/Volgograd",
         new Position(PositionDirection.North, 51, 34, 12,
             PositionDirection.East, 46, 1, 48));
     list.Add("Sargodha (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 32, 4, 48,
             PositionDirection.East, 72, 40, 12));
     list.Add("Sari (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 36, 33, 0,
             PositionDirection.East, 53, 6, 0));
     list.Add("Sasebo (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 33, 9, 35,
             PositionDirection.East, 129, 43, 12));
     list.Add("Satif (Alg)", "Africa/Algiers",
         new Position(PositionDirection.North, 36, 11, 23,
             PositionDirection.East, 5, 24, 36));
     list.Add("Satna (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 24, 34, 48,
             PositionDirection.East, 80, 49, 48));
     list.Add("Scottsdale (USA)", "America/Phoenix",
         new Position(PositionDirection.North, 33, 41, 23,
             PositionDirection.West, 111, 52, 12));
     list.Add("Seattle (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 47, 37, 12,
             PositionDirection.West, 122, 21, 0));
     list.Add("Sekudai (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 1, 31, 48,
             PositionDirection.East, 103, 40, 12));
     list.Add("Selayang Baru (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 3, 16, 12,
             PositionDirection.East, 101, 39, 0));
     list.Add("Semarang (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 58, 12,
             PositionDirection.East, 110, 25, 12));
     list.Add("Semey (Kaz)", "Asia/Almaty",
         new Position(PositionDirection.North, 50, 25, 48,
             PositionDirection.East, 80, 16, 12));
     list.Add("Sendai (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 38, 15, 36,
             PositionDirection.East, 140, 53, 23));
     list.Add("Seongnam (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 37, 26, 24,
             PositionDirection.East, 127, 9, 0));
     list.Add("Seoul (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 37, 33, 36,
             PositionDirection.East, 126, 59, 24));
     list.Add("Seremban (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 2, 42, 36,
             PositionDirection.East, 101, 57, 0));
     list.Add("Serilungampalle (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 17, 28, 48,
             PositionDirection.East, 78, 19, 48));
     list.Add("Serra (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 20, 7, 48,
             PositionDirection.West, 40, 19, 12));
     list.Add("Serre Kunda (Gam)", "Africa/Banjul",
         new Position(PositionDirection.North, 13, 27, 0,
             PositionDirection.West, 16, 40, 48));
     list.Add("Sete Lagoas (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 19, 27, 0,
             PositionDirection.West, 44, 15, 0));
     list.Add("Sevastopol (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 44, 36, 0,
             PositionDirection.East, 33, 31, 48));
     list.Add("Sevilla (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 37, 24, 0,
             PositionDirection.West, 5, 58, 48));
     list.Add("Shah Alam (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 3, 4, 12,
             PositionDirection.East, 101, 33, 36));
     list.Add("Shahjahanpur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 27, 52, 48,
             PositionDirection.East, 79, 54, 0));
     list.Add("Shahriar (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 35, 39, 35,
             PositionDirection.East, 51, 3, 36));
     list.Add("Shakhty (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 47, 42, 36,
             PositionDirection.East, 40, 12, 36));
     list.Add("Shanghai (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 31, 13, 48,
             PositionDirection.East, 121, 28, 12));
     list.Add("Shangrao (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 28, 28, 12,
             PositionDirection.East, 117, 58, 12));
     list.Add("Shantou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 23, 22, 12,
             PositionDirection.East, 116, 40, 12));
     list.Add("Shaoguan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 24, 48, 0,
             PositionDirection.East, 113, 34, 48));
     list.Add("Shaoxing (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 30, 0, 0,
             PositionDirection.East, 120, 34, 12));
     list.Add("Shaoyang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 27, 0, 0,
             PositionDirection.East, 111, 12, 0));
     list.Add("Sharjah (UAE)", "Asia/Dubai",
         new Position(PositionDirection.North, 25, 22, 12,
             PositionDirection.East, 55, 24, 36));
     list.Add("Shashi (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 30, 19, 12,
             PositionDirection.East, 112, 13, 48));
     list.Add("Shatian (Chi)", "Asia/Hong_Kong",
         new Position(PositionDirection.North, 22, 22, 48,
             PositionDirection.East, 114, 11, 24));
     list.Add("Sheffield (UK)", "Europe/London",
         new Position(PositionDirection.North, 53, 23, 24,
             PositionDirection.West, 1, 28, 48));
     list.Add("Shekhupura (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 31, 43, 12,
             PositionDirection.East, 73, 58, 48));
     list.Add("Shenyang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 41, 48, 0,
             PositionDirection.East, 123, 27, 0));
     list.Add("Shenzhen (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 22, 31, 48,
             PositionDirection.East, 114, 7, 48));
     list.Add("Shihezi (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 44, 18, 0,
             PositionDirection.East, 86, 1, 48));
     list.Add("Shihung (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 37, 27, 36,
             PositionDirection.East, 126, 53, 24));
     list.Add("Shijiazhuang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 38, 3, 0,
             PositionDirection.East, 114, 28, 48));
     list.Add("Shiliguri (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 26, 43, 48,
             PositionDirection.East, 88, 25, 12));
     list.Add("Shimoga (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 13, 55, 48,
             PositionDirection.East, 75, 34, 12));
     list.Add("Shimonoseki (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 33, 57, 36,
             PositionDirection.East, 130, 56, 24));
     list.Add("Shiongshui (Chi)", "Asia/Hong_Kong",
         new Position(PositionDirection.North, 22, 31, 12,
             PositionDirection.East, 114, 7, 12));
     list.Add("Shiraz (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 29, 37, 48,
             PositionDirection.East, 52, 34, 12));
     list.Add("Shiyan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 32, 34, 12,
             PositionDirection.East, 110, 46, 48));
     list.Add("Shizuoka (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 58, 47,
             PositionDirection.East, 138, 23, 23));
     list.Add("Sholapur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 17, 40, 12,
             PositionDirection.East, 75, 53, 24));
     list.Add("Shreveport (USA)", "America/Chicago",
         new Position(PositionDirection.North, 32, 28, 12,
             PositionDirection.West, 93, 48, 0));
     list.Add("Shrirampur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 44, 24,
             PositionDirection.East, 88, 21, 0));
     list.Add("Shuangyashan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 46, 40, 12,
             PositionDirection.East, 131, 21, 0));
     list.Add("Shubra-El-Khema (Egy)", "Africa/Cairo",
         new Position(PositionDirection.North, 30, 6, 36,
             PositionDirection.East, 31, 15, 0));
     list.Add("Shymkent (Kaz)", "Asia/Almaty",
         new Position(PositionDirection.North, 42, 19, 12,
             PositionDirection.East, 69, 35, 24));
     list.Add("Sialkot (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 32, 31, 12,
             PositionDirection.East, 74, 33, 0));
     list.Add("Sibu (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 2, 18, 0,
             PositionDirection.East, 111, 49, 48));
     list.Add("Sihlangu (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 27, 45, 0,
             PositionDirection.East, 29, 55, 12));
     list.Add("Sikandarabad (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 17, 28, 11,
             PositionDirection.East, 78, 31, 12));
     list.Add("Sikar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 27, 36, 36,
             PositionDirection.East, 75, 7, 48));
     list.Add("Silhat (Ban)", "Asia/Dhaka",
         new Position(PositionDirection.North, 24, 54, 0,
             PositionDirection.East, 91, 52, 12));
     list.Add("Simferopol (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 44, 57, 0,
             PositionDirection.East, 34, 6, 0));
     list.Add("Sincelejo (Col)", "America/Bogota",
         new Position(PositionDirection.North, 9, 17, 24,
             PositionDirection.West, 75, 22, 48));
     list.Add("Singapore (Sin)", "Asia/Singapore",
         new Position(PositionDirection.North, 1, 18, 0,
             PositionDirection.East, 103, 51, 0));
     list.Add("Singrauli (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 23, 50, 24,
             PositionDirection.East, 82, 16, 12));
     list.Add("Sinuiju (NKo)", "Asia/Pyongyang",
         new Position(PositionDirection.North, 40, 6, 0,
             PositionDirection.East, 124, 24, 36));
     list.Add("Siping (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 43, 10, 12,
             PositionDirection.East, 124, 19, 48));
     list.Add("Sivas (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 39, 45, 0,
             PositionDirection.East, 37, 1, 12));
     list.Add("Ski (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 43, 12,
             PositionDirection.East, 10, 49, 48));
     list.Add("Skopje (Mac)", "Europe/Skopje",
         new Position(PositionDirection.North, 42, 0, 0,
             PositionDirection.East, 21, 28, 12));
     list.Add("Smolensk (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 54, 46, 48,
             PositionDirection.East, 32, 2, 24));
     list.Add("Soacha (Col)", "America/Bogota",
         new Position(PositionDirection.North, 4, 34, 48,
             PositionDirection.West, 74, 13, 12));
     list.Add("Sochi (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 43, 36, 0,
             PositionDirection.East, 39, 43, 48));
     list.Add("Sofia (Bul)", "Europe/Sofia",
         new Position(PositionDirection.North, 42, 41, 24,
             PositionDirection.East, 23, 18, 36));
     list.Add("Sogne (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 58, 6, 0,
             PositionDirection.East, 7, 46, 48));
     list.Add("Soka (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 49, 12,
             PositionDirection.East, 139, 47, 24));
     list.Add("Sokoto (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 13, 3, 36,
             PositionDirection.East, 5, 14, 24));
     list.Add("Soledad (Col)", "America/Bogota",
         new Position(PositionDirection.North, 10, 55, 12,
             PositionDirection.West, 74, 46, 12));
     list.Add("Soledad (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 22, 10, 48,
             PositionDirection.West, 100, 57, 36));
     list.Add("Sonipat (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 28, 59, 24,
             PositionDirection.East, 77, 0, 36));
     list.Add("Sorocaba (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 29, 24,
             PositionDirection.West, 47, 28, 12));
     list.Add("Sortland (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 68, 42, 35,
             PositionDirection.East, 15, 22, 48));
     list.Add("Sosnowiec (Pol)", "Europe/Warsaw",
         new Position(PositionDirection.North, 50, 16, 48,
             PositionDirection.East, 19, 7, 12));
     list.Add("South Dum Dum (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 36, 36,
             PositionDirection.East, 88, 24, 36));
     list.Add("South Pole", "UTC",
         new Position(PositionDirection.South, 90, 0, 0,
             PositionDirection.East, 0, 0, 0));
     list.Add("Southampton (UK)", "Europe/London",
         new Position(PositionDirection.North, 50, 54, 36,
             PositionDirection.West, 1, 24, 36));
     list.Add("Soweto (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 26, 16, 48,
             PositionDirection.East, 27, 50, 24));
     list.Add("Soyapango (ElS)", "America/El_Salvador",
         new Position(PositionDirection.North, 13, 42, 0,
             PositionDirection.West, 89, 9, 36));
     list.Add("Srinagar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 34, 5, 24,
             PositionDirection.East, 74, 47, 24));
     list.Add("Staryy Oskol (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 51, 18, 0,
             PositionDirection.East, 37, 50, 24));
     list.Add("Stavanger (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 58, 58, 12,
             PositionDirection.East, 5, 42, 36));
     list.Add("Stavern (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 0, 0,
             PositionDirection.East, 10, 1, 48));
     list.Add("Stavropol (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 45, 2, 24,
             PositionDirection.East, 41, 58, 12));
     list.Add("Steinkjer (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 64, 1, 12,
             PositionDirection.East, 11, 28, 48));
     list.Add("Sterlitamak (Rus)", "Asia/Yekaterinburg",
         new Position(PositionDirection.North, 53, 37, 48,
             PositionDirection.East, 55, 57, 0));
     list.Add("Stjordalshalsen (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 63, 28, 48,
             PositionDirection.East, 10, 56, 24));
     list.Add("Stockholm (Swe)", "Europe/Stockholm",
         new Position(PositionDirection.North, 59, 19, 48,
             PositionDirection.East, 18, 4, 12));
     list.Add("Stockton (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 37, 58, 12,
             PositionDirection.West, 121, 18, 36));
     list.Add("Stoke-on-Trent (UK)", "Europe/London",
         new Position(PositionDirection.North, 53, 0, 36,
             PositionDirection.West, 2, 11, 24));
     list.Add("Strasbourg (Fra)", "Europe/Paris",
         new Position(PositionDirection.North, 48, 34, 48,
             PositionDirection.East, 7, 45, 36));
     list.Add("Stuttgart (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 48, 47, 24,
             PositionDirection.East, 9, 11, 24));
     list.Add("Subang Jaya (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 3, 9, 0,
             PositionDirection.East, 101, 31, 48));
     list.Add("Sucheng (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 33, 57, 0,
             PositionDirection.East, 118, 17, 24));
     list.Add("Sucre (Bol)", "America/La_Paz",
         new Position(PositionDirection.South, 19, 3, 36,
             PositionDirection.West, 65, 15, 36));
     list.Add("Suez (Egy)", "Africa/Cairo",
         new Position(PositionDirection.North, 29, 58, 48,
             PositionDirection.East, 32, 32, 24));
     list.Add("Suihua (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 46, 37, 48,
             PositionDirection.East, 126, 58, 48));
     list.Add("Suita (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 45, 0,
             PositionDirection.East, 135, 31, 12));
     list.Add("Suizhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 31, 42, 36,
             PositionDirection.East, 113, 21, 36));
     list.Add("Sukabumi (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 55, 12,
             PositionDirection.East, 106, 55, 12));
     list.Add("Sukkur (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 27, 42, 0,
             PositionDirection.East, 68, 50, 59));
     list.Add("Sulaymaniyah (Ira)", "Asia/Baghdad",
         new Position(PositionDirection.North, 35, 33, 36,
             PositionDirection.East, 45, 25, 48));
     list.Add("Sullana (Per)", "America/Lima",
         new Position(PositionDirection.South, 4, 53, 24,
             PositionDirection.West, 80, 40, 48));
     list.Add("Sultanbeyli (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 40, 55, 12,
             PositionDirection.East, 29, 18, 0));
     list.Add("Sultanpur Majra (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 28, 45, 36,
             PositionDirection.East, 77, 3, 36));
     list.Add("Sumare (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 22, 48, 0,
             PositionDirection.West, 47, 17, 24));
     list.Add("Sumedang (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 50, 24,
             PositionDirection.East, 107, 55, 12));
     list.Add("Sumqayit (Aze)", "Asia/Baku",
         new Position(PositionDirection.North, 40, 35, 24,
             PositionDirection.East, 49, 38, 24));
     list.Add("Sumy (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 50, 55, 12,
             PositionDirection.East, 34, 46, 48));
     list.Add("Suncheon (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 34, 57, 0,
             PositionDirection.East, 127, 29, 24));
     list.Add("Sungai Petani (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 5, 39, 0,
             PositionDirection.East, 100, 28, 48));
     list.Add("Sunrise Manor (USA)", "America/Los_Angeles",
         new Position(PositionDirection.North, 36, 11, 23,
             PositionDirection.West, 115, 3, 0));
     list.Add("Surabaya (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 7, 14, 24,
             PositionDirection.East, 112, 44, 24));
     list.Add("Surakarta (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 7, 34, 12,
             PositionDirection.East, 110, 49, 12));
     list.Add("Surat (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 21, 12, 0,
             PositionDirection.East, 72, 49, 12));
     list.Add("Surgut (Rus)", "Asia/Novosibirsk",
         new Position(PositionDirection.North, 61, 15, 0,
             PositionDirection.East, 73, 25, 12));
     list.Add("Suweon (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 37, 15, 36,
             PositionDirection.East, 127, 0, 36));
     list.Add("Suzano (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 33, 0,
             PositionDirection.West, 46, 18, 36));
     list.Add("Suzhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 31, 18, 0,
             PositionDirection.East, 120, 37, 12));
     list.Add("Sydney (Aus)", "Australia/Sydney",
         new Position(PositionDirection.South, 33, 52, 11,
             PositionDirection.East, 151, 12, 36));
     list.Add("Syktyvkar (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 61, 40, 12,
             PositionDirection.East, 50, 48, 36));
     list.Add("Szczecin (Pol)", "Europe/Warsaw",
         new Position(PositionDirection.North, 53, 25, 48,
             PositionDirection.East, 14, 31, 48));
     list.Add("Taboao da Serra (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 36, 0,
             PositionDirection.West, 46, 46, 48));
     list.Add("Tabriz (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 38, 4, 48,
             PositionDirection.East, 46, 18, 0));
     list.Add("Tabuk (Sau)", "Asia/Riyadh",
         new Position(PositionDirection.North, 28, 23, 24,
             PositionDirection.East, 36, 34, 12));
     list.Add("Tacna (Per)", "America/Lima",
         new Position(PositionDirection.South, 18, 1, 12,
             PositionDirection.West, 70, 15, 0));
     list.Add("Taejeon (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 36, 19, 48,
             PositionDirection.East, 127, 25, 48));
     list.Add("Taganrog (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 47, 13, 12,
             PositionDirection.East, 38, 54, 36));
     list.Add("Tagum (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 7, 22, 48,
             PositionDirection.East, 125, 48, 36));
     list.Add("Taian (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 36, 12, 0,
             PositionDirection.East, 117, 7, 12));
     list.Add("Taif (Sau)", "Asia/Riyadh",
         new Position(PositionDirection.North, 21, 15, 36,
             PositionDirection.East, 40, 22, 48));
     list.Add("Tainan (Tai)", "Asia/Taipei",
         new Position(PositionDirection.North, 23, 0, 0,
             PositionDirection.East, 120, 11, 24));
     list.Add("Taipei (Tai)", "Asia/Taipei",
         new Position(PositionDirection.North, 25, 1, 12,
             PositionDirection.East, 121, 27, 0));
     list.Add("Taiping (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 4, 51, 36,
             PositionDirection.East, 100, 43, 12));
     list.Add("Taiyuan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 37, 52, 12,
             PositionDirection.East, 112, 33, 0));
     list.Add("Taiz (Yem)", "Asia/Aden",
         new Position(PositionDirection.North, 0, 0, 0,
             PositionDirection.East, 99, 59, 24));
     list.Add("Taizhong (Tai)", "Asia/Taipei",
         new Position(PositionDirection.North, 24, 9, 0,
             PositionDirection.East, 120, 40, 48));
     list.Add("Taizhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 32, 29, 24,
             PositionDirection.East, 119, 54, 0));
     list.Add("Takamatsu (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 20, 24,
             PositionDirection.East, 134, 2, 24));
     list.Add("Takarazuka (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 47, 59,
             PositionDirection.East, 135, 21, 0));
     list.Add("Takasaki (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 36, 19, 48,
             PositionDirection.East, 139, 1, 12));
     list.Add("Takatsuki (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 51, 0,
             PositionDirection.East, 135, 37, 12));
     list.Add("Takoradi (Gha)", "Africa/Accra",
         new Position(PositionDirection.North, 4, 53, 24,
             PositionDirection.West, 1, 45, 36));
     list.Add("Talca (Chi)", "America/Santiago",
         new Position(PositionDirection.South, 35, 25, 12,
             PositionDirection.West, 71, 39, 36));
     list.Add("Tallinn (Est)", "Europe/Tallinn",
         new Position(PositionDirection.North, 59, 26, 24,
             PositionDirection.East, 24, 44, 24));
     list.Add("Tamale (Gha)", "Africa/Accra",
         new Position(PositionDirection.North, 9, 24, 0,
             PositionDirection.West, 0, 50, 24));
     list.Add("Tambov (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 52, 43, 48,
             PositionDirection.East, 41, 25, 48));
     list.Add("Tambun (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 16, 12,
             PositionDirection.East, 107, 3, 0));
     list.Add("Tampa (USA)", "America/New_York",
         new Position(PositionDirection.North, 27, 57, 36,
             PositionDirection.West, 82, 28, 48));
     list.Add("Tampere (Fin)", "Europe/Helsinki",
         new Position(PositionDirection.North, 61, 31, 12,
             PositionDirection.East, 23, 45, 36));
     list.Add("Tampico (Mex)", "America/Monterrey",
         new Position(PositionDirection.North, 22, 13, 12,
             PositionDirection.West, 97, 51, 0));
     list.Add("Tananger (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 58, 56, 24,
             PositionDirection.East, 5, 36, 0));
     list.Add("Tanga (Tan)", "Africa/Dar_es_Salaam",
         new Position(PositionDirection.South, 5, 4, 12,
             PositionDirection.East, 39, 5, 24));
     list.Add("Tanger (Mor)", "Africa/Casablanca",
         new Position(PositionDirection.North, 35, 47, 24,
             PositionDirection.West, 5, 48, 36));
     list.Add("Tangerang (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 10, 48,
             PositionDirection.East, 106, 37, 48));
     list.Add("Tanggu (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 39, 0, 0,
             PositionDirection.East, 117, 40, 12));
     list.Add("Tangshan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 39, 37, 12,
             PositionDirection.East, 118, 11, 24));
     list.Add("Tanta (Egy)", "Africa/Cairo",
         new Position(PositionDirection.North, 30, 47, 24,
             PositionDirection.East, 31, 0, 0));
     list.Add("Taoyuan (Tai)", "Asia/Taipei",
         new Position(PositionDirection.North, 25, 0, 0,
             PositionDirection.East, 121, 18, 36));
     list.Add("Tapachula (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 14, 54, 36,
             PositionDirection.West, 92, 16, 12));
     list.Add("Taqbah (Sau)", "Asia/Riyadh",
         new Position(PositionDirection.North, 25, 19, 12,
             PositionDirection.East, 49, 31, 12));
     list.Add("Taraz (Kaz)", "Asia/Almaty",
         new Position(PositionDirection.North, 42, 54, 0,
             PositionDirection.East, 71, 22, 12));
     list.Add("Tarhunah (Lib)", "Africa/Tripoli",
         new Position(PositionDirection.North, 32, 25, 48,
             PositionDirection.East, 13, 37, 48));
     list.Add("Tarlac (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 15, 28, 48,
             PositionDirection.East, 120, 34, 48));
     list.Add("Tarsus (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 36, 55, 12,
             PositionDirection.East, 34, 54, 0));
     list.Add("Tashkent (Uzb)", "Asia/Tashkent",
         new Position(PositionDirection.North, 41, 18, 36,
             PositionDirection.East, 69, 18, 0));
     list.Add("Tasikmalaya (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 7, 19, 12,
             PositionDirection.East, 108, 12, 36));
     list.Add("Taubate (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 23, 1, 12,
             PositionDirection.West, 45, 33, 36));
     list.Add("Tawau (Mal)", "Asia/Kuala_Lumpur",
         new Position(PositionDirection.North, 4, 15, 36,
             PositionDirection.East, 117, 52, 48));
     list.Add("Taytay (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 14, 34, 12,
             PositionDirection.East, 121, 7, 48));
     list.Add("Tbilisi (Geo)", "Asia/Tbilisi",
         new Position(PositionDirection.North, 41, 43, 12,
             PositionDirection.East, 44, 47, 24));
     list.Add("Tegal (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 6, 51, 36,
             PositionDirection.East, 109, 7, 48));
     list.Add("Tegucigalpa (Hon)", "America/Tegucigalpa",
         new Position(PositionDirection.North, 14, 5, 24,
             PositionDirection.West, 87, 13, 12));
     list.Add("Tehran (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 35, 40, 12,
             PositionDirection.East, 51, 25, 48));
     list.Add("Tehuacan (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 18, 27, 0,
             PositionDirection.West, 97, 22, 48));
     list.Add("Tel Aviv (Isr)", "Asia/Tel_Aviv",
         new Position(PositionDirection.North, 32, 4, 12,
             PositionDirection.East, 34, 46, 12));
     list.Add("Tembisa (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 25, 59, 24,
             PositionDirection.East, 28, 13, 12));
     list.Add("Temuco (Chi)", "America/Santiago",
         new Position(PositionDirection.South, 38, 43, 48,
             PositionDirection.West, 72, 34, 48));
     list.Add("Tepic (Mex)", "America/Mazatlan",
         new Position(PositionDirection.North, 21, 30, 0,
             PositionDirection.West, 104, 53, 24));
     list.Add("Teresina (Bra)", "America/Fortaleza",
         new Position(PositionDirection.South, 5, 6, 0,
             PositionDirection.West, 42, 48, 0));
     list.Add("Ternopil (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 49, 33, 0,
             PositionDirection.East, 25, 34, 48));
     list.Add("Terrassa (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 41, 34, 12,
             PositionDirection.East, 2, 0, 0));
     list.Add("Tetouan (Mor)", "Africa/Casablanca",
         new Position(PositionDirection.North, 35, 34, 48,
             PositionDirection.West, 5, 22, 12));
     list.Add("Thana (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 19, 12, 0,
             PositionDirection.East, 72, 58, 12));
     list.Add("Thanjavur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 10, 47, 24,
             PositionDirection.East, 79, 7, 48));
     list.Add("Thessaloniki (Gre)", "Europe/Athens",
         new Position(PositionDirection.North, 40, 38, 24,
             PositionDirection.East, 22, 56, 24));
     list.Add("Thies (Sen)", "Africa/Dakar",
         new Position(PositionDirection.North, 14, 48, 36,
             PositionDirection.West, 16, 55, 48));
     list.Add("Thiruvananthapuram (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 8, 30, 36,
             PositionDirection.East, 76, 57, 0));
     list.Add("Thrissur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 10, 31, 12,
             PositionDirection.East, 76, 12, 36));
     list.Add("Thuthukkudi (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 8, 48, 36,
             PositionDirection.East, 78, 8, 24));
     list.Add("Tianjin (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 39, 7, 48,
             PositionDirection.East, 117, 12, 0));
     list.Add("Tianmen (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 30, 39, 36,
             PositionDirection.East, 113, 9, 36));
     list.Add("Tieling (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 42, 18, 0,
             PositionDirection.East, 123, 49, 12));
     list.Add("Tijuana (Mex)", "America/Tijuana",
         new Position(PositionDirection.North, 32, 31, 48,
             PositionDirection.West, 117, 1, 12));
     list.Add("Timisoara (Rom)", "Europe/Bucharest",
         new Position(PositionDirection.North, 45, 45, 36,
             PositionDirection.East, 21, 13, 48));
     list.Add("Tirana (Alb)", "Europe/Tirane",
         new Position(PositionDirection.North, 41, 19, 48,
             PositionDirection.East, 19, 49, 12));
     list.Add("Tiruchchirappalli (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 10, 48, 36,
             PositionDirection.East, 78, 41, 24));
     list.Add("Tirunelveli (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 8, 43, 48,
             PositionDirection.East, 77, 41, 24));
     list.Add("Tirupati (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 13, 37, 48,
             PositionDirection.East, 79, 24, 36));
     list.Add("Tiruppur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 11, 5, 24,
             PositionDirection.East, 77, 21, 0));
     list.Add("Tiruvottiyur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 13, 9, 36,
             PositionDirection.East, 80, 17, 24));
     list.Add("Tlalnepantla (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 19, 32, 24,
             PositionDirection.West, 99, 11, 24));
     list.Add("Tlaquepaque (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 20, 38, 24,
             PositionDirection.West, 103, 19, 12));
     list.Add("Toamasina (Mad)", "Indian/Antananarivo",
         new Position(PositionDirection.South, 18, 8, 59,
             PositionDirection.East, 49, 24, 0));
     list.Add("Tokorozawa (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 47, 59,
             PositionDirection.East, 139, 28, 12));
     list.Add("Tokushima (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 4, 12,
             PositionDirection.East, 134, 33, 0));
     list.Add("Tokyo (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 40, 12,
             PositionDirection.East, 139, 46, 12));
     list.Add("Toledo (USA)", "America/New_York",
         new Position(PositionDirection.North, 41, 39, 36,
             PositionDirection.West, 83, 34, 48));
     list.Add("Toluca (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 19, 17, 24,
             PositionDirection.West, 99, 40, 12));
     list.Add("Tolyatti (Rus)", "Europe/Samara",
         new Position(PositionDirection.North, 53, 28, 48,
             PositionDirection.East, 49, 30, 36));
     list.Add("Tomsk (Rus)", "Asia/Novosibirsk",
         new Position(PositionDirection.North, 56, 30, 0,
             PositionDirection.East, 84, 58, 12));
     list.Add("Tonala (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 20, 37, 12,
             PositionDirection.West, 103, 13, 48));
     list.Add("Tongchuan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 35, 4, 48,
             PositionDirection.East, 109, 1, 48));
     list.Add("Tongliao (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 43, 37, 12,
             PositionDirection.East, 122, 16, 12));
     list.Add("Tongling (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 30, 57, 0,
             PositionDirection.East, 117, 46, 48));
     list.Add("Tonsberg (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 16, 12,
             PositionDirection.East, 10, 25, 12));
     list.Add("Toronto (Can)", "America/Toronto",
         new Position(PositionDirection.North, 43, 39, 0,
             PositionDirection.West, 79, 22, 48));
     list.Add("Torreon (Mex)", "America/Monterrey",
         new Position(PositionDirection.North, 25, 33, 0,
             PositionDirection.West, 103, 25, 48));
     list.Add("Torun (Pol)", "Europe/Warsaw",
         new Position(PositionDirection.North, 53, 1, 12,
             PositionDirection.East, 18, 36, 36));
     list.Add("Tottori (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 30, 0,
             PositionDirection.East, 134, 13, 47));
     list.Add("Toulouse (Fra)", "Europe/Paris",
         new Position(PositionDirection.North, 43, 37, 12,
             PositionDirection.East, 1, 27, 0));
     list.Add("Toyama (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 36, 42, 0,
             PositionDirection.East, 137, 13, 12));
     list.Add("Toyohashi (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 45, 36,
             PositionDirection.East, 137, 23, 23));
     list.Add("Toyonaka (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 46, 48,
             PositionDirection.East, 135, 28, 47));
     list.Add("Toyota (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 5, 24,
             PositionDirection.East, 137, 9, 36));
     list.Add("Trabzon (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 41, 0, 0,
             PositionDirection.East, 39, 42, 36));
     list.Add("Tranby (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 47, 24,
             PositionDirection.East, 10, 16, 48));
     list.Add("Tripoli (Lib)", "Africa/Tripoli",
         new Position(PositionDirection.North, 32, 52, 11,
             PositionDirection.East, 13, 10, 48));
     list.Add("Tromso (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 69, 39, 36,
             PositionDirection.East, 18, 56, 24));
     list.Add("Trondheim (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 63, 26, 24,
             PositionDirection.East, 10, 24, 0));
     list.Add("Trujillo (Per)", "America/Lima",
         new Position(PositionDirection.South, 8, 6, 35,
             PositionDirection.West, 79, 1, 48));
     list.Add("Tshikapa (Con)", "Africa/Lubumbashi",
         new Position(PositionDirection.South, 6, 24, 36,
             PositionDirection.East, 20, 46, 12));
     list.Add("Tsukuba (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 36, 12, 36,
             PositionDirection.East, 140, 5, 24));
     list.Add("Tucheng (Tai)", "Asia/Taipei",
         new Position(PositionDirection.North, 24, 58, 48,
             PositionDirection.East, 121, 26, 24));
     list.Add("Tucson (USA)", "America/Phoenix",
         new Position(PositionDirection.North, 32, 12, 0,
             PositionDirection.West, 110, 53, 24));
     list.Add("Tucuman (Arg)", "America/Argentina/Tucuman",
         new Position(PositionDirection.South, 26, 49, 48,
             PositionDirection.West, 65, 13, 12));
     list.Add("Tula (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 54, 12, 0,
             PositionDirection.East, 37, 36, 36));
     list.Add("Tulsa (USA)", "America/Chicago",
         new Position(PositionDirection.North, 36, 7, 48,
             PositionDirection.West, 95, 55, 12));
     list.Add("Tumkur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 13, 20, 24,
             PositionDirection.East, 77, 6, 0));
     list.Add("Tungi (Ban)", "Asia/Dhaka",
         new Position(PositionDirection.North, 23, 52, 48,
             PositionDirection.East, 90, 24, 0));
     list.Add("Tunis (Tun)", "Africa/Tunis",
         new Position(PositionDirection.North, 36, 50, 24,
             PositionDirection.East, 10, 13, 12));
     list.Add("Turin (Ita)", "Europe/Rome",
         new Position(PositionDirection.North, 45, 4, 48,
             PositionDirection.East, 7, 40, 48));
     list.Add("Turkmenabat (Tur)", "Asia/Ashgabat",
         new Position(PositionDirection.North, 39, 6, 0,
             PositionDirection.East, 63, 34, 12));
     list.Add("Turmero (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 10, 13, 12,
             PositionDirection.West, 67, 28, 48));
     list.Add("Tuxtla Gutierrez (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 16, 45, 0,
             PositionDirection.West, 93, 7, 12));
     list.Add("Tver (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 56, 51, 36,
             PositionDirection.East, 35, 53, 24));
     list.Add("Tyumen (Rus)", "Asia/Yekaterinburg",
         new Position(PositionDirection.North, 57, 9, 0,
             PositionDirection.East, 65, 31, 48));
     list.Add("Uberaba (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 19, 45, 36,
             PositionDirection.West, 47, 56, 24));
     list.Add("Uberlandia (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 18, 54, 0,
             PositionDirection.West, 48, 16, 48));
     list.Add("Udaipur (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 24, 34, 48,
             PositionDirection.East, 73, 41, 24));
     list.Add("Udon Thani (Tha)", "Asia/Bangkok",
         new Position(PositionDirection.North, 17, 24, 36,
             PositionDirection.East, 102, 47, 24));
     list.Add("Ufa (Rus)", "Asia/Yekaterinburg",
         new Position(PositionDirection.North, 54, 46, 48,
             PositionDirection.East, 56, 2, 24));
     list.Add("Uijeongbu (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 37, 44, 24,
             PositionDirection.East, 127, 2, 24));
     list.Add("Uitenhage (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 33, 45, 36,
             PositionDirection.East, 25, 23, 24));
     list.Add("Ujjain (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 23, 11, 24,
             PositionDirection.East, 75, 46, 48));
     list.Add("Ulan Bator (Mon)", "Asia/Ulan_Bator",
         new Position(PositionDirection.North, 47, 55, 48,
             PositionDirection.East, 106, 54, 36));
     list.Add("Ulan-Ude (Rus)", "Asia/Irkutsk",
         new Position(PositionDirection.North, 51, 49, 48,
             PositionDirection.East, 107, 37, 12));
     list.Add("Ulhasnagar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 19, 13, 48,
             PositionDirection.East, 73, 9, 0));
     list.Add("Ulsan (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 35, 32, 59,
             PositionDirection.East, 129, 18, 36));
     list.Add("Ulsteinvik (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 62, 20, 24,
             PositionDirection.East, 5, 52, 12));
     list.Add("Ulubaria (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 28, 12,
             PositionDirection.East, 88, 6, 36));
     list.Add("Ulyanovsk (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 54, 19, 48,
             PositionDirection.East, 48, 24, 0));
     list.Add("Umm Durman (Sud)", "Africa/Khartoum",
         new Position(PositionDirection.North, 15, 39, 0,
             PositionDirection.East, 32, 28, 47));
     list.Add("Urfa (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 37, 10, 12,
             PositionDirection.East, 38, 47, 24));
     list.Add("Uruapan (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 19, 25, 12,
             PositionDirection.West, 102, 4, 12));
     list.Add("Urumqi (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 43, 48, 0,
             PositionDirection.East, 87, 34, 48));
     list.Add("Utrecht (Net)", "Europe/Amsterdam",
         new Position(PositionDirection.North, 52, 6, 0,
             PositionDirection.East, 5, 6, 36));
     list.Add("Utsunomiya (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 36, 33, 36,
             PositionDirection.East, 139, 53, 23));
     list.Add("Uyo (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 5, 1, 48,
             PositionDirection.East, 7, 55, 48));
     list.Add("Vadodara (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 22, 18, 36,
             PositionDirection.East, 73, 10, 48));
     list.Add("Vadso (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 70, 5, 24,
             PositionDirection.East, 29, 44, 24));
     list.Add("Valencia (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 39, 28, 48,
             PositionDirection.West, 0, 23, 24));
     list.Add("Valencia (Ven)", "America/Caracas",
         new Position(PositionDirection.North, 10, 13, 48,
             PositionDirection.West, 67, 58, 48));
     list.Add("Valladolid (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 41, 39, 0,
             PositionDirection.West, 4, 44, 24));
     list.Add("Valledupar (Col)", "America/Bogota",
         new Position(PositionDirection.North, 10, 28, 48,
             PositionDirection.West, 73, 15, 0));
     list.Add("Valparaiso (Chi)", "America/Santiago",
         new Position(PositionDirection.South, 33, 2, 24,
             PositionDirection.West, 71, 38, 24));
     list.Add("Van (Tur)", "Asia/Istanbul",
         new Position(PositionDirection.North, 38, 29, 24,
             PositionDirection.East, 43, 24, 0));
     list.Add("Vancouver (Can)", "America/Vancouver",
         new Position(PositionDirection.North, 49, 16, 48,
             PositionDirection.West, 123, 7, 48));
     list.Add("Vanderbijlpark (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 26, 41, 24,
             PositionDirection.East, 27, 49, 12));
     list.Add("Varamin (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 35, 19, 12,
             PositionDirection.East, 51, 39, 0));
     list.Add("Varanasi (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 25, 19, 12,
             PositionDirection.East, 83, 0, 36));
     list.Add("Varna (Bul)", "Europe/Sofia",
         new Position(PositionDirection.North, 43, 12, 36,
             PositionDirection.East, 27, 54, 0));
     list.Add("Varzea Grande (Bra)", "America/Cuiaba",
         new Position(PositionDirection.South, 15, 39, 0,
             PositionDirection.West, 56, 8, 24));
     list.Add("Velikiy Novgorod (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 58, 31, 12,
             PositionDirection.East, 31, 16, 48));
     list.Add("Venice (Ita)", "Europe/Rome",
         new Position(PositionDirection.North, 45, 25, 48,
             PositionDirection.East, 12, 19, 48));
     list.Add("Vennesla (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 58, 15, 36,
             PositionDirection.East, 7, 57, 36));
     list.Add("Veracruz (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 19, 11, 24,
             PositionDirection.West, 96, 8, 24));
     list.Add("Verdalsora (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 63, 48, 0,
             PositionDirection.East, 11, 29, 24));
     list.Add("Vereeniging (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 26, 39, 0,
             PositionDirection.East, 27, 57, 36));
     list.Add("Verona (Ita)", "Europe/Rome",
         new Position(PositionDirection.North, 45, 26, 24,
             PositionDirection.East, 10, 59, 24));
     list.Add("Verwoerdburg (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 25, 49, 48,
             PositionDirection.East, 28, 12, 0));
     list.Add("Vestby (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 59, 36, 0,
             PositionDirection.East, 10, 44, 24));
     list.Add("Viamao (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 30, 5, 24,
             PositionDirection.West, 50, 58, 48));
     list.Add("Vicebsk (Bel)", "Europe/Minsk",
         new Position(PositionDirection.North, 55, 11, 24,
             PositionDirection.East, 30, 10, 48));
     list.Add("Victoria (Can)", "America/Vancouver",
         new Position(PositionDirection.North, 48, 25, 48,
             PositionDirection.West, 123, 22, 12));
     list.Add("Victoria (Mex)", "America/Monterrey",
         new Position(PositionDirection.North, 23, 43, 48,
             PositionDirection.West, 99, 7, 48));
     list.Add("Vienna (Aus)", "Europe/Vienna",
         new Position(PositionDirection.North, 48, 13, 12,
             PositionDirection.East, 16, 22, 12));
     list.Add("Vientiane (Lao)", "Asia/Vientiane",
         new Position(PositionDirection.North, 17, 58, 11,
             PositionDirection.East, 102, 36, 36));
     list.Add("Vigo (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 42, 13, 12,
             PositionDirection.West, 8, 42, 36));
     list.Add("Vijayawada (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 16, 31, 12,
             PositionDirection.East, 80, 37, 48));
     list.Add("Vila Velha (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 20, 19, 12,
             PositionDirection.West, 40, 16, 48));
     list.Add("Villa Canales (Gua)", "America/Guatemala",
         new Position(PositionDirection.North, 14, 28, 48,
             PositionDirection.West, 90, 31, 48));
     list.Add("Villa Nueva (Gua)", "America/Guatemala",
         new Position(PositionDirection.North, 14, 31, 48,
             PositionDirection.West, 90, 35, 24));
     list.Add("Villahermosa (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 17, 58, 48,
             PositionDirection.West, 92, 55, 12));
     list.Add("Villavicencio (Col)", "America/Bogota",
         new Position(PositionDirection.North, 4, 9, 0,
             PositionDirection.West, 73, 38, 24));
     list.Add("Vilnius (Lit)", "Europe/Vilnius",
         new Position(PositionDirection.North, 54, 42, 0,
             PositionDirection.East, 25, 16, 12));
     list.Add("Vina del Mar (Chi)", "America/Santiago",
         new Position(PositionDirection.South, 33, 0, 36,
             PositionDirection.West, 71, 33, 0));
     list.Add("Vinnytsya (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 49, 13, 48,
             PositionDirection.East, 28, 28, 48));
     list.Add("Virginia Beach (USA)", "America/New_York",
         new Position(PositionDirection.North, 36, 44, 24,
             PositionDirection.West, 76, 2, 24));
     list.Add("Visakhapatnam (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 17, 43, 48,
             PositionDirection.East, 83, 18, 0));
     list.Add("Vitoria (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 20, 18, 36,
             PositionDirection.West, 40, 18, 36));
     list.Add("Vitoria (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 42, 51, 0,
             PositionDirection.West, 2, 40, 12));
     list.Add("Vitoria da Conquista (Bra)", "America/Bahia",
         new Position(PositionDirection.South, 14, 51, 0,
             PositionDirection.West, 40, 50, 24));
     list.Add("Vladikavkaz (Rus)", "Europe/Volgograd",
         new Position(PositionDirection.North, 43, 2, 24,
             PositionDirection.East, 44, 40, 48));
     list.Add("Vladimir (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 56, 8, 24,
             PositionDirection.East, 40, 24, 0));
     list.Add("Vladivostok (Rus)", "Asia/Vladivostok",
         new Position(PositionDirection.North, 43, 7, 48,
             PositionDirection.East, 131, 54, 0));
     list.Add("Volda (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 62, 9, 0,
             PositionDirection.East, 6, 4, 12));
     list.Add("Volgograd (Rus)", "Europe/Volgograd",
         new Position(PositionDirection.North, 48, 42, 36,
             PositionDirection.East, 44, 28, 48));
     list.Add("Vologda (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 59, 13, 12,
             PositionDirection.East, 39, 54, 0));
     list.Add("Volta Redonda (Bra)", "America/Sao_Paulo",
         new Position(PositionDirection.South, 22, 30, 36,
             PositionDirection.West, 44, 7, 12));
     list.Add("Volzhskiy (Rus)", "Europe/Volgograd",
         new Position(PositionDirection.North, 48, 47, 24,
             PositionDirection.East, 44, 46, 12));
     list.Add("Voronezh (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 51, 43, 12,
             PositionDirection.East, 39, 15, 36));
     list.Add("Vossevangen (Nor)", "Europe/Oslo",
         new Position(PositionDirection.North, 60, 38, 24,
             PositionDirection.East, 6, 25, 48));
     list.Add("Vung Tau (Vie)", "Asia/Ho_Chi_Minh",
         new Position(PositionDirection.North, 10, 21, 0,
             PositionDirection.East, 107, 4, 48));
     list.Add("Wad Madani (Sud)", "Africa/Khartoum",
         new Position(PositionDirection.North, 14, 24, 0,
             PositionDirection.East, 33, 30, 36));
     list.Add("Wafangdian (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 39, 37, 12,
             PositionDirection.East, 122, 0, 0));
     list.Add("Wah (Pak)", "Asia/Karachi",
         new Position(PositionDirection.North, 33, 46, 12,
             PositionDirection.East, 72, 45, 0));
     list.Add("Wahran (Alg)", "Africa/Algiers",
         new Position(PositionDirection.North, 35, 42, 0,
             PositionDirection.West, 0, 37, 12));
     list.Add("Wakayama (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 13, 12,
             PositionDirection.East, 135, 10, 11));
     list.Add("Warangal (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 18, 0, 36,
             PositionDirection.East, 79, 34, 48));
     list.Add("Warri (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 5, 31, 12,
             PositionDirection.East, 5, 45, 36));
     list.Add("Warsaw (Pol)", "Europe/Warsaw",
         new Position(PositionDirection.North, 52, 15, 36,
             PositionDirection.East, 21, 1, 12));
     list.Add("Washington (USA)", "America/New_York",
         new Position(PositionDirection.North, 38, 54, 36,
             PositionDirection.West, 77, 1, 12));
     list.Add("Weifang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 36, 43, 12,
             PositionDirection.East, 119, 6, 0));
     list.Add("Welkom (SA)", "Africa/Johannesburg",
         new Position(PositionDirection.South, 27, 58, 12,
             PositionDirection.East, 26, 43, 48));
     list.Add("Wenzhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 28, 1, 12,
             PositionDirection.East, 120, 39, 0));
     list.Add("Weonju (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 37, 21, 0,
             PositionDirection.East, 127, 56, 24));
     list.Add("Weonsan (NKo)", "Asia/Pyongyang",
         new Position(PositionDirection.North, 39, 9, 36,
             PositionDirection.East, 127, 25, 48));
     list.Add("Wichita (USA)", "America/Chicago",
         new Position(PositionDirection.North, 37, 41, 24,
             PositionDirection.West, 97, 20, 24));
     list.Add("Wiesbaden (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 50, 4, 48,
             PositionDirection.East, 8, 13, 48));
     list.Add("Windhoek (Nam)", "Africa/Windhoek",
         new Position(PositionDirection.South, 22, 33, 36,
             PositionDirection.East, 17, 5, 24));
     list.Add("Windsor (Can)", "America/Toronto",
         new Position(PositionDirection.North, 42, 18, 0,
             PositionDirection.West, 83, 1, 48));
     list.Add("Winnipeg (Can)", "America/Winnipeg",
         new Position(PositionDirection.North, 49, 52, 48,
             PositionDirection.West, 97, 10, 12));
     list.Add("Wollongong (Aus)", "Australia/Sydney",
         new Position(PositionDirection.South, 34, 25, 12,
             PositionDirection.East, 150, 52, 12));
     list.Add("Wolverhampton (UK)", "Europe/London",
         new Position(PositionDirection.North, 52, 35, 24,
             PositionDirection.West, 2, 9, 0));
     list.Add("Wroclaw (Pol)", "Europe/Warsaw",
         new Position(PositionDirection.North, 51, 6, 36,
             PositionDirection.East, 17, 1, 48));
     list.Add("Wuhan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 30, 34, 48,
             PositionDirection.East, 114, 16, 12));
     list.Add("Wuhu (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 31, 21, 0,
             PositionDirection.East, 118, 22, 12));
     list.Add("Wuppertal (Ger)", "Europe/Berlin",
         new Position(PositionDirection.North, 51, 15, 36,
             PositionDirection.East, 7, 10, 48));
     list.Add("Wuxi (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 31, 34, 48,
             PositionDirection.East, 120, 18, 0));
     list.Add("Wuxue (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 29, 51, 0,
             PositionDirection.East, 115, 33, 0));
     list.Add("Wuzhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 23, 28, 48,
             PositionDirection.East, 111, 19, 12));
     list.Add("Xalapa (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 19, 31, 48,
             PositionDirection.West, 96, 55, 12));
     list.Add("Xiamen (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 24, 27, 0,
             PositionDirection.East, 118, 4, 48));
     list.Add("Xian (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 34, 16, 12,
             PositionDirection.East, 108, 54, 0));
     list.Add("Xiangfan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 32, 1, 12,
             PositionDirection.East, 112, 7, 48));
     list.Add("Xianggangdao (Chi)", "Asia/Hong_Kong",
         new Position(PositionDirection.North, 22, 16, 12,
             PositionDirection.East, 114, 8, 24));
     list.Add("Xiangtan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 27, 51, 0,
             PositionDirection.East, 112, 54, 0));
     list.Add("Xiantao (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 30, 22, 48,
             PositionDirection.East, 113, 27, 0));
     list.Add("Xianyang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 34, 22, 11,
             PositionDirection.East, 108, 42, 0));
     list.Add("Xico (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 19, 16, 12,
             PositionDirection.West, 98, 56, 24));
     list.Add("Xigong (Chi)", "Asia/Hong_Kong",
         new Position(PositionDirection.North, 22, 19, 48,
             PositionDirection.East, 114, 15, 0));
     list.Add("Xindian (Tai)", "Asia/Taipei",
         new Position(PositionDirection.North, 24, 57, 36,
             PositionDirection.East, 121, 31, 48));
     list.Add("Xingtai (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 37, 4, 12,
             PositionDirection.East, 114, 29, 24));
     list.Add("Xining (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 36, 37, 12,
             PositionDirection.East, 101, 46, 12));
     list.Add("Xinpu (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 34, 36, 0,
             PositionDirection.East, 119, 10, 12));
     list.Add("Xintai (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 35, 54, 0,
             PositionDirection.East, 117, 45, 36));
     list.Add("Xinxiang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 35, 19, 12,
             PositionDirection.East, 113, 52, 12));
     list.Add("Xinyang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 32, 7, 48,
             PositionDirection.East, 114, 4, 12));
     list.Add("Xinzhu (Tai)", "Asia/Taipei",
         new Position(PositionDirection.North, 24, 49, 12,
             PositionDirection.East, 120, 58, 48));
     list.Add("Xinzhuang (Tai)", "Asia/Taipei",
         new Position(PositionDirection.North, 25, 2, 24,
             PositionDirection.East, 121, 26, 24));
     list.Add("Xuanhua (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 40, 36, 0,
             PositionDirection.East, 115, 1, 48));
     list.Add("Xuchang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 34, 1, 12,
             PositionDirection.East, 113, 49, 12));
     list.Add("Xuzhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 34, 16, 12,
             PositionDirection.East, 117, 10, 48));
     list.Add("Yamagata (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 38, 15, 0,
             PositionDirection.East, 140, 19, 48));
     list.Add("Yamato (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 31, 12,
             PositionDirection.East, 139, 28, 12));
     list.Add("Yamoussoukro (Ivo)", "Africa/Abidjan",
         new Position(PositionDirection.North, 6, 49, 12,
             PositionDirection.West, 5, 16, 48));
     list.Add("Yamunanagar (Ind)", "Asia/Kolkata",
         new Position(PositionDirection.North, 30, 8, 24,
             PositionDirection.East, 77, 16, 48));
     list.Add("Yanbu (Sau)", "Asia/Riyadh",
         new Position(PositionDirection.North, 24, 5, 24,
             PositionDirection.East, 38, 3, 0));
     list.Add("Yancheng (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 33, 23, 24,
             PositionDirection.East, 120, 7, 12));
     list.Add("Yangjiang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 21, 51, 0,
             PositionDirection.East, 111, 58, 12));
     list.Add("Yangquan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 37, 52, 12,
             PositionDirection.East, 113, 34, 12));
     list.Add("Yangzhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 32, 24, 0,
             PositionDirection.East, 119, 25, 48));
     list.Add("Yanji (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 42, 52, 48,
             PositionDirection.East, 129, 31, 12));
     list.Add("Yantai (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 37, 31, 48,
             PositionDirection.East, 121, 24, 0));
     list.Add("Yao (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 37, 48,
             PositionDirection.East, 135, 34, 48));
     list.Add("Yaounde (Cam)", "Africa/Douala",
         new Position(PositionDirection.North, 3, 52, 12,
             PositionDirection.East, 11, 31, 12));
     list.Add("Yaroslavl (Rus)", "Europe/Moscow",
         new Position(PositionDirection.North, 57, 37, 12,
             PositionDirection.East, 39, 52, 12));
     list.Add("Yazd (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 31, 55, 12,
             PositionDirection.East, 54, 22, 12));
     list.Add("Yekaterinburg (Rus)", "Asia/Yekaterinburg",
         new Position(PositionDirection.North, 56, 51, 0,
             PositionDirection.East, 60, 36, 0));
     list.Add("Yeonghe (Tai)", "Asia/Taipei",
         new Position(PositionDirection.North, 25, 1, 12,
             PositionDirection.East, 121, 30, 36));
     list.Add("Yeongkang (Tai)", "Asia/Taipei",
         new Position(PositionDirection.North, 23, 1, 12,
             PositionDirection.East, 120, 15, 36));
     list.Add("Yeosu (SKo)", "Asia/Seoul",
         new Position(PositionDirection.North, 34, 44, 24,
             PositionDirection.East, 127, 44, 24));
     list.Add("Yerevan (Arm)", "Asia/Yerevan",
         new Position(PositionDirection.North, 40, 10, 12,
             PositionDirection.East, 44, 31, 12));
     list.Add("Yibin (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 28, 46, 12,
             PositionDirection.East, 104, 34, 12));
     list.Add("Yichang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 30, 42, 0,
             PositionDirection.East, 111, 16, 48));
     list.Add("Yinchuan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 38, 28, 12,
             PositionDirection.East, 106, 19, 12));
     list.Add("Yingcheng (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 30, 56, 24,
             PositionDirection.East, 113, 34, 12));
     list.Add("Yingkou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 40, 40, 12,
             PositionDirection.East, 122, 16, 48));
     list.Add("Yining (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 43, 54, 0,
             PositionDirection.East, 81, 21, 0));
     list.Add("Yogyakarta (Ind)", "Asia/Jakarta",
         new Position(PositionDirection.South, 7, 46, 48,
             PositionDirection.East, 110, 22, 12));
     list.Add("Yokkaichi (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 34, 58, 12,
             PositionDirection.East, 136, 38, 23));
     list.Add("Yokohama (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 28, 12,
             PositionDirection.East, 139, 37, 12));
     list.Add("Yokosuka (Jap)", "Asia/Tokyo",
         new Position(PositionDirection.North, 35, 16, 12,
             PositionDirection.East, 139, 40, 11));
     list.Add("Yuanlong (Chi)", "Asia/Hong_Kong",
         new Position(PositionDirection.North, 22, 26, 24,
             PositionDirection.East, 114, 1, 12));
     list.Add("Yuci (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 37, 40, 48,
             PositionDirection.East, 112, 43, 48));
     list.Add("Yueyang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 29, 22, 48,
             PositionDirection.East, 113, 6, 0));
     list.Add("Yuncheng (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 35, 1, 12,
             PositionDirection.East, 110, 58, 48));
     list.Add("Zagreb (Cro)", "Europe/Zagreb",
         new Position(PositionDirection.North, 45, 48, 0,
             PositionDirection.East, 15, 58, 12));
     list.Add("Zahedan (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 29, 30, 0,
             PositionDirection.East, 60, 49, 48));
     list.Add("Zamboanga (Phi)", "Asia/Manila",
         new Position(PositionDirection.North, 6, 55, 12,
             PositionDirection.East, 122, 4, 48));
     list.Add("Zanjan (Ira)", "Asia/Tehran",
         new Position(PositionDirection.North, 36, 40, 12,
             PositionDirection.East, 48, 30, 0));
     list.Add("Zanzibar (Tan)", "Africa/Dar_es_Salaam",
         new Position(PositionDirection.South, 6, 9, 36,
             PositionDirection.East, 39, 12, 0));
     list.Add("Zapopan (Mex)", "America/Mexico_City",
         new Position(PositionDirection.North, 20, 43, 12,
             PositionDirection.West, 103, 24, 0));
     list.Add("Zaporizhzhya (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 47, 51, 0,
             PositionDirection.East, 35, 10, 12));
     list.Add("Zaragoza (Spa)", "Europe/Madrid",
         new Position(PositionDirection.North, 41, 39, 0,
             PositionDirection.West, 0, 53, 24));
     list.Add("Zaria (Nig)", "Africa/Lagos",
         new Position(PositionDirection.North, 11, 4, 48,
             PositionDirection.East, 7, 42, 36));
     list.Add("Zarqa (Jor)", "Asia/Amman",
         new Position(PositionDirection.North, 32, 4, 12,
             PositionDirection.East, 36, 6, 0));
     list.Add("Zhangdian (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 36, 48, 0,
             PositionDirection.East, 118, 3, 36));
     list.Add("Zhanghua (Tai)", "Asia/Taipei",
         new Position(PositionDirection.North, 24, 4, 48,
             PositionDirection.East, 120, 31, 12));
     list.Add("Zhangjiakou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 40, 49, 48,
             PositionDirection.East, 114, 55, 48));
     list.Add("Zhangzhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 24, 31, 12,
             PositionDirection.East, 117, 40, 12));
     list.Add("Zhanjiang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 21, 12, 0,
             PositionDirection.East, 110, 22, 48));
     list.Add("Zhaoqing (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 23, 3, 0,
             PositionDirection.East, 112, 27, 0));
     list.Add("Zhengzhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 34, 45, 0,
             PositionDirection.East, 113, 40, 12));
     list.Add("Zhenjiang (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 32, 13, 12,
             PositionDirection.East, 119, 25, 48));
     list.Add("Zhonghe (Tai)", "Asia/Taipei",
         new Position(PositionDirection.North, 24, 59, 24,
             PositionDirection.East, 121, 30, 0));
     list.Add("Zhongli (Tai)", "Asia/Taipei",
         new Position(PositionDirection.North, 24, 57, 36,
             PositionDirection.East, 121, 13, 12));
     list.Add("Zhongshan (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 22, 31, 48,
             PositionDirection.East, 113, 21, 0));
     list.Add("Zhoukou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 33, 38, 24,
             PositionDirection.East, 114, 37, 48));
     list.Add("Zhuhai (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 22, 16, 48,
             PositionDirection.East, 113, 34, 12));
     list.Add("Zhumadian (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 32, 58, 12,
             PositionDirection.East, 114, 3, 0));
     list.Add("Zhunmen (Chi)", "Asia/Hong_Kong",
         new Position(PositionDirection.North, 22, 24, 36,
             PositionDirection.East, 113, 58, 48));
     list.Add("Zhuzhou (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 27, 49, 48,
             PositionDirection.East, 113, 9, 0));
     list.Add("Zhytomyr (Ukr)", "Europe/Kiev",
         new Position(PositionDirection.North, 50, 15, 0,
             PositionDirection.East, 28, 40, 12));
     list.Add("Zigong (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 29, 24, 0,
             PositionDirection.East, 104, 46, 48));
     list.Add("Zinder (Nig)", "Africa/Niamey",
         new Position(PositionDirection.North, 13, 48, 0,
             PositionDirection.East, 8, 59, 24));
     list.Add("Zunyi (Chi)", "Asia/Shanghai",
         new Position(PositionDirection.North, 27, 42, 0,
             PositionDirection.East, 106, 55, 12));
     list.Add("Zurich (Swi)", "Europe/Zurich",
         new Position(PositionDirection.North, 47, 22, 48,
             PositionDirection.East, 8, 32, 23));
     return list;
 }