Blob Blame Raw
diff -up DateTime-TimeZone-2.01/MANIFEST.2016i DateTime-TimeZone-2.01/MANIFEST
--- DateTime-TimeZone-2.01/MANIFEST.2016i	2016-07-17 20:42:50.000000000 +0200
+++ DateTime-TimeZone-2.01/MANIFEST	2016-11-03 14:27:27.749418299 +0100
@@ -189,6 +189,7 @@ lib/DateTime/TimeZone/Asia/Dhaka.pm
 lib/DateTime/TimeZone/Asia/Dili.pm
 lib/DateTime/TimeZone/Asia/Dubai.pm
 lib/DateTime/TimeZone/Asia/Dushanbe.pm
+lib/DateTime/TimeZone/Asia/Famagusta.pm
 lib/DateTime/TimeZone/Asia/Gaza.pm
 lib/DateTime/TimeZone/Asia/Hebron.pm
 lib/DateTime/TimeZone/Asia/Ho_Chi_Minh.pm
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Abidjan.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Abidjan.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Abidjan.pm.2016i	2016-11-03 14:27:27.692418564 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Abidjan.pm	2016-11-03 14:27:27.749418299 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Accra.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Accra.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Accra.pm.2016i	2016-11-03 14:27:27.693418559 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Accra.pm	2016-11-03 14:27:27.749418299 +0100
@@ -453,7 +453,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {23}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Algiers.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Algiers.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Algiers.pm.2016i	2016-11-03 14:27:27.693418559 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Algiers.pm	2016-11-03 14:27:27.749418299 +0100
@@ -336,7 +336,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {13}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Bissau.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Bissau.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Bissau.pm.2016i	2016-11-03 14:27:27.693418559 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Bissau.pm	2016-11-03 14:27:27.750418294 +0100
@@ -48,7 +48,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Cairo.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Cairo.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Cairo.pm.2016i	2016-11-03 14:27:27.693418559 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Cairo.pm	2016-11-03 14:27:27.750418294 +0100
@@ -1173,7 +1173,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {63}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Casablanca.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Casablanca.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Casablanca.pm.2016i	2016-11-03 14:27:27.693418559 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Casablanca.pm	2016-11-03 14:27:27.750418294 +0100
@@ -930,7 +930,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {49}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Ceuta.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Ceuta.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Ceuta.pm.2016i	2016-11-03 14:27:27.693418559 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Ceuta.pm	2016-11-03 14:27:27.750418294 +0100
@@ -1002,7 +1002,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {52}
 
@@ -1055,24 +1055,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/El_Aaiun.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/El_Aaiun.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/El_Aaiun.pm.2016i	2016-11-03 14:27:27.694418554 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/El_Aaiun.pm	2016-11-03 14:27:27.750418294 +0100
@@ -831,7 +831,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {44}
 
