From: Derick Rethans <github@derickrethans.nl>
Date: Mon, 19 Jan 2015 22:59:24 +0000 (+0000)
Subject: Fixed bug #45081 (strtotime incorrectly interprets SGT time zone).
X-Git-Tag: php-5.5.22RC1~54
X-Git-Url: http://72.52.91.13:8000/?p=php-src.git;a=commitdiff_plain;h=b0159431e3363f6b15561c7dfa0cdb247c287223

Fixed bug #45081 (strtotime incorrectly interprets SGT time zone).
---

--- ext/date/lib/timezonemap.h
+++ ext/date/lib/timezonemap.h
@@ -1,11 +1,26 @@
+	{ "acdt",  1,  37800, "Australia/Adelaide"            },
+	{ "acdt",  1,  37800, "Australia/Broken_Hill"         },
+	{ "acdt",  1,  37800, "Australia/Darwin"              },
+	{ "acdt",  1,  37800, "Australia/North"               },
+	{ "acdt",  1,  37800, "Australia/South"               },
+	{ "acdt",  1,  37800, "Australia/Yancowinna"          },
 	{ "acst",  1, -14400, "America/Porto_Acre"            },
+	{ "acst",  0,  34200, "Australia/Adelaide"            },
 	{ "acst",  1, -14400, "America/Eirunepe"              },
 	{ "acst",  1, -14400, "America/Rio_Branco"            },
 	{ "acst",  1, -14400, "Brazil/Acre"                   },
+	{ "acst",  0,  34200, "Asia/Jayapura"                 },
+	{ "acst",  0,  34200, "Australia/Broken_Hill"         },
+	{ "acst",  0,  34200, "Australia/Darwin"              },
+	{ "acst",  0,  34200, "Australia/North"               },
+	{ "acst",  0,  34200, "Australia/South"               },
+	{ "acst",  0,  34200, "Australia/Yancowinna"          },
 	{ "act",   0, -18000, "America/Porto_Acre"            },
 	{ "act",   0, -18000, "America/Eirunepe"              },
 	{ "act",   0, -18000, "America/Rio_Branco"            },
 	{ "act",   0, -18000, "Brazil/Acre"                   },
+	{ "acwdt", 1,  35100, "Australia/Eucla"               },
+	{ "acwst", 0,  31500, "Australia/Eucla"               },
 	{ "addt",  1,  -7200, "America/Goose_Bay"             },
 	{ "addt",  1,  -7200, "America/Pangnirtung"           },
 	{ "admt",  0,   9320, "Africa/Addis_Ababa"            },
@@ -23,8 +38,36 @@
 	{ "adt",   1, -10800, "Atlantic/Bermuda"              },
 	{ "adt",   1, -10800, "Canada/Atlantic"               },
 	{ "adt",   1,  14400, "Asia/Baghdad"                  },
-	{ "aft",   0,  14400, "Asia/Kabul"                    },
+	{ "aedt",  1,  39600, "Australia/Melbourne"           },
+	{ "aedt",  1,  39600, "Antarctica/Macquarie"          },
+	{ "aedt",  1,  39600, "Australia/ACT"                 },
+	{ "aedt",  1,  39600, "Australia/Brisbane"            },
+	{ "aedt",  1,  39600, "Australia/Canberra"            },
+	{ "aedt",  1,  39600, "Australia/Currie"              },
+	{ "aedt",  1,  39600, "Australia/Hobart"              },
+	{ "aedt",  1,  39600, "Australia/Lindeman"            },
+	{ "aedt",  1,  39600, "Australia/NSW"                 },
+	{ "aedt",  1,  39600, "Australia/Queensland"          },
+	{ "aedt",  1,  39600, "Australia/Sydney"              },
+	{ "aedt",  1,  39600, "Australia/Tasmania"            },
+	{ "aedt",  1,  39600, "Australia/Victoria"            },
+	{ "aest",  0,  36000, "Australia/Melbourne"           },
+	{ "aest",  0,  36000, "Antarctica/Macquarie"          },
+	{ "aest",  0,  36000, "Australia/ACT"                 },
+	{ "aest",  0,  36000, "Australia/Brisbane"            },
+	{ "aest",  0,  36000, "Australia/Canberra"            },
+	{ "aest",  0,  36000, "Australia/Currie"              },
+	{ "aest",  0,  36000, "Australia/Hobart"              },
+	{ "aest",  0,  36000, "Australia/LHI"                 },
+	{ "aest",  0,  36000, "Australia/Lindeman"            },
+	{ "aest",  0,  36000, "Australia/Lord_Howe"           },
+	{ "aest",  0,  36000, "Australia/NSW"                 },
+	{ "aest",  0,  36000, "Australia/Queensland"          },
+	{ "aest",  0,  36000, "Australia/Sydney"              },
+	{ "aest",  0,  36000, "Australia/Tasmania"            },
+	{ "aest",  0,  36000, "Australia/Victoria"            },
 	{ "aft",   0,  16200, "Asia/Kabul"                    },
+	{ "aft",   0,  14400, "Asia/Kabul"                    },
 	{ "ahdt",  1, -32400, "America/Anchorage"             },
 	{ "ahst",  0, -36000, "America/Anchorage"             },
 	{ "ahst",  0, -36000, "America/Adak"                  },
@@ -32,20 +75,22 @@
 	{ "akdt",  1, -28800, "America/Anchorage"             },
 	{ "akdt",  1, -28800, "America/Juneau"                },
 	{ "akdt",  1, -28800, "America/Nome"                  },
+	{ "akdt",  1, -28800, "America/Sitka"                 },
 	{ "akdt",  1, -28800, "America/Yakutat"               },
 	{ "akst",  0, -32400, "America/Anchorage"             },
 	{ "akst",  0, -32400, "America/Juneau"                },
 	{ "akst",  0, -32400, "America/Nome"                  },
+	{ "akst",  0, -32400, "America/Sitka"                 },
 	{ "akst",  0, -32400, "America/Yakutat"               },
 	{ "aktst", 1,  21600, "Asia/Aqtobe"                   },
+	{ "aktt",  0,  21600, "Asia/Aqtobe"                   },
 	{ "aktt",  0,  14400, "Asia/Aqtobe"                   },
 	{ "aktt",  0,  18000, "Asia/Aqtobe"                   },
-	{ "aktt",  0,  21600, "Asia/Aqtobe"                   },
 	{ "almst", 1,  25200, "Asia/Almaty"                   },
-	{ "almt",  0,  18000, "Asia/Almaty"                   },
 	{ "almt",  0,  21600, "Asia/Almaty"                   },
-	{ "amst",  1,  14400, "Asia/Yerevan"                  },
+	{ "almt",  0,  18000, "Asia/Almaty"                   },
 	{ "amst",  1,  18000, "Asia/Yerevan"                  },
+	{ "amst",  1,  14400, "Asia/Yerevan"                  },
 	{ "amst",  1, -10800, "America/Boa_Vista"             },
 	{ "amst",  1, -10800, "America/Campo_Grande"          },
 	{ "amst",  1, -10800, "America/Cuiaba"                },
@@ -53,8 +98,8 @@
 	{ "amst",  1, -10800, "America/Porto_Velho"           },
 	{ "amst",  1, -10800, "America/Santarem"              },
 	{ "amst",  1, -10800, "Brazil/West"                   },
-	{ "amt",   0,  10800, "Asia/Yerevan"                  },
 	{ "amt",   0,  14400, "Asia/Yerevan"                  },
+	{ "amt",   0,  10800, "Asia/Yerevan"                  },
 	{ "amt",   0, -13840, "America/Asuncion"              },
 	{ "amt",   0, -14400, "America/Boa_Vista"             },
 	{ "amt",   0, -14400, "America/Campo_Grande"          },
@@ -69,14 +114,16 @@
 	{ "amt",   0, -14400, "Brazil/West"                   },
 	{ "amt",   0,   1172, "Europe/Amsterdam"              },
 	{ "amt",   0,   5692, "Europe/Athens"                 },
+	{ "anast", 1,  50400, "Asia/Anadyr"                   },
 	{ "anast", 1,  43200, "Asia/Anadyr"                   },
 	{ "anast", 1,  46800, "Asia/Anadyr"                   },
-	{ "anast", 1,  50400, "Asia/Anadyr"                   },
+	{ "anat",  0,  46800, "Asia/Anadyr"                   },
 	{ "anat",  0,  39600, "Asia/Anadyr"                   },
 	{ "anat",  0,  43200, "Asia/Anadyr"                   },
-	{ "anat",  0,  46800, "Asia/Anadyr"                   },
 	{ "ant",   0, -16200, "America/Curacao"               },
 	{ "ant",   0, -16200, "America/Aruba"                 },
+	{ "ant",   0, -16200, "America/Kralendijk"            },
+	{ "ant",   0, -16200, "America/Lower_Princes"         },
 	{ "aot",   0,   3124, "Africa/Luanda"                 },
 	{ "apt",   1, -10800, "America/Halifax"               },
 	{ "apt",   1, -10800, "America/Blanc-Sablon"          },
@@ -85,14 +132,14 @@
 	{ "apt",   1, -10800, "America/Pangnirtung"           },
 	{ "apt",   1, -10800, "America/Puerto_Rico"           },
 	{ "apt",   1, -10800, "Canada/Atlantic"               },
-	{ "aqtst", 1,  18000, "Asia/Aqtau"                    },
 	{ "aqtst", 1,  21600, "Asia/Aqtau"                    },
+	{ "aqtst", 1,  18000, "Asia/Aqtau"                    },
 	{ "aqtst", 1,  21600, "Asia/Aqtobe"                   },
-	{ "aqtt",  0,  14400, "Asia/Aqtau"                    },
 	{ "aqtt",  0,  18000, "Asia/Aqtau"                    },
+	{ "aqtt",  0,  14400, "Asia/Aqtau"                    },
 	{ "aqtt",  0,  18000, "Asia/Aqtobe"                   },
-	{ "arst",  1, -10800, "America/Buenos_Aires"          },
 	{ "arst",  1,  -7200, "America/Buenos_Aires"          },
+	{ "arst",  1, -10800, "America/Buenos_Aires"          },
 	{ "arst",  1, -10800, "America/Argentina/Buenos_Aires" },
 	{ "arst",  1, -10800, "America/Argentina/Catamarca"   },
 	{ "arst",  1, -10800, "America/Argentina/ComodRivadavia" },
@@ -171,12 +218,12 @@
 	{ "art",   0, -14400, "America/Mendoza"               },
 	{ "art",   0, -14400, "America/Rosario"               },
 	{ "art",   0, -14400, "Antarctica/Palmer"             },
-	{ "ashst", 1,  18000, "Asia/Ashkhabad"                },
 	{ "ashst", 1,  21600, "Asia/Ashkhabad"                },
+	{ "ashst", 1,  18000, "Asia/Ashkhabad"                },
 	{ "ashst", 1,  18000, "Asia/Ashgabat"                 },
 	{ "ashst", 1,  21600, "Asia/Ashgabat"                 },
-	{ "asht",  0,  14400, "Asia/Ashkhabad"                },
 	{ "asht",  0,  18000, "Asia/Ashkhabad"                },
+	{ "asht",  0,  14400, "Asia/Ashkhabad"                },
 	{ "asht",  0,  14400, "Asia/Ashgabat"                 },
 	{ "asht",  0,  18000, "Asia/Ashgabat"                 },
 	{ "ast",   0,  10800, "Asia/Riyadh"                   },
@@ -192,6 +239,8 @@
 	{ "ast",   0, -14400, "America/Grenada"               },
 	{ "ast",   0, -14400, "America/Guadeloupe"            },
 	{ "ast",   0, -14400, "America/Halifax"               },
+	{ "ast",   0, -14400, "America/Kralendijk"            },
+	{ "ast",   0, -14400, "America/Lower_Princes"         },
 	{ "ast",   0, -14400, "America/Marigot"               },
 	{ "ast",   0, -14400, "America/Martinique"            },
 	{ "ast",   0, -14400, "America/Miquelon"              },
@@ -216,6 +265,11 @@
 	{ "ast",   0,  10800, "Asia/Bahrain"                  },
 	{ "ast",   0,  10800, "Asia/Kuwait"                   },
 	{ "ast",   0,  10800, "Asia/Qatar"                    },
+	{ "awdt",  1,  32400, "Australia/Perth"               },
+	{ "awdt",  1,  32400, "Australia/West"                },
+	{ "awst",  0,  28800, "Australia/Perth"               },
+	{ "awst",  0,  28800, "Antarctica/Casey"              },
+	{ "awst",  0,  28800, "Australia/West"                },
 	{ "awt",   1, -10800, "America/Halifax"               },
 	{ "awt",   1, -10800, "America/Blanc-Sablon"          },
 	{ "awt",   1, -10800, "America/Glace_Bay"             },
@@ -224,18 +278,18 @@
 	{ "awt",   1, -10800, "America/Puerto_Rico"           },
 	{ "awt",   1, -10800, "Canada/Atlantic"               },
 	{ "azomt", 1,      0, "Atlantic/Azores"               },
-	{ "azost", 1,  -3600, "Atlantic/Azores"               },
 	{ "azost", 1,      0, "Atlantic/Azores"               },
+	{ "azost", 1,  -3600, "Atlantic/Azores"               },
 	{ "azot",  0,  -3600, "Atlantic/Azores"               },
 	{ "azot",  0,  -7200, "Atlantic/Azores"               },
-	{ "azst",  1,  14400, "Asia/Baku"                     },
 	{ "azst",  1,  18000, "Asia/Baku"                     },
-	{ "azt",   0,  10800, "Asia/Baku"                     },
+	{ "azst",  1,  14400, "Asia/Baku"                     },
 	{ "azt",   0,  14400, "Asia/Baku"                     },
-	{ "bakst", 1,  14400, "Asia/Baku"                     },
+	{ "azt",   0,  10800, "Asia/Baku"                     },
 	{ "bakst", 1,  18000, "Asia/Baku"                     },
