Home | History | Annotate | Download | only in format
      1 /*
      2  * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
      3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
      4  *
      5  * This code is free software; you can redistribute it and/or modify it
      6  * under the terms of the GNU General Public License version 2 only, as
      7  * published by the Free Software Foundation.
      8  *
      9  * This code is distributed in the hope that it will be useful, but WITHOUT
     10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
     11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
     12  * version 2 for more details (a copy is included in the LICENSE file that
     13  * accompanied this code).
     14  *
     15  * You should have received a copy of the GNU General Public License version
     16  * 2 along with this work; if not, write to the Free Software Foundation,
     17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
     18  *
     19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
     20  * or visit www.oracle.com if you need additional information or have any
     21  * questions.
     22  */
     23 
     24 package test.java.time.format;
     25 
     26 import java.util.HashMap;
     27 import java.util.Locale;
     28 import java.util.Map;
     29 
     30 class ZoneName {
     31 
     32     public static String toZid(String zid, Locale locale) {
     33         String mzone = zidToMzone.get(zid);
     34         if (mzone == null && aliases.containsKey(zid)) {
     35             zid = aliases.get(zid);
     36             mzone = zidToMzone.get(zid);
     37         }
     38         if (mzone != null) {
     39             Map<String, String> map = mzoneToZidL.get(mzone);
     40             if (map != null && map.containsKey(locale.getCountry())) {
     41                 zid = map.get(locale.getCountry());
     42             } else {
     43                 zid = mzoneToZid.get(mzone);
     44             }
     45         }
     46         return toZid(zid);
     47     }
     48 
     49     public static String toZid(String zid) {
     50         if (aliases.containsKey(zid)) {
     51             return aliases.get(zid);
     52         }
     53         return zid;
     54     }
     55 
     56     private static final String[] zidMap = new String[] {
     57         "Asia/Bangkok", "Indochina", "Asia/Saigon",
     58         "Pacific/Pago_Pago", "Samoa", "Pacific/Apia",
     59         "Africa/Blantyre", "Africa_Central", "Africa/Maputo",
     60         "America/Argentina/San_Juan", "Argentina", "America/Buenos_Aires",
     61         "America/Cancun", "America_Central", "America/Chicago",
     62         "Pacific/Nauru", "Nauru", "Pacific/Nauru",
     63         "America/Atikokan", "America_Eastern", "America/New_York",
     64         "Africa/Asmara", "Africa_Eastern", "Africa/Nairobi",
     65         "Europe/Berlin", "Europe_Central", "Europe/Paris",
     66         "Asia/Kolkata", "India", "Asia/Calcutta",
     67         "Australia/Darwin", "Australia_Central", "Australia/Adelaide",
     68         "America/Guayaquil", "Ecuador", "America/Guayaquil",
     69         "Europe/Vienna", "Europe_Central", "Europe/Paris",
     70         "Atlantic/St_Helena", "GMT", "Atlantic/Reykjavik",
     71         "Europe/London", "GMT", "Atlantic/Reykjavik",
     72         "Europe/Moscow", "Moscow", "Europe/Moscow",
     73         "America/St_Vincent", "Atlantic", "America/Halifax",
     74         "America/Bogota", "Colombia", "America/Bogota",
     75         "America/Marigot", "Atlantic", "America/Halifax",
     76         "Europe/Sarajevo", "Europe_Central", "Europe/Paris",
     77         "America/Hermosillo", "America_Mountain", "America/Denver",
     78         "America/Winnipeg", "America_Central", "America/Chicago",
     79         "America/Rainy_River", "America_Central", "America/Chicago",
     80         "Indian/Mahe", "Seychelles", "Indian/Mahe",
     81         "Africa/Freetown", "GMT", "Atlantic/Reykjavik",
     82         "America/Grand_Turk", "America_Eastern", "America/New_York",
     83         "America/Argentina/Ushuaia", "Argentina", "America/Buenos_Aires",
     84         "Atlantic/Azores", "Azores", "Atlantic/Azores",
     85         "Asia/Harbin", "China", "Asia/Shanghai",
     86         "America/Cuiaba", "Amazon", "America/Manaus",
     87         "Asia/Bahrain", "Arabian", "Asia/Riyadh",
     88         "Asia/Katmandu", "Nepal", "Asia/Katmandu",
     89         "Pacific/Galapagos", "Galapagos", "Pacific/Galapagos",
     90         "Asia/Brunei", "Brunei", "Asia/Brunei",
     91         "Africa/Kigali", "Africa_Central", "Africa/Maputo",
     92         "Asia/Makassar", "Indonesia_Central", "Asia/Makassar",
     93         "Africa/Maputo", "Africa_Central", "Africa/Maputo",
     94         "Asia/Kamchatka", "Magadan", "Asia/Magadan",
     95         "Atlantic/Faroe", "Europe_Western", "Atlantic/Canary",
     96         "America/El_Salvador", "America_Central", "America/Chicago",
     97         "Asia/Saigon", "Indochina", "Asia/Saigon",
     98         "Africa/Kinshasa", "Africa_Western", "Africa/Lagos",
     99         "Europe/Oslo", "Europe_Central", "Europe/Paris",
    100         "Asia/Hong_Kong", "Hong_Kong", "Asia/Hong_Kong",
    101         "Pacific/Midway", "Samoa", "Pacific/Apia",
    102         "Africa/Douala", "Africa_Western", "Africa/Lagos",
    103         "Europe/San_Marino", "Europe_Central", "Europe/Paris",
    104         "Pacific/Chuuk", "Truk", "Pacific/Truk",
    105         "Africa/Gaborone", "Africa_Central", "Africa/Maputo",
    106         "Africa/Tunis", "Europe_Central", "Europe/Paris",
    107         "Africa/Khartoum", "Africa_Eastern", "Africa/Nairobi",
    108         "Europe/Isle_of_Man", "GMT", "Atlantic/Reykjavik",
    109         "Europe/Skopje", "Europe_Central", "Europe/Paris",
    110         "America/Merida", "America_Central", "America/Chicago",
    111         "Antarctica/DumontDUrville", "DumontDUrville", "Antarctica/DumontDUrville",
    112         "Atlantic/Reykjavik", "GMT", "Atlantic/Reykjavik",
    113         "Indian/Mauritius", "Mauritius", "Indian/Mauritius",
    114         "Africa/Malabo", "Africa_Western", "Africa/Lagos",
    115         "Africa/Juba", "Africa_Eastern", "Africa/Nairobi",
    116         "America/Resolute", "America_Central", "America/Chicago",
    117         "Africa/Abidjan", "GMT", "Atlantic/Reykjavik",
    118         "Antarctica/McMurdo", "New_Zealand", "Pacific/Auckland",
    119         "Asia/Thimphu", "Bhutan", "Asia/Thimphu",
    120         "Europe/Zaporozhye", "Europe_Eastern", "Europe/Bucharest",
    121         "Antarctica/Davis", "Davis", "Antarctica/Davis",
    122         "Indian/Antananarivo", "Africa_Eastern", "Africa/Nairobi",
    123         "Africa/Harare", "Africa_Central", "Africa/Maputo",
    124         "Pacific/Marquesas", "Marquesas", "Pacific/Marquesas",
    125         "Africa/Tripoli", "Europe_Eastern", "Europe/Bucharest",
    126         "America/North_Dakota/Beulah", "America_Central", "America/Chicago",
    127         "America/Buenos_Aires", "Argentina", "America/Buenos_Aires",
    128         "America/Tortola", "Atlantic", "America/Halifax",
    129         "Asia/Kuwait", "Arabian", "Asia/Riyadh",
    130         "Europe/Rome", "Europe_Central", "Europe/Paris",
    131         "America/Eirunepe", "Amazon", "America/Manaus",
    132         "Australia/Hobart", "Australia_Eastern", "Australia/Sydney",
    133         "America/Thule", "Atlantic", "America/Halifax",
    134         "Asia/Beirut", "Europe_Eastern", "Europe/Bucharest",
    135         "America/Bahia_Banderas", "America_Central", "America/Chicago",
    136         "Africa/Dar_es_Salaam", "Africa_Eastern", "Africa/Nairobi",
    137         "America/Argentina/Tucuman", "Argentina", "America/Buenos_Aires",
    138         "America/Paramaribo", "Suriname", "America/Paramaribo",
    139         "Africa/Kampala", "Africa_Eastern", "Africa/Nairobi",
    140         "Pacific/Port_Moresby", "Papua_New_Guinea", "Pacific/Port_Moresby",
    141         "America/Mendoza", "Argentina", "America/Buenos_Aires",
    142         "Asia/Dushanbe", "Tajikistan", "Asia/Dushanbe",
    143         "Asia/Qyzylorda", "Kazakhstan_Eastern", "Asia/Almaty",
    144         "Antarctica/Vostok", "Vostok", "Antarctica/Vostok",
    145         "Pacific/Majuro", "Marshall_Islands", "Pacific/Majuro",
    146         "Asia/Tehran", "Iran", "Asia/Tehran",
    147         "Asia/Hovd", "Hovd", "Asia/Hovd",
    148         "Antarctica/Rothera", "Rothera", "Antarctica/Rothera",
    149         "Africa/Brazzaville", "Africa_Western", "Africa/Lagos",
    150         "Europe/Tirane", "Europe_Central", "Europe/Paris",
    151         "Asia/Urumqi", "China", "Asia/Shanghai",
    152         "Asia/Krasnoyarsk", "Krasnoyarsk", "Asia/Krasnoyarsk",
    153         "America/Tegucigalpa", "America_Central", "America/Chicago",
    154         "Asia/Vientiane", "Indochina", "Asia/Saigon",
    155         "Asia/Pontianak", "Indonesia_Western", "Asia/Jakarta",
    156         "America/Bahia", "Brasilia", "America/Sao_Paulo",
    157         "Asia/Choibalsan", "Choibalsan", "Asia/Choibalsan",
    158         "America/Regina", "America_Central", "America/Chicago",
    159         "Africa/Cairo", "Europe_Eastern", "Europe/Bucharest",
    160         "Asia/Irkutsk", "Irkutsk", "Asia/Irkutsk",
    161         "Europe/Luxembourg", "Europe_Central", "Europe/Paris",
    162         "America/St_Kitts", "Atlantic", "America/Halifax",
    163         "America/Manaus", "Amazon", "America/Manaus",
    164         "America/Noronha", "Noronha", "America/Noronha",
    165         "Pacific/Gambier", "Gambier", "Pacific/Gambier",
    166         "America/Edmonton", "America_Mountain", "America/Denver",
    167         "Pacific/Palau", "Palau", "Pacific/Palau",
    168         "America/Lower_Princes", "Atlantic", "America/Halifax",
    169         "Africa/Ouagadougou", "GMT", "Atlantic/Reykjavik",
    170         "Asia/Yerevan", "Armenia", "Asia/Yerevan",
    171         "America/Montevideo", "Uruguay", "America/Montevideo",
    172         "Europe/Minsk", "Europe_Eastern", "Europe/Bucharest",
    173         "Europe/Amsterdam", "Europe_Central", "Europe/Paris",
    174         "Pacific/Efate", "Vanuatu", "Pacific/Efate",
    175         "Asia/Manila", "Philippines", "Asia/Manila",
    176         "America/Dawson", "America_Pacific", "America/Los_Angeles",
    177         "America/Argentina/Cordoba", "Argentina", "America/Buenos_Aires",
    178         "Australia/Melbourne", "Australia_Eastern", "Australia/Sydney",
    179         "Asia/Rangoon", "Myanmar", "Asia/Rangoon",
    180         "America/Los_Angeles", "America_Pacific", "America/Los_Angeles",
    181         "Africa/Casablanca", "Europe_Western", "Atlantic/Canary",
    182         "Africa/Porto-Novo", "Africa_Western", "Africa/Lagos",
    183         "Asia/Macau", "China", "Asia/Shanghai",
    184         "America/Boa_Vista", "Amazon", "America/Manaus",
    185         "Europe/Guernsey", "GMT", "Atlantic/Reykjavik",
    186         "Africa/Monrovia", "GMT", "Atlantic/Reykjavik",
    187         "America/Godthab", "Greenland_Western", "America/Godthab",
    188         "Africa/Ceuta", "Europe_Central", "Europe/Paris",
    189         "Asia/Oral", "Kazakhstan_Western", "Asia/Aqtobe",
    190         "America/Yakutat", "Alaska", "America/Juneau",
    191         "Indian/Mayotte", "Africa_Eastern", "Africa/Nairobi",
    192         "America/Denver", "America_Mountain", "America/Denver",
    193         "America/New_York", "America_Eastern", "America/New_York",
    194         "Pacific/Rarotonga", "Cook", "Pacific/Rarotonga",
    195         "America/Louisville", "America_Eastern", "America/New_York",
    196         "Africa/El_Aaiun", "Europe_Western", "Atlantic/Canary",
    197         "Africa/Sao_Tome", "GMT", "Atlantic/Reykjavik",
    198         "Pacific/Fiji", "Fiji", "Pacific/Fiji",
    199         "Asia/Damascus", "Europe_Eastern", "Europe/Bucharest",
    200         "Asia/Ulaanbaatar", "Mongolia", "Asia/Ulaanbaatar",
    201         "America/Cayman", "America_Eastern", "America/New_York",
    202         "America/Tijuana", "America_Pacific", "America/Los_Angeles",
    203         "Atlantic/Bermuda", "Atlantic", "America/Halifax",
    204         "Australia/Sydney", "Australia_Eastern", "Australia/Sydney",
    205         "Asia/Aden", "Arabian", "Asia/Riyadh",
    206         "Australia/Eucla", "Australia_CentralWestern", "Australia/Eucla",
    207         "America/Indiana/Petersburg", "America_Eastern", "America/New_York",
    208         "America/Panama", "America_Eastern", "America/New_York",
    209         "Europe/Istanbul", "Europe_Eastern", "Europe/Bucharest",
    210         "America/Kralendijk", "Atlantic", "America/Halifax",
    211         "America/Catamarca", "Argentina", "America/Buenos_Aires",
    212         "America/Nassau", "America_Eastern", "America/New_York",
    213         "Europe/Paris", "Europe_Central", "Europe/Paris",
    214         "Asia/Jakarta", "Indonesia_Western", "Asia/Jakarta",
    215         "Australia/Lindeman", "Australia_Eastern", "Australia/Sydney",
    216         "America/Sao_Paulo", "Brasilia", "America/Sao_Paulo",
    217         "America/Juneau", "Alaska", "America/Juneau",
    218         "America/Grenada", "Atlantic", "America/Halifax",
    219         "America/Cayenne", "French_Guiana", "America/Cayenne",
    220         "Antarctica/Casey", "Australia_Western", "Australia/Perth",
    221         "Africa/Algiers", "Europe_Central", "Europe/Paris",
    222         "America/Miquelon", "Pierre_Miquelon", "America/Miquelon",
    223         "Asia/Tokyo", "Japan", "Asia/Tokyo",
    224         "Africa/Windhoek", "Africa_Western", "Africa/Lagos",
    225         "Africa/Bujumbura", "Africa_Central", "Africa/Maputo",
    226         "America/Guatemala", "America_Central", "America/Chicago",
    227         "Africa/Dakar", "GMT", "Atlantic/Reykjavik",
    228         "Asia/Bishkek", "Kyrgystan", "Asia/Bishkek",
    229         "America/Guadeloupe", "Atlantic", "America/Halifax",
    230         "Africa/Ndjamena", "Africa_Western", "Africa/Lagos",
    231         "Europe/Simferopol", "Europe_Eastern", "Europe/Bucharest",
    232         "America/Santa_Isabel", "America_Pacific", "America/Los_Angeles",
    233         "Asia/Dubai", "Gulf", "Asia/Dubai",
    234         "America/Maceio", "Brasilia", "America/Sao_Paulo",
    235         "America/Anchorage", "Alaska", "America/Juneau",
    236         "Australia/Currie", "Australia_Eastern", "Australia/Sydney",
    237         "Africa/Djibouti", "Africa_Eastern", "Africa/Nairobi",
    238         "Europe/Budapest", "Europe_Central", "Europe/Paris",
    239         "America/Argentina/Salta", "Argentina", "America/Buenos_Aires",
    240         "Asia/Calcutta", "India", "Asia/Calcutta",
    241         "America/Indiana/Winamac", "America_Eastern", "America/New_York",
    242         "Asia/Yekaterinburg", "Yekaterinburg", "Asia/Yekaterinburg",
    243         "America/Santiago", "Chile", "America/Santiago",
    244         "Asia/Aqtobe", "Kazakhstan_Western", "Asia/Aqtobe",
    245         "Asia/Dili", "East_Timor", "Asia/Dili",
    246         "America/Detroit", "America_Eastern", "America/New_York",
    247         "Africa/Libreville", "Africa_Western", "Africa/Lagos",
    248         "Pacific/Ponape", "Ponape", "Pacific/Ponape",
    249         "Pacific/Wallis", "Wallis", "Pacific/Wallis",
    250         "Asia/Vladivostok", "Vladivostok", "Asia/Vladivostok",
    251         "Africa/Lubumbashi", "Africa_Central", "Africa/Maputo",
    252         "Africa/Asmera", "Africa_Eastern", "Africa/Nairobi",
    253         "Pacific/Guam", "Chamorro", "Pacific/Saipan",
    254         "America/Chicago", "America_Central", "America/Chicago",
    255         "America/Swift_Current", "America_Central", "America/Chicago",
    256         "America/Coral_Harbour", "America_Eastern", "America/New_York",
    257         "America/Cambridge_Bay", "America_Mountain", "America/Denver",
    258         "America/Costa_Rica", "America_Central", "America/Chicago",
    259         "America/Curacao", "Atlantic", "America/Halifax",
    260         "America/Recife", "Brasilia", "America/Sao_Paulo",
    261         "Africa/Bangui", "Africa_Western", "Africa/Lagos",
    262         "America/Cordoba", "Argentina", "America/Buenos_Aires",
    263         "Asia/Baghdad", "Arabian", "Asia/Riyadh",
    264         "America/Shiprock", "America_Mountain", "America/Denver",
    265         "America/Glace_Bay", "Atlantic", "America/Halifax",
    266         "America/North_Dakota/Center", "America_Central", "America/Chicago",
    267         "Europe/Stockholm", "Europe_Central", "Europe/Paris",
    268         "America/Halifax", "Atlantic", "America/Halifax",
    269         "Atlantic/Canary", "Europe_Western", "Atlantic/Canary",
    270         "Europe/Volgograd", "Volgograd", "Europe/Volgograd",
    271         "America/Moncton", "Atlantic", "America/Halifax",
    272         "Pacific/Tongatapu", "Tonga", "Pacific/Tongatapu",
    273         "America/Argentina/Buenos_Aires", "Argentina", "America/Buenos_Aires",
    274         "Asia/Samarkand", "Uzbekistan", "Asia/Tashkent",
    275         "Pacific/Apia", "Samoa", "Pacific/Apia",
    276         "America/Sitka", "Alaska", "America/Juneau",
    277         "Europe/Warsaw", "Europe_Central", "Europe/Paris",
    278         "Africa/Accra", "GMT", "Atlantic/Reykjavik",
    279         "Europe/Bratislava", "Europe_Central", "Europe/Paris",
    280         "Europe/Zurich", "Europe_Central", "Europe/Paris",
    281         "Indian/Reunion", "Reunion", "Indian/Reunion",
    282         "America/Mazatlan", "America_Mountain", "America/Denver",
    283         "Pacific/Tarawa", "Gilbert_Islands", "Pacific/Tarawa",
    284         "America/Indiana/Knox", "America_Central", "America/Chicago",
    285         "Asia/Tbilisi", "Georgia", "Asia/Tbilisi",
    286         "Asia/Novosibirsk", "Novosibirsk", "Asia/Novosibirsk",
    287         "Atlantic/Faeroe", "Europe_Western", "Atlantic/Canary",
    288         "Africa/Bissau", "GMT", "Atlantic/Reykjavik",
    289         "Asia/Amman", "Europe_Eastern", "Europe/Bucharest",
    290         "Africa/Lagos", "Africa_Western", "Africa/Lagos",
    291         "Africa/Banjul", "GMT", "Atlantic/Reykjavik",
    292         "America/Araguaina", "Brasilia", "America/Sao_Paulo",
    293         "America/Nipigon", "America_Eastern", "America/New_York",
    294         "Europe/Vilnius", "Europe_Eastern", "Europe/Bucharest",
    295         "America/Montserrat", "Atlantic", "America/Halifax",
    296         "Asia/Baku", "Azerbaijan", "Asia/Baku",
    297         "Africa/Lusaka", "Africa_Central", "Africa/Maputo",
    298         "Europe/Uzhgorod", "Europe_Eastern", "Europe/Bucharest",
    299         "America/Argentina/Rio_Gallegos", "Argentina", "America/Buenos_Aires",
    300         "America/Blanc-Sablon", "Atlantic", "America/Halifax",
    301         "Asia/Kabul", "Afghanistan", "Asia/Kabul",
    302         "America/Jamaica", "America_Eastern", "America/New_York",
    303         "Europe/Vatican", "Europe_Central", "Europe/Paris",
    304         "Africa/Nouakchott", "GMT", "Atlantic/Reykjavik",
    305         "Africa/Addis_Ababa", "Africa_Eastern", "Africa/Nairobi",
    306         "Europe/Athens", "Europe_Eastern", "Europe/Bucharest",
    307         "Atlantic/Madeira", "Europe_Western", "Atlantic/Canary",
    308         "America/Thunder_Bay", "America_Eastern", "America/New_York",
    309         "Europe/Brussels", "Europe_Central", "Europe/Paris",
    310         "Africa/Luanda", "Africa_Western", "Africa/Lagos",
    311         "Africa/Mogadishu", "Africa_Eastern", "Africa/Nairobi",
    312         "America/Matamoros", "America_Central", "America/Chicago",
    313         "Pacific/Norfolk", "Norfolk", "Pacific/Norfolk",
    314         "America/Scoresbysund", "Greenland_Eastern", "America/Scoresbysund",
    315         "America/Indianapolis", "America_Eastern", "America/New_York",
    316         "Pacific/Pitcairn", "Pitcairn", "Pacific/Pitcairn",
    317         "Asia/Singapore", "Singapore", "Asia/Singapore",
    318         "America/Port-au-Prince", "America_Eastern", "America/New_York",
    319         "Pacific/Honolulu", "Hawaii_Aleutian", "Pacific/Honolulu",
    320         "Antarctica/Syowa", "Syowa", "Antarctica/Syowa",
    321         "Atlantic/Cape_Verde", "Cape_Verde", "Atlantic/Cape_Verde",
    322         "America/Asuncion", "Paraguay", "America/Asuncion",
    323         "America/Martinique", "Atlantic", "America/Halifax",
    324         "Europe/Gibraltar", "Europe_Central", "Europe/Paris",
    325         "Africa/Lome", "GMT", "Atlantic/Reykjavik",
    326         "Australia/Lord_Howe", "Lord_Howe", "Australia/Lord_Howe",
    327         "America/Argentina/La_Rioja", "Argentina", "America/Buenos_Aires",
    328         "Europe/Jersey", "GMT", "Atlantic/Reykjavik",
    329         "America/Kentucky/Louisville", "America_Eastern", "America/New_York",
    330         "America/Monterrey", "America_Central", "America/Chicago",
    331         "Europe/Belgrade", "Europe_Central", "Europe/Paris",
    332         "Asia/Gaza", "Europe_Eastern", "Europe/Bucharest",
    333         "Asia/Ho_Chi_Minh", "Indochina", "Asia/Saigon",
    334         "Europe/Prague", "Europe_Central", "Europe/Paris",
    335         "Indian/Christmas", "Christmas", "Indian/Christmas",
    336         "Pacific/Fakaofo", "Tokelau", "Pacific/Fakaofo",
    337         "America/Dominica", "Atlantic", "America/Halifax",
    338         "America/Ojinaga", "America_Mountain", "America/Denver",
    339         "Asia/Colombo", "India", "Asia/Calcutta",
    340         "Asia/Nicosia", "Europe_Eastern", "Europe/Bucharest",
    341         "Europe/Copenhagen", "Europe_Central", "Europe/Paris",
    342         "America/Creston", "America_Mountain", "America/Denver",
    343         "Asia/Ashgabat", "Turkmenistan", "Asia/Ashgabat",
    344         "Asia/Shanghai", "China", "Asia/Shanghai",
    345         "Pacific/Easter", "Easter", "Pacific/Easter",
    346         "Africa/Maseru", "Africa_Southern", "Africa/Johannesburg",
    347         "America/La_Paz", "Bolivia", "America/La_Paz",
    348         "Pacific/Truk", "Truk", "Pacific/Truk",
    349         "America/Inuvik", "America_Mountain", "America/Denver",
    350         "America/Belem", "Brasilia", "America/Sao_Paulo",
    351         "Asia/Hebron", "Europe_Eastern", "Europe/Bucharest",
    352         "Asia/Jerusalem", "Israel", "Asia/Jerusalem",
    353         "America/Belize", "America_Central", "America/Chicago",
    354         "America/Rio_Branco", "Amazon", "America/Manaus",
    355         "America/Dawson_Creek", "America_Mountain", "America/Denver",
    356         "America/Anguilla", "Atlantic", "America/Halifax",
    357         "America/Port_of_Spain", "Atlantic", "America/Halifax",
    358         "America/St_Barthelemy", "Atlantic", "America/Halifax",
    359         "America/Indiana/Marengo", "America_Eastern", "America/New_York",
    360         "America/St_Johns", "Newfoundland", "America/St_Johns",
    361         "Asia/Jayapura", "Indonesia_Eastern", "Asia/Jayapura",
    362         "Europe/Riga", "Europe_Eastern", "Europe/Bucharest",
    363         "America/Phoenix", "America_Mountain", "America/Denver",
    364         "America/Boise", "America_Mountain", "America/Denver",
    365         "Pacific/Kiritimati", "Line_Islands", "Pacific/Kiritimati",
    366         "Africa/Johannesburg", "Africa_Southern", "Africa/Johannesburg",
    367         "America/Pangnirtung", "America_Eastern", "America/New_York",
    368         "America/Toronto", "America_Eastern", "America/New_York",
    369         "Australia/Brisbane", "Australia_Eastern", "Australia/Sydney",
    370         "Asia/Aqtau", "Kazakhstan_Western", "Asia/Aqtobe",
    371         "America/Vancouver", "America_Pacific", "America/Los_Angeles",
    372         "Africa/Mbabane", "Africa_Southern", "Africa/Johannesburg",
    373         "Europe/Vaduz", "Europe_Central", "Europe/Paris",
    374         "Asia/Karachi", "Pakistan", "Asia/Karachi",
    375         "Asia/Riyadh", "Arabian", "Asia/Riyadh",
    376         "Indian/Maldives", "Maldives", "Indian/Maldives",
    377         "Asia/Anadyr", "Magadan", "Asia/Magadan",
    378         "Europe/Helsinki", "Europe_Eastern", "Europe/Bucharest",
    379         "America/Nome", "Alaska", "America/Juneau",
    380         "Asia/Yakutsk", "Yakutsk", "Asia/Yakutsk",
    381         "Africa/Conakry", "GMT", "Atlantic/Reykjavik",
    382         "Asia/Seoul", "Korea", "Asia/Seoul",
    383         "America/Antigua", "Atlantic", "America/Halifax",
    384         "Asia/Almaty", "Kazakhstan_Eastern", "Asia/Almaty",
    385         "America/Fortaleza", "Brasilia", "America/Sao_Paulo",
    386         "Pacific/Tahiti", "Tahiti", "Pacific/Tahiti",
    387         "Asia/Kashgar", "China", "Asia/Shanghai",
    388         "America/Whitehorse", "America_Pacific", "America/Los_Angeles",
    389         "Europe/Kaliningrad", "Europe_Eastern", "Europe/Bucharest",
    390         "Pacific/Enderbury", "Phoenix_Islands", "Pacific/Enderbury",
    391         "America/St_Lucia", "Atlantic", "America/Halifax",
    392         "Atlantic/Stanley", "Falkland", "Atlantic/Stanley",
    393         "Asia/Omsk", "Omsk", "Asia/Omsk",
    394         "America/Menominee", "America_Central", "America/Chicago",
    395         "Asia/Novokuznetsk", "Novosibirsk", "Asia/Novosibirsk",
    396         "Asia/Sakhalin", "Sakhalin", "Asia/Sakhalin",
    397         "Asia/Muscat", "Gulf", "Asia/Dubai",
    398         "Pacific/Noumea", "New_Caledonia", "Pacific/Noumea",
    399         "Asia/Phnom_Penh", "Indochina", "Asia/Saigon",
    400         "Antarctica/Mawson", "Mawson", "Antarctica/Mawson",
    401         "Indian/Cocos", "Cocos", "Indian/Cocos",
    402         "Europe/Tallinn", "Europe_Eastern", "Europe/Bucharest",
    403         "Africa/Nairobi", "Africa_Eastern", "Africa/Nairobi",
    404         "Europe/Ljubljana", "Europe_Central", "Europe/Paris",
    405         "America/Montreal", "America_Eastern", "America/New_York",
    406         "Asia/Kuala_Lumpur", "Malaysia", "Asia/Kuching",
    407         "Asia/Magadan", "Magadan", "Asia/Magadan",
    408         "Africa/Bamako", "GMT", "Atlantic/Reykjavik",
    409         "Australia/Broken_Hill", "Australia_Central", "Australia/Adelaide",
    410         "America/Indiana/Indianapolis", "America_Eastern", "America/New_York",
    411         "Asia/Taipei", "Taipei", "Asia/Taipei",
    412         "Europe/Samara", "Moscow", "Europe/Moscow",
    413         "America/Indiana/Vevay", "America_Eastern", "America/New_York",
    414         "Atlantic/South_Georgia", "South_Georgia", "Atlantic/South_Georgia",
    415         "Pacific/Wake", "Wake", "Pacific/Wake",
    416         "Asia/Tashkent", "Uzbekistan", "Asia/Tashkent",
    417         "America/St_Thomas", "Atlantic", "America/Halifax",
    418         "America/Argentina/San_Luis", "Argentina_Western", "America/Argentina/San_Luis",
    419         "Arctic/Longyearbyen", "Europe_Central", "Europe/Paris",
    420         "Asia/Chongqing", "China", "Asia/Shanghai",
    421         "Europe/Monaco", "Europe_Central", "Europe/Paris",
    422         "Asia/Qatar", "Arabian", "Asia/Riyadh",
    423         "America/Chihuahua", "America_Mountain", "America/Denver",
    424         "America/Havana", "Cuba", "America/Havana",
    425         "Pacific/Auckland", "New_Zealand", "Pacific/Auckland",
    426         "America/Jujuy", "Argentina", "America/Buenos_Aires",
    427         "America/Goose_Bay", "Atlantic", "America/Halifax",
    428         "Africa/Niamey", "Africa_Western", "Africa/Lagos",
    429         "Asia/Kathmandu", "Nepal", "Asia/Katmandu",
    430         "America/Caracas", "Venezuela", "America/Caracas",
    431         "Indian/Comoro", "Africa_Eastern", "Africa/Nairobi",
    432         "America/Argentina/Jujuy", "Argentina", "America/Buenos_Aires",
    433         "America/Guyana", "Guyana", "America/Guyana",
    434         "America/Indiana/Tell_City", "America_Central", "America/Chicago",
    435         "America/Metlakatla", "America_Pacific", "America/Los_Angeles",
    436         "Europe/Mariehamn", "Europe_Eastern", "Europe/Bucharest",
    437         "Europe/Dublin", "GMT", "Atlantic/Reykjavik",
    438         "Europe/Lisbon", "Europe_Western", "Atlantic/Canary",
    439         "America/Puerto_Rico", "Atlantic", "America/Halifax",
    440         "Asia/Pyongyang", "Korea", "Asia/Seoul",
    441         "America/North_Dakota/New_Salem", "America_Central", "America/Chicago",
    442         "Asia/Dhaka", "Bangladesh", "Asia/Dhaka",
    443         "America/Rankin_Inlet", "America_Central", "America/Chicago",
    444         "America/Adak", "Hawaii_Aleutian", "Pacific/Honolulu",
    445         "America/Campo_Grande", "Amazon", "America/Manaus",
    446         "Europe/Chisinau", "Europe_Eastern", "Europe/Bucharest",
    447         "Pacific/Saipan", "Chamorro", "Pacific/Saipan",
    448         "Pacific/Niue", "Niue", "Pacific/Niue",
    449         "Europe/Madrid", "Europe_Central", "Europe/Paris",
    450         "Pacific/Kwajalein", "Marshall_Islands", "Pacific/Majuro",
    451         "America/Porto_Velho", "Amazon", "America/Manaus",
    452         "Indian/Kerguelen", "French_Southern", "Indian/Kerguelen",
    453         "America/Santarem", "Brasilia", "America/Sao_Paulo",
    454         "Asia/Kuching", "Malaysia", "Asia/Kuching",
    455         "Australia/Adelaide", "Australia_Central", "Australia/Adelaide",
    456         "Europe/Bucharest", "Europe_Eastern", "Europe/Bucharest",
    457         "Australia/Perth", "Australia_Western", "Australia/Perth",
    458         "Europe/Sofia", "Europe_Eastern", "Europe/Bucharest",
    459         "Indian/Chagos", "Indian_Ocean", "Indian/Chagos",
    460         "America/Yellowknife", "America_Mountain", "America/Denver",
    461         "America/Managua", "America_Central", "America/Chicago",
    462         "America/Iqaluit", "America_Eastern", "America/New_York",
    463         "Pacific/Kosrae", "Kosrae", "Pacific/Kosrae",
    464         "Pacific/Guadalcanal", "Solomon", "Pacific/Guadalcanal",
    465         "America/Barbados", "Atlantic", "America/Halifax",
    466         "America/Aruba", "Atlantic", "America/Halifax",
    467         "Europe/Andorra", "Europe_Central", "Europe/Paris",
    468         "Pacific/Chatham", "Chatham", "Pacific/Chatham",
    469         "America/Santo_Domingo", "Atlantic", "America/Halifax",
    470         "America/Indiana/Vincennes", "America_Eastern", "America/New_York",
    471         "Europe/Kiev", "Europe_Eastern", "Europe/Bucharest",
    472         "Pacific/Funafuti", "Tuvalu", "Pacific/Funafuti",
    473         "America/Mexico_City", "America_Central", "America/Chicago",
    474         "America/Kentucky/Monticello", "America_Eastern", "America/New_York",
    475         "America/Argentina/Catamarca", "Argentina", "America/Buenos_Aires",
    476         "Pacific/Johnston", "Hawaii_Aleutian", "Pacific/Honolulu",
    477         "Europe/Podgorica", "Europe_Central", "Europe/Paris",
    478         "Europe/Zagreb", "Europe_Central", "Europe/Paris",
    479         "Pacific/Pohnpei", "Ponape", "Pacific/Ponape",
    480         "Antarctica/Palmer", "Chile", "America/Santiago",
    481         "America/Argentina/Mendoza", "Argentina", "America/Buenos_Aires",
    482         "America/Lima", "Peru", "America/Lima",
    483         "Antarctica/Macquarie", "Macquarie", "Antarctica/Macquarie",
    484         "Europe/Malta", "Europe_Central", "Europe/Paris",
    485         "America/Danmarkshavn", "GMT", "Atlantic/Reykjavik",
    486     };
    487     private static final String[] mzoneMap = new String[] {
    488         "America_Eastern", "TC", "America/Grand_Turk",
    489         "America_Eastern", "BS", "America/Nassau",
    490         "America_Eastern", "CA", "America/Toronto",
    491         "America_Eastern", "KY", "America/Cayman",
    492         "America_Eastern", "PA", "America/Panama",
    493         "America_Eastern", "JM", "America/Jamaica",
    494         "America_Pacific", "CA", "America/Vancouver",
    495         "America_Pacific", "MX", "America/Tijuana",
    496         "Europe_Western", "FO", "Atlantic/Faeroe",
    497         "Arabian", "YE", "Asia/Aden",
    498         "Arabian", "BH", "Asia/Bahrain",
    499         "Arabian", "KW", "Asia/Kuwait",
    500         "Arabian", "QA", "Asia/Qatar",
    501         "Arabian", "IQ", "Asia/Baghdad",
    502         "Korea", "KP", "Asia/Pyongyang",
    503         "Africa_Central", "ZW", "Africa/Harare",
    504         "Africa_Central", "ZM", "Africa/Lusaka",
    505         "Africa_Central", "MW", "Africa/Blantyre",
    506         "Africa_Central", "BW", "Africa/Gaborone",
    507         "Africa_Central", "CD", "Africa/Lubumbashi",
    508         "Africa_Central", "BI", "Africa/Bujumbura",
    509         "Africa_Central", "RW", "Africa/Kigali",
    510         "Africa_Western", "CF", "Africa/Bangui",
    511         "Africa_Western", "AO", "Africa/Luanda",
    512         "Africa_Western", "NE", "Africa/Niamey",
    513         "Africa_Western", "CD", "Africa/Kinshasa",
    514         "Africa_Western", "CM", "Africa/Douala",
    515         "Africa_Western", "CG", "Africa/Brazzaville",
    516         "Africa_Western", "GQ", "Africa/Malabo",
    517         "Africa_Western", "TD", "Africa/Ndjamena",
    518         "Africa_Western", "GA", "Africa/Libreville",
    519         "Atlantic", "PR", "America/Puerto_Rico",
    520         "Atlantic", "AN", "America/Curacao",
    521         "Atlantic", "VI", "America/St_Thomas",
    522         "Atlantic", "GP", "America/Guadeloupe",
    523         "Atlantic", "TT", "America/Port_of_Spain",
    524         "Atlantic", "AG", "America/Antigua",
    525         "Atlantic", "MF", "America/Marigot",
    526         "Atlantic", "DM", "America/Dominica",
    527         "Atlantic", "VG", "America/Tortola",
    528         "Atlantic", "MQ", "America/Martinique",
    529         "Atlantic", "GL", "America/Thule",
    530         "Atlantic", "AI", "America/Anguilla",
    531         "Atlantic", "BB", "America/Barbados",
    532         "Atlantic", "BM", "Atlantic/Bermuda",
    533         "Atlantic", "BQ", "America/Kralendijk",
    534         "Atlantic", "LC", "America/St_Lucia",
    535         "Atlantic", "MS", "America/Montserrat",
    536         "Atlantic", "SX", "America/Lower_Princes",
    537         "Atlantic", "GD", "America/Grenada",
    538         "Atlantic", "VC", "America/St_Vincent",
    539         "Atlantic", "KN", "America/St_Kitts",
    540         "Atlantic", "AW", "America/Aruba",
    541         "GMT", "GM", "Africa/Banjul",
    542         "GMT", "LR", "Africa/Monrovia",
    543         "GMT", "ML", "Africa/Bamako",
    544         "GMT", "SH", "Atlantic/St_Helena",
    545         "GMT", "TG", "Africa/Lome",
    546         "GMT", "GB", "Europe/London",
    547         "GMT", "MR", "Africa/Nouakchott",
    548         "GMT", "GN", "Africa/Conakry",
    549         "GMT", "SL", "Africa/Freetown",
    550         "GMT", "BF", "Africa/Ouagadougou",
    551         "GMT", "ST", "Africa/Sao_Tome",
    552         "GMT", "SN", "Africa/Dakar",
    553         "GMT", "CI", "Africa/Abidjan",
    554         "GMT", "IE", "Europe/Dublin",
    555         "GMT", "GH", "Africa/Accra",
    556         "Chile", "AQ", "Antarctica/Palmer",
    557         "America_Central", "CR", "America/Costa_Rica",
    558         "America_Central", "HN", "America/Tegucigalpa",
    559         "America_Central", "CA", "America/Winnipeg",
    560         "America_Central", "SV", "America/El_Salvador",
    561         "America_Central", "MX", "America/Mexico_City",
    562         "America_Central", "BZ", "America/Belize",
    563         "America_Central", "GT", "America/Guatemala",
    564         "America_Mountain", "CA", "America/Edmonton",
    565         "America_Mountain", "MX", "America/Hermosillo",
    566         "New_Zealand", "AQ", "Antarctica/McMurdo",
    567         "India", "LK", "Asia/Colombo",
    568         "Gulf", "OM", "Asia/Muscat",
    569         "China", "MO", "Asia/Macau",
    570         "Africa_Eastern", "ER", "Africa/Asmera",
    571         "Africa_Eastern", "TZ", "Africa/Dar_es_Salaam",
    572         "Africa_Eastern", "SO", "Africa/Mogadishu",
    573         "Africa_Eastern", "DJ", "Africa/Djibouti",
    574         "Africa_Eastern", "MG", "Indian/Antananarivo",
    575         "Africa_Eastern", "KM", "Indian/Comoro",
    576         "Africa_Eastern", "UG", "Africa/Kampala",
    577         "Africa_Eastern", "YT", "Indian/Mayotte",
    578         "Africa_Eastern", "ET", "Africa/Addis_Ababa",
    579         "Chamorro", "GU", "Pacific/Guam",
    580         "Africa_Southern", "LS", "Africa/Maseru",
    581         "Africa_Southern", "SZ", "Africa/Mbabane",
    582         "Indochina", "KH", "Asia/Phnom_Penh",
    583         "Indochina", "TH", "Asia/Bangkok",
    584         "Indochina", "LA", "Asia/Vientiane",
    585         "Europe_Central", "AT", "Europe/Vienna",
    586         "Europe_Central", "SK", "Europe/Bratislava",
    587         "Europe_Central", "BA", "Europe/Sarajevo",
    588         "Europe_Central", "CZ", "Europe/Prague",
    589         "Europe_Central", "BE", "Europe/Brussels",
    590         "Europe_Central", "RS", "Europe/Belgrade",
    591         "Europe_Central", "SE", "Europe/Stockholm",
    592         "Europe_Central", "MT", "Europe/Malta",
    593         "Europe_Central", "IT", "Europe/Rome",
    594         "Europe_Central", "LU", "Europe/Luxembourg",
    595         "Europe_Central", "HU", "Europe/Budapest",
    596         "Europe_Central", "NO", "Europe/Oslo",
    597         "Europe_Central", "ME", "Europe/Podgorica",
    598         "Europe_Central", "MK", "Europe/Skopje",
    599         "Europe_Central", "NL", "Europe/Amsterdam",
    600         "Europe_Central", "LI", "Europe/Vaduz",
    601         "Europe_Central", "PL", "Europe/Warsaw",
    602         "Europe_Central", "ES", "Europe/Madrid",
    603         "Europe_Central", "TN", "Africa/Tunis",
    604         "Europe_Central", "SI", "Europe/Ljubljana",
    605         "Europe_Central", "DE", "Europe/Berlin",
    606         "Europe_Central", "GI", "Europe/Gibraltar",
    607         "Europe_Central", "CH", "Europe/Zurich",
    608         "Europe_Central", "MC", "Europe/Monaco",
    609         "Europe_Central", "VA", "Europe/Vatican",
    610         "Europe_Central", "HR", "Europe/Zagreb",
    611         "Europe_Central", "AL", "Europe/Tirane",
    612         "Europe_Central", "AD", "Europe/Andorra",
    613         "Europe_Central", "DK", "Europe/Copenhagen",
    614         "Europe_Central", "SM", "Europe/San_Marino",
    615         "Europe_Eastern", "SY", "Asia/Damascus",
    616         "Europe_Eastern", "FI", "Europe/Helsinki",
    617         "Europe_Eastern", "AX", "Europe/Mariehamn",
    618         "Europe_Eastern", "BG", "Europe/Sofia",
    619         "Europe_Eastern", "EG", "Africa/Cairo",
    620         "Europe_Eastern", "LB", "Asia/Beirut",
    621         "Europe_Eastern", "GR", "Europe/Athens",
    622         "Europe_Eastern", "JO", "Asia/Amman",
    623         "Europe_Eastern", "CY", "Asia/Nicosia",
    624     };
    625     private static final String[] aliasMap = new String[] {
    626         "Mexico/BajaNorte", "America/Tijuana",
    627         "Antarctica/South_Pole", "Antarctica/McMurdo",
    628         "US/Michigan", "America/Detroit",
    629         "America/Porto_Acre", "America/Rio_Branco",
    630         "US/Alaska", "America/Anchorage",
    631         "Asia/Ujung_Pandang", "Asia/Makassar",
    632         "Canada/Atlantic", "America/Halifax",
    633         "W-SU", "Europe/Moscow",
    634         "Kwajalein", "Pacific/Kwajalein",
    635         "Europe/Bratislava", "Europe/Prague",
    636         "Canada/Central", "America/Winnipeg",
    637         "Canada/Mountain", "America/Edmonton",
    638         "Iceland", "Atlantic/Reykjavik",
    639         "Asia/Ulan_Bator", "Asia/Ulaanbaatar",
    640         "UTC", "Etc/UTC",
    641         "Europe/Guernsey", "Europe/London",
    642         "Singapore", "Asia/Singapore",
    643         "Atlantic/Faeroe", "Atlantic/Faroe",
    644         "Greenwich", "Etc/GMT",
    645         "America/Fort_Wayne", "America/Indiana/Indianapolis",
    646         "Etc/Universal", "Etc/UTC",
    647         "Chile/EasterIsland", "Pacific/Easter",
    648         "Pacific/Samoa", "Pacific/Pago_Pago",
    649         "Europe/Nicosia", "Asia/Nicosia",
    650         "Etc/Zulu", "Etc/UTC",
    651         "Asia/Ashkhabad", "Asia/Ashgabat",
    652         "America/Louisville", "America/Kentucky/Louisville",
    653         "Australia/North", "Australia/Darwin",
    654         "America/Atka", "America/Adak",
    655         "America/Marigot", "America/Guadeloupe",
    656         "Brazil/DeNoronha", "America/Noronha",
    657         "Turkey", "Europe/Istanbul",
    658         "Zulu", "Etc/UTC",
    659         "Europe/Vatican", "Europe/Rome",
    660         "Israel", "Asia/Jerusalem",
    661         "America/Rosario", "America/Argentina/Cordoba",
    662         "Jamaica", "America/Jamaica",
    663         "Asia/Katmandu", "Asia/Kathmandu",
    664         "Canada/East-Saskatchewan", "America/Regina",
    665         "ROK", "Asia/Seoul",
    666         "Asia/Macao", "Asia/Macau",
    667         "Australia/South", "Australia/Adelaide",
    668         "US/Arizona", "America/Phoenix",
    669         "Australia/Yancowinna", "Australia/Broken_Hill",
    670         "Canada/Pacific", "America/Vancouver",
    671         "Libya", "Africa/Tripoli",
    672         "Japan", "Asia/Tokyo",
    673         "Arctic/Longyearbyen", "Europe/Oslo",
    674         "Africa/Timbuktu", "Africa/Bamako",
    675         "America/Indianapolis", "America/Indiana/Indianapolis",
    676         "Etc/Greenwich", "Etc/GMT",
    677         "Australia/ACT", "Australia/Sydney",
    678         "GMT", "Etc/GMT",
    679         "Mexico/BajaSur", "America/Mazatlan",
    680         "Cuba", "America/Havana",
    681         "Brazil/West", "America/Manaus",
    682         "Asia/Saigon", "Asia/Ho_Chi_Minh",
    683         "America/Jujuy", "America/Argentina/Jujuy",
    684         "Australia/Victoria", "Australia/Melbourne",
    685         "America/Catamarca", "America/Argentina/Catamarca",
    686         "America/Ensenada", "America/Tijuana",
    687         "Europe/San_Marino", "Europe/Rome",
    688         "Europe/Isle_of_Man", "Europe/London",
    689         "Mexico/General", "America/Mexico_City",
    690         "US/Hawaii", "Pacific/Honolulu",
    691         "Europe/Mariehamn", "Europe/Helsinki",
    692         "US/Indiana-Starke", "America/Indiana/Knox",
    693         "Australia/NSW", "Australia/Sydney",
    694         "Australia/West", "Australia/Perth",
    695         "Brazil/Acre", "America/Rio_Branco",
    696         "Australia/Tasmania", "Australia/Hobart",
    697         "Atlantic/Jan_Mayen", "Europe/Oslo",
    698         "America/Buenos_Aires", "America/Argentina/Buenos_Aires",
    699         "Europe/Jersey", "Europe/London",
    700         "Brazil/East", "America/Sao_Paulo",
    701         "America/Virgin", "America/St_Thomas",
    702         "Navajo", "America/Denver",
    703         "GB", "Europe/London",
    704         "Poland", "Europe/Warsaw",
    705         "Pacific/Yap", "Pacific/Chuuk",
    706         "America/Argentina/ComodRivadavia", "America/Argentina/Catamarca",
    707         "Asia/Calcutta", "Asia/Kolkata",
    708         "America/Mendoza", "America/Argentina/Mendoza",
    709         "Universal", "Etc/UTC",
    710         "Australia/Queensland", "Australia/Brisbane",
    711         "Asia/Dacca", "Asia/Dhaka",
    712         "US/Pacific", "America/Los_Angeles",
    713         "Asia/Chungking", "Asia/Chongqing",
    714         "Pacific/Truk", "Pacific/Chuuk",
    715         "ROC", "Asia/Taipei",
    716         "US/Aleutian", "America/Adak",
    717         "Pacific/Ponape", "Pacific/Pohnpei",
    718         "Canada/Yukon", "America/Whitehorse",
    719         "PRC", "Asia/Shanghai",
    720         "Africa/Asmera", "Africa/Asmara",
    721         "GB-Eire", "Europe/London",
    722         "America/St_Barthelemy", "America/Guadeloupe",
    723         "US/Central", "America/Chicago",
    724         "Egypt", "Africa/Cairo",
    725         "Chile/Continental", "America/Santiago",
    726         "Portugal", "Europe/Lisbon",
    727         "Europe/Tiraspol", "Europe/Chisinau",
    728         "America/Coral_Harbour", "America/Atikokan",
    729         "Europe/Belfast", "Europe/London",
    730         "America/Cordoba", "America/Argentina/Cordoba",
    731         "America/Shiprock", "America/Denver",
    732         "NZ-CHAT", "Pacific/Chatham",
    733         "Eire", "Europe/Dublin",
    734         "US/East-Indiana", "America/Indiana/Indianapolis",
    735         "Australia/Canberra", "Australia/Sydney",
    736         "Canada/Newfoundland", "America/St_Johns",
    737         "UCT", "Etc/UCT",
    738         "Australia/LHI", "Australia/Lord_Howe",
    739         "Iran", "Asia/Tehran",
    740         "US/Eastern", "America/New_York",
    741         "Canada/Eastern", "America/Toronto",
    742         "US/Samoa", "Pacific/Pago_Pago",
    743         "America/Knox_IN", "America/Indiana/Knox",
    744         "Canada/Saskatchewan", "America/Regina",
    745         "Asia/Thimbu", "Asia/Thimphu",
    746         "US/Mountain", "America/Denver",
    747         "NZ", "Pacific/Auckland",
    748         "Asia/Tel_Aviv", "Asia/Jerusalem",
    749         "Hongkong", "Asia/Hong_Kong",
    750     };
    751 
    752     private static final Map<String, String> zidToMzone = new HashMap<>();
    753     private static final Map<String, String> mzoneToZid = new HashMap<>();
    754     private static final Map<String, Map<String, String>> mzoneToZidL = new HashMap<>();
    755     private static final Map<String, String> aliases = new HashMap<>();
    756 
    757     static {
    758         for (int i = 0; i < zidMap.length; i += 3) {
    759             zidToMzone.put(zidMap[i], zidMap[i + 1]);
    760             mzoneToZid.put(zidMap[i + 1], zidMap[i + 2]);
    761         }
    762 
    763         for (int i = 0; i < mzoneMap.length; i += 3) {
    764             String mzone = mzoneMap[i];
    765             Map<String, String> map = mzoneToZidL.get(mzone);
    766             if (map == null) {
    767                 map = new HashMap<>();
    768                 mzoneToZidL.put(mzone, map);
    769             }
    770             map.put(mzoneMap[i + 1], mzoneMap[i + 2]);
    771         }
    772 
    773         for (int i = 0; i < aliasMap.length; i += 2) {
    774             aliases.put(aliasMap[i], aliasMap[i + 1]);
    775         }
    776     }
    777 }
    778