@@ -883,17 +883,6 @@ sub _last_observance { $last_observance
 
 my $rules = [
   bless( {
-    'at' => '2:00',
-    'from' => '2026',
-    'in' => 'Mar',
-    'letter' => 'S',
-    'name' => 'Morocco',
-    'offset_from_std' => 3600,
-    'on' => 'lastSun',
-    'save' => '1:00',
-    'to' => 'max'
-  }, 'DateTime::TimeZone::OlsonDB::Rule' ),
-  bless( {
     'at' => '3:00',
     'from' => '2013',
     'in' => 'Oct',
@@ -903,6 +892,17 @@ my $rules = [
     'on' => 'lastSun',
     'save' => '0',
     'to' => 'max'
+  }, 'DateTime::TimeZone::OlsonDB::Rule' ),
+  bless( {
+    'at' => '2:00',
+    'from' => '2026',
+    'in' => 'Mar',
+    'letter' => 'S',
+    'name' => 'Morocco',
+    'offset_from_std' => 3600,
+    'on' => 'lastSun',
+    'save' => '1:00',
+    'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
 ;
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Johannesburg.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Johannesburg.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Johannesburg.pm.2016i	2016-11-03 14:27:27.694418554 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Johannesburg.pm	2016-11-03 14:27:27.750418294 +0100
@@ -84,7 +84,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {2}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Khartoum.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Khartoum.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Khartoum.pm.2016i	2016-11-03 14:27:27.694418554 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Khartoum.pm	2016-11-03 14:27:27.750418294 +0100
@@ -336,7 +336,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {16}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Lagos.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Lagos.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Lagos.pm.2016i	2016-11-03 14:27:27.694418554 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Lagos.pm	2016-11-03 14:27:27.750418294 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Maputo.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Maputo.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Maputo.pm.2016i	2016-11-03 14:27:27.694418554 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Maputo.pm	2016-11-03 14:27:27.750418294 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Monrovia.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Monrovia.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Monrovia.pm.2016i	2016-11-03 14:27:27.694418554 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Monrovia.pm	2016-11-03 14:27:27.750418294 +0100
@@ -57,7 +57,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Nairobi.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Nairobi.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Nairobi.pm.2016i	2016-11-03 14:27:27.694418554 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Nairobi.pm	2016-11-03 14:27:27.750418294 +0100
@@ -66,7 +66,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Ndjamena.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Ndjamena.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Ndjamena.pm.2016i	2016-11-03 14:27:27.694418554 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Ndjamena.pm	2016-11-03 14:27:27.751418289 +0100
@@ -57,7 +57,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {1}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Tripoli.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Tripoli.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Tripoli.pm.2016i	2016-11-03 14:27:27.694418554 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Tripoli.pm	2016-11-03 14:27:27.751418289 +0100
@@ -318,7 +318,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {13}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Tunis.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Tunis.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Tunis.pm.2016i	2016-11-03 14:27:27.694418554 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Tunis.pm	2016-11-03 14:27:27.751418289 +0100
@@ -336,7 +336,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {16}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Windhoek.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Windhoek.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Windhoek.pm.2016i	2016-11-03 14:27:27.695418550 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Africa/Windhoek.pm	2016-11-03 14:27:27.751418289 +0100
@@ -678,7 +678,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {35}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Adak.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Adak.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Adak.pm.2016i	2016-11-03 14:27:27.695418550 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Adak.pm	2016-11-03 14:27:27.751418289 +0100
@@ -1173,7 +1173,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {61}
 
@@ -1227,23 +1227,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'US',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'US',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Anchorage.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Anchorage.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Anchorage.pm.2016i	2016-11-03 14:27:27.695418550 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Anchorage.pm	2016-11-03 14:27:27.751418289 +0100
@@ -1173,7 +1173,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {61}
 
@@ -1227,23 +1227,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'US',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'US',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Araguaina.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Araguaina.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Araguaina.pm.2016i	2016-11-03 14:27:27.695418550 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Araguaina.pm	2016-11-03 14:27:27.751418289 +0100
@@ -525,7 +525,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {25}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Buenos_Aires.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Buenos_Aires.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Buenos_Aires.pm.2016i	2016-11-03 14:27:27.695418550 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Buenos_Aires.pm	2016-11-03 14:27:27.751418289 +0100
@@ -579,7 +579,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {29}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Catamarca.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Catamarca.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Catamarca.pm.2016i	2016-11-03 14:27:27.695418550 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Catamarca.pm	2016-11-03 14:27:27.752418285 +0100
@@ -588,7 +588,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {28}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Cordoba.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Cordoba.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Cordoba.pm.2016i	2016-11-03 14:27:27.695418550 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Cordoba.pm	2016-11-03 14:27:27.752418285 +0100
@@ -579,7 +579,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {29}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Jujuy.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Jujuy.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Jujuy.pm.2016i	2016-11-03 14:27:27.696418545 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Jujuy.pm	2016-11-03 14:27:27.752418285 +0100
@@ -579,7 +579,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {29}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/La_Rioja.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/La_Rioja.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/La_Rioja.pm.2016i	2016-11-03 14:27:27.696418545 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/La_Rioja.pm	2016-11-03 14:27:27.752418285 +0100
@@ -597,7 +597,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {28}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Mendoza.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Mendoza.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Mendoza.pm.2016i	2016-11-03 14:27:27.696418545 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Mendoza.pm	2016-11-03 14:27:27.752418285 +0100
@@ -588,7 +588,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {28}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Rio_Gallegos.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Rio_Gallegos.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Rio_Gallegos.pm.2016i	2016-11-03 14:27:27.696418545 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Rio_Gallegos.pm	2016-11-03 14:27:27.752418285 +0100
@@ -588,7 +588,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {28}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Salta.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Salta.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Salta.pm.2016i	2016-11-03 14:27:27.696418545 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Salta.pm	2016-11-03 14:27:27.752418285 +0100
@@ -570,7 +570,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {28}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/San_Juan.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/San_Juan.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/San_Juan.pm.2016i	2016-11-03 14:27:27.696418545 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/San_Juan.pm	2016-11-03 14:27:27.752418285 +0100
@@ -597,7 +597,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {28}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/San_Luis.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/San_Luis.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/San_Luis.pm.2016i	2016-11-03 14:27:27.696418545 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/San_Luis.pm	2016-11-03 14:27:27.752418285 +0100
@@ -597,7 +597,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {29}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Tucuman.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Tucuman.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Tucuman.pm.2016i	2016-11-03 14:27:27.697418540 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Tucuman.pm	2016-11-03 14:27:27.752418285 +0100
@@ -597,7 +597,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {29}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Ushuaia.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Ushuaia.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Ushuaia.pm.2016i	2016-11-03 14:27:27.697418540 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Argentina/Ushuaia.pm	2016-11-03 14:27:27.752418285 +0100
@@ -588,7 +588,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {28}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Asuncion.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Asuncion.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Asuncion.pm.2016i	2016-11-03 14:27:27.697418540 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Asuncion.pm	2016-11-03 14:27:27.753418280 +0100
@@ -1002,7 +1002,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {53}
 
@@ -1055,17 +1055,6 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '0:00',
-    'from' => '2010',
-    'in' => 'Oct',
-    'letter' => 'S',
-    'name' => 'Para',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=1',
-    'save' => '1:00',
-    'to' => 'max'
-  }, 'DateTime::TimeZone::OlsonDB::Rule' ),
-  bless( {
-    'at' => '0:00',
     'from' => '2013',
     'in' => 'Mar',
     'letter' => '',
@@ -1074,6 +1063,17 @@ my $rules = [
     'on' => 'Sun>=22',
     'save' => '0',
     'to' => 'max'
+  }, 'DateTime::TimeZone::OlsonDB::Rule' ),
+  bless( {
+    'at' => '0:00',
+    'from' => '2010',
+    'in' => 'Oct',
+    'letter' => 'S',
+    'name' => 'Para',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=1',
+    'save' => '1:00',
+    'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
 ;
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Atikokan.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Atikokan.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Atikokan.pm.2016i	2016-11-03 14:27:27.698418536 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Atikokan.pm	2016-11-03 14:27:27.753418280 +0100
@@ -93,7 +93,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {4}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Bahia.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Bahia.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Bahia.pm.2016i	2016-11-03 14:27:27.698418536 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Bahia.pm	2016-11-03 14:27:27.753418280 +0100
@@ -597,7 +597,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {30}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Bahia_Banderas.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Bahia_Banderas.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Bahia_Banderas.pm.2016i	2016-11-03 14:27:27.698418536 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Bahia_Banderas.pm	2016-11-03 14:27:27.753418280 +0100
@@ -678,7 +678,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {32}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Barbados.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Barbados.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Barbados.pm.2016i	2016-11-03 14:27:27.698418536 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Barbados.pm	2016-11-03 14:27:27.753418280 +0100
@@ -120,7 +120,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {4}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Belem.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Belem.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Belem.pm.2016i	2016-11-03 14:27:27.698418536 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Belem.pm	2016-11-03 14:27:27.753418280 +0100
@@ -300,7 +300,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {14}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Belize.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Belize.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Belize.pm.2016i	2016-11-03 14:27:27.698418536 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Belize.pm	2016-11-03 14:27:27.753418280 +0100
@@ -525,7 +525,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {27}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Blanc_Sablon.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Blanc_Sablon.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Blanc_Sablon.pm.2016i	2016-11-03 14:27:27.698418536 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Blanc_Sablon.pm	2016-11-03 14:27:27.753418280 +0100
@@ -93,7 +93,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {3}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Boa_Vista.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Boa_Vista.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Boa_Vista.pm.2016i	2016-11-03 14:27:27.699418531 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Boa_Vista.pm	2016-11-03 14:27:27.753418280 +0100
@@ -345,7 +345,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {16}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Bogota.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Bogota.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Bogota.pm.2016i	2016-11-03 14:27:27.699418531 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Bogota.pm	2016-11-03 14:27:27.753418280 +0100
@@ -66,7 +66,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {1}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Boise.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Boise.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Boise.pm.2016i	2016-11-03 14:27:27.699418531 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Boise.pm	2016-11-03 14:27:27.753418280 +0100
@@ -1209,7 +1209,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {65}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Cambridge_Bay.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Cambridge_Bay.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Cambridge_Bay.pm.2016i	2016-11-03 14:27:27.699418531 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Cambridge_Bay.pm	2016-11-03 14:27:27.753418280 +0100
@@ -948,7 +948,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {51}
 
@@ -1002,23 +1002,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'Canada',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'Canada',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Campo_Grande.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Campo_Grande.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Campo_Grande.pm.2016i	2016-11-03 14:27:27.699418531 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Campo_Grande.pm	2016-11-03 14:27:27.754418275 +0100
@@ -1209,7 +1209,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {66}
 
@@ -1262,24 +1262,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '0:00',
-    'from' => '2038',
-    'in' => 'Feb',
-    'letter' => '',
+    'from' => '2008',
+    'in' => 'Oct',
+    'letter' => 'S',
     'name' => 'Brazil',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'Sun>=15',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '0:00',
-    'from' => '2008',
-    'in' => 'Oct',
-    'letter' => 'S',
+    'from' => '2038',
+    'in' => 'Feb',
+    'letter' => '',
     'name' => 'Brazil',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'Sun>=15',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Cancun.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Cancun.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Cancun.pm.2016i	2016-11-03 14:27:27.699418531 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Cancun.pm	2016-11-03 14:27:27.754418275 +0100
@@ -408,7 +408,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {20}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Caracas.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Caracas.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Caracas.pm.2016i	2016-11-03 14:27:27.699418531 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Caracas.pm	2016-11-03 14:27:27.754418275 +0100
@@ -75,7 +75,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Cayenne.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Cayenne.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Cayenne.pm.2016i	2016-11-03 14:27:27.699418531 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Cayenne.pm	2016-11-03 14:27:27.754418275 +0100
@@ -48,7 +48,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Chicago.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Chicago.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Chicago.pm.2016i	2016-11-03 14:27:27.700418526 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Chicago.pm	2016-11-03 14:27:27.754418275 +0100
@@ -2001,7 +2001,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {107}
 
@@ -2055,23 +2055,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'US',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'US',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Chihuahua.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Chihuahua.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Chihuahua.pm.2016i	2016-11-03 14:27:27.700418526 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Chihuahua.pm	2016-11-03 14:27:27.754418275 +0100
@@ -669,7 +669,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {32}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Costa_Rica.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Costa_Rica.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Costa_Rica.pm.2016i	2016-11-03 14:27:27.700418526 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Costa_Rica.pm	2016-11-03 14:27:27.754418275 +0100
@@ -120,7 +120,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {4}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Creston.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Creston.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Creston.pm.2016i	2016-11-03 14:27:27.700418526 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Creston.pm	2016-11-03 14:27:27.754418275 +0100
@@ -57,7 +57,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Cuiaba.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Cuiaba.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Cuiaba.pm.2016i	2016-11-03 14:27:27.700418526 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Cuiaba.pm	2016-11-03 14:27:27.754418275 +0100
@@ -1209,7 +1209,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {65}
 
@@ -1262,24 +1262,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '0:00',
-    'from' => '2008',
-    'in' => 'Oct',
-    'letter' => 'S',
+    'from' => '2038',
+    'in' => 'Feb',
+    'letter' => '',
     'name' => 'Brazil',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'Sun>=15',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '0:00',
-    'from' => '2038',
-    'in' => 'Feb',
-    'letter' => '',
+    'from' => '2008',
+    'in' => 'Oct',
+    'letter' => 'S',
     'name' => 'Brazil',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'Sun>=15',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Curacao.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Curacao.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Curacao.pm.2016i	2016-11-03 14:27:27.700418526 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Curacao.pm	2016-11-03 14:27:27.754418275 +0100
@@ -48,7 +48,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Danmarkshavn.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Danmarkshavn.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Danmarkshavn.pm.2016i	2016-11-03 14:27:27.700418526 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Danmarkshavn.pm	2016-11-03 14:27:27.754418275 +0100
@@ -336,7 +336,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {16}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Dawson.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Dawson.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Dawson.pm.2016i	2016-11-03 14:27:27.701418522 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Dawson.pm	2016-11-03 14:27:27.754418275 +0100
@@ -993,7 +993,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {53}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Dawson_Creek.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Dawson_Creek.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Dawson_Creek.pm.2016i	2016-11-03 14:27:27.701418522 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Dawson_Creek.pm	2016-11-03 14:27:27.755418271 +0100
@@ -561,7 +561,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {29}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Denver.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Denver.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Denver.pm.2016i	2016-11-03 14:27:27.701418522 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Denver.pm	2016-11-03 14:27:27.755418271 +0100
@@ -1299,7 +1299,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {69}
 
@@ -1353,23 +1353,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'US',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'US',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Detroit.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Detroit.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Detroit.pm.2016i	2016-11-03 14:27:27.701418522 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Detroit.pm	2016-11-03 14:27:27.755418271 +0100
@@ -1128,7 +1128,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {59}
 
@@ -1182,23 +1182,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'US',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'US',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Edmonton.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Edmonton.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Edmonton.pm.2016i	2016-11-03 14:27:27.701418522 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Edmonton.pm	2016-11-03 14:27:27.755418271 +0100
@@ -1236,7 +1236,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {67}
 
@@ -1290,23 +1290,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'Canada',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'Canada',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Eirunepe.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Eirunepe.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Eirunepe.pm.2016i	2016-11-03 14:27:27.701418522 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Eirunepe.pm	2016-11-03 14:27:27.755418271 +0100
@@ -354,7 +354,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {15}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/El_Salvador.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/El_Salvador.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/El_Salvador.pm.2016i	2016-11-03 14:27:27.701418522 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/El_Salvador.pm	2016-11-03 14:27:27.755418271 +0100
@@ -75,7 +75,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {2}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Fort_Nelson.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Fort_Nelson.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Fort_Nelson.pm.2016i	2016-11-03 14:27:27.702418517 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Fort_Nelson.pm	2016-11-03 14:27:27.755418271 +0100
@@ -1344,7 +1344,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {71}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Fortaleza.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Fortaleza.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Fortaleza.pm.2016i	2016-11-03 14:27:27.702418517 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Fortaleza.pm	2016-11-03 14:27:27.755418271 +0100
@@ -417,7 +417,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {19}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Glace_Bay.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Glace_Bay.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Glace_Bay.pm.2016i	2016-11-03 14:27:27.702418517 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Glace_Bay.pm	2016-11-03 14:27:27.755418271 +0100
@@ -1137,7 +1137,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {60}
 
@@ -1191,23 +1191,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'Canada',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'Canada',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Godthab.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Godthab.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Godthab.pm.2016i	2016-11-03 14:27:27.702418517 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Godthab.pm	2016-11-03 14:27:27.756418266 +0100
@@ -894,7 +894,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {48}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Goose_Bay.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Goose_Bay.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Goose_Bay.pm.2016i	2016-11-03 14:27:27.702418517 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Goose_Bay.pm	2016-11-03 14:27:27.756418266 +0100
@@ -1722,7 +1722,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {92}
 
@@ -1776,23 +1776,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'Canada',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'Canada',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Grand_Turk.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Grand_Turk.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Grand_Turk.pm.2016i	2016-11-03 14:27:27.702418517 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Grand_Turk.pm	2016-11-03 14:27:27.756418266 +0100
@@ -723,7 +723,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {37}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Guatemala.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Guatemala.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Guatemala.pm.2016i	2016-11-03 14:27:27.703418512 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Guatemala.pm	2016-11-03 14:27:27.756418266 +0100
@@ -111,7 +111,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {4}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Guayaquil.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Guayaquil.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Guayaquil.pm.2016i	2016-11-03 14:27:27.703418512 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Guayaquil.pm	2016-11-03 14:27:27.756418266 +0100
@@ -48,7 +48,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Guyana.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Guyana.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Guyana.pm.2016i	2016-11-03 14:27:27.703418512 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Guyana.pm	2016-11-03 14:27:27.756418266 +0100
@@ -66,7 +66,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Halifax.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Halifax.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Halifax.pm.2016i	2016-11-03 14:27:27.703418512 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Halifax.pm	2016-11-03 14:27:27.756418266 +0100
@@ -1929,7 +1929,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {104}
 
@@ -1983,23 +1983,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'Canada',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'Canada',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Havana.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Havana.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Havana.pm.2016i	2016-11-03 14:27:27.703418512 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Havana.pm	2016-11-03 14:27:27.756418266 +0100
@@ -1245,7 +1245,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {67}
 
@@ -1298,17 +1298,6 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '0:00s',
-    'from' => '2013',
-    'in' => 'Mar',
-    'letter' => 'D',
-    'name' => 'Cuba',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
-    'to' => 'max'
-  }, 'DateTime::TimeZone::OlsonDB::Rule' ),
-  bless( {
-    'at' => '0:00s',
     'from' => '2012',
     'in' => 'Nov',
     'letter' => 'S',
@@ -1317,6 +1306,17 @@ my $rules = [
     'on' => 'Sun>=1',
     'save' => '0',
     'to' => 'max'
+  }, 'DateTime::TimeZone::OlsonDB::Rule' ),
+  bless( {
+    'at' => '0:00s',
+    'from' => '2013',
+    'in' => 'Mar',
+    'letter' => 'D',
+    'name' => 'Cuba',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
+    'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
 ;
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Hermosillo.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Hermosillo.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Hermosillo.pm.2016i	2016-11-03 14:27:27.703418512 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Hermosillo.pm	2016-11-03 14:27:27.756418266 +0100
@@ -174,7 +174,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {3}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Indianapolis.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Indianapolis.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Indianapolis.pm.2016i	2016-11-03 14:27:27.703418512 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Indianapolis.pm	2016-11-03 14:27:27.756418266 +0100
@@ -786,7 +786,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {38}
 
@@ -840,23 +840,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'US',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'US',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Knox.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Knox.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Knox.pm.2016i	2016-11-03 14:27:27.704418508 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Knox.pm	2016-11-03 14:27:27.757418262 +0100
@@ -1236,7 +1236,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {66}
 
@@ -1290,23 +1290,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'US',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'US',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Marengo.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Marengo.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Marengo.pm.2016i	2016-11-03 14:27:27.704418508 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Marengo.pm	2016-11-03 14:27:27.757418262 +0100
@@ -804,7 +804,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {41}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Petersburg.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Petersburg.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Petersburg.pm.2016i	2016-11-03 14:27:27.704418508 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Petersburg.pm	2016-11-03 14:27:27.757418262 +0100
@@ -894,7 +894,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {47}
 
@@ -948,23 +948,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'US',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'US',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Tell_City.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Tell_City.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Tell_City.pm.2016i	2016-11-03 14:27:27.704418508 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Tell_City.pm	2016-11-03 14:27:27.757418262 +0100
@@ -777,7 +777,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {40}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Vevay.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Vevay.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Vevay.pm.2016i	2016-11-03 14:27:27.704418508 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Vevay.pm	2016-11-03 14:27:27.757418262 +0100
@@ -597,7 +597,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {30}
 
@@ -651,23 +651,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'US',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'US',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Vincennes.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Vincennes.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Vincennes.pm.2016i	2016-11-03 14:27:27.704418508 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Vincennes.pm	2016-11-03 14:27:27.757418262 +0100
@@ -777,7 +777,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {40}
 
@@ -831,23 +831,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'US',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'US',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Winamac.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Winamac.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Winamac.pm.2016i	2016-11-03 14:27:27.704418508 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Indiana/Winamac.pm	2016-11-03 14:27:27.757418262 +0100
@@ -831,7 +831,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {43}
 
@@ -885,23 +885,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'US',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'US',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Inuvik.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Inuvik.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Inuvik.pm.2016i	2016-11-03 14:27:27.705418503 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Inuvik.pm	2016-11-03 14:27:27.757418262 +0100
@@ -930,7 +930,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {49}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Iqaluit.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Iqaluit.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Iqaluit.pm.2016i	2016-11-03 14:27:27.705418503 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Iqaluit.pm	2016-11-03 14:27:27.757418262 +0100
@@ -930,7 +930,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {51}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Jamaica.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Jamaica.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Jamaica.pm.2016i	2016-11-03 14:27:27.705418503 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Jamaica.pm	2016-11-03 14:27:27.757418262 +0100
@@ -246,7 +246,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {10}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Juneau.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Juneau.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Juneau.pm.2016i	2016-11-03 14:27:27.705418503 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Juneau.pm	2016-11-03 14:27:27.758418257 +0100
@@ -1164,7 +1164,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {61}
 
@@ -1218,23 +1218,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'US',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'US',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Kentucky/Louisville.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Kentucky/Louisville.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Kentucky/Louisville.pm.2016i	2016-11-03 14:27:27.705418503 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Kentucky/Louisville.pm	2016-11-03 14:27:27.758418257 +0100
@@ -1470,7 +1470,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {79}
 
@@ -1524,23 +1524,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'US',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'US',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Kentucky/Monticello.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Kentucky/Monticello.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Kentucky/Monticello.pm.2016i	2016-11-03 14:27:27.705418503 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Kentucky/Monticello.pm	2016-11-03 14:27:27.758418257 +0100
@@ -1191,7 +1191,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {64}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/La_Paz.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/La_Paz.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/La_Paz.pm.2016i	2016-11-03 14:27:27.705418503 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/La_Paz.pm	2016-11-03 14:27:27.758418257 +0100
@@ -57,7 +57,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {1}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Lima.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Lima.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Lima.pm.2016i	2016-11-03 14:27:27.706418499 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Lima.pm	2016-11-03 14:27:27.758418257 +0100
@@ -174,7 +174,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {7}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Los_Angeles.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Los_Angeles.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Los_Angeles.pm.2016i	2016-11-03 14:27:27.706418499 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Los_Angeles.pm	2016-11-03 14:27:27.758418257 +0100
@@ -1533,7 +1533,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {83}
 
@@ -1587,23 +1587,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'US',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'US',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Maceio.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Maceio.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Maceio.pm.2016i	2016-11-03 14:27:27.706418499 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Maceio.pm	2016-11-03 14:27:27.758418257 +0100
@@ -453,7 +453,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {20}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Managua.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Managua.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Managua.pm.2016i	2016-11-03 14:27:27.706418499 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Managua.pm	2016-11-03 14:27:27.758418257 +0100
@@ -174,7 +174,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {4}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Manaus.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Manaus.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Manaus.pm.2016i	2016-11-03 14:27:27.706418499 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Manaus.pm	2016-11-03 14:27:27.758418257 +0100
@@ -336,7 +336,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {15}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Martinique.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Martinique.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Martinique.pm.2016i	2016-11-03 14:27:27.706418499 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Martinique.pm	2016-11-03 14:27:27.758418257 +0100
@@ -66,7 +66,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {1}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Matamoros.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Matamoros.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Matamoros.pm.2016i	2016-11-03 14:27:27.706418499 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Matamoros.pm	2016-11-03 14:27:27.758418257 +0100
@@ -651,7 +651,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {33}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Mazatlan.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Mazatlan.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Mazatlan.pm.2016i	2016-11-03 14:27:27.706418499 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Mazatlan.pm	2016-11-03 14:27:27.759418252 +0100
@@ -678,7 +678,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {32}
 
@@ -732,23 +732,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2002',
-    'in' => 'Oct',
-    'letter' => 'S',
+    'in' => 'Apr',
+    'letter' => 'D',
     'name' => 'Mexico',
-    'offset_from_std' => 0,
-    'on' => 'lastSun',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=1',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2002',
-    'in' => 'Apr',
-    'letter' => 'D',
+    'in' => 'Oct',
+    'letter' => 'S',
     'name' => 'Mexico',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=1',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'lastSun',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Menominee.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Menominee.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Menominee.pm.2016i	2016-11-03 14:27:27.707418494 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Menominee.pm	2016-11-03 14:27:27.759418252 +0100
@@ -1137,7 +1137,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {61}
 
@@ -1191,23 +1191,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'US',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'US',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Merida.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Merida.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Merida.pm.2016i	2016-11-03 14:27:27.707418494 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Merida.pm	2016-11-03 14:27:27.759418252 +0100
@@ -624,7 +624,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {32}
 
@@ -678,23 +678,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2002',
-    'in' => 'Oct',
-    'letter' => 'S',
+    'in' => 'Apr',
+    'letter' => 'D',
     'name' => 'Mexico',
-    'offset_from_std' => 0,
-    'on' => 'lastSun',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=1',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2002',
-    'in' => 'Apr',
-    'letter' => 'D',
+    'in' => 'Oct',
+    'letter' => 'S',
     'name' => 'Mexico',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=1',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'lastSun',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Metlakatla.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Metlakatla.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Metlakatla.pm.2016i	2016-11-03 14:27:27.707418494 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Metlakatla.pm	2016-11-03 14:27:27.759418252 +0100
@@ -588,7 +588,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {29}
 
@@ -642,23 +642,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'US',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'US',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Mexico_City.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Mexico_City.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Mexico_City.pm.2016i	2016-11-03 14:27:27.707418494 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Mexico_City.pm	2016-11-03 14:27:27.759418252 +0100
@@ -732,7 +732,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {36}
 
@@ -786,23 +786,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2002',
-    'in' => 'Apr',
-    'letter' => 'D',
+    'in' => 'Oct',
+    'letter' => 'S',
     'name' => 'Mexico',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=1',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'lastSun',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2002',
-    'in' => 'Oct',
-    'letter' => 'S',
+    'in' => 'Apr',
+    'letter' => 'D',
     'name' => 'Mexico',
-    'offset_from_std' => 0,
-    'on' => 'lastSun',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=1',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Miquelon.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Miquelon.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Miquelon.pm.2016i	2016-11-03 14:27:27.707418494 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Miquelon.pm	2016-11-03 14:27:27.759418252 +0100
@@ -786,7 +786,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {41}
 
@@ -840,23 +840,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'Canada',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'Canada',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Moncton.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Moncton.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Moncton.pm.2016i	2016-11-03 14:27:27.707418494 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Moncton.pm	2016-11-03 14:27:27.759418252 +0100
@@ -1758,7 +1758,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {93}
 
@@ -1812,23 +1812,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'Canada',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'Canada',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Monterrey.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Monterrey.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Monterrey.pm.2016i	2016-11-03 14:27:27.708418489 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Monterrey.pm	2016-11-03 14:27:27.759418252 +0100
@@ -642,7 +642,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {33}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Montevideo.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Montevideo.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Montevideo.pm.2016i	2016-11-03 14:27:27.708418489 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Montevideo.pm	2016-11-03 14:27:27.760418248 +0100
@@ -813,7 +813,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {43}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Nassau.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Nassau.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Nassau.pm.2016i	2016-11-03 14:27:27.708418489 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Nassau.pm	2016-11-03 14:27:27.760418248 +0100
@@ -1191,7 +1191,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {64}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/New_York.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/New_York.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/New_York.pm.2016i	2016-11-03 14:27:27.708418489 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/New_York.pm	2016-11-03 14:27:27.760418248 +0100
@@ -2001,7 +2001,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {108}
 
@@ -2055,23 +2055,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'US',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'US',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Nipigon.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Nipigon.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Nipigon.pm.2016i	2016-11-03 14:27:27.708418489 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Nipigon.pm	2016-11-03 14:27:27.760418248 +0100
@@ -1056,7 +1056,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {58}
 
@@ -1110,23 +1110,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'Canada',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'Canada',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Nome.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Nome.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Nome.pm.2016i	2016-11-03 14:27:27.708418489 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Nome.pm	2016-11-03 14:27:27.760418248 +0100
@@ -1173,7 +1173,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {61}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Noronha.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Noronha.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Noronha.pm.2016i	2016-11-03 14:27:27.709418485 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Noronha.pm	2016-11-03 14:27:27.760418248 +0100
@@ -417,7 +417,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {19}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/North_Dakota/Beulah.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/North_Dakota/Beulah.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/North_Dakota/Beulah.pm.2016i	2016-11-03 14:27:27.709418485 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/North_Dakota/Beulah.pm	2016-11-03 14:27:27.760418248 +0100
@@ -1191,7 +1191,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {65}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/North_Dakota/Center.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/North_Dakota/Center.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/North_Dakota/Center.pm.2016i	2016-11-03 14:27:27.709418485 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/North_Dakota/Center.pm	2016-11-03 14:27:27.760418248 +0100
@@ -1191,7 +1191,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {65}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/North_Dakota/New_Salem.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/North_Dakota/New_Salem.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/North_Dakota/New_Salem.pm.2016i	2016-11-03 14:27:27.709418485 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/North_Dakota/New_Salem.pm	2016-11-03 14:27:27.760418248 +0100
@@ -1191,7 +1191,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {65}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Ojinaga.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Ojinaga.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Ojinaga.pm.2016i	2016-11-03 14:27:27.709418485 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Ojinaga.pm	2016-11-03 14:27:27.761418243 +0100
@@ -678,7 +678,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {32}
 
@@ -732,23 +732,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'US',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'US',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Panama.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Panama.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Panama.pm.2016i	2016-11-03 14:27:27.709418485 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Panama.pm	2016-11-03 14:27:27.761418243 +0100
@@ -48,7 +48,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Pangnirtung.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Pangnirtung.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Pangnirtung.pm.2016i	2016-11-03 14:27:27.710418480 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Pangnirtung.pm	2016-11-03 14:27:27.761418243 +0100
@@ -939,7 +939,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {51}
 
@@ -993,23 +993,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'Canada',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'Canada',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Paramaribo.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Paramaribo.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Paramaribo.pm.2016i	2016-11-03 14:27:27.710418480 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Paramaribo.pm	2016-11-03 14:27:27.761418243 +0100
@@ -75,7 +75,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Phoenix.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Phoenix.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Phoenix.pm.2016i	2016-11-03 14:27:27.710418480 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Phoenix.pm	2016-11-03 14:27:27.761418243 +0100
@@ -147,7 +147,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {5}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Port_au_Prince.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Port_au_Prince.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Port_au_Prince.pm.2016i	2016-11-03 14:27:27.710418480 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Port_au_Prince.pm	2016-11-03 14:27:27.761418243 +0100
@@ -426,7 +426,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {21}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Port_of_Spain.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Port_of_Spain.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Port_of_Spain.pm.2016i	2016-11-03 14:27:27.710418480 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Port_of_Spain.pm	2016-11-03 14:27:27.761418243 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Porto_Velho.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Porto_Velho.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Porto_Velho.pm.2016i	2016-11-03 14:27:27.710418480 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Porto_Velho.pm	2016-11-03 14:27:27.761418243 +0100
@@ -300,7 +300,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {14}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Puerto_Rico.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Puerto_Rico.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Puerto_Rico.pm.2016i	2016-11-03 14:27:27.710418480 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Puerto_Rico.pm	2016-11-03 14:27:27.761418243 +0100
@@ -75,7 +75,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {2}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Rainy_River.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Rainy_River.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Rainy_River.pm.2016i	2016-11-03 14:27:27.710418480 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Rainy_River.pm	2016-11-03 14:27:27.761418243 +0100
@@ -1056,7 +1056,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {58}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Rankin_Inlet.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Rankin_Inlet.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Rankin_Inlet.pm.2016i	2016-11-03 14:27:27.711418475 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Rankin_Inlet.pm	2016-11-03 14:27:27.761418243 +0100
@@ -912,7 +912,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {49}
 
@@ -966,23 +966,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'Canada',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'Canada',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Recife.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Recife.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Recife.pm.2016i	2016-11-03 14:27:27.711418475 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Recife.pm	2016-11-03 14:27:27.762418238 +0100
@@ -417,7 +417,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {19}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Regina.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Regina.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Regina.pm.2016i	2016-11-03 14:27:27.711418475 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Regina.pm	2016-11-03 14:27:27.762418238 +0100
@@ -507,7 +507,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {26}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Resolute.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Resolute.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Resolute.pm.2016i	2016-11-03 14:27:27.711418475 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Resolute.pm	2016-11-03 14:27:27.762418238 +0100
@@ -912,7 +912,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {49}
 
@@ -966,23 +966,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'Canada',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'Canada',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Rio_Branco.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Rio_Branco.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Rio_Branco.pm.2016i	2016-11-03 14:27:27.711418475 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Rio_Branco.pm	2016-11-03 14:27:27.762418238 +0100
@@ -318,7 +318,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {14}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Santarem.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Santarem.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Santarem.pm.2016i	2016-11-03 14:27:27.711418475 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Santarem.pm	2016-11-03 14:27:27.762418238 +0100
@@ -309,7 +309,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {14}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Santiago.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Santiago.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Santiago.pm.2016i	2016-11-03 14:27:27.712418471 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Santiago.pm	2016-11-03 14:27:27.762418238 +0100
@@ -1272,7 +1272,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {65}
 
@@ -1324,25 +1324,25 @@ sub _last_observance { $last_observance
 
 my $rules = [
   bless( {
-    'at' => '4:00u',
+    'at' => '3:00u',
     'from' => '2016',
-    'in' => 'Aug',
-    'letter' => 'S',
+    'in' => 'May',
+    'letter' => '',
     'name' => 'Chile',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'Sun>=9',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
-    'at' => '3:00u',
+    'at' => '4:00u',
     'from' => '2016',
-    'in' => 'May',
-    'letter' => '',
+    'in' => 'Aug',
+    'letter' => 'S',
     'name' => 'Chile',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'Sun>=9',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Santo_Domingo.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Santo_Domingo.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Santo_Domingo.pm.2016i	2016-11-03 14:27:27.712418471 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Santo_Domingo.pm	2016-11-03 14:27:27.762418238 +0100
@@ -183,7 +183,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {6}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Sao_Paulo.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Sao_Paulo.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Sao_Paulo.pm.2016i	2016-11-03 14:27:27.712418471 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Sao_Paulo.pm	2016-11-03 14:27:27.763418234 +0100
@@ -1218,7 +1218,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {67}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Scoresbysund.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Scoresbysund.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Scoresbysund.pm.2016i	2016-11-03 14:27:27.712418471 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Scoresbysund.pm	2016-11-03 14:27:27.763418234 +0100
@@ -894,7 +894,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {48}
 
@@ -947,24 +947,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Sitka.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Sitka.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Sitka.pm.2016i	2016-11-03 14:27:27.712418471 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Sitka.pm	2016-11-03 14:27:27.763418234 +0100
@@ -1164,7 +1164,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {61}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/St_Johns.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/St_Johns.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/St_Johns.pm.2016i	2016-11-03 14:27:27.712418471 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/St_Johns.pm	2016-11-03 14:27:27.763418234 +0100
@@ -2028,7 +2028,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {110}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Swift_Current.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Swift_Current.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Swift_Current.pm.2016i	2016-11-03 14:27:27.712418471 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Swift_Current.pm	2016-11-03 14:27:27.763418234 +0100
@@ -246,7 +246,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {11}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Tegucigalpa.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Tegucigalpa.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Tegucigalpa.pm.2016i	2016-11-03 14:27:27.713418466 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Tegucigalpa.pm	2016-11-03 14:27:27.763418234 +0100
@@ -93,7 +93,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {3}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Thule.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Thule.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Thule.pm.2016i	2016-11-03 14:27:27.713418466 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Thule.pm	2016-11-03 14:27:27.764418229 +0100
@@ -696,7 +696,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {37}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Thunder_Bay.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Thunder_Bay.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Thunder_Bay.pm.2016i	2016-11-03 14:27:27.713418466 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Thunder_Bay.pm	2016-11-03 14:27:27.764418229 +0100
@@ -1128,7 +1128,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {59}
 
@@ -1182,23 +1182,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'Canada',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'Canada',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Tijuana.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Tijuana.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Tijuana.pm.2016i	2016-11-03 14:27:27.713418466 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Tijuana.pm	2016-11-03 14:27:27.764418229 +0100
@@ -1245,7 +1245,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {63}
 
@@ -1299,23 +1299,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'US',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'US',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Toronto.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Toronto.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Toronto.pm.2016i	2016-11-03 14:27:27.714418461 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Toronto.pm	2016-11-03 14:27:27.764418229 +0100
@@ -1965,7 +1965,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {107}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Vancouver.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Vancouver.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Vancouver.pm.2016i	2016-11-03 14:27:27.714418461 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Vancouver.pm	2016-11-03 14:27:27.764418229 +0100
@@ -1560,7 +1560,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {85}
 
@@ -1614,23 +1614,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'Canada',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'Canada',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Whitehorse.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Whitehorse.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Whitehorse.pm.2016i	2016-11-03 14:27:27.714418461 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Whitehorse.pm	2016-11-03 14:27:27.765418225 +0100
@@ -993,7 +993,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {53}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Winnipeg.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Winnipeg.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Winnipeg.pm.2016i	2016-11-03 14:27:27.714418461 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Winnipeg.pm	2016-11-03 14:27:27.765418225 +0100
@@ -1524,7 +1524,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {83}
 
@@ -1578,23 +1578,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'Canada',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'Canada',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Yakutat.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Yakutat.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Yakutat.pm.2016i	2016-11-03 14:27:27.715418457 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Yakutat.pm	2016-11-03 14:27:27.765418225 +0100
@@ -1164,7 +1164,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {61}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Yellowknife.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Yellowknife.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Yellowknife.pm.2016i	2016-11-03 14:27:27.715418457 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/America/Yellowknife.pm	2016-11-03 14:27:27.765418225 +0100
@@ -948,7 +948,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {51}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Casey.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Casey.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Casey.pm.2016i	2016-11-03 14:27:27.715418457 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Casey.pm	2016-11-03 14:27:27.765418225 +0100
@@ -66,16 +66,25 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 63465526800, #    utc_start 2012-02-21 17:00:00 (Tue)
-DateTime::TimeZone::INFINITY, #      utc_end
+63612748800, #      utc_end 2016-10-21 16:00:00 (Fri)
 63465555600, #  local_start 2012-02-22 01:00:00 (Wed)
-DateTime::TimeZone::INFINITY, #    local_end
+63612777600, #    local_end 2016-10-22 00:00:00 (Sat)
 28800,
 0,
 '+08',
     ],
+    [
+63612748800, #    utc_start 2016-10-21 16:00:00 (Fri)
+DateTime::TimeZone::INFINITY, #      utc_end
+63612788400, #  local_start 2016-10-22 03:00:00 (Sat)
+DateTime::TimeZone::INFINITY, #    local_end
+39600,
+0,
+'+11',
+    ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Davis.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Davis.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Davis.pm.2016i	2016-11-03 14:27:27.715418457 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Davis.pm	2016-11-03 14:27:27.765418225 +0100
@@ -93,7 +93,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/DumontDUrville.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/DumontDUrville.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/DumontDUrville.pm.2016i	2016-11-03 14:27:27.715418457 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/DumontDUrville.pm	2016-11-03 14:27:27.765418225 +0100
@@ -57,7 +57,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Macquarie.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Macquarie.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Macquarie.pm.2016i	2016-11-03 14:27:27.716418452 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Macquarie.pm	2016-11-03 14:27:27.765418225 +0100
@@ -867,7 +867,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {45}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Mawson.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Mawson.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Mawson.pm.2016i	2016-11-03 14:27:27.716418452 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Mawson.pm	2016-11-03 14:27:27.765418225 +0100
@@ -48,7 +48,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Palmer.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Palmer.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Palmer.pm.2016i	2016-11-03 14:27:27.716418452 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Palmer.pm	2016-11-03 14:27:27.765418225 +0100
@@ -948,7 +948,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {51}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Rothera.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Rothera.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Rothera.pm.2016i	2016-11-03 14:27:27.716418452 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Rothera.pm	2016-11-03 14:27:27.765418225 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Syowa.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Syowa.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Syowa.pm.2016i	2016-11-03 14:27:27.716418452 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Syowa.pm	2016-11-03 14:27:27.766418220 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Troll.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Troll.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Troll.pm.2016i	2016-11-03 14:27:27.716418452 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Troll.pm	2016-11-03 14:27:27.766418220 +0100
@@ -444,7 +444,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {23}
 
@@ -497,24 +497,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '2004',
-    'in' => 'Oct',
-    'letter' => '+00',
+    'from' => '2005',
+    'in' => 'Mar',
+    'letter' => '+02',
     'name' => 'Troll',
-    'offset_from_std' => 0,
+    'offset_from_std' => 7200,
     'on' => 'lastSun',
-    'save' => '0:00',
+    'save' => '2:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '2005',
-    'in' => 'Mar',
-    'letter' => '+02',
+    'from' => '2004',
+    'in' => 'Oct',
+    'letter' => '+00',
     'name' => 'Troll',
-    'offset_from_std' => 7200,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '2:00',
+    'save' => '0:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Vostok.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Vostok.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Vostok.pm.2016i	2016-11-03 14:27:27.716418452 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Antarctica/Vostok.pm	2016-11-03 14:27:27.766418220 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Almaty.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Almaty.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Almaty.pm.2016i	2016-11-03 14:27:27.717418447 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Almaty.pm	2016-11-03 14:27:27.766418220 +0100
@@ -489,7 +489,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {24}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Amman.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Amman.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Amman.pm.2016i	2016-11-03 14:27:27.717418447 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Amman.pm	2016-11-03 14:27:27.766418220 +0100
@@ -894,7 +894,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {48}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Anadyr.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Anadyr.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Anadyr.pm.2016i	2016-11-03 14:27:27.717418447 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Anadyr.pm	2016-11-03 14:27:27.766418220 +0100
@@ -606,7 +606,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {30}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Aqtau.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Aqtau.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Aqtau.pm.2016i	2016-11-03 14:27:27.717418447 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Aqtau.pm	2016-11-03 14:27:27.766418220 +0100
@@ -489,7 +489,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {23}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Aqtobe.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Aqtobe.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Aqtobe.pm.2016i	2016-11-03 14:27:27.717418447 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Aqtobe.pm	2016-11-03 14:27:27.766418220 +0100
@@ -489,7 +489,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {24}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Ashgabat.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Ashgabat.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Ashgabat.pm.2016i	2016-11-03 14:27:27.718418443 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Ashgabat.pm	2016-11-03 14:27:27.766418220 +0100
@@ -255,7 +255,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {11}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Baghdad.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Baghdad.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Baghdad.pm.2016i	2016-11-03 14:27:27.718418443 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Baghdad.pm	2016-11-03 14:27:27.766418220 +0100
@@ -516,7 +516,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {26}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Baku.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Baku.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Baku.pm.2016i	2016-11-03 14:27:27.718418443 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Baku.pm	2016-11-03 14:27:27.766418220 +0100
@@ -642,7 +642,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {32}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Bangkok.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Bangkok.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Bangkok.pm.2016i	2016-11-03 14:27:27.718418443 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Bangkok.pm	2016-11-03 14:27:27.766418220 +0100
@@ -48,7 +48,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Barnaul.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Barnaul.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Barnaul.pm.2016i	2016-11-03 14:27:27.718418443 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Barnaul.pm	2016-11-03 14:27:27.766418220 +0100
@@ -633,7 +633,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {31}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Beirut.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Beirut.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Beirut.pm.2016i	2016-11-03 14:27:27.718418443 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Beirut.pm	2016-11-03 14:27:27.767418215 +0100
@@ -1110,7 +1110,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {60}
 
@@ -1163,24 +1163,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '0:00',
-    'from' => '1999',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1993',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'Lebanon',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '0:00',
-    'from' => '1993',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1999',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'Lebanon',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Bishkek.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Bishkek.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Bishkek.pm.2016i	2016-11-03 14:27:27.719418438 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Bishkek.pm	2016-11-03 14:27:27.767418215 +0100
@@ -498,7 +498,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {25}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Brunei.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Brunei.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Brunei.pm.2016i	2016-11-03 14:27:27.719418438 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Brunei.pm	2016-11-03 14:27:27.767418215 +0100
@@ -48,7 +48,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Chita.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Chita.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Chita.pm.2016i	2016-11-03 14:27:27.719418438 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Chita.pm	2016-11-03 14:27:27.767418215 +0100
@@ -624,7 +624,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {30}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Choibalsan.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Choibalsan.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Choibalsan.pm.2016i	2016-11-03 14:27:27.719418438 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Choibalsan.pm	2016-11-03 14:27:27.767418215 +0100
@@ -678,7 +678,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {35}
 
@@ -730,25 +730,25 @@ sub _last_observance { $last_observance
 
 my $rules = [
   bless( {
-    'at' => '2:00',
+    'at' => '0:00',
     'from' => '2015',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'in' => 'Sep',
+    'letter' => '',
     'name' => 'Mongol',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSat',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
-    'at' => '0:00',
+    'at' => '2:00',
     'from' => '2015',
-    'in' => 'Sep',
-    'letter' => '',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'Mongol',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSat',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Colombo.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Colombo.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Colombo.pm.2016i	2016-11-03 14:27:27.719418438 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Colombo.pm	2016-11-03 14:27:27.767418215 +0100
@@ -102,7 +102,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {2}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Damascus.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Damascus.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Damascus.pm.2016i	2016-11-03 14:27:27.719418438 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Damascus.pm	2016-11-03 14:27:27.767418215 +0100
@@ -1200,7 +1200,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {65}
 
@@ -1253,24 +1253,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '0:00',
-    'from' => '2012',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '2009',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'Syria',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastFri',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '0:00',
-    'from' => '2009',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '2012',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'Syria',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastFri',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Dhaka.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Dhaka.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Dhaka.pm.2016i	2016-11-03 14:27:27.719418438 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Dhaka.pm	2016-11-03 14:27:27.767418215 +0100
@@ -111,7 +111,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {1}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Dili.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Dili.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Dili.pm.2016i	2016-11-03 14:27:27.720418433 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Dili.pm	2016-11-03 14:27:27.767418215 +0100
@@ -75,7 +75,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Dubai.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Dubai.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Dubai.pm.2016i	2016-11-03 14:27:27.720418433 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Dubai.pm	2016-11-03 14:27:27.767418215 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Dushanbe.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Dushanbe.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Dushanbe.pm.2016i	2016-11-03 14:27:27.720418433 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Dushanbe.pm	2016-11-03 14:27:27.767418215 +0100
@@ -246,7 +246,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {11}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Famagusta.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Famagusta.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Famagusta.pm.2016i	2016-11-03 14:27:27.768418210 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Famagusta.pm	2016-11-03 14:27:27.767418215 +0100
@@ -0,0 +1,822 @@
+# This file is auto-generated by the Perl DateTime Suite time zone
+# code generator (0.08) This code generator comes with the
+# DateTime::TimeZone module distribution in the tools/ directory
+
+#
+# Generated from /tmp/kLJgvD2F1Z/asia.  Olson data version 2016i
+#
+# Do not edit this file directly.
+#
+package DateTime::TimeZone::Asia::Famagusta;
+
+use strict;
+
+our $VERSION = '2.01';
+
+use Class::Singleton 1.03;
+use DateTime::TimeZone;
+use DateTime::TimeZone::OlsonDB;
+
+@DateTime::TimeZone::Asia::Famagusta::ISA = ( 'Class::Singleton', 'DateTime::TimeZone' );
+
+my $spans =
+[
+    [
+DateTime::TimeZone::NEG_INFINITY, #    utc_start
+60616763052, #      utc_end 1921-11-13 21:44:12 (Sun)
+DateTime::TimeZone::NEG_INFINITY, #  local_start
+60616771200, #    local_end 1921-11-14 00:00:00 (Mon)
+8148,
+0,
+'LMT',
+    ],
+    [
+60616763052, #    utc_start 1921-11-13 21:44:12 (Sun)
+62302255200, #      utc_end 1975-04-12 22:00:00 (Sat)
+60616770252, #  local_start 1921-11-13 23:44:12 (Sun)
+62302262400, #    local_end 1975-04-13 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62302255200, #    utc_start 1975-04-12 22:00:00 (Sat)
+62317976400, #      utc_end 1975-10-11 21:00:00 (Sat)
+62302266000, #  local_start 1975-04-13 01:00:00 (Sun)
+62317987200, #    local_end 1975-10-12 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+62317976400, #    utc_start 1975-10-11 21:00:00 (Sat)
+62336642400, #      utc_end 1976-05-14 22:00:00 (Fri)
+62317983600, #  local_start 1975-10-11 23:00:00 (Sat)
+62336649600, #    local_end 1976-05-15 00:00:00 (Sat)
+7200,
+0,
+'EET',
+    ],
+    [
+62336642400, #    utc_start 1976-05-14 22:00:00 (Fri)
+62349512400, #      utc_end 1976-10-10 21:00:00 (Sun)
+62336653200, #  local_start 1976-05-15 01:00:00 (Sat)
+62349523200, #    local_end 1976-10-11 00:00:00 (Mon)
+10800,
+1,
+'EEST',
+    ],
+    [
+62349512400, #    utc_start 1976-10-10 21:00:00 (Sun)
+62364549600, #      utc_end 1977-04-02 22:00:00 (Sat)
+62349519600, #  local_start 1976-10-10 23:00:00 (Sun)
+62364556800, #    local_end 1977-04-03 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62364549600, #    utc_start 1977-04-02 22:00:00 (Sat)
+62379666000, #      utc_end 1977-09-24 21:00:00 (Sat)
+62364560400, #  local_start 1977-04-03 01:00:00 (Sun)
+62379676800, #    local_end 1977-09-25 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+62379666000, #    utc_start 1977-09-24 21:00:00 (Sat)
+62395999200, #      utc_end 1978-04-01 22:00:00 (Sat)
+62379673200, #  local_start 1977-09-24 23:00:00 (Sat)
+62396006400, #    local_end 1978-04-02 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62395999200, #    utc_start 1978-04-01 22:00:00 (Sat)
+62411806800, #      utc_end 1978-10-01 21:00:00 (Sun)
+62396010000, #  local_start 1978-04-02 01:00:00 (Sun)
+62411817600, #    local_end 1978-10-02 00:00:00 (Mon)
+10800,
+1,
+'EEST',
+    ],
+    [
+62411806800, #    utc_start 1978-10-01 21:00:00 (Sun)
+62427448800, #      utc_end 1979-03-31 22:00:00 (Sat)
+62411814000, #  local_start 1978-10-01 23:00:00 (Sun)
+62427456000, #    local_end 1979-04-01 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62427448800, #    utc_start 1979-03-31 22:00:00 (Sat)
+62443170000, #      utc_end 1979-09-29 21:00:00 (Sat)
+62427459600, #  local_start 1979-04-01 01:00:00 (Sun)
+62443180800, #    local_end 1979-09-30 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+62443170000, #    utc_start 1979-09-29 21:00:00 (Sat)
+62459503200, #      utc_end 1980-04-05 22:00:00 (Sat)
+62443177200, #  local_start 1979-09-29 23:00:00 (Sat)
+62459510400, #    local_end 1980-04-06 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62459503200, #    utc_start 1980-04-05 22:00:00 (Sat)
+62474619600, #      utc_end 1980-09-27 21:00:00 (Sat)
+62459514000, #  local_start 1980-04-06 01:00:00 (Sun)
+62474630400, #    local_end 1980-09-28 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+62474619600, #    utc_start 1980-09-27 21:00:00 (Sat)
+62490348000, #      utc_end 1981-03-28 22:00:00 (Sat)
+62474626800, #  local_start 1980-09-27 23:00:00 (Sat)
+62490355200, #    local_end 1981-03-29 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62490348000, #    utc_start 1981-03-28 22:00:00 (Sat)
+62506069200, #      utc_end 1981-09-26 21:00:00 (Sat)
+62490358800, #  local_start 1981-03-29 01:00:00 (Sun)
+62506080000, #    local_end 1981-09-27 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+62506069200, #    utc_start 1981-09-26 21:00:00 (Sat)
+62521797600, #      utc_end 1982-03-27 22:00:00 (Sat)
+62506076400, #  local_start 1981-09-26 23:00:00 (Sat)
+62521804800, #    local_end 1982-03-28 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62521797600, #    utc_start 1982-03-27 22:00:00 (Sat)
+62537518800, #      utc_end 1982-09-25 21:00:00 (Sat)
+62521808400, #  local_start 1982-03-28 01:00:00 (Sun)
+62537529600, #    local_end 1982-09-26 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+62537518800, #    utc_start 1982-09-25 21:00:00 (Sat)
+62553247200, #      utc_end 1983-03-26 22:00:00 (Sat)
+62537526000, #  local_start 1982-09-25 23:00:00 (Sat)
+62553254400, #    local_end 1983-03-27 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62553247200, #    utc_start 1983-03-26 22:00:00 (Sat)
+62568968400, #      utc_end 1983-09-24 21:00:00 (Sat)
+62553258000, #  local_start 1983-03-27 01:00:00 (Sun)
+62568979200, #    local_end 1983-09-25 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+62568968400, #    utc_start 1983-09-24 21:00:00 (Sat)
+62584696800, #      utc_end 1984-03-24 22:00:00 (Sat)
+62568975600, #  local_start 1983-09-24 23:00:00 (Sat)
+62584704000, #    local_end 1984-03-25 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62584696800, #    utc_start 1984-03-24 22:00:00 (Sat)
+62601022800, #      utc_end 1984-09-29 21:00:00 (Sat)
+62584707600, #  local_start 1984-03-25 01:00:00 (Sun)
+62601033600, #    local_end 1984-09-30 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+62601022800, #    utc_start 1984-09-29 21:00:00 (Sat)
+62616751200, #      utc_end 1985-03-30 22:00:00 (Sat)
+62601030000, #  local_start 1984-09-29 23:00:00 (Sat)
+62616758400, #    local_end 1985-03-31 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62616751200, #    utc_start 1985-03-30 22:00:00 (Sat)
+62632472400, #      utc_end 1985-09-28 21:00:00 (Sat)
+62616762000, #  local_start 1985-03-31 01:00:00 (Sun)
+62632483200, #    local_end 1985-09-29 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+62632472400, #    utc_start 1985-09-28 21:00:00 (Sat)
+62648200800, #      utc_end 1986-03-29 22:00:00 (Sat)
+62632479600, #  local_start 1985-09-28 23:00:00 (Sat)
+62648208000, #    local_end 1986-03-30 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62648200800, #    utc_start 1986-03-29 22:00:00 (Sat)
+62663922000, #      utc_end 1986-09-27 21:00:00 (Sat)
+62648211600, #  local_start 1986-03-30 01:00:00 (Sun)
+62663932800, #    local_end 1986-09-28 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+62663922000, #    utc_start 1986-09-27 21:00:00 (Sat)
+62679650400, #      utc_end 1987-03-28 22:00:00 (Sat)
+62663929200, #  local_start 1986-09-27 23:00:00 (Sat)
+62679657600, #    local_end 1987-03-29 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62679650400, #    utc_start 1987-03-28 22:00:00 (Sat)
+62695371600, #      utc_end 1987-09-26 21:00:00 (Sat)
+62679661200, #  local_start 1987-03-29 01:00:00 (Sun)
+62695382400, #    local_end 1987-09-27 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+62695371600, #    utc_start 1987-09-26 21:00:00 (Sat)
+62711100000, #      utc_end 1988-03-26 22:00:00 (Sat)
+62695378800, #  local_start 1987-09-26 23:00:00 (Sat)
+62711107200, #    local_end 1988-03-27 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62711100000, #    utc_start 1988-03-26 22:00:00 (Sat)
+62726821200, #      utc_end 1988-09-24 21:00:00 (Sat)
+62711110800, #  local_start 1988-03-27 01:00:00 (Sun)
+62726832000, #    local_end 1988-09-25 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+62726821200, #    utc_start 1988-09-24 21:00:00 (Sat)
+62742549600, #      utc_end 1989-03-25 22:00:00 (Sat)
+62726828400, #  local_start 1988-09-24 23:00:00 (Sat)
+62742556800, #    local_end 1989-03-26 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62742549600, #    utc_start 1989-03-25 22:00:00 (Sat)
+62758270800, #      utc_end 1989-09-23 21:00:00 (Sat)
+62742560400, #  local_start 1989-03-26 01:00:00 (Sun)
+62758281600, #    local_end 1989-09-24 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+62758270800, #    utc_start 1989-09-23 21:00:00 (Sat)
+62773999200, #      utc_end 1990-03-24 22:00:00 (Sat)
+62758278000, #  local_start 1989-09-23 23:00:00 (Sat)
+62774006400, #    local_end 1990-03-25 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62773999200, #    utc_start 1990-03-24 22:00:00 (Sat)
+62790325200, #      utc_end 1990-09-29 21:00:00 (Sat)
+62774010000, #  local_start 1990-03-25 01:00:00 (Sun)
+62790336000, #    local_end 1990-09-30 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+62790325200, #    utc_start 1990-09-29 21:00:00 (Sat)
+62806053600, #      utc_end 1991-03-30 22:00:00 (Sat)
+62790332400, #  local_start 1990-09-29 23:00:00 (Sat)
+62806060800, #    local_end 1991-03-31 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62806053600, #    utc_start 1991-03-30 22:00:00 (Sat)
+62821774800, #      utc_end 1991-09-28 21:00:00 (Sat)
+62806064400, #  local_start 1991-03-31 01:00:00 (Sun)
+62821785600, #    local_end 1991-09-29 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+62821774800, #    utc_start 1991-09-28 21:00:00 (Sat)
+62837503200, #      utc_end 1992-03-28 22:00:00 (Sat)
+62821782000, #  local_start 1991-09-28 23:00:00 (Sat)
+62837510400, #    local_end 1992-03-29 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62837503200, #    utc_start 1992-03-28 22:00:00 (Sat)
+62853224400, #      utc_end 1992-09-26 21:00:00 (Sat)
+62837514000, #  local_start 1992-03-29 01:00:00 (Sun)
+62853235200, #    local_end 1992-09-27 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+62853224400, #    utc_start 1992-09-26 21:00:00 (Sat)
+62868952800, #      utc_end 1993-03-27 22:00:00 (Sat)
+62853231600, #  local_start 1992-09-26 23:00:00 (Sat)
+62868960000, #    local_end 1993-03-28 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62868952800, #    utc_start 1993-03-27 22:00:00 (Sat)
+62884674000, #      utc_end 1993-09-25 21:00:00 (Sat)
+62868963600, #  local_start 1993-03-28 01:00:00 (Sun)
+62884684800, #    local_end 1993-09-26 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+62884674000, #    utc_start 1993-09-25 21:00:00 (Sat)
+62900402400, #      utc_end 1994-03-26 22:00:00 (Sat)
+62884681200, #  local_start 1993-09-25 23:00:00 (Sat)
+62900409600, #    local_end 1994-03-27 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62900402400, #    utc_start 1994-03-26 22:00:00 (Sat)
+62916123600, #      utc_end 1994-09-24 21:00:00 (Sat)
+62900413200, #  local_start 1994-03-27 01:00:00 (Sun)
+62916134400, #    local_end 1994-09-25 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+62916123600, #    utc_start 1994-09-24 21:00:00 (Sat)
+62931852000, #      utc_end 1995-03-25 22:00:00 (Sat)
+62916130800, #  local_start 1994-09-24 23:00:00 (Sat)
+62931859200, #    local_end 1995-03-26 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62931852000, #    utc_start 1995-03-25 22:00:00 (Sat)
+62947573200, #      utc_end 1995-09-23 21:00:00 (Sat)
+62931862800, #  local_start 1995-03-26 01:00:00 (Sun)
+62947584000, #    local_end 1995-09-24 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+62947573200, #    utc_start 1995-09-23 21:00:00 (Sat)
+62963906400, #      utc_end 1996-03-30 22:00:00 (Sat)
+62947580400, #  local_start 1995-09-23 23:00:00 (Sat)
+62963913600, #    local_end 1996-03-31 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62963906400, #    utc_start 1996-03-30 22:00:00 (Sat)
+62979627600, #      utc_end 1996-09-28 21:00:00 (Sat)
+62963917200, #  local_start 1996-03-31 01:00:00 (Sun)
+62979638400, #    local_end 1996-09-29 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+62979627600, #    utc_start 1996-09-28 21:00:00 (Sat)
+62995356000, #      utc_end 1997-03-29 22:00:00 (Sat)
+62979634800, #  local_start 1996-09-28 23:00:00 (Sat)
+62995363200, #    local_end 1997-03-30 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+62995356000, #    utc_start 1997-03-29 22:00:00 (Sat)
+63011077200, #      utc_end 1997-09-27 21:00:00 (Sat)
+62995366800, #  local_start 1997-03-30 01:00:00 (Sun)
+63011088000, #    local_end 1997-09-28 00:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+63011077200, #    utc_start 1997-09-27 21:00:00 (Sat)
+63026805600, #      utc_end 1998-03-28 22:00:00 (Sat)
+63011084400, #  local_start 1997-09-27 23:00:00 (Sat)
+63026812800, #    local_end 1998-03-29 00:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+63026805600, #    utc_start 1998-03-28 22:00:00 (Sat)
+63040280400, #      utc_end 1998-08-31 21:00:00 (Mon)
+63026816400, #  local_start 1998-03-29 01:00:00 (Sun)
+63040291200, #    local_end 1998-09-01 00:00:00 (Tue)
+10800,
+1,
+'EEST',
+    ],
+    [
+63040280400, #    utc_start 1998-08-31 21:00:00 (Mon)
+63044960400, #      utc_end 1998-10-25 01:00:00 (Sun)
+63040291200, #  local_start 1998-09-01 00:00:00 (Tue)
+63044971200, #    local_end 1998-10-25 04:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+63044960400, #    utc_start 1998-10-25 01:00:00 (Sun)
+63058266000, #      utc_end 1999-03-28 01:00:00 (Sun)
+63044967600, #  local_start 1998-10-25 03:00:00 (Sun)
+63058273200, #    local_end 1999-03-28 03:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+63058266000, #    utc_start 1999-03-28 01:00:00 (Sun)
+63077014800, #      utc_end 1999-10-31 01:00:00 (Sun)
+63058276800, #  local_start 1999-03-28 04:00:00 (Sun)
+63077025600, #    local_end 1999-10-31 04:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+63077014800, #    utc_start 1999-10-31 01:00:00 (Sun)
+63089715600, #      utc_end 2000-03-26 01:00:00 (Sun)
+63077022000, #  local_start 1999-10-31 03:00:00 (Sun)
+63089722800, #    local_end 2000-03-26 03:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+63089715600, #    utc_start 2000-03-26 01:00:00 (Sun)
+63108464400, #      utc_end 2000-10-29 01:00:00 (Sun)
+63089726400, #  local_start 2000-03-26 04:00:00 (Sun)
+63108475200, #    local_end 2000-10-29 04:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+63108464400, #    utc_start 2000-10-29 01:00:00 (Sun)
+63121165200, #      utc_end 2001-03-25 01:00:00 (Sun)
+63108471600, #  local_start 2000-10-29 03:00:00 (Sun)
+63121172400, #    local_end 2001-03-25 03:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+63121165200, #    utc_start 2001-03-25 01:00:00 (Sun)
+63139914000, #      utc_end 2001-10-28 01:00:00 (Sun)
+63121176000, #  local_start 2001-03-25 04:00:00 (Sun)
+63139924800, #    local_end 2001-10-28 04:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+63139914000, #    utc_start 2001-10-28 01:00:00 (Sun)
+63153219600, #      utc_end 2002-03-31 01:00:00 (Sun)
+63139921200, #  local_start 2001-10-28 03:00:00 (Sun)
+63153226800, #    local_end 2002-03-31 03:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+63153219600, #    utc_start 2002-03-31 01:00:00 (Sun)
+63171363600, #      utc_end 2002-10-27 01:00:00 (Sun)
+63153230400, #  local_start 2002-03-31 04:00:00 (Sun)
+63171374400, #    local_end 2002-10-27 04:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+63171363600, #    utc_start 2002-10-27 01:00:00 (Sun)
+63184669200, #      utc_end 2003-03-30 01:00:00 (Sun)
+63171370800, #  local_start 2002-10-27 03:00:00 (Sun)
+63184676400, #    local_end 2003-03-30 03:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+63184669200, #    utc_start 2003-03-30 01:00:00 (Sun)
+63202813200, #      utc_end 2003-10-26 01:00:00 (Sun)
+63184680000, #  local_start 2003-03-30 04:00:00 (Sun)
+63202824000, #    local_end 2003-10-26 04:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+63202813200, #    utc_start 2003-10-26 01:00:00 (Sun)
+63216118800, #      utc_end 2004-03-28 01:00:00 (Sun)
+63202820400, #  local_start 2003-10-26 03:00:00 (Sun)
+63216126000, #    local_end 2004-03-28 03:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+63216118800, #    utc_start 2004-03-28 01:00:00 (Sun)
+63234867600, #      utc_end 2004-10-31 01:00:00 (Sun)
+63216129600, #  local_start 2004-03-28 04:00:00 (Sun)
+63234878400, #    local_end 2004-10-31 04:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+63234867600, #    utc_start 2004-10-31 01:00:00 (Sun)
+63247568400, #      utc_end 2005-03-27 01:00:00 (Sun)
+63234874800, #  local_start 2004-10-31 03:00:00 (Sun)
+63247575600, #    local_end 2005-03-27 03:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+63247568400, #    utc_start 2005-03-27 01:00:00 (Sun)
+63266317200, #      utc_end 2005-10-30 01:00:00 (Sun)
+63247579200, #  local_start 2005-03-27 04:00:00 (Sun)
+63266328000, #    local_end 2005-10-30 04:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+63266317200, #    utc_start 2005-10-30 01:00:00 (Sun)
+63279018000, #      utc_end 2006-03-26 01:00:00 (Sun)
+63266324400, #  local_start 2005-10-30 03:00:00 (Sun)
+63279025200, #    local_end 2006-03-26 03:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+63279018000, #    utc_start 2006-03-26 01:00:00 (Sun)
+63297766800, #      utc_end 2006-10-29 01:00:00 (Sun)
+63279028800, #  local_start 2006-03-26 04:00:00 (Sun)
+63297777600, #    local_end 2006-10-29 04:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+63297766800, #    utc_start 2006-10-29 01:00:00 (Sun)
+63310467600, #      utc_end 2007-03-25 01:00:00 (Sun)
+63297774000, #  local_start 2006-10-29 03:00:00 (Sun)
+63310474800, #    local_end 2007-03-25 03:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+63310467600, #    utc_start 2007-03-25 01:00:00 (Sun)
+63329216400, #      utc_end 2007-10-28 01:00:00 (Sun)
+63310478400, #  local_start 2007-03-25 04:00:00 (Sun)
+63329227200, #    local_end 2007-10-28 04:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+63329216400, #    utc_start 2007-10-28 01:00:00 (Sun)
+63342522000, #      utc_end 2008-03-30 01:00:00 (Sun)
+63329223600, #  local_start 2007-10-28 03:00:00 (Sun)
+63342529200, #    local_end 2008-03-30 03:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+63342522000, #    utc_start 2008-03-30 01:00:00 (Sun)
+63360666000, #      utc_end 2008-10-26 01:00:00 (Sun)
+63342532800, #  local_start 2008-03-30 04:00:00 (Sun)
+63360676800, #    local_end 2008-10-26 04:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+63360666000, #    utc_start 2008-10-26 01:00:00 (Sun)
+63373971600, #      utc_end 2009-03-29 01:00:00 (Sun)
+63360673200, #  local_start 2008-10-26 03:00:00 (Sun)
+63373978800, #    local_end 2009-03-29 03:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+63373971600, #    utc_start 2009-03-29 01:00:00 (Sun)
+63392115600, #      utc_end 2009-10-25 01:00:00 (Sun)
+63373982400, #  local_start 2009-03-29 04:00:00 (Sun)
+63392126400, #    local_end 2009-10-25 04:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+63392115600, #    utc_start 2009-10-25 01:00:00 (Sun)
+63405421200, #      utc_end 2010-03-28 01:00:00 (Sun)
+63392122800, #  local_start 2009-10-25 03:00:00 (Sun)
+63405428400, #    local_end 2010-03-28 03:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+63405421200, #    utc_start 2010-03-28 01:00:00 (Sun)
+63424170000, #      utc_end 2010-10-31 01:00:00 (Sun)
+63405432000, #  local_start 2010-03-28 04:00:00 (Sun)
+63424180800, #    local_end 2010-10-31 04:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+63424170000, #    utc_start 2010-10-31 01:00:00 (Sun)
+63436870800, #      utc_end 2011-03-27 01:00:00 (Sun)
+63424177200, #  local_start 2010-10-31 03:00:00 (Sun)
+63436878000, #    local_end 2011-03-27 03:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+63436870800, #    utc_start 2011-03-27 01:00:00 (Sun)
+63455619600, #      utc_end 2011-10-30 01:00:00 (Sun)
+63436881600, #  local_start 2011-03-27 04:00:00 (Sun)
+63455630400, #    local_end 2011-10-30 04:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+63455619600, #    utc_start 2011-10-30 01:00:00 (Sun)
+63468320400, #      utc_end 2012-03-25 01:00:00 (Sun)
+63455626800, #  local_start 2011-10-30 03:00:00 (Sun)
+63468327600, #    local_end 2012-03-25 03:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+63468320400, #    utc_start 2012-03-25 01:00:00 (Sun)
+63487069200, #      utc_end 2012-10-28 01:00:00 (Sun)
+63468331200, #  local_start 2012-03-25 04:00:00 (Sun)
+63487080000, #    local_end 2012-10-28 04:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+63487069200, #    utc_start 2012-10-28 01:00:00 (Sun)
+63500374800, #      utc_end 2013-03-31 01:00:00 (Sun)
+63487076400, #  local_start 2012-10-28 03:00:00 (Sun)
+63500382000, #    local_end 2013-03-31 03:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+63500374800, #    utc_start 2013-03-31 01:00:00 (Sun)
+63518518800, #      utc_end 2013-10-27 01:00:00 (Sun)
+63500385600, #  local_start 2013-03-31 04:00:00 (Sun)
+63518529600, #    local_end 2013-10-27 04:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+63518518800, #    utc_start 2013-10-27 01:00:00 (Sun)
+63531824400, #      utc_end 2014-03-30 01:00:00 (Sun)
+63518526000, #  local_start 2013-10-27 03:00:00 (Sun)
+63531831600, #    local_end 2014-03-30 03:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+63531824400, #    utc_start 2014-03-30 01:00:00 (Sun)
+63549968400, #      utc_end 2014-10-26 01:00:00 (Sun)
+63531835200, #  local_start 2014-03-30 04:00:00 (Sun)
+63549979200, #    local_end 2014-10-26 04:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+63549968400, #    utc_start 2014-10-26 01:00:00 (Sun)
+63563274000, #      utc_end 2015-03-29 01:00:00 (Sun)
+63549975600, #  local_start 2014-10-26 03:00:00 (Sun)
+63563281200, #    local_end 2015-03-29 03:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+63563274000, #    utc_start 2015-03-29 01:00:00 (Sun)
+63581418000, #      utc_end 2015-10-25 01:00:00 (Sun)
+63563284800, #  local_start 2015-03-29 04:00:00 (Sun)
+63581428800, #    local_end 2015-10-25 04:00:00 (Sun)
+10800,
+1,
+'EEST',
+    ],
+    [
+63581418000, #    utc_start 2015-10-25 01:00:00 (Sun)
+63594723600, #      utc_end 2016-03-27 01:00:00 (Sun)
+63581425200, #  local_start 2015-10-25 03:00:00 (Sun)
+63594730800, #    local_end 2016-03-27 03:00:00 (Sun)
+7200,
+0,
+'EET',
+    ],
+    [
+63594723600, #    utc_start 2016-03-27 01:00:00 (Sun)
+63608965200, #      utc_end 2016-09-07 21:00:00 (Wed)
+63594734400, #  local_start 2016-03-27 04:00:00 (Sun)
+63608976000, #    local_end 2016-09-08 00:00:00 (Thu)
+10800,
+1,
+'EEST',
+    ],
+    [
+63608965200, #    utc_start 2016-09-07 21:00:00 (Wed)
+DateTime::TimeZone::INFINITY, #      utc_end
+63608976000, #  local_start 2016-09-08 00:00:00 (Thu)
+DateTime::TimeZone::INFINITY, #    local_end
+10800,
+0,
+'+03',
+    ],
+];
+
+sub olson_version {'2016i'}
+
+sub has_dst_changes {43}
+
+sub _max_year {2026}
+
+sub _new_instance {
+    return shift->_init( @_, spans => $spans );
+}
+
+
+
+1;
+
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Gaza.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Gaza.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Gaza.pm.2016i	2016-11-03 14:27:27.720418433 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Gaza.pm	2016-11-03 14:27:27.768418210 +0100
@@ -1182,7 +1182,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {61}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Hebron.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Hebron.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Hebron.pm.2016i	2016-11-03 14:27:27.720418433 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Hebron.pm	2016-11-03 14:27:27.768418210 +0100
@@ -1173,7 +1173,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {62}
 
@@ -1227,23 +1227,23 @@ my $rules = [
   bless( {
     'at' => '1:00',
     'from' => '2016',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'Palestine',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSat',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00',
     'from' => '2016',
-    'in' => 'Oct',
-    'letter' => '',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'Palestine',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSat',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Ho_Chi_Minh.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Ho_Chi_Minh.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Ho_Chi_Minh.pm.2016i	2016-11-03 14:27:27.720418433 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Ho_Chi_Minh.pm	2016-11-03 14:27:27.768418210 +0100
@@ -111,7 +111,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Hong_Kong.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Hong_Kong.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Hong_Kong.pm.2016i	2016-11-03 14:27:27.721418429 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Hong_Kong.pm	2016-11-03 14:27:27.768418210 +0100
@@ -660,7 +660,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {34}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Hovd.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Hovd.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Hovd.pm.2016i	2016-11-03 14:27:27.721418429 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Hovd.pm	2016-11-03 14:27:27.768418210 +0100
@@ -669,7 +669,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {35}
 
@@ -721,25 +721,25 @@ sub _last_observance { $last_observance
 
 my $rules = [
   bless( {
-    'at' => '0:00',
+    'at' => '2:00',
     'from' => '2015',
-    'in' => 'Sep',
-    'letter' => '',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'Mongol',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSat',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
-    'at' => '2:00',
+    'at' => '0:00',
     'from' => '2015',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'in' => 'Sep',
+    'letter' => '',
     'name' => 'Mongol',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSat',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Irkutsk.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Irkutsk.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Irkutsk.pm.2016i	2016-11-03 14:27:27.721418429 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Irkutsk.pm	2016-11-03 14:27:27.768418210 +0100
@@ -624,7 +624,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {30}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Jakarta.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Jakarta.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Jakarta.pm.2016i	2016-11-03 14:27:27.721418429 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Jakarta.pm	2016-11-03 14:27:27.768418210 +0100
@@ -102,7 +102,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Jayapura.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Jayapura.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Jayapura.pm.2016i	2016-11-03 14:27:27.721418429 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Jayapura.pm	2016-11-03 14:27:27.768418210 +0100
@@ -57,7 +57,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Jerusalem.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Jerusalem.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Jerusalem.pm.2016i	2016-11-03 14:27:27.721418429 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Jerusalem.pm	2016-11-03 14:27:27.768418210 +0100
@@ -1128,7 +1128,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {61}
 
@@ -1182,23 +1182,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2013',
-    'in' => 'Oct',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'Zion',
-    'offset_from_std' => 0,
-    'on' => 'lastSun',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Fri>=23',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2013',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Oct',
+    'letter' => 'S',
     'name' => 'Zion',
-    'offset_from_std' => 3600,
-    'on' => 'Fri>=23',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'lastSun',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kabul.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kabul.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kabul.pm.2016i	2016-11-03 14:27:27.721418429 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kabul.pm	2016-11-03 14:27:27.768418210 +0100
@@ -48,7 +48,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kamchatka.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kamchatka.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kamchatka.pm.2016i	2016-11-03 14:27:27.722418424 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kamchatka.pm	2016-11-03 14:27:27.768418210 +0100
@@ -606,7 +606,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {30}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Karachi.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Karachi.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Karachi.pm.2016i	2016-11-03 14:27:27.722418424 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Karachi.pm	2016-11-03 14:27:27.768418210 +0100
@@ -129,7 +129,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {4}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kathmandu.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kathmandu.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kathmandu.pm.2016i	2016-11-03 14:27:27.722418424 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kathmandu.pm	2016-11-03 14:27:27.769418206 +0100
@@ -48,7 +48,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Khandyga.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Khandyga.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Khandyga.pm.2016i	2016-11-03 14:27:27.722418424 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Khandyga.pm	2016-11-03 14:27:27.769418206 +0100
@@ -633,7 +633,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {30}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kolkata.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kolkata.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kolkata.pm.2016i	2016-11-03 14:27:27.722418424 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kolkata.pm	2016-11-03 14:27:27.769418206 +0100
@@ -75,7 +75,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {1}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Krasnoyarsk.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Krasnoyarsk.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Krasnoyarsk.pm.2016i	2016-11-03 14:27:27.722418424 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Krasnoyarsk.pm	2016-11-03 14:27:27.769418206 +0100
@@ -615,7 +615,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {30}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kuala_Lumpur.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kuala_Lumpur.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kuala_Lumpur.pm.2016i	2016-11-03 14:27:27.722418424 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kuala_Lumpur.pm	2016-11-03 14:27:27.769418206 +0100
@@ -102,7 +102,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {1}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kuching.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kuching.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kuching.pm.2016i	2016-11-03 14:27:27.722418424 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Kuching.pm	2016-11-03 14:27:27.769418206 +0100
@@ -201,7 +201,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {7}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Macau.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Macau.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Macau.pm.2016i	2016-11-03 14:27:27.723418420 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Macau.pm	2016-11-03 14:27:27.769418206 +0100
@@ -408,7 +408,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {20}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Magadan.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Magadan.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Magadan.pm.2016i	2016-11-03 14:27:27.723418420 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Magadan.pm	2016-11-03 14:27:27.769418206 +0100
@@ -624,7 +624,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {30}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Makassar.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Makassar.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Makassar.pm.2016i	2016-11-03 14:27:27.723418420 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Makassar.pm	2016-11-03 14:27:27.769418206 +0100
@@ -66,7 +66,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Manila.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Manila.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Manila.pm.2016i	2016-11-03 14:27:27.723418420 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Manila.pm	2016-11-03 14:27:27.769418206 +0100
@@ -120,7 +120,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {3}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Nicosia.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Nicosia.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Nicosia.pm.2016i	2016-11-03 14:27:27.723418420 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Nicosia.pm	2016-11-03 14:27:27.769418206 +0100
@@ -993,7 +993,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {54}
 
@@ -1046,24 +1046,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EUAsia',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EUAsia',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Novokuznetsk.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Novokuznetsk.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Novokuznetsk.pm.2016i	2016-11-03 14:27:27.723418420 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Novokuznetsk.pm	2016-11-03 14:27:27.769418206 +0100
@@ -606,7 +606,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {30}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Novosibirsk.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Novosibirsk.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Novosibirsk.pm.2016i	2016-11-03 14:27:27.723418420 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Novosibirsk.pm	2016-11-03 14:27:27.769418206 +0100
@@ -633,7 +633,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {31}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Omsk.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Omsk.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Omsk.pm.2016i	2016-11-03 14:27:27.724418415 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Omsk.pm	2016-11-03 14:27:27.769418206 +0100
@@ -615,7 +615,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {30}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Oral.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Oral.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Oral.pm.2016i	2016-11-03 14:27:27.724418415 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Oral.pm	2016-11-03 14:27:27.770418201 +0100
@@ -489,7 +489,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {24}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Pontianak.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Pontianak.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Pontianak.pm.2016i	2016-11-03 14:27:27.724418415 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Pontianak.pm	2016-11-03 14:27:27.770418201 +0100
@@ -102,7 +102,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Pyongyang.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Pyongyang.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Pyongyang.pm.2016i	2016-11-03 14:27:27.724418415 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Pyongyang.pm	2016-11-03 14:27:27.770418201 +0100
@@ -75,7 +75,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Qatar.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Qatar.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Qatar.pm.2016i	2016-11-03 14:27:27.724418415 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Qatar.pm	2016-11-03 14:27:27.770418201 +0100
@@ -48,7 +48,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Qyzylorda.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Qyzylorda.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Qyzylorda.pm.2016i	2016-11-03 14:27:27.724418415 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Qyzylorda.pm	2016-11-03 14:27:27.770418201 +0100
@@ -489,7 +489,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {24}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Riyadh.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Riyadh.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Riyadh.pm.2016i	2016-11-03 14:27:27.724418415 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Riyadh.pm	2016-11-03 14:27:27.770418201 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Sakhalin.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Sakhalin.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Sakhalin.pm.2016i	2016-11-03 14:27:27.724418415 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Sakhalin.pm	2016-11-03 14:27:27.770418201 +0100
@@ -624,7 +624,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {30}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Samarkand.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Samarkand.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Samarkand.pm.2016i	2016-11-03 14:27:27.724418415 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Samarkand.pm	2016-11-03 14:27:27.770418201 +0100
@@ -255,7 +255,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {11}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Seoul.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Seoul.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Seoul.pm.2016i	2016-11-03 14:27:27.725418410 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Seoul.pm	2016-11-03 14:27:27.770418201 +0100
@@ -228,7 +228,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {8}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Shanghai.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Shanghai.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Shanghai.pm.2016i	2016-11-03 14:27:27.725418410 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Shanghai.pm	2016-11-03 14:27:27.770418201 +0100
@@ -192,7 +192,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {8}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Singapore.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Singapore.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Singapore.pm.2016i	2016-11-03 14:27:27.725418410 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Singapore.pm	2016-11-03 14:27:27.770418201 +0100
@@ -111,7 +111,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {1}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Srednekolymsk.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Srednekolymsk.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Srednekolymsk.pm.2016i	2016-11-03 14:27:27.725418410 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Srednekolymsk.pm	2016-11-03 14:27:27.770418201 +0100
@@ -615,7 +615,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {30}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Taipei.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Taipei.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Taipei.pm.2016i	2016-11-03 14:27:27.725418410 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Taipei.pm	2016-11-03 14:27:27.770418201 +0100
@@ -399,7 +399,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {19}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Tashkent.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Tashkent.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Tashkent.pm.2016i	2016-11-03 14:27:27.725418410 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Tashkent.pm	2016-11-03 14:27:27.770418201 +0100
@@ -255,7 +255,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {11}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Tbilisi.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Tbilisi.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Tbilisi.pm.2016i	2016-11-03 14:27:27.725418410 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Tbilisi.pm	2016-11-03 14:27:27.770418201 +0100
@@ -516,7 +516,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {26}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Tehran.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Tehran.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Tehran.pm.2016i	2016-11-03 14:27:27.726418406 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Tehran.pm	2016-11-03 14:27:27.771418197 +0100
@@ -921,7 +921,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {48}
 
@@ -975,23 +975,23 @@ my $rules = [
   bless( {
     'at' => '0:00',
     'from' => '2036',
-    'in' => 'Sep',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'Iran',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => '21',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '0:00',
     'from' => '2036',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Sep',
+    'letter' => 'S',
     'name' => 'Iran',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => '21',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Thimphu.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Thimphu.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Thimphu.pm.2016i	2016-11-03 14:27:27.726418406 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Thimphu.pm	2016-11-03 14:27:27.771418197 +0100
@@ -48,7 +48,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Tokyo.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Tokyo.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Tokyo.pm.2016i	2016-11-03 14:27:27.726418406 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Tokyo.pm	2016-11-03 14:27:27.771418197 +0100
@@ -129,7 +129,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {4}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Tomsk.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Tomsk.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Tomsk.pm.2016i	2016-11-03 14:27:27.726418406 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Tomsk.pm	2016-11-03 14:27:27.771418197 +0100
@@ -633,7 +633,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {31}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Ulaanbaatar.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Ulaanbaatar.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Ulaanbaatar.pm.2016i	2016-11-03 14:27:27.726418406 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Ulaanbaatar.pm	2016-11-03 14:27:27.771418197 +0100
@@ -669,7 +669,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {35}
 
@@ -721,25 +721,25 @@ sub _last_observance { $last_observance
 
 my $rules = [
   bless( {
-    'at' => '0:00',
+    'at' => '2:00',
     'from' => '2015',
-    'in' => 'Sep',
-    'letter' => '',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'Mongol',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSat',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
-    'at' => '2:00',
+    'at' => '0:00',
     'from' => '2015',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'in' => 'Sep',
+    'letter' => '',
     'name' => 'Mongol',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSat',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Urumqi.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Urumqi.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Urumqi.pm.2016i	2016-11-03 14:27:27.726418406 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Urumqi.pm	2016-11-03 14:27:27.771418197 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Ust_Nera.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Ust_Nera.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Ust_Nera.pm.2016i	2016-11-03 14:27:27.726418406 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Ust_Nera.pm	2016-11-03 14:27:27.771418197 +0100
@@ -624,7 +624,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {30}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Vladivostok.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Vladivostok.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Vladivostok.pm.2016i	2016-11-03 14:27:27.726418406 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Vladivostok.pm	2016-11-03 14:27:27.771418197 +0100
@@ -615,7 +615,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {30}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Yakutsk.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Yakutsk.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Yakutsk.pm.2016i	2016-11-03 14:27:27.727418401 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Yakutsk.pm	2016-11-03 14:27:27.771418197 +0100
@@ -615,7 +615,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {30}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Yangon.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Yangon.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Yangon.pm.2016i	2016-11-03 14:27:27.727418401 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Yangon.pm	2016-11-03 14:27:27.771418197 +0100
@@ -68,7 +68,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Yekaterinburg.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Yekaterinburg.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Yekaterinburg.pm.2016i	2016-11-03 14:27:27.727418401 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Yekaterinburg.pm	2016-11-03 14:27:27.771418197 +0100
@@ -624,7 +624,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {30}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Yerevan.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Yerevan.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Yerevan.pm.2016i	2016-11-03 14:27:27.727418401 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Asia/Yerevan.pm	2016-11-03 14:27:27.771418197 +0100
@@ -597,7 +597,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {30}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Azores.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Azores.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Azores.pm.2016i	2016-11-03 14:27:27.727418401 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Azores.pm	2016-11-03 14:27:27.772418192 +0100
@@ -1830,7 +1830,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {103}
 
@@ -1883,24 +1883,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Bermuda.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Bermuda.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Bermuda.pm.2016i	2016-11-03 14:27:27.727418401 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Bermuda.pm	2016-11-03 14:27:27.772418192 +0100
@@ -1011,7 +1011,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {54}
 
@@ -1065,23 +1065,23 @@ my $rules = [
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Nov',
-    'letter' => 'S',
+    'in' => 'Mar',
+    'letter' => 'D',
     'name' => 'US',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=8',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00',
     'from' => '2007',
-    'in' => 'Mar',
-    'letter' => 'D',
+    'in' => 'Nov',
+    'letter' => 'S',
     'name' => 'US',
-    'offset_from_std' => 3600,
-    'on' => 'Sun>=8',
-    'save' => '1:00',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Canary.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Canary.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Canary.pm.2016i	2016-11-03 14:27:27.728418396 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Canary.pm	2016-11-03 14:27:27.772418192 +0100
@@ -903,7 +903,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {48}
 
@@ -956,24 +956,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Cape_Verde.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Cape_Verde.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Cape_Verde.pm.2016i	2016-11-03 14:27:27.728418396 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Cape_Verde.pm	2016-11-03 14:27:27.772418192 +0100
@@ -66,7 +66,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {1}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Faroe.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Faroe.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Faroe.pm.2016i	2016-11-03 14:27:27.728418396 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Faroe.pm	2016-11-03 14:27:27.772418192 +0100
@@ -885,7 +885,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {47}
 
@@ -938,24 +938,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Madeira.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Madeira.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Madeira.pm.2016i	2016-11-03 14:27:27.728418396 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Madeira.pm	2016-11-03 14:27:27.772418192 +0100
@@ -1830,7 +1830,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {103}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Reykjavik.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Reykjavik.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Reykjavik.pm.2016i	2016-11-03 14:27:27.728418396 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Reykjavik.pm	2016-11-03 14:27:27.772418192 +0100
@@ -642,7 +642,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {33}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/South_Georgia.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/South_Georgia.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/South_Georgia.pm.2016i	2016-11-03 14:27:27.728418396 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/South_Georgia.pm	2016-11-03 14:27:27.772418192 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Stanley.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Stanley.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Stanley.pm.2016i	2016-11-03 14:27:27.729418392 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Atlantic/Stanley.pm	2016-11-03 14:27:27.772418192 +0100
@@ -660,7 +660,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {33}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Adelaide.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Adelaide.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Adelaide.pm.2016i	2016-11-03 14:27:27.729418392 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Adelaide.pm	2016-11-03 14:27:27.772418192 +0100
@@ -1137,7 +1137,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {61}
 
@@ -1191,23 +1191,23 @@ my $rules = [
   bless( {
     'at' => '2:00s',
     'from' => '2008',
-    'in' => 'Oct',
-    'letter' => 'D',
+    'in' => 'Apr',
+    'letter' => 'S',
     'name' => 'AS',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'Sun>=1',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00s',
     'from' => '2008',
-    'in' => 'Apr',
-    'letter' => 'S',
+    'in' => 'Oct',
+    'letter' => 'D',
     'name' => 'AS',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'Sun>=1',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Brisbane.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Brisbane.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Brisbane.pm.2016i	2016-11-03 14:27:27.729418392 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Brisbane.pm	2016-11-03 14:27:27.772418192 +0100
@@ -192,7 +192,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {8}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Broken_Hill.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Broken_Hill.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Broken_Hill.pm.2016i	2016-11-03 14:27:27.729418392 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Broken_Hill.pm	2016-11-03 14:27:27.773418187 +0100
@@ -1155,7 +1155,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {62}
 
@@ -1209,23 +1209,23 @@ my $rules = [
   bless( {
     'at' => '2:00s',
     'from' => '2008',
-    'in' => 'Oct',
-    'letter' => 'D',
+    'in' => 'Apr',
+    'letter' => 'S',
     'name' => 'AS',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'Sun>=1',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00s',
     'from' => '2008',
-    'in' => 'Apr',
-    'letter' => 'S',
+    'in' => 'Oct',
+    'letter' => 'D',
     'name' => 'AS',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'Sun>=1',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Currie.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Currie.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Currie.pm.2016i	2016-11-03 14:27:27.729418392 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Currie.pm	2016-11-03 14:27:27.773418187 +0100
@@ -1137,7 +1137,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {62}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Darwin.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Darwin.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Darwin.pm.2016i	2016-11-03 14:27:27.729418392 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Darwin.pm	2016-11-03 14:27:27.773418187 +0100
@@ -120,7 +120,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {4}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Eucla.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Eucla.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Eucla.pm.2016i	2016-11-03 14:27:27.729418392 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Eucla.pm	2016-11-03 14:27:27.773418187 +0100
@@ -210,7 +210,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {9}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Hobart.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Hobart.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Hobart.pm.2016i	2016-11-03 14:27:27.730418387 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Hobart.pm	2016-11-03 14:27:27.773418187 +0100
@@ -1209,7 +1209,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {66}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Lindeman.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Lindeman.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Lindeman.pm.2016i	2016-11-03 14:27:27.730418387 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Lindeman.pm	2016-11-03 14:27:27.773418187 +0100
@@ -237,7 +237,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {10}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Lord_Howe.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Lord_Howe.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Lord_Howe.pm.2016i	2016-11-03 14:27:27.730418387 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Lord_Howe.pm	2016-11-03 14:27:27.773418187 +0100
@@ -876,7 +876,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {47}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Melbourne.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Melbourne.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Melbourne.pm.2016i	2016-11-03 14:27:27.731418382 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Melbourne.pm	2016-11-03 14:27:27.773418187 +0100
@@ -1128,7 +1128,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {61}
 
@@ -1182,23 +1182,23 @@ my $rules = [
   bless( {
     'at' => '2:00s',
     'from' => '2008',
-    'in' => 'Apr',
-    'letter' => 'S',
+    'in' => 'Oct',
+    'letter' => 'D',
     'name' => 'AV',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'Sun>=1',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00s',
     'from' => '2008',
-    'in' => 'Oct',
-    'letter' => 'D',
+    'in' => 'Apr',
+    'letter' => 'S',
     'name' => 'AV',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'Sun>=1',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Perth.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Perth.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Perth.pm.2016i	2016-11-03 14:27:27.731418382 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Perth.pm	2016-11-03 14:27:27.773418187 +0100
@@ -210,7 +210,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {9}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Sydney.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Sydney.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Sydney.pm.2016i	2016-11-03 14:27:27.731418382 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Australia/Sydney.pm	2016-11-03 14:27:27.773418187 +0100
@@ -1128,7 +1128,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {61}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/CET.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/CET.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/CET.pm.2016i	2016-11-03 14:27:27.731418382 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/CET.pm	2016-11-03 14:27:27.774418183 +0100
@@ -1065,7 +1065,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {58}
 
@@ -1092,24 +1092,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '2:00s',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'C-Eur',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00s',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'C-Eur',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/CST6CDT.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/CST6CDT.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/CST6CDT.pm.2016i	2016-11-03 14:27:27.732418378 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/CST6CDT.pm	2016-11-03 14:27:27.774418183 +0100
@@ -1182,7 +1182,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {65}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Catalog.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Catalog.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Catalog.pm.2016i	2016-11-03 14:27:27.732418378 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Catalog.pm	2016-11-03 14:27:27.774418183 +0100
@@ -191,6 +191,7 @@ qw(
   Asia/Dili
   Asia/Dubai
   Asia/Dushanbe
+  Asia/Famagusta
   Asia/Gaza
   Asia/Hebron
   Asia/Ho_Chi_Minh
@@ -568,6 +569,7 @@ our %CATEGORIES =
     Dili
     Dubai
     Dushanbe
+    Famagusta
     Gaza
     Hebron
     Ho_Chi_Minh
@@ -985,6 +987,7 @@ our %ZONES_BY_COUNTRY =
 ) ],
   'cy' => [ qw(
     Asia/Nicosia
+    Asia/Famagusta
 ) ],
   'cz' => [ qw(
     Europe/Prague
@@ -1883,7 +1886,7 @@ our %LINKS =
 
 ;
 
-sub OlsonVersion { '2016h' }
+sub OlsonVersion { '2016i' }
 
 
 1;
@@ -2091,6 +2094,7 @@ so that applications can easily present
   Asia/Dili
   Asia/Dubai
   Asia/Dushanbe
+  Asia/Famagusta
   Asia/Gaza
   Asia/Hebron
   Asia/Ho_Chi_Minh
@@ -2582,7 +2586,8 @@ so that applications can easily present
 
 =head3 Cyprus (CY)
 
-  Asia/Nicosia
+  Asia/Nicosia - Cyprus (most areas)
+  Asia/Famagusta - Northern Cyprus
 
 =head3 Czech Republic (CZ)
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/EET.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/EET.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/EET.pm.2016i	2016-11-03 14:27:27.732418378 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/EET.pm	2016-11-03 14:27:27.774418183 +0100
@@ -939,7 +939,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {51}
 
@@ -966,24 +966,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/EST.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/EST.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/EST.pm.2016i	2016-11-03 14:27:27.732418378 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/EST.pm	2016-11-03 14:27:27.774418183 +0100
@@ -30,7 +30,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/EST5EDT.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/EST5EDT.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/EST5EDT.pm.2016i	2016-11-03 14:27:27.732418378 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/EST5EDT.pm	2016-11-03 14:27:27.774418183 +0100
@@ -1182,7 +1182,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {65}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Amsterdam.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Amsterdam.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Amsterdam.pm.2016i	2016-11-03 14:27:27.733418373 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Amsterdam.pm	2016-11-03 14:27:27.774418183 +0100
@@ -1470,7 +1470,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {80}
 
@@ -1523,24 +1523,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Andorra.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Andorra.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Andorra.pm.2016i	2016-11-03 14:27:27.733418373 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Andorra.pm	2016-11-03 14:27:27.774418183 +0100
@@ -813,7 +813,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {43}
 
@@ -866,24 +866,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Astrakhan.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Astrakhan.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Astrakhan.pm.2016i	2016-11-03 14:27:27.733418373 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Astrakhan.pm	2016-11-03 14:27:27.775418178 +0100
@@ -606,7 +606,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {29}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Athens.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Athens.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Athens.pm.2016i	2016-11-03 14:27:27.733418373 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Athens.pm	2016-11-03 14:27:27.775418178 +0100
@@ -1092,7 +1092,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {58}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Belgrade.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Belgrade.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Belgrade.pm.2016i	2016-11-03 14:27:27.733418373 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Belgrade.pm	2016-11-03 14:27:27.775418178 +0100
@@ -930,7 +930,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {49}
 
@@ -983,24 +983,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Berlin.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Berlin.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Berlin.pm.2016i	2016-11-03 14:27:27.734418368 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Berlin.pm	2016-11-03 14:27:27.775418178 +0100
@@ -1146,7 +1146,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {63}
 
@@ -1199,24 +1199,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Brussels.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Brussels.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Brussels.pm.2016i	2016-11-03 14:27:27.734418368 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Brussels.pm	2016-11-03 14:27:27.775418178 +0100
@@ -1524,7 +1524,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {82}
 
@@ -1577,24 +1577,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Bucharest.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Bucharest.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Bucharest.pm.2016i	2016-11-03 14:27:27.734418368 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Bucharest.pm	2016-11-03 14:27:27.775418178 +0100
@@ -1092,7 +1092,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {57}
 
@@ -1145,24 +1145,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Budapest.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Budapest.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Budapest.pm.2016i	2016-11-03 14:27:27.734418368 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Budapest.pm	2016-11-03 14:27:27.775418178 +0100
@@ -1218,7 +1218,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {65}
 
@@ -1271,24 +1271,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Chisinau.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Chisinau.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Chisinau.pm.2016i	2016-11-03 14:27:27.734418368 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Chisinau.pm	2016-11-03 14:27:27.775418178 +0100
@@ -1128,7 +1128,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {60}
 
@@ -1180,25 +1180,25 @@ sub _last_observance { $last_observance
 
 my $rules = [
   bless( {
-    'at' => '3:00',
+    'at' => '2:00',
     'from' => '1997',
-    'in' => 'Oct',
-    'letter' => '',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'Moldova',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
-    'at' => '2:00',
+    'at' => '3:00',
     'from' => '1997',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'Moldova',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Copenhagen.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Copenhagen.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Copenhagen.pm.2016i	2016-11-03 14:27:27.735418364 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Copenhagen.pm	2016-11-03 14:27:27.776418173 +0100
@@ -1056,7 +1056,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {56}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Dublin.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Dublin.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Dublin.pm.2016i	2016-11-03 14:27:27.735418364 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Dublin.pm	2016-11-03 14:27:27.776418173 +0100
@@ -1911,7 +1911,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {103}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Gibraltar.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Gibraltar.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Gibraltar.pm.2016i	2016-11-03 14:27:27.735418364 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Gibraltar.pm	2016-11-03 14:27:27.776418173 +0100
@@ -1632,7 +1632,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {94}
 
@@ -1685,24 +1685,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Helsinki.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Helsinki.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Helsinki.pm.2016i	2016-11-03 14:27:27.735418364 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Helsinki.pm	2016-11-03 14:27:27.776418173 +0100
@@ -912,7 +912,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {48}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Istanbul.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Istanbul.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Istanbul.pm.2016i	2016-11-03 14:27:27.735418364 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Istanbul.pm	2016-11-03 14:27:27.776418173 +0100
@@ -1236,7 +1236,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {66}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Kaliningrad.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Kaliningrad.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Kaliningrad.pm.2016i	2016-11-03 14:27:27.736418359 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Kaliningrad.pm	2016-11-03 14:27:27.776418173 +0100
@@ -741,7 +741,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {37}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Kiev.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Kiev.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Kiev.pm.2016i	2016-11-03 14:27:27.736418359 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Kiev.pm	2016-11-03 14:27:27.776418173 +0100
@@ -939,7 +939,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {49}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Kirov.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Kirov.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Kirov.pm.2016i	2016-11-03 14:27:27.736418359 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Kirov.pm	2016-11-03 14:27:27.776418173 +0100
@@ -597,7 +597,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {29}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Lisbon.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Lisbon.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Lisbon.pm.2016i	2016-11-03 14:27:27.736418359 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Lisbon.pm	2016-11-03 14:27:27.777418169 +0100
@@ -1839,7 +1839,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {103}
 
@@ -1892,24 +1892,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/London.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/London.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/London.pm.2016i	2016-11-03 14:27:27.736418359 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/London.pm	2016-11-03 14:27:27.777418169 +0100
@@ -2028,7 +2028,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {116}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Luxembourg.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Luxembourg.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Luxembourg.pm.2016i	2016-11-03 14:27:27.737418354 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Luxembourg.pm	2016-11-03 14:27:27.777418169 +0100
@@ -1497,7 +1497,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {81}
 
@@ -1550,24 +1550,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Madrid.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Madrid.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Madrid.pm.2016i	2016-11-03 14:27:27.737418354 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Madrid.pm	2016-11-03 14:27:27.777418169 +0100
@@ -1326,7 +1326,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {76}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Malta.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Malta.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Malta.pm.2016i	2016-11-03 14:27:27.737418354 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Malta.pm	2016-11-03 14:27:27.777418169 +0100
@@ -30,26 +30,26 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 59732204516, #    utc_start 1893-11-01 23:01:56 (Wed)
-60444831600, #      utc_end 1916-06-02 23:00:00 (Fri)
+60444918000, #      utc_end 1916-06-03 23:00:00 (Sat)
 59732208116, #  local_start 1893-11-02 00:01:56 (Thu)
-60444835200, #    local_end 1916-06-03 00:00:00 (Sat)
+60444921600, #    local_end 1916-06-04 00:00:00 (Sun)
 3600,
 0,
 'CET',
     ],
     [
-60444831600, #    utc_start 1916-06-02 23:00:00 (Fri)
-60455199600, #      utc_end 1916-09-30 23:00:00 (Sat)
-60444838800, #  local_start 1916-06-03 01:00:00 (Sat)
-60455206800, #    local_end 1916-10-01 01:00:00 (Sun)
+60444918000, #    utc_start 1916-06-03 23:00:00 (Sat)
+60455196000, #      utc_end 1916-09-30 22:00:00 (Sat)
+60444925200, #  local_start 1916-06-04 01:00:00 (Sun)
+60455203200, #    local_end 1916-10-01 00:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-60455199600, #    utc_start 1916-09-30 23:00:00 (Sat)
+60455196000, #    utc_start 1916-09-30 22:00:00 (Sat)
 60470924400, #      utc_end 1917-03-31 23:00:00 (Sat)
-60455203200, #  local_start 1916-10-01 00:00:00 (Sun)
+60455199600, #  local_start 1916-09-30 23:00:00 (Sat)
 60470928000, #    local_end 1917-04-01 00:00:00 (Sun)
 3600,
 0,
@@ -57,17 +57,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 60470924400, #    utc_start 1917-03-31 23:00:00 (Sat)
-60486649200, #      utc_end 1917-09-29 23:00:00 (Sat)
+60486732000, #      utc_end 1917-09-30 22:00:00 (Sun)
 60470931600, #  local_start 1917-04-01 01:00:00 (Sun)
-60486656400, #    local_end 1917-09-30 01:00:00 (Sun)
+60486739200, #    local_end 1917-10-01 00:00:00 (Mon)
 7200,
 1,
 'CEST',
     ],
     [
-60486649200, #    utc_start 1917-09-29 23:00:00 (Sat)
+60486732000, #    utc_start 1917-09-30 22:00:00 (Sun)
 60500559600, #      utc_end 1918-03-09 23:00:00 (Sat)
-60486652800, #  local_start 1917-09-30 00:00:00 (Sun)
+60486735600, #  local_start 1917-09-30 23:00:00 (Sun)
 60500563200, #    local_end 1918-03-10 00:00:00 (Sun)
 3600,
 0,
@@ -75,17 +75,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 60500559600, #    utc_start 1918-03-09 23:00:00 (Sat)
-60518703600, #      utc_end 1918-10-05 23:00:00 (Sat)
+60518786400, #      utc_end 1918-10-06 22:00:00 (Sun)
 60500566800, #  local_start 1918-03-10 01:00:00 (Sun)
-60518710800, #    local_end 1918-10-06 01:00:00 (Sun)
+60518793600, #    local_end 1918-10-07 00:00:00 (Mon)
 7200,
 1,
 'CEST',
     ],
     [
-60518703600, #    utc_start 1918-10-05 23:00:00 (Sat)
+60518786400, #    utc_start 1918-10-06 22:00:00 (Sun)
 60531404400, #      utc_end 1919-03-01 23:00:00 (Sat)
-60518707200, #  local_start 1918-10-06 00:00:00 (Sun)
+60518790000, #  local_start 1918-10-06 23:00:00 (Sun)
 60531408000, #    local_end 1919-03-02 00:00:00 (Sun)
 3600,
 0,
@@ -93,17 +93,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 60531404400, #    utc_start 1919-03-01 23:00:00 (Sat)
-60550153200, #      utc_end 1919-10-04 23:00:00 (Sat)
+60550149600, #      utc_end 1919-10-04 22:00:00 (Sat)
 60531411600, #  local_start 1919-03-02 01:00:00 (Sun)
-60550160400, #    local_end 1919-10-05 01:00:00 (Sun)
+60550156800, #    local_end 1919-10-05 00:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-60550153200, #    utc_start 1919-10-04 23:00:00 (Sat)
+60550149600, #    utc_start 1919-10-04 22:00:00 (Sat)
 60564668400, #      utc_end 1920-03-20 23:00:00 (Sat)
-60550156800, #  local_start 1919-10-05 00:00:00 (Sun)
+60550153200, #  local_start 1919-10-04 23:00:00 (Sat)
 60564672000, #    local_end 1920-03-21 00:00:00 (Sun)
 3600,
 0,
@@ -111,17 +111,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 60564668400, #    utc_start 1920-03-20 23:00:00 (Sat)
-60580393200, #      utc_end 1920-09-18 23:00:00 (Sat)
+60580389600, #      utc_end 1920-09-18 22:00:00 (Sat)
 60564675600, #  local_start 1920-03-21 01:00:00 (Sun)
-60580400400, #    local_end 1920-09-19 01:00:00 (Sun)
+60580396800, #    local_end 1920-09-19 00:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-60580393200, #    utc_start 1920-09-18 23:00:00 (Sat)
+60580389600, #    utc_start 1920-09-18 22:00:00 (Sat)
 61203250800, #      utc_end 1940-06-14 23:00:00 (Fri)
-60580396800, #  local_start 1920-09-19 00:00:00 (Sun)
+60580393200, #  local_start 1920-09-18 23:00:00 (Sat)
 61203254400, #    local_end 1940-06-15 00:00:00 (Sat)
 3600,
 0,
@@ -156,26 +156,26 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 61307456400, #    utc_start 1943-10-04 01:00:00 (Mon)
-61323181200, #      utc_end 1944-04-03 01:00:00 (Mon)
+61323094800, #      utc_end 1944-04-02 01:00:00 (Sun)
 61307460000, #  local_start 1943-10-04 02:00:00 (Mon)
-61323184800, #    local_end 1944-04-03 02:00:00 (Mon)
+61323098400, #    local_end 1944-04-02 02:00:00 (Sun)
 3600,
 0,
 'CET',
     ],
     [
-61323181200, #    utc_start 1944-04-03 01:00:00 (Mon)
-61338906000, #      utc_end 1944-10-02 01:00:00 (Mon)
-61323188400, #  local_start 1944-04-03 03:00:00 (Mon)
-61338913200, #    local_end 1944-10-02 03:00:00 (Mon)
+61323094800, #    utc_start 1944-04-02 01:00:00 (Sun)
+61337610000, #      utc_end 1944-09-17 01:00:00 (Sun)
+61323102000, #  local_start 1944-04-02 03:00:00 (Sun)
+61337617200, #    local_end 1944-09-17 03:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-61338906000, #    utc_start 1944-10-02 01:00:00 (Mon)
+61337610000, #    utc_start 1944-09-17 01:00:00 (Sun)
 61354630800, #      utc_end 1945-04-02 01:00:00 (Mon)
-61338909600, #  local_start 1944-10-02 02:00:00 (Mon)
+61337613600, #  local_start 1944-09-17 02:00:00 (Sun)
 61354634400, #    local_end 1945-04-02 02:00:00 (Mon)
 3600,
 0,
@@ -273,17 +273,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 62053686000, #    utc_start 1967-05-27 23:00:00 (Sat)
-62063964000, #      utc_end 1967-09-23 22:00:00 (Sat)
+62063967600, #      utc_end 1967-09-23 23:00:00 (Sat)
 62053693200, #  local_start 1967-05-28 01:00:00 (Sun)
-62063971200, #    local_end 1967-09-24 00:00:00 (Sun)
+62063974800, #    local_end 1967-09-24 01:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-62063964000, #    utc_start 1967-09-23 22:00:00 (Sat)
+62063967600, #    utc_start 1967-09-23 23:00:00 (Sat)
 62085135600, #      utc_end 1968-05-25 23:00:00 (Sat)
-62063967600, #  local_start 1967-09-23 23:00:00 (Sat)
+62063971200, #  local_start 1967-09-24 00:00:00 (Sun)
 62085139200, #    local_end 1968-05-26 00:00:00 (Sun)
 3600,
 0,
@@ -291,17 +291,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 62085135600, #    utc_start 1968-05-25 23:00:00 (Sat)
-62095413600, #      utc_end 1968-09-21 22:00:00 (Sat)
+62095417200, #      utc_end 1968-09-21 23:00:00 (Sat)
 62085142800, #  local_start 1968-05-26 01:00:00 (Sun)
-62095420800, #    local_end 1968-09-22 00:00:00 (Sun)
+62095424400, #    local_end 1968-09-22 01:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-62095413600, #    utc_start 1968-09-21 22:00:00 (Sat)
+62095417200, #    utc_start 1968-09-21 23:00:00 (Sat)
 62117190000, #      utc_end 1969-05-31 23:00:00 (Sat)
-62095417200, #  local_start 1968-09-21 23:00:00 (Sat)
+62095420800, #  local_start 1968-09-22 00:00:00 (Sun)
 62117193600, #    local_end 1969-06-01 00:00:00 (Sun)
 3600,
 0,
@@ -309,17 +309,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 62117190000, #    utc_start 1969-05-31 23:00:00 (Sat)
-62127468000, #      utc_end 1969-09-27 22:00:00 (Sat)
+62127471600, #      utc_end 1969-09-27 23:00:00 (Sat)
 62117197200, #  local_start 1969-06-01 01:00:00 (Sun)
-62127475200, #    local_end 1969-09-28 00:00:00 (Sun)
+62127478800, #    local_end 1969-09-28 01:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-62127468000, #    utc_start 1969-09-27 22:00:00 (Sat)
+62127471600, #    utc_start 1969-09-27 23:00:00 (Sat)
 62148639600, #      utc_end 1970-05-30 23:00:00 (Sat)
-62127471600, #  local_start 1969-09-27 23:00:00 (Sat)
+62127475200, #  local_start 1969-09-28 00:00:00 (Sun)
 62148643200, #    local_end 1970-05-31 00:00:00 (Sun)
 3600,
 0,
@@ -327,17 +327,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 62148639600, #    utc_start 1970-05-30 23:00:00 (Sat)
-62158917600, #      utc_end 1970-09-26 22:00:00 (Sat)
+62158921200, #      utc_end 1970-09-26 23:00:00 (Sat)
 62148646800, #  local_start 1970-05-31 01:00:00 (Sun)
-62158924800, #    local_end 1970-09-27 00:00:00 (Sun)
+62158928400, #    local_end 1970-09-27 01:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-62158917600, #    utc_start 1970-09-26 22:00:00 (Sat)
+62158921200, #    utc_start 1970-09-26 23:00:00 (Sat)
 62179484400, #      utc_end 1971-05-22 23:00:00 (Sat)
-62158921200, #  local_start 1970-09-26 23:00:00 (Sat)
+62158924800, #  local_start 1970-09-27 00:00:00 (Sun)
 62179488000, #    local_end 1971-05-23 00:00:00 (Sun)
 3600,
 0,
@@ -363,17 +363,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 62211538800, #    utc_start 1972-05-27 23:00:00 (Sat)
-62222421600, #      utc_end 1972-09-30 22:00:00 (Sat)
+62222425200, #      utc_end 1972-09-30 23:00:00 (Sat)
 62211546000, #  local_start 1972-05-28 01:00:00 (Sun)
-62222428800, #    local_end 1972-10-01 00:00:00 (Sun)
+62222432400, #    local_end 1972-10-01 01:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-62222421600, #    utc_start 1972-09-30 22:00:00 (Sat)
+62222425200, #    utc_start 1972-09-30 23:00:00 (Sat)
 62238063600, #      utc_end 1973-03-30 23:00:00 (Fri)
-62222425200, #  local_start 1972-09-30 23:00:00 (Sat)
+62222428800, #  local_start 1972-10-01 00:00:00 (Sun)
 62238067200, #    local_end 1973-03-31 00:00:00 (Sat)
 3600,
 0,
@@ -1371,7 +1371,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {74}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Minsk.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Minsk.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Minsk.pm.2016i	2016-11-03 14:27:27.737418354 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Minsk.pm	2016-11-03 14:27:27.777418169 +0100
@@ -651,7 +651,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {32}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Monaco.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Monaco.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Monaco.pm.2016i	2016-11-03 14:27:27.737418354 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Monaco.pm	2016-11-03 14:27:27.778418164 +0100
@@ -1515,7 +1515,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {86}
 
@@ -1568,24 +1568,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Moscow.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Moscow.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Moscow.pm.2016i	2016-11-03 14:27:27.738418350 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Moscow.pm	2016-11-03 14:27:27.778418164 +0100
@@ -732,7 +732,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {38}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Oslo.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Oslo.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Oslo.pm.2016i	2016-11-03 14:27:27.738418350 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Oslo.pm	2016-11-03 14:27:27.778418164 +0100
@@ -1119,7 +1119,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {60}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Paris.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Paris.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Paris.pm.2016i	2016-11-03 14:27:27.738418350 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Paris.pm	2016-11-03 14:27:27.778418164 +0100
@@ -1506,7 +1506,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {83}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Prague.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Prague.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Prague.pm.2016i	2016-11-03 14:27:27.738418350 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Prague.pm	2016-11-03 14:27:27.778418164 +0100
@@ -1128,7 +1128,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {60}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Riga.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Riga.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Riga.pm.2016i	2016-11-03 14:27:27.738418350 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Riga.pm	2016-11-03 14:27:27.778418164 +0100
@@ -1002,7 +1002,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {51}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Rome.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Rome.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Rome.pm.2016i	2016-11-03 14:27:27.738418350 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Rome.pm	2016-11-03 14:27:27.778418164 +0100
@@ -30,35 +30,35 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 58876585804, #    utc_start 1866-09-21 23:10:04 (Fri)
-59732118604, #      utc_end 1893-10-31 23:10:04 (Tue)
+59732118000, #      utc_end 1893-10-31 23:00:00 (Tue)
 58876588800, #  local_start 1866-09-22 00:00:00 (Sat)
-59732121600, #    local_end 1893-11-01 00:00:00 (Wed)
+59732120996, #    local_end 1893-10-31 23:49:56 (Tue)
 2996,
 0,
 'RMT',
     ],
     [
-59732118604, #    utc_start 1893-10-31 23:10:04 (Tue)
-60444831600, #      utc_end 1916-06-02 23:00:00 (Fri)
-59732122204, #  local_start 1893-11-01 00:10:04 (Wed)
-60444835200, #    local_end 1916-06-03 00:00:00 (Sat)
+59732118000, #    utc_start 1893-10-31 23:00:00 (Tue)
+60444918000, #      utc_end 1916-06-03 23:00:00 (Sat)
+59732121600, #  local_start 1893-11-01 00:00:00 (Wed)
+60444921600, #    local_end 1916-06-04 00:00:00 (Sun)
 3600,
 0,
 'CET',
     ],
     [
-60444831600, #    utc_start 1916-06-02 23:00:00 (Fri)
-60455199600, #      utc_end 1916-09-30 23:00:00 (Sat)
-60444838800, #  local_start 1916-06-03 01:00:00 (Sat)
-60455206800, #    local_end 1916-10-01 01:00:00 (Sun)
+60444918000, #    utc_start 1916-06-03 23:00:00 (Sat)
+60455196000, #      utc_end 1916-09-30 22:00:00 (Sat)
+60444925200, #  local_start 1916-06-04 01:00:00 (Sun)
+60455203200, #    local_end 1916-10-01 00:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-60455199600, #    utc_start 1916-09-30 23:00:00 (Sat)
+60455196000, #    utc_start 1916-09-30 22:00:00 (Sat)
 60470924400, #      utc_end 1917-03-31 23:00:00 (Sat)
-60455203200, #  local_start 1916-10-01 00:00:00 (Sun)
+60455199600, #  local_start 1916-09-30 23:00:00 (Sat)
 60470928000, #    local_end 1917-04-01 00:00:00 (Sun)
 3600,
 0,
@@ -66,17 +66,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 60470924400, #    utc_start 1917-03-31 23:00:00 (Sat)
-60486649200, #      utc_end 1917-09-29 23:00:00 (Sat)
+60486732000, #      utc_end 1917-09-30 22:00:00 (Sun)
 60470931600, #  local_start 1917-04-01 01:00:00 (Sun)
-60486656400, #    local_end 1917-09-30 01:00:00 (Sun)
+60486739200, #    local_end 1917-10-01 00:00:00 (Mon)
 7200,
 1,
 'CEST',
     ],
     [
-60486649200, #    utc_start 1917-09-29 23:00:00 (Sat)
+60486732000, #    utc_start 1917-09-30 22:00:00 (Sun)
 60500559600, #      utc_end 1918-03-09 23:00:00 (Sat)
-60486652800, #  local_start 1917-09-30 00:00:00 (Sun)
+60486735600, #  local_start 1917-09-30 23:00:00 (Sun)
 60500563200, #    local_end 1918-03-10 00:00:00 (Sun)
 3600,
 0,
@@ -84,17 +84,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 60500559600, #    utc_start 1918-03-09 23:00:00 (Sat)
-60518703600, #      utc_end 1918-10-05 23:00:00 (Sat)
+60518786400, #      utc_end 1918-10-06 22:00:00 (Sun)
 60500566800, #  local_start 1918-03-10 01:00:00 (Sun)
-60518710800, #    local_end 1918-10-06 01:00:00 (Sun)
+60518793600, #    local_end 1918-10-07 00:00:00 (Mon)
 7200,
 1,
 'CEST',
     ],
     [
-60518703600, #    utc_start 1918-10-05 23:00:00 (Sat)
+60518786400, #    utc_start 1918-10-06 22:00:00 (Sun)
 60531404400, #      utc_end 1919-03-01 23:00:00 (Sat)
-60518707200, #  local_start 1918-10-06 00:00:00 (Sun)
+60518790000, #  local_start 1918-10-06 23:00:00 (Sun)
 60531408000, #    local_end 1919-03-02 00:00:00 (Sun)
 3600,
 0,
@@ -102,17 +102,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 60531404400, #    utc_start 1919-03-01 23:00:00 (Sat)
-60550153200, #      utc_end 1919-10-04 23:00:00 (Sat)
+60550149600, #      utc_end 1919-10-04 22:00:00 (Sat)
 60531411600, #  local_start 1919-03-02 01:00:00 (Sun)
-60550160400, #    local_end 1919-10-05 01:00:00 (Sun)
+60550156800, #    local_end 1919-10-05 00:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-60550153200, #    utc_start 1919-10-04 23:00:00 (Sat)
+60550149600, #    utc_start 1919-10-04 22:00:00 (Sat)
 60564668400, #      utc_end 1920-03-20 23:00:00 (Sat)
-60550156800, #  local_start 1919-10-05 00:00:00 (Sun)
+60550153200, #  local_start 1919-10-04 23:00:00 (Sat)
 60564672000, #    local_end 1920-03-21 00:00:00 (Sun)
 3600,
 0,
@@ -120,17 +120,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 60564668400, #    utc_start 1920-03-20 23:00:00 (Sat)
-60580393200, #      utc_end 1920-09-18 23:00:00 (Sat)
+60580389600, #      utc_end 1920-09-18 22:00:00 (Sat)
 60564675600, #  local_start 1920-03-21 01:00:00 (Sun)
-60580400400, #    local_end 1920-09-19 01:00:00 (Sun)
+60580396800, #    local_end 1920-09-19 00:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-60580393200, #    utc_start 1920-09-18 23:00:00 (Sat)
+60580389600, #    utc_start 1920-09-18 22:00:00 (Sat)
 61203250800, #      utc_end 1940-06-14 23:00:00 (Fri)
-60580396800, #  local_start 1920-09-19 00:00:00 (Sun)
+60580393200, #  local_start 1920-09-18 23:00:00 (Sat)
 61203254400, #    local_end 1940-06-15 00:00:00 (Sat)
 3600,
 0,
@@ -156,8 +156,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 61291126800, #    utc_start 1943-03-29 01:00:00 (Mon)
-61307456400, #      utc_end 1943-10-04 01:00:00 (Mon)
+61305372000, #      utc_end 1943-09-09 22:00:00 (Thu)
 61291134000, #  local_start 1943-03-29 03:00:00 (Mon)
+61305379200, #    local_end 1943-09-10 00:00:00 (Fri)
+7200,
+1,
+'CEST',
+    ],
+    [
+61305372000, #    utc_start 1943-09-09 22:00:00 (Thu)
+61307456400, #      utc_end 1943-10-04 01:00:00 (Mon)
+61305379200, #  local_start 1943-09-10 00:00:00 (Fri)
 61307463600, #    local_end 1943-10-04 03:00:00 (Mon)
 7200,
 1,
@@ -174,26 +183,26 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 61323181200, #    utc_start 1944-04-03 01:00:00 (Mon)
-61330860000, #      utc_end 1944-06-30 22:00:00 (Fri)
+61328527200, #      utc_end 1944-06-03 22:00:00 (Sat)
 61323188400, #  local_start 1944-04-03 03:00:00 (Mon)
-61330867200, #    local_end 1944-07-01 00:00:00 (Sat)
+61328534400, #    local_end 1944-06-04 00:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-61330860000, #    utc_start 1944-06-30 22:00:00 (Fri)
-61337602800, #      utc_end 1944-09-16 23:00:00 (Sat)
-61330867200, #  local_start 1944-07-01 00:00:00 (Sat)
-61337610000, #    local_end 1944-09-17 01:00:00 (Sun)
+61328527200, #    utc_start 1944-06-03 22:00:00 (Sat)
+61337610000, #      utc_end 1944-09-17 01:00:00 (Sun)
+61328534400, #  local_start 1944-06-04 00:00:00 (Sun)
+61337617200, #    local_end 1944-09-17 03:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-61337602800, #    utc_start 1944-09-16 23:00:00 (Sat)
+61337610000, #    utc_start 1944-09-17 01:00:00 (Sun)
 61354630800, #      utc_end 1945-04-02 01:00:00 (Mon)
-61337606400, #  local_start 1944-09-17 00:00:00 (Sun)
+61337613600, #  local_start 1944-09-17 02:00:00 (Sun)
 61354634400, #    local_end 1945-04-02 02:00:00 (Mon)
 3600,
 0,
@@ -291,17 +300,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 62053686000, #    utc_start 1967-05-27 23:00:00 (Sat)
-62063964000, #      utc_end 1967-09-23 22:00:00 (Sat)
+62063967600, #      utc_end 1967-09-23 23:00:00 (Sat)
 62053693200, #  local_start 1967-05-28 01:00:00 (Sun)
-62063971200, #    local_end 1967-09-24 00:00:00 (Sun)
+62063974800, #    local_end 1967-09-24 01:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-62063964000, #    utc_start 1967-09-23 22:00:00 (Sat)
+62063967600, #    utc_start 1967-09-23 23:00:00 (Sat)
 62085135600, #      utc_end 1968-05-25 23:00:00 (Sat)
-62063967600, #  local_start 1967-09-23 23:00:00 (Sat)
+62063971200, #  local_start 1967-09-24 00:00:00 (Sun)
 62085139200, #    local_end 1968-05-26 00:00:00 (Sun)
 3600,
 0,
@@ -309,17 +318,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 62085135600, #    utc_start 1968-05-25 23:00:00 (Sat)
-62095413600, #      utc_end 1968-09-21 22:00:00 (Sat)
+62095417200, #      utc_end 1968-09-21 23:00:00 (Sat)
 62085142800, #  local_start 1968-05-26 01:00:00 (Sun)
-62095420800, #    local_end 1968-09-22 00:00:00 (Sun)
+62095424400, #    local_end 1968-09-22 01:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-62095413600, #    utc_start 1968-09-21 22:00:00 (Sat)
+62095417200, #    utc_start 1968-09-21 23:00:00 (Sat)
 62117190000, #      utc_end 1969-05-31 23:00:00 (Sat)
-62095417200, #  local_start 1968-09-21 23:00:00 (Sat)
+62095420800, #  local_start 1968-09-22 00:00:00 (Sun)
 62117193600, #    local_end 1969-06-01 00:00:00 (Sun)
 3600,
 0,
@@ -327,17 +336,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 62117190000, #    utc_start 1969-05-31 23:00:00 (Sat)
-62127468000, #      utc_end 1969-09-27 22:00:00 (Sat)
+62127471600, #      utc_end 1969-09-27 23:00:00 (Sat)
 62117197200, #  local_start 1969-06-01 01:00:00 (Sun)
-62127475200, #    local_end 1969-09-28 00:00:00 (Sun)
+62127478800, #    local_end 1969-09-28 01:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-62127468000, #    utc_start 1969-09-27 22:00:00 (Sat)
+62127471600, #    utc_start 1969-09-27 23:00:00 (Sat)
 62148639600, #      utc_end 1970-05-30 23:00:00 (Sat)
-62127471600, #  local_start 1969-09-27 23:00:00 (Sat)
+62127475200, #  local_start 1969-09-28 00:00:00 (Sun)
 62148643200, #    local_end 1970-05-31 00:00:00 (Sun)
 3600,
 0,
@@ -345,17 +354,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 62148639600, #    utc_start 1970-05-30 23:00:00 (Sat)
-62158917600, #      utc_end 1970-09-26 22:00:00 (Sat)
+62158921200, #      utc_end 1970-09-26 23:00:00 (Sat)
 62148646800, #  local_start 1970-05-31 01:00:00 (Sun)
-62158924800, #    local_end 1970-09-27 00:00:00 (Sun)
+62158928400, #    local_end 1970-09-27 01:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-62158917600, #    utc_start 1970-09-26 22:00:00 (Sat)
+62158921200, #    utc_start 1970-09-26 23:00:00 (Sat)
 62179484400, #      utc_end 1971-05-22 23:00:00 (Sat)
-62158921200, #  local_start 1970-09-26 23:00:00 (Sat)
+62158924800, #  local_start 1970-09-27 00:00:00 (Sun)
 62179488000, #    local_end 1971-05-23 00:00:00 (Sun)
 3600,
 0,
@@ -381,17 +390,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 62211538800, #    utc_start 1972-05-27 23:00:00 (Sat)
-62222421600, #      utc_end 1972-09-30 22:00:00 (Sat)
+62222425200, #      utc_end 1972-09-30 23:00:00 (Sat)
 62211546000, #  local_start 1972-05-28 01:00:00 (Sun)
-62222428800, #    local_end 1972-10-01 00:00:00 (Sun)
+62222432400, #    local_end 1972-10-01 01:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-62222421600, #    utc_start 1972-09-30 22:00:00 (Sat)
+62222425200, #    utc_start 1972-09-30 23:00:00 (Sat)
 62243593200, #      utc_end 1973-06-02 23:00:00 (Sat)
-62222425200, #  local_start 1972-09-30 23:00:00 (Sat)
+62222428800, #  local_start 1972-10-01 00:00:00 (Sun)
 62243596800, #    local_end 1973-06-03 00:00:00 (Sun)
 3600,
 0,
@@ -399,17 +408,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 62243593200, #    utc_start 1973-06-02 23:00:00 (Sat)
-62253871200, #      utc_end 1973-09-29 22:00:00 (Sat)
+62253874800, #      utc_end 1973-09-29 23:00:00 (Sat)
 62243600400, #  local_start 1973-06-03 01:00:00 (Sun)
-62253878400, #    local_end 1973-09-30 00:00:00 (Sun)
+62253882000, #    local_end 1973-09-30 01:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-62253871200, #    utc_start 1973-09-29 22:00:00 (Sat)
+62253874800, #    utc_start 1973-09-29 23:00:00 (Sat)
 62274438000, #      utc_end 1974-05-25 23:00:00 (Sat)
-62253874800, #  local_start 1973-09-29 23:00:00 (Sat)
+62253878400, #  local_start 1973-09-30 00:00:00 (Sun)
 62274441600, #    local_end 1974-05-26 00:00:00 (Sun)
 3600,
 0,
@@ -417,17 +426,17 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
     [
 62274438000, #    utc_start 1974-05-25 23:00:00 (Sat)
-62285320800, #      utc_end 1974-09-28 22:00:00 (Sat)
+62285324400, #      utc_end 1974-09-28 23:00:00 (Sat)
 62274445200, #  local_start 1974-05-26 01:00:00 (Sun)
-62285328000, #    local_end 1974-09-29 00:00:00 (Sun)
+62285331600, #    local_end 1974-09-29 01:00:00 (Sun)
 7200,
 1,
 'CEST',
     ],
     [
-62285320800, #    utc_start 1974-09-28 22:00:00 (Sat)
+62285324400, #    utc_start 1974-09-28 23:00:00 (Sat)
 62306492400, #      utc_end 1975-05-31 23:00:00 (Sat)
-62285324400, #  local_start 1974-09-28 23:00:00 (Sat)
+62285328000, #  local_start 1974-09-29 00:00:00 (Sun)
 62306496000, #    local_end 1975-06-01 00:00:00 (Sun)
 3600,
 0,
@@ -1389,9 +1398,9 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
-sub has_dst_changes {75}
+sub has_dst_changes {76}
 
 sub _max_year {2026}
 
@@ -1442,24 +1451,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Samara.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Samara.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Samara.pm.2016i	2016-11-03 14:27:27.739418345 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Samara.pm	2016-11-03 14:27:27.778418164 +0100
@@ -615,7 +615,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {30}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Simferopol.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Simferopol.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Simferopol.pm.2016i	2016-11-03 14:27:27.739418345 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Simferopol.pm	2016-11-03 14:27:27.779418159 +0100
@@ -732,7 +732,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {35}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Sofia.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Sofia.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Sofia.pm.2016i	2016-11-03 14:27:27.739418345 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Sofia.pm	2016-11-03 14:27:27.779418159 +0100
@@ -1002,7 +1002,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {51}
 
@@ -1055,24 +1055,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Stockholm.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Stockholm.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Stockholm.pm.2016i	2016-11-03 14:27:27.739418345 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Stockholm.pm	2016-11-03 14:27:27.779418159 +0100
@@ -930,7 +930,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {49}
 
@@ -983,24 +983,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Tallinn.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Tallinn.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Tallinn.pm.2016i	2016-11-03 14:27:27.739418345 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Tallinn.pm	2016-11-03 14:27:27.779418159 +0100
@@ -966,7 +966,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {50}
 
@@ -1019,24 +1019,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Tirane.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Tirane.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Tirane.pm.2016i	2016-11-03 14:27:27.739418345 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Tirane.pm	2016-11-03 14:27:27.779418159 +0100
@@ -1047,7 +1047,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {57}
 
@@ -1100,24 +1100,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Ulyanovsk.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Ulyanovsk.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Ulyanovsk.pm.2016i	2016-11-03 14:27:27.740418341 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Ulyanovsk.pm	2016-11-03 14:27:27.779418159 +0100
@@ -624,7 +624,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {30}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Uzhgorod.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Uzhgorod.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Uzhgorod.pm.2016i	2016-11-03 14:27:27.740418341 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Uzhgorod.pm	2016-11-03 14:27:27.779418159 +0100
@@ -966,7 +966,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {49}
 
@@ -1019,24 +1019,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Vienna.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Vienna.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Vienna.pm.2016i	2016-11-03 14:27:27.740418341 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Vienna.pm	2016-11-03 14:27:27.779418159 +0100
@@ -1119,7 +1119,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {59}
 
@@ -1172,24 +1172,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Vilnius.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Vilnius.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Vilnius.pm.2016i	2016-11-03 14:27:27.740418341 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Vilnius.pm	2016-11-03 14:27:27.779418159 +0100
@@ -939,7 +939,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {47}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Volgograd.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Volgograd.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Volgograd.pm.2016i	2016-11-03 14:27:27.740418341 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Volgograd.pm	2016-11-03 14:27:27.780418155 +0100
@@ -606,7 +606,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {29}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Warsaw.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Warsaw.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Warsaw.pm.2016i	2016-11-03 14:27:27.740418341 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Warsaw.pm	2016-11-03 14:27:27.780418155 +0100
@@ -1353,7 +1353,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {72}
 
@@ -1406,24 +1406,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Zaporozhye.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Zaporozhye.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Zaporozhye.pm.2016i	2016-11-03 14:27:27.741418336 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Zaporozhye.pm	2016-11-03 14:27:27.780418155 +0100
@@ -948,7 +948,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {49}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Zurich.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Zurich.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Zurich.pm.2016i	2016-11-03 14:27:27.741418336 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Europe/Zurich.pm	2016-11-03 14:27:27.780418155 +0100
@@ -930,7 +930,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {49}
 
@@ -983,24 +983,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '1:00u',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'EU',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '1:00u',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'EU',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/HST.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/HST.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/HST.pm.2016i	2016-11-03 14:27:27.741418336 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/HST.pm	2016-11-03 14:27:27.780418155 +0100
@@ -30,7 +30,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Chagos.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Chagos.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Chagos.pm.2016i	2016-11-03 14:27:27.741418336 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Chagos.pm	2016-11-03 14:27:27.780418155 +0100
@@ -48,7 +48,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Christmas.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Christmas.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Christmas.pm.2016i	2016-11-03 14:27:27.741418336 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Christmas.pm	2016-11-03 14:27:27.780418155 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Cocos.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Cocos.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Cocos.pm.2016i	2016-11-03 14:27:27.741418336 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Cocos.pm	2016-11-03 14:27:27.780418155 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Kerguelen.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Kerguelen.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Kerguelen.pm.2016i	2016-11-03 14:27:27.741418336 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Kerguelen.pm	2016-11-03 14:27:27.780418155 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Mahe.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Mahe.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Mahe.pm.2016i	2016-11-03 14:27:27.741418336 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Mahe.pm	2016-11-03 14:27:27.780418155 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Maldives.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Maldives.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Maldives.pm.2016i	2016-11-03 14:27:27.742418331 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Maldives.pm	2016-11-03 14:27:27.780418155 +0100
@@ -48,7 +48,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Mauritius.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Mauritius.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Mauritius.pm.2016i	2016-11-03 14:27:27.742418331 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Mauritius.pm	2016-11-03 14:27:27.780418155 +0100
@@ -75,7 +75,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {2}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Reunion.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Reunion.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Reunion.pm.2016i	2016-11-03 14:27:27.742418331 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Indian/Reunion.pm	2016-11-03 14:27:27.781418150 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/MET.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/MET.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/MET.pm.2016i	2016-11-03 14:27:27.742418331 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/MET.pm	2016-11-03 14:27:27.781418150 +0100
@@ -1065,7 +1065,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {58}
 
@@ -1092,24 +1092,24 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '2:00s',
-    'from' => '1996',
-    'in' => 'Oct',
-    'letter' => '',
+    'from' => '1981',
+    'in' => 'Mar',
+    'letter' => 'S',
     'name' => 'C-Eur',
-    'offset_from_std' => 0,
+    'offset_from_std' => 3600,
     'on' => 'lastSun',
-    'save' => '0',
+    'save' => '1:00',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' ),
   bless( {
     'at' => '2:00s',
-    'from' => '1981',
-    'in' => 'Mar',
-    'letter' => 'S',
+    'from' => '1996',
+    'in' => 'Oct',
+    'letter' => '',
     'name' => 'C-Eur',
-    'offset_from_std' => 3600,
+    'offset_from_std' => 0,
     'on' => 'lastSun',
-    'save' => '1:00',
+    'save' => '0',
     'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/MST.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/MST.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/MST.pm.2016i	2016-11-03 14:27:27.742418331 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/MST.pm	2016-11-03 14:27:27.781418150 +0100
@@ -30,7 +30,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/MST7MDT.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/MST7MDT.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/MST7MDT.pm.2016i	2016-11-03 14:27:27.742418331 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/MST7MDT.pm	2016-11-03 14:27:27.781418150 +0100
@@ -1182,7 +1182,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {65}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/PST8PDT.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/PST8PDT.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/PST8PDT.pm.2016i	2016-11-03 14:27:27.742418331 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/PST8PDT.pm	2016-11-03 14:27:27.781418150 +0100
@@ -1182,7 +1182,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {65}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Apia.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Apia.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Apia.pm.2016i	2016-11-03 14:27:27.743418327 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Apia.pm	2016-11-03 14:27:27.781418150 +0100
@@ -372,7 +372,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {19}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Auckland.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Auckland.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Auckland.pm.2016i	2016-11-03 14:27:27.743418327 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Auckland.pm	2016-11-03 14:27:27.782418146 +0100
@@ -1245,7 +1245,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {68}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Bougainville.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Bougainville.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Bougainville.pm.2016i	2016-11-03 14:27:27.743418327 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Bougainville.pm	2016-11-03 14:27:27.782418146 +0100
@@ -75,7 +75,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Chatham.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Chatham.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Chatham.pm.2016i	2016-11-03 14:27:27.743418327 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Chatham.pm	2016-11-03 14:27:27.782418146 +0100
@@ -1002,7 +1002,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {54}
 
@@ -1055,17 +1055,6 @@ sub _last_observance { $last_observance
 my $rules = [
   bless( {
     'at' => '2:45s',
-    'from' => '2008',
-    'in' => 'Apr',
-    'letter' => 'S',
-    'name' => 'Chatham',
-    'offset_from_std' => 0,
-    'on' => 'Sun>=1',
-    'save' => '0',
-    'to' => 'max'
-  }, 'DateTime::TimeZone::OlsonDB::Rule' ),
-  bless( {
-    'at' => '2:45s',
     'from' => '2007',
     'in' => 'Sep',
     'letter' => 'D',
@@ -1074,6 +1063,17 @@ my $rules = [
     'on' => 'lastSun',
     'save' => '1:00',
     'to' => 'max'
+  }, 'DateTime::TimeZone::OlsonDB::Rule' ),
+  bless( {
+    'at' => '2:45s',
+    'from' => '2008',
+    'in' => 'Apr',
+    'letter' => 'S',
+    'name' => 'Chatham',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=1',
+    'save' => '0',
+    'to' => 'max'
   }, 'DateTime::TimeZone::OlsonDB::Rule' )
 ]
 ;
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Chuuk.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Chuuk.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Chuuk.pm.2016i	2016-11-03 14:27:27.743418327 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Chuuk.pm	2016-11-03 14:27:27.782418146 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Easter.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Easter.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Easter.pm.2016i	2016-11-03 14:27:27.743418327 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Easter.pm	2016-11-03 14:27:27.782418146 +0100
@@ -1092,7 +1092,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {59}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Efate.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Efate.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Efate.pm.2016i	2016-11-03 14:27:27.744418322 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Efate.pm	2016-11-03 14:27:27.782418146 +0100
@@ -219,7 +219,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {10}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Enderbury.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Enderbury.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Enderbury.pm.2016i	2016-11-03 14:27:27.744418322 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Enderbury.pm	2016-11-03 14:27:27.782418146 +0100
@@ -57,7 +57,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Fakaofo.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Fakaofo.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Fakaofo.pm.2016i	2016-11-03 14:27:27.744418322 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Fakaofo.pm	2016-11-03 14:27:27.782418146 +0100
@@ -48,7 +48,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Fiji.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Fiji.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Fiji.pm.2016i	2016-11-03 14:27:27.744418322 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Fiji.pm	2016-11-03 14:27:27.782418146 +0100
@@ -399,7 +399,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {21}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Funafuti.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Funafuti.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Funafuti.pm.2016i	2016-11-03 14:27:27.744418322 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Funafuti.pm	2016-11-03 14:27:27.783418141 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Galapagos.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Galapagos.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Galapagos.pm.2016i	2016-11-03 14:27:27.744418322 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Galapagos.pm	2016-11-03 14:27:27.783418141 +0100
@@ -48,7 +48,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Gambier.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Gambier.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Gambier.pm.2016i	2016-11-03 14:27:27.744418322 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Gambier.pm	2016-11-03 14:27:27.783418141 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Guadalcanal.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Guadalcanal.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Guadalcanal.pm.2016i	2016-11-03 14:27:27.745418317 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Guadalcanal.pm	2016-11-03 14:27:27.783418141 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Guam.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Guam.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Guam.pm.2016i	2016-11-03 14:27:27.745418317 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Guam.pm	2016-11-03 14:27:27.783418141 +0100
@@ -57,7 +57,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Honolulu.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Honolulu.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Honolulu.pm.2016i	2016-11-03 14:27:27.745418317 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Honolulu.pm	2016-11-03 14:27:27.783418141 +0100
@@ -84,7 +84,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {2}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Kiritimati.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Kiritimati.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Kiritimati.pm.2016i	2016-11-03 14:27:27.745418317 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Kiritimati.pm	2016-11-03 14:27:27.783418141 +0100
@@ -57,7 +57,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Kosrae.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Kosrae.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Kosrae.pm.2016i	2016-11-03 14:27:27.745418317 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Kosrae.pm	2016-11-03 14:27:27.783418141 +0100
@@ -57,7 +57,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Kwajalein.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Kwajalein.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Kwajalein.pm.2016i	2016-11-03 14:27:27.745418317 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Kwajalein.pm	2016-11-03 14:27:27.783418141 +0100
@@ -57,7 +57,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Majuro.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Majuro.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Majuro.pm.2016i	2016-11-03 14:27:27.745418317 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Majuro.pm	2016-11-03 14:27:27.783418141 +0100
@@ -48,7 +48,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Marquesas.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Marquesas.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Marquesas.pm.2016i	2016-11-03 14:27:27.745418317 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Marquesas.pm	2016-11-03 14:27:27.783418141 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Nauru.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Nauru.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Nauru.pm.2016i	2016-11-03 14:27:27.746418313 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Nauru.pm	2016-11-03 14:27:27.783418141 +0100
@@ -66,7 +66,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Niue.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Niue.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Niue.pm.2016i	2016-11-03 14:27:27.746418313 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Niue.pm	2016-11-03 14:27:27.784418136 +0100
@@ -57,7 +57,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Norfolk.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Norfolk.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Norfolk.pm.2016i	2016-11-03 14:27:27.746418313 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Norfolk.pm	2016-11-03 14:27:27.784418136 +0100
@@ -75,7 +75,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {1}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Noumea.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Noumea.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Noumea.pm.2016i	2016-11-03 14:27:27.746418313 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Noumea.pm	2016-11-03 14:27:27.784418136 +0100
@@ -93,7 +93,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {3}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Pago_Pago.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Pago_Pago.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Pago_Pago.pm.2016i	2016-11-03 14:27:27.746418313 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Pago_Pago.pm	2016-11-03 14:27:27.784418136 +0100
@@ -66,7 +66,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Palau.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Palau.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Palau.pm.2016i	2016-11-03 14:27:27.746418313 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Palau.pm	2016-11-03 14:27:27.784418136 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Pitcairn.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Pitcairn.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Pitcairn.pm.2016i	2016-11-03 14:27:27.746418313 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Pitcairn.pm	2016-11-03 14:27:27.784418136 +0100
@@ -48,7 +48,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Pohnpei.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Pohnpei.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Pohnpei.pm.2016i	2016-11-03 14:27:27.747418308 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Pohnpei.pm	2016-11-03 14:27:27.784418136 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Port_Moresby.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Port_Moresby.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Port_Moresby.pm.2016i	2016-11-03 14:27:27.747418308 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Port_Moresby.pm	2016-11-03 14:27:27.784418136 +0100
@@ -48,7 +48,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Rarotonga.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Rarotonga.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Rarotonga.pm.2016i	2016-11-03 14:27:27.747418308 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Rarotonga.pm	2016-11-03 14:27:27.784418136 +0100
@@ -273,7 +273,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {13}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Tahiti.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Tahiti.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Tahiti.pm.2016i	2016-11-03 14:27:27.747418308 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Tahiti.pm	2016-11-03 14:27:27.784418136 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Tarawa.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Tarawa.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Tarawa.pm.2016i	2016-11-03 14:27:27.747418308 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Tarawa.pm	2016-11-03 14:27:27.784418136 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Tongatapu.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Tongatapu.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Tongatapu.pm.2016i	2016-11-03 14:27:27.747418308 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Tongatapu.pm	2016-11-03 14:27:27.785418132 +0100
@@ -35,7 +35,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
 61220534400, #    local_end 1941-01-01 00:00:00 (Wed)
 44400,
 0,
-'TOT',
+'+1220',
     ],
     [
 61220490000, #    utc_start 1940-12-31 11:40:00 (Tue)
@@ -44,7 +44,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
 63050832000, #    local_end 1999-01-01 00:00:00 (Fri)
 46800,
 0,
-'TOT',
+'+13',
     ],
     [
 63050785200, #    utc_start 1998-12-31 11:00:00 (Thu)
@@ -53,7 +53,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
 63074944800, #    local_end 1999-10-07 02:00:00 (Thu)
 46800,
 0,
-'TOT',
+'+13',
     ],
     [
 63074898000, #    utc_start 1999-10-06 13:00:00 (Wed)
@@ -62,7 +62,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
 63089118000, #    local_end 2000-03-19 03:00:00 (Sun)
 50400,
 1,
-'TOST',
+'+14',
     ],
     [
 63089067600, #    utc_start 2000-03-18 13:00:00 (Sat)
@@ -71,7 +71,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
 63109072800, #    local_end 2000-11-05 02:00:00 (Sun)
 46800,
 0,
-'TOT',
+'+13',
     ],
     [
 63109026000, #    utc_start 2000-11-04 13:00:00 (Sat)
@@ -80,7 +80,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
 63116330400, #    local_end 2001-01-28 02:00:00 (Sun)
 50400,
 1,
-'TOST',
+'+14',
     ],
     [
 63116280000, #    utc_start 2001-01-27 12:00:00 (Sat)
@@ -89,7 +89,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
 63140522400, #    local_end 2001-11-04 02:00:00 (Sun)
 46800,
 0,
-'TOT',
+'+13',
     ],
     [
 63140475600, #    utc_start 2001-11-03 13:00:00 (Sat)
@@ -98,22 +98,220 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
 63147780000, #    local_end 2002-01-27 02:00:00 (Sun)
 50400,
 1,
-'TOST',
+'+14',
     ],
     [
 63147729600, #    utc_start 2002-01-26 12:00:00 (Sat)
-DateTime::TimeZone::INFINITY, #      utc_end
+63614034000, #      utc_end 2016-11-05 13:00:00 (Sat)
 63147776400, #  local_start 2002-01-27 01:00:00 (Sun)
-DateTime::TimeZone::INFINITY, #    local_end
+63614080800, #    local_end 2016-11-06 02:00:00 (Sun)
 46800,
 0,
-'TOT',
+'+13',
+    ],
+    [
+63614034000, #    utc_start 2016-11-05 13:00:00 (Sat)
+63620082000, #      utc_end 2017-01-14 13:00:00 (Sat)
+63614084400, #  local_start 2016-11-06 03:00:00 (Sun)
+63620132400, #    local_end 2017-01-15 03:00:00 (Sun)
+50400,
+1,
+'+14',
+    ],
+    [
+63620082000, #    utc_start 2017-01-14 13:00:00 (Sat)
+63645483600, #      utc_end 2017-11-04 13:00:00 (Sat)
+63620128800, #  local_start 2017-01-15 02:00:00 (Sun)
+63645530400, #    local_end 2017-11-05 02:00:00 (Sun)
+46800,
+0,
+'+13',
+    ],
+    [
+63645483600, #    utc_start 2017-11-04 13:00:00 (Sat)
+63652136400, #      utc_end 2018-01-20 13:00:00 (Sat)
+63645534000, #  local_start 2017-11-05 03:00:00 (Sun)
+63652186800, #    local_end 2018-01-21 03:00:00 (Sun)
+50400,
+1,
+'+14',
+    ],
+    [
+63652136400, #    utc_start 2018-01-20 13:00:00 (Sat)
+63676933200, #      utc_end 2018-11-03 13:00:00 (Sat)
+63652183200, #  local_start 2018-01-21 02:00:00 (Sun)
+63676980000, #    local_end 2018-11-04 02:00:00 (Sun)
+46800,
+0,
+'+13',
+    ],
+    [
+63676933200, #    utc_start 2018-11-03 13:00:00 (Sat)
+63683586000, #      utc_end 2019-01-19 13:00:00 (Sat)
+63676983600, #  local_start 2018-11-04 03:00:00 (Sun)
+63683636400, #    local_end 2019-01-20 03:00:00 (Sun)
+50400,
+1,
+'+14',
+    ],
+    [
+63683586000, #    utc_start 2019-01-19 13:00:00 (Sat)
+63708382800, #      utc_end 2019-11-02 13:00:00 (Sat)
+63683632800, #  local_start 2019-01-20 02:00:00 (Sun)
+63708429600, #    local_end 2019-11-03 02:00:00 (Sun)
+46800,
+0,
+'+13',
+    ],
+    [
+63708382800, #    utc_start 2019-11-02 13:00:00 (Sat)
+63715035600, #      utc_end 2020-01-18 13:00:00 (Sat)
+63708433200, #  local_start 2019-11-03 03:00:00 (Sun)
+63715086000, #    local_end 2020-01-19 03:00:00 (Sun)
+50400,
+1,
+'+14',
+    ],
+    [
+63715035600, #    utc_start 2020-01-18 13:00:00 (Sat)
+63739832400, #      utc_end 2020-10-31 13:00:00 (Sat)
+63715082400, #  local_start 2020-01-19 02:00:00 (Sun)
+63739879200, #    local_end 2020-11-01 02:00:00 (Sun)
+46800,
+0,
+'+13',
+    ],
+    [
+63739832400, #    utc_start 2020-10-31 13:00:00 (Sat)
+63746485200, #      utc_end 2021-01-16 13:00:00 (Sat)
+63739882800, #  local_start 2020-11-01 03:00:00 (Sun)
+63746535600, #    local_end 2021-01-17 03:00:00 (Sun)
+50400,
+1,
+'+14',
+    ],
+    [
+63746485200, #    utc_start 2021-01-16 13:00:00 (Sat)
+63771886800, #      utc_end 2021-11-06 13:00:00 (Sat)
+63746532000, #  local_start 2021-01-17 02:00:00 (Sun)
+63771933600, #    local_end 2021-11-07 02:00:00 (Sun)
+46800,
+0,
+'+13',
+    ],
+    [
+63771886800, #    utc_start 2021-11-06 13:00:00 (Sat)
+63777934800, #      utc_end 2022-01-15 13:00:00 (Sat)
+63771937200, #  local_start 2021-11-07 03:00:00 (Sun)
+63777985200, #    local_end 2022-01-16 03:00:00 (Sun)
+50400,
+1,
+'+14',
+    ],
+    [
+63777934800, #    utc_start 2022-01-15 13:00:00 (Sat)
+63803336400, #      utc_end 2022-11-05 13:00:00 (Sat)
+63777981600, #  local_start 2022-01-16 02:00:00 (Sun)
+63803383200, #    local_end 2022-11-06 02:00:00 (Sun)
+46800,
+0,
+'+13',
+    ],
+    [
+63803336400, #    utc_start 2022-11-05 13:00:00 (Sat)
+63809384400, #      utc_end 2023-01-14 13:00:00 (Sat)
+63803386800, #  local_start 2022-11-06 03:00:00 (Sun)
+63809434800, #    local_end 2023-01-15 03:00:00 (Sun)
+50400,
+1,
+'+14',
+    ],
+    [
+63809384400, #    utc_start 2023-01-14 13:00:00 (Sat)
+63834786000, #      utc_end 2023-11-04 13:00:00 (Sat)
+63809431200, #  local_start 2023-01-15 02:00:00 (Sun)
+63834832800, #    local_end 2023-11-05 02:00:00 (Sun)
+46800,
+0,
+'+13',
+    ],
+    [
+63834786000, #    utc_start 2023-11-04 13:00:00 (Sat)
+63841438800, #      utc_end 2024-01-20 13:00:00 (Sat)
+63834836400, #  local_start 2023-11-05 03:00:00 (Sun)
+63841489200, #    local_end 2024-01-21 03:00:00 (Sun)
+50400,
+1,
+'+14',
+    ],
+    [
+63841438800, #    utc_start 2024-01-20 13:00:00 (Sat)
+63866235600, #      utc_end 2024-11-02 13:00:00 (Sat)
+63841485600, #  local_start 2024-01-21 02:00:00 (Sun)
+63866282400, #    local_end 2024-11-03 02:00:00 (Sun)
+46800,
+0,
+'+13',
+    ],
+    [
+63866235600, #    utc_start 2024-11-02 13:00:00 (Sat)
+63872888400, #      utc_end 2025-01-18 13:00:00 (Sat)
+63866286000, #  local_start 2024-11-03 03:00:00 (Sun)
+63872938800, #    local_end 2025-01-19 03:00:00 (Sun)
+50400,
+1,
+'+14',
+    ],
+    [
+63872888400, #    utc_start 2025-01-18 13:00:00 (Sat)
+63897685200, #      utc_end 2025-11-01 13:00:00 (Sat)
+63872935200, #  local_start 2025-01-19 02:00:00 (Sun)
+63897732000, #    local_end 2025-11-02 02:00:00 (Sun)
+46800,
+0,
+'+13',
+    ],
+    [
+63897685200, #    utc_start 2025-11-01 13:00:00 (Sat)
+63904338000, #      utc_end 2026-01-17 13:00:00 (Sat)
+63897735600, #  local_start 2025-11-02 03:00:00 (Sun)
+63904388400, #    local_end 2026-01-18 03:00:00 (Sun)
+50400,
+1,
+'+14',
+    ],
+    [
+63904338000, #    utc_start 2026-01-17 13:00:00 (Sat)
+63929134800, #      utc_end 2026-10-31 13:00:00 (Sat)
+63904384800, #  local_start 2026-01-18 02:00:00 (Sun)
+63929181600, #    local_end 2026-11-01 02:00:00 (Sun)
+46800,
+0,
+'+13',
+    ],
+    [
+63929134800, #    utc_start 2026-10-31 13:00:00 (Sat)
+63935787600, #      utc_end 2027-01-16 13:00:00 (Sat)
+63929185200, #  local_start 2026-11-01 03:00:00 (Sun)
+63935838000, #    local_end 2027-01-17 03:00:00 (Sun)
+50400,
+1,
+'+14',
+    ],
+    [
+63935787600, #    utc_start 2027-01-16 13:00:00 (Sat)
+63961189200, #      utc_end 2027-11-06 13:00:00 (Sat)
+63935834400, #  local_start 2027-01-17 02:00:00 (Sun)
+63961236000, #    local_end 2027-11-07 02:00:00 (Sun)
+46800,
+0,
+'+13',
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
-sub has_dst_changes {3}
+sub has_dst_changes {15}
 
 sub _max_year {2026}
 
@@ -121,6 +319,72 @@ sub _new_instance {
     return shift->_init( @_, spans => $spans );
 }
 
+sub _last_offset { 46800 }
+
+my $last_observance = bless( {
+  'format' => '+13/+14',
+  'gmtoff' => '13:00',
+  'local_start_datetime' => bless( {
+    'formatter' => undef,
+    'local_rd_days' => 729755,
+    'local_rd_secs' => 0,
+    'offset_modifier' => 0,
+    'rd_nanosecs' => 0,
+    'tz' => bless( {
+      'name' => 'floating',
+      'offset' => 0
+    }, 'DateTime::TimeZone::Floating' ),
+    'utc_rd_days' => 729755,
+    'utc_rd_secs' => 0,
+    'utc_year' => 2000
+  }, 'DateTime' ),
+  'offset_from_std' => 0,
+  'offset_from_utc' => 46800,
+  'until' => [],
+  'utc_start_datetime' => bless( {
+    'formatter' => undef,
+    'local_rd_days' => 729754,
+    'local_rd_secs' => 39600,
+    'offset_modifier' => 0,
+    'rd_nanosecs' => 0,
+    'tz' => bless( {
+      'name' => 'floating',
+      'offset' => 0
+    }, 'DateTime::TimeZone::Floating' ),
+    'utc_rd_days' => 729754,
+    'utc_rd_secs' => 39600,
+    'utc_year' => 1999
+  }, 'DateTime' )
+}, 'DateTime::TimeZone::OlsonDB::Observance' )
+;
+sub _last_observance { $last_observance }
+
+my $rules = [
+  bless( {
+    'at' => '2:00',
+    'from' => '2016',
+    'in' => 'Nov',
+    'letter' => 'S',
+    'name' => 'Tonga',
+    'offset_from_std' => 3600,
+    'on' => 'Sun>=1',
+    'save' => '1:00',
+    'to' => 'max'
+  }, 'DateTime::TimeZone::OlsonDB::Rule' ),
+  bless( {
+    'at' => '3:00',
+    'from' => '2017',
+    'in' => 'Jan',
+    'letter' => '',
+    'name' => 'Tonga',
+    'offset_from_std' => 0,
+    'on' => 'Sun>=15',
+    'save' => '0',
+    'to' => 'max'
+  }, 'DateTime::TimeZone::OlsonDB::Rule' )
+]
+;
+sub _rules { $rules }
 
 
 1;
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Wake.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Wake.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Wake.pm.2016i	2016-11-03 14:27:27.747418308 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Wake.pm	2016-11-03 14:27:27.785418132 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Wallis.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Wallis.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Wallis.pm.2016i	2016-11-03 14:27:27.747418308 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/Pacific/Wallis.pm	2016-11-03 14:27:27.785418132 +0100
@@ -39,7 +39,7 @@ DateTime::TimeZone::INFINITY, #    local
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {0}
 
diff -up DateTime-TimeZone-2.01/lib/DateTime/TimeZone/WET.pm.2016i DateTime-TimeZone-2.01/lib/DateTime/TimeZone/WET.pm
--- DateTime-TimeZone-2.01/lib/DateTime/TimeZone/WET.pm.2016i	2016-11-03 14:27:27.748418303 +0100
+++ DateTime-TimeZone-2.01/lib/DateTime/TimeZone/WET.pm	2016-11-03 14:27:27.785418132 +0100
@@ -939,7 +939,7 @@ DateTime::TimeZone::NEG_INFINITY, #  loc
     ],
 ];
 
-sub olson_version {'2016h'}
+sub olson_version {'2016i'}
 
 sub has_dst_changes {51}