-	{ "bakt",  0,  10800, "Asia/Baku"                     },
+	{ "bakst", 1,  14400, "Asia/Baku"                     },
 	{ "bakt",  0,  14400, "Asia/Baku"                     },
+	{ "bakt",  0,  10800, "Asia/Baku"                     },
 	{ "bdst",  1,   7200, "Europe/London"                 },
 	{ "bdst",  1,  25200, "Asia/Dacca"                    },
 	{ "bdst",  1,  25200, "Asia/Dhaka"                    },
@@ -246,29 +300,29 @@
 	{ "bdst",  1,   7200, "Europe/Jersey"                 },
 	{ "bdst",  1,   7200, "GB"                            },
 	{ "bdt",   1, -36000, "America/Adak"                  },
+	{ "bdt",   0,  21600, "Asia/Dacca"                    },
 	{ "bdt",   1, -36000, "America/Atka"                  },
 	{ "bdt",   1, -36000, "America/Nome"                  },
-	{ "bdt",   0,  21600, "Asia/Dacca"                    },
 	{ "bdt",   0,  21600, "Asia/Dhaka"                    },
 	{ "beat",  0,   9000, "Africa/Mogadishu"              },
 	{ "beat",  0,   9000, "Africa/Kampala"                },
 	{ "beat",  0,   9000, "Africa/Nairobi"                },
-	{ "beaut", 0,   9885, "Africa/Nairobi"                },
-	{ "beaut", 0,   9885, "Africa/Dar_es_Salaam"          },
-	{ "beaut", 0,   9885, "Africa/Kampala"                },
-	{ "bmt",   0, -14308, "America/Barbados"              },
-	{ "bmt",   0, -17780, "America/Bogota"                },
-	{ "bmt",   0,  -3996, "Africa/Banjul"                 },
+	{ "beaut", 0,   9900, "Africa/Nairobi"                },
+	{ "beaut", 0,   9900, "Africa/Dar_es_Salaam"          },
+	{ "beaut", 0,   9900, "Africa/Kampala"                },
+	{ "bmt",   0, -14309, "America/Barbados"              },
+	{ "bmt",   0,   6264, "Europe/Tiraspol"               },
+	{ "bmt",   0, -17776, "America/Bogota"                },
 	{ "bmt",   0,  10656, "Asia/Baghdad"                  },
 	{ "bmt",   0,  24124, "Asia/Bangkok"                  },
-	{ "bmt",   0,   6264, "Europe/Tiraspol"               },
+	{ "bmt",   0,  25632, "Asia/Jakarta"                  },
 	{ "bmt",   0,   6264, "Europe/Bucharest"              },
 	{ "bmt",   0,   6264, "Europe/Chisinau"               },
-	{ "bnt",   0,  27000, "Asia/Brunei"                   },
 	{ "bnt",   0,  28800, "Asia/Brunei"                   },
+	{ "bnt",   0,  27000, "Asia/Brunei"                   },
 	{ "bortst", 1,  30000, "Asia/Kuching"                  },
-	{ "bort",  0,  27000, "Asia/Kuching"                  },
 	{ "bort",  0,  28800, "Asia/Kuching"                  },
+	{ "bort",  0,  27000, "Asia/Kuching"                  },
 	{ "bost",  1, -12756, "America/La_Paz"                },
 	{ "bot",   0, -14400, "America/La_Paz"                },
 	{ "brst",  1,  -7200, "America/Sao_Paulo"             },
@@ -288,8 +342,8 @@
 	{ "brt",   0, -10800, "America/Recife"                },
 	{ "brt",   0, -10800, "America/Santarem"              },
 	{ "brt",   0, -10800, "Brazil/East"                   },
-	{ "bst",   0,   3600, "Europe/London"                 },
 	{ "bst",   1,   3600, "Europe/London"                 },
+	{ "bst",   0,   3600, "Europe/London"                 },
 	{ "bst",   0, -39600, "America/Adak"                  },
 	{ "bst",   0, -39600, "America/Atka"                  },
 	{ "bst",   0, -39600, "America/Nome"                  },
@@ -319,6 +373,7 @@
 	{ "capt",  1, -32400, "America/Anchorage"             },
 	{ "cast",  0,  34200, "Australia/Adelaide"            },
 	{ "cast",  1,  10800, "Africa/Gaborone"               },
+	{ "cast",  1,  10800, "Africa/Juba"                   },
 	{ "cast",  1,  10800, "Africa/Khartoum"               },
 	{ "cast",  0,  39600, "Antarctica/Casey"              },
 	{ "cat",   0, -36000, "America/Anchorage"             },
@@ -327,6 +382,7 @@
 	{ "cat",   0,   7200, "Africa/Bujumbura"              },
 	{ "cat",   0,   7200, "Africa/Gaborone"               },
 	{ "cat",   0,   7200, "Africa/Harare"                 },
+	{ "cat",   0,   7200, "Africa/Juba"                   },
 	{ "cat",   0,   7200, "Africa/Kigali"                 },
 	{ "cat",   0,   7200, "Africa/Lubumbashi"             },
 	{ "cat",   0,   7200, "Africa/Lusaka"                 },
@@ -337,8 +393,8 @@
 	{ "cddt",  1, -14400, "America/Rankin_Inlet"          },
 	{ "cddt",  1, -14400, "America/Resolute"              },
 	{ "cdt",   1, -18000, "America/Chicago"               },
+	{ "cdt",   1,  32400, "Asia/Shanghai"                 },
 	{ "cdt",   1, -14400, "America/Havana"                },
-	{ "cdt",   0, -18000, "America/Resolute"              },
 	{ "cdt",   1, -18000, "America/Atikokan"              },
 	{ "cdt",   1, -18000, "America/Bahia_Banderas"        },
 	{ "cdt",   1, -18000, "America/Belize"                },
@@ -370,6 +426,7 @@
 	{ "cdt",   1, -18000, "America/Merida"                },
 	{ "cdt",   1, -18000, "America/Mexico_City"           },
 	{ "cdt",   1, -18000, "America/Monterrey"             },
+	{ "cdt",   1, -18000, "America/North_Dakota/Beulah"   },
 	{ "cdt",   1, -18000, "America/North_Dakota/Center"   },
 	{ "cdt",   1, -18000, "America/North_Dakota/New_Salem" },
 	{ "cdt",   1, -18000, "America/Ojinaga"               },
@@ -381,13 +438,10 @@
 	{ "cdt",   1, -18000, "America/Winnipeg"              },
 	{ "cdt",   1, -18000, "Canada/Central"                },
 	{ "cdt",   1, -18000, "Mexico/General"                },
-	{ "cdt",   1,  32400, "Asia/Shanghai"                 },
 	{ "cdt",   1,  32400, "Asia/Chongqing"                },
 	{ "cdt",   1,  32400, "Asia/Chungking"                },
 	{ "cdt",   1,  32400, "Asia/Harbin"                   },
-	{ "cdt",   1,  32400, "Asia/Kashgar"                  },
 	{ "cdt",   1,  32400, "Asia/Taipei"                   },
-	{ "cdt",   1,  32400, "Asia/Urumqi"                   },
 	{ "cdt",   1,  32400, "PRC"                           },
 	{ "cdt",   1,  32400, "ROC"                           },
 	{ "cemt",  1,  10800, "Europe/Berlin"                 },
@@ -398,6 +452,7 @@
 	{ "cest",  1,   7200, "Africa/Ceuta"                  },
 	{ "cest",  1,   7200, "Africa/Tripoli"                },
 	{ "cest",  1,   7200, "Africa/Tunis"                  },
+	{ "cest",  1,   7200, "Antarctica/Troll"              },
 	{ "cest",  1,   7200, "Arctic/Longyearbyen"           },
 	{ "cest",  1,   7200, "Atlantic/Jan_Mayen"            },
 	{ "cest",  1,   7200, "CET"                           },
@@ -408,6 +463,7 @@
 	{ "cest",  1,   7200, "Europe/Bratislava"             },
 	{ "cest",  1,   7200, "Europe/Brussels"               },
 	{ "cest",  1,   7200, "Europe/Budapest"               },
+	{ "cest",  1,   7200, "Europe/Busingen"               },
 	{ "cest",  1,   7200, "Europe/Chisinau"               },
 	{ "cest",  1,   7200, "Europe/Copenhagen"             },
 	{ "cest",  1,   7200, "Europe/Gibraltar"              },
@@ -446,6 +502,7 @@
 	{ "cest",  1,   7200, "Europe/Zurich"                 },
 	{ "cest",  1,   7200, "WET"                           },
 	{ "cet",   0,   3600, "Europe/Berlin"                 },
+	{ "cet",   0,   7200, "Europe/Kaliningrad"            },
 	{ "cet",   0,   3600, "Africa/Algiers"                },
 	{ "cet",   0,   3600, "Africa/Casablanca"             },
 	{ "cet",   0,   3600, "Africa/Ceuta"                  },
@@ -461,6 +518,7 @@
 	{ "cet",   0,   3600, "Europe/Bratislava"             },
 	{ "cet",   0,   3600, "Europe/Brussels"               },
 	{ "cet",   0,   3600, "Europe/Budapest"               },
+	{ "cet",   0,   3600, "Europe/Busingen"               },
 	{ "cet",   0,   3600, "Europe/Chisinau"               },
 	{ "cet",   0,   3600, "Europe/Copenhagen"             },
 	{ "cet",   0,   3600, "Europe/Gibraltar"              },
@@ -498,26 +556,18 @@
 	{ "cet",   0,   3600, "Europe/Zaporozhye"             },
 	{ "cet",   0,   3600, "Europe/Zurich"                 },
 	{ "cet",   0,   3600, "WET"                           },
-	{ "cet",   0,   7200, "Europe/Kaliningrad"            },
 	{ "cgst",  1,  -3600, "America/Scoresbysund"          },
 	{ "cgt",   0,  -7200, "America/Scoresbysund"          },
 	{ "chadt", 1,  49500, "Pacific/Chatham"               },
 	{ "chast", 0,  45900, "Pacific/Chatham"               },
-	{ "chat",  0,  30600, "Asia/Harbin"                   },
-	{ "chat",  0,  32400, "Asia/Harbin"                   },
+	{ "chast", 0,  44100, "Pacific/Chatham"               },
 	{ "chdt",  1, -19800, "America/Belize"                },
 	{ "chost", 1,  36000, "Asia/Choibalsan"               },
-	{ "chot",  0,  28800, "Asia/Choibalsan"               },
 	{ "chot",  0,  32400, "Asia/Choibalsan"               },
+	{ "chot",  0,  28800, "Asia/Choibalsan"               },
 	{ "chut",  0,  36000, "Pacific/Chuuk"                 },
 	{ "chut",  0,  36000, "Pacific/Truk"                  },
 	{ "chut",  0,  36000, "Pacific/Yap"                   },
-	{ "cit",   0,  28800, "Asia/Dili"                     },
-	{ "cit",   0,  28800, "Asia/Makassar"                 },
-	{ "cit",   0,  28800, "Asia/Pontianak"                },
-	{ "cit",   0,  28800, "Asia/Ujung_Pandang"            },
-	{ "cjt",   0,  32400, "Asia/Sakhalin"                 },
-	{ "cjt",   0,  32400, "Asia/Tokyo"                    },
 	{ "ckhst", 1, -34200, "Pacific/Rarotonga"             },
 	{ "ckt",   0, -36000, "Pacific/Rarotonga"             },
 	{ "ckt",   0, -37800, "Pacific/Rarotonga"             },
@@ -531,7 +581,6 @@
 	{ "clt",   0, -14400, "Antarctica/Palmer"             },
 	{ "clt",   0, -14400, "Chile/Continental"             },
 	{ "clt",   0, -18000, "Chile/Continental"             },
-	{ "cmt",   0, -14640, "America/St_Lucia"              },
 	{ "cmt",   0, -15408, "America/Argentina/Buenos_Aires" },
 	{ "cmt",   0, -15408, "America/Argentina/Catamarca"   },
 	{ "cmt",   0, -15408, "America/Argentina/ComodRivadavia" },
@@ -615,6 +664,7 @@
 	{ "cst",   0, -21600, "America/Merida"                },
 	{ "cst",   0, -21600, "America/Mexico_City"           },
 	{ "cst",   0, -21600, "America/Monterrey"             },
+	{ "cst",   0, -21600, "America/North_Dakota/Beulah"   },
 	{ "cst",   0, -21600, "America/North_Dakota/Center"   },
 	{ "cst",   0, -21600, "America/North_Dakota/New_Salem" },
 	{ "cst",   0, -21600, "America/Ojinaga"               },
@@ -635,33 +685,16 @@
 	{ "cst",   0,  28800, "Asia/Chongqing"                },
 	{ "cst",   0,  28800, "Asia/Chungking"                },
 	{ "cst",   0,  28800, "Asia/Harbin"                   },
-	{ "cst",   0,  28800, "Asia/Kashgar"                  },
 	{ "cst",   0,  28800, "Asia/Macao"                    },
 	{ "cst",   0,  28800, "Asia/Macau"                    },
 	{ "cst",   0,  28800, "Asia/Shanghai"                 },
 	{ "cst",   0,  28800, "Asia/Taipei"                   },
-	{ "cst",   0,  28800, "Asia/Urumqi"                   },
 	{ "cst",   0,  28800, "PRC"                           },
 	{ "cst",   0,  28800, "ROC"                           },
-	{ "cst",   0,  34200, "Asia/Jayapura"                 },
-	{ "cst",   0,  34200, "Australia/Adelaide"            },
-	{ "cst",   0,  34200, "Australia/Broken_Hill"         },
-	{ "cst",   0,  34200, "Australia/Darwin"              },
-	{ "cst",   0,  34200, "Australia/North"               },
-	{ "cst",   0,  34200, "Australia/South"               },
-	{ "cst",   0,  34200, "Australia/Yancowinna"          },
-	{ "cst",   1,  37800, "Australia/Adelaide"            },
-	{ "cst",   1,  37800, "Australia/Broken_Hill"         },
-	{ "cst",   1,  37800, "Australia/Darwin"              },
-	{ "cst",   1,  37800, "Australia/North"               },
-	{ "cst",   1,  37800, "Australia/South"               },
-	{ "cst",   1,  37800, "Australia/Yancowinna"          },
 	{ "cut",   0,   8400, "Europe/Zaporozhye"             },
 	{ "cvst",  1,  -3600, "Atlantic/Cape_Verde"           },
