From 2be6500137966bba13903b24204a44804f9e133a Mon Sep 17 00:00:00 2001 From: Apple Date: Wed, 9 Oct 2013 05:46:46 +0000 Subject: [PATCH] ICU-511.27.tar.gz --- icuSources/data/misc/metaZones.txt | 9 +- icuSources/data/misc/zoneinfo64.txt | 258 ++++++++++------------------ icuSources/test/intltest/tztest.cpp | 24 ++- icuSources/tools/tzcode/zic.c | 88 ++++++---- 4 files changed, 177 insertions(+), 202 deletions(-) diff --git a/icuSources/data/misc/metaZones.txt b/icuSources/data/misc/metaZones.txt index 44ca8115..0de028a6 100644 --- a/icuSources/data/misc/metaZones.txt +++ b/icuSources/data/misc/metaZones.txt @@ -301,6 +301,7 @@ metaZones:table(nofallback){ SM{"Europe/San_Marino"} TN{"Africa/Tunis"} VA{"Europe/Vatican"} + XK{"Europe/Belgrade"} } Europe_Eastern{ 001{"Europe/Bucharest"} @@ -310,7 +311,6 @@ metaZones:table(nofallback){ EG{"Africa/Cairo"} FI{"Europe/Helsinki"} GR{"Europe/Athens"} - JO{"Asia/Amman"} LB{"Asia/Beirut"} SY{"Asia/Damascus"} } @@ -2579,6 +2579,13 @@ metaZones:table(nofallback){ "Asia:Amman"{ { "Europe_Eastern", + "1970-01-01 00:00", + "2012-10-25 22:00", + } + { + "Arabian", + "2012-10-25 22:00", + "9999-12-31 23:59", } } "Asia:Anadyr"{ diff --git a/icuSources/data/misc/zoneinfo64.txt b/icuSources/data/misc/zoneinfo64.txt index ae41e2d2..4d3e6c48 100644 --- a/icuSources/data/misc/zoneinfo64.txt +++ b/icuSources/data/misc/zoneinfo64.txt @@ -3,17 +3,17 @@ // Corporation and others. All Rights Reserved. //--------------------------------------------------------- // Build tool: tz2icu -// Build date: Wed Mar 13 14:11:54 2013 +// Build date: Wed Oct 2 17:53:53 2013 // Olson source: ftp://elsie.nci.nih.gov/pub/ -// Olson version: 2013b -// ICU version: 51.1 +// Olson version: 2013g +// ICU version: 52.1 //--------------------------------------------------------- // >> !!! >> THIS IS A MACHINE-GENERATED FILE << !!! << // >> !!! >>> DO NOT EDIT <<< !!! << //--------------------------------------------------------- zoneinfo64:table(nofallback) { - TZVersion { "2013b" } + TZVersion { "2013g" } Zones:array { /* ACT */ :int { 347 } //Z#0 /* AET */ :int { 359 } //Z#1 @@ -95,12 +95,10 @@ zoneinfo64:table(nofallback) { links:intvector { 3, 18, 393 } } //Z#18 /* Africa/Casablanca */ :table { - trans:intvector { -1773012580, -956361600, -950490000, -942019200, -761187600, -617241600, -605149200, -81432000, -71110800, 141264000, 147222000, 199756800, 207702000, 231292800, 244249200, 265507200, 271033200, 448243200, 504918000, 1212278400, 1220223600, 1243814400, 1250809200, 1272758400, 1281222000, 1301788800, 1312066800, 1335664800, 1342749600, 1345428000, 1348970400, 1367114400, 1373335200, 1375927200, 1380420000, 1398564000, 1404007200, 1406599200, 1411869600, 1430013600, 1434592800, 1437184800, 1443319200, 1461463200, 1465264800, 1467856800, 1474768800, 1493517600, 1495850400, 1498442400, 1506218400, 1524967200, 1526436000, 1529028000, 1538272800, 1556416800, 1557108000, 1559700000, 1569722400, 1590285600, 1601172000, 1620871200, 1632621600, 1651543200, 1664071200, 1682820000, 1695520800 } + trans:intvector { -1773012580, -956361600, -950490000, -942019200, -761187600, -617241600, -605149200, -81432000, -71110800, 141264000, 147222000, 199756800, 207702000, 231292800, 244249200, 265507200, 271033200, 448243200, 504918000, 1212278400, 1220223600, 1243814400, 1250809200, 1272758400, 1281222000, 1301788800, 1312066800, 1335664800, 1342749600, 1345428000, 1348970400, 1367114400, 1373162400, 1376100000, 1382839200, 1396144800, 1404007200, 1406599200, 1414288800, 1427594400, 1434592800, 1437184800, 1445738400, 1459044000, 1465264800, 1467856800, 1477792800, 1490493600, 1495850400, 1498442400, 1509242400, 1521943200, 1526436000, 1529028000, 1540692000, 1553997600, 1557108000, 1559700000, 1572141600, 1585447200, 1587693600, 1590285600, 1603591200, 1616896800, 1618279200, 1620871200, 1635645600, 1648346400, 1648951200, 1651543200, 1667095200, 1682128800, 1698544800, 1712714400, 1729994400, 1743386400, 1761444000, 1774749600, 1792893600, 1806199200, 1824948000, 1837648800, 1856397600, 1869098400, 1887847200, 1901152800, 1919296800, 1932602400, 1950746400, 1964052000, 1982800800, 1995501600, 2014250400, 2026951200, 2045700000, 2058400800, 2077149600, 2090455200, 2108167200, 2121904800, 2138839200 } + transPost32:intvector { 0, -2141612896 } typeOffsets:intvector { -1820, 0, 0, 0, 0, 3600, 3600, 0 } - typeMap:bin { "01020102010201020102010201020102010301020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" } - finalRule { "Morocco" } - finalRaw:int { 0 } - finalYear:int { 2024 } + typeMap:bin { "010201020102010201020102010201020103010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102" } } //Z#19 /* Africa/Ceuta */ :table { transPre32:intvector { -1, 2117515772 } @@ -164,11 +162,7 @@ zoneinfo64:table(nofallback) { typeOffsets:intvector { 6720, 0, 5400, 0, 7200, 0, 7200, 3600 } typeMap:bin { "010203020302" } } //Z#30 - /* Africa/Juba */ :table { - trans:intvector { -1230775584, 10360800, 24786000, 41810400, 56322000, 73432800, 87944400, 104882400, 119480400, 136332000, 151016400, 167781600, 182552400, 199231200, 214174800, 230680800, 245710800, 262735200, 277246800, 294184800, 308782800, 325634400, 340405200, 357084000, 371941200, 388533600, 403477200, 419983200, 435013200, 452037600, 466635600, 483487200, 498171600, 947930400 } - typeOffsets:intvector { 7584, 0, 7200, 0, 7200, 3600, 10800, 0 } - typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020103" } - } //Z#31 + /* Africa/Juba */ :int { 33 } //Z#31 /* Africa/Kampala */ :table { trans:intvector { -1309745380, -1262314800, -694319400, -410237100 } typeOffsets:intvector { 7780, 0, 9000, 0, 9900, 0, 10800, 0 } @@ -178,6 +172,7 @@ zoneinfo64:table(nofallback) { trans:intvector { -1230775808, 10360800, 24786000, 41810400, 56322000, 73432800, 87944400, 104882400, 119480400, 136332000, 151016400, 167781600, 182552400, 199231200, 214174800, 230680800, 245710800, 262735200, 277246800, 294184800, 308782800, 325634400, 340405200, 357084000, 371941200, 388533600, 403477200, 419983200, 435013200, 452037600, 466635600, 483487200, 498171600, 947930400 } typeOffsets:intvector { 7808, 0, 7200, 0, 7200, 3600, 10800, 0 } typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020103" } + links:intvector { 31, 33 } } //Z#33 /* Africa/Kigali */ :table { trans:intvector { -1091498416 } @@ -332,24 +327,16 @@ zoneinfo64:table(nofallback) { finalYear:int { 2008 } links:intvector { 4, 60, 605 } } //Z#60 - /* America/Anguilla */ :table { - trans:intvector { -1825098464 } - typeOffsets:intvector { -15136, 0, -14400, 0 } - typeMap:bin { "01" } - } //Z#61 + /* America/Anguilla */ :int { 185 } //Z#61 /* America/Antigua */ :table { trans:intvector { -1825098768, -599598000 } typeOffsets:intvector { -14832, 0, -18000, 0, -14400, 0 } typeMap:bin { "0102" } } //Z#62 /* America/Araguaina */ :table { - trans:intvector { -1767214032, -1206957600, -1191362400, -1175374800, -1159826400, -633819600, -622069200, -602283600, -591832800, -570747600, -560210400, -539125200, -531352800, -191365200, -184197600, -155163600, -150069600, -128898000, -121125600, -99954000, -89589600, -68418000, -57967200, 499748400, 511236000, 530593200, 540266400, 562129200, 571197600, 592974000, 602042400, 624423600, 634701600, 813726000, 824004000, 844570800, 856058400, 876106800, 888717600, 908074800, 919562400, 938919600, 951616800, 970974000, 982461600, 1003028400, 1013911200, 1036292400, 1045360800, 1350788400, 1361066400, 1382238000, 1392516000, 1413687600, 1424570400, 1445137200, 1456020000, 1476586800, 1487469600, 1508036400, 1518919200, 1540090800, 1550368800, 1571540400, 1581818400, 1602990000, 1613872800, 1634439600, 1645322400, 1665889200, 1677376800, 1697338800, 1708221600, 1729393200, 1739671200, 1760842800, 1771725600, 1792292400, 1803175200, 1823742000, 1834624800, 1855191600, 1866074400, 1887246000, 1897524000, 1918695600, 1928973600, 1950145200, 1960423200, 1981594800, 1992477600, 2013044400, 2024532000, 2044494000, 2055376800, 2076548400, 2086826400, 2107998000, 2118880800, 2139447600 } - transPost32:intvector { 0, -2144636896, 0, -2124070096 } + trans:intvector { -1767214032, -1206957600, -1191362400, -1175374800, -1159826400, -633819600, -622069200, -602283600, -591832800, -570747600, -560210400, -539125200, -531352800, -191365200, -184197600, -155163600, -150069600, -128898000, -121125600, -99954000, -89589600, -68418000, -57967200, 499748400, 511236000, 530593200, 540266400, 562129200, 571197600, 592974000, 602042400, 624423600, 634701600, 813726000, 824004000, 844570800, 856058400, 876106800, 888717600, 908074800, 919562400, 938919600, 951616800, 970974000, 982461600, 1003028400, 1013911200, 1036292400, 1045360800, 1350788400, 1361066400 } typeOffsets:intvector { -11568, 0, -10800, 0, -10800, 3600 } - typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102" } - finalRule { "Brazil" } - finalRaw:int { -10800 } - finalYear:int { 2039 } + typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" } } //Z#63 /* America/Argentina/Buenos_Aires */ :table { transPre32:intvector { -1, 1922869324 } @@ -414,7 +401,7 @@ zoneinfo64:table(nofallback) { transPre32:intvector { -1, 1922871220 } trans:intvector { -1567453392, -1233432000, -1222981200, -1205956800, -1194037200, -1172865600, -1162501200, -1141329600, -1130965200, -1109793600, -1099429200, -1078257600, -1067806800, -1046635200, -1036270800, -1015099200, -1004734800, -983563200, -973198800, -952027200, -941576400, -931032000, -900882000, -890337600, -833749200, -827265600, -752274000, -733780800, -197326800, -190843200, -184194000, -164491200, -152658000, -132955200, -121122000, -101419200, -86821200, -71092800, -54766800, -39038400, -23317200, -7588800, 128142000, 136605600, 596948400, 605066400, 624423600, 637380000, 655963200, 667796400, 675748800, 938919600, 952052400, 1085972400, 1090728000, 1198983600, 1200880800, 1205031600, 1223784000, 1236481200, 1255233600 } typeOffsets:intvector { -15924, 0, -15408, 0, -14400, 0, -14400, 3600, -10800, 0, -10800, 3600 } - typeMap:bin { "0102030203020302030203020302030203020302030203020302030203020302030203020302030203020405040504050203020403040204050302030203" } + typeMap:bin { "0102030203020302030203020302030203020302030203020302030203020302030203020302030203020405040504050203020403040204050302030204" } } //Z#74 /* America/Argentina/Tucuman */ :table { transPre32:intvector { -1, 1922870948 } @@ -428,18 +415,14 @@ zoneinfo64:table(nofallback) { typeOffsets:intvector { -16392, 0, -15408, 0, -14400, 0, -14400, 3600, -10800, 0, -10800, 3600 } typeMap:bin { "01020302030203020302030203020302030203020302030203020302030203020302030203020302030204050405040504050405040504030402040504" } } //Z#76 - /* America/Aruba */ :table { - trans:intvector { -1826738376, -157750200 } - typeOffsets:intvector { -16824, 0, -16200, 0, -14400, 0 } - typeMap:bin { "0102" } - } //Z#77 + /* America/Aruba */ :int { 105 } //Z#77 /* America/Asuncion */ :table { - trans:intvector { -1206389360, 86760000, 134017200, 181368000, 194497200, 212990400, 226033200, 244526400, 257569200, 276062400, 291783600, 307598400, 323406000, 339220800, 354942000, 370756800, 386478000, 402292800, 418014000, 433828800, 449636400, 465451200, 481172400, 496987200, 512708400, 528523200, 544244400, 560059200, 575866800, 591681600, 607402800, 625032000, 638938800, 654753600, 670474800, 686721600, 699418800, 718257600, 733546800, 749448000, 762318000, 780984000, 793767600, 812520000, 825649200, 844574400, 856666800, 876024000, 888721200, 907473600, 920775600, 938923200, 952225200, 970372800, 983674800, 1002427200, 1018148400, 1030852800, 1049598000, 1062907200, 1081047600, 1097985600, 1110682800, 1129435200, 1142132400, 1160884800, 1173582000, 1192939200, 1205031600, 1224388800, 1236481200, 1255838400, 1270954800, 1286078400, 1302404400, 1317528000, 1333854000, 1349582400, 1364094000, 1381032000, 1397358000, 1412481600 } + trans:intvector { -1206389360, 86760000, 134017200, 181368000, 194497200, 212990400, 226033200, 244526400, 257569200, 276062400, 291783600, 307598400, 323406000, 339220800, 354942000, 370756800, 386478000, 402292800, 418014000, 433828800, 449636400, 465451200, 481172400, 496987200, 512708400, 528523200, 544244400, 560059200, 575866800, 591681600, 607402800, 625032000, 638938800, 654753600, 670474800, 686721600, 699418800, 718257600, 733546800, 749448000, 762318000, 780984000, 793767600, 812520000, 825649200, 844574400, 856666800, 876024000, 888721200, 907473600, 920775600, 938923200, 952225200, 970372800, 983674800, 1002427200, 1018148400, 1030852800, 1049598000, 1062907200, 1081047600, 1097985600, 1110682800, 1129435200, 1142132400, 1160884800, 1173582000, 1192939200, 1205031600, 1224388800, 1236481200, 1255838400, 1270954800, 1286078400, 1302404400, 1317528000, 1333854000, 1349582400, 1364094000, 1381032000 } typeOffsets:intvector { -13840, 0, -14400, 0, -14400, 3600, -10800, 0 } - typeMap:bin { "01030102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102" } + typeMap:bin { "0103010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102" } finalRule { "Para" } finalRaw:int { -14400 } - finalYear:int { 2015 } + finalYear:int { 2014 } } //Z#78 /* America/Atikokan */ :table { transPre32:intvector { -1, 1928234084 } @@ -542,8 +525,8 @@ zoneinfo64:table(nofallback) { } //Z#96 /* America/Cayman */ :table { transPre32:intvector { -1, 1770465228 } - trans:intvector { -1827687168 } - typeOffsets:intvector { -19532, 0, -18432, 0, -18000, 0 } + trans:intvector { -1827687169 } + typeOffsets:intvector { -19532, 0, -18431, 0, -18000, 0 } typeMap:bin { "0102" } } //Z#97 /* America/Chicago */ :table { @@ -590,7 +573,7 @@ zoneinfo64:table(nofallback) { trans:intvector { -1826738653, -157750200 } typeOffsets:intvector { -16547, 0, -16200, 0, -14400, 0 } typeMap:bin { "0102" } - links:intvector { 105, 147, 152 } + links:intvector { 77, 105, 147, 152 } } //Z#105 /* America/Danmarkshavn */ :table { trans:intvector { -1686091520, 323845200, 338950800, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 820465200 } @@ -631,11 +614,7 @@ zoneinfo64:table(nofallback) { finalYear:int { 2008 } links:intvector { 110, 613 } } //Z#110 - /* America/Dominica */ :table { - trans:intvector { -1846266804 } - typeOffsets:intvector { -14736, 0, -14400, 0 } - typeMap:bin { "01" } - } //Z#111 + /* America/Dominica */ :int { 185 } //Z#111 /* America/Edmonton */ :table { trans:intvector { -1998663968, -1632063600, -1615132800, -1600614000, -1596816000, -1567954800, -1551628800, -1536505200, -1523203200, -1504450800, -1491753600, -1473001200, -1459699200, -880210800, -765388800, -715791600, -702489600, -84380400, -68659200, -21481200, -5760000, 73472400, 89193600, 104922000, 120643200, 136371600, 152092800, 167821200, 183542400, 199270800, 215596800, 230720400, 247046400, 262774800, 278496000, 294224400, 309945600, 325674000, 341395200, 357123600, 372844800, 388573200, 404899200, 420022800, 436348800, 452077200, 467798400, 483526800, 499248000, 514976400, 530697600, 544611600, 562147200, 576061200, 594201600, 607510800, 625651200, 638960400, 657100800, 671014800, 688550400, 702464400, 720000000, 733914000, 752054400, 765363600, 783504000, 796813200, 814953600, 828867600, 846403200, 860317200, 877852800, 891766800, 909302400, 923216400, 941356800, 954666000, 972806400, 986115600, 1004256000, 1018170000, 1035705600, 1049619600, 1067155200, 1081069200, 1099209600, 1112518800, 1130659200, 1143968400, 1162108800, 1173603600, 1194163200 } typeOffsets:intvector { -27232, 0, -25200, 0, -25200, 3600 } @@ -689,24 +668,15 @@ zoneinfo64:table(nofallback) { } //Z#120 /* America/Grand_Turk */ :table { transPre32:intvector { -1, 1770462768 } - trans:intvector { -1827687168, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000 } - typeOffsets:intvector { -17072, 0, -18432, 0, -18000, 0, -18000, 3600 } + trans:intvector { -1827687169, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000 } + typeOffsets:intvector { -17072, 0, -18431, 0, -18000, 0, -18000, 3600 } typeMap:bin { "010203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" } finalRule { "TC" } finalRaw:int { -18000 } finalYear:int { 2008 } } //Z#121 - /* America/Grenada */ :table { - trans:intvector { -1846266780 } - typeOffsets:intvector { -14820, 0, -14400, 0 } - typeMap:bin { "01" } - } //Z#122 - /* America/Guadeloupe */ :table { - trans:intvector { -1848254032 } - typeOffsets:intvector { -14768, 0, -14400, 0 } - typeMap:bin { "01" } - links:intvector { 123, 156, 204 } - } //Z#123 + /* America/Grenada */ :int { 185 } //Z#122 + /* America/Guadeloupe */ :int { 185 } //Z#123 /* America/Guatemala */ :table { trans:intvector { -1617040676, 123055200, 130914000, 422344800, 433054800, 669708000, 684219600, 1146376800, 1159678800 } typeOffsets:intvector { -21724, 0, -21600, 0, -21600, 3600 } @@ -839,8 +809,8 @@ zoneinfo64:table(nofallback) { finalYear:int { 2008 } } //Z#140 /* America/Jamaica */ :table { - trans:intvector { -1827687168, 136364400, 152085600, 162370800, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600 } - typeOffsets:intvector { -18432, 0, -18000, 0, -18000, 3600 } + trans:intvector { -1827687169, 136364400, 152085600, 162370800, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600 } + typeOffsets:intvector { -18431, 0, -18000, 0, -18000, 3600 } typeMap:bin { "010201020102010201020102010201020102010201" } links:intvector { 141, 517 } } //Z#141 @@ -915,7 +885,7 @@ zoneinfo64:table(nofallback) { typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201" } links:intvector { 155, 369 } } //Z#155 - /* America/Marigot */ :int { 123 } //Z#156 + /* America/Marigot */ :int { 185 } //Z#156 /* America/Martinique */ :table { trans:intvector { -1851537340, 323841600, 338958000 } typeOffsets:intvector { -14660, 0, -14400, 0, -14400, 3600 } @@ -1013,11 +983,7 @@ zoneinfo64:table(nofallback) { finalRaw:int { -18000 } finalYear:int { 2008 } } //Z#169 - /* America/Montserrat */ :table { - trans:intvector { -1846266608 } - typeOffsets:intvector { -14932, 0, -14400, 0 } - typeMap:bin { "01" } - } //Z#170 + /* America/Montserrat */ :int { 185 } //Z#170 /* America/Nassau */ :table { trans:intvector { -1825095030, -179341200, -163620000, -147891600, -131565600, -116442000, -100116000, -84387600, -68666400, -52938000, -37216800, -21488400, -5767200, 9961200, 25682400, 41410800, 57736800, 73465200, 89186400, 104914800, 120636000, 136364400, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000 } typeOffsets:intvector { -18570, 0, -18000, 0, -18000, 3600 } @@ -1134,6 +1100,7 @@ zoneinfo64:table(nofallback) { trans:intvector { -1825098836 } typeOffsets:intvector { -14764, 0, -14400, 0 } typeMap:bin { "01" } + links:intvector { 61, 111, 122, 123, 156, 170, 185, 204, 206, 207, 208, 209, 216, 218 } } //Z#185 /* America/Porto_Acre */ :int { 194 } //Z#186 /* America/Porto_Velho */ :table { @@ -1247,7 +1214,7 @@ zoneinfo64:table(nofallback) { finalRaw:int { -32400 } finalYear:int { 2008 } } //Z#203 - /* America/St_Barthelemy */ :int { 123 } //Z#204 + /* America/St_Barthelemy */ :int { 185 } //Z#204 /* America/St_Johns */ :table { trans:intvector { -1664130548, -1650137348, -1632076148, -1615145348, -1598650148, -1590100148, -1567286948, -1551565748, -1535837348, -1520116148, -1503782948, -1488666548, -1472333348, -1457216948, -1440883748, -1425767348, -1409434148, -1394317748, -1377984548, -1362263348, -1346534948, -1330813748, -1314480548, -1299364148, -1283030948, -1267914548, -1251581348, -1236464948, -1220131748, -1205015348, -1188682148, -1172960948, -1156627748, -1141511348, -1125178148, -1110061748, -1096921748, -1093728600, -1078612200, -1061670600, -1048973400, -1030221000, -1017523800, -998771400, -986074200, -966717000, -954624600, -935267400, -922570200, -903817800, -891120600, -872368200, -765401400, -746044200, -733347000, -714594600, -701897400, -683145000, -670447800, -651695400, -638998200, -619641000, -606943800, -589401000, -576099000, -557951400, -544649400, -526501800, -513199800, -495052200, -481750200, -463602600, -450300600, -431548200, -418246200, -400098600, -386796600, -368649000, -355347000, -337199400, -323897400, -305749800, -289423800, -273695400, -257974200, -242245800, -226524600, -210796200, -195075000, -179346600, -163625400, -147897000, -131571000, -116447400, -100121400, -84393000, -68671800, -52943400, -37222200, -21493800, -5772600, 9955800, 25677000, 41405400, 57731400, 73459800, 89181000, 104909400, 120630600, 136359000, 152080200, 167808600, 183529800, 199258200, 215584200, 230707800, 247033800, 262762200, 278483400, 294211800, 309933000, 325661400, 341382600, 357111000, 372832200, 388560600, 404886600, 420010200, 436336200, 452064600, 467785800, 483514200, 499235400, 514963800, 530685000, 544591860, 562127460, 576041460, 594178260, 607491060, 625631460, 638940660, 657081060, 670995060, 688530660, 702444660, 719980260, 733894260, 752034660, 765343860, 783484260, 796793460, 814933860, 828847860, 846383460, 860297460, 877833060, 891747060, 909282660, 923196660, 941337060, 954646260, 972786660, 986095860, 1004236260, 1018150260, 1035685860, 1049599860, 1067135460, 1081049460, 1099189860, 1112499060, 1130639460, 1143948660, 1162089060, 1173583860, 1194143460, 1205033460, 1225593060, 1236483060, 1257042660, 1268537460, 1289097060, 1299987060, 1320553800, 1331443800, 1352003400 } typeOffsets:intvector { -12652, 0, -12652, 3600, -12600, 0, -12600, 3600, -12600, 7200 } @@ -1257,27 +1224,10 @@ zoneinfo64:table(nofallback) { finalYear:int { 2013 } links:intvector { 205, 372, 381 } } //Z#205 - /* America/St_Kitts */ :table { - trans:intvector { -1825098548 } - typeOffsets:intvector { -15052, 0, -14400, 0 } - typeMap:bin { "01" } - } //Z#206 - /* America/St_Lucia */ :table { - trans:intvector { -1830369360 } - typeOffsets:intvector { -14640, 0, -14400, 0 } - typeMap:bin { "01" } - } //Z#207 - /* America/St_Thomas */ :table { - trans:intvector { -1846266016 } - typeOffsets:intvector { -15584, 0, -14400, 0 } - typeMap:bin { "01" } - links:intvector { 208, 218 } - } //Z#208 - /* America/St_Vincent */ :table { - trans:intvector { -1830369304 } - typeOffsets:intvector { -14696, 0, -14400, 0 } - typeMap:bin { "01" } - } //Z#209 + /* America/St_Kitts */ :int { 185 } //Z#206 + /* America/St_Lucia */ :int { 185 } //Z#207 + /* America/St_Thomas */ :int { 185 } //Z#208 + /* America/St_Vincent */ :int { 185 } //Z#209 /* America/Swift_Current */ :table { trans:intvector { -2030201320, -1632063600, -1615132800, -880210800, -765388800, -747241200, -732729600, -715791600, -702489600, -684342000, -671040000, -652892400, -639590400, -400086000, -384364800, -337186800, -321465600, -305737200, -292435200, -273682800, -260985600, 73472400 } typeOffsets:intvector { -25880, 0, -25200, 0, -25200, 3600, -21600, 0 } @@ -1324,11 +1274,7 @@ zoneinfo64:table(nofallback) { finalYear:int { 2008 } links:intvector { 215, 379 } } //Z#215 - /* America/Tortola */ :table { - trans:intvector { -1846266092 } - typeOffsets:intvector { -15508, 0, -14400, 0 } - typeMap:bin { "01" } - } //Z#216 + /* America/Tortola */ :int { 185 } //Z#216 /* America/Vancouver */ :table { transPre32:intvector { -1, 1581086444 } trans:intvector { -1632060000, -1615129200, -880207200, -765385200, -747237600, -732726000, -715788000, -702486000, -684338400, -671036400, -652888800, -639586800, -620834400, -608137200, -589384800, -576082800, -557935200, -544633200, -526485600, -513183600, -495036000, -481734000, -463586400, -450284400, -431532000, -418230000, -400082400, -386780400, -368632800, -355330800, -337183200, -323881200, -305733600, -292431600, -273679200, -260982000, -242229600, -226508400, -210780000, -195058800, -179330400, -163609200, -147880800, -131554800, -116431200, -100105200, -84376800, -68655600, -52927200, -37206000, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 136375200, 152096400, 167824800, 183546000, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 452080800, 467802000, 483530400, 499251600, 514980000, 530701200, 544615200, 562150800, 576064800, 594205200, 607514400, 625654800, 638964000, 657104400, 671018400, 688554000, 702468000, 720003600, 733917600, 752058000, 765367200, 783507600, 796816800, 814957200, 828871200, 846406800, 860320800, 877856400, 891770400, 909306000, 923220000, 941360400, 954669600, 972810000, 986119200, 1004259600, 1018173600, 1035709200, 1049623200, 1067158800, 1081072800, 1099213200, 1112522400, 1130662800, 1143972000, 1162112400, 1173607200, 1194166800 } @@ -1339,7 +1285,7 @@ zoneinfo64:table(nofallback) { finalYear:int { 2008 } links:intvector { 217, 382 } } //Z#217 - /* America/Virgin */ :int { 208 } //Z#218 + /* America/Virgin */ :int { 185 } //Z#218 /* America/Whitehorse */ :table { transPre32:intvector { -1, 2105969308 } trans:intvector { -1632056400, -1615125600, -1596978000, -1583164800, -880203600, -765381600, -147884400, -131554800, -110552400, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 452080800, 467802000, 483530400, 499251600, 514980000, 530701200, 544615200, 562150800, 576064800, 594205200, 607514400, 625654800, 638964000, 657104400, 671018400, 688554000, 702468000, 720003600, 733917600, 752058000, 765367200, 783507600, 796816800, 814957200, 828871200, 846406800, 860320800, 877856400, 891770400, 909306000, 923220000, 941360400, 954669600, 972810000, 986119200, 1004259600, 1018173600, 1035709200, 1049623200, 1067158800, 1081072800, 1099213200, 1112522400, 1130662800, 1143972000, 1162112400, 1173607200, 1194166800 } @@ -1393,24 +1339,17 @@ zoneinfo64:table(nofallback) { typeMap:bin { "010001" } } //Z#225 /* Antarctica/Macquarie */ :table { - trans:intvector { -1861920000, -1680508800, -1665392400, -883641600, -876128400, -860400000, -844678800, -828345600, -813229200, -71136000, -55411200, -37267200, -25776000, -5817600, 5673600, 25632000, 37728000, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 386092800, 404841600, 417542400, 436291200, 447177600, 467740800, 478627200, 499190400, 510076800, 530035200, 542736000, 562089600, 574790400, 594144000, 606240000, 625593600, 637689600, 657043200, 670348800, 686678400, 701798400, 718128000, 733248000, 749577600, 764697600, 781027200, 796147200, 812476800, 828201600, 844531200, 859651200, 875980800, 891100800, 907430400, 922550400, 938880000, 954000000, 967305600, 985449600, 1002384000, 1017504000, 1033833600, 1048953600, 1065283200, 1080403200, 1096732800, 1111852800, 1128182400, 1143907200, 1159632000, 1174752000, 1191686400, 1207411200, 1223136000, 1238860800, 1254585600, 1270310400 } + transPre32:intvector { -1, 2080708096 } + trans:intvector { -1680508800, -1665392400, -1601719200, -687052800, -71136000, -55411200, -37267200, -25776000, -5817600, 5673600, 25632000, 37728000, 57686400, 67968000, 89136000, 100022400, 120585600, 131472000, 152035200, 162921600, 183484800, 194976000, 215539200, 226425600, 246988800, 257875200, 278438400, 289324800, 309888000, 320774400, 341337600, 352224000, 372787200, 386092800, 404841600, 417542400, 436291200, 447177600, 467740800, 478627200, 499190400, 510076800, 530035200, 542736000, 562089600, 574790400, 594144000, 606240000, 625593600, 637689600, 657043200, 670348800, 686678400, 701798400, 718128000, 733248000, 749577600, 764697600, 781027200, 796147200, 812476800, 828201600, 844531200, 859651200, 875980800, 891100800, 907430400, 922550400, 938880000, 954000000, 967305600, 985449600, 1002384000, 1017504000, 1033833600, 1048953600, 1065283200, 1080403200, 1096732800, 1111852800, 1128182400, 1143907200, 1159632000, 1174752000, 1191686400, 1207411200, 1223136000, 1238860800, 1254585600, 1270310400 } typeOffsets:intvector { 0, 0, 36000, 0, 36000, 3600, 39600, 0 } - typeMap:bin { "0102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010203" } + typeMap:bin { "01020100010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010203" } } //Z#226 /* Antarctica/Mawson */ :table { trans:intvector { -501206400, 1255809600 } typeOffsets:intvector { 0, 0, 18000, 0, 21600, 0 } typeMap:bin { "0201" } } //Z#227 - /* Antarctica/McMurdo */ :table { - trans:intvector { -441849600, 152632800, 162309600, 183477600, 194968800, 215532000, 226418400, 246981600, 257868000, 278431200, 289317600, 309880800, 320767200, 341330400, 352216800, 372780000, 384271200, 404834400, 415720800, 436284000, 447170400, 467733600, 478620000, 499183200, 510069600, 530632800, 541519200, 562082400, 573573600, 594136800, 605023200, 623772000, 637682400, 655221600, 669132000, 686671200, 700581600, 718120800, 732636000, 749570400, 764085600, 781020000, 795535200, 812469600, 826984800, 844524000, 858434400, 875973600, 889884000, 907423200, 921938400, 938872800, 953388000, 970322400, 984837600, 1002376800, 1016287200, 1033826400, 1047736800, 1065276000, 1079791200, 1096725600, 1111240800, 1128175200, 1142690400, 1159624800, 1174140000, 1191074400, 1207404000, 1222524000 } - typeOffsets:intvector { 0, 0, 43200, 0, 43200, 3600 } - typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102" } - finalRule { "NZAQ" } - finalRaw:int { 43200 } - finalYear:int { 2009 } - links:intvector { 228, 231 } - } //Z#228 + /* Antarctica/McMurdo */ :int { 543 } //Z#228 /* Antarctica/Palmer */ :table { trans:intvector { -157766400, -152658000, -132955200, -121122000, -101419200, -86821200, -71092800, -54766800, -39038400, -23317200, -7588800, 128142000, 136605600, 389070000, 403070400, 416372400, 434520000, 447822000, 466574400, 479271600, 498024000, 510721200, 529473600, 545194800, 560923200, 574225200, 591768000, 605674800, 624427200, 637729200, 653457600, 668574000, 687326400, 700628400, 718776000, 732078000, 750225600, 763527600, 781675200, 794977200, 813729600, 826426800, 845179200, 859690800, 876628800, 889930800, 906868800, 923194800, 939528000, 952830000, 971582400, 984279600, 1003032000, 1015729200, 1034481600, 1047178800, 1065931200, 1079233200, 1097380800, 1110682800, 1128830400, 1142132400, 1160884800, 1173582000, 1192334400, 1206846000, 1223784000, 1237086000, 1255233600, 1270350000, 1286683200, 1304823600, 1313899200, 1335668400, 1346558400 } typeOffsets:intvector { 0, 0, -14400, 0, -14400, 3600, -10800, 0, -10800, 3600 } @@ -1424,7 +1363,7 @@ zoneinfo64:table(nofallback) { typeOffsets:intvector { 0, 0, -10800, 0 } typeMap:bin { "01" } } //Z#230 - /* Antarctica/South_Pole */ :int { 228 } //Z#231 + /* Antarctica/South_Pole */ :int { 543 } //Z#231 /* Antarctica/Syowa */ :table { trans:intvector { -407808000 } typeOffsets:intvector { 0, 0, 10800, 0 } @@ -1447,12 +1386,9 @@ zoneinfo64:table(nofallback) { typeMap:bin { "010203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" } } //Z#236 /* Asia/Amman */ :table { - trans:intvector { -1230776624, 108165600, 118270800, 136591200, 149806800, 168127200, 181342800, 199749600, 215643600, 231285600, 244501200, 262735200, 275950800, 481154400, 496962000, 512949600, 528670800, 544399200, 560120400, 575848800, 592174800, 610581600, 623624400, 641167200, 655074000, 671839200, 685918800, 702856800, 717973200, 733701600, 749422800, 765151200, 779662800, 797205600, 811116000, 828655200, 843170400, 860104800, 874620000, 891554400, 906069600, 930780000, 938124000, 954367200, 970178400, 985816800, 1001628000, 1017352800, 1033077600, 1048802400, 1066946400, 1080252000, 1097791200, 1112306400, 1128031200, 1143756000, 1161900000, 1175205600, 1193349600, 1206655200, 1225404000, 1238104800, 1256853600, 1269554400, 1288303200, 1301608800, 1319752800, 1333058400, 1382652000 } - typeOffsets:intvector { 8624, 0, 7200, 0, 7200, 3600 } - typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" } - finalRule { "Jordan" } - finalRaw:int { 7200 } - finalYear:int { 2014 } + trans:intvector { -1230776624, 108165600, 118270800, 136591200, 149806800, 168127200, 181342800, 199749600, 215643600, 231285600, 244501200, 262735200, 275950800, 481154400, 496962000, 512949600, 528670800, 544399200, 560120400, 575848800, 592174800, 610581600, 623624400, 641167200, 655074000, 671839200, 685918800, 702856800, 717973200, 733701600, 749422800, 765151200, 779662800, 797205600, 811116000, 828655200, 843170400, 860104800, 874620000, 891554400, 906069600, 930780000, 938124000, 954367200, 970178400, 985816800, 1001628000, 1017352800, 1033077600, 1048802400, 1066946400, 1080252000, 1097791200, 1112306400, 1128031200, 1143756000, 1161900000, 1175205600, 1193349600, 1206655200, 1225404000, 1238104800, 1256853600, 1269554400, 1288303200, 1301608800, 1319752800, 1333058400, 1351202400 } + typeOffsets:intvector { 8624, 0, 7200, 0, 7200, 3600, 10800, 0 } + typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010203" } } //Z#237 /* Asia/Anadyr */ :table { trans:intvector { -1441194596, -1247572800, 354884400, 370692000, 386420400, 402231600, 417960000, 433767600, 449582400, 465314400, 481039200, 496764000, 512488800, 528213600, 543938400, 559663200, 575388000, 591112800, 606837600, 622562400, 638287200, 654616800, 670341600, 686070000, 695746800, 701780400, 717501600, 733240800, 748965600, 764690400, 780415200, 796140000, 811864800, 828194400, 846338400, 859644000, 877788000, 891093600, 909237600, 922543200, 941292000, 953992800, 972741600, 985442400, 1004191200, 1017496800, 1035640800, 1048946400, 1067090400, 1080396000, 1099144800, 1111845600, 1130594400, 1143295200, 1162044000, 1174744800, 1193493600, 1206799200, 1224943200, 1238248800, 1256392800, 1269698400, 1288450800, 1301151600 } @@ -1571,9 +1507,12 @@ zoneinfo64:table(nofallback) { } //Z#260 /* Asia/Gaza */ :table { transPre32:intvector { -1, 2109557424 } - trans:intvector { -933645600, -857358000, -844300800, -825822000, -812685600, -794199600, -779853600, -762656400, -748310400, -731127600, -399088800, -386650800, -368330400, -355114800, -336790800, -323654400, -305168400, -292032000, -273632400, -260496000, -242096400, -228960000, -210560400, -197424000, -178938000, -165801600, -147402000, -134265600, -115866000, -102643200, -84330000, -81313200, 142380000, 150843600, 167176800, 178664400, 482277600, 495579600, 516751200, 526424400, 545436000, 558478800, 576540000, 589237200, 609890400, 620773200, 638316000, 651618000, 669765600, 683672400, 701820000, 715726800, 733701600, 747176400, 765151200, 778021200, 796600800, 810075600, 828655200, 843170400, 860104800, 874620000, 891554400, 906069600, 924213600, 939934800, 956268000, 971989200, 987717600, 1003438800, 1019167200, 1034888400, 1050616800, 1066338000, 1082066400, 1096581600, 1113516000, 1128380400, 1143842400, 1158872400, 1175378400, 1189638000, 1207000800, 1219957200, 1238104800, 1252018800, 1269640860, 1281474000, 1301738460, 1312146000, 1333058400, 1348178400 } + trans:intvector { -933645600, -857358000, -844300800, -825822000, -812685600, -794199600, -779853600, -762656400, -748310400, -731127600, -399088800, -386650800, -368330400, -355114800, -336790800, -323654400, -305168400, -292032000, -273632400, -260496000, -242096400, -228960000, -210560400, -197424000, -178938000, -165801600, -147402000, -134265600, -115866000, -102643200, -84330000, -81313200, 142380000, 150843600, 167176800, 178664400, 482277600, 495579600, 516751200, 526424400, 545436000, 558478800, 576540000, 589237200, 609890400, 620773200, 638316000, 651618000, 669765600, 683672400, 701820000, 715726800, 733701600, 747176400, 765151200, 778021200, 796600800, 810075600, 828655200, 843170400, 860104800, 874620000, 891554400, 906069600, 924213600, 939934800, 956268000, 971989200, 987717600, 1003438800, 1019167200, 1034888400, 1050616800, 1066338000, 1082066400, 1096581600, 1113516000, 1128380400, 1143842400, 1158872400, 1175378400, 1189638000, 1206655200, 1219957200, 1238104800, 1252015200, 1269640860, 1281474000, 1301608860, 1312146000, 1333058400, 1348178400, 1364508000, 1380229200 } typeOffsets:intvector { 8272, 0, 7200, 0, 7200, 3600 } - typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" } + typeMap:bin { "0102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" } + finalRule { "Palestine" } + finalRaw:int { 7200 } + finalYear:int { 2014 } } //Z#261 /* Asia/Harbin */ :table { trans:intvector { -1325492804, -1194078600, -946800000, -115894800, 325956600, 515520000, 527007600, 545155200, 558457200, 576604800, 589906800, 608659200, 621961200, 640108800, 653410800, 671558400, 684860400 } @@ -1582,9 +1521,12 @@ zoneinfo64:table(nofallback) { } //Z#262 /* Asia/Hebron */ :table { transPre32:intvector { -1, 2109557273 } - trans:intvector { -933645600, -857358000, -844300800, -825822000, -812685600, -794199600, -779853600, -762656400, -748310400, -731127600, -399088800, -386650800, -368330400, -355114800, -336790800, -323654400, -305168400, -292032000, -273632400, -260496000, -242096400, -228960000, -210560400, -197424000, -178938000, -165801600, -147402000, -134265600, -115866000, -102643200, -84330000, -81313200, 142380000, 150843600, 167176800, 178664400, 482277600, 495579600, 516751200, 526424400, 545436000, 558478800, 576540000, 589237200, 609890400, 620773200, 638316000, 651618000, 669765600, 683672400, 701820000, 715726800, 733701600, 747176400, 765151200, 778021200, 796600800, 810075600, 828655200, 843170400, 860104800, 874620000, 891554400, 906069600, 924213600, 939934800, 956268000, 971989200, 987717600, 1003438800, 1019167200, 1034888400, 1050616800, 1066338000, 1082066400, 1096581600, 1113516000, 1128380400, 1143842400, 1158872400, 1175378400, 1189638000, 1207000800, 1220216400, 1238104800, 1252018800, 1269640860, 1281474000, 1301652060, 1312146000, 1314655200, 1317340800, 1333058400, 1348178400 } + trans:intvector { -933645600, -857358000, -844300800, -825822000, -812685600, -794199600, -779853600, -762656400, -748310400, -731127600, -399088800, -386650800, -368330400, -355114800, -336790800, -323654400, -305168400, -292032000, -273632400, -260496000, -242096400, -228960000, -210560400, -197424000, -178938000, -165801600, -147402000, -134265600, -115866000, -102643200, -84330000, -81313200, 142380000, 150843600, 167176800, 178664400, 482277600, 495579600, 516751200, 526424400, 545436000, 558478800, 576540000, 589237200, 609890400, 620773200, 638316000, 651618000, 669765600, 683672400, 701820000, 715726800, 733701600, 747176400, 765151200, 778021200, 796600800, 810075600, 828655200, 843170400, 860104800, 874620000, 891554400, 906069600, 924213600, 939934800, 956268000, 971989200, 987717600, 1003438800, 1019167200, 1034888400, 1050616800, 1066338000, 1082066400, 1096581600, 1113516000, 1128380400, 1143842400, 1158872400, 1175378400, 1189638000, 1206655200, 1220216400, 1238104800, 1252015200, 1269554400, 1281474000, 1301608860, 1312146000, 1314655200, 1317330000, 1333058400, 1348178400, 1364508000, 1380229200 } typeOffsets:intvector { 8423, 0, 7200, 0, 7200, 3600 } - typeMap:bin { "0102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" } + typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" } + finalRule { "Palestine" } + finalRaw:int { 7200 } + finalYear:int { 2014 } } //Z#263 /* Asia/Ho_Chi_Minh */ :table { trans:intvector { -2005974400, -1855983920, -1819954800, -1220428800 } @@ -1620,13 +1562,13 @@ zoneinfo64:table(nofallback) { typeMap:bin { "010201" } } //Z#270 /* Asia/Jerusalem */ :table { - transPre32:intvector { -1, 1454818040 } - trans:intvector { -1641003640, -933645600, -857358000, -844300800, -825822000, -812685600, -794199600, -779853600, -762656400, -748310400, -731127600, -681962400, -673243200, -667962000, -652327200, -636426000, -622087200, -608947200, -591847200, -572486400, -558576000, -542851200, -527731200, -514425600, -490845600, -482986800, -459475200, -451537200, -428551200, -418262400, -400032000, -387428400, 142380000, 150843600, 167176800, 178664400, 482277600, 495579600, 516751200, 526424400, 545436000, 558478800, 576540000, 589237200, 609890400, 620773200, 638316000, 651618000, 669765600, 683672400, 701820000, 715726800, 733701600, 747176400, 765151200, 778021200, 796600800, 810075600, 826840800, 842821200, 858895200, 874184400, 890344800, 905029200, 923011200, 936313200, 955670400, 970783200, 986770800, 1001282400, 1017356400, 1033941600, 1048806000, 1065132000, 1081292400, 1095804000, 1112313600, 1128812400, 1143763200, 1159657200, 1175212800, 1189897200, 1206662400, 1223161200, 1238112000, 1254006000, 1269561600, 1284246000, 1301616000, 1317510000, 1333065600, 1348354800, 1364515200, 1381014000, 1395964800, 1412463600, 1427414400, 1443913200, 1458864000, 1475362800, 1490313600, 1507417200, 1521763200, 1538866800, 1553817600, 1570316400, 1585267200, 1601766000, 1616716800, 1633215600, 1648166400, 1664665200, 1679616000, 1696719600, 1711670400, 1728169200, 1743120000, 1759618800, 1774569600, 1791068400, 1806019200, 1822604400, 1837468800, 1854572400 } - typeOffsets:intvector { 8456, 0, 7200, 0, 7200, 3600, 7200, 7200, 8440, 0 } - typeMap:bin { "0401020102010201020102010302010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" } + transPre32:intvector { -1, 1454818042 } + trans:intvector { -1641003640, -933645600, -857358000, -844300800, -825822000, -812685600, -794199600, -779853600, -762656400, -748310400, -731127600, -681962400, -673243200, -667962000, -652327200, -636426000, -622087200, -608947200, -591847200, -572486400, -558576000, -542851200, -527731200, -514425600, -490845600, -482986800, -459475200, -451537200, -428551200, -418262400, -400032000, -387428400, 142380000, 150843600, 167176800, 178664400, 482277600, 495579600, 516751200, 526424400, 545436000, 558478800, 576540000, 589237200, 609890400, 620773200, 638316000, 651618000, 669765600, 683672400, 701820000, 715726800, 733701600, 747176400, 765151200, 778021200, 796600800, 810075600, 826840800, 842821200, 858895200, 874184400, 890344800, 905029200, 923011200, 936313200, 955670400, 970783200, 986770800, 1001282400, 1017356400, 1033941600, 1048806000, 1065132000, 1081292400, 1095804000, 1112313600, 1128812400, 1143763200, 1159657200, 1175212800, 1189897200, 1206662400, 1223161200, 1238112000, 1254006000, 1269561600, 1284246000, 1301616000, 1317510000, 1333065600, 1348354800, 1364515200, 1382828400 } + typeOffsets:intvector { 8454, 0, 7200, 0, 7200, 3600, 7200, 7200, 8440, 0 } + typeMap:bin { "0401020102010201020102010302010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" } finalRule { "Zion" } finalRaw:int { 7200 } - finalYear:int { 2029 } + finalYear:int { 2014 } links:intvector { 271, 315, 515 } } //Z#271 /* Asia/Kabul */ :table { @@ -2585,15 +2527,7 @@ zoneinfo64:table(nofallback) { finalRaw:int { 7200 } finalYear:int { 1997 } } //Z#480 - /* Europe/Vaduz */ :table { - transPre32:intvector { -1, 1909720212 } - trans:intvector { 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 } - typeOffsets:intvector { 2284, 0, 3600, 0, 3600, 3600 } - typeMap:bin { "010201020102010201020102010201020102010201020102010201020102010201" } - finalRule { "EU" } - finalRaw:int { 3600 } - finalYear:int { 1997 } - } //Z#481 + /* Europe/Vaduz */ :int { 489 } //Z#481 /* Europe/Vatican */ :int { 469 } //Z#482 /* Europe/Vienna */ :table { transPre32:intvector { -1, 1872912175 } @@ -2638,14 +2572,14 @@ zoneinfo64:table(nofallback) { finalYear:int { 1997 } } //Z#488 /* Europe/Zurich */ :table { - transPre32:intvector { -1, 467013248, -1, 1909720712 } + transPre32:intvector { -1, 619768448, -1, 1909720710 } trans:intvector { -904435200, -891129600, -872985600, -859680000, 354675600, 370400400, 386125200, 401850000, 417574800, 433299600, 449024400, 465354000, 481078800, 496803600, 512528400, 528253200, 543978000, 559702800, 575427600, 591152400, 606877200, 622602000, 638326800, 654656400, 670381200, 686106000, 701830800, 717555600, 733280400, 749005200, 764730000, 780454800, 796179600, 811904400, 828234000, 846378000 } - typeOffsets:intvector { 2048, 0, 1784, 0, 3600, 0, 3600, 3600 } + typeOffsets:intvector { 2048, 0, 1786, 0, 3600, 0, 3600, 3600 } typeMap:bin { "0102030203020302030203020302030203020302030203020302030203020302030203020302" } finalRule { "EU" } finalRaw:int { 3600 } finalYear:int { 1997 } - links:intvector { 441, 489 } + links:intvector { 441, 481, 489 } } //Z#489 /* Factory */ :table { typeOffsets:intvector { 0, 0 } @@ -2788,7 +2722,7 @@ zoneinfo64:table(nofallback) { finalRule { "NZ" } finalRaw:int { 43200 } finalYear:int { 2009 } - links:intvector { 532, 533, 543 } + links:intvector { 228, 231, 532, 533, 543 } } //Z#543 /* Pacific/Chatham */ :table { trans:intvector { -410271228, 152632800, 162309600, 183477600, 194968800, 215532000, 226418400, 246981600, 257868000, 278431200, 289317600, 309880800, 320767200, 341330400, 352216800, 372780000, 384271200, 404834400, 415720800, 436284000, 447170400, 467733600, 478620000, 499183200, 510069600, 530632800, 541519200, 562082400, 573573600, 594136800, 605023200, 623772000, 637682400, 655221600, 669132000, 686671200, 700581600, 718120800, 732636000, 749570400, 764085600, 781020000, 795535200, 812469600, 826984800, 844524000, 858434400, 875973600, 889884000, 907423200, 921938400, 938872800, 953388000, 970322400, 984837600, 1002376800, 1016287200, 1033826400, 1047736800, 1065276000, 1079791200, 1096725600, 1111240800, 1128175200, 1142690400, 1159624800, 1174140000, 1191074400, 1207404000, 1222524000 } @@ -2871,11 +2805,9 @@ zoneinfo64:table(nofallback) { trans:intvector { -1157283000, -1155436200, -880198200, -765376200, -712150200 } typeOffsets:intvector { -37886, 0, -37800, 0, -37800, 3600, -36000, 0 } typeMap:bin { "010201020103" } - links:intvector { 556, 611 } + links:intvector { 556, 557, 611 } } //Z#556 - /* Pacific/Johnston */ :table { - typeOffsets:intvector { -36000, 0 } - } //Z#557 + /* Pacific/Johnston */ :int { 556 } //Z#557 /* Pacific/Kiritimati */ :table { transPre32:intvector { -1, 2117552256 } trans:intvector { 307622400, 788954400 } @@ -3343,65 +3275,59 @@ zoneinfo64:table(nofallback) { 2, -31, -1, 3600, 2, 9, -31, -1, 3600, 2, 3600 } //_#13 Fiji:intvector { - 9, 18, -1, 7200, 0, 0, 18, -1, 10800, 0, 3600 + 9, 21, -1, 7200, 0, 0, 18, -1, 10800, 0, 3600 } //_#14 Haiti:intvector { 2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600 } //_#15 - Jordan:intvector { - 2, -31, -5, 86400, 0, 9, -31, -6, 0, 1, 3600 - } //_#16 LH:intvector { 9, 1, -1, 7200, 0, 3, 1, -1, 7200, 0, 1800 - } //_#17 + } //_#16 Lebanon:intvector { 2, -31, -1, 0, 0, 9, -31, -1, 0, 0, 3600 - } //_#18 + } //_#17 Libya:intvector { 2, -31, -6, 3600, 0, 9, -31, -6, 7200, 0, 3600 - } //_#19 + } //_#18 Mexico:intvector { 3, 1, -1, 7200, 0, 9, -31, -1, 7200, 0, 3600 - } //_#20 - Morocco:intvector { - 3, -30, -1, 7200, 0, 8, -30, -1, 10800, 0, 3600 - } //_#21 + } //_#19 NZ:intvector { 8, -30, -1, 7200, 1, 3, 1, -1, 7200, 1, 3600 - } //_#22 - NZAQ:intvector { - 8, -30, -1, 7200, 1, 3, 1, -1, 7200, 1, 3600 - } //_#23 + } //_#20 Namibia:intvector { 8, 1, -1, 7200, 0, 3, 1, -1, 7200, 0, 3600 - } //_#24 + } //_#21 + Palestine:intvector { + 2, -31, -5, 86400, 0, 8, 21, -6, 0, 0, 3600 + } //_#22 Para:intvector { - 9, 1, -1, 0, 0, 3, 8, -1, 0, 0, 3600 - } //_#25 + 9, 1, -1, 0, 0, 2, 22, -1, 0, 0, 3600 + } //_#23 Syria:intvector { 2, -31, -6, 0, 0, 9, -31, -6, 0, 0, 3600 - } //_#26 + } //_#24 SystemV:intvector { 3, -30, -1, 7200, 0, 9, -31, -1, 7200, 0, 3600 - } //_#27 + } //_#25 TC:intvector { 2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600 - } //_#28 + } //_#26 Thule:intvector { 2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600 - } //_#29 + } //_#27 US:intvector { 2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600 - } //_#30 + } //_#28 Uruguay:intvector { 9, 1, -1, 7200, 0, 2, 8, -1, 7200, 0, 3600 - } //_#31 + } //_#29 WS:intvector { 8, -30, -1, 10800, 0, 3, 1, -1, 14400, 0, 3600 - } //_#32 + } //_#30 Zion:intvector { - 2, 23, -6, 7200, 0, 9, 2, -1, 7200, 0, 3600 - } //_#33 + 2, 23, -6, 7200, 0, 9, -31, -1, 7200, 0, 3600 + } //_#31 } Regions:array { "AU", //Z#0 ACT @@ -3573,7 +3499,7 @@ zoneinfo64:table(nofallback) { "CA", //Z#166 America/Moncton "MX", //Z#167 America/Monterrey "UY", //Z#168 America/Montevideo - "CA", //Z#169 America/Montreal + "001",//Z#169 America/Montreal "MS", //Z#170 America/Montserrat "BS", //Z#171 America/Nassau "US", //Z#172 America/New_York @@ -3622,7 +3548,7 @@ zoneinfo64:table(nofallback) { "CA", //Z#215 America/Toronto "VG", //Z#216 America/Tortola "CA", //Z#217 America/Vancouver - "VI", //Z#218 America/Virgin + "TT", //Z#218 America/Virgin "CA", //Z#219 America/Whitehorse "CA", //Z#220 America/Winnipeg "US", //Z#221 America/Yakutat @@ -3630,12 +3556,12 @@ zoneinfo64:table(nofallback) { "AQ", //Z#223 Antarctica/Casey "AQ", //Z#224 Antarctica/Davis "AQ", //Z#225 Antarctica/DumontDUrville - "AQ", //Z#226 Antarctica/Macquarie + "AU", //Z#226 Antarctica/Macquarie "AQ", //Z#227 Antarctica/Mawson "AQ", //Z#228 Antarctica/McMurdo "AQ", //Z#229 Antarctica/Palmer "AQ", //Z#230 Antarctica/Rothera - "AQ", //Z#231 Antarctica/South_Pole + "NZ", //Z#231 Antarctica/South_Pole "AQ", //Z#232 Antarctica/Syowa "AQ", //Z#233 Antarctica/Vostok "SJ", //Z#234 Arctic/Longyearbyen diff --git a/icuSources/test/intltest/tztest.cpp b/icuSources/test/intltest/tztest.cpp index e64264cb..8e0fa99b 100644 --- a/icuSources/test/intltest/tztest.cpp +++ b/icuSources/test/intltest/tztest.cpp @@ -1954,11 +1954,24 @@ void TimeZoneTest::TestCanonicalID() { const char *alias; const char *zone; } excluded1[] = { + {"Africa/Khartoum", "Africa/Juba"}, {"America/Shiprock", "America/Denver"}, // America/Shiprock is defined as a Link to America/Denver in tzdata - {"America/Marigot", "America/Guadeloupe"}, - {"America/St_Barthelemy", "America/Guadeloupe"}, - {"America/Lower_Princes", "America/Curacao"}, - {"America/Kralendijk", "America/Curacao"}, + {"America/Dominica", "America/Anguilla"}, + {"America/Grenada", "America/Anguilla"}, + {"America/Guadeloupe", "America/Anguilla"}, + {"America/Marigot", "America/Anguilla"}, + {"America/Montserrat", "America/Anguilla"}, + {"America/Port_of_Spain", "America/Anguilla"}, + {"America/St_Barthelemy", "America/Anguilla"}, + {"America/St_Kitts", "America/Anguilla"}, + {"America/St_Lucia", "America/Anguilla"}, + {"America/St_Thomas", "America/Anguilla"}, + {"America/St_Vincent", "America/Anguilla"}, + {"America/Tortola", "America/Anguilla"}, + {"America/Virgin", "America/Anguilla"}, + {"America/Curacao", "America/Aruba"}, + {"America/Kralendijk", "America/Aruba"}, + {"America/Lower_Princes", "America/Aruba"}, {"Antarctica/South_Pole", "Antarctica/McMurdo"}, {"Atlantic/Jan_Mayen", "Europe/Oslo"}, {"Arctic/Longyearbyen", "Europe/Oslo"}, @@ -1975,6 +1988,9 @@ void TimeZoneTest::TestCanonicalID() { {"Europe/Mariehamn", "Europe/Helsinki"}, {"Europe/San_Marino", "Europe/Rome"}, {"Europe/Vatican", "Europe/Rome"}, + {"Europe/Vaduz", "Europe/Zurich"}, + {"Pacific/Auckland", "Antarctica/McMurdo"}, + {"Pacific/Johnston", "Pacific/Honolulu"}, {0, 0} }; diff --git a/icuSources/tools/tzcode/zic.c b/icuSources/tools/tzcode/zic.c index f3dc81c1..2ae1c334 100644 --- a/icuSources/tools/tzcode/zic.c +++ b/icuSources/tools/tzcode/zic.c @@ -2222,34 +2222,64 @@ wp = ecpyalloc(_("no POSIX environment variable for zone")); } } else if (rp->r_hiyear >= finalRuleYear) { /* There might be an overriding non-max rule - * applied to a specific year after the max rule's - * start year. In this case, we need change the - * start year of the final rules to the following - * year. */ + * to be applied to a specific year after one of + * max rule's start year. For example, + * + * Rule Foo 2010 max ... + * Rule Foo 2015 only ... + * + * In this case, we need to change the start year of + * the final (max) rules to the next year. */ finalRuleYear = rp->r_hiyear + 1; + + /* When above adjustment is done, max_year might need + * to be adjusted, so the final rule will be properly + * evaluated and emitted by the later code block. + * + * Note: This may push the start year of the final + * rules ahead by 1 year unnecessarily. For example, + * If there are two rules, non-max rule and max rule + * starting in the same year, such as + * + * Rule Foo 2010 only .... + * Rule Foo 2010 max .... + * + * In this case, the final (max) rule actually starts + * in 2010, instead of 2010. We could make this tool + * more intelligent to detect such situation. But pushing + * final rule start year to 1 year ahead (in the worst case) + * will just populate a few extra transitions, and it still + * works fine. So for now, we're not trying to put additional + * logic to optimize the case. + */ + if (max_year < finalRuleYear) { + max_year = finalRuleYear; + } } } - if (finalRule1 != NULL && finalRule2 == NULL) { - error("only one max rule found (ICU)"); - exit(EXIT_FAILURE); - } if (finalRule1 != NULL) { - if (finalRule1->r_stdoff == finalRule2->r_stdoff) { - /* America/Resolute in 2009a uses a pair of rules - * which does not change the offset. ICU ignores - * such rules without actual time transitions. */ + if (finalRule2 == NULL) { + warning("only one max rule found (ICU)"); finalRuleYear = finalRuleIndex = -1; - finalRule1 = finalRule2 = NULL; + finalRule1 = NULL; } else { - /* Swap if necessary so finalRule1 occurs before - * finalRule2 */ - if (finalRule1->r_month > finalRule2->r_month) { - const struct rule* t = finalRule1; - finalRule1 = finalRule2; - finalRule2 = t; + if (finalRule1->r_stdoff == finalRule2->r_stdoff) { + /* America/Resolute in 2009a uses a pair of rules + * which does not change the offset. ICU ignores + * such rules without actual time transitions. */ + finalRuleYear = finalRuleIndex = -1; + finalRule1 = finalRule2 = NULL; + } else { + /* Swap if necessary so finalRule1 occurs before + * finalRule2 */ + if (finalRule1->r_month > finalRule2->r_month) { + const struct rule* t = finalRule1; + finalRule1 = finalRule2; + finalRule2 = t; + } + /* Add final rule to our list */ + finalRuleIndex = add_icu_final_rules(finalRule1, finalRule2); } - /* Add final rule to our list */ - finalRuleIndex = add_icu_final_rules(finalRule1, finalRule2); } } } @@ -2369,16 +2399,12 @@ wp = ecpyalloc(_("no POSIX environment variable for zone")); * transition defined by the final rule. Otherwise * we may see unexpected offset shift at the * begining of the year when the final rule takes - * effect. */ - - /* ICU currently can support signed int32 transition - * times. Thus, the transitions in year 2038 may be - * truncated. At this moment (tzdata2008g), only - * Rule Brazil is impacted by this limitation, because - * the final set of rules are starting in 2038. Although - * this code put the first couple of transitions populated - * by the final rules, they might be dropped off when - * collecting transition times by tz2icu. */ + * effect. + * + * Note: This may results some 64bit second transitions + * at the very end (year 2038). ICU 4.2 or older releases + * cannot handle 64bit second transitions and they are + * dropped from zoneinfo.txt. */ emit_icu_zone(icuFile, zpfirst->z_name, zp->z_gmtoff, rp, finalRuleIndex, year + 1); -- 2.47.2