-	{ "cvt",   0,  -3600, "Atlantic/Cape_Verde"           },
 	{ "cvt",   0,  -7200, "Atlantic/Cape_Verde"           },
-	{ "cwst",  0,  31500, "Australia/Eucla"               },
-	{ "cwst",  1,  35100, "Australia/Eucla"               },
+	{ "cvt",   0,  -3600, "Atlantic/Cape_Verde"           },
 	{ "cwt",   1, -18000, "America/Chicago"               },
 	{ "cwt",   1, -18000, "America/Atikokan"              },
 	{ "cwt",   1, -18000, "America/Coral_Harbour"         },
@@ -690,29 +723,30 @@
 	{ "chst",  0,  36000, "Pacific/Saipan"                },
 	{ "dact",  0,  21600, "Asia/Dacca"                    },
 	{ "dact",  0,  21600, "Asia/Dhaka"                    },
-	{ "davt",  0,  18000, "Antarctica/Davis"              },
 	{ "davt",  0,  25200, "Antarctica/Davis"              },
+	{ "davt",  0,  18000, "Antarctica/Davis"              },
 	{ "ddut",  0,  36000, "Antarctica/DumontDUrville"     },
 	{ "dmt",   0,  -1521, "Europe/Dublin"                 },
-	{ "dusst", 1,  21600, "Asia/Dushanbe"                 },
 	{ "dusst", 1,  25200, "Asia/Dushanbe"                 },
-	{ "dust",  0,  18000, "Asia/Dushanbe"                 },
+	{ "dusst", 1,  21600, "Asia/Dushanbe"                 },
 	{ "dust",  0,  21600, "Asia/Dushanbe"                 },
-	{ "easst", 1, -18000, "Chile/EasterIsland"            },
+	{ "dust",  0,  18000, "Asia/Dushanbe"                 },
 	{ "easst", 1, -21600, "Chile/EasterIsland"            },
+	{ "easst", 1, -18000, "Chile/EasterIsland"            },
 	{ "easst", 1, -18000, "Pacific/Easter"                },
 	{ "easst", 1, -21600, "Pacific/Easter"                },
 	{ "east",  0, -21600, "Chile/EasterIsland"            },
 	{ "east",  0, -25200, "Chile/EasterIsland"            },
+	{ "east",  1,  14400, "Indian/Antananarivo"           },
 	{ "east",  0, -21600, "Pacific/Easter"                },
 	{ "east",  0, -25200, "Pacific/Easter"                },
-	{ "east",  1,  14400, "Indian/Antananarivo"           },
 	{ "eat",   0,  10800, "Africa/Khartoum"               },
 	{ "eat",   0,  10800, "Africa/Addis_Ababa"            },
 	{ "eat",   0,  10800, "Africa/Asmara"                 },
 	{ "eat",   0,  10800, "Africa/Asmera"                 },
 	{ "eat",   0,  10800, "Africa/Dar_es_Salaam"          },
 	{ "eat",   0,  10800, "Africa/Djibouti"               },
+	{ "eat",   0,  10800, "Africa/Juba"                   },
 	{ "eat",   0,  10800, "Africa/Kampala"                },
 	{ "eat",   0,  10800, "Africa/Mogadishu"              },
 	{ "eat",   0,  10800, "Africa/Nairobi"                },
@@ -756,6 +790,7 @@
 	{ "eest",  1,  10800, "Asia/Beirut"                   },
 	{ "eest",  1,  10800, "Asia/Damascus"                 },
 	{ "eest",  1,  10800, "Asia/Gaza"                     },
+	{ "eest",  1,  10800, "Asia/Hebron"                   },
 	{ "eest",  1,  10800, "Asia/Istanbul"                 },
 	{ "eest",  1,  10800, "Asia/Nicosia"                  },
 	{ "eest",  1,  10800, "EET"                           },
@@ -770,6 +805,7 @@
 	{ "eest",  1,  10800, "Europe/Moscow"                 },
 	{ "eest",  1,  10800, "Europe/Nicosia"                },
 	{ "eest",  1,  10800, "Europe/Riga"                   },
+	{ "eest",  1,  10800, "Europe/Samara"                 },
 	{ "eest",  1,  10800, "Europe/Simferopol"             },
 	{ "eest",  1,  10800, "Europe/Sofia"                  },
 	{ "eest",  1,  10800, "Europe/Tallinn"                },
@@ -780,12 +816,14 @@
 	{ "eest",  1,  10800, "Europe/Zaporozhye"             },
 	{ "eet",   0,   7200, "Europe/Helsinki"               },
 	{ "eet",   1,  10800, "Asia/Gaza"                     },
+	{ "eet",   1,  10800, "Asia/Hebron"                   },
 	{ "eet",   0,   7200, "Africa/Cairo"                  },
 	{ "eet",   0,   7200, "Africa/Tripoli"                },
 	{ "eet",   0,   7200, "Asia/Amman"                    },
 	{ "eet",   0,   7200, "Asia/Beirut"                   },
 	{ "eet",   0,   7200, "Asia/Damascus"                 },
 	{ "eet",   0,   7200, "Asia/Gaza"                     },
+	{ "eet",   0,   7200, "Asia/Hebron"                   },
 	{ "eet",   0,   7200, "Asia/Istanbul"                 },
 	{ "eet",   0,   7200, "Asia/Nicosia"                  },
 	{ "eet",   0,   7200, "EET"                           },
@@ -811,7 +849,6 @@
 	{ "egst",  1,      0, "America/Scoresbysund"          },
 	{ "egt",   0,  -3600, "America/Scoresbysund"          },
 	{ "ehdt",  1, -16200, "America/Santo_Domingo"         },
-	{ "eit",   0,  32400, "Asia/Jayapura"                 },
 	{ "emt",   0, -26248, "Chile/EasterIsland"            },
 	{ "emt",   0, -26248, "Pacific/Easter"                },
 	{ "ept",   1, -14400, "America/New_York"              },
@@ -866,34 +903,6 @@
 	{ "est",   0, -18000, "America/Toronto"               },
 	{ "est",   0, -18000, "Canada/Eastern"                },
 	{ "est",   0, -18000, "EST"                           },
-	{ "est",   0,  36000, "Antarctica/Macquarie"          },
-	{ "est",   0,  36000, "Australia/ACT"                 },
-	{ "est",   0,  36000, "Australia/Brisbane"            },
-	{ "est",   0,  36000, "Australia/Canberra"            },
-	{ "est",   0,  36000, "Australia/Currie"              },
-	{ "est",   0,  36000, "Australia/Hobart"              },
-	{ "est",   0,  36000, "Australia/LHI"                 },
-	{ "est",   0,  36000, "Australia/Lindeman"            },
-	{ "est",   0,  36000, "Australia/Lord_Howe"           },
-	{ "est",   0,  36000, "Australia/Melbourne"           },
-	{ "est",   0,  36000, "Australia/NSW"                 },
-	{ "est",   0,  36000, "Australia/Queensland"          },
-	{ "est",   0,  36000, "Australia/Sydney"              },
-	{ "est",   0,  36000, "Australia/Tasmania"            },
-	{ "est",   0,  36000, "Australia/Victoria"            },
-	{ "est",   1,  39600, "Australia/Melbourne"           },
-	{ "est",   1,  39600, "Antarctica/Macquarie"          },
-	{ "est",   1,  39600, "Australia/ACT"                 },
-	{ "est",   1,  39600, "Australia/Brisbane"            },
-	{ "est",   1,  39600, "Australia/Canberra"            },
-	{ "est",   1,  39600, "Australia/Currie"              },
-	{ "est",   1,  39600, "Australia/Hobart"              },
-	{ "est",   1,  39600, "Australia/Lindeman"            },
-	{ "est",   1,  39600, "Australia/NSW"                 },
-	{ "est",   1,  39600, "Australia/Queensland"          },
-	{ "est",   1,  39600, "Australia/Sydney"              },
-	{ "est",   1,  39600, "Australia/Tasmania"            },
-	{ "est",   1,  39600, "Australia/Victoria"            },
 	{ "ewt",   1, -14400, "America/New_York"              },
 	{ "ewt",   1, -14400, "America/Detroit"               },
 	{ "ewt",   1, -14400, "America/Iqaluit"               },
@@ -903,34 +912,36 @@
 	{ "ewt",   1, -14400, "America/Toronto"               },
 	{ "ewt",   1, -14400, "Canada/Eastern"                },
 	{ "ewt",   1, -14400, "EST"                           },
+	{ "fet",   0,  10800, "Europe/Kaliningrad"            },
+	{ "fet",   0,  10800, "Europe/Minsk"                  },
 	{ "ffmt",  0, -14660, "America/Martinique"            },
 	{ "fjst",  1,  46800, "Pacific/Fiji"                  },
 	{ "fjt",   0,  43200, "Pacific/Fiji"                  },
-	{ "fkst",  1, -10800, "Atlantic/Stanley"              },
 	{ "fkst",  1,  -7200, "Atlantic/Stanley"              },
-	{ "fkt",   0, -10800, "Atlantic/Stanley"              },
+	{ "fkst",  0, -10800, "Atlantic/Stanley"              },
+	{ "fkst",  1, -10800, "Atlantic/Stanley"              },
 	{ "fkt",   0, -14400, "Atlantic/Stanley"              },
-	{ "fmt",   0,  -3180, "Africa/Freetown"               },
+	{ "fkt",   0, -10800, "Atlantic/Stanley"              },
 	{ "fmt",   0,  -4056, "Atlantic/Madeira"              },
 	{ "fnst",  1,  -3600, "America/Noronha"               },
 	{ "fnst",  1,  -3600, "Brazil/DeNoronha"              },
 	{ "fnt",   0,  -7200, "America/Noronha"               },
 	{ "fnt",   0,  -7200, "Brazil/DeNoronha"              },
-	{ "fort",  0,  14400, "Asia/Aqtau"                    },
 	{ "fort",  0,  18000, "Asia/Aqtau"                    },
-	{ "frust", 1,  21600, "Asia/Bishkek"                  },
+	{ "fort",  0,  14400, "Asia/Aqtau"                    },
 	{ "frust", 1,  25200, "Asia/Bishkek"                  },
-	{ "frut",  0,  18000, "Asia/Bishkek"                  },
+	{ "frust", 1,  21600, "Asia/Bishkek"                  },
 	{ "frut",  0,  21600, "Asia/Bishkek"                  },
+	{ "frut",  0,  18000, "Asia/Bishkek"                  },
 	{ "galt",  0, -21600, "Pacific/Galapagos"             },
 	{ "gamt",  0, -32400, "Pacific/Gambier"               },
 	{ "gbgt",  0, -13500, "America/Guyana"                },
 	{ "gest",  1,  14400, "Asia/Tbilisi"                  },
 	{ "gest",  1,  18000, "Asia/Tbilisi"                  },
-	{ "get",   0,  10800, "Asia/Tbilisi"                  },
 	{ "get",   0,  14400, "Asia/Tbilisi"                  },
-	{ "gft",   0, -10800, "America/Cayenne"               },
+	{ "get",   0,  10800, "Asia/Tbilisi"                  },
 	{ "gft",   0, -14400, "America/Cayenne"               },
+	{ "gft",   0, -10800, "America/Cayenne"               },
 	{ "ghst",  1,   1200, "Africa/Accra"                  },
 	{ "gilt",  0,  43200, "Pacific/Tarawa"                },
 	{ "gmt",   0,      0, "Africa/Abidjan"                },
@@ -969,15 +980,16 @@
 	{ "gst",   0,  14400, "Asia/Muscat"                   },
 	{ "gst",   0,  14400, "Asia/Qatar"                    },
 	{ "gst",   0,  36000, "Pacific/Guam"                  },
+	{ "gyt",   0, -14400, "America/Guyana"                },
 	{ "gyt",   0, -10800, "America/Guyana"                },
 	{ "gyt",   0, -13500, "America/Guyana"                },
-	{ "gyt",   0, -14400, "America/Guyana"                },
 	{ "hadt",  1, -32400, "America/Adak"                  },
 	{ "hadt",  1, -32400, "America/Atka"                  },
 	{ "hast",  0, -36000, "America/Adak"                  },
 	{ "hast",  0, -36000, "America/Atka"                  },
 	{ "hdt",   1, -34200, "Pacific/Honolulu"              },
 	{ "hdt",   1, -34200, "HST"                           },
+	{ "hdt",   1, -34200, "Pacific/Johnston"              },
 	{ "hkst",  1,  32400, "Asia/Hong_Kong"                },
 	{ "hkt",   0,  28800, "Asia/Hong_Kong"                },
 	{ "hmt",   0, -19776, "America/Havana"                },
@@ -986,21 +998,18 @@
 	{ "hmt",   0,  21200, "Asia/Dacca"                    },
 	{ "hmt",   0,  21200, "Asia/Dhaka"                    },
 	{ "hmt",   0,  21200, "Asia/Kolkata"                  },
-	{ "hmt",   0,   5992, "EET"                           },
-	{ "hmt",   0,   5992, "Europe/Helsinki"               },
-	{ "hmt",   0,   5992, "Europe/Mariehamn"              },
+	{ "hmt",   0,   5989, "EET"                           },
+	{ "hmt",   0,   5989, "Europe/Helsinki"               },
+	{ "hmt",   0,   5989, "Europe/Mariehamn"              },
 	{ "hovst", 1,  28800, "Asia/Hovd"                     },
-	{ "hovt",  0,  21600, "Asia/Hovd"                     },
 	{ "hovt",  0,  25200, "Asia/Hovd"                     },
-	{ "hpt",   1, -34200, "Pacific/Honolulu"              },
-	{ "hpt",   1, -34200, "HST"                           },
+	{ "hovt",  0,  21600, "Asia/Hovd"                     },
 	{ "hst",   0, -36000, "Pacific/Honolulu"              },
 	{ "hst",   0, -37800, "Pacific/Honolulu"              },
 	{ "hst",   0, -36000, "HST"                           },
 	{ "hst",   0, -36000, "Pacific/Johnston"              },
 	{ "hst",   0, -37800, "HST"                           },
-	{ "hwt",   1, -34200, "Pacific/Honolulu"              },
-	{ "hwt",   1, -34200, "HST"                           },
+	{ "hst",   0, -37800, "Pacific/Johnston"              },
 	{ "ict",   0,  25200, "Asia/Bangkok"                  },
 	{ "ict",   0,  25200, "Asia/Ho_Chi_Minh"              },
 	{ "ict",   0,  25200, "Asia/Phnom_Penh"               },
@@ -1014,19 +1023,22 @@
 	{ "iddt",  1,  14400, "Asia/Tel_Aviv"                 },
 	{ "idt",   1,  10800, "Asia/Jerusalem"                },
 	{ "idt",   1,  10800, "Asia/Gaza"                     },
+	{ "idt",   1,  10800, "Asia/Hebron"                   },
 	{ "idt",   1,  10800, "Asia/Tel_Aviv"                 },
 	{ "ihst",  1,  21600, "Asia/Colombo"                  },
-	{ "imt",   0,  25040, "Asia/Irkutsk"                  },
+	{ "imt",   0,  25035, "Asia/Irkutsk"                  },
 	{ "imt",   0,   7016, "Asia/Istanbul"                 },
 	{ "imt",   0,   7016, "Europe/Istanbul"               },
-	{ "iot",   0,  18000, "Indian/Chagos"                 },
 	{ "iot",   0,  21600, "Indian/Chagos"                 },
+	{ "iot",   0,  18000, "Indian/Chagos"                 },
 	{ "irdt",  1,  16200, "Asia/Tehran"                   },
 	{ "irdt",  1,  18000, "Asia/Tehran"                   },
-	{ "irkst", 1,  28800, "Asia/Irkutsk"                  },
 	{ "irkst", 1,  32400, "Asia/Irkutsk"                  },
-	{ "irkt",  0,  25200, "Asia/Irkutsk"                  },
+	{ "irkst", 1,  28800, "Asia/Irkutsk"                  },
 	{ "irkt",  0,  28800, "Asia/Irkutsk"                  },
+	{ "irkt",  0,  25200, "Asia/Irkutsk"                  },
+	{ "irkt",  0,  32400, "Asia/Irkutsk"                  },
+	{ "irkt",  0,  28800, "Asia/Chita"                    },
 	{ "irst",  0,  12600, "Asia/Tehran"                   },
 	{ "irst",  0,  14400, "Asia/Tehran"                   },
 	{ "isst",  1,      0, "Atlantic/Reykjavik"            },
@@ -1050,11 +1062,15 @@
 	{ "ist",   0,   3600, "Europe/Dublin"                 },
 	{ "ist",   1,   3600, "Europe/Dublin"                 },
 	{ "ist",   0,   7200, "Asia/Gaza"                     },
+	{ "ist",   0,   7200, "Asia/Hebron"                   },
 	{ "ist",   0,   7200, "Asia/Tel_Aviv"                 },
 	{ "javt",  0,  26400, "Asia/Jakarta"                  },
+	{ "jcst",  0,  32400, "Asia/Pyongyang"                },
+	{ "jcst",  0,  32400, "Asia/Sakhalin"                 },
+	{ "jcst",  0,  32400, "Asia/Seoul"                    },
+	{ "jcst",  0,  32400, "Asia/Tokyo"                    },
+	{ "jcst",  0,  32400, "ROK"                           },
 	{ "jdt",   1,  36000, "Asia/Tokyo"                    },
-	{ "jmt",   0,  -1368, "Atlantic/St_Helena"            },
-	{ "jmt",   0,  25632, "Asia/Jakarta"                  },
 	{ "jmt",   0,   8440, "Asia/Jerusalem"                },
 	{ "jmt",   0,   8440, "Asia/Tel_Aviv"                 },
 	{ "jst",   0,  32400, "Asia/Tokyo"                    },
@@ -1066,299 +1082,104 @@
 	{ "jst",   0,  32400, "Asia/Makassar"                 },
 	{ "jst",   0,  32400, "Asia/Manila"                   },
 	{ "jst",   0,  32400, "Asia/Pontianak"                },
+	{ "jst",   0,  32400, "Asia/Pyongyang"                },
 	{ "jst",   0,  32400, "Asia/Rangoon"                  },
 	{ "jst",   0,  32400, "Asia/Sakhalin"                 },
+	{ "jst",   0,  32400, "Asia/Seoul"                    },
 	{ "jst",   0,  32400, "Asia/Singapore"                },
+	{ "jst",   0,  32400, "Asia/Taipei"                   },
 	{ "jst",   0,  32400, "Asia/Ujung_Pandang"            },
 	{ "jst",   0,  32400, "Pacific/Nauru"                 },
+	{ "jst",   0,  32400, "ROC"                           },
+	{ "jst",   0,  32400, "ROK"                           },
+	{ "jwst",  0,  28800, "Asia/Taipei"                   },
+	{ "jwst",  0,  28800, "ROC"                           },
 	{ "kart",  0,  18000, "Asia/Karachi"                  },
-	{ "kast",  0,  18000, "Asia/Kashgar"                  },
-	{ "kast",  0,  19800, "Asia/Kashgar"                  },
-	{ "kdt",   1,  32400, "Asia/Seoul"                    },
 	{ "kdt",   1,  36000, "Asia/Seoul"                    },
+	{ "kdt",   1,  32400, "Asia/Seoul"                    },
 	{ "kdt",   1,  32400, "ROK"                           },
 	{ "kdt",   1,  36000, "ROK"                           },
 	{ "kgst",  1,  21600, "Asia/Bishkek"                  },
 	{ "kgt",   0,  18000, "Asia/Bishkek"                  },
 	{ "kgt",   0,  21600, "Asia/Bishkek"                  },
 	{ "kizst", 1,  21600, "Asia/Qyzylorda"                },
+	{ "kizt",  0,  21600, "Asia/Qyzylorda"                },
 	{ "kizt",  0,  14400, "Asia/Qyzylorda"                },
 	{ "kizt",  0,  18000, "Asia/Qyzylorda"                },
-	{ "kizt",  0,  21600, "Asia/Qyzylorda"                },
 	{ "kmt",   0,   5736, "Europe/Vilnius"                },
-	{ "kmt",   0, -14696, "America/St_Vincent"            },
-	{ "kmt",   0, -18432, "America/Cayman"                },
-	{ "kmt",   0, -18432, "America/Grand_Turk"            },
-	{ "kmt",   0, -18432, "America/Jamaica"               },
+	{ "kmt",   0, -18431, "America/Cayman"                },
+	{ "kmt",   0, -18431, "America/Grand_Turk"            },
+	{ "kmt",   0, -18431, "America/Jamaica"               },
 	{ "kmt",   0,   7324, "Europe/Kiev"                   },
-	{ "kost",  0,  39600, "Pacific/Kosrae"                },
 	{ "kost",  0,  43200, "Pacific/Kosrae"                },
-	{ "krast", 1,  25200, "Asia/Krasnoyarsk"              },
+	{ "kost",  0,  39600, "Pacific/Kosrae"                },
 	{ "krast", 1,  28800, "Asia/Krasnoyarsk"              },
+	{ "krast", 1,  25200, "Asia/Krasnoyarsk"              },
 	{ "krast", 1,  25200, "Asia/Novokuznetsk"             },
 	{ "krast", 1,  28800, "Asia/Novokuznetsk"             },
-	{ "krat",  0,  21600, "Asia/Krasnoyarsk"              },
 	{ "krat",  0,  25200, "Asia/Krasnoyarsk"              },
+	{ "krat",  0,  21600, "Asia/Krasnoyarsk"              },
+	{ "krat",  0,  28800, "Asia/Krasnoyarsk"              },
 	{ "krat",  0,  21600, "Asia/Novokuznetsk"             },
 	{ "krat",  0,  25200, "Asia/Novokuznetsk"             },
 	{ "kst",   0,  28800, "Asia/Seoul"                    },
 	{ "kst",   0,  30600, "Asia/Seoul"                    },
+	{ "kst",   0,  32400, "Asia/Pyongyang"                },
 	{ "kst",   0,  32400, "Asia/Seoul"                    },
 	{ "kst",   0,  28800, "Asia/Pyongyang"                },
 	{ "kst",   0,  28800, "ROK"                           },
 	{ "kst",   0,  30600, "Asia/Pyongyang"                },
 	{ "kst",   0,  30600, "ROK"                           },
-	{ "kst",   0,  32400, "Asia/Pyongyang"                },
 	{ "kst",   0,  32400, "ROK"                           },
-	{ "kuyst", 1,  10800, "Europe/Samara"                 },
-	{ "kuyst", 1,  14400, "Europe/Samara"                 },
 	{ "kuyst", 1,  18000, "Europe/Samara"                 },
-	{ "kuyt",  0,  10800, "Europe/Samara"                 },
 	{ "kuyt",  0,  14400, "Europe/Samara"                 },
+	{ "kuyt",  0,  10800, "Europe/Samara"                 },
 	{ "kwat",  0, -43200, "Pacific/Kwajalein"             },
+	{ "lhdt",  1,  39600, "Australia/LHI"                 },
+	{ "lhdt",  1,  39600, "Australia/Lord_Howe"           },
+	{ "lhdt",  1,  41400, "Australia/LHI"                 },
+	{ "lhdt",  1,  41400, "Australia/Lord_Howe"           },
 	{ "lhst",  0,  37800, "Australia/Lord_Howe"           },
-	{ "lhst",  1,  39600, "Australia/Lord_Howe"           },
-	{ "lhst",  1,  41400, "Australia/Lord_Howe"           },
 	{ "lhst",  0,  37800, "Australia/LHI"                 },
-	{ "lhst",  1,  39600, "Australia/LHI"                 },
-	{ "lhst",  1,  41400, "Australia/LHI"                 },
+	{ "lint",  0,  50400, "Pacific/Kiritimati"            },
 	{ "lint",  0, -36000, "Pacific/Kiritimati"            },
 	{ "lint",  0, -38400, "Pacific/Kiritimati"            },
-	{ "lint",  0,  50400, "Pacific/Kiritimati"            },
-	{ "lkt",   0,  21600, "Asia/Colombo"                  },
 	{ "lkt",   0,  23400, "Asia/Colombo"                  },
-	{ "lmt",   0, -11188, "America/Sao_Paulo"             },
-	{ "lmt",   0, -11188, "Brazil/East"                   },
-	{ "lmt",   0, -11568, "America/Araguaina"             },
-	{ "lmt",   0, -11636, "America/Belem"                 },
-	{ "lmt",   0, -12416, "America/Godthab"               },
-	{ "lmt",   0, -12560, "America/Cayenne"               },
-	{ "lmt",   0, -13108, "America/Campo_Grande"          },
-	{ "lmt",   0, -13128, "America/Santarem"              },
-	{ "lmt",   0, -13240, "America/Paramaribo"            },
-	{ "lmt",   0, -13460, "America/Cuiaba"                },
-	{ "lmt",   0, -13480, "America/Miquelon"              },
-	{ "lmt",   0, -13960, "America/Guyana"                },
-	{ "lmt",   0, -14308, "America/Barbados"              },
-	{ "lmt",   0, -14388, "America/Glace_Bay"             },
-	{ "lmt",   0, -14404, "America/Manaus"                },
-	{ "lmt",   0, -14404, "Brazil/West"                   },
-	{ "lmt",   0, -14560, "America/Boa_Vista"             },
-	{ "lmt",   0, -14736, "America/Dominica"              },
-	{ "lmt",   0, -14764, "America/Port_of_Spain"         },
-	{ "lmt",   0, -14768, "America/Guadeloupe"            },
-	{ "lmt",   0, -14768, "America/Marigot"               },
-	{ "lmt",   0, -14768, "America/St_Barthelemy"         },
-	{ "lmt",   0, -14820, "America/Grenada"               },
-	{ "lmt",   0, -14832, "America/Antigua"               },
-	{ "lmt",   0, -14932, "America/Montserrat"            },
-	{ "lmt",   0, -15052, "America/St_Kitts"              },
-	{ "lmt",   0, -15136, "America/Anguilla"              },
-	{ "lmt",   0, -15264, "America/Halifax"               },
-	{ "lmt",   0, -15264, "Canada/Atlantic"               },
-	{ "lmt",   0, -15336, "America/Porto_Velho"           },
-	{ "lmt",   0, -15508, "America/Tortola"               },
-	{ "lmt",   0, -15544, "Atlantic/Bermuda"              },
-	{ "lmt",   0, -15584, "America/St_Thomas"             },
-	{ "lmt",   0, -15584, "America/Virgin"                },
-	{ "lmt",   0,  -1624, "Atlantic/Faeroe"               },
-	{ "lmt",   0,  -1624, "Atlantic/Faroe"                },
-	{ "lmt",   0, -16272, "America/Porto_Acre"            },
-	{ "lmt",   0, -16272, "America/Rio_Branco"            },
-	{ "lmt",   0, -16272, "Brazil/Acre"                   },
-	{ "lmt",   0, -16508, "America/Thule"                 },
-	{ "lmt",   0, -16544, "America/Curacao"               },
-	{ "lmt",   0, -16768, "America/Eirunepe"              },
-	{ "lmt",   0, -16824, "America/Aruba"                 },
-	{ "lmt",   0,  -1820, "Africa/Casablanca"             },
-	{ "lmt",   0, -18516, "America/Lima"                  },
-	{ "lmt",   0, -18564, "America/Nassau"                },
-	{ "lmt",   0,  -1920, "Africa/Bamako"                 },
-	{ "lmt",   0,  -1920, "Africa/Timbuktu"               },
-	{ "lmt",   0, -19931, "America/Detroit"               },
-	{ "lmt",   0, -20824, "America/Cancun"                },
-	{ "lmt",   0, -20932, "America/Tegucigalpa"           },
-	{ "lmt",   0, -21168, "America/Belize"                },
-	{ "lmt",   0, -21408, "America/El_Salvador"           },
-	{ "lmt",   0, -21504, "Pacific/Galapagos"             },
-	{ "lmt",   0, -21508, "America/Merida"                },
-	{ "lmt",   0, -21724, "America/Guatemala"             },
-	{ "lmt",   0,  -2192, "Africa/Sao_Tome"               },
-	{ "lmt",   0,  -2192, "Europe/Lisbon"                 },
-	{ "lmt",   0, -23796, "America/Mexico_City"           },
-	{ "lmt",   0, -23796, "Mexico/General"                },
-	{ "lmt",   0, -24000, "America/Matamoros"             },
-	{ "lmt",   0, -24076, "America/Monterrey"             },
-	{ "lmt",   0, -25060, "America/Ojinaga"               },
-	{ "lmt",   0, -25116, "America/Regina"                },
-	{ "lmt",   0, -25116, "Canada/East-Saskatchewan"      },
-	{ "lmt",   0, -25116, "Canada/Saskatchewan"           },
-	{ "lmt",   0, -25260, "America/Bahia_Banderas"        },
-	{ "lmt",   0, -25460, "America/Chihuahua"             },
-	{ "lmt",   0, -25540, "America/Mazatlan"              },
-	{ "lmt",   0, -25540, "Mexico/BajaSur"                },
-	{ "lmt",   0, -25880, "America/Swift_Current"         },
-	{ "lmt",   0, -26632, "America/Hermosillo"            },
-	{ "lmt",   0, -27232, "America/Edmonton"              },
-	{ "lmt",   0, -27232, "Canada/Mountain"               },
-	{ "lmt",   0, -27568, "America/Santa_Isabel"          },
-	{ "lmt",   0, -28084, "America/Ensenada"              },
-	{ "lmt",   0, -28084, "America/Tijuana"               },
-	{ "lmt",   0, -28084, "Mexico/BajaNorte"              },
-	{ "lmt",   0,  -3168, "Africa/El_Aaiun"               },
-	{ "lmt",   0, -32388, "Pacific/Gambier"               },
-	{ "lmt",   0,  -3292, "Africa/Conakry"                },
-	{ "lmt",   0, -33480, "Pacific/Marquesas"             },
-	{ "lmt",   0, -35896, "Pacific/Tahiti"                },
-	{ "lmt",   0,   -364, "Africa/Ouagadougou"            },
-	{ "lmt",   0,  -3696, "Atlantic/Canary"               },
-	{ "lmt",   0,  -3740, "Africa/Bissau"                 },
-	{ "lmt",   0,  -3828, "Africa/Nouakchott"             },
-	{ "lmt",   0,  -3996, "Africa/Banjul"                 },
-	{ "lmt",   0, -40968, "Pacific/Pago_Pago"             },
-	{ "lmt",   0, -40968, "Pacific/Samoa"                 },
-	{ "lmt",   0, -41216, "Pacific/Apia"                  },
-	{ "lmt",   0,  -4184, "Africa/Dakar"                  },
-	{ "lmt",   0,  -4480, "America/Danmarkshavn"          },
-	{ "lmt",   0,  -5272, "America/Scoresbysund"          },
-	{ "lmt",   0,    -52, "Africa/Accra"                  },
-	{ "lmt",   0,  -5644, "Atlantic/Cape_Verde"           },
-	{ "lmt",   0,  -7780, "America/Noronha"               },
-	{ "lmt",   0,  -7780, "Brazil/DeNoronha"              },
-	{ "lmt",   0,  -8376, "America/Recife"                },
-	{ "lmt",   0,  -8572, "America/Maceio"                },
-	{ "lmt",   0,  -9240, "America/Fortaleza"             },
-	{ "lmt",   0,  -9244, "America/Bahia"                 },
-	{ "lmt",   0,   -968, "Africa/Abidjan"                },
-	{ "lmt",   0,  10356, "Africa/Djibouti"               },
-	{ "lmt",   0,  10384, "Indian/Comoro"                 },
-	{ "lmt",   0,  10660, "Europe/Volgograd"              },
-	{ "lmt",   0,  10680, "Asia/Yerevan"                  },
-	{ "lmt",   0,  10848, "Asia/Aden"                     },
-	{ "lmt",   0,  10856, "Indian/Mayotte"                },
-	{ "lmt",   0,  11212, "Asia/Riyadh"                   },
-	{ "lmt",   0,  11404, "Indian/Antananarivo"           },
-	{ "lmt",   0,  11516, "Asia/Kuwait"                   },
-	{ "lmt",   0,  11964, "Asia/Baku"                     },
-	{ "lmt",   0,  12036, "Europe/Samara"                 },
-	{ "lmt",   0,  12064, "Asia/Aqtau"                    },
-	{ "lmt",   0,  12140, "Asia/Bahrain"                  },
-	{ "lmt",   0,  12324, "Asia/Oral"                     },
-	{ "lmt",   0,  12344, "Asia/Tehran"                   },
-	{ "lmt",   0,  12368, "Asia/Qatar"                    },
-	{ "lmt",   0,  13272, "Asia/Dubai"                    },
-	{ "lmt",   0,  13308, "Indian/Mahe"                   },
-	{ "lmt",   0,  13312, "Indian/Reunion"                },
-	{ "lmt",   0,  13720, "Asia/Aqtobe"                   },
-	{ "lmt",   0,  13800, "Indian/Mauritius"              },
-	{ "lmt",   0,  14012, "Asia/Ashgabat"                 },
-	{ "lmt",   0,  14012, "Asia/Ashkhabad"                },
-	{ "lmt",   0,  14060, "Asia/Muscat"                   },
-	{ "lmt",   0,  14544, "Asia/Yekaterinburg"            },
-	{ "lmt",   0,   1476, "Europe/Luxembourg"             },
-	{ "lmt",   0,  15712, "Asia/Qyzylorda"                },
-	{ "lmt",   0,  16032, "Asia/Samarkand"                },
-	{ "lmt",   0,  16092, "Asia/Karachi"                  },
-	{ "lmt",   0,  16512, "Asia/Dushanbe"                 },
-	{ "lmt",   0,  16632, "Asia/Tashkent"                 },
-	{ "lmt",   0,  17380, "Indian/Chagos"                 },
-	{ "lmt",   0,  17616, "Asia/Omsk"                     },
-	{ "lmt",   0,  17904, "Asia/Bishkek"                  },
-	{ "lmt",   0,  18236, "Asia/Kashgar"                  },
-	{ "lmt",   0,  18468, "Asia/Almaty"                   },
-	{ "lmt",   0,  19900, "Asia/Novosibirsk"              },
-	{ "lmt",   0,  20476, "Asia/Kathmandu"                },
-	{ "lmt",   0,  20476, "Asia/Katmandu"                 },
-	{ "lmt",   0,  21020, "Asia/Urumqi"                   },
-	{ "lmt",   0,   2108, "Africa/Malabo"                 },
-	{ "lmt",   0,  21516, "Asia/Thimbu"                   },
-	{ "lmt",   0,  21516, "Asia/Thimphu"                  },
-	{ "lmt",   0,  21996, "Asia/Hovd"                     },
-	{ "lmt",   0,  22280, "Asia/Krasnoyarsk"              },
-	{ "lmt",   0,   2268, "Africa/Libreville"             },
-	{ "lmt",   0,   2328, "Africa/Douala"                 },
-	{ "lmt",   0,  24624, "Asia/Vientiane"                },
-	{ "lmt",   0,  25180, "Asia/Phnom_Penh"               },
-	{ "lmt",   0,  25580, "Asia/Chongqing"                },
-	{ "lmt",   0,  25580, "Asia/Chungking"                },
-	{ "lmt",   0,  25600, "Asia/Ho_Chi_Minh"              },
-	{ "lmt",   0,  25600, "Asia/Saigon"                   },
-	{ "lmt",   0,  25652, "Asia/Ulaanbaatar"              },
-	{ "lmt",   0,  25652, "Asia/Ulan_Bator"               },
-	{ "lmt",   0,  26240, "Asia/Pontianak"                },
-	{ "lmt",   0,  26480, "Asia/Kuching"                  },
-	{ "lmt",   0,  27260, "Asia/Macao"                    },
-	{ "lmt",   0,  27260, "Asia/Macau"                    },
-	{ "lmt",   0,  27396, "Asia/Hong_Kong"                },
-	{ "lmt",   0,  27480, "Asia/Choibalsan"               },
-	{ "lmt",   0,  27580, "Asia/Brunei"                   },
-	{ "lmt",   0,  28656, "Asia/Makassar"                 },
-	{ "lmt",   0,  28656, "Asia/Ujung_Pandang"            },
-	{ "lmt",   0,  29152, "Asia/Shanghai"                 },
-	{ "lmt",   0,  29152, "PRC"                           },
-	{ "lmt",   0,  30140, "Asia/Dili"                     },
-	{ "lmt",   0,  30404, "Asia/Harbin"                   },
-	{ "lmt",   0,  31120, "Asia/Yakutsk"                  },
-	{ "lmt",   0,   3164, "Africa/Tripoli"                },
-	{ "lmt",   0,  31664, "Asia/Vladivostok"              },
-	{ "lmt",   0,  33768, "Asia/Jayapura"                 },
-	{ "lmt",   0,  34248, "Asia/Sakhalin"                 },
-	{ "lmt",   0,   3612, "Africa/Ndjamena"               },
-	{ "lmt",   0,  36192, "Asia/Magadan"                  },
-	{ "lmt",   0,   3668, "Africa/Brazzaville"            },
-	{ "lmt",   0,  38076, "Asia/Kamchatka"                },
-	{ "lmt",   0,  38388, "Pacific/Guadalcanal"           },
-	{ "lmt",   0,  39948, "Pacific/Noumea"                },
-	{ "lmt",   0,  40060, "Pacific/Nauru"                 },
-	{ "lmt",   0,  40396, "Pacific/Efate"                 },
-	{ "lmt",   0,  42596, "Asia/Anadyr"                   },
-	{ "lmt",   0,  42820, "Pacific/Fiji"                  },
-	{ "lmt",   0,  44028, "Pacific/Chatham"               },
-	{ "lmt",   0,   4460, "Africa/Bangui"                 },
-	{ "lmt",   0,   4760, "Europe/Tirane"                 },
-	{ "lmt",   0,    508, "Africa/Niamey"                 },
-	{ "lmt",   0,    628, "Africa/Porto-Novo"             },
-	{ "lmt",   0,   6600, "Africa/Maseru"                 },
-	{ "lmt",   0,   6788, "Africa/Lusaka"                 },
-	{ "lmt",   0,   7216, "Africa/Kigali"                 },
-	{ "lmt",   0,   7452, "Africa/Harare"                 },
-	{ "lmt",   0,   7464, "Africa/Mbabane"                },
-	{ "lmt",   0,   7780, "Africa/Kampala"                },
-	{ "lmt",   0,   7808, "Africa/Khartoum"               },
-	{ "lmt",   0,   7820, "Africa/Maputo"                 },
-	{ "lmt",   0,   8008, "Asia/Nicosia"                  },
-	{ "lmt",   0,   8008, "Europe/Nicosia"                },
-	{ "lmt",   0,    816, "Africa/Lagos"                  },
-	{ "lmt",   0,   8400, "Africa/Blantyre"               },
-	{ "lmt",   0,   8624, "Asia/Amman"                    },
-	{ "lmt",   0,   8712, "Asia/Damascus"                 },
-	{ "lmt",   0,   8836, "Africa/Nairobi"                },
-	{ "lmt",   0,   9428, "Africa/Dar_es_Salaam"          },
-	{ "lont",  0,  25200, "Asia/Chongqing"                },
-	{ "lont",  0,  25200, "Asia/Chungking"                },
+	{ "lkt",   0,  21600, "Asia/Colombo"                  },
 	{ "lrt",   0,  -2670, "Africa/Monrovia"               },
-	{ "lst",   1,   9384, "Europe/Riga"                   },
+	{ "lst",   1,   9388, "Europe/Riga"                   },
 	{ "madmt", 1,   3600, "Atlantic/Madeira"              },
 	{ "madst", 1,      0, "Atlantic/Madeira"              },
 	{ "madt",  0,  -3600, "Atlantic/Madeira"              },
-	{ "magst", 1,  39600, "Asia/Magadan"                  },
 	{ "magst", 1,  43200, "Asia/Magadan"                  },
+	{ "magst", 1,  39600, "Asia/Magadan"                  },
+	{ "magst", 1,  39600, "Asia/Srednekolymsk"            },
+	{ "magst", 1,  39600, "Asia/Ust-Nera"                 },
+	{ "magst", 1,  43200, "Asia/Srednekolymsk"            },
+	{ "magst", 1,  43200, "Asia/Ust-Nera"                 },
 	{ "magt",  0,  36000, "Asia/Magadan"                  },
 	{ "magt",  0,  39600, "Asia/Magadan"                  },
+	{ "magt",  0,  43200, "Asia/Magadan"                  },
+	{ "magt",  0,  36000, "Asia/Srednekolymsk"            },
+	{ "magt",  0,  36000, "Asia/Ust-Nera"                 },
+	{ "magt",  0,  39600, "Asia/Srednekolymsk"            },
+	{ "magt",  0,  39600, "Asia/Ust-Nera"                 },
+	{ "magt",  0,  43200, "Asia/Srednekolymsk"            },
+	{ "magt",  0,  43200, "Asia/Ust-Nera"                 },
 	{ "malst", 1,  26400, "Asia/Singapore"                },
 	{ "malst", 1,  26400, "Asia/Kuala_Lumpur"             },
+	{ "malt",  0,  27000, "Asia/Singapore"                },
 	{ "malt",  0,  25200, "Asia/Singapore"                },
 	{ "malt",  0,  26400, "Asia/Singapore"                },
-	{ "malt",  0,  27000, "Asia/Singapore"                },
 	{ "malt",  0,  25200, "Asia/Kuala_Lumpur"             },
 	{ "malt",  0,  26400, "Asia/Kuala_Lumpur"             },
 	{ "malt",  0,  27000, "Asia/Kuala_Lumpur"             },
 	{ "mart",  0, -34200, "Pacific/Marquesas"             },
-	{ "mawt",  0,  18000, "Antarctica/Mawson"             },
 	{ "mawt",  0,  21600, "Antarctica/Mawson"             },
+	{ "mawt",  0,  18000, "Antarctica/Mawson"             },
 	{ "mddt",  1, -18000, "America/Cambridge_Bay"         },
 	{ "mddt",  1, -18000, "America/Yellowknife"           },
-	{ "mdst",  1,  16248, "Europe/Moscow"                 },
+	{ "mdst",  1,  16279, "Europe/Moscow"                 },
 	{ "mdt",   1, -21600, "America/Denver"                },
 	{ "mdt",   1, -21600, "America/Bahia_Banderas"        },
 	{ "mdt",   1, -21600, "America/Boise"                 },
@@ -1368,6 +1189,7 @@
 	{ "mdt",   1, -21600, "America/Hermosillo"            },
 	{ "mdt",   1, -21600, "America/Inuvik"                },
 	{ "mdt",   1, -21600, "America/Mazatlan"              },
+	{ "mdt",   1, -21600, "America/North_Dakota/Beulah"   },
 	{ "mdt",   1, -21600, "America/North_Dakota/Center"   },
 	{ "mdt",   1, -21600, "America/North_Dakota/New_Salem" },
 	{ "mdt",   1, -21600, "America/Ojinaga"               },
@@ -1383,13 +1205,13 @@
 	{ "mdt",   1, -21600, "MST"                           },
 	{ "mest",  1,   7200, "MET"                           },
 	{ "met",   0,   3600, "MET"                           },
-	{ "mht",   0,  39600, "Pacific/Kwajalein"             },
 	{ "mht",   0,  43200, "Pacific/Kwajalein"             },
+	{ "mht",   0,  39600, "Pacific/Kwajalein"             },
 	{ "mht",   0,  39600, "Pacific/Majuro"                },
 	{ "mht",   0,  43200, "Pacific/Majuro"                },
 	{ "mist",  0,  39600, "Antarctica/Macquarie"          },
-	{ "mmt",   0,   9000, "Europe/Moscow"                 },
-	{ "mmt",   0,   9048, "Europe/Moscow"                 },
+	{ "mmt",   0,   9017, "Europe/Moscow"                 },
+	{ "mmt",   0,   9079, "Europe/Moscow"                 },
 	{ "mmt",   0, -13484, "America/Montevideo"            },
 	{ "mmt",   0, -20712, "America/Managua"               },
 	{ "mmt",   0,  -2588, "Africa/Monrovia"               },
@@ -1404,9 +1226,11 @@
 	{ "mot",   0,  28800, "Asia/Macao"                    },
 	{ "mot",   0,  28800, "Asia/Macau"                    },
 	{ "mpt",   1, -21600, "America/Denver"                },
+	{ "mpt",   0,  36000, "Pacific/Saipan"                },
 	{ "mpt",   1, -21600, "America/Boise"                 },
 	{ "mpt",   1, -21600, "America/Cambridge_Bay"         },
 	{ "mpt",   1, -21600, "America/Edmonton"              },
+	{ "mpt",   1, -21600, "America/North_Dakota/Beulah"   },
 	{ "mpt",   1, -21600, "America/North_Dakota/Center"   },
 	{ "mpt",   1, -21600, "America/North_Dakota/New_Salem" },
 	{ "mpt",   1, -21600, "America/Regina"                },
@@ -1418,14 +1242,13 @@
 	{ "mpt",   1, -21600, "Canada/Saskatchewan"           },
 	{ "mpt",   1, -21600, "MST"                           },
 	{ "mpt",   0,  32400, "Pacific/Saipan"                },
-	{ "mpt",   0,  36000, "Pacific/Saipan"                },
 	{ "msd",   1,  14400, "Europe/Moscow"                 },
-	{ "msd",   1,  18000, "Europe/Moscow"                 },
 	{ "msd",   1,  14400, "Europe/Chisinau"               },
 	{ "msd",   1,  14400, "Europe/Kaliningrad"            },
 	{ "msd",   1,  14400, "Europe/Kiev"                   },
 	{ "msd",   1,  14400, "Europe/Minsk"                  },
 	{ "msd",   1,  14400, "Europe/Riga"                   },
+	{ "msd",   1,  14400, "Europe/Samara"                 },
 	{ "msd",   1,  14400, "Europe/Simferopol"             },
 	{ "msd",   1,  14400, "Europe/Tallinn"                },
 	{ "msd",   1,  14400, "Europe/Tiraspol"               },
@@ -1433,22 +1256,30 @@
 	{ "msd",   1,  14400, "Europe/Vilnius"                },
 	{ "msd",   1,  14400, "Europe/Zaporozhye"             },
 	{ "msk",   0,  10800, "Europe/Moscow"                 },
+	{ "msk",   0,  14400, "Europe/Moscow"                 },
 	{ "msk",   0,  10800, "Europe/Chisinau"               },
 	{ "msk",   0,  10800, "Europe/Kaliningrad"            },
 	{ "msk",   0,  10800, "Europe/Kiev"                   },
 	{ "msk",   0,  10800, "Europe/Minsk"                  },
 	{ "msk",   0,  10800, "Europe/Riga"                   },
+	{ "msk",   0,  10800, "Europe/Samara"                 },
 	{ "msk",   0,  10800, "Europe/Simferopol"             },
 	{ "msk",   0,  10800, "Europe/Tallinn"                },
 	{ "msk",   0,  10800, "Europe/Tiraspol"               },
 	{ "msk",   0,  10800, "Europe/Uzhgorod"               },
 	{ "msk",   0,  10800, "Europe/Vilnius"                },
+	{ "msk",   0,  10800, "Europe/Volgograd"              },
 	{ "msk",   0,  10800, "Europe/Zaporozhye"             },
+	{ "msk",   0,  14400, "Europe/Simferopol"             },
+	{ "msk",   0,  14400, "Europe/Volgograd"              },
+	{ "msk",   1,  14400, "Europe/Volgograd"              },
+	{ "msm",   1,  18000, "Europe/Moscow"                 },
 	{ "mst",   0, -25200, "America/Denver"                },
 	{ "mst",   0, -25200, "America/Bahia_Banderas"        },
 	{ "mst",   0, -25200, "America/Boise"                 },
 	{ "mst",   0, -25200, "America/Cambridge_Bay"         },
 	{ "mst",   0, -25200, "America/Chihuahua"             },
+	{ "mst",   0, -25200, "America/Creston"               },
 	{ "mst",   0, -25200, "America/Dawson_Creek"          },
 	{ "mst",   0, -25200, "America/Edmonton"              },
 	{ "mst",   0, -25200, "America/Ensenada"              },
@@ -1456,6 +1287,7 @@
 	{ "mst",   0, -25200, "America/Inuvik"                },
 	{ "mst",   0, -25200, "America/Mazatlan"              },
 	{ "mst",   0, -25200, "America/Mexico_City"           },
+	{ "mst",   0, -25200, "America/North_Dakota/Beulah"   },
 	{ "mst",   0, -25200, "America/North_Dakota/Center"   },
 	{ "mst",   0, -25200, "America/North_Dakota/New_Salem" },
 	{ "mst",   0, -25200, "America/Ojinaga"               },
@@ -1473,7 +1305,7 @@
 	{ "mst",   0, -25200, "Mexico/BajaSur"                },
 	{ "mst",   0, -25200, "Mexico/General"                },
 	{ "mst",   0, -25200, "MST"                           },
-	{ "mst",   1,  12648, "Europe/Moscow"                 },
+	{ "mst",   1,  12679, "Europe/Moscow"                 },
 	{ "must",  1,  18000, "Indian/Mauritius"              },
 	{ "mut",   0,  14400, "Indian/Mauritius"              },
 	{ "mvt",   0,  18000, "Indian/Maldives"               },
@@ -1481,6 +1313,7 @@
 	{ "mwt",   1, -21600, "America/Boise"                 },
 	{ "mwt",   1, -21600, "America/Cambridge_Bay"         },
 	{ "mwt",   1, -21600, "America/Edmonton"              },
+	{ "mwt",   1, -21600, "America/North_Dakota/Beulah"   },
 	{ "mwt",   1, -21600, "America/North_Dakota/Center"   },
 	{ "mwt",   1, -21600, "America/North_Dakota/New_Salem" },
 	{ "mwt",   1, -21600, "America/Phoenix"               },
@@ -1498,8 +1331,8 @@
 	{ "nct",   0,  39600, "Pacific/Noumea"                },
 	{ "nddt",  1,  -5400, "America/St_Johns"              },
 	{ "nddt",  1,  -5400, "Canada/Newfoundland"           },
-	{ "ndt",   1,  -9000, "America/St_Johns"              },
 	{ "ndt",   1,  -9052, "America/St_Johns"              },
+	{ "ndt",   1,  -9000, "America/St_Johns"              },
 	{ "ndt",   1, -36000, "Pacific/Midway"                },
 	{ "ndt",   1,  -9000, "America/Goose_Bay"             },
 	{ "ndt",   1,  -9000, "Canada/Newfoundland"           },
@@ -1517,18 +1350,20 @@
 	{ "novt",  0,  21600, "Asia/Novosibirsk"              },
 	{ "novt",  0,  25200, "Asia/Novosibirsk"              },
 	{ "novt",  0,  21600, "Asia/Novokuznetsk"             },
+	{ "novt",  0,  25200, "Asia/Novokuznetsk"             },
 	{ "npt",   1,  -9000, "America/St_Johns"              },
+	{ "npt",   0,  20700, "Asia/Katmandu"                 },
 	{ "npt",   1, -36000, "America/Adak"                  },
 	{ "npt",   1, -36000, "America/Atka"                  },
 	{ "npt",   1, -36000, "America/Nome"                  },
 	{ "npt",   1,  -9000, "America/Goose_Bay"             },
 	{ "npt",   1,  -9000, "Canada/Newfoundland"           },
-	{ "npt",   0,  20700, "Asia/Katmandu"                 },
 	{ "npt",   0,  20700, "Asia/Kathmandu"                },
-	{ "nrt",   0,  41400, "Pacific/Nauru"                 },
 	{ "nrt",   0,  43200, "Pacific/Nauru"                 },
+	{ "nrt",   0,  41400, "Pacific/Nauru"                 },
 	{ "nst",   0, -12600, "America/St_Johns"              },
 	{ "nst",   0, -12652, "America/St_Johns"              },
+	{ "nst",   1,   4772, "Europe/Amsterdam"              },
 	{ "nst",   0, -12600, "America/Goose_Bay"             },
 	{ "nst",   0, -12600, "Canada/Newfoundland"           },
 	{ "nst",   0, -12652, "America/Goose_Bay"             },
@@ -1539,7 +1374,6 @@
 	{ "nst",   0, -39600, "Pacific/Midway"                },
 	{ "nst",   0, -39600, "Pacific/Pago_Pago"             },
 	{ "nst",   0, -39600, "Pacific/Samoa"                 },
-	{ "nst",   1,   4772, "Europe/Amsterdam"              },
 	{ "nut",   0, -39600, "Pacific/Niue"                  },
 	{ "nut",   0, -40800, "Pacific/Niue"                  },
 	{ "nut",   0, -41400, "Pacific/Niue"                  },
@@ -1554,6 +1388,8 @@
 	{ "nzdt",  1,  46800, "Antarctica/South_Pole"         },
 	{ "nzdt",  1,  46800, "NZ"                            },
 	{ "nzmt",  0,  41400, "Pacific/Auckland"              },
+	{ "nzmt",  0,  41400, "Antarctica/McMurdo"            },
+	{ "nzmt",  0,  41400, "Antarctica/South_Pole"         },
 	{ "nzmt",  0,  41400, "NZ"                            },
 	{ "nzst",  0,  43200, "Pacific/Auckland"              },
 	{ "nzst",  1,  43200, "Pacific/Auckland"              },
@@ -1561,15 +1397,20 @@
 	{ "nzst",  0,  43200, "Antarctica/McMurdo"            },
 	{ "nzst",  0,  43200, "Antarctica/South_Pole"         },
 	{ "nzst",  0,  43200, "NZ"                            },
+	{ "nzst",  1,  43200, "Antarctica/McMurdo"            },
+	{ "nzst",  1,  43200, "Antarctica/South_Pole"         },
 	{ "nzst",  1,  43200, "NZ"                            },
+	{ "nzst",  1,  45000, "Antarctica/McMurdo"            },
+	{ "nzst",  1,  45000, "Antarctica/South_Pole"         },
 	{ "nzst",  1,  45000, "NZ"                            },
-	{ "omsst", 1,  21600, "Asia/Omsk"                     },
 	{ "omsst", 1,  25200, "Asia/Omsk"                     },
-	{ "omst",  0,  18000, "Asia/Omsk"                     },
+	{ "omsst", 1,  21600, "Asia/Omsk"                     },
 	{ "omst",  0,  21600, "Asia/Omsk"                     },
+	{ "omst",  0,  18000, "Asia/Omsk"                     },
+	{ "omst",  0,  25200, "Asia/Omsk"                     },
 	{ "orast", 1,  18000, "Asia/Oral"                     },
-	{ "orat",  0,  14400, "Asia/Oral"                     },
 	{ "orat",  0,  18000, "Asia/Oral"                     },
+	{ "orat",  0,  14400, "Asia/Oral"                     },
 	{ "pddt",  1, -21600, "America/Inuvik"                },
 	{ "pdt",   1, -25200, "America/Los_Angeles"           },
 	{ "pdt",   1, -25200, "America/Boise"                 },
@@ -1577,7 +1418,9 @@
 	{ "pdt",   1, -25200, "America/Dawson_Creek"          },
 	{ "pdt",   1, -25200, "America/Ensenada"              },
 	{ "pdt",   1, -25200, "America/Juneau"                },
+	{ "pdt",   1, -25200, "America/Metlakatla"            },
 	{ "pdt",   1, -25200, "America/Santa_Isabel"          },
+	{ "pdt",   1, -25200, "America/Sitka"                 },
 	{ "pdt",   1, -25200, "America/Tijuana"               },
 	{ "pdt",   1, -25200, "America/Vancouver"             },
 	{ "pdt",   1, -25200, "America/Whitehorse"            },
@@ -1585,15 +1428,15 @@
 	{ "pdt",   1, -25200, "Canada/Yukon"                  },
 	{ "pdt",   1, -25200, "Mexico/BajaNorte"              },
 	{ "pest",  1, -14400, "America/Lima"                  },
-	{ "petst", 1,  43200, "Asia/Kamchatka"                },
 	{ "petst", 1,  46800, "Asia/Kamchatka"                },
-	{ "pett",  0,  39600, "Asia/Kamchatka"                },
+	{ "petst", 1,  43200, "Asia/Kamchatka"                },
 	{ "pett",  0,  43200, "Asia/Kamchatka"                },
+	{ "pett",  0,  39600, "Asia/Kamchatka"                },
 	{ "pet",   0, -18000, "America/Lima"                  },
 	{ "pgt",   0,  36000, "Pacific/Port_Moresby"          },
+	{ "phot",  0,  46800, "Pacific/Enderbury"             },
 	{ "phot",  0, -39600, "Pacific/Enderbury"             },
 	{ "phot",  0, -43200, "Pacific/Enderbury"             },
-	{ "phot",  0,  46800, "Pacific/Enderbury"             },
 	{ "phst",  1,  32400, "Asia/Manila"                   },
 	{ "pht",   0,  28800, "Asia/Manila"                   },
 	{ "pkst",  1,  21600, "Asia/Karachi"                  },
@@ -1602,8 +1445,8 @@
 	{ "pmst",  0, -10800, "America/Miquelon"              },
 	{ "pmt",   0, -13236, "America/Paramaribo"            },
 	{ "pmt",   0, -13252, "America/Paramaribo"            },
-	{ "pmt",   0,  26240, "Asia/Pontianak"                },
 	{ "pmt",   0,  36000, "Antarctica/DumontDUrville"     },
+	{ "pmt",   0,  26240, "Asia/Pontianak"                },
 	{ "pmt",   0,    561, "Africa/Algiers"                },
 	{ "pmt",   0,    561, "Africa/Tunis"                  },
 	{ "pmt",   0,    561, "Europe/Monaco"                 },
@@ -1617,7 +1460,9 @@
 	{ "ppt",   1, -25200, "America/Dawson_Creek"          },
 	{ "ppt",   1, -25200, "America/Ensenada"              },
 	{ "ppt",   1, -25200, "America/Juneau"                },
+	{ "ppt",   1, -25200, "America/Metlakatla"            },
 	{ "ppt",   1, -25200, "America/Santa_Isabel"          },
+	{ "ppt",   1, -25200, "America/Sitka"                 },
 	{ "ppt",   1, -25200, "America/Tijuana"               },
 	{ "ppt",   1, -25200, "America/Vancouver"             },
 	{ "ppt",   1, -25200, "Canada/Pacific"                },
@@ -1625,6 +1470,7 @@
 	{ "pst",   0, -28800, "America/Los_Angeles"           },
 	{ "pst",   0, -28800, "America/Bahia_Banderas"        },
 	{ "pst",   0, -28800, "America/Boise"                 },
+	{ "pst",   0, -28800, "America/Creston"               },
 	{ "pst",   0, -28800, "America/Dawson"                },
 	{ "pst",   0, -28800, "America/Dawson_Creek"          },
 	{ "pst",   0, -28800, "America/Ensenada"              },
@@ -1632,7 +1478,9 @@
 	{ "pst",   0, -28800, "America/Inuvik"                },
 	{ "pst",   0, -28800, "America/Juneau"                },
 	{ "pst",   0, -28800, "America/Mazatlan"              },
+	{ "pst",   0, -28800, "America/Metlakatla"            },
 	{ "pst",   0, -28800, "America/Santa_Isabel"          },
+	{ "pst",   0, -28800, "America/Sitka"                 },
 	{ "pst",   0, -28800, "America/Tijuana"               },
 	{ "pst",   0, -28800, "America/Vancouver"             },
 	{ "pst",   0, -28800, "America/Whitehorse"            },
@@ -1645,23 +1493,25 @@
 	{ "pwt",   1, -25200, "America/Dawson_Creek"          },
 	{ "pwt",   1, -25200, "America/Ensenada"              },
 	{ "pwt",   1, -25200, "America/Juneau"                },
+	{ "pwt",   1, -25200, "America/Metlakatla"            },
 	{ "pwt",   1, -25200, "America/Santa_Isabel"          },
+	{ "pwt",   1, -25200, "America/Sitka"                 },
 	{ "pwt",   1, -25200, "America/Tijuana"               },
 	{ "pwt",   1, -25200, "America/Vancouver"             },
 	{ "pwt",   1, -25200, "Canada/Pacific"                },
 	{ "pwt",   1, -25200, "Mexico/BajaNorte"              },
 	{ "pwt",   0,  32400, "Pacific/Palau"                 },
 	{ "pyst",  1, -10800, "America/Asuncion"              },
-	{ "pyt",   0, -10800, "America/Asuncion"              },
 	{ "pyt",   0, -14400, "America/Asuncion"              },
+	{ "pyt",   0, -10800, "America/Asuncion"              },
 	{ "qmt",   0, -18840, "America/Guayaquil"             },
 	{ "qyzst", 1,  25200, "Asia/Qyzylorda"                },
-	{ "qyzt",  0,  18000, "Asia/Qyzylorda"                },
 	{ "qyzt",  0,  21600, "Asia/Qyzylorda"                },
+	{ "qyzt",  0,  18000, "Asia/Qyzylorda"                },
 	{ "ret",   0,  14400, "Indian/Reunion"                },
-	{ "rmt",   0,   5784, "Europe/Riga"                   },
+	{ "rmt",   0,   5788, "Europe/Riga"                   },
 	{ "rmt",   0,  -5268, "Atlantic/Reykjavik"            },
-	{ "rmt",   0,  23076, "Asia/Rangoon"                  },
+	{ "rmt",   0,  23080, "Asia/Rangoon"                  },
 	{ "rott",  0, -10800, "Antarctica/Rothera"            },
 	{ "sakst", 1,  39600, "Asia/Sakhalin"                 },
 	{ "sakst", 1,  43200, "Asia/Sakhalin"                 },
@@ -1670,32 +1520,29 @@
 	{ "samst", 1,  21600, "Asia/Samarkand"                },
 	{ "samst", 1,  14400, "Europe/Samara"                 },
 	{ "samst", 1,  18000, "Europe/Samara"                 },
-	{ "samt",  0,  14400, "Asia/Samarkand"                },
 	{ "samt",  0,  18000, "Asia/Samarkand"                },
-	{ "samt",  0, -41400, "Pacific/Apia"                  },
-	{ "samt",  0, -41400, "Pacific/Pago_Pago"             },
-	{ "samt",  0, -41400, "Pacific/Samoa"                 },
+	{ "samt",  0,  14400, "Asia/Samarkand"                },
 	{ "samt",  0,  10800, "Europe/Samara"                 },
 	{ "samt",  0,  14400, "Europe/Samara"                 },
+	{ "sast",  0,   7200, "Africa/Johannesburg"           },
 	{ "sast",  1,  10800, "Africa/Johannesburg"           },
 	{ "sast",  0,   5400, "Africa/Johannesburg"           },
-	{ "sast",  0,   7200, "Africa/Johannesburg"           },
 	{ "sast",  1,  10800, "Africa/Maseru"                 },
 	{ "sast",  1,  10800, "Africa/Windhoek"               },
+	{ "sast",  0,   5400, "Africa/Gaborone"               },
 	{ "sast",  0,   7200, "Africa/Maseru"                 },
 	{ "sast",  0,   7200, "Africa/Mbabane"                },
 	{ "sast",  0,   7200, "Africa/Windhoek"               },
 	{ "sbt",   0,  39600, "Pacific/Guadalcanal"           },
 	{ "sct",   0,  14400, "Indian/Mahe"                   },
 	{ "sdmt",  0, -16800, "America/Santo_Domingo"         },
-	{ "sgt",   0,  27000, "Asia/Singapore"                },
+	{ "sdt",   1, -36000, "Pacific/Apia"                  },
 	{ "sgt",   0,  28800, "Asia/Singapore"                },
+	{ "sgt",   0,  27000, "Asia/Singapore"                },
 	{ "shest", 1,  21600, "Asia/Aqtau"                    },
-	{ "shet",  0,  18000, "Asia/Aqtau"                    },
 	{ "shet",  0,  21600, "Asia/Aqtau"                    },
-	{ "sjmt",  0, -20180, "America/Costa_Rica"            },
-	{ "slst",  1,  -1200, "Africa/Freetown"               },
-	{ "slst",  1,   3600, "Africa/Freetown"               },
+	{ "shet",  0,  18000, "Asia/Aqtau"                    },
+	{ "sjmt",  0, -20173, "America/Costa_Rica"            },
 	{ "smt",   0,  25580, "Asia/Saigon"                   },
 	{ "smt",   0, -13884, "Atlantic/Stanley"              },
 	{ "smt",   0, -16966, "America/Santiago"              },
@@ -1706,17 +1553,19 @@
 	{ "smt",   0,  25580, "Asia/Phnom_Penh"               },
 	{ "smt",   0,  25580, "Asia/Vientiane"                },
 	{ "smt",   0,   8160, "Europe/Simferopol"             },
+	{ "sret",  0,  39600, "Asia/Srednekolymsk"            },
 	{ "srt",   0, -10800, "America/Paramaribo"            },
 	{ "srt",   0, -12600, "America/Paramaribo"            },
 	{ "sst",   0, -39600, "Pacific/Samoa"                 },
+	{ "sst",   0, -39600, "Pacific/Apia"                  },
 	{ "sst",   0, -39600, "Pacific/Midway"                },
 	{ "sst",   0, -39600, "Pacific/Pago_Pago"             },
 	{ "stat",  0,  10800, "Europe/Volgograd"              },
 	{ "stat",  0,  14400, "Europe/Volgograd"              },
-	{ "svest", 1,  18000, "Asia/Yekaterinburg"            },
 	{ "svest", 1,  21600, "Asia/Yekaterinburg"            },
-	{ "svet",  0,  14400, "Asia/Yekaterinburg"            },
+	{ "svest", 1,  18000, "Asia/Yekaterinburg"            },
 	{ "svet",  0,  18000, "Asia/Yekaterinburg"            },
+	{ "svet",  0,  14400, "Asia/Yekaterinburg"            },
 	{ "swat",  0,   5400, "Africa/Windhoek"               },
 	{ "syot",  0,  10800, "Antarctica/Syowa"              },
 	{ "taht",  0, -36000, "Pacific/Tahiti"                },
@@ -1726,25 +1575,26 @@
 	{ "tast",  0,  21600, "Asia/Samarkand"                },
 	{ "tast",  0,  18000, "Asia/Tashkent"                 },
 	{ "tast",  0,  21600, "Asia/Tashkent"                 },
-	{ "tbist", 1,  14400, "Asia/Tbilisi"                  },
 	{ "tbist", 1,  18000, "Asia/Tbilisi"                  },
-	{ "tbit",  0,  10800, "Asia/Tbilisi"                  },
+	{ "tbist", 1,  14400, "Asia/Tbilisi"                  },
 	{ "tbit",  0,  14400, "Asia/Tbilisi"                  },
-	{ "tbmt",  0,  10756, "Asia/Tbilisi"                  },
+	{ "tbit",  0,  10800, "Asia/Tbilisi"                  },
+	{ "tbmt",  0,  10746, "Asia/Tbilisi"                  },
 	{ "tft",   0,  18000, "Indian/Kerguelen"              },
 	{ "tjt",   0,  18000, "Asia/Dushanbe"                 },
-	{ "tkt",   0, -36000, "Pacific/Fakaofo"               },
-	{ "tlt",   0,  28800, "Asia/Dili"                     },
+	{ "tkt",   0, -39600, "Pacific/Fakaofo"               },
+	{ "tkt",   0,  46800, "Pacific/Fakaofo"               },
 	{ "tlt",   0,  32400, "Asia/Dili"                     },
+	{ "tlt",   0,  28800, "Asia/Dili"                     },
 	{ "tmt",   0,  12344, "Asia/Tehran"                   },
+	{ "tmt",   0,   5940, "Europe/Tallinn"                },
 	{ "tmt",   0,  14400, "Asia/Ashgabat"                 },
 	{ "tmt",   0,  14400, "Asia/Ashkhabad"                },
 	{ "tmt",   0,  18000, "Asia/Ashgabat"                 },
 	{ "tmt",   0,  18000, "Asia/Ashkhabad"                },
-	{ "tmt",   0,   5940, "Europe/Tallinn"                },
 	{ "tost",  1,  50400, "Pacific/Tongatapu"             },
-	{ "tot",   0,  44400, "Pacific/Tongatapu"             },
 	{ "tot",   0,  46800, "Pacific/Tongatapu"             },
+	{ "tot",   0,  44400, "Pacific/Tongatapu"             },
 	{ "trst",  1,  14400, "Europe/Istanbul"               },
 	{ "trst",  1,  14400, "Asia/Istanbul"                 },
 	{ "trt",   0,  10800, "Europe/Istanbul"               },
@@ -1755,26 +1605,26 @@
 	{ "uct",   0,      0, "UCT"                           },
 	{ "ulast", 1,  32400, "Asia/Ulaanbaatar"              },
 	{ "ulast", 1,  32400, "Asia/Ulan_Bator"               },
-	{ "ulat",  0,  25200, "Asia/Ulaanbaatar"              },
 	{ "ulat",  0,  28800, "Asia/Ulaanbaatar"              },
+	{ "ulat",  0,  25200, "Asia/Ulaanbaatar"              },
 	{ "ulat",  0,  25200, "Asia/Choibalsan"               },
 	{ "ulat",  0,  25200, "Asia/Ulan_Bator"               },
 	{ "ulat",  0,  28800, "Asia/Choibalsan"               },
 	{ "ulat",  0,  28800, "Asia/Ulan_Bator"               },
-	{ "urast", 1,  18000, "Asia/Oral"                     },
 	{ "urast", 1,  21600, "Asia/Oral"                     },
+	{ "urast", 1,  18000, "Asia/Oral"                     },
+	{ "urat",  0,  21600, "Asia/Oral"                     },
 	{ "urat",  0,  14400, "Asia/Oral"                     },
 	{ "urat",  0,  18000, "Asia/Oral"                     },
-	{ "urat",  0,  21600, "Asia/Oral"                     },
-	{ "urut",  0,  21600, "Asia/Urumqi"                   },
+	{ "utc",   0,      0, "Antarctica/Troll"              },
 	{ "utc",   0,      0, "Etc/Universal"                 },
 	{ "utc",   0,      0, "Etc/UTC"                       },
 	{ "utc",   0,      0, "Etc/Zulu"                      },
 	{ "utc",   0,      0, "GMT"                           },
 	{ "utc",   0,      0, "UTC"                           },
 	{ "utc",   0,      0, "UTC"                           },
-	{ "uyhst", 1, -10800, "America/Montevideo"            },
 	{ "uyhst", 1,  -9000, "America/Montevideo"            },
+	{ "uyhst", 1, -10800, "America/Montevideo"            },
 	{ "uyst",  1,  -7200, "America/Montevideo"            },
 	{ "uyt",   0, -10800, "America/Montevideo"            },
 	{ "uyt",   0, -12600, "America/Montevideo"            },
@@ -1782,13 +1632,18 @@
 	{ "uzst",  1,  21600, "Asia/Tashkent"                 },
 	{ "uzt",   0,  18000, "Asia/Samarkand"                },
 	{ "uzt",   0,  18000, "Asia/Tashkent"                 },
-	{ "vet",   0, -14400, "America/Caracas"               },
 	{ "vet",   0, -16200, "America/Caracas"               },
-	{ "vlasst", 1,  36000, "Asia/Vladivostok"              },
-	{ "vlast", 0,  32400, "Asia/Vladivostok"              },
+	{ "vet",   0, -14400, "America/Caracas"               },
 	{ "vlast", 1,  39600, "Asia/Vladivostok"              },
-	{ "vlat",  0,  32400, "Asia/Vladivostok"              },
+	{ "vlast", 1,  36000, "Asia/Vladivostok"              },
+	{ "vlast", 1,  39600, "Asia/Khandyga"                 },
 	{ "vlat",  0,  36000, "Asia/Vladivostok"              },
+	{ "vlat",  0,  32400, "Asia/Vladivostok"              },
+	{ "vlat",  0,  39600, "Asia/Vladivostok"              },
+	{ "vlat",  0,  36000, "Asia/Khandyga"                 },
+	{ "vlat",  0,  36000, "Asia/Ust-Nera"                 },
+	{ "vlat",  0,  39600, "Asia/Khandyga"                 },
+	{ "vlat",  0,  39600, "Asia/Ust-Nera"                 },
 	{ "volst", 1,  14400, "Europe/Volgograd"              },
 	{ "volst", 1,  18000, "Europe/Volgograd"              },
 	{ "volt",  0,  10800, "Europe/Volgograd"              },
@@ -1821,18 +1676,10 @@
 	{ "wart",  0, -14400, "America/Rosario"               },
 	{ "wast",  1,   7200, "Africa/Windhoek"               },
 	{ "wast",  1,   7200, "Africa/Ndjamena"               },
-	{ "wat",   0,  -3600, "Africa/Dakar"                  },
-	{ "wat",   0,  -3600, "Africa/Bamako"                 },
-	{ "wat",   0,  -3600, "Africa/Banjul"                 },
+	{ "wat",   0,   3600, "Africa/Brazzaville"            },
 	{ "wat",   0,  -3600, "Africa/Bissau"                 },
-	{ "wat",   0,  -3600, "Africa/Conakry"                },
 	{ "wat",   0,  -3600, "Africa/El_Aaiun"               },
-	{ "wat",   0,  -3600, "Africa/Freetown"               },
 	{ "wat",   0,  -3600, "Africa/Niamey"                 },
-	{ "wat",   0,  -3600, "Africa/Nouakchott"             },
-	{ "wat",   0,  -3600, "Africa/Timbuktu"               },
-	{ "wat",   0,      0, "Africa/Freetown"               },
-	{ "wat",   0,   3600, "Africa/Brazzaville"            },
 	{ "wat",   0,   3600, "Africa/Bangui"                 },
 	{ "wat",   0,   3600, "Africa/Douala"                 },
 	{ "wat",   0,   3600, "Africa/Kinshasa"               },
@@ -1850,9 +1697,11 @@
 	{ "wemt",  1,   7200, "Europe/Paris"                  },
 	{ "wemt",  1,   7200, "WET"                           },
 	{ "west",  1,   3600, "Europe/Paris"                  },
+	{ "west",  1,   7200, "Europe/Luxembourg"             },
 	{ "west",  1,   3600, "Africa/Algiers"                },
 	{ "west",  1,   3600, "Africa/Casablanca"             },
 	{ "west",  1,   3600, "Africa/Ceuta"                  },
+	{ "west",  1,   3600, "Africa/El_Aaiun"               },
 	{ "west",  1,   3600, "Atlantic/Canary"               },
 	{ "west",  1,   3600, "Atlantic/Faeroe"               },
 	{ "west",  1,   3600, "Atlantic/Faroe"                },
@@ -1863,8 +1712,8 @@
 	{ "west",  1,   3600, "Europe/Madrid"                 },
 	{ "west",  1,   3600, "Europe/Monaco"                 },
 	{ "west",  1,   3600, "WET"                           },
-	{ "west",  1,   7200, "Europe/Luxembourg"             },
 	{ "wet",   0,      0, "Europe/Paris"                  },
+	{ "wet",   0,   3600, "Europe/Luxembourg"             },
 	{ "wet",   0,      0, "Africa/Algiers"                },
 	{ "wet",   0,      0, "Africa/Casablanca"             },
 	{ "wet",   0,      0, "Africa/Ceuta"                  },
@@ -1881,44 +1730,61 @@
 	{ "wet",   0,      0, "Europe/Madrid"                 },
 	{ "wet",   0,      0, "Europe/Monaco"                 },
 	{ "wet",   0,      0, "WET"                           },
-	{ "wet",   0,   3600, "Europe/Luxembourg"             },
 	{ "wft",   0,  43200, "Pacific/Wallis"                },
 	{ "wgst",  1,  -7200, "America/Godthab"               },
 	{ "wgst",  1,  -7200, "America/Danmarkshavn"          },
 	{ "wgt",   0, -10800, "America/Godthab"               },
 	{ "wgt",   0, -10800, "America/Danmarkshavn"          },
-	{ "wit",   0,  25200, "Asia/Jakarta"                  },
-	{ "wit",   0,  27000, "Asia/Jakarta"                  },
-	{ "wit",   0,  28800, "Asia/Jakarta"                  },
-	{ "wit",   0,  25200, "Asia/Pontianak"                },
-	{ "wit",   0,  27000, "Asia/Pontianak"                },
-	{ "wit",   0,  28800, "Asia/Pontianak"                },
+	{ "wib",   0,  25200, "Asia/Jakarta"                  },
+	{ "wib",   0,  25200, "Asia/Pontianak"                },
+	{ "wib",   0,  27000, "Asia/Jakarta"                  },
+	{ "wib",   0,  27000, "Asia/Pontianak"                },
+	{ "wib",   0,  28800, "Asia/Jakarta"                  },
+	{ "wib",   0,  28800, "Asia/Pontianak"                },
+	{ "wita",  0,  28800, "Asia/Dili"                     },
+	{ "wita",  0,  28800, "Asia/Makassar"                 },
+	{ "wita",  0,  28800, "Asia/Pontianak"                },
+	{ "wita",  0,  28800, "Asia/Ujung_Pandang"            },
+	{ "wit",   0,  32400, "Asia/Jayapura"                 },
 	{ "wmt",   0,   5040, "Europe/Vilnius"                },
 	{ "wmt",   0,   5040, "Europe/Warsaw"                 },
-	{ "wsdt",  1, -36000, "Pacific/Apia"                  },
-	{ "wst",   0,  28800, "Australia/Perth"               },
-	{ "wst",   1,  32400, "Australia/Perth"               },
-	{ "wst",   0, -39600, "Pacific/Apia"                  },
-	{ "wst",   0,  28800, "Antarctica/Casey"              },
-	{ "wst",   0,  28800, "Australia/West"                },
-	{ "wst",   1,  32400, "Australia/West"                },
-	{ "yakst", 1,  32400, "Asia/Yakutsk"                  },
+	{ "wsdt",  1,  50400, "Pacific/Apia"                  },
+	{ "wsst",  0, -41400, "Pacific/Apia"                  },
+	{ "wsst",  0,  46800, "Pacific/Apia"                  },
+	{ "xjt",   0,  21600, "Asia/Kashgar"                  },
+	{ "xjt",   0,  21600, "Asia/Urumqi"                   },
 	{ "yakst", 1,  36000, "Asia/Yakutsk"                  },
-	{ "yakt",  0,  28800, "Asia/Yakutsk"                  },
+	{ "yakst", 1,  32400, "Asia/Yakutsk"                  },
+	{ "yakst", 1,  32400, "Asia/Chita"                    },
+	{ "yakst", 1,  32400, "Asia/Khandyga"                 },
+	{ "yakst", 1,  36000, "Asia/Chita"                    },
+	{ "yakst", 1,  36000, "Asia/Khandyga"                 },
 	{ "yakt",  0,  32400, "Asia/Yakutsk"                  },
+	{ "yakt",  0,  28800, "Asia/Yakutsk"                  },
+	{ "yakt",  0,  36000, "Asia/Yakutsk"                  },
+	{ "yakt",  0,  28800, "Asia/Chita"                    },
+	{ "yakt",  0,  28800, "Asia/Khandyga"                 },
+	{ "yakt",  0,  28800, "Asia/Ust-Nera"                 },
+	{ "yakt",  0,  32400, "Asia/Chita"                    },
+	{ "yakt",  0,  32400, "Asia/Khandyga"                 },
+	{ "yakt",  0,  32400, "Asia/Ust-Nera"                 },
+	{ "yakt",  0,  36000, "Asia/Chita"                    },
+	{ "yakt",  0,  36000, "Asia/Khandyga"                 },
 	{ "yddt",  1, -25200, "America/Dawson"                },
 	{ "yddt",  1, -25200, "America/Whitehorse"            },
 	{ "yddt",  1, -25200, "Canada/Yukon"                  },
 	{ "ydt",   1, -28800, "America/Dawson"                },
+	{ "ydt",   1, -28800, "America/Juneau"                },
 	{ "ydt",   1, -28800, "America/Whitehorse"            },
 	{ "ydt",   1, -28800, "America/Yakutat"               },
 	{ "ydt",   1, -28800, "Canada/Yukon"                  },
 	{ "yekst", 1,  21600, "Asia/Yekaterinburg"            },
 	{ "yekt",  0,  18000, "Asia/Yekaterinburg"            },
-	{ "yerst", 1,  14400, "Asia/Yerevan"                  },
+	{ "yekt",  0,  21600, "Asia/Yekaterinburg"            },
 	{ "yerst", 1,  18000, "Asia/Yerevan"                  },
-	{ "yert",  0,  10800, "Asia/Yerevan"                  },
+	{ "yerst", 1,  14400, "Asia/Yerevan"                  },
 	{ "yert",  0,  14400, "Asia/Yerevan"                  },
+	{ "yert",  0,  10800, "Asia/Yerevan"                  },
 	{ "ypt",   1, -28800, "America/Dawson"                },
 	{ "ypt",   1, -28800, "America/Whitehorse"            },
 	{ "ypt",   1, -28800, "America/Yakutat"               },
@@ -1927,6 +1793,7 @@
 	{ "yst",   0, -32400, "America/Dawson"                },
 	{ "yst",   0, -32400, "America/Juneau"                },
 	{ "yst",   0, -32400, "America/Nome"                  },
+	{ "yst",   0, -32400, "America/Sitka"                 },
 	{ "yst",   0, -32400, "America/Whitehorse"            },
 	{ "yst",   0, -32400, "America/Yakutat"               },
 	{ "yst",   0, -32400, "Canada/Yukon"                  },
@@ -1970,11 +1837,10 @@
 	{ "zzz",   0,      0, "Antarctica/DumontDUrville"     },
 	{ "zzz",   0,      0, "Antarctica/Macquarie"          },
 	{ "zzz",   0,      0, "Antarctica/Mawson"             },
-	{ "zzz",   0,      0, "Antarctica/McMurdo"            },
 	{ "zzz",   0,      0, "Antarctica/Palmer"             },
 	{ "zzz",   0,      0, "Antarctica/Rothera"            },
-	{ "zzz",   0,      0, "Antarctica/South_Pole"         },
 	{ "zzz",   0,      0, "Antarctica/Syowa"              },
+	{ "zzz",   0,      0, "Antarctica/Troll"              },
 	{ "zzz",   0,      0, "Antarctica/Vostok"             },
 	{ "zzz",   0,      0, "Indian/Kerguelen"              },
 	{ "z",     0,      0, NULL                            },

